Player-facing#132 of 139

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.

Share The CounselPost on XEmail
Previously
Mark CXL · The Cleanup
Next up
Mark CXLII · The Founding Bridge

Related — same category

See it in the product.

Every Mark exists because string players asked for it. Free demo, no card.