Skip to content

Design/practice pathways - #71

Draft
adamstankiewicz wants to merge 14 commits into
mainfrom
design/practice-pathways
Draft

Design/practice pathways#71
adamstankiewicz wants to merge 14 commits into
mainfrom
design/practice-pathways

Conversation

@adamstankiewicz

Copy link
Copy Markdown
Owner

No description provided.

adamstankiewicz and others added 5 commits August 23, 2026 13:53
The handoff's palette lands in globals.css with the shadcn token names
kept so every existing component re-skins for free: warm graphite ink +
the highlighter as primary (marker-never-surface rule noted where the
1px ink border must ride along), semantic verified/warning/error with
their tint+edge pairs, warm-biased neutrals, and dark as a sibling (ink
on the highlighter in both themes). Teacher register goes square
(--radius: 0); .register-student raises it — the one systematic
difference between registers. Guest-hue machinery ships as
.activity-skin: four derived colors from a single --activity-h at fixed
lightness/chroma per theme. Focus becomes 3px ink everywhere; the
purpose-tag pairs land as tokens. Type: Archivo (with the width axis),
IBM Plex Sans/Mono, Source Serif 4 for student reading — Geist and
Lexend retire. Every pair matches the handoff's measured AA ratios.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The nav goes flat-card with a 1px rule: the highlighter brand mark wears
its mandatory ink border, the active item is an inset brand-fill
underline, and the active standards source shows in verified mono
(derived server-side from STANDARDS_SOURCE, so it stays truthful when a
deployment swaps graphs). The dashboard becomes the spec's table:
quick-create bar handing off to the builder's existing ?topic=&grade=,
reuse chips from recent topics, mono uppercase column headers, rows with
verification chips (icon + word, never colour alone — EXPLORATION gets
the honest warning), tabular counts, and completion as the row's only
emphasised figure with an ink progress bar. Empty/loading/error states
restyled square.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… 1i)

The hero becomes the spec's ink plane — literal ink in both themes, mono
overline, the headline's emphasis in highlighter — with the form as the
white card floating on it (scoped .light-surface so its tokens hold in
dark mode, 6px hard shadow, ink border). The CTA becomes the
highlighter-with-ink-border primary; examples and grade select go square
and quiet. ActivityTrail is restyled to the spec: square 7px strip
segments (verified when done, pulsing ink while active, warning when
skipped), the headline in brand text while running and verified when
done, 19px square stage markers, 'The graph votes' as a labeled verdict
row where rejections stay on screen, the provenance panel open by
default during a run, and motion-reduce variants on every pulse. The
degraded run gets its banner: exploration pathways name their cost
plainly and keep the rejected codes on the record.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The student surfaces stop hard-coding pastel chrome: /learn and shared
pathways become .register-student on tokens — dark mode finally real for
students — with the rounded radius as the register's one systematic
difference. The walkthrough header becomes the spec's three things: the
verified/exploring chip in honest mono, a quiet break link, and the star
as ink-on-highlighter with a tabular count. Progress segments speak the
palette (verified done, highlighter current, injected slots outlined in
brand-press), and every press-shadow button moves to the
highlighter-with-ink-border treatment with motion-reduce variants.

ActivityFrame lands as the chrome around every widget kind: 2px edge-hue
border, tint header with a fill-hue marker bar, title + kind label, and
a state slot (review shows '✓ done', injected remediation announces
'just added'). The guest hue derives per-kind through the reserved-band
mapping until the spec carries a model-chosen hue; it renders only on
the frame, never on page chrome. The continue button now states its
reason — waiting, ready, or no-finish-line — instead of implying it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The four purpose tags across the plan document and the report previews
move onto the AA-checked purpose tokens (one definition in globals.css,
both themes), replacing three separate raw-palette copies. Step widget
previews in the plan document render inside the ActivityFrame, so a
step's activity carries its guest hue in review exactly as it does for
the student. Provenance and share affordances go verified-tinted; the
report's status badge becomes the icon-and-word chip pair
(✓ Completed / In progress on the warning pair).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 23, 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 23, 2026 6:53pm

Request Review

adamstankiewicz and others added 3 commits August 23, 2026 14:14
The create screen gets the spec's two-column layout while a run streams:
a 430px left column with the five stage rows and 'The graph votes' as
settling verdict rows (pending dashed, verified tinted with source +
anchor/companion labels, rejections struck and kept), and a right column
where the anchor card slides in — chip, description, decomposition,
prerequisites — and plan steps appear one at a time, each with a
guest-hue activity cell reading 'configuring…' until its widget arrives,
then the kind and its completion behaviour in words. The narrative
retires when the run finishes and the document takes over; the trail's
disclosure becomes after-the-fact provenance.

Plan review gets its 316px rail: assignment first, provenance (anchor +
companions + struck rejected codes, kept on the record), and coverage
bars per outcome computed from the plan itself, with the honest '· thin'
note. The builder widens to the spec's canvas with the form still a
centered 3xl card.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The dashboard adopts the spec's six-track grid (1fr 122 96 108 128 20)
with Built as its own column and the spec's 15px row padding. The
student walkthrough replaces the segmented progress row with the spec's
single continuous 14px bar: a highlighter fill tracking progress,
brand-press notches marking injected remediation (pulsing on arrival),
and invisible per-step buttons overlaid so tap-to-review survives the
visual change. The quiet line beneath states position or 'just added ·
extra practice', with topic and standard on the right.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The dashboard's chip line was specced to show step and activity-type
counts; the data now exists. SessionSummary gains stepCount and
activityKinds, derived from the plan's own steps in both adapters —
Supabase selects just plan->steps to keep the listing payload small, and
the memory adapter reads the stored plan directly. Zero steps (a build
that never finished) simply shows no counts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The spec's step strip needed data nobody was keeping: stepIndex reached
the telemetry route on every widget_completed event and was dropped at
persistence. It now rides inside the interaction payload, and both
adapters aggregate it per student per step into a StepOutcome strip
(first-try / needed attempts / still wrong / unreached) via one shared
pure helper. The report table gains the strip column with a legend and
per-cell words for tooltips and screen readers; events recorded before
stepIndex persisted honestly render as unreached rather than guessed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Buttons, labels, headings, modal titles, page metadata, widget and game
display names — Add student, Class roster, Save changes, Pathway report,
In progress, Draft meter, Timeline builder, Memory match, and the rest.
Content strings keep their real capitalization (Magna Carta, Frederick
Douglass, the San Andreas Fault, a planetary mnemonic); proper nouns
like Practice Pathways, Learning Commons, and Debate AI stay proper.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Ink plane goes quiet: mono overline + grey sub-line only, the white card
  is the hero; grade and the primary CTA are visible up front, with the
  example chips moved below the controls row.
- Headings pick up Archivo's width axis (font-stretch 112%).
- Build strip: dedicated --track token for progress tracks, and the active
  segment fills proportionally instead of pulsing at full width.
- Walkthrough header is three things — a 30px circular exit, the continuous
  14px bar, and the star count — with state, topic, standard chip, and the
  break link relocated to the quiet line beneath.
- Dashboard: no-opens rows read 'Needs your review'; quick-create gains the
  blinking caret and a lesson-plan attach control.
- Build narrative activity cells show the activity's human name, not the
  slug.
- Report leads with its four figures: opens, completed, completion %, and
  remediations in the warning colour.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Reading passages (markdown-card body, 17px/1.65) and the student's own
draft (draft-meter and writing-workshop textareas, 15px/1.65) move to the
serif per the type spec; surrounding UI chrome stays IBM Plex Sans.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
While a run streams, PathwayDocument (skeleton and streaming content alike)
no longer renders below the two-column BuildNarrative — design 1c makes the
narrative's right panel where the pathway forms, and the document the
after-the-run artifact. The completion strip picks up the specced footer
line: nothing assigned yet, rejected codes kept on the session record.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Injected remediation steps cost no star, the frame shows their real
  "Let's revisit: …" title, and a reassurance line states both (1g).
- Student surfaces widen to the specced 940px.
- Editable document text shows the specced dashed underline on hover
  instead of a background wash; the step being regenerated is highlighted
  with an inset brand-fill edge (1d).
- MarkdownCard stops drawing its own card chrome and header — the
  ActivityFrame owns both at every render site (1h) — and the document's
  frame previews lead with the step title rather than the kind label.

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