Commit 092e1a17 by PLN (Algolia)

docs(gig): where the hands have to go after the remap, and two stale claims fixed

The remap commit carried counts. Counts do not help at the desk: a knob that
moved from C5 to B4 is a knob that does nothing when you reach for it. The
tracker now holds the was/now table for every one of the 24 moves, because
PLN is rehearsing jeudrill and rose_rouge tonight and both of them moved.

Also recorded: techno_orage's ^58 firing across d5 and d6, the corpus-wide
154-file job that is explicitly NOT for tonight, the 114 duplicate FIXME lines
left behind by the old non-idempotent tool, and the fact that "the set" still
resolves to the Opal list through backlog.md while Thursday's arc lives only
in armada/setlist_thu24.txt — a default nobody should trust this week.

Two fixes in the tool itself:

  * the FIXME dedupe was a snapshot taken before the insert loop, so one run
    could still stack two identical notes when an orbit is split across two
    blocks. It now learns as it writes.
  * the docstring still promised that buttons were "Phase 2, after the gig".
    They were folded in when #94 shipped, and the tool has been moving BT/BL
    cells ever since. A docstring that defers work the code already does is
    the one place a reader can learn the wrong scope.
parent d8effb67
......@@ -118,6 +118,48 @@ Open, highest leverage first:
- [x] **QjackCtl in the tray** (fa0ec29) — the row existed but bare; `libjack.so.0`
resolves to jackd2's, so it showed an empty jackd2 graph. Now wrapped in `pw-jack`.
Bites on the next `systemctl --user restart perf-tray`.
- [x] **Column remap finished on the tracks in play** (d8effb6) — the #94 remap was run
against a setlist, so conformance was never a property of a track, only of having been
listed; and Tue's desk edits pushed listed tracks back out (swapping jeudrill's d9/d10
bodies moved the orbits, not their knobs). 24 moves over six tracks. **WHERE YOUR HANDS
HAVE TO GO NOW:**
| track | orbit | what | was | now |
|---|---|---|---|---|
| jeudrill | d4 | crushbus | C5 | **B4** |
| jeudrill | d4 | octersubsub | B5 | **C4** |
| jeudrill | d5 | mask gate | BT6 | **BT5** |
| jeudrill | d7 | slice | A7 | **B7** |
| jeudrill | d7 | speed −0.25 | BT7 | **BL7** |
| jeudrill | d7 | struct | BL7 | **BT7** |
| rose_rouge | d4 | crushbus | C4 | **B4** |
| rose_rouge | d4 | octer/octersub | B4 | **C4** |
| rose_rouge | d5 | note pattern | C6 | **B6** |
| liquid_nite | d3 | legato | B4 | **B3** |
| liquid_nite | d5 | crushbus | C6 | **B5** |
| liquid_nite | d7 | crushbus | C7 | **B7** |
| liquid_nite | d8 | loopAt COMEON | C8 | **B8** |
| cyber_hump | d4 | crushbus | C4 | **B4** |
| siberie_samuel | d8 | gate | BT4 | **BT8** |
techno_orage took 9 more. Verified: re-plan 0 moves on all six; silent-eval --seeded OK
on five (techno_orage still fails on the same pre-existing d2); pvlint 0 errors; and
zero writes landed in 13-16 / 49-51 / 77-84, the Ardour-learned and gF ranges.
- [ ] **techno_orage: ^58 drives d5 AND d6** (pvlint PV008) — the overflow the migrator
annotated rather than commented out, because it is a `$`-step and commenting it would
break the block's arity. That button really does fire across two columns until gSel
folds it. Played twice this week, so it matters.
- [ ] **Corpus-wide remap: 154 files want 709 moves, ZERO clashes** — not tonight. It is a
mass rewrite of `live/` and needs PLN's explicit go-ahead; the sandbox refused it, which
was the right instinct two days out. Run after the gig:
`find live -name '*.tidal' -print0 | xargs -0 python3.12 tools/migrate-columns.py --apply`
- [ ] **90 files carry 114 duplicate FIXME lines** — the migrator used to stack a
byte-identical note on every run (cafe_glace had the same paragraph three times). Fixed
at the source in d8effb6 so it stops growing; the existing 114 are cosmetic, post-gig.
- [ ] **"The set" still resolves to Opal 2026** — `tools/migrate-columns.py --plan` with no
args, via `tools/setlist.py` → `backlog.md`, walks bombe_dj / wap / do_it_right /
take_5_drops. The Thursday arc lives only in `armada/setlist_thu24.txt`. Pass paths
explicitly, or give backlog.md a Thursday section, before trusting any default.
- [ ] **techno_orage d2** (line 158) silent even seeded — fix or cut. PLN's call.
- [ ] **Preload gaps**: `bass2`, `humps` lazy-load mid-set. Regenerate after the arc is picked.
- [x] **The picker now holds the whole catalog** — the Set Builder showed 14 hand-written
......
......@@ -22,9 +22,17 @@ WHAT THIS TOOL WILL NOT TOUCH
* faders 77-84 and knobs 13-16 — MIDI-learned to Ardour track gains. Writing
or renumbering into that range is the CC77-goes-to-silence footgun.
* the 8 helper CCs (gF1-3, gMask, gMute1-3, gPanic) — BootTidal owns them.
* buttons (41-44, 57-60, 73-76, 89-92) — gates and mutes are a separate axis
with their own collisions against gMask/gMute, and retraining a gate is more
disruptive than retraining a knob. Phase 2, after the gig.
* the family mutes and filters themselves — gMute1-3 sit on BL1-3 and gF1-3
on C1-3, so d1..d3 own exactly one button and one knob each. That is why a
two-button gesture on d1 cannot survive column alignment.
WHAT IT DOES TOUCH, SINCE #94 CLOSED
Buttons as well as knobs (BT 41-44/57-60, BL 73-76/89-92). This paragraph
used to say buttons were "Phase 2, after the gig" — they were folded in when
the remap shipped, and a docstring that still deferred them was the one place
a reader could learn the wrong scope. Role, never position, decides which cell
a button lands on: see _button_roles for the inversion PLN heard by ear.
WHY THE PERMUTATION MUST BE APPLIED SIMULTANEOUSLY
......@@ -504,6 +512,9 @@ def rewrite(path: Path, res: dict) -> tuple[int, list[str]]:
indent = re.match(r"\s*", lines[anchor - 1]).group(0)
lines.insert(anchor - 1, f"{indent}{fixme}\n")
notes.append(note)
# Within ONE run too: an orbit split across two blocks yields two
# identical entries, and `already` was a pre-loop snapshot.
already.add(fixme.strip())
path.write_text("".join(lines))
return n, notes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment