~bigbes/sr-ht-spec: d148a661

docs: fix an unimplementable crash repair

The repair table claimed the reconciler recreates a proposal row from an
orphan ref. It cannot: the id is a Postgres serial, and title, rationale,
base_rev, agent and agent_session exist nowhere in a ref, since trailers
live on commits and title lives nowhere in git.

Splits the truth rule instead. Refs stay authoritative for merged-ness;
the row is authoritative for existence and metadata. Row-first ordering is
already forced by deriving the branch name from the serial, and it is also
the safe order, so the unrecoverable case is designed out rather than
repaired. Orphan refs and contentless rows are deleted, which is safe
because an agent still holds the content and can re-propose.

Also records the schema-enforced invariants, notably that merged implies a
non-null approval so policy merges cannot be laundered as human ones.

bigbes <bigbes@gmail.com> — 2026-07-22 08:18:12 UTC

Commit d148a6612cdbe3021a1304b75fdb8c7c597696efview raw patch

Parent(s): dc1e5d0c

1 changed file(s)

FileStatus+
docs/DESIGN.md M +41 -10