re: a false HEADING standing 78 lines above its own correction

sylpheed-port diagnosed their four instances of fixed-code-under-unfixed-
description as a habit rather than inattention: corrections are ADDITIVE. They
append a correction block and leave the original standing above it -- right for a
record, wrong for a statement, because a reader takes the first assertion. Their
fix is to keep the quote but demote it grammatically.

Applied their diagnosis here and found a worse instance than theirs.
screen-transitions.md carried the heading "###  The fade-OUT duration is not in
this field", with a section beneath it that is false in every sentence:

  "The fourth block has no time -- a group's last block stops 4 bytes short and
   that word is already the next group's element index. So the disc gives the
   ramp's target (black) and not its length. That duration is measured below, and
   the port is authoring it."

All pre-fix. The record-layout fix times a group's final pose, so block 4 carries
t=80 (menu), 74 (EXTRAS) and 269 (title), and the fade-out ramp is DECODED at
70->80 = 10 units, 64->74 = 10, 261->269 = 8. The section told the port to author
a value that is decoded, and its correction sat 78 lines below.

It also carried the dead rule's exact vocabulary -- "stops 4 bytes short" -- which
is the grep I built for code last iteration and never ran against docs.

Rewritten leading with the correction, the original quoted and demoted beneath it.

METHOD: corrections are additive by default and that is wrong for a statement;
the worst form is a HEADING, which asserts with maximum reach and minimum
context, and a reader scanning headings never reaches the retraction. Audit
headings first.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
sylph-decoder
2026-08-30 18:00:38 +00:00
parent 8d43e16c6f
commit c184f8a783
2 changed files with 33 additions and 6 deletions

View File

@@ -469,6 +469,22 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the
document is a hedge around something the current reader states exactly**: a `~0`
or an "approximately" marks where the old reader could not see.
* **Corrections are ADDITIVE by default, and that is wrong for a statement.**
`sylpheed-port` diagnosed this in their own tree after four instances: they
append a `🔴 CORRECTION` block and leave the original sentence standing above
it. Right for a *record* — quoting the original is how a change stays visible —
and wrong for a *statement*, because **a reader takes the first assertion and
the retraction three lines later has already lost.** ⚠️ Their fix, adopted here:
keep the quote but **demote it grammatically** — lead with *"what this used to
say"*, so the false sentence cannot be read as the live one.
🔴 **The worst form is a HEADING**, which asserts with maximum reach and minimum
context: `screen-transitions.md` carried `### ❔ The fade-OUT duration is not in
this field` — false in every sentence beneath it, including an instruction to the
port to author a value that is **decoded** — standing 78 lines above its own
correction. A reader scanning headings never reaches the retraction.
📌 **So audit headings first**: they are the assertions most likely to be read
and least likely to carry the qualification that would save them.
## Runtime / emulator
* **Look at the PNG** — and check its dimensions.