Rust cache: one record per key, foreign carry, key-identity vector walked #123

Merged
libby merged 13 commits from hands/variants-leaf-key-identity-rs into main 2026-11-12 01:05:47 +00:00

2026-11-12

Libby
Rust leaf: changelog and ownership map scope the admission refusal to ids this cache registers and state the unregistered-id consequence
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 19m34s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:45:24 +00:00
Libby
cultcache-rs: refuse at admission an envelope whose schema id names another registered type
put_envelope, put_raw_envelope, put_prepared_batch and load_soa ask the pull's own lookup (resolve_registered_type):
an id resolving to another registered type is refused whether or not this cache holds the key, so a stale cache or a
fresh key can no longer store a Note every reload serves as Settings. Ids naming no registered type still pass. The
type-compare test moves to two envelopes sharing one such id, where refuse_retype alone decides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:45:24 +00:00
Libby
cultcache-rs: another registered type's record at a key is never owned, whatever id the envelope claims; a store's two records at one key refuse the pull
The judge compared the envelopes' claimed schema ids, so a Beta envelope stamped with Alpha's id landed beside Alpha.
Ownership is the written type's own id (C# WrittenOwns); here that is its entry type, with no compatible ids.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 00:45:15 +00:00
Libby
2026-11-12 00:45:15 +00:00
Libby
cultcache-rs: one record per key in the cache; a store's unregistered records load and are carried as foreign
One judge, refuse_retype, runs at put, put_envelope, put_raw_envelope, batch, pull and load_soa.
The pull's unresolved-type refusal is gone; put_prepared_batch lays foreign records back.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:45:15 +00:00
Libby
cultcache-rs: walk the key-identity vector (red: memory retype, foreign load, key in two stores)
Adds the foreign list and foreign_records() accessor, unpopulated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:45:15 +00:00