Skip to content

chore: refresh Lighthouse budget baseline for HeadlessChrome/151 - #1690

Merged
BigSimmo merged 2 commits into
claude/search-bar-mobile-layout-buu0iofrom
copilot/resolve
Aug 7, 2026
Merged

chore: refresh Lighthouse budget baseline for HeadlessChrome/151#1690
BigSimmo merged 2 commits into
claude/search-bar-mobile-layout-buu0iofrom
copilot/resolve

Conversation

Copilot AI commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

The CI check:lighthouse-budget job was failing because the committed baseline was recorded with HeadlessChrome/150 and the CI runner upgraded to HeadlessChrome/151. The budget script unconditionally treats a browser-version mismatch as "evidence incomplete" (regardless of enforce: false) and exits 1.

Changes

  • lighthouse-budget.json — refreshed all 10 baseline entries (chromeVersion, lcpMs, tbtMs, cls) with values measured in the failing Chrome 151 CI run; updated updatedAt

This is the same operation as npm run check:lighthouse-budget -- --update after a known-good run — replaces the baseline so Chrome 151 becomes the new reference point.

Summary

  • Refresh Lighthouse budget baseline: HeadlessChrome/150 → HeadlessChrome/151

Verification

  • npm run verify:pr-local

During development, use npm run verify:cheap as the faster iteration gate before the final PR-local preflight.

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

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

  • npm 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.
  • npm run eval:rag -- --limit 15 + npm run eval:quality -- --rag-only when answer generation, the synthesis prompt, or answer post-processing changed (grounded-supported must not drop; citation-failure 0)
  • npm run check:production-readiness when clinical workflow, privacy, environment, Supabase, source governance, or deployment behavior changed
  • npm run check:deployment-readiness when deployment startup, hosting, or rollout behavior changed

Verification not run: data-only JSON baseline refresh; no executable code changed. The fix will be validated by the CI run on this PR.

Risk and rollout

  • Risk: None — enforce: false; this is a data file refresh, no logic change
  • Rollback: Revert the JSON to Chrome 150 values
  • Provider or production effects: None

Clinical Governance Preflight

Not applicable — no ingestion, answer generation, search/ranking, source rendering, document access, privacy, env, or clinical output touched.

Notes

@supabase

supabase Bot commented Aug 7, 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 ↗︎.

Co-authored-by: BigSimmo <87357024+BigSimmo@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix issues in Copilot actions run chore: refresh Lighthouse budget baseline for HeadlessChrome/151 Aug 7, 2026
Copilot AI requested a review from BigSimmo August 7, 2026 13:44
@BigSimmo
BigSimmo marked this pull request as ready for review August 7, 2026 13:47
@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, add credits to your account and enable them for code reviews in your settings.

@BigSimmo
BigSimmo merged commit 669640b into claude/search-bar-mobile-layout-buu0io Aug 7, 2026
3 of 4 checks passed
@BigSimmo
BigSimmo deleted the copilot/resolve branch August 7, 2026 13:47
cursor Bot pushed a commit that referenced this pull request Aug 7, 2026
…1689)

* fix(search-band): drop the sort segments from the phone results bar

The shared results band puts count, query, sort and Filter on one line. On
a phone the two sort segments ("Relevance" / "A-Z") take roughly half of
that line, so the query truncates to pay for a control that is set about
once a session and already defaults to the order a phone reader wants.

ResultSortControl is now sm-and-up. Only the affordance moves: `?sort=`
still carries an alpha order onto a phone from a link or a wider session,
and the results honour it. The display class lives in the component's own
base string because `cn` here is a plain join with no Tailwind conflict
resolution, so a caller's `hidden` would resolve by stylesheet order
rather than by intent.

Pages whose only utility is sort (forms) would have kept an empty
utilities group mounted on a phone -- and in `inline` placement below
414px that child is `w-full basis-full`, i.e. a blank second line. Guard
it with hasPhoneUtilities.

Tests move rather than disappear: ui-smoke asserts the group is hidden at
390px and exercises the A-Z/Relevance interaction at the 1440px viewport
the same test already resizes to, and the two ui-tools differentials
phone tests assert hidden while keeping the 44px tap floor on the page
filter. The 320-540px clip sweep measured the sort node by name, which
would have measured a display:none element and passed blindly at every
width; it now measures the last rendered control.

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

* chore: refresh Lighthouse budget baseline for HeadlessChrome/151 (#1690)

* chore: format the refreshed Lighthouse baseline

The HeadlessChrome/151 baseline refresh landed with `0.060` / `0.080`
trailing zeros, which Prettier normalises to `0.06` / `0.08`. That is the
whole diff -- no measurement changes. `format:changed` runs Prettier over
the PR's entire changed set, so the unformatted blob failed the required
Static PR checks job on this branch.

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

* test(search-band): assert the phone sort group is mounted, not merely absent

The three phone assertions claimed a guarantee they did not provide.
`toBeHidden()` passes for a hidden node AND for a node that does not
exist, and in ui-tools the plain `getByRole` locator filters hidden nodes
out before the assertion sees them -- so both would have passed with
ResultSortControl deleted from the component entirely, which is exactly
the regression the comment says they catch.

Resolve the group with `includeHidden: true`, assert `toHaveCount(1)`,
then assert `toBeHidden()`. A deleted control now fails the count; a
control returned to the phone line fails the visibility.

Raised by CodeRabbit on #1689.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.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.

2 participants