The live agent records during the turn. Scribe extracts missed qualifying records from Claude Code transcripts and appends them to existing Books through the guarded writer. It cannot create Books, replace claims, change trails, or claim manual input or human approval.
The runner uses the installed claude CLI and its authenticated session. This
can incur model usage. It requires CLI support for the flags used in
_ask, including --safe-mode, --effort, --tools,
--strict-mcp-config, and --no-session-persistence. An unsupported flag fails
the call; it does not silently relax the restrictions. Live recording itself
works without Scribe. Codex transcripts are not parsed by this extractor.
memex scribe /path/to/session.jsonl --dry
memex scribe /path/to/session.jsonl--dry previews whether capture would run. It does not call a model, invent
extracted records, or write receipts. --pending uses a transcript named by a
hook payload when present; otherwise it can scan Claude transcripts under the
home directory. It also retries queued jobs. Scope this deliberately before
wiring the optional hooks. Nothing installs them for you.
- Input retains spoken user and assistant text, excluding tool results and wrapper records. Reports must stay attributed because an assistant's report alone does not independently establish a measurement.
- Each extraction receives at most 24,000 conversation characters and emits at most three records. Long transcripts advance through line and character cursors.
- Defaults allow eight attempted model calls per local day and a 30-minute
per-transcript interval.
MEMEX_SCRIBE_CALLS_PER_DAYandMEMEX_SCRIBE_INTERVALconfigure those limits; failed calls count. - The child uses low effort, a 1,200-token output ceiling, no tools or persistent session, and safe mode. A recursion marker, separate working directory, transcript self-detection, call limits, and locking bound repeated execution.
MEMEX_LOCK_WAITdefaults to five seconds. Losing the lock queues the job rather than dropping it. The per-run target limit includes queued retries.- Completed extractions are cached before delivery. A failed write retains the cursor and cached work; retrying delivery does not repeat the model call.
- Short tails below 300 characters wait for more conversation. Legacy receipts
with unknown coverage require explicit recovery with
--from-line Non a named transcript; do not replay a corpus blindly.
Receipts live in state/scribe-receipts.jsonl, cached extractions in
state/scribe-extractions/, and deferred jobs in state/scribe-queue.txt.
A receipt is evidence of processing, not proof that the selected record is true.
The shared criterion is appended to
PROMPT.md at runtime.