Pin CultLib abd1a92e; [CultRole] audit; ElementId on every list element type #35
Loading…
Reference in a new issue
No description provided.
Delete branch "aqua/cultindex-audit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Audit for CultLib #90/#91: pin moved to CultLib abd1a92e (floor 7760219b), 15 many-row members are [CultRole], 7 receipt CommandIds stay [CultIndex("command")] (key injective in CommandId).
Pin move. Directory.Build.props and README name abd1a92eb24e1af3fc7cdd1bf98a88dbdebc2938.
Element ids. Found by registering every document type (28) and by a reflection walk: 11 list element types lacked [CultElementId]: AutomationControlFrame, AutomationPacketReceipt, CultMeshStreamDescriptor, CultCachePatchDatabaseEntry, PatchClaimCard, SpeechClaimCard, PrimitiveTimelineFact, SpeechScoreMetric, SpeechRenderArtifact, SpeechTimingReceipt, SpeechWorkerPayloadArtifact. Each gets a trailing keyed
ElementId(default empty; minted on write). Derived (readable) from the natural unique key where the producer guarantees one: Packet from Sequence, StreamDescriptor from StreamId, DatabaseEntry from Path, claim cards from Id. Wire is additive; positional constructors unchanged.Tests. ElementIdTests: a store written by the previous pin (fixture
Fixtures/CultCache/pre-element-ids.cc, 10-field rows without ids) reopens with stable unique ids, keeps them across an unrelated write, derived ids on a new write. CultIndexUniquenessTests shares role values across daemon documents. Targeted classes pass; the full suite does not finish here (PackageBoundaryTests hang in this sandbox, 381 others pass). Two failures, ZynAddSubFxReferenceSourceIsPinnedForTestOnlyParity and CultMeshLeasedWorkersScoreButAuthorityTrainerAppliesCheckpoint, fail identically on main at the old pin.Separate-context Soul pass at
5d03490f: all claims hold, no producer would throw on a derived id; it found the StreamId derivation unpinned, which the last commit pins. Rollback note: a store written at the new pin (header v3 with ids) is not readable by the old pin.🤖 Generated with Claude Code
[CultIndex] audit for CultLib #90: many-row members become [CultRole] (needs the pin move)to Pin CultLib abd1a92e; [CultRole] audit; ElementId on every list element type