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
  • check-tracks.sh
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix(check-tracks): the pre-gig gate could not run — it read a setlist that never existed · 99f8466f
    check-tracks.sh is THE empirical gate: it boots every track in the set and proves
    each declared orbit makes sound, which is also the only compile check a .tidal file
    can have (there is no static typechecker for a GHCi fragment). The comment at the
    top says to run it the day before the gig.
    
    It read `setlist_opal2026.txt` from the repo ROOT. That file has never existed. So
    the gate has been unrunnable since it was written — and it failed in the least
    helpful way possible, printing "no such file" per track from an empty list rather
    than saying the setlist was missing.
    
    Now points at `armada/setlist_opal2026.txt`, the file added for #68, so ONE list
    drives both questions: "does every orbit sound" (this) and "which orbits ghost
    across each transition" (orphan-orbits.py). Reorder the gig, re-answer both.
    
    Two fixes it needed to actually read that file:
      * strip TRAILING comments, not just full-line ones — the setlist annotates each
        path with its codename and BPM (`live/…/wap.tidal   # WAP [133]`), and leaving
        that on the line makes every track report "no such file";
      * fail loudly when the setlist is absent, instead of silently iterating nothing.
    
    Also: `--help` was taken as a track name, so asking for help answered
    "FAIL — no such file", which reads like the rig is broken.
    
    Verified: all 13 tracks resolve through the shell reader. Pinned by two tests —
    one asserts check-tracks.sh and orphan-orbits.py name the SAME setlist file (a
    broken gate is invisible until the day you need it), the other runs the actual sed
    pipeline and asserts no comment text leaks into a path.
    
    Suite 435 -> 437, all green. NOT run end-to-end: it needs audio, and it is ~45 s
    per track by design (a tight loop lands evals on a half-loaded interpreter and
    reports false failures). It is the natural companion to tomorrow's run-through.
    PLN (Algolia) authored Jul 29, 2026
    99f8466f
check-tracks.sh 5.6 KB
EditWeb IDE
×

Replace check-tracks.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.