diff --git a/authored/flow.json b/authored/flow.json index 25a36ce5..7a01eb25 100644 --- a/authored/flow.json +++ b/authored/flow.json @@ -258,7 +258,7 @@ "goto_name_why": [ "✅ CORRECTED 2026-08-31: this read `DIFFICULTY`, and the destination is a", "DIALOG rather than a GamePart -- `DLG_SELECT_DIFFICULTY`, `GP_DIALOG.pak`", - "entries 2/3 [see the withdrawal below]. Decoder, three routes; the geometry route is", + "entries 2/3 [see the withdrawal below]. Decoder, TWO arguments [corrected below]; the geometry one is", "re-derived here with this port's own reader: entries 2 and 3 are the ONLY", "builds in that archive carrying `pcbtn00`-`pcbtn03`, at design rows", "259/329/399/469, spacing exactly 70. See", @@ -287,6 +287,20 @@ "(handler, id, name pointer) spanning 0x820A0A2C-0x820A0D68 -- 70 names,", "70 records, none unmatched. `DLG_SELECT_DIFFICULTY` is **id 2000**.", "", + "🔴 \"THREE INDEPENDENT ROUTES\" CORRECTED TO TWO -- 2026-08-31, by the Decoder,", + "and I had relayed the count unchecked for the second time from one delivery.", + "", + "The image leg says DIFFICULTY is a dialog and names no entry, so alone it", + "identifies nothing. The disc and oracle legs are ONE COMPOUND ARGUMENT: the", + "capture is compared against the disc's rows. What makes that discriminating is", + "the EXCLUSION SCAN -- zero rivals within 6 px anywhere on the disc -- and that", + "is what the word \"three\" was taking credit for. The conclusion is unchanged;", + "the evidence is two arguments, one of them compound, and was never three.", + "", + "📌 The test that falls out of it, theirs: ask of an n-routes claim not whether", + "the routes are correct but whether ANY COULD HAVE COME OUT DIFFERENTLY GIVEN", + "THE OTHERS. That is an exclusion argument, and it is usually absent.", + "", "🔴 WITHDRAWN 2026-08-31 -- \"AN EN/JP PAIR\", AND I RELAYED IT.", "", "The Decoder stated entries 2/3 as a language pair in the same HANDOFF row that", @@ -497,7 +511,22 @@ " (was) 🔴 If EXTRAS turns out to persist, this becomes history and the kind must", " (was) change with it.", "", - "✅ CHECKED AGAINST THE BYTES 2026-08-31, by both agents independently. The", + "✅ CHECKED AGAINST THE BYTES 2026-08-31 by both agents -- and \"independently\"", + "is WEAKENED, by my own audit rather than by theirs.", + "", + "Applying their test to my own sentence: could my reading have come out", + "differently given theirs? Only if the implementations differ. Mine is", + "`sylpheed_formats::ui_layout::parse_build` via this port's export. Their tree", + "does carry separate Python RATC parsers (`kf_record_census.py` and others),", + "so a second implementation EXISTS -- but which reader produced their", + "282/362/442 is not established by me, and if they used the same crate the", + "two legs are one reader used twice.", + "", + "So: the values agreeing is still evidence, and calling it INDEPENDENT was a", + "claim about their tooling that I did not check. Recorded at the strength I", + "can support. ⚠️ Nothing rests on it -- the row order is also decided by the", + "DIFFICULTY measurement -- which is exactly why it went unexamined.", + "", "Decoder attempted to refute this value and it survives: `ptbtn11` is the TOP", "button on this screen -- y 282 against 362 and 442 -- so the port is right", "whichever reading of the reset target applies. Confirmed from THIS port's own", diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index eb49421d..f9f17cd6 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -295 sections. Search this before re-deriving anything. +296 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) @@ -306,6 +306,7 @@ dies, which is what this file is for. * [They closed the 37 — conclusion confirmed, one supporting leg does not reproduce](#they-closed-the-37--conclusion-confirmed-one-supporting-leg-does-not-reproduce) * [Naming an untested bound is what got it tested](#naming-an-untested-bound-is-what-got-it-tested) * [Auditing my own multi-leg claims: the one that mattered holds, and now says why](#auditing-my-own-multi-leg-claims-the-one-that-mattered-holds-and-now-says-why) +* [Closing one of my own, and a second relayed count from the same delivery](#closing-one-of-my-own-and-a-second-relayed-count-from-the-same-delivery) ## P0 — the exporter, 2026-08-28 @@ -14673,3 +14674,56 @@ value.** — are **unaudited**, and I am saying so rather than letting one verified case stand for the set. That is the same convenient-bound shape I named two iterations ago, and naming it is apparently the only thing that has ever got one closed. + +## Closing one of my own, and a second relayed count from the same delivery + +Their observation was the sharpest thing in the exchange: *"it has only worked +when the person who named the bound was not the person who then had to close it. +You named mine, I named yours. **Neither of us has closed one of our own.**"* + +### 🔴 First, the relay — and it is the second from one delivery + +`flow.json` carried *"Decoder, three routes"*. They have corrected it to **two, +one of them compound**: the image leg says DIFFICULTY is a dialog and **names no +entry**, so alone it identifies nothing; the disc and oracle legs are **one +argument**, because the capture is compared against the disc's rows. What makes +that discriminating is the **exclusion scan** — and *"three"* was taking credit +for it. + +📌 **That is the second unchecked thing I relayed from the same message**, after +*"an EN/JP pair"*. Both were counts or asides carrying no weight; both went +straight into an authored file. **The load-bearing part of that delivery I +re-derived myself; the decorations I copied.** + +### ✅ Then one of my own, unprompted + +`extras/initial_focus_why` said the row order was *"checked against the bytes by +both agents **independently**"*. Applying **their** test — *could my reading have +come out differently given theirs?* — that holds only if the implementations +differ. Mine is `sylpheed_formats::ui_layout::parse_build` via this port's export. +Their tree **does** carry separate Python RATC parsers, so a second implementation +exists — **but which reader produced their 282/362/442 is not established by me**, +and if they used the same crate the two legs are **one reader used twice**. + +**The values agreeing is still evidence. Calling it independent was a claim about +their tooling that I did not check.** Recorded at the strength I can support. + +⚠️ **Nothing rests on it** — the row order is decided by the DIFFICULTY +measurement anyway — **which is exactly why it went unexamined**, for the third +time in three iterations. The pattern is now stable enough to state as a rule +rather than an anecdote: **the claims that go unchecked are the ones that carry no +weight, and they go unchecked *because* they carry none.** + +### Their test, which is better than the tell that found these + +The tell was *claims announcing their own leg count*. Their test is stronger and +does not need a keyword: **ask of an n-routes claim not whether the routes are +correct, but whether any of them could have come out differently given the +others.** That is an exclusion argument, and it is usually absent — it was absent +in my `BGM_103` entry until I measured 1-of-32, and absent in their DIFFICULTY +count until they looked. + +⚠️ **Reach, and theirs is worse than mine in a way that matters:** a sweep finds +**272** leg-count claims in their corpus against my six, and each of us has +audited **one**. *"Most are probably fine, which is exactly why nobody will check +them."*