null: Q57 residual record -- host-pinned builder, dead citation and unwired control, each measured before the fix
This commit is contained in:
1 parent
0792278523
commit
3967455b68
1 file changed
+96
@@ -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.
|
||||
Reference in new issue
Block a user