Skip to content

refactor(ui): adopt PageHeader on mode pages and Button in sidebar - #2426

Merged
BigSimmo merged 8 commits into
mainfrom
claude/ds-h36-page-header
Aug 27, 2026
Merged

refactor(ui): adopt PageHeader on mode pages and Button in sidebar#2426
BigSimmo merged 8 commits into
mainfrom
claude/ds-h36-page-header

Conversation

@BigSimmo

@BigSimmoBigSimmo commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

Verification

  • [x]
    pm run format on changed files (included in this commit)
  • [ ]
    pm run verify:pr-local

Verification not run: approved 6-PR split publication; local format applied to the replayed slice. �erify:pr-local, lint, typecheck, unit, and hosted CI were left unrun by request.
UI verification not run: �erify:ui left unrun by request.

  • [ ]
    pm run verify:ui when UI, routing, styling, browser behavior, reduced-motion, or forced-colors behavior changed
  • [ ]
    pm run verify:release before release or handoff confidence claims

For retrieval, ranking, selection, chunking, source/citation rendering, or answer-contract changes, �erify:pr-local runs eval:rag:offline automatically. Run the offline command directly during iteration before spending a live eval.

  • **
    pm run eval:retrieval:quality (must stay 36/36) when retrieval, ranking, selection, chunking, or scoring behavior changed** — CI cannot run it (needs live keys), so run it locally and paste the summary. A metadata/governance-weighting change once buried correct docs (recall 1.0→0.76) and only this eval caught it.
  • [ ]
    pm run eval:rag -- --limit 15 +
    pm run eval:quality -- --rag-only when answer generation, the synthesis prompt, or answer post-processing changed (grounded-supported must not drop; citation-failure 0)
  • [ ]
    pm run check:production-readiness when clinical workflow, privacy, environment, Supabase, source governance, or deployment behavior changed
  • [ ]
    pm run check:deployment-readiness when deployment startup, hosting, or rollout behavior changed

Risk and rollout

Complete this section for clinical, data, API, auth/privacy, workflow, dependency, build, or deployment changes.

  • Risk: low — shared header/button primitives on existing mode routes; no retrieval, ingestion, or auth changes.
  • Rollback: revert this PR.
  • Provider or production effects: None
  • RAG impact: no retrieval behaviour change — design-system tap/chrome/tokens only.

Clinical Governance Preflight

N/A — design-system tap/chrome/tokens only; no ingestion, answer generation, search/ranking, source rendering, document access, privacy, production env, or clinical-output contract changes.

Notes


Note

Low Risk
UI-only refactors to shared header and button components; no auth, data, or retrieval changes, with minor visual/regression risk on sidebar and catalogue headers.

Overview
Standardizes clinical mode chrome by replacing hand-rolled page headers with PageHeader / InformationPageHeader across dictionary, differentials, factsheets, formulation, and specifiers (including compare queues, map/builder flows, and diagnosis detail). ClinicalSidebar swaps many raw <button> elements for the shared Button primitive (ghost/primary, icons, testId).

Alongside layout consolidation, interactive and link copy shifts from font-bold / font-extrabold toward font-semibold for consistent tap-weight. Formulation builder textareas use focus-visible outline instead of ring styling. Design-system adoption manifest and COMPONENTS inventory reflect new Button and PageHeader import sites. A small favourites mockup tweak applies --text-muted for readable body copy per DS-P0-06.

Reviewed by Cursor Bugbot for commit 884fbbb. Configure here.

Mode homes and compare/detail routes still hand-rolled headers, and the sidebar used raw buttons. Adopt PageHeader and Button so those surfaces share the same chrome and type weight as the rest of the shell.
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitaiBot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 34 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 102 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b7ab6b4f-04f4-46a1-8b48-f1c6be83ed85

📥 Commits

Reviewing files that changed from the base of the PR and between ce09432 and 41d46f6.

