CultLib/tests/vectors/ref-list-drift
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 86bd050149 Gate: count passed cases, fail on any not-Passed result, pin the 1.0.60 writer vector by hash
C# stages count TRX results with outcome Passed per class and fail '<stage>-notpassed' on any other
outcome (an [Ignore]d case is NotExecuted); Python also fails on skipped=, expected failures= and
unexpected successes=. Every stage prints its passed count. The committed 1.0.60 writer vector is
compared to a recorded sha256 (the 1.0.60 writer stamps wall-clock times, so no writer stage can
reproduce its bytes).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:02:18 +01:00
..
old-store.cc Caching tests: the ref-list vector names the test type as the runtime does 2026-10-22 22:21:34 +02:00
README.md Gate: count passed cases, fail on any not-Passed result, pin the 1.0.60 writer vector by hash 2026-10-27 09:02:18 +01:00
v1-0-60-written.cc ref-list-drift: the store the 1.0.60 writer makes for a list of record references, written on Yggdrasil at cultlib-unity-v1.0.60 2026-10-23 13:28:33 +02:00

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, and old-reader-refusal.sh gate csharp fails as 1.0.60-vector unless the file's sha256 is the one recorded in that script (the 1.0.60 writer stamps wall-clock times, so the bytes cannot be reproduced by running it). Regenerating the file is a reviewed commit that updates both; RefListDriftTests.A_1_0_60_Written_Store_Opens_Like_2_0_1 reads it.