From 91a1dad0f393ed12b39f9c42d188f04f5c05b834 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Wed, 29 Jul 2026 11:22:40 +0200 Subject: [PATCH] docs: record commit 3 and the rejected Part 3 ruling in the chain report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Appended section only; the existing content is unchanged. Separate from de5a3e5 because a commit cannot contain its own hash and the spec asked the report to name it. Records the four XS edits, and why documentation/backlog/README.md was NOT touched: the proposed ROADMAP/OPEN-ITEMS state convention rests on a claim that P3's Status column never takes READY/BLOCKED/WAITING-ON-OPERATOR. It does — R-90 (BLOCKED), R-91 (WATCHING), R-110 (WAITING-ON-OPERATOR), R-86 (NEXT), plus nine bare READY rows in P2's recovery-gaps sub-table. Writing it down would have added a new false invariant to the chain that exists to remove them. --- REPORT-record-correction-2026-07-29.md | 51 ++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/REPORT-record-correction-2026-07-29.md b/REPORT-record-correction-2026-07-29.md index 060b2d3..0ad794c 100644 --- a/REPORT-record-correction-2026-07-29.md +++ b/REPORT-record-correction-2026-07-29.md @@ -151,8 +151,53 @@ Files: `documentation/backlog/OPEN-ITEMS.md`, `documentation/backlog/ROADMAP.md` --- +## Commit 3 — `de5a3e5` — the record-hygiene rider + +Baseline `7383400a`, unmoved. Four XS items from `7383400a` §9; the three deferred observations stay +deferred. + +| File | Change | +|---|---| +| `CONTEXT.md:540` | *"`scripts/hub_confirm_gate.py` enforces"* → asserts, but is not enforced (R-29). Third instance of the class after `:564` and `configs.go:27` | +| `REUSE.md:62` | Same claim, *"enforces zero"*. The **rule stays** — never native `confirm()`/`prompt()` is correct guidance and this is a reuse-reference row — only the enforcement claim changes | +| `OPEN-ITEMS.md:4` | Root `REPORT.md` = overwritten per-session; `REPORT-.md` = non-clobbering sibling (`CLAUDE.md:82-87`), 14 of them. Prohibition unchanged | +| `OPEN-ITEMS.md:55` | Heading scoped to *"the **TOP** READY rows"* + a half-sentence that it is deliberately not a full ordering. **No row added to the list** | + +`hub/internal/web/configs.go:27` — the fourth instance — left alone (R-94 leg (b), needs a hub build). + +### Part 3 NOT done — its stated evidence is false + +The spec proposed recording a convention: *"`ROADMAP`'s P3 `Status` column only ever takes `idea` or a +`SHIPPED`/`PROVEN-LIVE` variant, and never takes `READY`, `BLOCKED` or `WAITING-ON-OPERATOR`"*, and +concluded from that vocabulary split that `ROADMAP` `Status` is **disposition** while `OPEN-ITEMS` +`State` is **live actionability**. + +Refuted inside P3 itself (`ROADMAP.md`, lines 113–172): + +| Line | ID | P3 `Status` cell | +|---|---|---| +| 151 | R-90 | `BLOCKED on Hetzner CX33 availability (operator, 2026-07-27)` | +| 152 | R-91 | `WATCHING — gated on demo-felhom's first post-migration PBS backup` | +| 150 | R-110 | `idea — found 2026-07-29, **WAITING-ON-OPERATOR (a ruling, not a defect)**` | +| 137 | R-86 | `**NEXT — operator ruling 2026-07-27**` | + +And P2's recovery-gaps sub-table (lines 99–107) uses a bare `READY` for nine rows, including `E-2`. + +Both halves fail: the column **does** take the `OPEN-ITEMS` vocabulary, and `BLOCKED`/`WATCHING`/ +`NEXT` are live-actionability words, not dispositions. The real shape is a free-text status field +that has absorbed both vocabularies over time — usually disposition, sometimes not. Writing the +proposed convention down would install a **new false invariant** in the commit chain whose whole +purpose was removing them, so per the spec's own instruction (*"If you think this ruling is wrong, say +so and make no edit"*) `documentation/backlog/README.md` was not touched. + +The narrow question that prompted it still resolves benignly: R-29 and R-94 reading `idea` in +`ROADMAP` and `READY` in `OPEN-ITEMS` is **not** a defect and needs no sync. What is unsupported is +generalising that into a rule. + +--- + ## Standing note -**No gate was wired, fixed, run as a hook, or deleted by either commit.** Filing R-29 is not doing -R-29; the enforcement decision (pre-push hook / `build.sh` step / CI) and the audit of the remaining -eight gates are R-29 part (b), M-sized, and its own task. +**No gate was wired, fixed, run as a hook, or deleted by any of the three commits.** Filing R-29 is +not doing R-29; the enforcement decision (pre-push hook / `build.sh` step / CI) and the audit of the +remaining eight gates are R-29 part (b), M-sized, and its own task.