CultLib/tests/vectors/ref-list-drift/README.md

16 lines
1.3 KiB
Markdown
Raw Normal View History

# ref-list-drift vector
`old-store.cc` is a `cultcache.store.v1` file in the shape CultLib 1.0.x wrote for a list of record references: the
`Items` slot (`CultRecordRef<RefListTarget>[]`) is persisted with `isReference:false` and no target schema, and its
payload is an array of key strings. Its layout is copied from a real 1.0.x-written store (Aetheria `run.cc`, schema
`aetheria.savedgame`, slots `Zones` and `Factions`), pruned to two schemas and three records: `alpha` and `beta`
(`tests.reflist_target`) and `list` (`tests.reflist_holder`, `Items = [alpha, beta]`).
Hand-written by a script outside the runtime under test; never regenerated by CultCache. A change to this file is a
reviewed commit.
`v1-0-60-written.cc` is the same shape written by CultLib itself: `OldWriterRefListProbe` (in
`tests/vectors/document-variants-c2a/old-writer-probes/`), compiled into a checkout of `cultlib-unity-v1.0.60` (45c2f400) and run
as `old-reader-refusal.sh gate csharp`, which stages that tree and writes the store through `CultCache` and
`SingleFileMessagePackBackingStore`. It is `cultcache.store.v1` with records `alpha`, `beta` and `list` (`Items = [alpha, beta]`).
The runtime under test never regenerates it; `RefListDriftTests.A_1_0_60_Written_Store_Opens_Like_2_0_1` reads it.