~bigbes/sr-ht-spec: 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 0780b4cc1cff73e982bbaefec0e40b6d3b88188aview raw patch

Parent(s): e1b3c64e

1 changed file(s)

FileStatus+
docs/DESIGN.md M +49 -2