Christian Gick
e04a8ab524
feat(CF-580): Implement transcript-based session recovery for MCP
Add direct transcript ingestion and orphan recovery using Claude Code's JSONL
transcripts instead of relying on daemon-based note synchronization.
Changes:
1. **Database migration** (027_session_transcript_storage.sql):
- Add transcript_jsonl, transcript_ingested_at, transcript_file_path columns
- Add indexes for efficient ingestion tracking
2. **Transcript parser utility** (src/utils/transcript-parser.ts):
- parseTranscriptFile(): Parse JSONL line-by-line, handle corrupt lines
- encodeWorkingDir(): Convert paths to Claude Code directory encoding
- findOrphanedTranscripts(): Scan for stale transcript files
- ingestTranscriptToDatabase(): Main ingestion function for Node.js
3. **Orphan recovery enhancement** (src/tools/sessions.ts):
- sessionRecoverOrphaned() now tries transcript ingestion first
- Finds most recently modified JSONL in project directory
- Falls back to legacy notes.md recovery for backward compatibility
- Properly handles path encoding (/ and . → -)
Benefits:
- No daemon needed for recovery (Phase 2 will remove LaunchAgent)
- Full transcript audit trail stored in database
- Immediate recovery capability for orphaned sessions
- Cleaner architecture (no markdown parsing complexity)
- Compatible with Claude Code's UUID-based session files
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-29 17:53:37 +02:00
..
2026-01-09 17:21:40 +02:00
2026-01-09 10:32:10 +02:00
2026-01-10 09:16:37 +02:00
2026-01-10 09:22:26 +02:00
2026-01-10 09:48:08 +02:00
2026-01-10 10:28:21 +02:00
2026-01-10 10:28:21 +02:00
2026-01-10 10:28:21 +02:00
2026-01-19 11:38:48 +02:00
2026-01-11 07:20:00 +02:00
2026-01-17 07:41:03 +02:00
2026-01-17 07:41:03 +02:00
2026-01-17 07:41:03 +02:00
2026-01-17 08:38:18 +02:00
2026-01-17 08:44:19 +02:00
2026-01-19 09:40:02 +02:00
2026-01-19 10:13:57 +02:00
2026-01-19 14:09:03 +02:00
2026-01-19 16:05:19 +02:00
2026-01-20 18:04:05 +02:00
2026-01-19 18:48:43 +02:00
2026-01-19 19:15:25 +02:00
2026-01-24 16:59:22 +02:00
2026-01-25 14:57:46 +02:00
2026-01-27 19:14:00 +02:00
2026-01-27 20:45:56 +02:00
2026-01-29 17:12:21 +02:00
2026-01-29 17:12:21 +02:00
2026-01-29 17:53:37 +02:00
2026-01-11 07:20:00 +02:00