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, so it must start on the first bar of its chord (Em on bars 17, 25, 57; C, G, D two bars apart). The chorus lines exist twice each (`lbcodeem`/`lbcodec`, `lbrestg`/`lbrestd`) because each is sung on both chords of its pair. Changing the chord order or section lengths means re-rendering with `vocode`.
8
9**The riff is written in MIDI numbers so it can be transposed.** `note(riff).add(shift)` moves it with the chord root (Em 0, C −4, G +3, D −2); note names would not add. The notes are checked against the Ultimate-Guitar tab named in `SPEC.md` — don't "fix" the B2→C3 at the end of its second bar or the held A#2 at the end of its fourth.
10
11**Every written mask is 64 steps.** Adding a section means re-counting all of them; the `!n` counts must sum to 64. The two masks in `drumsNow` count 1000: they are played time (the transition runs outside the arrangement), where a 64-step mask would repeat the intro at cycle 64.
12
13**`where` is the one list of where each part plays.** A new layer masks with a constant from its part's list (or adds one there); the text Jev is told comes from it.