0780b4cc
docs: guard the reconciler against eating live proposals
Implementing the corrected repair table showed it destroys data as written, in two ways. Row-first ordering is forced by the schema, so every proposal passes through the exact state the table says to delete. An ungraced reconciler on a timer would delete an agent's work at random and never once in a test. A row younger than the grace window is in flight, not abandoned. A proposal branch is cut at the approved head, so its tip is trivially an ancestor of that head until the agent's first commit. The plain ancestry rule marks a contentless proposal merged, and open to merged is terminal. Comparing the tip against the recorded base distinguishes never-written from actually-merged. Also records the within-pass ordering that makes the grace window sufficient, that marking merged must invent approval and merged_rev and why policy is the safe lie, the two states left unrepaired, and that spaces are created repository-first while proposals are created row-first.
bigbes <bigbes@gmail.com> — 2026-07-22 11:10:17 UTC
Commit 0780b4cc1cff73e982bbaefec0e40b6d3b88188a —
view raw patch
Parent(s):
e1b3c64e
| File | Status | + | − |
|---|---|---|---|
docs/DESIGN.md
|
M | +49 | -2 |