1@README.md 2 3## Notes for agents 4 5**Stop playback before playing `song.js`.** Its section masks count from cycle 0. 6 7**The harmony moves every two bars on purpose.** Each vocoded line is rendered on one chord (`samples/README.md` lists which), so it must start on the first bar of its chord. The hook's "Output tokens: free" exists in three renders (`tcfreeam`, `tcfree`, `tcfreeg`) for the three chords it lands on. 8 9**The filter sweeps are phrase-bound.** `saw.range(...).slow(8)` restarts every 8 cycles, so the sweep opens over each 8-bar phrase only because every section starts on a multiple of 8. Moving a section boundary off that grid breaks the sweep. 10 11**"Gate the sudo" does not survive the vocoder.** Five renders read back as other words; the lyric is "Gate the sudo command" for that reason, and it is spelled "Gate, the sue-doo command" for SAPI, or whisper hears "pseudo" (see SPEC.md). Accept a re-render only when whisper.cpp `ggml-base.en` reads "gate the sudo command" both dry and mixed over the kick. 12 13**Levels are choices, narrowed by `allow`.** Each part's level is `choice` {full, back, out}, not a score, so `allow` can leave out what a section does not have; `full` is every level's fallback and must stay in every allowed set. The outro is all `ending`, which Jev never levels. 14 15**Measure after any gain change.** superdough has no limiter; `MASTER` is set so the loudest pick (every part full, energy all out, which is also the fallback) peaks at or under -1 dBFS in `nix run .#measure`.