docs(ci-reds): U14 gains the number U6 and U7 have wanted since August

The gate redded again in the same three stages, with a partly rotated
selector set --- one of them being a U7 selector. This time
`/proc/loadavg` was read at the failure: 34.04, with the CPU saturated
by an unrelated `lean` workload on this shared machine and no cargo,
rustc or gate process of mine left running.

U6 and U7 have each recorded, since 2026-08-09, that the load confound
"was not measured, so it is a rival explanation, not a finding." It is
measured now, and the margins move with it monotonically across three
runs of one unchanged tree: 1.343883ms, then 1.689259ms, then
2.269247ms, against a 1ms budget. A regression does not get 69% worse
between two runs of the same tree.

This retires nothing. The budgets are still wall-clock assertions whose
measurement design nobody has defended --- R1's disposition, applied to
five more tests. What changes is that "one loaded machine" is now a
measured explanation rather than a plausible one.
This commit is contained in:
Levi Neuwirth 2026-08-30 20:04:58 +02:00
parent ff9e1cbf0b
commit 2c2430332e
No known key found for this signature in database
1 changed files with 38 additions and 1 deletions

View File

@ -1236,11 +1236,48 @@ machine, and no single selector here reds twice.
| **selectors** | `03-lib`: `async_runtime::tests::grep_supersede_cancels_predecessor_within_50ms`. `04-lib-crdt`: U6's pair. `07-sweep`: `lsp_dispatch_seams_acceptance::acc34_purge_reaches_a_server_that_is_in_no_attachment` |
| **job / flavor** | local (Linux), one `scripts/gate` run, three different steps |
| **required fragments** | `grep supersede did not cancel within 50ms` + an `elapsed:` value; `criterion 1: per-keystroke orchestrator time` + `exceeds 1ms`; `composition machinery added more than 10% overhead`; `is not ready for requests (state: initializing)` |
| **status** | **new incident, one occurrence** |
| **status** | **two occurrences, 2026-08-30, and the SECOND ONE MEASURES THE LOAD CONFOUND** that U6 and U7 have each recorded as unmeasured since 2026-08-09 |
| **what IS established** | all four fragments captured from the durable stage logs. Margins: `52.44341ms` against 50ms (4.9% over); `1.689259ms` against 1ms; `1.592×` against 1.10×. The `07-sweep` failure is **not** a budget — an LSP server was asked for a request while still `initializing` |
| **what is NOT** | any shared mechanism. Three stages, three subsystems, and one of the three is a readiness race rather than a clock |
| **the observing tree** | the lane's revision-5 commits: an enumeration in a `#[cfg(test)]` predicate and documentation. It touches `async_runtime`, `optimistic`, `editor` and the LSP dispatch seam **not at all** |
**Second occurrence, 40 minutes later — and this one has the number.**
`scripts/gate` log `20260830T175657Z-3881334`, same lane, same three
stages red, **a partly different selector set**: `03-lib` took
`composition_overhead_under_ten_percent` *and*
`semantic_render::tests::full_buffer_summary_flatten_scales_on_large_grammar_file`;
`04-lib-crdt` took U6's pair again; `07-sweep` took
`dired_renders_10k_entries_within_200ms`, **which is one of U7's three
selectors**.
**`/proc/loadavg` read immediately after: `34.04 38.45 26.29`.** The
CPU was saturated by `lean` processes — an unrelated workload on this
shared machine, nothing this session started, and no `cargo`, `rustc`
or `scripts/gate` process of mine was left running.
**U6 and U7 have both said, since 2026-08-09, that the load confound
"was not measured, so it is a rival explanation, not a finding."** Here
it is measured, and the margins move with it monotonically across three
runs of the same tree:
| run | `criterion_1` per-keystroke | `composition_overhead` |
|---|---|---|
| out of gate, ~17:05 | 1.343883ms | 1.182× |
| gate `T171941Z` | 1.689259ms | 1.592× |
| gate `T175657Z`, loadavg 34.04 | **2.269247ms** | 1.527× |
Against a 1ms and a 1.10× budget. **A regression does not get 69% worse
between two runs of an unchanged tree; a load average of 34 explains it
without any help.** That is a finding about these budget rows, not about
the tree — and it is the first time this registry can say so with a
number rather than a suspicion.
**What it does NOT do:** it does not retire U6, U7 or this row. The
budgets remain wall-clock assertions whose measurement design nobody has
defended, which is the same disposition R1 carries. What changes is that
"one loaded machine" stops being a rival explanation offered in good
faith and becomes a measured one.
**Relation to R1, and it is NOT a match.** The `03-lib` failure carries
R1's required fragment `supersede did not cancel within 50ms`, but R1's
selector is `supersede_cancels_in_flight_job_within_50ms` and this is