From 52a2eae4bfdc41343cd143ad1e9dda25adc06796 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sat, 29 Aug 2026 16:28:09 +0000 Subject: [PATCH] re: withdraw the pulse-period argument, and the shared WAV declares itself empty Two corrections to my own recent work, both prompted by the port checking it. First, the settle-time page argued the plate delay discrepancy was an instrument artefact on two legs, and one of them is withdrawn. It said the plate pulse period acts as an internal clock for presentation rate and measured 2.369 s against the corpus s 2.3. That estimate rests on ONE interval between two distinct troughs at a 125 ms sample interval -- uncertainty 0.177 s or 6.7 percent -- and trough-picking on a noisy plateau is fragile enough that re-running it gives 2.628 s, because an adjacent local minimum had been counted as a separate trough. Against the corpus s 2.24 that is +17.3 percent, about two sigma. So the pulse period does not show the run at normal speed; it is too weak to show anything, and cannot resolve a real-time factor below about 7 percent. The conclusion survives on the other leg, which is the sound one: the content-measured 2.247 s agrees with three independent prior readings (2.13 / 2.132 / 2.138), and both its landmarks are sharp content transitions rather than a trough on a plateau. A 17 percent slowdown would have put it at 2.49 s. What that leaves open matters because the port authors from these numbers: the run carries an unmeasured real-time factor under about 7 percent. The plate delay is anchored by agreement with prior runs; the menu build-in and B-to-title are anchored by nothing, so that is a second reason to treat them as provisional. Second, the shared capture is worse than truncated: parec writes the WAV header with zero sizes and patches them on clean exit, so the mid-write copy has RIFF size 8 and data size 0 against 183 MB of actual bytes. Python s wave module refuses to open it; ffmpeg and ffprobe recover by scanning and report a plausible duration, which is exactly why it went unnoticed -- the lenient reader hid it. Also corrects the attribution of the starvation numbers: 39.3 percent and 16680453 frames were measured on the finished local recording, not on the shared artefact. The port measured the shared copy and got 35.6 percent and 15289876 frames, with burst and gap medians agreeing to 0.1 ms. The diagnosis is unaffected but a number must say which artefact it came from. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01QsEPXWVaEpyfudtR6re1Pd --- docs/re/audio-capture-channel-map-trap.md | 25 +++++++++++++++- docs/re/boot-settle-times-measured.md | 36 ++++++++++++++++++----- 2 files changed, 52 insertions(+), 9 deletions(-) diff --git a/docs/re/audio-capture-channel-map-trap.md b/docs/re/audio-capture-channel-map-trap.md index 5b3a306c..507f68d4 100644 --- a/docs/re/audio-capture-channel-map-trap.md +++ b/docs/re/audio-capture-channel-map-trap.md @@ -239,4 +239,27 @@ inside the movie window. **A length in a provenance claim must be read from the finished artefact.** Measuring a file that is still being written is the same class of error as -reading a level table that cannot see the defect. \ No newline at end of file +reading a level table that cannot see the defect. + +πŸ”΄ **And it is worse than "truncated" β€” the shared file declares itself EMPTY.** +`parec` writes the WAV header with zero sizes and only patches them on a clean +exit, so a copy taken mid-recording has: + +| field | shared artefact | the finished local recording | +|---|---|---| +| `RIFF` size | **8** | 200 165 472 | +| `data` size | **0** | 200 165 436 | +| actual bytes | 183 478 556 | 200 165 480 | + +Python's `wave` module **refuses to open it** (`fmt chunk and/or data chunk +missing`). `ffmpeg` and `ffprobe` recover by scanning, report a plausible +duration, and that is exactly why the defect went unnoticed β€” **the lenient +reader hid it from me and the strict one would have caught it instantly.** + +⚠️ **Attribution of the starvation numbers, corrected.** The 39.3 % / 16 680 453 +frames / 10 595 runs above were measured on the **finished local recording** +(347.5 s), not on the artefact that was shared (318.5 s). The port measured the +shared copy independently and got **35.6 % / 15 289 876 frames / 10 482 runs**; +median burst 13.5 ms vs 13.6, gap 3.9 vs 3.9, period 17.4 ms vs β‰ˆ17.5. The +diagnosis is unaffected β€” both files are starved β€” but **a number must say which +artefact it came from**, and these did not. \ No newline at end of file diff --git a/docs/re/boot-settle-times-measured.md b/docs/re/boot-settle-times-measured.md index d448a708..ee455537 100644 --- a/docs/re/boot-settle-times-measured.md +++ b/docs/re/boot-settle-times-measured.md @@ -72,15 +72,35 @@ The probe's own marks gave a plate delay of **3.203 s** (`title_static` 242.655 and a declared 120 units β‰ˆ 2.0 s. A 50 % disagreement, from a cold-cache boot, is exactly where you would expect the corpus to be wrong. -**It is not. The instrument was.** Two checks: +**It is not. The instrument was** β€” but πŸ”΄ **one of the two arguments I gave for +that is withdrawn (2026-08-29).** -* **The presentation rate is not depressed in this run.** If the boot were - running slow, everything timed in game units would stretch together. The plate - **pulse period** is an internal clock for that, and it measures **2.369 s** - here against the corpus's β‰ˆ2.3 s. The run is not slowed. -* **Re-measured from content instead of from the probe's mark**, steady title art - (`243.595`) β†’ plate on (`245.842`) is **2.247 s** β€” inside the corpus's range - once the Β±0.125 s sample interval is allowed for. +* πŸ”΄ **WITHDRAWN β€” "the presentation rate is not depressed in this run".** This + said the plate **pulse period** acts as an internal clock and measured + **2.369 s** against the corpus's β‰ˆ2.3 s. Re-examined, that estimate rests on + **one interval between two distinct troughs**, at a 125 ms sample interval, so + its uncertainty is **Β±0.177 s (Β±6.7 %)** β€” and trough-picking on a noisy + plateau is fragile enough that re-running it gave **2.628 s** rather than + 2.369, because an adjacent local minimum had been taken as a separate trough. + Against the corpus's β‰ˆ2.24 s that is **+17.3 %**, about 2Οƒ. So the pulse + period does **not** show the run running at normal speed; it is simply too + weak to show anything, and **it cannot resolve a real-time factor below ~7 % + at all**. It should never have carried the argument. +* βœ… **The conclusion survives on the other leg, which is the sound one.** + Re-measured from content rather than from the probe's mark, steady title art + (`243.595`) β†’ plate on (`245.842`) is **2.247 s**, and that agrees with the + corpus's three independent readings β€” 2.13 / 2.132 / 2.138 β€” to within the + Β±0.125 s sample interval. Both of its landmarks are sharp content transitions + (a glyph plateau, and a glyph crossing), unlike a trough on a noisy plateau. + A 17 % slowdown would have put this at 2.49 s; it did not. + +⚠️ **What that leaves open, and the port authors from these numbers:** this run +carries an unmeasured real-time factor somewhere under ~7 %, because nothing in +it was precise enough to pin one. The plate delay is anchored by agreement with +three prior runs; **the menu build-in (0.531 s) and β’·β†’title (0.482 s) are not +anchored by anything**, and a few per cent of emulator slowdown sits inside them +undetected. They were already flagged as one-run figures; this is the second +reason to treat them as provisional. βœ… So the 2.13 s stands, the 120-unit reading stands, and the 3.203 s is `title_static` firing during a crossfade. Recorded because a failed refutation is