Skip to content

design: warm-minimal tokens, and the evidence fixes underneath - #77

Open
adamstankiewicz wants to merge 3 commits into
feat/mcp-pathway-and-reportingfrom
design/warm-minimal
Open

design: warm-minimal tokens, and the evidence fixes underneath#77
adamstankiewicz wants to merge 3 commits into
feat/mcp-pathway-and-reportingfrom
design/warm-minimal

Conversation

@adamstankiewicz

@adamstankiewicz adamstankiewicz commented Aug 30, 2026

Copy link
Copy Markdown
Owner

What & why

Two commits, deliberately separable in review:

  1. Behavioral fixes (ported from the parked redesign branch, no visuals attached): telemetry stepIndex now rides inside the interaction payload — dropping it at the write path is what made per-step reporting impossible; both storage adapters aggregate per-step evidence into a StepOutcome strip (shared pure buildStepStrip; pre-fix events honestly render "not reached"); the report gains a Steps column with strip + legend; session summaries carry step/activity counts; injected remediation steps no longer cost a star.
  2. The "Verified plain, warm" retheme, tokens-only: warm-biased neutrals, primary flipped to ink so the only saturated voices are semantic tokens (verification green never decorates), stock shadcn radius, violet gradient chrome retired, Lexend out, Source Serif 4 in as the one reading-surface serif. Chromatic token values unchanged, so documented AA ratios hold. Direction confirmed at a design crit against Mobbin references.

Type of change

  • Bugfix
  • Code quality / tests

(Two boxes acknowledged — the template says split, and these commits can be: say the word and the evidence fixes land alone. Kept together because the fixes were extracted in service of this retheme and share its verification.)

Breaking or contract changes

SessionSummary/SessionStudentRow gain fields (additive); telemetry stepIndex moves inside payload — the report reads it back out, and pre-existing rows render honestly as "not reached" rather than being migrated or guessed at.

How it was verified

  • pnpm lint and rm -rf .next && npx tsc --noEmit
  • pnpm build
  • Manual pass on all rethemed surfaces (builder, dashboard, walkthrough, report, /learn, /games) in light and dark on a local instance
  • Evidence strips exercised end-to-end against the memory adapter

Authorship

  • I understand every line of this diff
  • Agent-assisted or agent-authored: authored by Claude working interactively with @adamstankiewicz, who set the design direction at a crit checkpoint
  • No package.json / pnpm-lock.yaml changes

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
interactive-learning-experiences Ready Ready Preview Aug 31, 2026 12:39am

Request Review

@adamstankiewicz
adamstankiewicz changed the base branch from main to feat/mcp-pathway-and-reporting August 30, 2026 18:49
adamstankiewicz and others added 3 commits August 30, 2026 20:38
Behavioral fixes ported from the parked design branch, without its visual
system:

- Telemetry stepIndex now rides inside the interaction payload — dropping
  it at the write path is what made per-step reporting impossible.
- Both storage adapters aggregate per-step right/wrong evidence and derive
  a StepOutcome strip per student (shared pure buildStepStrip helper);
  events recorded before the fix honestly render 'not reached'.
- The session report grows a Steps column with the evidence strip and its
  legend.
- Session summaries carry stepCount/activityKinds; the dashboard card
  states them.
- Injected remediation steps no longer cost the student a star.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
'Verified plain, warm' — a tokens-only retheme, no layout changes:

- Warm-biased neutrals (paper ground, warm ink) replace the cool
  greyscale; primary becomes ink, so the page's only saturated voices are
  the semantic tokens. Verification green is the signature and never
  decorates.
- Near-stock shadcn otherwise (default radius, standard roles) — the
  retheme itself documents the theming seam.
- Lexend and the violet identity retire: builder, /learn, shared view,
  and /games drop their gradient chrome for token surfaces; game content
  keeps its own colors.
- Source Serif 4 arrives as --font-serif; reading passages are the one
  serif surface.

Direction confirmed at design crit against Mobbin references (ElevenLabs/
Vapi tables, Linear type discipline, Profound build stream, Brilliant/
Uxcel student surfaces, Spade landing register).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The four outcomes map; pre-stepIndex history reads as unreached rather
than fabricated; zero-step plans and out-of-range evidence stay honest.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant