--- name: beatlab-contract description: BeatLab JSON contract for 16-step (0-15) pianoSequence & drumSequence. Use when generating or editing beats. user-invocable: false --- # BeatLab Contract (v1) You must follow this exact contract (Mastra AI Beats Lab compatible): - Steps: 16 (0-15) - Output JSON must include: - "pianoSequence": object mapping each allowed note -> array of step numbers (0-15) - "drumSequence": object mapping each allowed drum sound -> array of step numbers (0-15) Allowed piano notes (fixed): C5, B4, A4, G4, F4, E4, D4, C4, B3, A3, G3 Allowed drum sounds (fixed): Kick, Snare, HiHat, Clap, OpenHat, Tom, Crash, Ride, Shaker, Cowbell Musical defaults (helpful heuristics): - Kick often on 0 and/or 8 - Snare often on 4 and/or 12 - HiHat can be steady (e.g., every 2 steps) but avoid over-density - Keep melody minimal (few notes, repeating motif) Output should be ONLY JSON when asked for Beat JSON.