docs(framing): revision 5 --- the onset is not a source boundary
Four findings on revision 4, all upheld. The third changes what the
lane should do next.
1. Section summaries still carried revision-3 language while the
manifest carried revision 4's. Framing and ledger now agree: seven
red runs (F1-F7), not five; the observation table is keyed on
compilation set rather than an invented "workspace artifact family";
and it is labelled an observation, not an isolated interaction.
2. The onset count was wrong. Per test copy across the 17 sweep-crdt
logs: 13 with both copies ok, 1 where NEITHER executed because the
stage died compiling pmacs (error[E0308]), and 3 with both failed.
Revision 4's "14 runs, 11 green, 3 red on other tests" mis-stated
both the count and the kind --- one of those runs never reached the
test. The two genuinely red-on-other-tests sweeps did execute
ctrl_c, and it passed.
3. D0a cannot be a source bisect, and the evidence argues against one.
Reflog and commit times put HEAD at 7599661 during the last green
(3c06176 landed 40s after it finished) and at 724b785 during the
first red (5174f73 landed 08:45:41, after that run ended 08:42:01;
the manifest had recorded F6 at 5174f73, which was wrong).
Cleanliness was captured at neither endpoint. And 72da24a is an
ANCESTOR of the passing 7599661 yet fails today --- no
source-monotonic cause produces that. D0a now reproduces the two
endpoints CLEAN, in isolated target directories, and a bisect is
justified only if they differ.
4. Manifest completed: R9 carries full argv rather than a recipe; R7
lists only gpu_invocation-6b4b8223, since R7 does not select
gpu_initial_target; R10 lists both -5d9105cb and -d4dae4f0.
Also withdraws "byte-different" everywhere. The bytes a historical run
executed are not knowable --- target dirs have been overwritten, and a
hash computed today is the current occupant's. Three levels are now kept
apart in the manifest: suffix (known), today's bytes at a path (known),
and the bytes a past run executed (UNKNOWN). Differing suffixes mean
differing Cargo metadata hashes, which is enough to void the comparison
and is all that is claimed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bqGA6s9tTUFzYpbeW3tai
This commit is contained in:
parent
9332d5a616
commit
55053c601a
|
|
@ -279,7 +279,7 @@ from #171 and #215.
|
||||||
**`72da24a`**, worktree
|
**`72da24a`**, worktree
|
||||||
`/home/jeans/Repos/personal/pmacs-probe-sigint`. Recover with
|
`/home/jeans/Repos/personal/pmacs-probe-sigint`. Recover with
|
||||||
`git fetch githubsucks && git checkout gpu-probe-sigint-teardown`.
|
`git fetch githubsucks && git checkout gpu-probe-sigint-teardown`.
|
||||||
- **No PR. Framing revision 4 at `docs/gpu-probe-sigint-framing.md`;
|
- **No PR. Framing revision 5 at `docs/gpu-probe-sigint-framing.md`;
|
||||||
NO IMPLEMENTATION and no fix proposed** — the mechanism is not known
|
NO IMPLEMENTATION and no fix proposed** — the mechanism is not known
|
||||||
yet, and the framing says so rather than guessing. Revisions 1, 2 and
|
yet, and the framing says so rather than guessing. Revisions 1, 2 and
|
||||||
3 were each rejected on findings, all upheld; run provenance lives in
|
3 were each rejected on findings, all upheld; run provenance lives in
|
||||||
|
|
@ -296,17 +296,20 @@ from #171 and #215.
|
||||||
- **`panel-mapping-generation` (§5b) is HELD BEHIND THIS LANE** by
|
- **`panel-mapping-generation` (§5b) is HELD BEHIND THIS LANE** by
|
||||||
explicit instruction. That lane is code-complete at `5174f73` with
|
explicit instruction. That lane is code-complete at `5174f73` with
|
||||||
its own fifteen stages green; its sixteenth stage is this defect.
|
its own fifteen stages green; its sixteenth stage is this defect.
|
||||||
- **Reproduction is 5/5 in the full sweep; every reduction R1–R10 is
|
- **Reproduction is 7/7 across full sweeps (F1–F7); every reduction
|
||||||
green.** Each run is enumerated with exact command, worktree, HEAD,
|
R1–R10 is green.** Each run is enumerated with exact command, worktree, HEAD,
|
||||||
cleanliness and log digest in `docs/probe-sigint-evidence.md` — "0/N"
|
cleanliness and log digest in `docs/probe-sigint-evidence.md` — "0/N"
|
||||||
is not a record.
|
is not a record.
|
||||||
- **But R9 did NOT run the same binaries as the sweep.** It executed
|
- **But R9 did NOT run the same binaries as the sweep.** It executed
|
||||||
`…-91f51d0b…` / `…-6b4b8223…`; the sweeps executed `…-5d9105cb…` /
|
`…-91f51d0b…` / `…-6b4b8223…`; the sweeps executed `…-5d9105cb…` /
|
||||||
`…-d4dae4f0…`, and those artifacts are byte-different. Command shape
|
`…-d4dae4f0…`, and those artifacts are byte-different. Command shape
|
||||||
changes Cargo's fingerprint. R9 establishes **same target names and
|
changes Cargo's fingerprint. R9 establishes **same target names and
|
||||||
order**, not same binaries. What the evidence supports is an
|
order**, not same compilations — and "byte-different" is withdrawn,
|
||||||
**interaction**: prior targets alone (R9) green, workspace artifacts
|
since the bytes a historical run executed are unknowable now; only
|
||||||
alone (R10) green, both together (F1–F5) red. `--workspace` selection
|
the differing Cargo suffixes are. What the evidence is **consistent
|
||||||
|
with**, not what it isolates: prior targets alone (R9) green,
|
||||||
|
workspace selection alone (R10) green, both together (F1–F7) red.
|
||||||
|
That is an observation, not a finding. `--workspace` selection
|
||||||
is **not sufficient by itself and not ruled out** — later-selected
|
is **not sufficient by itself and not ruled out** — later-selected
|
||||||
packages can affect the build graph before their tests ever run, so
|
packages can affect the build graph before their tests ever run, so
|
||||||
"their targets execute after the failure" does not exonerate them.
|
"their targets execute after the failure" does not exonerate them.
|
||||||
|
|
@ -367,17 +370,26 @@ from #171 and #215.
|
||||||
`/home/jeans/build/pmacs-gate-targets/probe-sigint-evidence/`; `/tmp`
|
`/home/jeans/build/pmacs-gate-targets/probe-sigint-evidence/`; `/tmp`
|
||||||
is a tmpfs and they were nearly lost to a cleanup mid-lane.
|
is a tmpfs and they were nearly lost to a cleanup mid-lane.
|
||||||
- **THE ONSET IS DATABLE, and it reframes the lane.** `sweep-crdt`
|
- **THE ONSET IS DATABLE, and it reframes the lane.** `sweep-crdt`
|
||||||
appears **17 times** in this target dir's gate logs; `ctrl_c` fails
|
has **17** logs here. Counted per test copy: **13** with both copies
|
||||||
in exactly the **last three** and passed — both copies — before them.
|
`... ok`, **1** where neither executed (stage died compiling `pmacs`,
|
||||||
Last green `20260815T185708Z`, first red `20260816T063330Z`, no
|
`error[E0308]`, `…-708693`), **3** with both `FAILED`. Last observed
|
||||||
reboot between. The three earlier red sweeps failed on unrelated
|
green `20260815T185708Z`, first observed red `20260816T063330Z`; boot
|
||||||
rows. So "pre-existing on `main`" holds (F1 at `72da24a` reproduces
|
began 08-14 09:30, so no reboot between. "Pre-existing on `main`"
|
||||||
it) but **"always broken" is contradicted**.
|
holds (F1 at `72da24a`) but **"always broken" is contradicted**.
|
||||||
|
- **The onset is NOT a source boundary.** Reflog/commit times put HEAD
|
||||||
|
at `7599661` during the last green (`3c06176` landed 40s after it
|
||||||
|
finished) and `724b785` during the first red (`5174f73` landed
|
||||||
|
08:45:41, after that run ended 08:42:01). **Cleanliness captured for
|
||||||
|
neither.** And `72da24a` is an **ancestor** of `7599661` yet fails
|
||||||
|
today while `7599661` passed — no source-monotonic cause does that.
|
||||||
|
So D0a reproduces clean endpoints first; a Git bisect is justified
|
||||||
|
only if they differ.
|
||||||
- **Red full-sweep count is SEVEN, not five** (F1–F7 in the manifest),
|
- **Red full-sweep count is SEVEN, not five** (F1–F7 in the manifest),
|
||||||
each with its own log digest; revision 3 said 5/5 while the framing
|
each with its own log digest; revision 3 said 5/5 while the framing
|
||||||
separately cited a gate run the manifest never listed.
|
separately cited a gate run the manifest never listed.
|
||||||
- **D0 precedes every other diagnostic**, in two parts: **(a) bisect
|
- **D0 precedes every other diagnostic**, in two parts: **(a)
|
||||||
the onset window** — the sharpest lead the lane has; **(b)** re-run
|
reproduce the onset endpoints `7599661` and `724b785` clean, in
|
||||||
|
isolated target dirs** — not a bisect until they differ; **(b)** re-run
|
||||||
the matrix at `main` under a harness capturing provenance **and the
|
the matrix at `main` under a harness capturing provenance **and the
|
||||||
artifact hashes executed at run time**, since command shape silently
|
artifact hashes executed at run time**, since command shape silently
|
||||||
changed the binary once already and a hash computed later reflects
|
changed the binary once already and a hash computed later reflects
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# GPU launcher / probe SIGINT teardown — framing
|
# GPU launcher / probe SIGINT teardown — framing
|
||||||
|
|
||||||
Revision 4. Status: **awaiting approval. No implementation.**
|
Revision 5. Status: **awaiting approval. No implementation.**
|
||||||
|
|
||||||
Revisions 1 and 2 were each rejected on five findings. Every correction
|
Revisions 1 and 2 were each rejected on five findings. Every correction
|
||||||
is recorded in place rather than quietly rewritten, because three of
|
is recorded in place rather than quietly rewritten, because three of
|
||||||
|
|
@ -20,6 +20,10 @@ them were claims this document itself had advanced:
|
||||||
(manifest); ledgers still carried the falsified R9 conclusions (§11).
|
(manifest); ledgers still carried the falsified R9 conclusions (§11).
|
||||||
**And a finding that reframes the lane: the failure has a datable
|
**And a finding that reframes the lane: the failure has a datable
|
||||||
onset (§4a) and is not long-standing.**
|
onset (§4a) and is not long-standing.**
|
||||||
|
- r4 → r5: the section summaries still carried revision-3 counts and
|
||||||
|
groupings (§4); the onset count was 13/1/3, not 14 (§4a); "byte-
|
||||||
|
different" overstated what is knowable about historical artifacts
|
||||||
|
(§4, manifest); and **the onset is not a source boundary** (§4a).
|
||||||
|
|
||||||
## 1. The problem, stated as what is observed
|
## 1. The problem, stated as what is observed
|
||||||
|
|
||||||
|
|
@ -125,29 +129,29 @@ cleanliness and artifact family per run: `docs/probe-sigint-evidence.md`.
|
||||||
| R8 | `--test`×18 (targets 20–37) + the suite | 1 | green | `half2.log` |
|
| R8 | `--test`×18 (targets 20–37) + the suite | 1 | green | `half2.log` |
|
||||||
| R9 | `--lib --bins` + `--test`×32 (targets 6–37) + the suite | 1 | green (**reduction artifacts**) | `prefix.log` |
|
| R9 | `--lib --bins` + `--test`×32 (targets 6–37) + the suite | 1 | green (**reduction artifacts**) | `prefix.log` |
|
||||||
| R10 | `--workspace ... --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | 1 | green (**workspace artifacts**) | `wsonly.log` |
|
| R10 | `--workspace ... --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | 1 | green (**workspace artifacts**) | `wsonly.log` |
|
||||||
| F1–F5 | full `--workspace --no-fail-fast -- --skip basedpyright` | 5 | **red, 5/5** | `base-sweep.log` (at `72da24a`), `postclean.log`, `sweep-inst.log`, `sweep-diag.log`, gate `…-2144707` |
|
| F1–F7 | full `--workspace --no-fail-fast -- --skip basedpyright`, plus three gate `sweep-crdt` stages | **7** | **red, 7/7** | `base-sweep.log` (at `72da24a`), `postclean.log`, `sweep-inst.log`, `sweep-diag.log`, gates `…-1977433`, `…-2144707`, `…-2375685` |
|
||||||
|
|
||||||
**Correction to revision 2: R9 did not run the same binaries.** It
|
**Correction to revision 2: R9 did not run the same compilations.** It
|
||||||
executed `gpu_initial_target_acceptance-91f51d0b5303ff9f` and
|
executed `gpu_invocation_acceptance-6b4b8223dea45247`; the failing
|
||||||
`gpu_invocation_acceptance-6b4b8223dea45247`; the failing sweeps
|
sweeps executed `-d4dae4f01bcdef62`. **Differing Cargo suffixes mean
|
||||||
executed `-5d9105cb7047aab8` and `-d4dae4f01bcdef62`. Those artifacts
|
Cargo computed different metadata hashes — different compilations.**
|
||||||
are **byte-different** (sha256/16 `36912fa2…` vs `1b3cc86c…`, and
|
Revision 4 went further and called them "byte-different"; that is
|
||||||
`858d7148…` vs `ede0c07d…`; see `docs/probe-sigint-evidence.md`).
|
**withdrawn**, because the bytes a historical run executed are not
|
||||||
Cargo's target selection changes the fingerprint, so command shape
|
knowable now — target directories have been overwritten, and a hash
|
||||||
changes the executable. R9 therefore establishes **same target names
|
computed today is the hash of the current occupant. The weaker claim is
|
||||||
and order**, not same binaries.
|
sufficient: R9 establishes **same target names and order**, not same
|
||||||
|
binaries.
|
||||||
|
|
||||||
What the evidence is **consistent with** is an interaction. It does not
|
What the evidence is **consistent with** is an interaction. It does not
|
||||||
isolate one, because the three rows differ in more than the two columns
|
isolate one, because the rows differ in more than the two columns shown
|
||||||
shown — different source heads, different worktrees, unknown
|
— different source heads, different worktrees, unknown cleanliness, and
|
||||||
cleanliness, and, as above, different bytes behind identical Cargo
|
different Cargo compilations:
|
||||||
suffixes:
|
|
||||||
|
|
||||||
| prior targets execute | workspace artifact family | result |
|
| prior targets execute | compilation set | result |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| yes | no | R9 green |
|
| yes | `-6b4b8223` (subset selection) | R9 green |
|
||||||
| no | yes | R10 green |
|
| no | `-5d9105cb` + `-d4dae4f0` (workspace selection) | R10 green |
|
||||||
| yes | yes | **F1–F5 red** |
|
| yes | workspace selection | **F1–F7 red (7)** |
|
||||||
|
|
||||||
Neither factor alone reproduced it **in these runs**. That is the
|
Neither factor alone reproduced it **in these runs**. That is the
|
||||||
whole of the claim. `--workspace` artifact selection is **not
|
whole of the claim. `--workspace` artifact selection is **not
|
||||||
|
|
@ -171,16 +175,19 @@ per sweep, green runs already at 46–60); inotify (47 of 1024).
|
||||||
`ctrl_c` fails in **exactly the last three**, and passed — both copies,
|
`ctrl_c` fails in **exactly the last three**, and passed — both copies,
|
||||||
`... ok` — in the runs before them.
|
`... ok` — in the runs before them.
|
||||||
|
|
||||||
| window | runs | `ctrl_c` |
|
Counted **per test copy** across the 17 `sweep-crdt` logs:
|
||||||
|---|---|---|
|
|
||||||
| 08-14 → 08-15 19:57 | 14 (11 green; 3 red on *other* tests) | **passes** wherever the stage ran |
|
|
||||||
| 08-16 06:33 `…-1977433` | red, 2 bins | **fails, both copies** |
|
|
||||||
| 08-16 06:45 `…-2144707` | red, 2 bins | **fails, both copies** |
|
|
||||||
| 08-17 17:25 `…-2375685` | red, 3 bins | **fails, both copies** |
|
|
||||||
|
|
||||||
The three earlier red sweeps failed on unrelated rows — protocol and
|
| outcome | runs |
|
||||||
version tests, and `composition_overhead_under_ten_percent`. None
|
|---|---|
|
||||||
involved `ctrl_c`.
|
| both copies `... ok` | **13** |
|
||||||
|
| **neither copy executed** — stage died compiling `pmacs` (`error[E0308]`), `…-708693` | **1** |
|
||||||
|
| both copies `FAILED` | **3** (`…-1977433`, `…-2144707`, `…-2375685`) |
|
||||||
|
|
||||||
|
Revision 4 said "14 runs, 11 green, 3 red on other tests" and that the
|
||||||
|
earlier reds failed on unrelated tests. **Both wrong.** The count is
|
||||||
|
13 / 1 / 3, and one earlier non-passing run is a **compile failure that
|
||||||
|
never reached either copy**. The two genuinely red-on-other-tests
|
||||||
|
sweeps did execute `ctrl_c`, and it passed.
|
||||||
|
|
||||||
**So the failure is not long-standing.** "Pre-existing on `main`"
|
**So the failure is not long-standing.** "Pre-existing on `main`"
|
||||||
remains true — F1 at `72da24a` reproduces it — but "always broken" was
|
remains true — F1 at `72da24a` reproduces it — but "always broken" was
|
||||||
|
|
@ -188,10 +195,22 @@ never established and is now contradicted. Last green containing it:
|
||||||
`20260815T185708Z`. First red: `20260816T063330Z`. The machine was not
|
`20260815T185708Z`. First red: `20260816T063330Z`. The machine was not
|
||||||
rebooted across that boundary.
|
rebooted across that boundary.
|
||||||
|
|
||||||
**This supersedes the reduction matrix as the lane's first move.** A
|
**But the onset is NOT a source boundary, and a Git bisect is not yet
|
||||||
test that passed in this stage fourteen times and then failed three
|
justified.** Reflog and commit times put HEAD at `7599661` during the
|
||||||
times running has a change behind it, and identifying that change is
|
last green — `3c06176` was committed 40 s after that run finished — and
|
||||||
worth more than further reduction — which, per §4, has isolated nothing.
|
at `724b785` during the first red, since `5174f73` landed at 08:45:41,
|
||||||
|
after that run ended at 08:42:01. **Cleanliness was captured for
|
||||||
|
neither**, and the tree was under active edit throughout. So the window
|
||||||
|
dates a **machine/worktree-state transition**, not two clean revisions.
|
||||||
|
|
||||||
|
The evidence in fact argues *against* a source cause: `72da24a` is an
|
||||||
|
**ancestor** of `7599661` (verified by `git merge-base --is-ancestor`),
|
||||||
|
yet `72da24a` fails today while `7599661` passed on 08-15. No
|
||||||
|
source-monotonic cause produces that. Unless clean endpoints say
|
||||||
|
otherwise, whatever changed is environmental, cached, or uncommitted.
|
||||||
|
|
||||||
|
**This still supersedes the reduction matrix as the lane's first move**
|
||||||
|
— but as endpoint reproduction, not as a bisect.
|
||||||
|
|
||||||
## 5. Two retracted claims, both mine, kept as warnings
|
## 5. Two retracted claims, both mine, kept as warnings
|
||||||
|
|
||||||
|
|
@ -247,9 +266,13 @@ diagnostic only, and it must **discriminate** the three live candidates:
|
||||||
blocked delivery, inherited ignore, and an escaped or wrong process
|
blocked delivery, inherited ignore, and an escaped or wrong process
|
||||||
group.
|
group.
|
||||||
|
|
||||||
- **D0a — bisect the onset window** (§4a): `20260815T185708Z` green →
|
- **D0a — reproduce the onset endpoints CLEANLY** (§4a): `7599661`
|
||||||
`20260816T063330Z` red, no reboot between. This is the sharpest lead
|
(last observed green) and `724b785` (first observed red), each
|
||||||
the lane has and comes before any further reduction.
|
checked out clean, each in its own isolated target directory. **Only
|
||||||
|
if they differ is a Git bisect justified.** If they agree, the
|
||||||
|
changed state is environmental, cached or uncommitted — which the
|
||||||
|
ancestry argument says to expect — and bisecting source would burn
|
||||||
|
runs proving nothing.
|
||||||
- **D0b — re-run the §4 matrix with captured provenance**, at `main`,
|
- **D0b — re-run the §4 matrix with captured provenance**, at `main`,
|
||||||
recording the artifact hashes actually executed **at run time**.
|
recording the artifact hashes actually executed **at run time**.
|
||||||
Revision 2's strongest claim collapsed because command shape silently
|
Revision 2's strongest claim collapsed because command shape silently
|
||||||
|
|
|
||||||
|
|
@ -44,12 +44,25 @@ sweeps — yet the bytes at those paths differ by worktree:
|
||||||
| `pmacs-fdccc423` (main) | `e057803988c34cf7` | `00f06aeb089ce38d` |
|
| `pmacs-fdccc423` (main) | `e057803988c34cf7` | `00f06aeb089ce38d` |
|
||||||
| `pmacs-mapping-gen-…` (§5b) | `1b3cc86cbb8d6092` | `ede0c07dd9abb456` |
|
| `pmacs-mapping-gen-…` (§5b) | `1b3cc86cbb8d6092` | `ede0c07dd9abb456` |
|
||||||
|
|
||||||
Same suffix, different source head, different bytes. So **"workspace
|
Same suffix, different source head, different bytes **today**. So
|
||||||
artifact family" was not an identity class** and is withdrawn as a
|
**"workspace artifact family" was not an identity class** and is
|
||||||
grouping. Each run below records the suffix its log shows, and byte
|
withdrawn as a grouping.
|
||||||
identity as `UNKNOWN` unless contemporaneously captured — which, for
|
|
||||||
every pre-manifest run, it was not. R1 and R2 have no preserved log at
|
Three levels of knowledge, kept apart:
|
||||||
all and so cannot claim even a suffix.
|
|
||||||
|
1. **Suffix — known**, from each log. A differing suffix means Cargo
|
||||||
|
computed a different metadata hash, i.e. it treated the two as
|
||||||
|
distinct compilations.
|
||||||
|
2. **Today's bytes at a path — known**, and shown above.
|
||||||
|
3. **The bytes a historical run executed — UNKNOWN.** Target
|
||||||
|
directories have been overwritten repeatedly since; a hash computed
|
||||||
|
now is the hash of the current occupant.
|
||||||
|
|
||||||
|
So statements of the form "R9 and the sweeps ran byte-different
|
||||||
|
binaries" are **withdrawn everywhere**. What is established is that
|
||||||
|
they ran **different Cargo compilations** (different suffixes), which
|
||||||
|
is enough to void the comparison and is all that is claimed. R1 and R2
|
||||||
|
have no preserved log and cannot claim even a suffix.
|
||||||
|
|
||||||
## Runs
|
## Runs
|
||||||
|
|
||||||
|
|
@ -67,17 +80,17 @@ except `WT=main`, which uses `…/pmacs-fdccc423`.
|
||||||
| R4 | `test --features crdt --lib --test gpu_invocation_acceptance --no-fail-fast` | mg | ~`724b785`–`5174f73` | UNKNOWN | reduction | green, 2145 + 15 | `89050c702de22d57` 158812 |
|
| R4 | `test --features crdt --lib --test gpu_invocation_acceptance --no-fail-fast` | mg | ~`724b785`–`5174f73` | UNKNOWN | reduction | green, 2145 + 15 | `89050c702de22d57` 158812 |
|
||||||
| R5 | `test --features crdt --no-fail-fast --test gate_script_acceptance --test gpu_invocation_acceptance` | mg | ~`5174f73`–`b72843a` | UNKNOWN | reduction | green | `31b3e5249b475479` 3706 |
|
| R5 | `test --features crdt --no-fail-fast --test gate_script_acceptance --test gpu_invocation_acceptance` | mg | ~`5174f73`–`b72843a` | UNKNOWN | reduction | green | `31b3e5249b475479` 3706 |
|
||||||
| R6 | `test --features crdt --no-fail-fast --test gpu_font_acceptance --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | mg | ~`5174f73`–`b72843a` | UNKNOWN | reduction | green, 11+15+15 | `332693a39c73731a` 4569 |
|
| R6 | `test --features crdt --no-fail-fast --test gpu_font_acceptance --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | mg | ~`5174f73`–`b72843a` | UNKNOWN | reduction | green, 11+15+15 | `332693a39c73731a` 4569 |
|
||||||
| R7 | `test --features crdt --no-fail-fast --lib --bins --test acceptance --test ambient_isolation_acceptance --test auto_indent_acceptance --test auto_indent_crdt_acceptance --test auto_pair_acceptance --test auto_pair_crdt_acceptance --test autosave_acceptance --test bottom_panel_stage1_acceptance --test bottom_panel_stage2a_acceptance --test bottom_panel_stage2b_daemon_acceptance --test bottom_panel_stage2b_gpu_acceptance --test bottom_panel_stage2b_protocol_acceptance --test comment_toggle_acceptance --test compile_mode_acceptance --test gpu_invocation_acceptance` | mg | ~`b72843a` | UNKNOWN | `-91f51d0b` / `-6b4b8223`; bytes UNKNOWN | green | `9e1ebc59ed9f0dd4` 187531 |
|
| R7 | `test --features crdt --no-fail-fast --lib --bins --test acceptance --test ambient_isolation_acceptance --test auto_indent_acceptance --test auto_indent_crdt_acceptance --test auto_pair_acceptance --test auto_pair_crdt_acceptance --test autosave_acceptance --test bottom_panel_stage1_acceptance --test bottom_panel_stage2a_acceptance --test bottom_panel_stage2b_daemon_acceptance --test bottom_panel_stage2b_gpu_acceptance --test bottom_panel_stage2b_protocol_acceptance --test comment_toggle_acceptance --test compile_mode_acceptance --test gpu_invocation_acceptance` | mg | ~`b72843a` | UNKNOWN | `gpu_invocation…-6b4b8223` **only** — R7 does not select `gpu_initial_target` | green | `9e1ebc59ed9f0dd4` 187531 |
|
||||||
| R8 | `test --features crdt --no-fail-fast --test compile_mode_crdt_acceptance --test completion_popup_acceptance --test config_registry_acceptance --test cua_region_acceptance --test desktop_acceptance --test destination_capture_acceptance --test dired_acceptance --test discovery_acceptance --test discovery_stage2_acceptance --test editops_acceptance --test find_file_acceptance --test folding_acceptance --test folding_stage2_acceptance --test full_grid_resync_acceptance --test gate_script_acceptance --test git_status_stage1_acceptance --test gpu_font_acceptance --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | mg | ~`b72843a` | UNKNOWN | suffixes per log; bytes UNKNOWN | green | `8b26ebfcf5f871b4` 28677 |
|
| R8 | `test --features crdt --no-fail-fast --test compile_mode_crdt_acceptance --test completion_popup_acceptance --test config_registry_acceptance --test cua_region_acceptance --test desktop_acceptance --test destination_capture_acceptance --test dired_acceptance --test discovery_acceptance --test discovery_stage2_acceptance --test editops_acceptance --test find_file_acceptance --test folding_acceptance --test folding_stage2_acceptance --test full_grid_resync_acceptance --test gate_script_acceptance --test git_status_stage1_acceptance --test gpu_font_acceptance --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | mg | ~`b72843a` | UNKNOWN | `-91f51d0b` / `-6b4b8223` per log | green | `8b26ebfcf5f871b4` 28677 |
|
||||||
| R9 | R7's argv with R8's eighteen `--test` names spliced in before `--test gpu_invocation_acceptance` — i.e. `test --features crdt --no-fail-fast --lib --bins` then `--test` for each of targets 6–37 in sweep order, then `--test gpu_invocation_acceptance`. Full list = R7's ∪ R8's, deduplicated, order preserved. | mg | ~`b72843a` | UNKNOWN | **`-91f51d0b` / `-6b4b8223`** (log `:3066`); bytes UNKNOWN | green | `b31d98ee2f427eca` 214566 |
|
| R9 | `test --features crdt --no-fail-fast --lib --bins --test acceptance --test ambient_isolation_acceptance --test auto_indent_acceptance --test auto_indent_crdt_acceptance --test auto_pair_acceptance --test auto_pair_crdt_acceptance --test autosave_acceptance --test bottom_panel_stage1_acceptance --test bottom_panel_stage2a_acceptance --test bottom_panel_stage2b_daemon_acceptance --test bottom_panel_stage2b_gpu_acceptance --test bottom_panel_stage2b_protocol_acceptance --test comment_toggle_acceptance --test compile_mode_acceptance --test compile_mode_crdt_acceptance --test completion_popup_acceptance --test config_registry_acceptance --test cua_region_acceptance --test desktop_acceptance --test destination_capture_acceptance --test dired_acceptance --test discovery_acceptance --test discovery_stage2_acceptance --test editops_acceptance --test find_file_acceptance --test folding_acceptance --test folding_stage2_acceptance --test full_grid_resync_acceptance --test gate_script_acceptance --test git_status_stage1_acceptance --test gpu_font_acceptance --test gpu_initial_target_acceptance --test gpu_invocation_acceptance` | mg | ~`b72843a` | UNKNOWN | **`-91f51d0b` / `-6b4b8223`** (log `:3066`) | green | `b31d98ee2f427eca` 214566 |
|
||||||
| R10 | `test --workspace --features crdt --no-fail-fast --test gpu_initial_target_acceptance --test gpu_invocation_acceptance -- --skip basedpyright` | mg | ~`b72843a` | UNKNOWN | **`-5d9105cb`** (log `:3`); bytes UNKNOWN | green | `81b48fd7a0e261dc` 3553 |
|
| R10 | `test --workspace --features crdt --no-fail-fast --test gpu_initial_target_acceptance --test gpu_invocation_acceptance -- --skip basedpyright` | mg | ~`b72843a` | UNKNOWN | **`-5d9105cb` AND `-d4dae4f0`** (log `:3`, `:4`) | green | `81b48fd7a0e261dc` 3553 |
|
||||||
| F1 | `build --workspace --no-default-features --features luajit,crdt && test --workspace --features crdt --no-fail-fast -- --skip basedpyright` | **main** | `72da24a` | clean (verified `git status --porcelain` empty) | `-5d9105cb` / `-d4dae4f0`; bytes at those paths **today** `e0578039…` / `00f06aeb…`, i.e. NOT the panel worktree's | **red** | `10b55b8ba8741125` 334446 |
|
| F1 | `build --workspace --no-default-features --features luajit,crdt && test --workspace --features crdt --no-fail-fast -- --skip basedpyright` | **main** | `72da24a` | clean (verified `git status --porcelain` empty) | `-5d9105cb` / `-d4dae4f0`; today's occupants `e0578039…` / `00f06aeb…` | **red** | `10b55b8ba8741125` 334446 |
|
||||||
| F2 | `test --workspace --features crdt --no-fail-fast -- --skip basedpyright` | mg | ~`b72843a` | UNKNOWN | `-5d9105cb` / `-d4dae4f0`; bytes UNKNOWN | **red** | `474f88f0dad581fe` 338555 |
|
| F2 | `test --workspace --features crdt --no-fail-fast -- --skip basedpyright` | mg | ~`b72843a` | UNKNOWN | `-5d9105cb` / `-d4dae4f0`; bytes UNKNOWN | **red** | `474f88f0dad581fe` 338555 |
|
||||||
| F3 | same argv as F2, with a resource sampler running | mg | ~`b72843a` | UNKNOWN | as F2; bytes UNKNOWN | **red** | `7b8519e7300e8bb3` 338555 |
|
| F3 | same argv as F2, with a resource sampler running | mg | ~`b72843a` | UNKNOWN | as F2; bytes UNKNOWN | **red** | `7b8519e7300e8bb3` 338555 |
|
||||||
| F4 | same argv as F2, with a process-table sampler running | mg | ~`b72843a` | UNKNOWN | as F2; bytes UNKNOWN | **red** | `5ccdefc5d89eece3` 338555 |
|
| F4 | same argv as F2, with a process-table sampler running | mg | ~`b72843a` | UNKNOWN | as F2; bytes UNKNOWN | **red** | `5ccdefc5d89eece3` 338555 |
|
||||||
| F5 | stage 15 of `./scripts/gate --protocol --acceptance bottom_panel_stage1_acceptance --acceptance bottom_panel_stage2a_acceptance --acceptance bottom_panel_stage2b_daemon_acceptance --acceptance bottom_panel_stage2b_gpu_acceptance --acceptance bottom_panel_stage2b_protocol_acceptance --acceptance gui_stage1a_wire_acceptance` | mg | `5174f73` + uncommitted docs | UNKNOWN | suffixes per log; bytes UNKNOWN | **red** (3 bins: both ctrl_c copies + `m6_1_pty_mode_lifecycle`) | `20260817T172537Z-2375685/15-sweep-crdt.log`, sha `e5bdc911e366` |
|
| F5 | stage 15 of `./scripts/gate --protocol --acceptance bottom_panel_stage1_acceptance --acceptance bottom_panel_stage2a_acceptance --acceptance bottom_panel_stage2b_daemon_acceptance --acceptance bottom_panel_stage2b_gpu_acceptance --acceptance bottom_panel_stage2b_protocol_acceptance --acceptance gui_stage1a_wire_acceptance` | mg | `5174f73` + uncommitted docs | UNKNOWN | suffixes per log; bytes UNKNOWN | **red** (3 bins: both ctrl_c copies + `m6_1_pty_mode_lifecycle`) | `20260817T172537Z-2375685/15-sweep-crdt.log`, sha `e5bdc911e366` |
|
||||||
| F6 | stage 9 of `./scripts/gate --protocol` | mg | `5174f73` | UNKNOWN | suffixes per log; bytes UNKNOWN | **red** (2 bins, both ctrl_c copies) | `20260816T063330Z-1977433/09-sweep-crdt.log`, sha `7a75d999ac4f` |
|
| F6 | stage 9 of `./scripts/gate --protocol` | mg | **`724b785`** (see below) | UNKNOWN | suffixes per log | **red** (2 bins, both ctrl_c copies) | `20260816T063330Z-1977433/09-sweep-crdt.log`, sha `7a75d999ac4f` |
|
||||||
| F7 | stage 9 of `./scripts/gate --protocol` | mg | `5174f73` | UNKNOWN | suffixes per log; bytes UNKNOWN | **red** (2 bins, both ctrl_c copies) | `20260816T064549Z-2144707/09-sweep-crdt.log`, sha `9d3c6ad1bfc9` |
|
| F7 | stage 9 of `./scripts/gate --protocol` | mg | `5174f73` (committed 08:45:41, run began 08:45:49) | UNKNOWN | suffixes per log | **red** (2 bins, both ctrl_c copies) | `20260816T064549Z-2144707/09-sweep-crdt.log`, sha `9d3c6ad1bfc9` |
|
||||||
|
|
||||||
Supporting, not a reduction: `9b8a01076b44bb7c` 98838
|
Supporting, not a reduction: `9b8a01076b44bb7c` 98838
|
||||||
(`proc-sample.log`) is the process-table sampler output behind the
|
(`proc-sample.log`) is the process-table sampler output behind the
|
||||||
|
|
@ -97,27 +110,43 @@ than backfilled.
|
||||||
|
|
||||||
## The onset is datable — and this supersedes the reduction matrix
|
## The onset is datable — and this supersedes the reduction matrix
|
||||||
|
|
||||||
`sweep-crdt` has run 17 times in this target directory's gate logs. The
|
`sweep-crdt` has 17 log files in this target directory. Counted **per
|
||||||
`ctrl_c` failure appears in **exactly the last three**, and the test
|
test copy**, not per stage:
|
||||||
**passed inside `sweep-crdt`** — both copies, `... ok` — in the runs
|
|
||||||
before them.
|
|
||||||
|
|
||||||
| date | gate run | sweep-crdt | ctrl_c |
|
| outcome | runs |
|
||||||
|---|---|---|---|
|
|---|---|
|
||||||
| 08-14 → 08-15 19:57 | 14 runs | 11 green; 3 red on *other* tests | **passes** where the stage ran it |
|
| both copies `... ok` | **13** |
|
||||||
| 08-16 06:33 | `…-1977433` | red, 2 bins | **fails, both copies** |
|
| **neither copy executed** — the stage died compiling `pmacs` (`error[E0308]: mismatched types`), log `20260815T182846Z-708693` | **1** |
|
||||||
| 08-16 06:45 | `…-2144707` | red, 2 bins | **fails, both copies** |
|
| both copies `FAILED` | **3** (`…-1977433`, `…-2144707`, `…-2375685`) |
|
||||||
| 08-17 17:25 | `…-2375685` | red, 3 bins | **fails, both copies** |
|
|
||||||
|
|
||||||
The three earlier red sweeps failed on unrelated tests — protocol and
|
Revision 4 said "14 runs, 11 green, 3 red on other tests" and that the
|
||||||
version rows on 08-15 09:55, and `composition_overhead_under_ten_percent`
|
earlier reds "failed on unrelated tests". **Both were wrong**: the
|
||||||
plus a v21/v20 row on 08-15 18:37. **None involved `ctrl_c`.**
|
count is 13 / 1 / 3, and one of the earlier non-passing runs is a
|
||||||
|
**compile failure that never reached either copy**, not a red on
|
||||||
|
another test. Of the genuinely red-on-other-tests sweeps, `…-2839374`
|
||||||
|
(08-15 09:55) failed protocol and version rows and `…-830195`
|
||||||
|
(08-15 18:37) failed `composition_overhead_under_ten_percent` and a
|
||||||
|
v21/v20 row — those two did execute `ctrl_c`, and it passed.
|
||||||
|
|
||||||
So the failure is **not long-standing**. Last green containing it:
|
So the failure is **not long-standing**. Last observed green:
|
||||||
`20260815T185708Z`. First red: `20260816T063330Z`. Something changed in
|
`20260815T185708Z`. First observed red: `20260816T063330Z`. The machine
|
||||||
that window, on a machine that was not rebooted (uptime spans it).
|
was not rebooted across it — the current boot began 08-14 09:30.
|
||||||
**Bisecting that boundary is a sharper lead than any reduction**, and
|
|
||||||
D0 is amended to do it first.
|
**But this is not yet a source boundary.** Reflog and commit times put
|
||||||
|
HEAD at `7599661` during the last green (`3c06176` was committed 40 s
|
||||||
|
*after* that run finished) and at `724b785` during the first red
|
||||||
|
(`5174f73` was committed 08:45:41, after that run ended at 08:42:01 —
|
||||||
|
revision 4's manifest wrongly recorded F6 at `5174f73`). Cleanliness
|
||||||
|
was captured for **neither**, and the tree was being edited throughout.
|
||||||
|
So the window dates a **machine/worktree-state transition**, not two
|
||||||
|
clean source revisions.
|
||||||
|
|
||||||
|
**A source bisect is in fact positively discouraged by the evidence.**
|
||||||
|
`72da24a` is an **ancestor** of `7599661` — verified with
|
||||||
|
`git merge-base --is-ancestor` — yet `72da24a` fails today (F1) while
|
||||||
|
`7599661` passed on 08-15. A source-monotonic cause cannot produce
|
||||||
|
that. Whatever changed is environmental, cached, or uncommitted unless
|
||||||
|
proven otherwise.
|
||||||
|
|
||||||
## D0 — re-run the matrix with captured provenance
|
## D0 — re-run the matrix with captured provenance
|
||||||
|
|
||||||
|
|
@ -133,7 +162,10 @@ log digest. Two constraints learned the hard way:
|
||||||
changes it — the reason R9's result did not mean what it appeared to
|
changes it — the reason R9's result did not mean what it appeared to
|
||||||
mean — and since a hash computed later reflects only what occupies
|
mean — and since a hash computed later reflects only what occupies
|
||||||
that path now;
|
that path now;
|
||||||
- **first, bisect the 08-15 19:57 → 08-16 06:33 onset window.** A test
|
- **first, reproduce the two candidate endpoints CLEANLY** —
|
||||||
that passed in this stage fourteen times and then failed three times
|
`7599661` (last observed green) and `724b785` (first observed red) —
|
||||||
in a row has a change behind it, and finding that change is worth
|
each checked out clean, each in its **own isolated target
|
||||||
more than any further reduction.
|
directory**. Only if those endpoints differ is a Git bisect
|
||||||
|
justified. If they do not differ, the changed state is environmental,
|
||||||
|
cached or uncommitted, and bisecting source would burn runs proving
|
||||||
|
nothing. The ancestry argument above says to expect the latter.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue