docs(ci-reds): U16 reproduced, and U19 is new

The gate verifying the R7 renumbering redded twice in `07-sweep`.

`cache_survives_across_fetcher_instances` is **U16's second
occurrence** --- same selector, same panic site, both required
fragments. It is the first time that row has reproduced, and it settles
an earlier withdrawal in the right direction: claiming "the window is
narrow" from eight green runs was wrong, and the failure came back
within the day. The child-inheritance chain stays a candidate; this
occurrence demonstrates it no more than the first did.

`terminal_bell_baseline_suppresses_history_and_delivers_each_new_bell_once`
is new, recorded as U19. It is a deadline but not the budget family's
kind: those assert work finishes in 1ms or 200ms, while this asserts an
event arrives at all inside FIVE SECONDS. Folding it into that family
would blur the one distinction those rows have.

Like R1, its assertion has `Instant::now()` in hand at the panic and
reports none of it, so the margin is unrecoverable and a future
occurrence will not be comparable to this one. That is the second place
in this codebase where the same omission costs the same thing.
This commit is contained in:
Levi Neuwirth 2026-08-31 19:47:09 +02:00
parent 7ce03018f8
commit ea786a2878
No known key found for this signature in database
2 changed files with 61 additions and 3 deletions

View File

@ -366,8 +366,8 @@ second clippy flavor to `scripts/gate` is a change to shared
infrastructure and belongs in its own lane. Recorded so the next lane infrastructure and belongs in its own lane. Recorded so the next lane
touching crdt-gated code does not rediscover it at CI. touching crdt-gated code does not rediscover it at CI.
**EIGHT registry rows moved on this lane** — R7, R6, U6, U14, U15, U16, **NINE registry rows moved on this lane** — R7, R6, U6, U14, U15, U16,
U17 and U18. *(This heading said "four" while listing more; corrected.)* U17, U18 and U19. *(This heading said "four" while listing more; corrected.)*
- **R7's eleventh and TWELFTH occurrences** — the eleventh is the - **R7's eleventh and TWELFTH occurrences** — the eleventh is the
green/red pair whose heads differ by one markdown file, which excludes green/red pair whose heads differ by one markdown file, which excludes
@ -427,6 +427,19 @@ U17 and U18. *(This heading said "four" while listing more; corrected.)*
control**, which is the case U11 motivated it for. It came back **green on the macOS legs**, so the control**, which is the case U11 motivated it for. It came back **green on the macOS legs**, so the
inference it could have supplied is **unavailable**; recorded as a inference it could have supplied is **unavailable**; recorded as a
null result, as R1's row had to record its own; null result, as R1's row had to record its own;
- **U16 REPRODUCED** — second occurrence 2026-08-31, same step, same
fragments. It settles the earlier withdrawal in the right direction:
"the window is narrow" was wrong to claim from eight green runs, and
the failure returned within the day. The child-inheritance chain
stays a candidate; this occurrence demonstrates it no more than the
first did.
- **U19, new** — `terminal_bell_baseline_…` timed out on a **5-second**
poll for a bell that never arrived, in the same run as U16's second.
A deadline but **not** the budget family's kind — those assert work
finishes in 1ms or 200ms; this asserts an event arrives at all inside
five seconds. Like R1, **its assertion reports no elapsed value**, so
the margin is unrecoverable and a future occurrence will not be
comparable to it.
- **U18, new** — `Test (ubuntu-latest / luajit)` died in **toolchain - **U18, new** — `Test (ubuntu-latest / luajit)` died in **toolchain
setup**, before any `cargo` command ran: `go install gopls@v0.16.2` setup**, before any `cargo` command ran: `go install gopls@v0.16.2`
hit `INTERNAL_ERROR` from `sum.golang.org` while verifying hit `INTERNAL_ERROR` from `sum.golang.org` while verifying

View File

