Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions .github/workflows/ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -716,13 +716,19 @@ jobs:
with:
persist-credentials: false

# Lighthouse drives the Chrome that ships in the ubuntu-24.04 runner image, so
# no browser install is needed here (matching live-web-vitals.yml).
- name: Setup Node and dependencies
uses: ./.github/actions/setup-node-cached
# Pin Chromium via Playwright (same archive as UI e2e). Relying on the
# ubuntu-24.04 image Chrome made the relative baseline fail closed whenever
# runners disagreed during a Chrome rollout (PR #1697: Chrome 151 baseline vs
# Chrome 150 measurement) even when the metrics themselves were fine.
- name: Setup Node, dependencies, and Chromium
uses: ./.github/actions/setup-ui-e2e

- name: Measure routes and grade against the baseline
run: npm run verify:lighthouse -- --keep --dir lighthouse
run: |
CHROME_PATH="$(node -e "process.stdout.write(require('playwright').chromium.executablePath())")"
export CHROME_PATH
echo "Using pinned Chromium at ${CHROME_PATH}"
npm run verify:lighthouse -- --keep --dir lighthouse

- name: Upload Lighthouse reports
if: always()
Expand Down
2 changes: 2 additions & 0 deletions docs/branch-review-ledger.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -711,3 +711,5 @@ Records before 2026-07-28 were written by hand and had drifted: 146 lines carrie
| 2026-08-07 | claude/issues-256-section-nav-clean | 169323053db5c572d183d59c113ecd0c76e7aca5 | issues #256: forms section anchors + differentials presentation set (PR #1697) | Wired all six formSections anchors in form-detail-page.tsx (four direct ids, two breakpoint pairs via existing mobile wrappers and single-child desktop wrappers, no component signature change); deleted differentialPresentationSections and declared /differentials/presentations/ locally-owned instead, since three of its six sections declared a -mobile targetId ReviewPanels can never satisfy and the page owns MobileTabs below xl plus the xl review sidebar. Added a registered browser spec because source-text and jsdom guards both structurally cannot see breakpoint-variant resolution. | lint exit 0; typecheck clean; test 519/520 files (pr-handoff-stop confirmed pre-existing via stashed re-run); check:gate-manifest and check:ci-scope pass with the new spec in both playwright allowlists; ui-forms-section-nav + ui-accessibility 18 passed incl real-record nav with 6 links and exactly one variant per pair visible at 390px and 1280px; binding guard mutation-checked red on one removed id; browser spec observed failing when nav genuinely absent; format clean. Environment: npm ci blocked (main lockfile needs Node >=24.15, container has 24.13), tailwind-merge@3.6.0 materialised from tarball only |
| 2026-08-07 | claude/handover-review-nlhuln | de8b74e2fb94d1ec9b1982c15a2dea43421c3eee | outstanding-issues ledger capture after the mode-nav rollout (PR #1685) | Confirmed #256's two remaining suspected section sets are dead (/forms/<slug> and /differentials/presentations/<slug> draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #261 (delete-or-keep the consumer-less action kind) and #262 (addon-slot single-owner rule held by two lists agreeing by coincidence). #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows. | check:outstanding-issues passed (260 rows, 119 open, unique ids, no ids deleted from base 1ff9ed206456); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff |
| 2026-08-07 | claude/handover-review-nlhuln | de8b74e2fb94d1ec9b1982c15a2dea43421c3eee | outstanding-issues ledger capture after the mode-nav rollout (PR #1685) (supersedes 2026-08-07) | Confirmed #256's two remaining suspected section sets are dead (/forms/<slug> and /differentials/presentations/<slug> draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #271 (delete-or-keep the consumer-less action kind) and #272 (addon-slot single-owner rule held by two lists agreeing by coincidence) — renumbered from this PR's original #261/#262 because main claimed #261-#270 via PR #1678 design-system tracks in the interim. #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows. | check:outstanding-issues passed (270 rows, 129 open, 141 archived, unique ids, next-id=273 above the highest, no ids deleted from base d32dd549a3dd); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff |
| 2026-08-07 | cursor/fix-lighthouse-chrome-pin | 02e7ec12d485b187f91141ce003895e85d23aae1 | lighthouse chrome pin + advisory mismatch warn | fix PR #1703 for PR #1697 advisory Chrome 150/151 drift | artifact grade exit0; --update catch-22 proved; node contract PASS; vitest blocked by shared nm |
| 2026-08-07 | claude/search-bar-mobile-layout-buu0io | 9d64388c0ce530d0c20bb7efe8ffb32cd928319c | phone results-filter idiom: 7 modes off MobileResultFilterControl onto ResultFilterTrigger + ResultFilterSheet; band, docs, tests | changes-shipped | typecheck; lint; test 5538 passed (1 pre-existing pr-handoff-stop failure, baselined on unmodified tree); build; check:rag:fixtures; check:bundle-budget +6.3% within tolerance; targeted Playwright: ui-accessibility 16, ui-specifiers+ui-formulation 12, ui-tools 5, ui-smoke 2, ui-stress 3 |
2 changes: 1 addition & 1 deletion docs/design-system/COMPONENTS.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -980,7 +980,7 @@ This generated snapshot is a local source-derived inventory. It does not assert
| `SearchField` | controls | yes | yes | no | yes | no | 0 |
| `SegmentedControl` | controls | yes | yes | inherited-global-root | yes | no | 2 |
| `Select` | controls | yes | yes | inherited-global-root | yes | no | 2 |
| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 19 |
| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 20 |
| `Skeleton` | feedback | yes | yes | inherited-global-root | yes | no | 6 |
| `SourceDesignationBadge` | source | yes | yes | inherited-global-root | yes | no | 1 |
| `SourceProvenance` | source | yes | yes | inherited-global-root | yes | no | 1 |
Expand Down
2 changes: 2 additions & 0 deletions docs/design-system/adoption-manifest.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -1415,6 +1415,7 @@
"src/components/clinical-dashboard/image-lightbox.tsx",
"src/components/clinical-dashboard/master-search-header.tsx",
"src/components/clinical-dashboard/mode-action-popup.tsx",
"src/components/clinical-dashboard/result-filter-control.tsx",
"src/components/clinical-dashboard/settings-dialog.tsx",
"src/components/differentials/diagnosis-map-panel.tsx",
"src/components/document-viewer/document-clinical-summary.tsx",
Expand All@@ -1437,6 +1438,7 @@
"src/components/clinical-dashboard/image-lightbox.tsx",
"src/components/clinical-dashboard/master-search-header.tsx",
"src/components/clinical-dashboard/mode-action-popup.tsx",
"src/components/clinical-dashboard/result-filter-control.tsx",
"src/components/clinical-dashboard/settings-dialog.tsx",
"src/components/differentials/diagnosis-map-panel.tsx",
"src/components/document-viewer/document-clinical-summary.tsx",
Expand Down
Loading
Loading