gig-up proved the set COMPILES and said nothing about whether anything could make
a sound. scsynth was read only to colour a banner (:106,:115) and to skip --audio
(:202) — it never failed. This morning the audio server had been dead for two days
and the gate would still have printed GO.
--live is a MODE, not the default. Cold-by-default remains right: cold checks are
safe mid-set and must work on a train. Severity is chosen per link, deliberately:
HARD scsynth alive / sclang :57120 / SC -> Ardour (>=24 pw links)
no audio server, no listener, or no path to the DAW = there is no gig.
SOFT Tidal :6010, LCXL -> SC, SuperDirt warmed, perf mode
all legitimately absent ten minutes before doors; a gate that reddens for
them is a gate PLN stops reading.
Every check reads the thing that MAKES SOUND — a process, a socket, a real pw-link —
never `systemctl is-active`. That distinction is the whole reason this exists: the
unit reported active/running for two days while the rig was mute, because MainPID is
sclang and scsynth is its child.
ALSO, and it came from PLN's ears: "preload covers set", a HARD cold check.
He heard crackles moving do_it_right -> take_5_drops. Measured in that window: 0
SuperDirt lates, 0 pipewire xruns, 17 lazy soundfile reads — all take5:*. Disk I/O,
not CPU. The preload MECHANISM was healthy and said so ("47/47 banks OK in 1.9 s");
it was warming the wrong list. preload.scd was dated Jul 28, header "10 track(s)
scanned", while the set is 13 — because setlist_samples.py reads setlist_opal2026.txt
(10 tracks) and gig-up/cheat-sheet trust set-coherence.setlist_tracks() (13). The
missing three are do_it_right, take_5_drops, electric_hammer: exactly the pair he was
transitioning between. #120 tracks which source becomes canonical — not guessed here.
Two properties made it invisible, and they are the transferable lesson: preload.scd
is GITIGNORED (correctly — generated), so no diff ever showed it drifting, and
NOTHING COMPARED IT TO THE SET. A generated artifact with no freshness check is a
stale artifact waiting for the worst possible moment; its natural debut was a cold
boot at the venue, on the first play of every track added since Jul 28. It only
surfaced at a desk because SuperDirt had been up since Jul 28 with those banks cached
from a first play weeks earlier, and a restart cleared the cache.
tools/check-preload.sh compares BANK SETS (not bytes — the generator stamps a header
and orders banks, so a byte diff would cry wolf), borrows set-coherence's parser
rather than adding a fourth definition of "the setlist", and has --fix.
Validation, all of it adversarial:
* check-preload mutation-tested — restore the Jul-28 plan and it names the 7 banks
that would crackle: daft fbreak120 hammer popkick realclaps superfreak take5.
hammer and superfreak are independently confirmed: they appear as lazy loads in
this morning's journal, before any of this was written.
* --live on the live rig: 7/7 green after fixing MY OWN check (below).
* THE GATE BITES: run under a PATH shim whose pgrep reports scsynth absent ->
NO-GO, exit 1, correct fix hint, real rig never touched. That is precisely the
state that printed GO this morning.
* cold run unchanged: still GO, live chain not executed.
One check was wrong before it was right, in the session's recurring shape. "SuperDirt
warmed" first warned about a rig that was perfectly warm, because
`journalctl --user -u parvagues-sc` returns lines from a PREVIOUS instance on this
box — it handed back Jul 30 output while the current instance had already logged
"51/51 banks OK". Now filtered by SyslogIdentifier and keyed to the unit's own
ActiveEnterTimestamp, so it asks "did THIS boot warm?" rather than "was there ever a
PRELOAD line", which any previous boot would satisfy forever.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| copycat | Loading commit data... | |
| docs | Loading commit data... | |
| gifts | Loading commit data... | |
| lib-parvagues | Loading commit data... | |
| live | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| visuals/slop | Loading commit data... | |
| viz | Loading commit data... | |
| .gitignore | Loading commit data... | |
| BootTidal.hs | Loading commit data... | |
| BootTidal.hs.broken | Loading commit data... | |
| BootTidal.visuals.broken.hs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| FOH_MASTER.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| MORNING.md | Loading commit data... | |
| PatchBay_MultiChannel.xml | Loading commit data... | |
| PatchBay_Perf.xml | Loading commit data... | |
| PatchBay_Perf5.1.xml | Loading commit data... | |
| README.md | Loading commit data... | |
| RUNBOOK.md | Loading commit data... | |
| SHOPPING_LIST.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| debug.tidal | Loading commit data... | |
| didacticpatternvisualizer.pde | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gpu-mode.sh | Loading commit data... | |
| hello.sc | Loading commit data... | |
| init_midi.sh | Loading commit data... | |
| intro.md | Loading commit data... | |
| library.txt | Loading commit data... | |
| link_jack.sh | Loading commit data... | |
| link_samples.sh | Loading commit data... | |
| link_samples_all.txt | Loading commit data... | |
| main_fairbanks.scd | Loading commit data... | |
| notes.md | Loading commit data... | |
| parvagues-sc.service | Loading commit data... | |
| perf-audio.sudoers | Loading commit data... | |
| perf-tray.py | Loading commit data... | |
| perf.sh | Loading commit data... | |
| samples.txt | Loading commit data... | |
| setlist_opal2026.txt | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |