From 2759f3e719b301704ad972b6de248242ecbfd899 Mon Sep 17 00:00:00 2001 From: Sylpheed port agent Date: Mon, 31 Aug 2026 03:20:29 +0000 Subject: [PATCH] port: their docstring point found three stale claims in my code Their sharpening of my harness-note finding: a why in an authored file has a convention demanding a citation; a docstring has nothing, travels with the code, and reads as authoritative. Their instance was ring_row.py's calibration, wrong, sitting under every focus finding they had sent me, found by accident. Swept mine for numbers I had corrected in DECISIONS.md. Three live instances, each contradicting my own log. video.rs asserted '28 % of S00A's frames presented and 47 % of ADV's' as measured; boot.gd asserted that the same numbers 'refuted the claim outright'; dialog_rows.rs said 'by three routes'. All three were retracted days ago in the log and never in the code -- the percentages came from contended runs and the counter is an upper bound that goes vacuous once the engine outruns the stream, and three routes became two, one compound. verify-transcode-fidelity was the only one already correct. Third time this pattern has bitten me, and it is the one audio.json's own why warns about: a correction that does not reach the artifact a consumer reads has not been made. First was loop_why shipping a refuted story into manifest.json, second a BLOCKED row, this is code comments -- the worst of the three because they sit beside the thing they describe. So the class is now checked rather than swept: the retracted numbers are register rows carrying the propositions they asserted, and check-claims immediately failed on my own corrections quoting them unmarked. The next stale number of this kind fails a run instead of waiting for a sweep. What it does not cover is a docstring number that was never corrected anywhere. The register holds only what I have already retracted, so it catches propagation failures rather than wrong numbers -- their ring_row.py case would still have gone undetected here, because nothing had retracted that calibration. Their closing observation is the honest limit: the only thing that has actually caught these is one of us reading the other's sentence for its own sake, which is not a filter and does not scale. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF --- .../sylpheed-export/examples/dialog_rows.rs | 5 +- crates/sylpheed-export/src/video.rs | 15 ++++-- docs/port/DECISIONS.md | 50 ++++++++++++++++++- port/scripts/boot.gd | 13 +++-- tools/port/check-claims | 2 + 5 files changed, 74 insertions(+), 11 deletions(-) diff --git a/crates/sylpheed-export/examples/dialog_rows.rs b/crates/sylpheed-export/examples/dialog_rows.rs index c5c5e981..a42c5f8b 100644 --- a/crates/sylpheed-export/examples/dialog_rows.rs +++ b/crates/sylpheed-export/examples/dialog_rows.rs @@ -1,7 +1,10 @@ //! Independent check of "DIFFICULTY is a dialog: GP_DIALOG entries 2/3". //! //! The Decoder identified `DLG_SELECT_DIFFICULTY` as `GP_DIALOG.pak` entries 2/3 -//! by three routes, one of which is button count and geometry. That half is +//! by TWO arguments, one of them compound — corrected from "three routes", which +//! was taking credit for the exclusion scan. The image leg names no entry, and +//! the disc and oracle legs are one argument, since the capture is compared +//! against the disc's rows. One of them is button count and geometry. That half is //! readable from the disc with this port's own reader, so it is checked here //! rather than taken on their word — the same form as re-deriving `ptbtn11`'s //! row order from my export when they offered it. diff --git a/crates/sylpheed-export/src/video.rs b/crates/sylpheed-export/src/video.rs index 6a6905f3..54751487 100644 --- a/crates/sylpheed-export/src/video.rs +++ b/crates/sylpheed-export/src/video.rs @@ -165,10 +165,17 @@ pub struct Transcoded { /// The transcode's own duration and frame rate, probed from the file that /// was just written. /// - /// Recorded so the RUNTIME can say what it actually presented. Godot's video - /// player drops frames to hold its schedule, and it drops a lot of them here - /// — measured at **28 % of `S00A`'s frames presented and 47 % of `ADV`'s** on - /// a box with no GPU. Without a frame count in the manifest a run can only + /// Recorded so the RUNTIME can say what it actually presented. + /// + /// 🔴 CORRECTED 2026-09-01. This read: *"Godot's video player drops frames to + /// hold its schedule, and it drops a lot of them here — measured at 28 % of [refuted] + /// `S00A`'s frames presented and 47 % of `ADV`'s"*. **Both numbers are + /// retracted.** They came from CONTENDED runs, and the counter is an upper + /// bound on ENGINE frames that is vacuous once the engine outruns the stream + /// — quiet, `ADV` draws 6 480 frames across a 4 123-frame video. On a quiet + /// box the bound is 88–90 % for `S00A`, and playback runs **+6.7 %…+6.9 %** + /// long for both films. What survives is that elapsed seconds hide whatever + /// the player does, which is why the count is in the manifest. Without a frame count in the manifest a run can only /// report elapsed seconds, and elapsed seconds are exactly what stays /// plausible while three frames in four go missing. /// diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 44afb375..7bbd28ae 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -298 sections. Search this before re-deriving anything. +299 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) @@ -309,6 +309,7 @@ dies, which is what this file is for. * [Closing one of my own, and a second relayed count from the same delivery](#closing-one-of-my-own-and-a-second-relayed-count-from-the-same-delivery) * [The oracle capture's own focus state was never established — now it is, by exclusion](#the-oracle-captures-own-focus-state-was-never-established--now-it-is-by-exclusion) * ["Independently" dies on a fact, and I decline to re-add the pairing they restored](#independently-dies-on-a-fact-and-i-decline-to-re-add-the-pairing-they-restored) +* [Their docstring point found three stale claims in my code](#their-docstring-point-found-three-stale-claims-in-my-code) ## P0 — the exporter, 2026-08-28 @@ -13207,7 +13208,7 @@ their side. ## 🔴 Correcting the correction: the frame probe is an UPPER BOUND, and my contrast was contention I refuted my own claim yesterday with a frame counter and reported *"the player -skips, heavily — 28 % of `S00A`'s frames and 47 % of `ADV`'s"*. **Both numbers +skips, heavily — 28 % of `S00A`'s frames and 47 % of `ADV`'s"* [refuted]. **Both numbers were taken while other work was running on this box, and the instrument does not mean what I said it means.** @@ -14814,3 +14815,48 @@ is the amplifier**, and the only filter either of us has found is that I re-derive the load-bearing half — which by construction never touches the asides, because they are not load-bearing. **The filter and the failure select for exactly the same property.** + +## Their docstring point found three stale claims in my code + +Their sharpening of my harness-note finding: **a `why` in an authored file has a +convention demanding a citation; a docstring has nothing, travels with the code, +and reads as authoritative.** Their instance was `ring_row.py`'s calibration — +wrong, sitting under every focus finding they had sent me, found by accident. + +Swept mine for numbers I had corrected in `DECISIONS.md`. **Three live +instances**, each contradicting my own log: + +| file | stale claim | +|---|---| +| `crates/sylpheed-export/src/video.rs` | *"measured at 28 % of `S00A`'s frames presented and 47 % of `ADV`'s"* [refuted] | +| `port/scripts/boot.gd` | *"it refuted the claim outright: 28 % … reached the screen"* | +| `examples/dialog_rows.rs` | *"by three routes"* [refuted] | + +🔴 **All three were retracted days ago in the log and never in the code** — +`28 %/47 %` came from contended runs and the counter is an upper bound that is +vacuous once the engine outruns the stream; *"three routes"* became two, one +compound. `verify-transcode-fidelity` was the only one already correct. + +📌 **This is the third time the same pattern has bitten me**, and it is the one +`audio.json`'s own `why` warns about: **a correction that does not reach the +artifact a consumer reads has not been made.** The first was `loop_why` shipping +a refuted story into `manifest.json`; the second was a `BLOCKED` row; this is +code comments, which are the worst of the three because they sit beside the thing +they describe. + +### ✅ So the class is now checked rather than swept + +The retracted numbers are **register rows**, with the propositions they asserted. +`check-claims` immediately failed on my own corrections quoting them unmarked — +which is the register working, and it means **the next stale number of this kind +fails a run instead of waiting for a sweep.** + +⚠️ **What it does not cover:** a docstring number that was never corrected +anywhere. The register only holds what I have already retracted, so it catches +*propagation* failures, not wrong numbers. **Their `ring_row.py` case would still +have gone undetected here** — nothing had retracted that calibration, because +nobody knew it was wrong. + +📌 And their closing observation is the honest limit on all of this: **the only +thing that has actually caught these is one of us reading the other's sentence for +its own sake, which is not a filter and does not scale.** diff --git a/port/scripts/boot.gd b/port/scripts/boot.gd index aa7590bd..05425182 100644 --- a/port/scripts/boot.gd +++ b/port/scripts/boot.gd @@ -658,10 +658,15 @@ var _skippable := false ## ## 🔴 PERMANENT ON PURPOSE. This port asserted that a player running longer than ## its media must have presented every frame -- argued from the absence of a -## visible drop rather than measured. The measurement is the two lines below and -## it refuted the claim outright: **28 % of `S00A`'s frames and 47 % of `ADV`'s** -## reached the screen, and `S00A` held real time precisely BY dropping three in -## four. +## visible drop rather than measured. +## +## 🔴 CORRECTED 2026-09-01, and the correction is of a correction. This read that +## the measurement "refuted the claim outright: 28 % of `S00A`'s frames [refuted] and 47 % +## of `ADV`'s reached the screen". **Retracted.** Those runs were contended, and +## this counts ENGINE frames -- an upper bound that constrains nothing once the +## engine outruns the stream, which it does: quiet, `ADV` draws 6 480 across a +## 4 123-frame video. The original claim is still unsupported; the numbers that +## were said to refute it do not. ## ## So the count is not a diagnostic to reach for, it is printed by default. An ## instrument that has to be added before the question can be asked is one that diff --git a/tools/port/check-claims b/tools/port/check-claims index 332affc8..182683a9 100755 --- a/tools/port/check-claims +++ b/tools/port/check-claims @@ -55,6 +55,8 @@ the capture turns out to determine it :: the leaf's phase is fixed by the captur COMPOSITED rather than standalone :: the four screens without an opaque-black primitive are drawn composited over another screen structural limit, not an unrun experiment :: EXTRAS cannot be strengthened past n=1 because this archive holds no second destination HANDOFF Q10 says nothing on the disc :: nothing on the disc names which track the menu plays, so the port must choose one +28 % of `S00A`'s frames :: 28 % of S00A's frames and 47 % of ADV's reached the screen, measured +by three routes :: DIFFICULTY is identified by three independent routes ROWS )