Shared Todo — history

The dated record of how Shared Todo got here, moved out of the spec on 2026-10-21 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/shared-todo.md.

Decisions

Entries that record a migration, a council read’s collapse or a regeneration rather than a turn the pattern took.

  • 2026-09-14 — Rewritten in GRACE lang v0.40; nothing but language changed except three invariants the Execution Contract already owns. Chose: Composes for the three constituents and the two assignments taken up, then Composition state, Scope vocabulary, Action wiring, Wiring decision and Concurrency as the wiring surfaces, the five surviving invariant numbers unchanged, and an acceptance section distributed from the closing claim the prose already made — what the actor was allowed to do and who held the task is readable from the records alone. Over: the prose spec. Because: the migration plan; nothing in the corpus cites this composition by label. Wiring decision reaches two specs with this one, which is the family Undo History minted and the first sign it recurs.
  • 2026-09-14 — Three invariants asserting a constituent’s invariants hold are one citation. Chose: Composes 6 — the composition MUST inherit a constituent’s invariants PER Execution Contract Conformance 8 — with Invariant 6, Invariant 7 and Invariant 8 tombstoned to it. Over: keeping the three, which is what the prose carried. Because: the contract already settles it — conformance extends recursively, and no composing layer is obligated to re-verify what the substrate’s own conformance already establishes; inheriting a guarantee by reference is the point of naming a substrate — so three invariants re-asserting it were a citing spec restating a rule it cites (Authority 6), which is council read 53’s ruling applied to a second seam. What the three carried beyond the blanket survives and is not inherited: the relay of an unchanged constituent rejection is Composes 9, and the single-instance decisions that make the constituents’ guarantees reachable at all are Composes 1 through Composes 3 — which is why Invariant 2.1 stands where Invariant 7 fell (council read 55).
  • 2026-09-28 — What the cold regeneration met, restored. Chose: the nine signatures back on the page, with Responsible Actor’s unassigned and not-known as Action wiring 20 and 21, where the rewrite kept the rules that gate and relay and dropped every action’s parameters, answers and refusals, leaving Check 5.1 and 5.2 citing Composition state 2, which states neither answer; visible tasks defined for a caller holding tasks:view, where the term’s none otherwise read as the empty set Action wiring 19 forbids; and Invariant 5.2 as a task’s delete changes no grant, with its check moved to External check 5, where Check 4.2 asked an auditor for a grant record keyed on a task id, which no grant carries. Over: the 2026-09-14 rewrite’s readings. Because: each contradicted the page’s own rules or the constituents’ stores, and the signatures are the prose’s projected contracts carried across unchanged. The re-pass is owed.

↑