CultLib/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 4182c2502b C#: one registered type carries each schema id; a second claimant is refused typed
Registration refuses a type any of whose ids (its own, or one it declares
compatible) another registered type already owns or declares, with
CultSchemaConflictException naming the id, both schema names and both CLR types.
TypeScript already refuses this (cult-cache.ts); before, C# kept whichever type
registered first (Soul F4). An exact wire alias must now also declare the same
compatible ids: a type differing only in its declaration had it dropped when it
registered second (H4), and is refused the same way.

Exact aliases that agree in every respect still register by type, and a record
under their shared id still resolves to the first registered (H3). Removing that
would delete CultMesh's same-schema aliases; it is left for an operator ruling.

Tests: both registration orders for a shared compatible id, an owned id declared
by another type, and a same-schema type with a different declaration; an alias
with the same declaration still registers. The registry tests use the shared
EmittedDocumentTypes helper in place of their own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:35:52 +02:00
..
GameCult.Caching.ConsumerBuild Delete the CultCache MessagePack source generator 2026-09-13 23:38:08 +02:00
GameCult.Caching.InteropPeer Test: TypeScript writes a record under an older schema id, C# declares it and rewrites it 2026-09-30 11:32:47 +02:00
GameCult.Caching.Tests C#: one registered type carries each schema id; a second claimant is refused typed 2026-09-30 12:35:52 +02:00
GameCult.Geometry.Tests Geometry tests: import System.Linq for the reference walk test 2026-09-30 02:30:43 +02:00
GameCult.Mesh.Quic.Native.Tests Extend the Cut 5 interop lane: a late C# native connector gets the TS retained frame 2026-09-23 18:32:39 +02:00
GameCult.Mesh.Quic.Tests Fix a flaky disconnect wait in the reliable-ordered retention test 2026-09-23 18:20:36 +02:00
GameCult.Mesh.Tests Catalog writers merge entries that share an id; every reader resolves an id by its owner first 2026-09-30 08:17:59 +02:00
GameCult.Networking.InteropPeer Wait for a client before quic-realtime-serve broadcasts 2026-09-23 14:38:51 +02:00
GameCult.Networking.Tests Test: the selection guard probe passes the descriptor's new compatible-ids argument 2026-09-30 11:48:38 +02:00
GameCult.Networking.WebSockets.Tests Add real browser CultMesh transport proof 2026-08-18 00:05:57 +02:00
vectors One local schema id in cultmesh-py; catalog writers merge only the same schema; a compatible entry before its owner reads as the owner 2026-09-30 09:01:00 +02:00