From 3967455b680504bdf6f1b0418329f77341c9ac9e Mon Sep 17 00:00:00 2001 From: null Date: Sun, 25 Oct 2026 06:06:12 +0000 Subject: [PATCH] null: Q57 residual record -- host-pinned builder, dead citation and unwired control, each measured before the fix --- wizard-work/null/q57-residual-2026-10-25.md | 96 +++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 wizard-work/null/q57-residual-2026-10-25.md diff --git a/wizard-work/null/q57-residual-2026-10-25.md b/wizard-work/null/q57-residual-2026-10-25.md new file mode 100644 index 0000000..4f5f49e --- /dev/null +++ b/wizard-work/null/q57-residual-2026-10-25.md @@ -0,0 +1,96 @@ +# Q57 residual -- the entry and its control locate their own checkout + +**Lane:** Codeforge (null). **Rev:** `912e8a8` (work), entry regenerated at `0792278`. +**Date:** 2026-10-25. **Item:** Q57, opened 2026-10-24 by the pipe; done-means met +2026-10-24, three defects found in its own evidence on 2026-10-25. + +Q57 asked that the standup entry be bound to the bytes it grades. That binding +landed on 2026-10-24 (`831f809`, `c48f098`) and `check.py` reads 30 of 30 green. +What follows is not that repair. It is what the repair still got wrong about +*where it is running*, measured before it was changed. + +## 1. Three defects, measured at `fe4ef9f` before any edit + +**(a) The builder was pinned to this host, so a replay reproduced nothing.** +`wizard.py` carried `REPO = "/root/troupe-standup"` and `HERE = +"/root/troupe-standup/wizard-work/null"` as literals. A clone at `fe4ef9f` was +made, and inside it: + + $ python3 wizard-work/null/wizard.py + CHECK: python3 /root/troupe-standup/wizard-work/null/check.py + $ stat -c '%n %Y %s' /root/troupe-standup/wizard-work/null/wizard.log.md \ + wizard-work/null/wizard.log.md + .../troupe-standup/wizard-work/null/wizard.log.md 1792907995 2347 + .../q57red.iUNJl8/c/wizard-work/null/wizard.log.md 1792907993 2347 + # after the clone-side run: + .../troupe-standup/wizard-work/null/wizard.log.md 1792908011 2347 <- written + .../q57red.iUNJl8/c/wizard-work/null/wizard.log.md 1792907993 2347 <- untouched + +The clone's replay wrote **the host's** tracked file and left the clone alone. +`git status` in the clone read clean, which is the worst shape of this defect: +the replay looked reproducible because nothing in the clone had moved. The +entry also printed absolute host paths, so `render()` was a function of where +the checkout lived and could not round-trip anywhere else. + +**(b) A citation to a file that exists on no ref.** `q57_mutation.py:32` sent +the reader to `../q57-binding/transcript-before.txt` for the CRLF transcript. +`git log --all --oneline -- wizard-work/q57-binding/` returns 0 commits and the +directory is absent from the worktree. + +**(c) The negative control was invoked by nothing.** `git grep -n q57_mutation` +returned `check.py`'s compile cell and three lines of prose. The control's +green verdict was whatever its author last saw by hand -- Q63/Q65's class, +inside the file that exists to prove the gate can fail. + +## 2. What changed + +| file | change | +| --- | --- | +| `wizard-work/null/wizard.py` | `HERE` from `__file__`, `REPO` from `git rev-parse --show-toplevel`; the entry prints repository-relative paths (`bash wizard-work/null/CHECK`); `main()` writes only when the rendered bytes differ; `--stamp` / `--restamp` are the only ways to move the date | +| `wizard-work/null/q57_mutation.py` | `REPO` self-located (`NULL_REPO` overrides it and the path used is printed); rc 2 for could-not-grade; **case 6** replay; the published-gate case renumbered to 7; the dead citation removed | +| `wizard-work/null/CHECK` | new lane gate: resolves `$0`, runs `check.py` then the control, 0 green / 1 fault / 2 could not grade | +| `wizard-work/null/check.py` | `CHECK` added to `NEED` and `WORK_FILES` (its bytes are bound to the named commit too), plus one cell asserting `CHECK` still invokes both programs | + +Case 6 is the cell that would have caught (a). It runs the *fixture's* builder +inside the frozen clone and asserts four things at once: the clone's entry is +byte-identical, the clone's file is not even opened for writing (mtime +unchanged), `git status` is empty, and **the host's entry is untouched**. Under +the old builder the last assertion fails by construction -- that is the +measurement in §1(a). + +## 3. Measured after + + $ bash wizard-work/null/CHECK + ... + 30 passed, 0 failed + ALL CHECKS GREEN + ... + case 6 the replay reproduces the entry byte-for-byte -> 2821 bytes + case 6 the replay opens no file for writing (mtime unchanged) + case 6 the worktree is clean after the replay -> clean + case 6 the HOST's entry is untouched: the builder grades its own checkout + 21 passed, 0 failed + MUTATION CONTROL GREEN + LANE GATE GREEN + rc=0 + +Full transcript, verbatim with its rev: `/root/.hermes/wizard-outputs/null/q57-residual/transcript-green.txt`. +The entry now names `912e8a8`, the commit that carries all four work files +byte-identically, and `check.py` prints `the gate on disk is the gate published +on the remote main` at 16552 bytes. + +## 4. What is not claimed + +- **Case 6 was not re-run against the old builder.** It cannot be: the old + builder writes `/root/troupe-standup` from wherever it is invoked, so running + it to falsify the cell would rewrite this lane's committed entry. The RED is + the §1(a) probe, taken against the old code before the edit; case 6 asserts + its negation. A cell whose falsifier destroys the artifact is measured by + probe, not by replay. +- **Q57's queue line is still OPEN.** The done-means is met and measured, but + the closure belongs in `WORK-QUEUE.md`, whose appends re-render the shared + index and whose `path-claims` leg is currently red on another lane's citation. + This lane will not add citing sites to a red leg; the closure line is the + control plane's to append. +- **`CHECK` is not a `tools/verify.py` leg.** Adding one is the operator's call + (reply 93 §4), not a lane's, and this file does not ask for it.