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
  • pvlint
  • tests
  • test_rules.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    feat(pvlint): PV014 + PV011-as-error — and they immediately found mafia's acid · b8344ac1
    PLN, at rehearsal, on take_5_drops' d7 coming out muffled:
    
      "i saw also its crushbus was 41, a d7 with sub 4 is sus -- and two effects on
       same bus is a redflag as it means fighting for bus! so we gotta flag warning
       any 'bus nXY on dX' as sus (e.g. bus 41 (d4's) on d7 here), and any shared
       bus (^41 on d4 and d7) as PV error"
    
    Two rules, exactly as specified.
    
    PV014 (warning) — a bus slot numbered for a different orbit. The convention is
    <orbit><slot>: d4 owns 41/42, d10 owns 101/102, and a bare `bus 4` on d4 is the
    same idea with one slot. MEASURED before encoding it rather than assumed: 894
    of 984 bus references under live/ conform, 90.9%. A real convention, not a
    tidiness preference. Mis-numbering is *how you accidentally share* a bus, so
    this rule sits upstream of PV011 and catches the cause, not the symptom.
    
    PV011 promoted warning -> error. It shipped as a warning on the theory that
    sharing a bus is legitimate glue. Rehearsal disproved that theory.
    
    The asymmetry with PV008 is deliberate and now documented in both rules and
    pinned by a test, so no future refactor quietly aligns them: yesterday PLN
    DEMOTED a shared button to a warning ("its ok when two percs are linked"),
    today he PROMOTED a shared bus to an error. A shared button is one hand doing
    two things on purpose and you hear it instantly. A shared bus is two orbits
    fighting over one effect instance with the winner decided by event density —
    you don't hear a mistake, you hear a slightly wrong sound and blame the synth.
    Surprises you can hear are warnings; surprises you cannot are errors.
    
    THE PAYOFF, first run, in a track still in the set. mafia_sans_serif's d7 was
    already carrying PLN's own note "FIXME ACID WEIRD NOT GOOD". It had THREE
    collisions with d4's moog bass, none visible in the code:
    
        # cut 4        every acid note truncated the bass, and vice versa
        # crushbus 41  one crush instance, ^35 and ^32 fighting over it
        # octerbus 42  one octer instance, ^55 and ^52 fighting over it
    
    d7 now owns cut 7 and slots 71/72. That is a diagnosis for a FIXME he wrote
    without knowing the cause, produced by a rule written twenty minutes earlier.
    
    Set is 0 errors / 9 warnings, silent-eval --seeded 14/14 ok, pvlint 68/68.
    PLN (Algolia) authored Aug 02, 2026
    b8344ac1
test_rules.py 19.7 KB
EditWeb IDE
×

Replace test_rules.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.