Piano is computed (pianoVoicingChain over canonical stations), no
authored KB needed; guitar path value-identical; tap-station guide-tone
contract intact; App.jsx untouched. Critic PASS (303/303 empirical
station checks across 3 progressions x 3 keys; voice-leading threads).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Playable voicings per chord, lick/technique cards, intermediate
progressions with level tags, Knowledge Center IA revamp; L-11 hold
lifted and carried forward; /jam-loop 30m x 24 iterations scheduled.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A forced rootless sus2 collided the suspended-2nd and synthesized 9th onto one key
(notes [26,26,31]). Dedupe at the single funnel point ([...new Set(placed)]); pcs/bass
derived from the deduped array. No-op on default/chain path (L-11 render unaffected).
Critic: Set merges only identical absolute integers (same key) so no needed note is lost.
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>
MiniPiano now dispatches: with a voicing={pianoVoicing(...)} prop it renders the
{notes,pcs,bass,style,label} on a 2-3 octave keyboard (root accent, bass amber-ringed,
thumb/full); without it, the legacy {rootPc,lh,rh} path is byte-unchanged so
ChordDetailModal + ExplorePanel render identically. Critic PASS.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Completes the flagship Roadmap feature. App.jsx lifts a jamFocusChord state (additive,
+10/-0, audio callbacks/refs untouched); JamGuide emits the tapped station's {rootPc,
quality} via onFocusChord; Fretboard halos the 3rd/7th with a degree badge.
Also fixes root-cause guideTones: hasSeventh now keys on real m7/M7 (interval 10/11),
not length>=4 -- so add9/maj6/min6 no longer badge their 5th/6th as a '7'. Fretboard
badge derives its label from the actual interval (belt-and-suspenders). RoadmapTrack
lane self-corrects. Critic returned-then-PASS on re-gate; build + smoke + validator green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 pop progressions x 2 plays: axis (I-V-vi-IV), '50s doo-wop, Canon pop line,
Mixolydian bVII, minor loop (i-bVI-bIII-bVII). Open campfire + movable/barre play each;
sus taught as fills (chords voiced plain). KB now 10 styles / 50 progressions / 100 plays.
Critic PASS (voicings hand-verified, no duplicate ids).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Leads with the dual vision + Roadmap Jam Guide; honest works-today vs in-progress split;
real quickstart; KB data-contract contributing hook; links GOAL.md + docs/agents/. Fixes
stale frontend/ paths and the release/ output dir. Critic PASS (all links + commands verified).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Renders movable {rootStr,offsets} and open {frets,onlyRoot} KB shapes; computes movable
base fret from chord rootPc in standard tuning (E-shape A7 -> fret 5); root in accent
purple; thumb/full sizes; graceful '-' fallback for unplaceable shapes. Critic PASS.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
User chose concept C (Roadmap, improv-first highway). Re-planned L-01/L-02/D-01/D-02
and added L-01b (derived theory: guideTones, voiceLeadingPairs, soloScale) and D-01b
(secondary ChordDiagram thumbnail) to match Roadmap's needs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Muse explored three distinct philosophies for the live Jam Guide panel:
- Stage: live-play-at-a-glance (current chord huge, next preview, one big grip)
- Playbook: study/comparison grid (loop chords x voicings, more-ways expand)
- Roadmap: improv-first highway (playhead, guide tones, scale, voice-leading rails)
Each in docs/design/jam-guide-concept-{a,b,c}.md. Awaiting user pick (D-SEL).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds a standing team that builds JamBuddy as both jam companion and
open-source learning platform, collaborating through files (shared
ledger + repo), conducted by one scheduled loop.
- .claude/agents/{maestro,professor,luthier,muse,critic,herald}.md
- dispatchable subagents, one per domain with file ownership + DoD
- .claude/skills/jam-loop/SKILL.md - the conductor (main loop appoints
workers, Critic gates, Maestro reconciles); generalises /kb-expand
- docs/agents/ROSTER.md - team, ownership map, cadence weights
- docs/agents/PROTOCOL.md - task-locking conflict guardrail, ledger
lifecycle, appointment algorithm, scheduling, PR-via-API
- docs/agents/LEDGER.md - live board seeded with sprint-jam-guide
- GOAL.md - links the ensemble; build still green
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 progressions (8-bar country I-IV-V, Wagon Wheel folk axis, ragtime
I-VI7-II7-V7 circle, Rising Sun 6/8 climb with corrected changes,
bluegrass I-IV-I-V) x 2 plays: open G/C-family boom-chick sets with
capo strategy, anchor-finger folk grips, barre fallbacks. Comping
documents boom-chick, Carter bass runs, Travis picking, train beat,
waltz. Sourced Lester Flatt G-run licks. Research corrections honoured
(Rising Sun is i-III-IV-VI, not Andalusian; ragtime is the full VI7
circle). Validator and build green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 progressions (circular I-IV-V, two-chord vamp, i-bVII minor vamp,
No Woman No Cry I-V6-vi-IV, verified rocksteady I-ii-iii-ii) x 2
plays: top-3 skank triads, Wailers middle-string set, top-4 partials,
quality-neutral 5+R dyads. One-drop/double-skank/ska/bubble grids
documented. Research flags honoured (NWNC is major-key; Get Up Stand
Up stored as near-one-chord; doo-wop claim replaced with verified
Queen Majesty changes). Validator and build green.
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>
5 forms (standard/quick-change 12-bar, 8-bar, minor blues, turnaround
cycle) x 2 plays each: barre shuffle, Texas 9th stabs, Chicago tritone
shells, minor m7 + 7#9 climax. 4 named comping patterns, improv rules,
2 sourced licks. 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>