Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • tools
  • gig-up.sh
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    feat(gig): gig-up --live — prove a RIG exists, not just a set (#121, #120) · 6ab09eaa
    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.
    PLN (Algolia) authored Aug 01, 2026
    6ab09eaa
gig-up.sh 13.8 KB
EditWeb IDE
×

Replace gig-up.sh

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.