Skip to content

docs(ward-flow): Command mockup and design system, third edition - #2738

Open
BigSimmo wants to merge 20 commits into
mainfrom
claude/review-four-mockups-0l9x8c
Open

docs(ward-flow): Command mockup and design system, third edition#2738
BigSimmo wants to merge 20 commits into
mainfrom
claude/review-four-mockups-0l9x8c

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds docs/ward-flow/mockups/command-third-edition.html, the Ward Flow Command mockup, third edition: the Live edition's content, behaviour, engine, data and layout (masthead figures, route words, one bar stepper, fills only on eligible or recorded wards, grouped rail with derived counts and a reconciliation line, Light Dark Auto appearance control, 10.5 px floor on a seven step scale) re-skinned with the Platinum Raised Cool identity and material (platinum neutrals with a fall of light, deep slate accent, brass as a bar and never a fill, Source Serif 4, Source Sans 3 and JetBrains Mono, alpha hairlines, one elevation step). Light and dark.
  • Adds docs/ward-flow/mockups/design-system-third-edition.html and docs/ward-flow/mockups/WARD-FLOW-DESIGN-SYSTEM.md, the design system that every Ward Flow mockup is built to: the ten rules, the tokens with live swatches and recomputed contrast pairs, the three faces and the scale, the material, the components rendered live from the same stylesheet, behaviour, wording, the accessibility floor, the definition of done with the verification harness, the recipe for a new mockup, the departures from the Board language and from the first and second editions, and the adoption plan for the eighteen mockups.
  • Adds docs/ward-flow/mockups/third-edition-kit/: the merge brief that governed the build, and the headless Chromium harness (check.mjs, shots.mjs) that proves a build in both themes.
  • Presentation and documentation only. No route, component, dependency, build or deployment change. The synthetic data, eligibility engine and reconciliation checks in the mockup script are the Live edition's, unchanged apart from review fixes that are recorded in the design system.
  • This PR is being pushed in stages. The current head is a checkpoint: the review fix pass on the mockup is in progress, and the owner's universal header and rail are not yet grafted in. The final head will carry the full verification below.

Verification

  • Verification not run: checkpoint push while the build is still in progress. The final head will carry npm run verify:pr-local -- --files <the six files> with its summary pasted here, Prettier on the committed files, and the harness output (node docs/ward-flow/mockups/third-edition-kit/check.mjs <file> platinum, ALL GREEN in both themes) for the mockup and the design system page.
  • UI verification not run: verify:ui covers src/ routes; these are standalone reference documents under docs/, not routes, and nothing under src/ changed.
  • verify:release, retrieval evals, production and deployment readiness: not applicable, no executable product scope.

Risk and rollout

  • Risk: none to the product. New documentation files only; no route, component, dependency, build or deployment change.
  • Rollback: revert the commits.
  • Provider or production effects: None
  • RAG impact: none

Clinical Governance Preflight

Not in scope (no ingestion, answer generation, search, source rendering, document access, privacy or clinical output change). The mockup keeps every synthetic data disclosure the prototype carried: the "Synthetic prototype" mark in the masthead, the foot note that every figure is invented and only the site and health service names are real, and the reconciliation line the page derives on every load.

Notes

  • Sits beside PR docs(ward-flow): Command screen mockup, premium light edition #2737 (the Live edition Command mockup and the second edition design standard) and supersedes both editions; the design system's departures tables say what moved from each and why.
  • Google Fonts are loaded by link as the other mockups in docs/ward-flow/mockups/ do; nothing under src/ gains a third party font request.

🤖 Generated with Claude Code

https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv


Generated by Claude Code


Note

Low Risk
Documentation and offline HTML mockups only; no executable product, auth, or data-path changes.

Overview
This PR lands the Ward Flow third edition as documentation and standalone mockups only: no changes under src/, routes, dependencies, or deployment.

It introduces the frozen design standard (WARD-FLOW-DESIGN-SYSTEM.md plus the live design-system-third-edition.html page), merging Live edition behaviour with Platinum Raised Cool visual identity (tokens, ten rules, components, contrast table, adoption plan for eighteen mockups). The Command reference mockup (command-third-edition.html) re-skins the existing Live engine and synthetic data with that standard.

