CultLib/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens fe7bca0cb5 CultNetDatabase: log on the cache journal and publish from Watch, no queue
Cut 4b-4d of the publication map. The reorder buffer, drainer, prediction gate
and the logging inside the Watch handler are gone. The database registers the
Watch observer, then one cache journal. The journal runs under the gate in
Sequence order: it takes the door, decides the change kind and prediction
bookkeeping, logs (a primary mints, a replica records the primary's entry) and
stashes the change; the Watch observer publishes the stash entry by Sequence.

A primary that cannot log a committed change burns that sequence, raises its
own compaction floor, tries CompactThrough, and throws CultNetShardLogException
(not an InvalidOperationException) after publication. A replica's refused
append reaches the pull loop and the cursor does not advance.

Fixes four defects the map named: the log is appended to disk before memory
(and memory is a SortedList keyed by sequence); the snapshot reads its log
sequence before its documents; a restart resumes above the compaction point;
GetCompactedMutationLogSequence and GetLatestMutationLogSequence honour the
in-memory floor. The snapshot removal door sets Removal.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 23:48:50 +02:00
..
GameCult.Caching.ConsumerBuild Delete the CultCache MessagePack source generator 2026-09-13 23:38:08 +02:00
GameCult.Caching.InteropPeer Delete the CultCache MessagePack source generator 2026-09-13 23:38:08 +02:00
GameCult.Caching.Tests Journal registration counts as disposed only once removal succeeds; a throwing hold body surfaces journal failures 2026-09-29 20:35:50 +02:00
GameCult.Geometry.Tests Add canonical System.Text.Json converters for every CultMath value type 2026-09-29 16:57:31 +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 Merge remote-tracking branch 'origin/main' into hands/variants-c1 2026-09-29 06:48:32 +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 CultNetDatabase: log on the cache journal and publish from Watch, no queue 2026-09-29 23:48:50 +02:00
GameCult.Networking.WebSockets.Tests Add real browser CultMesh transport proof 2026-08-18 00:05:57 +02:00
vectors Regenerate the C1 variant vector: the variant overrides its indexed code 2026-09-29 06:59:29 +02:00