Thing/tests/thing-contract-parity/README.md
Meta Vens 9586392d14 GameCult.Thing.Contract: the name set (tests/thing-contract-parity) and NameSetTests
catalog-members.tsv (27 rows) and type-names.txt (168 types) are generated from the C# types on
Yggdrasil at CultLib b3bd8dd5 and read by NameSetTests; the package owns the names, every other
runtime is held to them. NameSetTests also patches System.Int64 to System.Int32 in a store C#
wrote and requires reopen to refuse. Presence and list tests no longer count ThingDomainException
as a door.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:27:31 +02:00

857 B

thing-contract-parity

The names the C# package GameCult.Thing.Contract gives its types. The C# package owns them because CultLib's C# reference compares catalog type names when a store reopens, and every runtime package is held to the C# names.

File Rows
catalog-members.tsv One row per document slot, schemaId, slot, memberName, typeName, as Wire.Registry's catalog entries print them. A list slot reads System.Collections.Generic.IReadOnlyList<GameCult.Thing.Contract.X>.
type-names.txt The full name of every public type in GameCult.Thing.Contract, sorted ordinally.

tests/GameCult.Thing.Contract.Tests/NameSetTests.cs fails when either file disagrees with the C# types. These files change only in the commit that changes the C# types, and the other runtime packages read them without writing them.