A third-edition-kit adds merge brief, shell/rail inputs, and headless Chromium check.mjs / shots.mjs harnesses; .gitignore now excludes regenerated proof screenshots under third-edition-shots/. data/repo-awareness-snapshot.json registers the new doc paths and bumps snapshot metadata.

The PR description notes this may be a checkpoint before universal header/rail graft and full harness output on the final head.

Reviewed by Cursor Bugbot for commit 6f19733. Configure here.

…ckpoint)

Checkpoint of the merged third edition: the Live edition Command content, behaviour and
engine re-skinned with the Platinum Raised Cool identity and material, the design system page
and document that carry it, and the merge brief and verification harness. The review fix pass
is still in progress and the owner's universal header and rail are not yet grafted in, so this
commit records progress rather than the finished build.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 783f2966-e84b-4b88-953f-222d6bbcef82


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-08T11:53:05.748971Z 4b96c56 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cursor

cursor Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_18d60aad-cbfb-49e6-a3e7-6dbe4fafc656)

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

CI triage

CI failed on this PR. Automated classification of the 3 failed job(s):

  • Production UI (1)not baselined: this job did NOT run on the main comparison below (path-scoped skip), so that run says nothing about it either way. Treat the comparison as absent, not green, and inspect the failing step.
  • Static PR checksneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • PR requiredneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.

Compared with main CI run #16407 (failure). That run's conclusion is an aggregate and did not exercise Production UI (1).

Classification is evidence routing, not permission to ignore a failure. Exact quarantined Playwright identities remain governed by the flake ledger.

@supabase

supabase Bot commented Sep 8, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4b96c56b0e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/ward-flow/mockups/third-edition-kit/check.mjs Outdated
Comment thread docs/ward-flow/mockups/third-edition-kit/check.mjs
Comment thread docs/ward-flow/mockups/third-edition-kit/check.mjs
…cts honest

Three findings from review, all confirmed by running the harness.

The font fixtures the route handlers read were never committed, so
readFileSync threw inside the handler and neither audit could complete
from a fresh checkout. Fixtures now resolve beside the script rather
than from the caller's working directory, a missing fixture falls back
to the live stylesheet instead of throwing, and the run says which mode
it used. The latin subset of the stylesheet and the three variable
fonts it names are committed, so a run is offline and repeatable; all
three families are SIL OFL and their provenance is recorded.

The reconcile assertion required window.__commandCheck of every page.
The design system does not define it, so the two-artifact run the brief
advertises could never pass. It is now gated on the page being Command,
where it stays strict. The diagram height check had the same defect and
is gated the same way.

The type floor tested only minFont and merely printed minSvg, so a
diagram label below 10.5px still reported PASS. The verdict now covers
both, which is the HTML-or-SVG guarantee the design system states.

Verified by running the harness from the repository root: both
command-third-edition.html and design-system-third-edition.html report
ALL GREEN with fonts stubbed locally. The type floor was mutation
tested by forcing svg text to 9px, which now reports
"FAIL typefloor min 10.5px html, 9px svg" and previously passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0142trjgjRAP2GA9wzqoYUAE
Saves everything produced before the session's usage limit stopped the agents: the mockup with the
partial fix pass applied, the design system page and document, the 82 review findings, the harness
output at wind down, the owner's rail and build sheet artifacts, the build sheet specification, the
rail map with the integration plan, a first draft of the restyled shell rules, and HANDOVER.md, which
says exactly what is done, what is not, and how the next session continues.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
The handover checkpoint added HANDOVER.md and inputs/SHELL-SPEC.md,
which cite five paths that do not resolve on this branch, and
docs:check-links failed static-pr on the merge head.

None of the five is a mistake to repoint. SHELL-SPEC.md is the numbered
inventory of the artifacts this kit was built from, each with its
published artifact URL: design-standard.html, header.html and rail.html
live on the working line the owner published the shell from, and
command-premium.html is on claude/hospital-mockup-premium-qzq6cx via
PR #2737. Repointing those citations at files on this branch would
misattribute where each rule was extracted from. HANDOVER.md's
SHELL-REVIEW.md row says in its own text "Not written. The review agent
was cut off. Do it first", so it is a work item that resolves when that
step is done.

