-
fix(setlist): a soundcheck is not a track, and the suite can run again · e8f7066a
Two bugs that were hiding each other, which is why both survived a month. THE SUITE RAN ZERO TESTS. test_setlist.py was a plain script ending in a bare module-level sys.exit(), and pytest raises that during COLLECTION — so 'pytest tools/tests/' aborted the whole directory with an INTERNALERROR and ran nothing, while 273 tests passed when invoked file-by-file. Every test in this repo was invisible to the obvious command. Guarded the exit under __main__ (the script still works run directly) and added one assertion so pytest actually sees the checks. Whole suite in one command now: 274 passed, 2 skipped, 0 failed. AND THE THING IT WAS HIDING: test_setlist had been failing all along, on a check whose name says exactly what is wrong — 'a deliberation note is not a track (the quand_on_decolle phantom)'. OPAL 2026's backlog section opens with ## SOUNDCHECK -- Quand on decolle and entries() takes every list item under the gig heading, so every one of the tools reading this setlist believed the set had 16 tracks opening on Quand on décolle. The recorded set has 15 and opens on Ceci n'est pas Une Bombe (segments_v3/v4 track 1). The parser now yields 15, in the right order. The fix is deliberately NOT the section whitelist entries() refuses to build — that one tried to enumerate which of PLN's prose headings are part of the set and died on '## Livecoding Techno DNB Nu-jazz'. This is the inverse and far narrower: naming the one phase that is definitionally not a performance. Three patterns, and skips print to stderr, because a dropped track and a skipped soundcheck must never look alike. Fixed the parser, never backlog.md — the backlog is PLN's own file and it was right. A soundcheck IS in his set list; it just isn't in his set. Verified by breaking it: neutered _NOT_THE_SET_RE, watched test_backlog_setlist_checks_all_pass fail naming the quand_on_decolle phantom, restored, 274 green. the first track was never the first track. sixteen tools agreed with each other and none of them agreed with the recording.PLN (Algolia) authorede8f7066a
×