Idempotent Reservation — history

The dated record of how Idempotent Reservation got here, moved out of the spec on 2026-10-20 because a reader does not need it to use the spec today. The spec keeps every section spec-format.md requires and its Deleted: tombstones; everything smaller is in git log -- compositions/idempotent-reservation.md.

Decisions

Entries that record a migration, a council read’s collapse, where a classification is carried, a family placement or a regeneration rather than a turn the pattern took.

  • 2026-09-14 — Rewritten in GRACE lang v0.40; nothing but language changed except two invariants the Execution Contract already owns. Chose: Composes, Composition state, Eviction, Capability requirement, Primitive policy, Action wiring, Wiring decision and Indeterminate outcome as the surfaces, the six surviving invariant numbers unchanged, and the acceptance section’s own two tiers carried across. Over: the prose spec. Because: the migration plan; nothing in the corpus cites this composition by label. Eviction is the one family minted here and it is minted for a reason no other composition has had: the eviction leg is the only leg in the corpus that runs outside an invocation, with its own two edges and its own exclusion against the invocations it runs beside, and folding nine rules about a background sweep into Composition state would have buried the one surface a reader most needs to find. One spec, flagged, waiting on recurrence (Principle 1 through 3, council read 57’s promotion path).
  • 2026-09-14 — Two preservation claims are one citation, third instance. Chose: Composes 5, with Invariant 5 and Invariant 6 tombstoned to it. Over: keeping them. Because: council read 53’s ruling, now applied at its third seam. What they carried beyond the blanket survives as Composes 6 (the unchanged relay of a constituent rejection, which no atom guarantees about a caller) and Composes 7 (the once-per-first-invocation record discipline, which is this composition’s call pattern rather than a property of Duplicate Prevention).
  • 2026-09-14 — The extraction-pending element is carried as a rule surface, not softened. Chose: to state the token_results map as nine Composition state rules with the classification named in the WHY, the proposed atom named, and Capability requirement 12 through Capability requirement 14 carrying its durability. Over: describing it in prose, as every other composition’s state section does — because every other composition’s state section had nothing to describe. Because: this is the corpus’s first migrated composition carrying truth no replay of its constituents reproduces, and the section titled Composition state in execution-contract.md says an unflagged truth-bearing composition store is a conformance finding while a flagged one is scheduled debt. The flag is the whole difference, so it belongs on the rule surface where an instrument can find it rather than in a paragraph (council read 58).
  • 2026-09-14 — Eviction re-cut as Housekeeping, joining the leg it was kept apart from. Chose: the family renamed, with the nine rules and every citation of them moving with it. Over: keeping a one-spec family named for what this leg happens to do. Because: the entry above kept Eviction apart from Authenticated Actor’s Reconciliation on one evicts and one reports, and the drift pass found that axis wrong — it predicts the liveness bound on two of four legs, and this leg is one of the two it misses, because it takes a critical section and writes to the composition’s own store while owing nothing. What decides the bound across all four is whether anything awaits the leg’s output. Nothing awaits an eviction and nothing awaits an orphan report, so the two are one family; Login’s and Defensible Retention’s sweeps discharge a promise and are the other. Housekeeping 7 and Housekeeping 8 keep their reading unchanged — they are still why this leg owes no liveness bound, and now the family name says so too (council read 64).
  • 2026-09-28 — What the rewrite dropped from the re-entry arms, restored. Chose: the collision check over a pending entry as well as a complete one (Action wiring 7, 8); the guard recorded for every result that lands, a re-entry’s included (Action wiring 25); a resolving action run again on a seen token carrying no entry, with outcome-unknown kept for [Place Hold] (Indeterminate outcome 10, 13, Wiring decision 4); a resolving action’s candidates named (Indeterminate outcome 14); the window strictly longer than the completion bound (Capability requirement 10); and Composition state 8, which conditioned on a returned invocation the map cannot show, tombstoned to Housekeeping 5. Over: the 2026-09-14 rewrite’s reading, which its Decisions entry called language only. Because: the prose spec it replaced decided each of these, and the cold regeneration of 2026-09-28 met every one.

↑