jsonl-transcript-path-and-structure-for-flush
Claude Code JSONL transcripts live at ~/.claude/projects/-root-aj-workspace/{session_id}.jsonl with standard message.role + message.content structure. The session_id is passed via the Stop/PreCompact hook stdin payload. Transcripts with fewer than 15 messages should be skipped as they contain insufficient signal. Deduplication window of 120 seconds prevents double-submission when both Stop and PreCompact hooks fire in rapid succession.
Related
- conversation-flush-jsonl-transcript-pipeline
- session-close-brain-mcp-bridge-for-unified-intelligence
- llm-agent-vs-cron-decision-hierarchy
- claude-agent-sdk-rate-limit-event-unknown-type-error
- 2026-04-04-oracle-001-self-architecture-analysis
- transcript-capture-detached-background-process-pattern
- precompact-hook-as-transcript-capture-safety-net
- transcript-capture-dedup-window-120s
- deferred-queue-writer-is-utility-not-hook