docs: U21, and two ways I misread a gate that had already failed
The pre-PR gate redded at step 03-lib on m6_1_pty_canonical_mode_keeps_kernel_echo, alone, with U2's familiar `stty -a output was: ""`. Recorded as U21 rather than folded into U2 or U9: U2's selector is the RAW test, and U9's requires the canonical test and composition_overhead together in 11-sweep. Here canonical redded with no companion at all, in the narrowest step, which no existing row has shown. The evidence is unusually good for this family. The same selector passed in steps 04-lib-crdt and 15-sweep of the SAME run, on the same tree, minutes apart --- an in-run control that excludes the tree without relying on a rerun at different conditions. Three later full --lib runs and one isolated run are also green. The load confound is once again unmeasured at the moment of failure; the readings that exist were taken afterwards and are recorded as such. Two invocation mistakes are recorded in the lane notes because both made a failed gate look like a running one. nohup leaves SIGINT ignored and the gate refuses to start in that state --- correctly --- printing two lines and exiting in under a second. My monitor filtered for step banners and test results, so it matched none of that, and fifteen minutes of silence read as progress. And a trailing `; echo "exit=$?"` reported the echo's status, so the harness logged exit 0 for a gate whose own summary said FAILED.
This commit is contained in:
parent
fd9401e57f
commit
04ebd2f39d
|
|
@ -581,6 +581,33 @@ the next lane does not rediscover them at review.
|
|||
instead. Running it by hand also surfaces a pre-existing unresolved
|
||||
link, `MathNode` at `pmacs-gpu/src/math_layout.rs:314`.
|
||||
|
||||
### `scripts/gate` refuses to run under `nohup`
|
||||
|
||||
Not a red — a **refusal**, and worth recording because it looks like
|
||||
neither success nor failure. Launched with `nohup`, the gate printed
|
||||
|
||||
```
|
||||
pmacs: SIGINT is ignored; run this command with SIGINT deliverable
|
||||
gate: REFUSING TO RUN (status=1 token=valid) --- no stage has run.
|
||||
```
|
||||
|
||||
and exited in under a second. `nohup` leaves SIGINT ignored, and the
|
||||
gate declines to start in that state rather than run stages nobody can
|
||||
interrupt. **The guard is right**; the way it was hit is the lesson.
|
||||
Background the gate through the harness's own mechanism, not `nohup`.
|
||||
|
||||
**The expensive half was the watch, not the refusal.** A monitor was
|
||||
armed on the output file filtering for step banners and test results —
|
||||
so a gate that never started produced exactly what a gate still running
|
||||
produces: nothing. Fifteen minutes of silence read as progress. The
|
||||
question to ask before arming any watch is *if this process died right
|
||||
now, would my filter emit anything?*, and here the answer was no.
|
||||
|
||||
**A trailing `; echo` in the same launch also swallowed the exit code.**
|
||||
`./scripts/gate … > log 2>&1; echo "exit=$?"` reports the *echo's*
|
||||
status, so the harness recorded exit 0 for a gate that failed at step
|
||||
03. Read the gate's own summary line, never the wrapper's.
|
||||
|
||||
### A local false compile red from the shared target directory
|
||||
|
||||
Kept here rather than in `docs/ci-red-signatures.md` because it is a
|
||||
|
|
|
|||
|
|
@ -1123,6 +1123,37 @@ the first thing to capture is a contemporaneous load reading — the one
|
|||
piece of evidence that would separate the two explanations and that
|
||||
neither U6 nor this row has at the moment of failure.
|
||||
|
||||
### U21 — the canonical PTY test reds ENTIRELY alone, in `03-lib`
|
||||
|
||||
Recorded during GUI Stage 1b's pre-PR gate, 2026-09-02, local (Linux).
|
||||
**A new incident by U6's rule and U9's, not a fourth occurrence of
|
||||
either** — see the relation cells below, which are the point of the row.
|
||||
|
||||
| field | value |
|
||||
|---|---|
|
||||
| **selector** | `--lib process::tests::m6_1_pty_canonical_mode_keeps_kernel_echo`, **alone** — no second selector redded anywhere in the run |
|
||||
| **job / flavor** | local (Linux), `scripts/gate` step `03-lib`, per-worktree target dir, inside a full gate |
|
||||
| **required fragments** | ``canonical mode should leave echo enabled (no `-echo` flag); stty -a output was: ""`` |
|
||||
| **NOT fragments** | the `:LINE` suffix (`src/process.rs:3981` at this head) and the pass/fail counts — both occurrence-specific |
|
||||
| **status** | **one occurrence**, `2008 passed; 1 failed; 3 ignored` |
|
||||
| **what IS established — an IN-RUN control, the strongest kind** | the same selector **passed in step `04-lib-crdt` and step `15-sweep` of the SAME gate run**, on the same tree, minutes apart. The tree is therefore excluded as a cause without relying on a later rerun at different conditions. Also green in three subsequent full `--lib` runs and once isolated (`1 passed`, 0.01s) |
|
||||
| **what is NOT** | cause. **The load confound is once again not measured at the moment of failure** — the readings that exist were taken afterwards: 1-minute 4.15, 4.38, 6.43, 6.54 with the 5-minute figure at 9.6–10.0, i.e. a genuinely busy machine, but *after* the fact. This is the same gap U15 exists to close and it is still open |
|
||||
| **relation to U2 — same family, different selector** | U2's fragment is identical (`stty -a output was: ""`) but its selector names `m6_1_pty_raw_mode_disables_kernel_echo`. Raw passed here |
|
||||
| **relation to U9 — the closest row, and still not a match** | U9's selector requires the canonical PTY test **and** `composition_overhead_under_ten_percent` failing together in `11-sweep`. Here the PTY test redded **with no companion at all**, in `03-lib`, and the composition test passed. U9's own framing distinguishes "canonical alone" from *raw*; this is canonical alone from *everything*, which no existing row has shown |
|
||||
|
||||
**What this adds to the family is the isolation.** Every prior
|
||||
occurrence of this fragment came paired — raw with canonical (U2's
|
||||
second), or canonical with a budget test (U9). A single PTY assertion
|
||||
failing by itself, in the narrowest step, with two green runs of the
|
||||
same selector bracketing it in the same gate, is the cleanest evidence
|
||||
yet that the fragment reports **a delivery or collection failure rather
|
||||
than anything about termios** — which is exactly what U2 says the
|
||||
fragment can and cannot show.
|
||||
|
||||
**Do not fold this into U2 or U9.** Both rows exist because their
|
||||
authors resisted the same pull, and each records a combination the
|
||||
others cannot see.
|
||||
|
||||
### U7 — a *different* wall-clock render-budget test reds each sweep
|
||||
|
||||
Recorded during worker identity Stage 1 review round 3, 2026-08-09.
|
||||
|
|
|
|||
Loading…
Reference in New Issue