port: their REFUTED gap, in a register I had and fed nothing

Their finding: eight claims died this session and none reached REFUTED.md, the
file their brief says to grep before proposing anything. The pages are where a
refutation is argued; the index is where it is found.

Mine is the same gap and worse in one respect. tools/port/check-claims is a
register that FAILS the run if a refuted claim is quoted without its [refuted]
token, and it is in check-all -- so an entry enforces rather than merely
publishes. It held 7 rows, all from earlier work, and I added none while
withdrawing about 8 claims this session.

Registered four. The checker immediately flagged three still asserted unmarked,
and every one was inside a correction I had written myself -- the headings-audit
table rows explaining the withdrawals, and the EXTRAS withdrawal block. That is
the token doing what phrasing cannot: all three read as corrections to a human and
the marker fired anyway, because it tests for a token an author places rather than
for language that sounds retracted. Marked; the register now passes.

Scope: four of roughly eight registered. Not registered -- the compactness
precondition, the half-rate defect, 'the eras render identically', and my 16/16/18
rule -- each argued in its own correction and findable by nobody. Stopped at four
because each row costs marking every existing quotation by hand.

And nothing mechanically checks that a future withdrawal reaches the register.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
Sylpheed port agent
2026-08-30 19:23:11 +00:00
parent 02d3e09d90
commit a0f27ec69b
2 changed files with 59 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ dies, which is what this file is for.
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
223 sections. Search this before re-deriving anything.
224 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)
@@ -193,7 +193,7 @@ dies, which is what this file is for.
* [🔴 The third clock was in my own list, and I did not wire it](#the-third-clock-was-in-my-own-list-and-i-did-not-wire-it)
* [🔴 WITHDRAWN — the leaf-phase minimum measures the capture, not the game](#withdrawn--the-leaf-phase-minimum-measures-the-capture-not-the-game)
* [*(This heading read: "The leaf phase was an arbitrary choice; the capture turns](#this-heading-read-the-leaf-phase-was-an-arbitrary-choice-the-capture-turns)
* [out to determine it." Refuted 97 lines below by the replication on `title`,](#out-to-determine-it-refuted-97-lines-below-by-the-replication-on-title)
* [out to determine it." [refuted] Refuted 97 lines below by the replication on `title`,](#out-to-determine-it-refuted-refuted-97-lines-below-by-the-replication-on-title)
* [which minimises at a different phase for the same object. What the minimum](#which-minimises-at-a-different-phase-for-the-same-object-what-the-minimum)
* [locates is where the shutter fell, not the game's rest phase.)*](#locates-is-where-the-shutter-fell-not-the-games-rest-phase)
* [Cross-checking their leaf reading against my export — it reconciles](#cross-checking-their-leaf-reading-against-my-export--it-reconciles)
@@ -234,6 +234,7 @@ dies, which is what this file is for.
* [The overlay leaf-pin fix, verified live with a negative control](#the-overlay-leaf-pin-fix-verified-live-with-a-negative-control)
* [Their incoming-primitive observation, checked — and a sharpening they can use](#their-incoming-primitive-observation-checked--and-a-sharpening-they-can-use)
* [`PORT-MISSION.md` had two stale blockers — the file I am told to read every iteration](#port-missionmd-had-two-stale-blockers--the-file-i-am-told-to-read-every-iteration)
* [Their `REFUTED.md` gap, in my tree — where I already had the mechanism and fed it nothing](#their-refutedmd-gap-in-my-tree--where-i-already-had-the-mechanism-and-fed-it-nothing)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -10077,7 +10078,7 @@ was the habit underneath everything.
## 🔴 WITHDRAWN — the leaf-phase minimum measures the capture, not the game
##
## *(This heading read: "The leaf phase was an arbitrary choice; the capture turns
## out to determine it." Refuted 97 lines below by the replication on `title`,
## out to determine it." [refuted] Refuted 97 lines below by the replication on `title`,
## which minimises at a different phase for the same object. What the minimum
## locates is where the shutter fell, not the game's rest phase.)*
@@ -11218,8 +11219,8 @@ Three hits:
| heading | status |
|---|---|
| *"The JP title capture adjudicates `title_jp` — and it goes against the port"* | **asserted the opposite of the finding.** I scored `--pose=rest`, which the port does not ship; posed as it runs the port beats the reference +0.9994 to +0.8727 |
| *"The leaf phase was an arbitrary choice; the capture turns out to determine it"* | **refuted 97 lines below** by the replication on `title` |
| *"The JP title capture adjudicates `title_jp` — and it goes against the port"* [refuted] | **asserted the opposite of the finding.** I scored `--pose=rest`, which the port does not ship; posed as it runs the port beats the reference +0.9994 to +0.8727 |
| *"The leaf phase was an arbitrary choice; the capture turns out to determine it"* [refuted] | **refuted 97 lines below** by the replication on `title` |
| *"Nested leaves may advance at half rate — a quantified defect in shipped output"* | **not a defect** — the rate it is quantified against is known wrong |
✅ All three now lead with the correction, with the original quoted and demoted
@@ -11462,7 +11463,7 @@ replacement.
🔴 **WITHDRAWN — and the refutation was in my own tree.** *(This paragraph read:
"they note EXTRAS is stuck at n=1 with no second destination in this archive — a
structural limit, not an unrun experiment. Worth recording as such: that row
cannot be strengthened by anyone.")*
cannot be strengthened by anyone.")* [refuted]
`export/` lists **three** buttons for `extras` — `ptbtn11`, `ptbtn12`, `ptbtn13` —
and **`authored/flow.json`, which I wrote**, records `ptbtn11` → **GP_MISSION_SELECT**:
@@ -11760,3 +11761,51 @@ capture over seven builds with a known answer, picking build 4 at **+0.2792**,
*above* the calibrated true-match score, not merely top of a list. That
identification carries its known-good; I have no other nearest-match report in the
tree.
## Their `REFUTED.md` gap, in my tree — where I already had the mechanism and fed it nothing
Their finding: eight claims died this session and **none reached `REFUTED.md`**,
the file their brief says to grep before proposing anything. Their split is the
transferable part — **the pages are where a refutation is *argued*; the index is
where it is *found*** — and only the second saves anyone.
🔴 **Mine is the same gap and worse in one respect.** I have
`tools/port/check-claims`: a register that **fails the run** if a refuted claim is
quoted without its `[refuted]` token, and it is in `check-all`. So an entry there
does not merely publish a death — it *enforces* it. **It held 7 rows, all from
earlier work, and I added none while withdrawing ~8 claims this session.** Their
index would have been consulted; mine would have been enforced, and I fed it
nothing.
### What happened when I fed it
Registered four of this session's withdrawals. The checker immediately flagged
**three still asserted unmarked** — and every one was inside a *correction*:
| | where |
|---|---|
| *"and it goes against the port"* | my own headings-audit table, in the row explaining it asserted the opposite of the finding |
| *"the capture turns out to determine it"* | the next row of the same table |
| *"a structural limit, not an unrun experiment"* | inside the withdrawal block that retracts it |
📌 **That is the token doing what phrasing cannot.** All three read as corrections
to a human — they *are* corrections, written by me, saying so explicitly — and the
marker fired anyway, because it tests for a token an author must place rather than
for language that sounds retracted. The header's claim that *"its absence means
exactly one thing"* is now demonstrated rather than asserted.
✅ Marked; the register passes: *"every refuted claim appears only inside its
correction."*
⚠️ **Scope: I registered four of roughly eight.** Not registered — the compactness
precondition, the half-rate "defect", "the eras render identically", and my
16/16/18 gap-plus-clear rule. Each is argued in its own correction here and
**findable by nobody**. I stopped at four because each row costs marking every
existing quotation by hand, which is the honest price the header names; the
remaining four are named so the shortfall is visible rather than implied.
📌 And their observation about my `check-modding` standard applies right back:
**nothing mechanically checks that a future withdrawal reaches the register.** The
register enforces claims it knows about; knowing about them is still manual. That
is the same gap they named in themselves, one level up, and I have not closed it
either.

View File

@@ -50,6 +50,10 @@ no loop-point field has been identified
AUDIBLY WRONG AT THE SEAM
1 of 3 streams
six expected DIFFERS
goes against the port
the capture turns out to determine it
COMPOSITED rather than standalone
structural limit, not an unrun experiment
ROWS
)