Expand description
Conversation archival — converts conversations into persistent markdown archives.
Supports two input paths:
- JSONL hook — called directly by Claude Code SessionEnd hook (standalone)
- Pulse-null — called with in-memory Messages (behind feature flag)
Both converge into archive_conversation() which writes the markdown file,
updates ARCHIVE.md, and appends to EPHEMERAL.md.
Structs§
- Archive
Result - Result of archiving a conversation — used by callers for graph ingestion.
- Session
Metadata - Session metadata provided by the caller.
Functions§
- append_
index - Append an entry to ARCHIVE.md (markdown table row).
- archive_
all_ unarchived - Archive all unarchived JSONL transcripts found under ~/.claude/projects/.
- archive_
all_ with_ base - archive_
conversation - Archive a conversation from internal types.
- archive_
from_ jsonl - Archive a session from a JSONL transcript file.
- graph_
ingest - Ingest an archive result into the knowledge graph (if enabled).
- highest_
conversation_ number - Scan conversations/ for highest conversation-NNN number. Returns 0 if none.
- pipeline_
sync_ on_ archive - Sync pipeline documents into the graph (if auto_sync enabled).
- run_
from_ hook - Main archive-session flow, called from the SessionEnd hook. Reads hook input from stdin.