mirror of
https://github.com/JackChen-me/open-multi-agent.git
synced 2026-10-22 11:02:59 -05:00
Reconstructing what an agent saw is only worth something if the log can be checked against itself. verifyRun() reads a finished run journal cold and proves every model-visible block is reproducible from the events it names: a message-bearing event must carry a block with the same canonical hash, or a context/replace must carry the replacement it produced. Naming a lineage is not the same as being reproducible from it. A rewrite that silently replaced a conversation still cites prior events, so a presence check accepts it; requiring the named event to reproduce the bytes is what makes an unrecorded rewrite detectable without a full replay. Eviction and dropped batches are reported as inconclusive rather than counted against a run, so a bounded journal stays honest about what it can and cannot answer. Also fixes two defects in the journal subsystem: a literal NUL byte in tail-replay.ts made git treat the whole file as binary, and the JSONL batching-window test asserted against a 5ms timing margin that failed under parallel load. The oma verify-run CLI stays deferred.