test(smoke): drift guards for resolveDegree + technique vocab (task C-40)
Smoke 836/836: a literal 16x14 degree truth table (all 224 cells independently recomputed at the gate) pins the validator resolveDegree behaviourally via span-probe recipes; technique vocab set-equality between validate-kb LICK_TECHNIQUES and LickCard TECHNIQUE_VOCAB via a scoped .jsx esbuild load hook. Both guards sabotage-proven twice (author + gate, different perturbations). Ride-along: loop-fixtures header line-ref fixed to App.jsx:363-365. Critic PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Each fixture is a realistic `chordHistory` as App.jsx commits it (plain chord
|
||||
// name strings from matchChordFromChroma — "C", "Am", "G7", "Cmaj7"…; the commit
|
||||
// layer at App.jsx:322-324 suppresses ADJACENT duplicates, so histories here are
|
||||
// layer at App.jsx:363-365 suppresses ADJACENT duplicates, so histories here are
|
||||
// adjacent-dup-free except the one fixture that deliberately tests dups) plus the
|
||||
// loop a musician would say they are playing (`expect`, or null for "no loop").
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user