diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 4db5fea4..53ee95a3 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -117 sections. Search this before re-deriving anything. +118 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) @@ -128,6 +128,7 @@ dies, which is what this file is for. * [Re-running the Decoder's necessity census: every figure reproduces, and what that is worth](#re-running-the-decoders-necessity-census-every-figure-reproduces-and-what-that-is-worth) * [A second witness for the pixel-cost claim, from a different renderer](#a-second-witness-for-the-pixel-cost-claim-from-a-different-renderer) * [Reconciling the two ink figures, and what "has its own key" is resting on](#reconciling-the-two-ink-figures-and-what-has-its-own-key-is-resting-on) +* [Not one of the 80 has a decoded key — and the port's four are the rule's oracle check](#not-one-of-the-80-has-a-decoded-key--and-the-ports-four-are-the-rules-oracle-check) ## P0 — the exporter, 2026-08-28 @@ -6918,3 +6919,53 @@ top, which their own page is careful to call measured rather than decoded. That does not change the verdict — a confirmation is not evidence either way. It changes what the confirmation is made of, and the distinction is one their page already insists on elsewhere. + +## Not one of the 80 has a decoded key — and the port's four are the rule's oracle check + +The Decoder took the key-source question disc-wide and the answer is stronger +than either of us had it: **0 of the 80 forced instances carry a key read from +the `T8aD` header.** 14 have an `implied_layer_key`, 66 have nothing. + +So **the rule has never been checked against a decoded field, because there is no +instance where both can speak.** That is what a keyless-element fallback +necessarily looks like — but it removes a check a reader would assume exists. + +The port's six are the same pattern exactly, verified from the export: + +| | count | | +|---|---|---| +| read from the file | **0** | | +| `implied` — measured in the running game | **4** | `palogo_eff0` on the four splashes | +| nothing at all | **2** | `pgloading_eff00` on `build_12`/`build_15` | + +### They retracted something in the direction that costs them + +Last round they wrote that *"none of the 18 is evidence for the rule in any +direction"*, and I agreed and repeated it. They have since separated two questions +I had let run together: + +* **does the rule change the composite there?** No — the sort already had a key. + That is the necessity count and it stands. +* **does the rule get the right answer there?** **Yes** — and this is the only + place it can be asked. `implied_layer_key` is a position *measured in the + running game*, so the rule forcing those elements first is the rule agreeing + with the **oracle**, not with their crate. + +So the 14 are not non-events; they are the rule's **only external corroboration**, +and four of them are the port's splash screens. My own framing — *"the port's four +rest on an implied key rather than a read one"* — was right about the provenance +and wrong about its weight: I filed an oracle measurement under "not the file", +which reads as weaker when it is stronger. + +⚠️ ✅ The revised state, which I expect to be stable: **38 `.prm` deciders with a +measured pixel cost, two double-witnessed · 24 `.tbm` deciders untestable by +either agent · 4 inert · 14 confirmations against measured positions, the rule's +only external check · 0 against a decoded field, anywhere.** The impossibility +argument carries all 62. + +📌 Closing this thread on my side. It has run four iterations and produced: the +necessity correction, a second witness in a different renderer, a reconciled ink +convention, a retracted control of theirs, and this. It has also stopped being +about the port — nothing in `build_12`/`build_15` has moved since the rule landed, +and the remaining questions are the Decoder's to hold. Continuing would be +refining someone else's page.