Session Capture Research
Dossier on coding-session capture mechanisms, products, native agent stores, market coverage, and jackin❯ integration options.
Research state: Needs refresh
Research dossier on AI coding-session capture: how SpecStory works internally, what the rest of the market provides, where every agent in jackin❯'s roster stores its conversations, and what it means for the Déjà Vu conversation-capture design. Every external claim carries a source URL; every local number carries its method. Verification cutoff: 2026-07-03. Specification: research brief.
Research question
How can jackin❯ capture durable, searchable conversations across every supported agent without coupling the archive to one runtime or container lifecycle?
Headline findings
- 1 production cross-agent capture pipeline exists — SpecStory CLI: Apache-2.0, 57,988 LOC Go (~40% tests), 6 providers, no PTY, pure fsnotify-on-native-stores; v2.0.0 (2026-06-29) added cross-agent resume + FTS search. (02)
- ~40 tools cataloged across exporters, viewers, analytics, platforms; 0 ship the cross-agent, host-side, purge-surviving archive Déjà Vu targets. (11, 12)
- 2/6 to 3/6 — best off-the-shelf coverage of jackin❯'s six-agent roster (SpecStory: claude+codex; claude-replay: +opencode); 0 tools cover Kimi or Grok. (20)
- 6/6 of jackin❯'s agents are capturable: five persist watchable local transcripts (Claude/Codex/Kimi/Grok append-only JSONL, OpenCode SQLite+SSE); Amp needs live
--stream-json— and turns out to also keep an undocumented localthreads/T-*.jsonmaterialization. (10) - 30 days — Claude Code's default transcript auto-delete; jackin❯'s own
eject/prunedeletes restored histories today. Capture is a race against retention on both sides. (10, 30) - ±5 s / per-turn git snapshots — two independent implementations (SpecStory provenance engine, Mantra) of turn↔code attribution: the competitive layer above capture. (12)
Method and evidence
The dossier combines primary product documentation, source inspection at the declared cutoff, local store-format inspection, and a cross-tool capability matrix. Each chapter carries its own sources and limitations.
Limitations and open questions
- Provider-private stores and undocumented schemas can change without notice.
- Amp live capture and cross-agent resume require empirical validation in the jackin❯ lifecycle.
- Retention, redaction, encryption, and purge ownership remain product decisions.
How to read
- Start: 00 — Executive summary — the landscape and what changes for Déjà Vu.
- SpecStory: 01 — Product, business, reception · 02 — CLI internals (the mechanism chapter — SPI, per-provider extraction, schema, index, resume, cloud, provenance, Lore).
- Landscape: 10 — Agent session stores (per-agent paths/formats/stability for jackin❯'s roster) · 11 — OSS exporters · 12 — Platforms and observability.
- Synthesis: 20 — Comparison matrix and tiers · 30 — jackin❯ fit and the Déjà Vu delta.
Tool tier list
Tier = usefulness to a jackin❯ session-capture effort (roster coverage × mechanism robustness × output quality × maintenance × license). Full rationale in 20.
| Tier | Tools |
|---|---|
| S | SpecStory CLI — the reusable Apache-2.0 blueprint (SPI, schema, index, reconstruct) |
| A | Mantra (closed; proves turn↔git attribution) · claude-replay (portable HTML replay, 3/6 roster) · coding_agent_session_search (11+ provider retrieval) · claude-code-log (Claude archival workhorse) |
| B | claude-code-transcripts (publishing) · aichat search / claude-history / claude-code-history-viewer · Amp threads + opencode /share (native benchmarks) · Langfuse hook route |
| C | claude-trace / LeanMCP (wire depth) · ccusage + usage monitors (metrics, different job) · Happy / vibe-kanban / Crystal / Conductor (captive history) |
| F | cursor-chat-export · cclogviewer · sniffly · claude-code-otel · opcode · omnara · cui · claude-code-exporter — stale, archived, or deleted |