Zero control moves were logged for the whole 2026-09-24 set, and every cheap check said fine. Two independent faults, both found by looking: THE CHECK RAN ON TRAFFIC, NOT ON A CLOCK. The re-resolve lived inside 'for line in self._proc.stdout', so it only ran after a line ARRIVED. A bound port that goes quiet blocks that iterator forever, and aseqdump does not exit — so the loop parked on a blocking read from 01:01 through a 94-minute set. Now a timed select: the liveness question is asked every UPGRADE_S whether or not the board said anything. The old test asserted this the other way round, on the reasoning that running in the read loop was 'cheap by construction: an idle surface costs nothing at all'. An idle surface cost the gig. 'Costs nothing when idle' and 'notices when idle' are the same code path and only one can be true. A NAME AND AN ADDRESS ARE BOTH USELESS HERE. 38 hours after the set, 133:0 'ParVagues LCXL3' still resolved to that exact address under that exact name — so neither 'is it gone' nor 'did it move' could see anything. What happened is the third thing: lcxl3-driver restarted repeatedly between 00:34 and 10:27, and the kernel handed each new sequencer client the same number. Our subscription died with the old one. Verified live: client 133 was 'Connecting To: 129:0, 14:0' and gig-log's aseqdump, client 135, was not in the list. So subscription_alive() asks the kernel's own wiring table, matching the CHILD's pid — the same discrimination lcxl3-driver's board_link_alive makes, for the same reason. It reads False on the real dead link and True on SuperCollider, which is wired to the same port; 'cannot tell' is None, never False, so a box where aconnect differs does not thrash. gig-log status now names the binding, its subscription state and the session's control-event count. It used to answer 'is it writing', which was true and useless on the night the file grew at 1 Hz with nothing in it. A dashboard that shows LIVE while a whole lens is dead is the green check this rig has learned not to trust. Note: tools/tests/test_one_tidal_parser.py fails at HEAD too, on fold-orbits.py. Untouched here.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| TODO.d | 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... | |
| mix | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| tasks | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| visuals | 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... | |
| CHANGELOG.md | 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... | |
| Logo.xcf | 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... | |
| SETUP.md | Loading commit data... | |
| SHOPPING_LIST.md | Loading commit data... | |
| TASKS_DUMP.md | Loading commit data... | |
| TODO_GIG.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| conftest.py | 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... | |
| install_superdirt.sclang | 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... | |
| process-palette.json | Loading commit data... | |
| realtime.tidal | Loading commit data... | |
| sample-manifest.json | Loading commit data... | |
| sample_watch.scd | Loading commit data... | |
| samples.txt | Loading commit data... | |
| setlist_opal2026.txt | Loading commit data... | |
| sketch.properties | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |