JamGuide resolveDegree imported directly (exported by the L-40
ride-along) via a .jsx resolve-retry hook; 17 new checks (export pin +
16 per-degree JamGuide sweeps) -> smoke 866/866. Sabotage-proven: a
perturbed JamGuide cell turns smoke red naming the exact drift.
Authored by the C-42 sweep agent pre-termination; verified and
sabotage-tested by Maestro (spend-limit fallback).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>
checkPianoRecipe stacks each hand low-to-high (nearest strictly above,
repeated pc -> octave up) and fails any hand spanning > 15 semitones
(minor 10th, SCHEMA rule 3); errors name style/prog/play/chord/hand/
span; refactored to a pure exported checker surfacing all errors per
recipe. Smoke +6 checks -> 799. Independent gate PASS (injection
surfaces 10 named errors exit 1; weakened gate caught behaviorally).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
+705 checks (776 total): per quality x root x style, asserts pcs subset of voicingToneSet,
real 3rd present, true-7th when hasTrueSeventh, notes in [0,36], bass==min, no duplicate
absolute note, determinism, chain pcs-preservation. Surfaced the sus2 dup-note wart (fixed
by L-13). Critic adversarially confirmed the checks bite. Derived expectations, no hardcoding.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 progressions (Mixolydian vamp, I-IV-V, minor descent, axis, Dorian
riff cell) x 2 plays: open-chord Malcolm hits, second-guitar triads,
Keith sus figure, power-chord chug, Police add9 arpeggios, thumb-over
embellishments. omit3 is a declared omission like rootless - the
pitch-class check still applies. Validator and build green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SCHEMA.md authoring contract, validate-kb.mjs quality gate (pitch-class
verification of shapes against chord qualities), registry, and the jazz
style: 5 progressions x 2 guitar plays (shells + drop-2), comping
rhythms, improv guidance, sourced licks. Validator and vite build green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>