CultLib/tests/vectors/ref-list-drift/README.md
2026-10-23 13:28:33 +02:00

1.3 KiB

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.