From 91c808d4e52cb0862df1961b29bfd776b813fc43 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Mon, 31 Aug 2026 03:46:52 +0000 Subject: [PATCH] method: a record layout is only decidable at the table's boundaries Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/re/METHOD.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index e43eab9e..9cc85982 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -3174,3 +3174,35 @@ residue** — finite, concentrated in the oldest deliveries, and closable by a one-time backfill. **Same symptom, different prognosis**, and reading their diagnosis onto my corpus would have implied work that is not needed and missed work that is. + +## A record layout is only decidable at the table's boundaries + +`sylpheed-port` found the gap in their own rule: the fourth unchecked thing of mine +to reach their authored data was a **structure** — a field order — not a decoration. +*"The claims that go unchecked are the ones that carry no weight"* did not cover it, +because **a wrong field order looks like a fact**, and a later reader builds on it. +It carried no weight only by luck. + +So I built the control that should have existed when I published +`{handler, id, name_ptr}` — and **the obvious version does not work**: + +| alignment | records type-plausible | +|---|---| +| published `{id, name_ptr, handler}` | 70/70 | +| shifted −1 | **69/70** | +| shifted +1 | **69/70** | + +🔴 **The interior carries no information about phase.** A homogeneous repeated table +has the same field types in sequence — id, name, handler, id, name, handler — so +**any window starting on a field boundary type-checks**. Verifying "every record +looks sane" confirms a wrong alignment just as readily as a right one. + +✅ **Only the boundaries discriminate.** A shifted reading must consume a word from +*outside* the table at one end, and that word does not obey the field's type. It is +exactly how the original error surfaced: under the shift, record 0's "handler" was +`0x10000000` — the word sitting before the table. Two-sided and now asserted: the +published alignment survives at both edges, both shifts fail. + +📌 **The general rule: for any repeated structure, the evidence for the field order +lives at the first and last record.** Everything in between is compatible with every +phase, and checking it is the reassurance that feels like verification.