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
  • armada
  • tide-table
  • tests
  • test_setlist_to_segments.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    test(tide-table): the OPAL title join needs the page to be as-performed · 7e966a5b
    Audited what could have consumed the phantom SOUNDCHECK entry positionally.
    Answer: nothing did. The two real consumers of setlist.entries() are safe --
    take-segments.py builds a dict keyed by path stem (a phantom adds one unused
    key) and migrate-columns.py calls tracks(), not entries(). No shipped artifact
    was off by one.
    
    But the audit found a different positional coupling, live and undocumented.
    opal_title_map() joins tracks.json's 1..N performance order against
    segments_v4.json's perf_track. OPAL was played as 15 tracks; the release cut
    Desire, and segments_v4 renumbered around the hole -- its perf_track keys are
    1..13 and 15, with no 14. So the join lines up only while Desire still holds
    performance slot 14.
    
    Measured both ways rather than argued: as-performed yields 14 mappings
    including REVOLUTION; drop Desire to make the page match the release and it
    falls to 13. REVOLUTION's title is LOST -- silently, with nothing mislabelled,
    which is what would have made it hard to notice. PLN chose as-performed today
    as a documentary call about the page; this join quietly depended on the same
    answer, and nobody knew the two were connected.
    
    So: the assumption is written down where the join lives, and three tests hold
    it -- every released track gets a title, the encore by name, Desire maps to
    nothing rather than borrowing a neighbour's, and the hole at perf_track 14 is
    still really there. That last one matters: if segments_v4 is ever renumbered
    densely the reasoning stops holding, and the right outcome is a red test
    rather than a quietly missing track.
    PLN (Algolia) authored Sep 05, 2026
    7e966a5b
test_setlist_to_segments.py 3.41 KB
EditWeb IDE
×

Replace test_setlist_to_segments.py

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.