port: re-run the P5/P6 gate, and verify the cues with a null control rather than a detector

The leaf path, the plate pulse, the BGM level fix, the voice export, the focus
fix and a diagnostic flag have all landed since the gate was last run. I had been
verifying pieces against captures without once re-running the whole walk, which
is the mission's actual test.

It works. Nine steps unattended: down x4 through all five buttons, (A) into
EXTRAS, (B) back to main_menu with FOCUS RESTORED to ptbtn05 (HANDOFF Q5's rule,
live), up, (A) on OPTIONS which prints the archive gap rather than pretending.
Every shot non-blank. Filmstrip shared as 1788027380-788b1faafc3e.

THE SOUND IS VERIFIED BY A NULL CONTROL, NOT A DETECTOR. I first tried counting
sharp level rises: it found ONE onset in the walk and THE SAME ONE in the music
bed alone, which contains no cues -- a 50 ms envelope cannot see a short cue over
the bed. The right response to a detector that cannot separate its control from
its subject is to stop using it, not to widen the window until the numbers look
better.

So the technique that settled the voice: shadow the three cues with silence
through data/mods/, run the identical walk, compare.

  cues playing    peak +0.0003 dBFS   RMS -18.36
  cues silenced   peak  -4.74  dBFS   RMS -20.78

Silencing three sound effects costs 4.74 dB of peak and 2.43 dB of RMS, and the
walk's peak is SET BY a cue rather than by the music. The mod log confirms
exactly three files shadowed. No detector, no threshold, and the control is the
same run with one input changed.

Recorded under the Dummy driver. It shows the cues reach the Master bus at the
right moments; it does not show they are the cues the game plays -- that is Q8,
and authored/audio.json still carries the offsets as measured.

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-29 18:16:46 +00:00
parent c602bb3c47
commit 022e3843ec

View File

@@ -4123,3 +4123,50 @@ uncontrolled instrument, but a control chosen where it could not fail.
fitted. A rotation about a declared pivot rather than the centre would displace by
roughly that; if it still matters once the association is adopted, it gets
measured rather than derived.
## Re-running the P5/P6 gate after eight iterations of changes
The leaf path, the plate pulse, the BGM level, the voice export, the focus fix
and a new diagnostic flag have all landed since the gate was last actually run.
The mission's test is *"a human presses a d-pad and Ⓐ and moves through those
screens"*, and I had been verifying pieces of that against captures without once
re-running the whole walk.
**It works.** Nine steps, unattended:
| step | | |
|---|---|---|
| ⬇ ×4 | `ptbtn01``ptbtn05` | focus moves, every frame drawn |
| Ⓐ | `EXTRAS` → screen `extras`, focus `ptbtn11` | |
| Ⓑ | back to `main_menu`, **focus restored to `ptbtn05`** | HANDOFF Q5's rule, live |
| ⬆, Ⓐ | `ptbtn04` `OPTIONS`, destination outside this archive | prints the gap rather than pretending |
Filmstrip shared as `1788027380-788b1faafc3e`. Every shot is non-blank (frame
means 31.533.1).
### The sound is verified by a null control, not by a detector
I first tried an onset detector: count sharp level rises in the recording. It
found **one** onset in the walk — and **the same one** in the music bed alone,
which contains no cues. The 50 ms envelope cannot see a short cue over the bed.
⚠️ **The right response to a detector that cannot separate its control from its
subject is to stop using it**, not to widen the window until the numbers look
better. That is the shape this session has hit five times.
So the same technique that settled the voice: shadow the three cues with silence
through `data/mods/`, run the identical walk, and compare.
| | peak | RMS |
|---|---|---|
| walk, cues playing | **+0.0003 dBFS** | 18.36 |
| walk, cues silenced | **4.74 dBFS** | 20.78 |
**Silencing three sound effects costs 4.74 dB of peak and 2.43 dB of RMS**, and
the walk's peak is *set by* a cue rather than by the music. The mod log confirms
exactly three files shadowed. No detector, no threshold, and the control is the
same run with one input changed.
⚠️ Recorded under the Dummy driver, as everything audio here is. It shows the
cues reach the Master bus at the right moments; it does not show they are the
cues the game plays — that is HANDOFF Q8, and `authored/audio.json` still carries
the offsets as measured rather than decoded.