Repository navigation
v0.13.0 — Opt-in run trace journal with whole-run coverage seals
Highlights
- Run trace journal — set
CLLAMA_TRACE_JOURNAL=onto record every admitted request as its own durable segment under<session-history>/<agent>/journal/: upstream requests and responses, managed tool calls and results, and the response delivered to the client. Records are fsynced one by one; a closed segment carries its record count and a SHA-256 over its prior bytes, so later tampering or truncation is detectable. Segments left open by a crash are recovered asincompleteat startup. - Whole-run coverage — each process start writes a fresh
capture_epoch; each request gets anagent_seqat admission, before its body is read; and a revocation writesseal-<generation>.jsonafter in-flight requests drain and before the revoke is acknowledged. Operators can prove that every request of a run is accounted for, not only that the recorded ones are intact. - Reference verifier —
tracejournal.VerifyCoverageapplies the operator rule and reportsRequestsVerified(every admitted request accounted for exactly once) separately fromContentComplete(every request fully captured).
Safety
- The journal fails closed: if a segment cannot be opened the request is refused with 503 before anything is dispatched, and a write failure mid-request stops further effects and aborts the response.
- Hidden reasoning (thinking blocks, reasoning items and deltas, encrypted reasoning) is dropped, and known credentials and credential-named fields are redacted. Bodies that cannot be parsed are omitted and mark the segment truncated rather than being stored raw.
CLLAMA_TRACE_OWNERsets the owner of journal files for host-side collectors.
Other
- Images now stamp the cllama version and revision at build time (
CLLAMA_VERSION/CLLAMA_REVISIONbuild args).
The journal is off by default; behavior is unchanged unless it is enabled. See the README "Trace Journal" and "Whole-run coverage" sections.