docs: correct Stage 1b gate evidence
Narrow U21 to same-run intermittence without excluding an intermittent tree effect, and preserve the empty-stdout mechanism boundary from U2. Correct the shell-status explanation, record the exit-143 sweep termination, and mark the full pre-PR gate complete.
This commit is contained in:
parent
9a3a78f222
commit
3a2816b019
|
|
@ -322,7 +322,8 @@ lifetime tables made frontend-specific. **The both-axis effect witness
|
|||
is no longer owed**; see the completion note below, which is the
|
||||
authority on what this lane still has outstanding.
|
||||
|
||||
**Landed so far** (latest verified code head `9ec4ff1`; **full gate green at `04ebd2f`**)**:** B1's per-target fractional
|
||||
**Landed so far** (latest verified code head `9ec4ff1`; **full gate green
|
||||
at `04ebd2f`**, run `20260902T125049Z-4162684`, all 16 steps)**:** B1's per-target fractional
|
||||
wheel residual (the producer), B2's daemon-side horizontal panel leg,
|
||||
B3/B7's shared `scroll_window_columns` with its saturated bound and wrap
|
||||
pin, B4's middle-click PRIMARY paste, **B6's minimap wheel routing**,
|
||||
|
|
@ -499,7 +500,8 @@ L8b–L8e, and that bullet's GPU half described the latch that no longer
|
|||
exists.
|
||||
|
||||
**Owed outright: nothing. The implementation and its evidence are
|
||||
complete**, and the lane's next step is the full pre-PR gate.
|
||||
complete.** The full pre-PR gate is green at `04ebd2f`; the lane is
|
||||
held immediately before opening its PR.
|
||||
|
||||
The last three closed in order:
|
||||
|
||||
|
|
@ -527,7 +529,8 @@ The last three closed in order:
|
|||
local document scroll beside the panel event fails on the completion
|
||||
transcript. The focused row is green outside the socket-restricted
|
||||
sandbox; package-wide all-target clippy, fmt and `git diff --check`
|
||||
are clean. The full pre-PR gate remains next.
|
||||
are clean. The code later passed the full pre-PR gate at `04ebd2f`;
|
||||
no further gate is owed before the PR.
|
||||
- **R4 and R5** (`e5ab16c`).
|
||||
- **B1's disposal half** (`241e82e` for panels, `a7006fa` for
|
||||
terminals) — and it needed mechanism, not just a row. `BufferId` keying distinguishes panel A from panel B for
|
||||
|
|
@ -603,10 +606,25 @@ 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 trailing `; echo` in the same launch also hid the exit code from
|
||||
the caller.** In
|
||||
`./scripts/gate … > log 2>&1; echo "exit=$?"`, `$?` is expanded before
|
||||
`echo` runs, so the text printed is the **gate's** status. The compound
|
||||
shell command itself, however, returns the later **echo's** status —
|
||||
normally zero — so the harness recorded exit 0 for a gate that failed
|
||||
at step 03. Preserve and re-emit the status explicitly, or read the
|
||||
gate's own summary line; do not treat the wrapper's status as the
|
||||
gate's.
|
||||
|
||||
**A later attempt was terminated by the harness, not by a test red.**
|
||||
Run `20260902T124755Z-4122046` reached step `15-sweep`; that stage's log
|
||||
contains two compilation lines followed by `Terminated`, with **zero
|
||||
`test result:` lines**, and the gate reported `FAILED (exit 143)`.
|
||||
The preceding fourteen stages had run successfully, but the sweep had
|
||||
not executed a test. This is evidence that the harness's background
|
||||
lifetime expired, not evidence about the tree. A monitor must observe
|
||||
process exit as well as filtered gate output, and the launch mechanism
|
||||
must outlive the full gate.
|
||||
|
||||
### A local false compile red from the shared target directory
|
||||
|
||||
|
|
|
|||
|
|
@ -1136,19 +1136,20 @@ either** — see the relation cells below, which are the point of the row.
|
|||
| **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 established — two IN-RUN repetitions** | the same selector **passed in step `04-lib-crdt` and step `15-sweep` of the SAME gate run**, on the same tree, minutes after the step-03 red. This establishes within-run intermittence and excludes a deterministic failure on that tree. It does **not** exclude the tree as a cause of an intermittent failure or a changed failure rate. 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.
|
||||
second), or canonical with a budget test (U9). Here one PTY assertion
|
||||
failed by itself in the narrowest step, then the same selector passed
|
||||
twice later in the same gate. The fragment establishes only that **the
|
||||
supervisor collected empty stdout**; it shows no incorrect termios
|
||||
state and does not distinguish among {the child never wrote, PTY
|
||||
delivery lost the bytes, event collection missed them}. That is the
|
||||
same evidence boundary U2 records.
|
||||
|
||||
**Do not fold this into U2 or U9.** Both rows exist because their
|
||||
authors resisted the same pull, and each records a combination the
|
||||
|
|
|
|||
Loading…
Reference in New Issue