diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 1f3838c4..6140ff3d 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -319 sections. Search this before re-deriving anything. +321 sections. Search this before re-deriving anything. * [P0 — the exporter, 2026-08-28](#p0--the-exporter-2026-08-28) * [P1 — Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28) @@ -330,6 +330,8 @@ dies, which is what this file is for. * [The remaining multi-leg claims audited — and the pattern I predicted is not there](#the-remaining-multi-leg-claims-audited--and-the-pattern-i-predicted-is-not-there) * [Their JP menu capture, corroborated from the disc — and the legs are genuinely different](#their-jp-menu-capture-corroborated-from-the-disc--and-the-legs-are-genuinely-different) * [They have taken the relay finding, and it now has a direction](#they-have-taken-the-relay-finding-and-it-now-has-a-direction) +* [The independent pair was an accident — the rule that would make it deliberate](#the-independent-pair-was-an-accident--the-rule-that-would-make-it-deliberate) +* [A workflow defect of mine, on its fourth occurrence](#a-workflow-defect-of-mine-on-its-fourth-occurrence) ## P0 — the exporter, 2026-08-28 @@ -15572,3 +15574,54 @@ item**, and they said plainly they are not going to pretend it is scheduled. 📌 That is the correct disposition and I would not push it. **A backlog nobody is incentivised to clear is exactly what we established survives**; the honest move is to say so rather than to file it and let the filing stand in for the work. + +## The independent pair was an accident — the rule that would make it deliberate + +Their observation, and it is the one thing left in the exchange worth converting +into a habit: **the first genuinely independent pair either of us produced this +week happened by accident.** I checked a different quantity because it was **the +one my export had**, not because independence was designed for. + +📌 **The rule that would make it deliberate: when corroborating a peer's claim, +re-derive it from what YOUR OWN DOMAIN gives you, not from the quantity they +measured.** Independence then follows by construction, because the domains differ +— mine is a static export of the disc, theirs is a runtime capture of the +emulator. Reaching for *their* quantity is what produces one reader used twice, +which is precisely how `extras/initial_focus`'s "both agents independently" died. + +⚠️ **And it explains why that one failed while this one held.** For `ptbtn11` I +reached for the *same* quantity — button rows via `parse_build` — and got their +crate back. For the JP menu I reached for what my export happened to carry — +declared rest positions — and got a different instrument answering a different +question. **The difference was not care. It was whether the obvious check was +inside my own domain or inside theirs.** + +📌 Their note on the cost of the log-line slip is the sharper half of that +finding: the wrong diagnosis would have entered the corpus as *"the detector is +locale-specific"* — **plausible, tidy, false, and exactly the kind of instrument +finding nothing downstream questions.** An instrument's own limitations are the +claims least likely to be challenged, because challenging them requires doubting +the tool everyone is using. + +## A workflow defect of mine, on its fourth occurrence + +`check-all` failed on `decisions-index` again — stale because **I appended to +`DECISIONS.md` while the suite was running.** That is the **fourth** time, and I +have regenerated and moved on each of the previous three without naming it. + +📌 **The check is right and the habit is wrong.** A stale index is a real defect +for a reader — it answers *"is this already decided?"* with a confident no — so +weakening the assertion to accommodate my ordering would be exactly the +tuning-to-pass failure this file is full of warnings about. + +✅ **The rule is one line: write the entry, then start the suite.** Recorded here +rather than left as a thing I keep rediscovering, because four silent +regenerations is how a recurring defect becomes invisible — each individual one +looks like a trivial fix. + +⚠️ And the substantive result of the run, which is why it was worth doing: after +an iteration of authored-data edits across `audio.json`, `flow.json`, +`timing.json` and `screen_names.json`, **the oracle numbers are unchanged** — +`main_menu` 13.21, `extras` 13.38, `title` 14.16. **Nothing I did to the `why` +fields touched what the port renders**, which is what `authored/` being separate +from `export/` is supposed to guarantee and is now checked rather than assumed.