The rig is heavily instrumented and nothing ever looked. gig-log has been
sampling freq, per-core cpu, throttle deltas, fan rpm, per-process cpu/RSS and
xruns at 1 Hz for weeks (512k samples in the current file), yet every failure
this session was discovered by feel, mid-session, at the worst moment. This is
the looking.
Every check exists because it silently cost a real session on 2026-09-04/05:
* Composed an hour at 800 MHz because the Bridge's perf-watch reasserted
`silent` every 30 s, undoing each fix within half a minute. Cost 2671
xruns/hour. Every throttle counter read zero — with HWP, epp=power makes the
CPU *choose* its floor, so the failure has no error message.
-> check_perf, check_regime_agreement
* `gluck` refused to load for 90 minutes. The symlink was perfect; sclang had
been up 6 days and loadSoundFiles scans folder NAMES once, at startup, so a
bank added later is invisible. Pulsar's "restart SuperDirt" button is a no-op
here (SuperDirt is a systemd service, not Pulsar's child) and honestly
reported 142 h uptime while looking fine.
-> check_superdirt_fresh
* Samples/crutch was a symlink pointing at ITSELF since Oct 2025. Dead bank,
no complaint from anything.
-> check_sample_integrity
* A new LCXL3 showed default LEDs because the resolver name-matches the mk2
product string, while the watcher logged "-> 27 controls" and looked healthy.
-> check_midi_surface
Three design rules, all learned the hard way:
1. Green is not evidence. `active`, exit 0 and silence all lied during this
session, so every check reads the LIVE value from sysfs/procfs/the device
and prints the number it saw. No check trusts a status.
2. Every FAIL carries its fix as a runnable command. A preflight that reports
a problem without the remedy just adds a step between you and playing.
3. It never mutates the rig. Read-only by construction — a preflight that
writes is one more un-arbitrated writer, the exact bug class it detects.
16 checks. First run found 1 fail + 3 warns, including a genuine xrun rate of
2224/hour with every CPU line green — a problem we had not noticed and which the
clock fix does not explain.
Known over-sensitivity: check_xruns uses the raw total, and two of the top three
sources (input.hydra_in, the built-in Speaker sink) may not be in the live
monitoring path at all. Xruns on an idle sink inflate the count without being
audible; it should weight by nodes actually in the path.
gig-preflight.py human report, exit 1 on any FAIL
gig-preflight.py --quiet only WARN/FAIL, for gig-up.sh
gig-preflight.py --json for the tray/Bridge
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| config/wireplumber | 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... | |
| EVENING.md | Loading commit data... | |
| FOH_MASTER.md | Loading commit data... | |
| LAST_THIRD.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... | |
| TASKS_DUMP.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-tray.service | Loading commit data... | |
| perf.sh | Loading commit data... | |
| realtime.tidal | Loading commit data... | |
| sample_watch.scd | 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... |