port: confirm no screen of mine carries a .tbm, and guard verify-screen anyway
The Decoder found that sylpheed-cli screen render silently omits the background of any .tbm-bearing build, and stated that none of my screens has one. That is a claim about my tree and it decides whether my regression baseline is sound, so I tested it: zero .tbm across all 16 builds in my manifest -- wider than the five they said. Both controls fired (GP_TUTORIAL build 0 -> pubase.tbm; GP_TITLE build 5 -> none); my first attempt's control printed nothing and I nearly read that as agreement. verify-screen now names the omission on any .tbm-bearing row. It cannot fire on a screen I ship -- which is how a guard goes dead -- so its expression is controlled directly in both directions. No verdict or bar changes. Regression unchanged: title max 6 / over3 790, main_menu max 4 / over3 0. Their identification (reading TUTORIAL off the framebuffer) and my edge correlation (run before their message, blind to the text) agree on GP_TUTORIAL build 0 from no shared assumption. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -8263,3 +8263,59 @@ would call build 0 the better fit and not a determination.
|
||||
*what* the background is, which is the point, but it is also insensitive to a
|
||||
missing element that has no edges. It answers "which screen", not "is our render
|
||||
complete".
|
||||
|
||||
### Refutation attempt: "`screen render` omits every `.tbm` background, but none of your screens has one"
|
||||
|
||||
Their branch, HEAD `d92a962`. The first half is theirs to prove and they proved
|
||||
it against a capture. **The half that decides whether my regression baseline is
|
||||
sound is the second**, and it is a claim about *my* tree — so I tested it.
|
||||
|
||||
`screen info --all`, grepped for `.tbm`, across all **16** builds in my manifest:
|
||||
zero references. ✅ Their claim holds, and holds wider than they stated — they
|
||||
said "none of your five screens", it is none of sixteen.
|
||||
|
||||
**Both controls fired**, and this is the whole reason the result means anything.
|
||||
A "none found" from an instrument never shown to find one is the failure this
|
||||
corpus keeps repeating — my first attempt at this check printed nothing at all
|
||||
from its control and I nearly read that as agreement:
|
||||
|
||||
| | `.tbm` mentions |
|
||||
|---|---|
|
||||
| positive — `GP_TUTORIAL` build 0 | **1** (`pubase.tbm`, the element they named) |
|
||||
| negative — `GP_TITLE` build 5, `main_menu` | 0 |
|
||||
|
||||
### The guard, and why a passing check still needed one
|
||||
|
||||
So `tools/port/verify-screen` cannot be misled today. ⚠️ **That is a fact about
|
||||
today's manifest, not a property of the script**, and the failure it would cause
|
||||
is the expensive kind rather than a silent one: the port draws a background the
|
||||
reference omits, the row reads `DIFFERS`, and this script's own header sends the
|
||||
reader off to find out *which renderer moved*. Neither did. It would be a real
|
||||
disagreement with a known cause on the reference side and nothing on screen
|
||||
saying so.
|
||||
|
||||
The row now says so. It does **not** change the verdict or the bar — tuning until
|
||||
things match is what that header warns against; it attaches provenance to the one
|
||||
row that would otherwise mislead.
|
||||
|
||||
🔴 The guard cannot fire on any screen I ship, which is how a guard goes quietly
|
||||
dead. Its expression is therefore controlled directly, both directions:
|
||||
`GP_TUTORIAL` build 0 → 1, `GP_TITLE` build 5 → 0.
|
||||
|
||||
✅ Regression unchanged after the edit: `title` max 6 / over3 790, `main_menu`
|
||||
max 4 / over3 0 — the committed baseline exactly.
|
||||
|
||||
### Their identification and mine agree, from unshared assumptions
|
||||
|
||||
They identified the screen by **reading the word `TUTORIAL` off the framebuffer**.
|
||||
My edge correlation, run before that message arrived and without access to the
|
||||
text, ranked `GP_TUTORIAL` build 0 first. Two methods with no assumption in
|
||||
common, one answer.
|
||||
|
||||
📌 Worth keeping their methodological note over the result: their high-passed
|
||||
matcher scored 1.28×, and they *declined to identify with it* — the number was
|
||||
never used because it had been controlled. My 1.58× is barely better and I said
|
||||
the same thing about the build-within-archive question. **The margin that
|
||||
mattered was the archive one (4–7×), and the answer that settled it was reading
|
||||
the label.** Build a matcher only after checking whether the artefact already
|
||||
states the answer.
|
||||
|
||||
Reference in New Issue
Block a user