Every evaluation heuristic is either a static [NOW] check or a [L3] check blocked on a perception bridge that does not yet exist
The quality rubric for a livecoded set tags every heuristic as either [NOW] — checkable today by static analysis of the code and diff structure, with no perception needed — or [L3] — requiring a perception bridge (get_fft, screenshot, did-output-change diff) that does not exist yet. Until L3 lands, the agent can only evaluate intent versus code structure, not intent versus perceived result, and must not claim to have run any check that needs perceiving the actual output. A separate not-possible category covers checks that require capabilities the rig cannot provide at all.
Examples
[NOW]: is .out() present in the sketch? (checkable by reading the code). [L3]: is the canvas all black? (requires a screenshot). Not-possible: is the kick colliding with the bass? (requires onset detection, unavailable on this rig).
Assessment
Categorize these three checks and justify each: (1) does the diff touch a sound-producing token? (2) is mean canvas luminance below 0.03? (3) is the onset rate above 4/sec?