- Python buffers stdout when running as systemd service (no TTY)
- This prevented journalctl from showing real-time turn captures
- Added Environment='PYTHONUNBUFFERED=1' to disable buffering
- Now shows '✅ Turn N (role) → Qdrant' in real-time via journalctl -f
Fixes issue where watcher captured turns but only logged on restart.
ERROR FIXED:
- FileNotFoundError on deleted session files caused 2,551 restarts/24h
- Embedding token overflow for long messages (exceeded 4K token limit)
ROOT CAUSES:
1. File opened before existence check - crash when OpenClaw deletes session files
2. No content truncation for embedding - long messages failed silently
FIXES:
1. Added pre-check for file existence before open()
2. Added try/catch for FileNotFoundError
3. Added chunk_text() for long content (6000 char chunks with 200 char overlap)
4. Each chunk stored separately with metadata (chunk_index, total_chunks)
IMPACT:
- Eliminates crash loop
- No memory loss for long messages
- Graceful recovery on session rotation
- Remove v1 versioning from project name
- Update all references: TrueRecall v1 → TrueRecall Base
- Update paths: true-recall-v1 → true-recall-base
- Clean up README (remove version number)
- Update config description
- Update service file description and paths