db7d6c0f
docs: correct the merge model against implementation
Resolves a contradiction: the Space section called policy changes reviewable, but the merge is keyed by document ID and .spec.yml has none, so a proposal could never express one. Policy joins deletion and rename as human-push-only, which costs nothing with a single reviewer. Corrects the claimed cost of ID-keyed staleness. It needs an ID-to-path index over both whole trees, not one parse of the changed set; free at our volume, two full-tree reads at ten thousand documents. Adds the three staleness cases the two-line rule omitted, each of which is silent corruption if unhandled, and records that an already-merged proposal needs an ancestry check because the staleness rule reports a confusing 409 instead. Records that malformed documents on the approved branch are tolerated rather than fatal, since skip-validation guarantees they can exist and failing the index build would turn one typo into a space-wide outage.
bigbes <bigbes@gmail.com> — 2026-07-22 08:24:10 UTC
Commit db7d6c0fc92cf56db8913d4af2778d0ddb6dc73e —
view raw patch
Parent(s):
29f6e881
| File | Status | + | − |
|---|---|---|---|
docs/DESIGN.md
|
M | +48 | -4 |