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. "Where vibes are true" exists twice — `ssvibes` on D (verse, chorus bar 19) and `ssvibese` on E (chorus bar 23) — because it lands on both.
8
9**The key change must stay vocal-free.** Bars 49–64 add 2 semitones to the MIDI-number patterns (`key`). The vocoded lines are fixed renders in F# minor; putting one inside the key change sings it a tone flat against the band.
10
11**Pitches are MIDI numbers, not note names,** so `.add(key)` can transpose them. Keep new melodic parts numeric.
12
13**Everything with reverb on the drums' orbit goes through `gated()`.** Superdough keeps one reverb per orbit and regenerates it whenever a hap's impulse differs, so a tom with the built-in room after a snare with `ir('ssgate')` would swap the orbit's reverb back and forth.
14
15**The toms are written once, in the transition.** A roll in `kit` as well would double under `fill`, be halved by `dropout` and play under a plain cut; as written they follow the path (`next`), not bar numbers.
16
17**The hook is not a part.** "Hello there" / "General Kenobi" play in every chorus outside `part('vocals')`, so Jev leveling the vocals out never loses them.
18
19**Re-measure after any level change.** `measured:` holds only for the `song.js` whose hash it records.