diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 16fd3a0d..5b940e6f 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -141 sections. Search this before re-deriving anything. +142 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) @@ -152,6 +152,7 @@ dies, which is what this file is for. * [The loop window is measured — `-ss 9.44 -t 61.87` — and the near-silence count tracked the error](#the-loop-window-is-measured---ss-944--t-6187--and-the-near-silence-count-tracked-the-error) * [Applying "grep the corpus for the claim" to my own corpus](#applying-grep-the-corpus-for-the-claim-to-my-own-corpus) * [A refuted-claim register, because the audit found what the audit found](#a-refuted-claim-register-because-the-audit-found-what-the-audit-found) +* [State of the port, and a claim I built on for a week without checking](#state-of-the-port-and-a-claim-i-built-on-for-a-week-without-checking) ## P0 — the exporter, 2026-08-28 @@ -8149,3 +8150,57 @@ stays, that stream 1 is *"consistent with being stream 2's tail"*, that streams and 3 are indistinguishable. All three resolved days earlier. Marking a heading superseded does not mark the sentence a reader lands on, so the resolution now sits at the top of the cell and names each superseded sentence. + +## State of the port, and a claim I built on for a week without checking + +Every asserting check passes: the format validator (16 screens against +`sylpheed.screen/3`), all five MODDING rules, the capture-control sweep, the +refuted-claim register, the decisions index. The oracle rows sit at the tone +floor — `title_plate` **0.00 %**, both splashes **0.01 %**, `main_menu` 0.06 %, +`main_menu_options` 0.15 %, `extras` 0.19 %, `title` 0.21 %, `title_band` 0.35 % +against its own oracle-to-oracle gap. The P5 walk runs and ends on the title. + +### 🔴 The refutation attempt this iteration was of something I had already used + +The claim that reframed the entire voice question — *`ADV.wmv` carries **one** +audio stream and it is **WMA Pro 5.1**, not XMA, so the movie's own track is the +bed and the three streams are additional* — is checkable in one command against +the disc: + +``` +index=0 codec_name=wmapro channels=6 channel_layout=5.1 sample_rate=48000 +1 audio stream +``` + +✅ Exactly confirmed. + +⚠️ **And I had built on it for a week without running it.** The positional +weights, the `presentation: "all"` change, the refusal to apply the assignment +when the byte sizes did not fit — all of it rests on that reframing, and the +verification cost one `ffprobe` against a file I have had all along. I checked the +*byte sizes* scrupulously because they were the identifier I could test, and never +checked the sentence the identifier was serving. + +📌 That is a different failure from the ones this file catalogues. Not an +unexercised rule, not a correction that never landed, not a control easier than +the measurement: **a premise so foundational that everything downstream got +audited and the premise itself did not.** The scrutiny went to the parts that +moved. + +### What is still authored rather than measured + +Four values, and the file says so at each: + +| value | state | +|---|---| +| `flow.screens.main_menu.on_cancel` | **authored — likely but UNPROVEN**; Ⓑ returning to the title is stated in HANDOFF with no capture behind it | +| `ptbtn01.after_video` | **authored**; the game goes into Mission 1, which MISSION §7 scopes out, so "return to the title" is a chosen end state | +| `flow.navigation.input_during_transition` | **authored, not measured** — nobody has watched a press mid-fade; ignoring invents least | +| `authored/rendering.json`'s withheld leaves | two leaf records deliberately not drawn, each with its reason | + +Everything else in `authored/` now carries `kind: measured` — the BGM bank and its +loop window, the plate's pulse period, the keyframe unit, the black hold, the +navigation wrap, the cue bindings, the voice streams and their positional weights. + +⚠️ The black hold is measured but sits at **the top of its range** (~6.5–9.2 units, +authored 9), and that is recorded at the value rather than in a footnote.