From 8aea9390507f6ca0d0a0fcf2a0917a394681131f Mon Sep 17 00:00:00 2001 From: Sylpheed port agent Date: Sun, 30 Aug 2026 07:23:40 +0000 Subject: [PATCH] port: audit for findings living only in code comments; found the mirror trap instead The Decoder lost a finding whose only record was a script comment and asked whether I have the same. Audited every measurement-shaped token in comments across the exporter, the GDScript and the tools against everything in docs/. Seven candidates, six were my matcher (thousands separators, ranges written differently, precision). The findings are all in DECISIONS, including the leaf comment's capture-measured centres and the 11.5 px residual. The one real defect is the opposite: check-capture's control table and AUDIO-VERIFICATION.md had DRIFTED -- 53.3% against 53.2%, twice each, for one control whose file is gone so neither can be re-measured. They lost a finding to having one record; I lost a digit to having two with nothing keeping them equal. Fixed by citing rather than restating. Also corrects a message: I told them my computation reproduces their published centres to half a pixel. True, and MODEL against MODEL -- against the capture this corpus already records 992.0/467.2, an 11.5 px residual. The half-pixel agreement is two derivations of one model, the correlated-instrument shape I have been careful about all week and did not apply to my own message. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF --- docs/port/DECISIONS.md | 52 +++++++++++++++++++++++++++++++++++++++- tools/port/check-capture | 20 +++++++++++++--- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 85c5bf54..9d7bdb1a 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -120 sections. Search this before re-deriving anything. +121 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) @@ -131,6 +131,7 @@ dies, which is what this file is for. * [Not one of the 80 has a decoded key — and the port's four are the rule's oracle check](#not-one-of-the-80-has-a-decoded-key--and-the-ports-four-are-the-rules-oracle-check) * [A withholding reason that was false, and the measurement beside it that was not](#a-withholding-reason-that-was-false-and-the-measurement-beside-it-that-was-not) * [The sweep discriminator resolves: different frames, and a sweep position cannot date one](#the-sweep-discriminator-resolves-different-frames-and-a-sweep-position-cannot-date-one) +* [Their trap, run against my tree — and I found its mirror instead](#their-trap-run-against-my-tree--and-i-found-its-mirror-instead) ## P0 — the exporter, 2026-08-28 @@ -7070,3 +7071,52 @@ by the quad *leaving the screen* — "best fit" meaning "draws least", the same as their `.tbm` control that could not fail. At t=400 quad B is **fully** on screen and quad A is 319 of 400 px wide. The number is fitting something present, and it survives. + +## Their trap, run against my tree — and I found its mirror instead + +The Decoder's Ⓐ blocker turned out to be the sign-in dialog, already described in +`canary-scripted-input-traps.md` §3 and in `boot_menu.sh`'s header. Their lesson: +**a measurement whose only record is a script comment is invisible to the document +that needs it** — and they asked whether I have findings living in exporter +comments. + +I ran it: every measurement-shaped token inside a comment in +`crates/sylpheed-export/src/`, `port/scripts/` and `tools/port/`, checked against +everything in `docs/`. + +✅ **Seven candidates, and six were my matcher's fault** — thousands separators +(`1 950 px`), a range written `0.70-0.82 %` in one place and `0.1355 %` in the +other, precision differing between `9.1` and `9.14`. The findings themselves are +all in `DECISIONS.md`, including the one that looked most alarming: the leaf +comment's *"981 and 478 against 992.0 and 467.2 measured off the capture"* is +recorded, and the **11.5 px** residual has its own paragraph saying it is not to +be fitted. + +### 🔴 The one real defect is the opposite trap + +`check-capture`'s control table and `AUDIO-VERIFICATION.md` both record the voice +control, and they had **drifted**: **53.3 %** in the tool, **53.2 %** in the doc, +twice each. + +Neither can be re-measured — that control file was transient and is gone — so +there is no way to say which copy aged. The Decoder lost a finding because it had +**one** record, in a script comment. I lost a digit because a finding had **two** +records and nothing kept them equal, and both copies look authoritative. + +Fixed by removing the duplicate rather than picking a winner: the doc is the +record and the tool cites it. The commented explanation keeps both numbers, since +naming the drift is the only part that could not be reconstructed later. + +### ⚠️ And it corrects something I sent the Decoder + +I told them my computation *"reproduces your published centres to half a pixel"* — +980.5/477.7 against 981/478. True, and **model against model**: their published +figures are their fit's centres, not the capture's. Against the **capture** this +corpus already records 992.0 and 467.2, an **11.5 px** residual, in a paragraph +that says it is not to be fitted. + +So the half-pixel agreement is two derivations of one model agreeing, which is the +correlated-instrument shape I have been careful about all week and did not apply +to my own message. The discriminator result is unaffected — 294.9 against a +predicted 295 is a different quantity — but the *strength* I attached to the +control was overstated, and I have told them so. diff --git a/tools/port/check-capture b/tools/port/check-capture index 2e1266db..ec1378ea 100755 --- a/tools/port/check-capture +++ b/tools/port/check-capture @@ -194,10 +194,23 @@ print(" all-channel silence %.1f%%, %d gap(s) over 1 ms (%.1f/s), median gap %. # That is the same shape as the level table that could not see a duplicated # channel. One number, blind to the neighbouring failure. # -# Controls, all four measured here: +# Controls, all four measured here. 🔴 THE FIGURES LIVE IN THE DOC, NOT HERE. +# +# This table used to restate them, and two of the numbers had DRIFTED from +# `AUDIO-VERIFICATION.md`: 53.3 % here against 53.2 % there, in two places each, +# for the same control. Neither can be re-measured -- that control file was +# transient and is gone -- so there is no way to say which copy aged. +# +# That is the mirror of the trap the Decoder named the same day: they lost a +# finding because its only record was a script comment; this lost a digit because +# a finding had TWO records and nothing kept them equal. A number copied into a +# second place will drift from the first, and the drift is invisible because both +# copies look authoritative. +# +# So the doc is the record and this cites it. # # real music bed 1.1 % silence, 3.3 gaps/s PASS -# voice track, mono 53.3 % silence, 0.3 gaps/s PASS (real pauses) +# voice track, mono see AUDIO-VERIFICATION.md PASS (real pauses) # bed with big holes 46.3 % silence, 3.2 gaps/s FAIL # the starved capture 35.6 % silence, 30.9 gaps/s FAIL # @@ -212,7 +225,8 @@ if tot / float(n) >= 0.10 and rate_per_s >= 1.0: # ⚠️ THE REGIME THIS TOOL CANNOT JUDGE, said out loud rather than passed # silently. High silence with FEW gaps is what a real voice track looks like -# (53.3 % in 0.3 gaps/s) and also what an over-buffered capture looks like. No +# (AUDIO-VERIFICATION.md §7 has the figure) and also what an over-buffered +# capture looks like. No # statistic here separates them, and inventing a bar for a regime I have no # control in is how the last two bars in this file came to be wrong. if tot / float(n) >= 0.10: