Changes touching this path
- a web ticket write stows its objects and its change rides the ingest alone, so an attempt whose ingest lost the race never reaches another reader as a change (ADR 0098 §5): the forge files a change a /stow carries into its graph, and an unbounded pull serves every change that graph holds past the history of the caller, so before this a lost race left the attempt on the forge, a later pull merged it with the head, and a clone read the map meta from either side of that merge depending on the run. loot-wasm ticket::build now stows the objects without the change and the /ingest envelope carries it, so a refused write leaves objects no change names, which no pull serves. the forge is untouched, which keeps the unbounded pull that recovers a head a push dropped (#2426) and the stowed stack a proposal holds, and owes no deploy. ADR 0098 §5 is corrected in place, with CONTEXT.md, the tickets spec, the SDK README and the publishTicket doc. pinned natively by a forge_view test, where a fresh clone and a clone from before the race each hold the forge head alone and read its meta, and in the SDK collision behaviour test, where a fresh clone log lacks the attempt and its heads are the racer alone. red under named mutations, each restored: the stow carrying the change again (0 passed and 1 failed natively, 4 passed and 1 failed in the SDK tickets suite) and the ingest without the change (11 passed and 5 failed over forge_view). cargo test green, 4738 passed over 144 binaries with 13 ignored, and the SDK gate green with npm test at 153 passed (#2481)
c9fe9b32 · dbf3dbe6…
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.