@ -1515,7 +1515,7 @@ which is why it is worth more than its one occurrence.
| **selector** | `--lib packages::fetcher::tests::cache_survives_across_fetcher_instances` | | **selector** | `--lib packages::fetcher::tests::cache_survives_across_fetcher_instances` |
| **job / flavor** | local (Linux), `scripts/gate` step `07-sweep` (`cargo test --workspace --no-fail-fast`) | | **job / flavor** | local (Linux), `scripts/gate` step `07-sweep` (`cargo test --workspace --no-fail-fast`) |
| **required fragments** | `Unable to read current working directory: No such file or directory` + `remote did not send all necessary objects` | | **required fragments** | `Unable to read current working directory: No such file or directory` + `remote did not send all necessary objects` |
| **status** | **new incident, one occurrence, not reproduced** | | **status** | **SECOND OCCURRENCE 2026-08-31 — it reproduced, in the same step, with the same fragments** |
| **what IS established** | the fragments, captured from the durable stage log at `src/packages/fetcher.rs:929`. `1989 passed; 1 failed`. The test spawns `git` against a `file://` remote in a temp dir | | **what IS established** | the fragments, captured from the durable stage log at `src/packages/fetcher.rs:929`. `1989 passed; 1 failed`. The test spawns `git` against a `file://` remote in a temp dir |
| **what is NOT** | that the mechanism below is what happened. It is a candidate with a citation, not a demonstrated chain | | **what is NOT** | that the mechanism below is what happened. It is a candidate with a citation, not a demonstrated chain |
| **the observing tree** | the lane's docs-only commit. It touches `src/packages/` not at all | | **the observing tree** | the lane's docs-only commit. It touches `src/packages/` not at all |
@ -1570,6 +1570,16 @@ An earlier version added "and here it also says the window is narrow" —
not recur in eight runs. It says nothing about the width of *this not recur in eight runs. It says nothing about the width of *this
candidate's* window, which no measurement here has sized. candidate's* window, which no measurement here has sized.
**SECOND OCCURRENCE, 2026-08-31, log `20260831T174104Z-3438184`, step
`07-sweep`** — same selector, same panic site `fetcher.rs:929`, both
required fragments, `1988 passed; 2 failed`. **This is the first time
the row has reproduced, and it settles the point above in the right
direction**: withdrawing "the window is narrow" was correct, because
eight green runs had not measured it, and the failure returned within
the day. The candidate mechanism in §"child inheritance" above is
unchanged and still a candidate — nothing in this occurrence
demonstrates the chain either.
**Not folded into U14 or U15.** Different selector, different fragments, **Not folded into U14 or U15.** Different selector, different fragments,
different step, and a different kind of failure: those are wall-clock different step, and a different kind of failure: those are wall-clock
budgets under load, this is a race over process-global state. U14's budgets under load, this is a race over process-global state. U14's
@ -1713,6 +1723,41 @@ would pass is uninteresting — a transient network error is *expected* to
pass on retry, and doing so would establish nothing while destroying pass on retry, and doing so would establish nothing while destroying
nothing either. It is left for whoever next pushes to this branch. nothing either. It is left for whoever next pushes to this branch.
### U19 — a terminal bell never arrives within a 5s poll
Recorded on the CRDT identity-undo lane, 2026-08-31, local (Linux),
`scripts/gate` step `07-sweep`, log `20260831T174104Z-3438184` — the
**same run** that produced U16's second occurrence, and recorded
separately because the selectors and fragments differ.
| field | value |
|---|---|
| **selector** | `--lib daemon::tests::terminal_bell_baseline_suppresses_history_and_delivers_each_new_bell_once` |
| **job / flavor** | local (Linux), `scripts/gate` step `07-sweep` (`cargo test --workspace --no-fail-fast`) |
| **required fragments** | `initial terminal bell timed out` |
| **status** | **new incident, one occurrence** |
| **what IS established** | panic at `src/daemon.rs:5296`, `1988 passed; 2 failed`. The assertion is a **5-second poll**: `while bell_count(buffer_id) != Some(1) { tick_processes(); assert!(Instant::now() < deadline); sleep(10ms) }` (`src/daemon.rs:5293`–`:5298`) |
| **what is NOT** | whether the bell never arrived or arrived late. The loop cannot tell those apart, and **the panic reports no elapsed value** — R1's complaint about its own assertion, in a second place |
| **the observing tree** | a documentation-only commit |
**It is a deadline, but not the budget family's kind.** U6, U7, U9, U10,
U12 and U15 assert that work finishes *fast* — 1ms, 1.10×, 200ms. This
asserts that an event **arrives at all** inside five seconds, which is
three orders of magnitude of slack. A 4.5% overshoot on a 1ms budget is
a scheduling story; a 5-second wait for a bell that never comes is not
the same shape, and folding it into that family would blur the one
distinction those rows have.
**What it shares with R1 is the missing measurement.** `Instant::now()`
is in hand at the panic and the message reports none of it, so this
occurrence's margin is unrecoverable — exactly what R1's row records
about itself, and what U11 cost this project once already. **A future
occurrence would be comparable to this one only if the assertion carried
its elapsed value**, and it does not.
**No rerun was performed on this selector**, and the row does not claim
intermittence it has not observed.
### U13 — gate prune-reporting row receives empty child stdout in `sweep` ### U13 — gate prune-reporting row receives empty child stdout in `sweep`
Recorded during PR #244 review, 2026-08-29, on signed head `756c2b8`. Recorded during PR #244 review, 2026-08-29, on signed head `756c2b8`.