Both go in the scoped allowlist with their reasons, which is what that
mechanism is for and matches the existing ward-flow entries. The
documents are left byte-for-byte as the handover wrote them.

Verified: docs link check passed, 7405 repo path references resolve.
Both artifacts still report ALL GREEN through the kit's own harness.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0142trjgjRAP2GA9wzqoYUAE
@cursor

cursor Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_a7a88ade-3267-4038-b120-754535c8ff38)

The wind-down checkpoint and this branch's own fixes added documentation
files (the handover kit's HANDOVER.md, its inputs and shell notes, and
the font fixtures' README), so check:repo-awareness-snapshot failed
static-pr with "documentation differs from the repository".

Regenerated with npm run snapshot:repo-awareness. Five added entries,
no other change.

Verified: check:repo-awareness-snapshot reports in step, 223 pages,
911 documents, 2718 reviews. docs link check still passes with 7405
references resolving.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0142trjgjRAP2GA9wzqoYUAE

BigSimmo commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Standing down on the remaining CI failure: it is not this PR's, and the fix belongs on main.

The two static failures on this branch are fixed and static-pr is green on 81240b034 (broken doc-link citations, then a stale repo-awareness snapshot). What is left is Production UI (1):

[chromium] › tests/ui-sources.spec.ts:145 › Sources remains operable at phone width and under accessibility media
Element has insufficient color contrast of 1.07 (foreground color: #ffff00,
background color: #ffffff, font size: 8.3pt (11px), font weight: normal).
Expected contrast ratio of 4.5:1
<span class="min-w-0 max-h-full overflow-hidden truncate" title="Excluded">Excluded</span>
1 failed, 275 passed

Why it is not this PR's. The diff against main touches docs/ (22 files), scripts/check-docs-links.mjs and the generated data/repo-awareness-snapshot.json. No file under src/ or app/ is changed, so nothing here can alter how the Sources catalogue renders.

Root cause, which is on main and predates this branch. The test runs emulateMedia({ forcedColors: "active" }). In the forced-colors block of src/app/globals.css:

--danger: Mark;         /* line 4742 on origin/main — identical */
--danger-soft: Canvas;

Mark is the system highlight background colour (#ffff00 in Chromium's default high-contrast scheme), not a text colour. The badge renders text-[color:var(--danger)] on bg-[color:var(--danger-soft)], so it resolves to Mark-on-Canvas: yellow text on white, contrast 1.07.

Every sibling status tone in that same block already uses a text colour, which is why only danger fails:

--info: LinkText;
--success: CanvasText;
--warning: CanvasText;
--danger: Mark;          /* the odd one out */

The block's own comment states the pairing rule it is breaking — --danger-solid-contrast: MarkText is documented as "Mark's palette-paired foreground". Mark as a fill with MarkText on top is correct and should stay; Mark as a text colour is not.

Proposed patch, one line, leaving the solid-fill tokens alone:

-    --danger: Mark;
+    --danger: CanvasText;

Why it surfaces here and not on every PR. The violation only appears when an excluded catalogue entry actually renders in the first viewport of /sources/search, so it is data-dependent rather than universal. It is deterministic, not flaky — a re-run would fail identically, so I have not spent one.

I have not applied the patch here. This is a docs-only PR, and a change to the shared forced-colors design tokens affects every status surface in the app and needs its own browser proof rather than riding a documentation change. Raising it for a separate fix instead.


Generated by Claude Code

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
@cursor

cursor Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_63088860-58fa-4f12-853f-73be24887fbd)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
…ository paths

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
Applies the remaining review findings to the Command mockup and the design system page (64 applied,
5 rejected with reasons recorded in the standard), regenerates the Markdown standard from the page,
and re-proves both files with the kit harness in both themes (ALL GREEN). Cites the uncommitted
screenshot folder by a non-path name so the docs link check holds on a fresh checkout, and restores
scripts/check-docs-links.mjs to main now that every citation resolves without an allowlist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
…ion, graft-ready

The owner's header and rail as third edition fragments: the shell stylesheet and the design system
extras, the markup, the script with the engine facade it expects, a standalone preview with its
stub and probes, and the graft notes for the next builder.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
… name in the shell notes

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013eS6SCvB97KyHMCQWpzvzv
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.

2 participants