-
feat(silent-eval): execute every track's dN against an empty control map · 02cdd985
PLN, playing this morning: "ctrl_enter on do it right, i hear the 4-bar pattern each bar lower, 4th barely audible, its clearly a xfade". Every dN is `xfade N` with xfadeIn 4, so those four bars are the PREVIOUS pattern leaving — the new one was already silent, and the crossfade was handing the bug a graceful exit. Two guards existed and neither could see it: * check-boot.sh runs the g* HELPERS against an empty control map — but the dangerous "^NN" uses are in the TRACKS. `# crushbus 41 (range 16 4.5 "^53")` is do_it_right's line, not BootTidal's, so check-boot stayed green while that orbit emitted nothing. * check-tracks.sh measures real audio — ground truth, but it needs the rig, a quiet house and ~45s a track. This is the missing middle: rewrite each `dN $ ...` into a plain binding on top of BootTidal's dedented helper block (with the track's own `let`s shadowing, as they do live), then QUERY it with a deliberately empty controls map. Pure pattern evaluation — no stream, no scsynth, no MIDI, no port 6010 — so it is safe to run mid-set and answers all 13 tracks without anyone's ears. RESULT, and it is unambiguous: empty control map 23 orbits silent across 10 of 10 buildable tracks, including desire d1-d6, i.e. the ENTIRE track with the #55 seed ZERO. Every declared orbit emits events. The seed is necessary AND sufficient. The tracks are not broken; the silence PLN heard means the seed did not reach the running Tidal. TWO BUGS FOUND IN THIS TOOL BEFORE TRUSTING IT — both would have been confidently wrong findings, and both were caught by looking at output rather than at code: 1. The seed parser used `[^\]]+?` to capture `n <- [13..20] ++ [29..36]`, which stops at the first `]`. It silently produced 4 seeds instead of 51, so the "seeded" run was indistinguishable from the unseeded one. Now line-based. 2. Far worse: the first version queried ONE cycle and reported six orbits as silent. Every one was a false positive — `mask "<f!24 t!8>"`, `"<~ [~ ~ ~ cheval]>"`, `n "<~ <~ 7> ~ 5>"` are alternations whose cycle 0 is empty BY DESIGN, risers that fire once every 8 or 32 bars. Collapsing the time axis cannot distinguish sparse from dead. Now queries a 64-cycle window and prints the first sounding cycle when it is later than 4. Honest limits: 3 of 13 tracks (perfect, mafia_sans_serif, the_revolution) do not yet build in the harness — `cutoff` is ambiguous between BootTidal and Sound.Tidal.Params, and one chord literal needs its type pinned. These are reported as BUILD FAILED and explicitly never as a verdict about the music, so a harness limit cannot masquerade as a finding.PLN (Algolia) authored02cdd985
×