CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens fc3f3ee5ff CultNet Rust: a second type for one schema id is refused, typed
F7 (operator, 2026-09-30): "Schema aliasing sounds like a really bad idea,
I support retiring it." CultNetDocumentRegistry::register inserted into its
type and schema-id maps unconditionally, so the last binding for a schema id
won, as the TypeScript registry did before 9adea366.

- register returns Result and refuses a binding whose type already holds
  another schema id, or whose schema id another type holds, with
  cultcache_rs::SchemaConflictError: the new binding's schema id, both
  document types (a binding carries no schema name), an empty record key.
  Nothing is bound on refusal. Binding a type to the schema id it holds
  again replaces the binding.
- Call sites propagate the refusal: the cultmesh-rs registry macro, the
  interop peer example, and the tests.
- Tests renamed to what they test: raw snapshot replication hydrates the
  receiver's own type for the schema; a reactive document coalesces direct
  member writes.
- New test: both claimant shapes in both orders, the first binding intact
  afterwards, and a same-type rebind replacing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:47:39 +02:00
..
cultcache-py Python: a document listing an id registers beside the one owning it; registration refuses typed 2026-09-30 15:31:25 +02:00
cultcache-rs Rust: a registered type owns its schema id, so only it may name an id over records the file holds 2026-09-30 11:10:06 +02:00
cultcache-ts TypeScript: a definition listing an id registers beside the one owning it; registration refuses typed 2026-09-30 15:31:31 +02:00
cultmath CultMath: Phacelle port moves into MPL-2.0 files; prune cut pinned by boundary points 2026-09-30 00:34:27 +02:00
cultmesh-browser Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultmesh-kotlin Consolidate CultNet schema contracts into CultLib/contracts/cultnet 2026-09-13 17:27:41 +02:00
cultmesh-py 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
cultmesh-rs CultNet Rust: a second type for one schema id is refused, typed 2026-09-30 17:47:39 +02:00
cultmesh-ts CultMesh TS: a catalog refuses a second type for a schema it holds, typed 2026-09-30 17:37:32 +02:00
cultnet-py Writers derive the catalog from the records they write; the merging is deleted 2026-09-30 10:03:34 +02:00
cultnet-rs CultNet Rust: a second type for one schema id is refused, typed 2026-09-30 17:47:39 +02:00
cultnet-ts CultNet TS: a second type for one schema is refused, typed 2026-09-30 16:59:08 +02:00