Mark CXLI
The Counsel
Shipped April 26, 2026
What it is
Per-user retrospective Q&A surface at /dashboard/ask. The user asks anything about their own progress — 'what should I work on this week', 'how's my intonation trending', 'compare my last 3 takes', 'what was my best take last month' — and the Court answers grounded in their FULL history (last-30-days judge_reports + current Oracle plan + streak + profile). Sits between the Teacher (real-time coaching) and the Oracle (automatic weekly plan) — closes the gap of 'tell me about MYSELF retrospectively'. New lib/counsel.ts ships loadCounselContext() (Promise.all-paralleled fetch of profile + recent reports + current plan + streak) + runCounsel() (claude-sonnet-4-6 with locked-voice system prompt + bounded history + bucketed Anthropic failure codes). New /api/counsel/route.ts auth-gates + zod-validates + caps at 24 prior turns. New components/counsel/CounselChat.tsx persists conversation in localStorage keyed by user_id (survives reloads, never lost on logout) with 4 suggested-prompt seeds for cold-start. Three typed analytics events. Privacy: no server-side conversation table — the user's Judge data is the source of truth and re-read every turn; conversation lives in their browser.
Related — same category
First Judge audition: upload a take, get a score. The product hypothesis.
/dashboard with practice streak, recent takes, plan summary.
Practice Forge — guided log + reflection prompts. The retention hook.
Audition Simulator with timed takes + judge panel persona.
See it in the product.
Every Mark exists because string players asked for it. Free demo, no card.