Duplicate-key residuals: changelogs, retype by schema id, Rust CAS retype #112

Merged
libby merged 8 commits from dup-keys-residuals into main 2026-11-11 15:58:40 +00:00

2026-11-11

Libby
Rust changelog: name the CAS and in-batch same-type-other-id cases
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 26m40s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:58:00 +00:00
Libby
cultcache-rs: pin the renamed-type tie-break; push_all resolves a shared schema id by given order
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:53:27 +00:00
Libby
Changelogs: directory manifest refuses duplicates too; Rust and TS same-name edges stated
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:52:39 +00:00
Libby
Merge remote-tracking branch 'origin/hands/dup-keys-residuals-rs' into dup-keys-residuals
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 21m33s
2026-11-11 15:27:42 +00:00
Libby
Py retype refusal asks schema-id ownership; CHANGELOGs record the duplicate-key refusals
The Python single-file writer refuses a retype when the written type's entry does
not declare the stored schema id (own or compatible) and the schema names differ,
as C# WrittenOwns' declared half asks, instead of comparing names alone. A renamed
type listing the old id compatible may now replace the record. cultcache-py and
org.gamecult.cultlib CHANGELOGs gain the #110 reader/writer refusals under Unreleased.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:22:12 +00:00
Libby
cultcache-rs: retype refusal asks schema-id ownership; compare_and_swap_entry refuses in-place retype; push_all last-wins pinned; changelog for #110
The commit guard becomes settle_one_record_per_key: a written entry that owns the held record's schema id replaces it, another id is a SchemaConflictError. The unreachable same-type branch is gone.

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