ADV's three chunks map onto the Decoder's contexts exactly, each a declared byte_size plus the 60-byte RIFF header. authored/audio.json gains voice.stream_weights keyed by SIZE, and the exporter weights only when every kept stream matches, falling back to the divisor otherwise. The key is the check: two weeks ago these same sizes did not fit the region the resolver returned, which is how the 238-packet late start was found. Applied positionally the weights would have gone onto the wrong streams silently. S00A matches nothing and keeps the divisor. ADV mixes at 0.4142/0.2929/0.2929, -2.87. Unlooked-for confirmation: the filter folds chunks 0 and 2 from two live channels and chunk 1 from one, found independently by live_channels, matching their claim that ctx1 is the only stream with a silent channel. Also files an UNEXPLAINED regression: verify-menu-audio's dead-press check now reports DIFFER across three runs, diverging at 0.085 s with different durations. Not diagnosed, not the voice change, and left failing rather than silenced. The check's premise is cross-run bit-determinism, which is what made it strong and also what makes it brittle. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
Authored decisions
Everything here is a decision we made, not something the disc said. It is
hand-written, committed, and survives a re-export — unlike export/, which is
regenerated wholesale and must never be hand-edited.
Every entry carries a why. When the RE agent decodes the real answer, delete
the entry and let the exporter emit it; that deletion is the measure of
progress.
See docs/FORMAT.md for the schemas and docs/BLOCKED.md for which HANDOFF
question each placeholder is standing in for.