Only StoredAt moves (Soul s1 vec2.log); the writer is deterministic (two runs, identical trees). The directory page is renamed by its new content hash. A README says how they are made and compared. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
936 B
document-variants-c2a vectors
c2a-written-ids.msgpack and c2a-written-ids-directory/ are what C2aGateWriter writes: one record holding element ids, as a
single-file store (header v3) and as a directory store (header v5). The writer stamps every record with one fixed clock, so the
bytes are the same on every run, and C2aGateWriter.TheCommittedVectorsAreWhatC2aWrites compares the live output to these files
byte for byte (the directory as relative path and bytes; *.lock files hold no state and are left out).
Regenerate them only when C2a's format moves on purpose:
CULTLIB_GATE_OUT=<empty dir> dotnet test tests/GameCult.Caching.Tests --filter FullyQualifiedName~C2aStamps, then copy the single
file and the directory store (the page under store.cc.records/ is named by its content hash) over these.
old-reader-refusal.sh is the gate that reads them with the pinned older readers; its header says how to run it.