CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 557e70fd03 Cut 4 Soul 4c: committed-unlogged wire writes, database serves only what it owns, typed unowned refusal
Q1: HandlePutAsync/HandleDeleteAsync catch a CultNetShardLogException (or an
AggregateException holding one) before the generic catch and answer nothing: the
write committed and was published, so the peer is not told it was refused. It is
logged at warning level. The wire has no committed-with-degraded-log message.
Q2: GetAsync/GetAll/GetByName/GetByIndex, the shard-less snapshot, the selection
and the subscription snapshot serve only rows a shard owns, so read and watch
agree; the CultMesh collections follow through GetAll, and the Mesh untyped
variant fallback checks ownership. The raw cache still holds everything.
Q3: a replica log apply skips a row its shard does not own, as the snapshot path
does, and still records the entry so a chained replica sees no gap.
API: rowFilter is internal (public CreateSelectionResponse and
CreateRawSnapshotResponse signatures restored, internal overloads added);
exception tags on the write methods; Commit's unwrap rule is XML doc; the
unowned refusal answers on the wire with code unowned_schema (schema enum in both
copies, Rust CultNetErrorCode, CultNetErrorMessage.ForUnownedSchema) and put and
delete log it at warning level.
Dispose keeps journal-first; a test now fails if the observer goes first.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 06:14:49 +02:00
..
cultcache-py Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-rs Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-ts Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +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 CultNet selection cut1, commit 2 fix batch: R-2, Python refuses v1 selection messages 2026-09-22 06:13:16 +02:00
cultmesh-rs cultnet-rs, cultmesh-rs: an ended session fails its flush; issued sequences survive a reset; the doc server says goodbye 2026-09-29 20:36:58 +02:00
cultmesh-ts Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultnet-py Tests: a repeated Connect acknowledges what it carries (TS, Python, C#); fix the TS replaced-peer test 2026-09-29 21:35:44 +02:00
cultnet-rs Cut 4 Soul 4c: committed-unlogged wire writes, database serves only what it owns, typed unowned refusal 2026-09-30 06:14:49 +02:00
cultnet-ts cultnet-ts: a timeout ends the session generation, and every non-repeated Connect ends a live one 2026-09-29 22:01:43 +02:00