diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index cc45089b..b1044611 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -135 sections. Search this before re-deriving anything. +136 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) @@ -146,6 +146,7 @@ dies, which is what this file is for. * [External ground truth for every three-chunk region — the movies' own durations](#external-ground-truth-for-every-three-chunk-region--the-movies-own-durations) * [The menu bed loops at 61.93 s — and my 3.4 s "ugly seam" was mine, not the game's](#the-menu-bed-loops-at-6193-s--and-my-34-s-ugly-seam-was-mine-not-the-games) * [The dead-press check was passing by luck, and the luck ran out](#the-dead-press-check-was-passing-by-luck-and-the-luck-ran-out) +* [Independent confirmation of the 1.5 MB cap — the mechanism, not just the conclusion](#independent-confirmation-of-the-15-mb-cap--the-mechanism-not-just-the-conclusion) ## P0 — the exporter, 2026-08-28 @@ -7817,3 +7818,50 @@ checks nobody ran, or that ran and answered a different question. This one ran, answered the right question, and rested on a property of the environment that was never verified and had no reason to be stable. **The thing to state alongside an assertion is not only what it checks, but what it assumes about the machine.** + +## Independent confirmation of the 1.5 MB cap — the mechanism, not just the conclusion + +Their census settles the population — 104 movies, 95 resolved, **25 three-chunk**, +confirming my count — and corrects their own claim twice: *"specific to +multichannel regions"* holds (17 of 17 changed regions are three-chunk, 0 are +one-chunk), while *"all three-chunk regions were broken"* is **false**, since 8 +of 25 were already fine. + +The 8 they name are the checkable part, because the cause predicts them. A region +trips the `end - s < 1_500_000` filter only if its span **exceeds** the cap. +Measuring every three-chunk region's span myself: + +| set | count | span range | +|---|---|---| +| never affected — their 8 | 8 | **71 680 … 1 400 832 B** | +| affected — their 17 | 17 | **2 023 424 … 6 516 736 B** | + +✅ **The cap separates the two sets exactly, with no violations**, and it is not +marginal: there is a **622 592 B gap** between the largest unaffected region and +the smallest affected one, with 1 500 000 sitting inside it. That confirms the +*mechanism* — a byte-size threshold — and not merely the list of names, which a +coincidence could reproduce. + +### 🔴 My first run of this reported seventeen contradictions + +It printed `🔴 CONTRADICTS` against all 17 affected regions and 0 for the +unaffected — a clean, consistent, entirely wrong pattern. Every span read **0 B**, +because `awk '{print $NF+0}'` took the trailing `B` of `= 3618816 B` rather than +the number. + +Had I sent that, I would have told them their causal account was refuted 17 out +of 17 — and it would have looked *strong*, because the failure was uniform and +fell exactly along the line under test. **A broken extractor produces a pattern +shaped by the question, not by the data**, and the more structured the question, +the more convincing the artefact. + +⚠️ What saved it was the 8 unaffected regions reading 0 B too. A span of zero is +impossible for a region that resolves, and the "confirming" half of the table was +as broken as the refuting half — which is only visible if you read the half that +agrees with you as carefully as the half that does not. + +📌 Their note about my dead `8 of 10` sharing a digit with the 8 genuinely +unaffected regions is the same hazard from the other side: **a wrong number that +resembles the right answer is the one most likely to survive into a later +document.** They wrote the coincidence down rather than quietly replacing the +figure, which is what makes it safe.