⛔ Files ignored due to path filters (2)
  • docs/design-system/COMPONENTS.md is excluded by !docs/**, !**/*.md
  • docs/design-system/adoption-manifest.json is excluded by !docs/**
📒 Files selected for processing (21)
  • src/components/clinical-dashboard/ClinicalSidebar.tsx
  • src/components/dictionary/dictionary-catalogue-pages.tsx
  • src/components/dictionary/dictionary-compare-page.tsx
  • src/components/dictionary/dictionary-sources-page.tsx
  • src/components/dictionary/dictionary-term-page.tsx
  • src/components/differentials/differential-compare-queue-page.tsx
  • src/components/differentials/differential-detail-page.tsx
  • src/components/factsheets/factsheet-detail-page.tsx
  • src/components/factsheets/factsheets-topics-page.tsx
  • src/components/favourites-phone-perfected-mockups/favourites-phone-perfected-page.tsx
  • src/components/formulation/formulation-builder-page.tsx
  • src/components/formulation/formulation-compare-page.tsx
  • src/components/formulation/formulation-home-page.tsx
  • src/components/formulation/formulation-map-page.tsx
  • src/components/formulation/formulation-mechanism-page.tsx
  • src/components/specifiers/specifier-builder-page.tsx
  • src/components/specifiers/specifier-compare-page.tsx
  • src/components/specifiers/specifier-map-page.tsx
  • src/components/specifiers/specifier-record-page.tsx
  • src/components/specifiers/specifier-reference-page.tsx
  • src/components/specifiers/specifier-ui.tsx

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

@cursor

cursorBot commented Aug 27, 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_1011ccb9-654a-4b03-804e-eac4e33e6237)

@github-actions

github-actionsBot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

CI triage

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

  • Static PR checksneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • Unit coverageneeds investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • Production UI (1)needs investigation: inspect the failing step and uploaded diagnostics; rerun only after classifying the cause.
  • Production UI (3)needs 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 #14242 (failure).

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

@cursor

cursorBot commented Aug 27, 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_5806d4e1-2a57-4710-9836-6f939bd0891d)

@BigSimmo
BigSimmo enabled auto-merge (squash) August 27, 2026 13:10
- Drop aria-hidden from the factsheet print portal: it is already
display:none on screen via CSS, and hiding it from the accessibility
tree also strips the printed document's semantic outline (h1, row
headers) that issue #295 deliberately guards.
- Restore the "Side-by-side review" eyebrow on the specifier compare
page header, dropped when the hand-rolled header was swapped for
PageHeader.
@cursor

cursorBot commented Aug 27, 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_0ccff217-47d6-47b5-974b-09eba7f24ea2)

@BigSimmo
BigSimmo merged commit a9d4b6c into mainAug 27, 2026
29 checks passed
@BigSimmo
BigSimmo deleted the claude/ds-h36-page-header branch August 27, 2026 13:54
BigSimmo pushed a commit that referenced this pull request Aug 27, 2026
Resolve conflicts in favour of main, which has since landed the same
design-system intent through the shared recipes and Button/PageHeader
adoption (PRs #2420, #2424, #2425, #2426):
- ui-primitives.tsx: main split the module into primitive-recipes/*; the
branch's compact-meta edits to `interactiveCompact` and
`tableMicroActionRow` are already present verbatim in recipes.ts.
- specifier compare/map/record/builder, differential-detail: main's
`primaryControl` / `Button` adoption carries the same `min-h-tap` floor
through `controlBase`, so the hand-rolled classes are superseded.
- formulation-builder: main's `fieldControlPlain` recipe supersedes the
hand-rolled textarea classes.
- pathways-screen: main's therapy-pathways redesign (#2413) already
removed the arbitrary spacing literals this branch was ratcheting.
Regenerate the contract baseline against the merged tree.
BigSimmo pushed a commit that referenced this pull request Aug 27, 2026
Two failures the merge surfaced, both from this branch replaying work that
main has since taken in a different shape:
- factsheet-detail-page: drop `aria-hidden="true"` from the print portal.
It came from this branch's local replay of PR #2426, but the version
that merged to main deliberately does not carry it — hiding the portal
removes the printed document's `<h1>` and its fact-table row headers
from the accessibility tree, which is what
`tests/factsheet-detail-header.dom.test.tsx` exists to prevent.
- design-system-contract-utils: ratchet the globals.css raw CSS z-index
pin from 8 (set by #2421) to 4. The motion/z tokenisation in this branch
legitimately paid that debt down; the pin is a floor to lower, not raise.
Evidence: 898 test files / 10862 tests passed; lint, typecheck and
check:design-system-contract clean.
@BigSimmoBigSimmo mentioned this pull request Aug 27, 2026
14 tasks
Sign up for freeto 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

@BigSimmo@claude