Libby
04494b2edb
CultCache: one owner decides whether a record is writable; a flatten through an unowned base is refused
...
WriteRefusal holds Claim's whole decision (no home store, read-only home, the home store's
Refusal) and the flatten-chain walk: a flatten is refused with the refusal of the first record on
its base chain its home store does not own. Claim throws its answer; IsWritable asks it of the
held record's removal form, and for an unheld key whether no store lists it foreign. IsWritable's
per-store Refusal sweep is deleted (findings iswritable-readonly-store, flatten-marked-base-loss).
MintElementIds' doc names the mark.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:31:48 +00:00
Libby
2ed2aef7f9
CultCache: a mark is explained only up to the highest slot the catalog comparison reports
...
Explained required only that some slot was reported, so a depth-0 slot the comparison never
reported was consented to and dropped on write (finding unreported-slot-over-consent).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:31:01 +00:00
Libby
5305ac38a0
CultUnionGuard: declared slots are the array the type's own formatter writes; [MessagePackFormatter] types are not guarded
...
DeclaredSlots (the reflected public [Key] count) is deleted: it falsely marked an AllowPrivate
type's own write. SlotFormatter measures one instance (uninitialized, else a parameterless
constructor) on its first read inside a scope and keeps the count; a type neither instance can be
written for is not guarded (question slot-unmeasurable-type, recommended answer unguarded).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:30:37 +00:00
Libby
b47c590ad9
Slot tests, red: written-count marks, flatten through an unowned base, consent capped, IsWritable is the write's answer
...
Vectors: extra-slot-store.cc gains the unit-arm record (tests.slot_unit); extra-slot-consent.cc
(records under tests.union_surface.wide) and slot-outcomes.msgpack are new. The consent reader
(SurfaceDeclaring, listing the wide id compatible) and UnitDoc move into UnionParityVectorTests;
the in-test consent store construction, Relabel and AppendRootSlot go. Red against 115bc0a2 :
9 tests (spec cultlib-gaps:cut_spec:cut-slot-tolerance.r5).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:30:02 +00:00
Libby
1c978dadcb
CHANGELOG (org.gamecult.cultlib, Unreleased): extra slots are read-only (Breaking); IsWritable, CultUnreadSlots (Added)
...
Behavioural break per docs/semver-policy.md (tightens the soft-drift classification; writes that
succeeded now refuse). ApiCompat against cultlib-unity-v3.0.0 measures no signature break.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
Libby
62a55682ae
union-parity README: what every runtime walks for a read-only payload
...
Per vector: the object carrying the extra slot, its depth and the mark (type, slots carried, slots
declared); the counting rule (highest key + 1, short arrays and retired gaps do not mark, a union adds no
depth); the store-record assertions, the consent rule and the extra-slot-store.cc carry check that
cut-slot-readonly-ts/-py/-rs assert.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
Libby
98b919f635
Slot tests read vectors through VectorFiles; the variant read-past test is named for what it pins
...
SlotReadOnlyTests reads the union-parity vectors through VectorFiles.Committed, the shared reader, so
UnionParityVectorTests.Committed stays private. The variant test that only pins the read no longer says
the extra slot is ignored: under the slot rule it is read past and the record is read-only.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
soul
3f4f490403
SlotReadOnlyTests: a compatible id consents only to the depth-0 slot the catalog reports
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
soul
fd711c7832
Contracts: extra slots are read-only, not ignored
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
soul
3aa3e97c34
CultCache: a record whose payload carries slots past its reader's, at any depth, is held read-only
...
The guard formatter counts each int-keyed object's slots into a thread-bound scope opened around the one payload decode;
ToStoredDocument turns the finding into CultStoredDocument.UnreadSlots (explained only for depth-0 slots the catalog comparison
reports ignored); HeldOwned refuses an unexplained mark whatever is declared; RefuseUndeclared throws the one refusal with
UnreadSlots; CultCache.IsWritable asks the same predicate. Vectors: extra-slot-unit-arm, extra-slot-store.cc.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:22:07 +00:00
7a63290469
TypeScript cache: one record per key, foreign carry, key-identity vector walked ( #121 )
2026-11-12 00:03:19 +00:00
6d1684e1c2
Key-identity vector: retype refusal, foreign carry, key in two stores (C# rows, 12) ( #120 )
2026-11-11 23:42:09 +00:00
871d81807b
Portability CI: use the runner image's Node and Python, venv, job timeout 60 ( #119 )
2026-11-11 21:55:30 +00:00
d3025d3c19
Fork card: null-answerer vectors for Revision and Retraction (additive) ( #118 )
2026-11-11 18:30:21 +00:00
3a51bbabad
Fork card: decider_count, answerer_count, nullable answerer (reader views) ( #117 )
2026-11-11 18:12:00 +00:00
19b95ba2ab
Walk rows lows: Rust @directory error kind and delete, stale known-gaps ( #116 )
2026-11-11 18:11:55 +00:00
af9142539e
Fork card: raised_at, required nullable instant outside options_hash ( #115 )
2026-11-11 18:03:41 +00:00
f4eb2a04d1
Readability manifest: legacy-catalog c0 rows and directory-at-path, walked by all four runtimes ( #114 )
2026-11-11 17:25:05 +00:00
8beb972c68
cultnet-ts test: reconnecting client sends only after its own handshake ( #113 )
2026-11-11 16:05:36 +00:00
5fa7057ed1
Duplicate-key residuals: changelogs, retype by schema id, Rust CAS retype ( #112 )
2026-11-11 15:58:39 +00:00
0ebc7d63e8
Variants cut doc: C4 records Nibu's ruling on where hull families live ( #111 )
2026-11-11 15:08:01 +00:00
4246a37284
Single-file readers refuse duplicate keys in all four runtimes; c0 bad-canonical row ( #110 )
2026-11-11 15:07:48 +00:00
b88c0a8ee2
CI: one portability run per change; quic-native only for native paths ( #109 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Successful in 36s
2026-11-11 14:24:23 +00:00
f2bb0dd1dd
cultcache-ts: tests pin the single-put judge's alias and key-pair order ( #108 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Successful in 25m21s
2026-11-11 13:56:35 +00:00
7c2e514941
Unique-index vector: three-holder normal-form and astral-alias rows 34-37; walk counts raised in all four runtimes ( #107 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 13:41:10 +00:00
17caa0c874
cultcache-rs: judge_against names the least violation by UTF-16 order; walk refusals.msgpack ( #102 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 12:16:57 +00:00
1211e8c6dc
cultcache-ts: a load and an index registration name the least violation of the resulting state; walk refusals.msgpack ( #103 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 12:00:00 +00:00
3deb270458
cultcache-py: a unique-index refusal names the least violation of the resulting state; walk refusals.msgpack ( #101 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 11:48:38 +00:00
7225835d11
org.gamecult.cultlib 3.0.0: plugins carry CultElementId ( #106 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
cultlib-unity-v3.0.0
2026-11-11 11:42:43 +00:00
f1edfa458d
CultMath 0.5.1 (math.fbm), Unity package rebuilt ( #105 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
cultmath-unity-v0.5.1
2026-11-11 11:42:34 +00:00
a57397aa7f
Unique-index vector: group identity, distinct values, normal-form keys, single-put alias order (rows 26-33) ( #104 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 11:42:27 +00:00
Libby
8eb77546eb
org.gamecult.cultlib 3.0.0: plugins regenerated by build-unity-package.ps1 -UpdateTemplate (CultElementId, element ids, write sets)
...
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 24m7s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 1m27s
The native QUIC bridge DLL is not restaged: its source is unchanged since 2.0.1 and the rebuild is not byte-stable.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 11:36:06 +00:00
Libby
6e0e2feb74
org.gamecult.cultlib 3.0.0: release prep (version, changelog heading, install pin)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 11:21:25 +00:00
Libby
3cb5a1753a
CultMath 0.5.1: Unity plugin DLL and pdb rebuilt on Windows at 0.5.1
...
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 28m45s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 26s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 11:06:16 +00:00
063835f679
Unique-index vector: holder identity and replaced set are ordinal (rows 23-25) ( #100 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 10:47:13 +00:00
Libby
8adf014c66
CultMath 0.5.1: version, changelog (fbm), cultlib dependency pin
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 10:42:09 +00:00
23d254a501
CultCache: a unique-index refusal names the least violation; shared refusals vector ( #99 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
2026-11-11 10:05:32 +00:00
7002c252ed
Element ids: the existing-member route and one-way v3/v5 rollback, documented ( #98 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
2026-11-11 08:53:13 +00:00
a6861adadb
Unique-index leftovers: TS registerIndex refuses a role, commit vector in TS/Rust, nil document in the change schema ( #97 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 08:43:52 +00:00
5e610b1b6e
CI: run cultcache-py, cultcache-rs and GameCult.Caching.Tests on push and PR ( #87 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 08:12:07 +00:00
447b310b4d
cultcache-py: load order, role-alias register_index refusal, C# two-change commit vector ( #96 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 08:05:39 +00:00
43aa451fb9
cultcache-rs: #[cultcache(index)] is unique at commit and load; re-registration re-judges held records ( #95 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 07:43:22 +00:00
a7c22e6ee5
cultmesh-browser test: make the unallocatable-size refusal certain on hosts that overcommit ( #93 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
2026-11-11 07:35:33 +00:00
ba25b43369
cultcache-py, cultnet-py: indexes means unique, roles names selection aliases; commitId/commitCount on change messages ( #94 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
2026-11-11 06:59:08 +00:00
31d86e2a50
cultcache-ts and cultnet-ts: indexes means unique, roles names selection aliases; commitId/commitCount on change messages ( #92 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Failing after 14m50s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Successful in 51s
2026-11-11 05:13:08 +00:00
abd1a92eb2
Replica commit hardening: Reconcile sends its diff as one tagged commit; straggler guard inside the lock; real-server and budget pins ( #91 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 04:57:59 +00:00
7760219b7c
CultCache: [CultIndex] is unique at commit and load; [CultRole] names a selection role; replicas apply a commit's changes as one batch ( #90 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Failing after 20m15s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Successful in 48s
2026-11-11 03:48:08 +00:00
de8a062ab9
Fork card: stale answer over an oversize re-read is Refused(stale_fork), never counted; refusal text is informational ( #89 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Failing after 17m31s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Successful in 57s
2026-11-11 02:10:37 +00:00
f6c9bf5f97
Fork card: fork_too_large (422) for a list whose first entry, or a read whose entry, is past the reply cap ( #88 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 01:29:35 +00:00
9d6ee72eb3
Fork card: order is a unique rank per Mind; duplicate-order and order-0 vectors ( #86 )
CultMesh QUIC native / Build win32-x64 (push) Has been skipped
CultMesh QUIC native / Build linux-x64 (push) Has been skipped
CultMesh QUIC native / Release native binaries (push) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (push) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (push) Has been cancelled
2026-11-11 00:33:36 +00:00