Conversation
The remaining two instances of #3355's class, both repaired in the shape #3356 introduced: the refusal goes into the file the tool already reads. `tri fpga program-flash` advertised `--enable-quad` as "needed for some boards/flash", with `--part` defaulting to `xc7a200tfgg676` -- the exact board `fpga/HARDWARE_SSOT.md:323` refuses both quad flags for, as a MEASURED result (W396, experiment E4): the Micron N25Q128_3V has no separate QE bit, so openFPGALoader aborts. Measured: zero guards, warnings or mentions of the part anywhere near the flag; the pass-through was bare. The runtime line was worse than the flag. All three internal callers hardcode `--spi-buswidth 1`, the SSOT-canonical no-quad path, and on it the command printed "ensure the flash QE bit and board straps match" -- sending a reader to align a bit the SSOT records as not existing on this part, in the middle of the experiment the SSOT itself prescribes. Silent on x1 now. `quad_refused()` is a predicate rather than an inline condition SO THAT it can be tested without reaching the code that spawns `openFPGALoader`: a test that could spawn the programmer is a test that writes to a board when it regresses. `tri gates dead` printed, for every suppressed row, that "a workflow whose last step is forbidden by this repository's own ruleset fails every time it runs". On master `brain-seal-refresh.yml`'s last step is `Upload brain seals` and the only `git push` left in the file is inside the comment explaining its removal by #3324. The footnote had no surviving referent, and three further assertions in `gates.rs` still stated the old cause; all four corrected. `# tri:cause-removed <reason>` gives the classifier the fourth state the domain has -- never green, cause diagnosed and removed, no run since. The row is listed with its reason, and the blanket footnote is scoped to the rows that explain nothing: 3 of 4 today. A bare marker with no reason is not a reason. Two of my own traps on the way, both already in my notes and hit again: an insertion anchored on `pub enum Bucket` landed between the enum and its `#[derive]`, and two edits keyed on the wrong indentation reported success while writing nothing. 814 crate tests pass; 0 fmt diffs in the two files touched, and `cargo fmt` was NOT run, because it reformats 67 pre-existing sites elsewhere. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
PR DashboardGenerated at: 2026-09-06 07:16:54 UTC
Summary
Seal Status
|
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
PR DashboardGenerated at: 2026-09-06 07:39:13 UTC
Summary
Seal Status
|
PR DashboardGenerated at: 2026-09-06 08:03:44 UTC
Summary
Seal Status
|
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Refs #3371
The remaining two instances of #3355's class, both repaired in the shape #3356 introduced: the refusal goes into the file the tool already reads.
1.
tri fpga program-flashadvertised a flag its own bench refuses--enable-quadsaid "Needed for some boards/flash to boot from x4 SPI", with--partdefaulting toxc7a200tfgg676— the exact boardfpga/HARDWARE_SSOT.md:323refuses both quad flags for, as a measured result (W396, experiment E4): the Micron N25Q128_3V has no separate QE bit, so openFPGALoader aborts. Measured: zero guards, warnings or mentions of the part anywhere near the flag.The runtime line was worse than the flag. All three internal callers hardcode
--spi-buswidth 1, the SSOT-canonical no-quad path, and on it the command printed "ensure the flash QE bit and board straps match" — sending a reader to align a bit the SSOT records as not existing on this part, in the middle of the experiment the SSOT itself prescribes.quad_refused()is a predicate rather than an inline condition, so it can be tested without reaching the code that spawnsopenFPGALoader. A test that could spawn the programmer is a test that writes to a board when it regresses.2.
tri gates deaddiagnosed a cause a merged PR removedIt printed, for every suppressed row, that "a workflow whose last step is forbidden by this repository's own ruleset fails every time it runs". On master
brain-seal-refresh.yml's last step isUpload brain seals, and the onlygit pushleft in the file is inside the comment explaining its removal by #3324. The footnote had no surviving referent; three further assertions ingates.rsstill stated the old cause. All four corrected.# tri:cause-removed <reason>gives the classifier the fourth state the domain has. Live now:A bare marker with no reason is not a reason — asserted, because it would print "cause removed:" and explain nothing.
Mine, on the way
Two traps already in my notes and hit again: an insertion anchored on
pub enum Bucketlanded between the enum and its#[derive], and two edits keyed on the wrong indentation reported success while writing nothing.814 crate tests pass. 0 fmt diffs in the two files touched — and
cargo fmtwas deliberately not run, because it reformats 67 pre-existing sites elsewhere.