The evidence ledger had drifted from distilled to accumulated at 258 records.
235 were per-release and per-run receipts, self-consuming falsification chains,
and May fixture doctrine already owned by docs/architecture and map
hard_boundaries. They move to state/evidence.archive.jsonl.
evidence.jsonl is a regenerated export, not a writer: _export_evidence rewrites
it from the CultCache evidence document on every append. Compacting the export
alone would resurrect every archived record on the next add-evidence, so the
deletion goes through the store and the export follows.
Twenty-three records remain: the still-binding contracts (CultCache wire
format, agent_state.v0, cognition ceiling, image-geometry authority, sandboxed
coordinator, VoidBot appraisal, multiplayer extension, the Delvehold boundary
set, newspaper-as-Persona) and the whole rebuild era from Run 108 forward. A
multiplayer note recorded twice under different timestamp encodings is reduced
to one.
map.yaml and the handoff carried stale frontiers naming 13d5136 and a0b16b9.
Both now name 6a79cb0 and record what 9256648 and 6a79cb0 landed.
The worktree sheds 87MB of untracked debris: three Git bundles whose commits
are all ancestors of HEAD, ~60 legacy live-fire run scripts and sftp batches,
the forbidden redeploy helpers, downloaded run61-63 acceptance copies whose
authoritative roots remain on Yggdrasil and whose frozen copy stays digest-bound
in output/tex, a redb file created by a stray --help argument, and 71MB of tmp/
legacy campaign caches and newspaper renders. .gitignore now refuses all of it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>