Skip to content

Fix typography audit issues - #1294

Merged
BigSimmo merged 22 commits into
mainfrom
execute-typography-fixes-clean-2
Jul 28, 2026
Merged

Fix typography audit issues#1294
BigSimmo merged 22 commits into
mainfrom
execute-typography-fixes-clean-2

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Fixes for issues identified in the typography layout audit report. Most fixes are already in main; this just fixes the h3->h2 hierarchy in answer-evidence-popups.

Summary by CodeRabbit

  • Bug Fixes

    • Improved mobile diagnosis detail interactions by ensuring action controls remain tappable and tabs stay on a single line.
    • Corrected heading hierarchy in answer-evidence popups and sheets for improved accessibility and page structure.
    • Prevented low-memory hosted builds from stopping unnecessarily while retaining strict safeguards for local builds.
  • Tests

    • Added coverage for mobile layout behavior, build memory safeguards, and popup heading structure.

@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.

@supabase

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

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 19 minutes

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

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: dd52ebf5-b571-44bf-95f7-1d3371811829

📥 Commits

Reviewing files that changed from the base of the PR and between c87195b and 495ef36.

📒 Files selected for processing (2)
  • docs/branch-review-ledger.md
  • tests/answer-evidence-popups-heading-contract.test.ts
📝 Walkthrough

Walkthrough

The PR scopes diagnosis-detail UI assertions, adds heading-hierarchy and low-RAM guard contract tests, changes low-RAM CI behavior to warn and continue while remaining fail-closed locally, and records review and CI status updates.

Changes

UI validation and heading contracts

Layer / File(s) Summary
Scoped diagnosis and heading validation
tests/ui-tools.spec.ts, tests/answer-evidence-popups-heading-contract.test.ts, docs/branch-review-ledger.md
Diagnosis-detail checks now query the visible mobile container, while the new contract test verifies h2 section titles and h3 nested popup, sheet, dialog, and modal headings. Ledger rows record the associated fixes and CI status.

Low-RAM build guard

Layer / File(s) Summary
CI warning and local failure behavior
scripts/guard-next-build.mjs, tests/guard-next-build-contract.test.ts, docs/branch-review-ledger.md
The guard warns and continues under CI or GitHub Actions, but logs an error and exits locally; source-based tests verify the threshold, exit path, and CI bypass conditions.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • BigSimmo/Database#421: Introduces mobile composer reserve/padding behavior related to the container used for scoped UI selectors.
  • BigSimmo/Database#494: Also updates diagnosis-detail UI checks involving the Save diagnosis target and Overview tab behavior.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is far too sparse and omits the template's required Summary and Verification sections. Add the template sections: Summary, Verification, and any relevant Risk and rollout details, plus note which checks were run or not run.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and matches the PR's main goal of fixing typography audit issues.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

@github-actions

Copy link
Copy Markdown
Contributor

CI triage

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

  • Production UIneeds 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 #6041 (success).

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

@BigSimmo

Copy link
Copy Markdown
Owner Author

@cursoragent please resolve all CI failing tests after understanding the issue. Please also fix any comments and resolve them and also ensure that you fix with smallest required fix with best coding practice and u derstabding the fix rather than simple patch. Please fix any merge conflicts and ensure any issues are found. Please resolve any issues you find. Please also run bugbot. Please mark comments resolved also once you resolve them.

@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

CI is fixed on PR #1294.

Root cause: Production UI failed on diagnosis detail actions stay tappable… because Playwright’s strict getByTestId('differential-detail-page') matched both the live page and a hidden Next.js streaming S: clone — the same class already handled for presentation/service detail tests.

Fix: Scoped the locator to mobile-composer-reserve-pad and chained Save/Overview assertions through that owner (tests/ui-tools.spec.ts). Also merged main cleanly and Prettier-fixed Static PR.

Comments / Bugbot: 0 unresolved review threads (nothing to resolve). Bugbot found no cursor[bot] findings / no P0–P1 on the unique diff.

Verification:

  • Focused Chromium diagnosis-detail journey: PASS
  • Hosted tip 41da30ed: Static PR, Unit, Build, Safety, Advisory UI, Production UI, PR required all PASS
  • Current head is synced with main and mergeable; CI is re-running after ledger sync
Open in Web Open in Cursor 

cursoragent and others added 3 commits July 28, 2026 01:17
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Production UI failed when getByTestId("differential-detail-page")
matched both the live shell page and a hidden streaming clone.
Scope to mobile-composer-reserve-pad, matching presentation and
service detail tests.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Static PR format:check failed on the ui-tools locator change.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

CI babysit update (6a008673)

Root cause

Production UI failed on diagnosis detail actions stay tappable and tabs stay single-line with a Playwright strict-mode violation: getByTestId('differential-detail-page') matched 2 nodes — the live page inside mobile-composer-reserve-pad plus a hidden Next.js streaming S: clone. Same known class already handled for presentation/service detail tests.

Fix

  • Merged origin/main (clean; was behind, no content conflicts).
  • Scoped the diagnosis-detail locator to mobile-composer-reserve-pad and chained Save/Overview assertions through that owner.
  • Prettier-formatted the locator so Static PR format:check passes.

Comments / Bugbot

  • Unresolved review threads: 0 (nothing to resolve).
  • Bugbot (cursor[bot]): no defect findings on this PR.
  • Local Bugbot-style pass on unique diff: no P0/P1; intentional mockup h3→h2 titles left as the PR’s typography-audit change.

Verification

  • Focused Chromium: diagnosis detail actions stay tappable… PASS 1/1
  • Hosted CI re-running on this head.

cursoragent and others added 4 commits July 28, 2026 01:21
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Closeout: Hosted Production UI + PR required passed on product tip 41da30ed after the diagnosis-detail locator fix. Branch is synced with current main (10157dec, mergeable / merge-tree clean); CI is re-running on that exact head after ledger bookkeeping + #1273 sync. No unresolved review threads to resolve; Bugbot found none.

@BigSimmo

Copy link
Copy Markdown
Owner Author

@cursoragent please resolve all CI failing tests after understanding the issue. Please also fix any comments and resolve them and also ensure that you fix with smallest required fix with best coding practice and u derstabding the fix rather than simple patch. Please fix any merge conflicts and ensure any issues are found. Please resolve any issues you find. Please also run bugbot. Please mark comments resolved also once you resolve them.

@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

CI and review comments on PR #1294 are resolved.

What was wrong

  1. Production UI — strict getByTestId('differential-detail-page') matched a live page plus a Next streaming S: clone.
  2. Build / app-image — local <10 GiB RAM guard failed on GHA (~7.8 GiB); main test(rag): offline regression guard for #019 comparison fallback #1307 already had the right ALLOW_LOW_RAM_BUILD fix.
  3. Codex P2 — the original mockup h3→h2 change flattened headings under Section h2 (same regression as PR Fix typography audit issues (clean supersede of #1185) #1200).

What we did

  • Scoped the diagnosis-detail locator to mobile-composer-reserve-pad.
  • Reverted popup titles to h3 and added a component-scoped heading contract test.
  • Merged main; adopted test(rag): offline regression guard for #019 comparison fallback #1307’s RAM-guard (dropped our interim Docker approach).
  • Resolved all review threads (Codex + CodeRabbit). Bugbot: nothing open.

Status: Product tip e5543dc6 had Production UI + PR required green. Branch is mergeable / merge-tree clean; unique delta is the locator fix + heading contract + ledger.

Open in Web Open in Cursor 

cursoragent and others added 2 commits July 28, 2026 04:23
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Babysit re-request (9b941bb2)

  • CI failures: none on prior exact tip 10157dec (Production UI + PR required already PASS). No new product failure to fix.
  • Merge state: GitHub DIRTY was staleness (31 behind); git merge-tree was CLEAN. Merged current origin/main cleanly; unique delta unchanged.
  • Review threads: 0 unresolved — nothing to resolve.
  • Bugbot: no cursor[bot] findings; no P0/P1 on unique diff (mockup h3→h2 + diagnosis-detail locator scope).
  • Hosted CI re-running on this synced head.

@BigSimmo

Copy link
Copy Markdown
Owner Author

@codex review PR code review

@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: 9b941bb23e

ℹ️ 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 src/app/mockups/answer-evidence-popups/page.tsx Outdated
@BigSimmo

Copy link
Copy Markdown
Owner Author

@codex resolve actionable Codex review findings for this pull request and current head using the repository instructions. This is the pull request's single automatic repair pass: do not perform a fresh review, create new standalone findings, or request another review. Work only the existing unresolved Codex threads on the current head. Always fix P0 and P1 findings. For P2 and lower findings, fix only clear, scoped, low-risk issues; otherwise disposition them with a concise reason. After fixing or dispositioning a thread, reply in that thread with as the first line, followed by a concise summary; that marker authorizes the workflow to close that exact thread. If human input or new authorization is required, do not use the marker and leave the thread open with the blocker. Finish only after every actionable thread is fixed or dispositioned and closed, or explicitly left open for a human decision. Do not update the branch from main, address unrelated reviews, broaden scope, or create more than one scoped fix commit. Do not use external APIs, paid services, credentials, dependency changes, or broad refactors unless explicitly authorized. Add targeted tests where behavior changes and run the narrowest relevant validation.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 9b941bb23e

ℹ️ 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".

cursoragent and others added 2 commits July 28, 2026 04:33
Private GitHub-hosted ubuntu runners report ~7–8 GiB, so the local
10 GiB Docker Desktop rail was fail-closing Build. Keep the hard fail
for local builds; warn and continue under CI/GITHUB_ACTIONS.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Build failure fixed (de8e8b83)

Root cause

After syncing main, hosted Build failed in scripts/guard-next-build.mjs before next build started: private GitHub-hosted ubuntu runners report ~7.8 GiB total RAM, and the guard hard-failed below 10 GiB. That rail is meant for local/Docker Desktop machines (message says so); earlier tips sometimes landed on larger runners and passed, so this looked intermittent.

Fix

  • Under CI=true / GITHUB_ACTIONS=true: warn and continue.
  • Locally: still fail closed below 10 GiB.
  • Added tests/guard-next-build-contract.test.ts to pin that contract.

Other status

  • Merged origin/main cleanly earlier (GitHub DIRTY was staleness).
  • Review threads: still 0 (nothing to resolve).
  • Bugbot: no cursor[bot] findings.
  • Unique product delta still mockup h3→h2 + diagnosis-detail locator scope + this CI guard fix.
  • Hosted CI re-running on this head.

cursoragent and others added 2 commits July 28, 2026 04:34
Codex P2: promoting sheet/modal titles to h2 under Section h2
flattened the mockup outline (same hierarchy regression recorded
on PR #1200). Restore h3 child titles and pin the contract in Vitest.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/guard-next-build-contract.test.ts`:
- Around line 8-19: Replace the source-text assertions in the guard contract
tests with execution-based coverage of the low-memory guard. Exercise both local
and CI/GITHUB_ACTIONS conditions through a pure decision helper or controlled
child process, asserting the local path exits with status 1 and emits the
warning/error while the hosted CI path continues without failing and emits its
continuation message.
🪄 Autofix (Beta)

❌ Autofix failed (check again to retry)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b64dc21b-ec6f-4dab-abc6-1c01d349db36

📥 Commits

Reviewing files that changed from the base of the PR and between 9b941bb and de8e8b8.

📒 Files selected for processing (3)
  • docs/branch-review-ledger.md
  • scripts/guard-next-build.mjs
  • tests/guard-next-build-contract.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/branch-review-ledger.md

Comment thread tests/guard-next-build-contract.test.ts Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/answer-evidence-popups-heading-contract.test.ts`:
- Around line 12-25: Update the heading assertions in the answer-evidence popup
contract test to scope each match to its own component body, preventing headings
from later components from satisfying the regex. Ensure each assertion verifies
the exact expected heading level and rejects an additional incorrect heading,
preferably through rendered DOM or AST assertions; cover Section,
MobileSheetFrame, DesktopEvidenceModal, TableDialog, and WeakEvidencePopup.
🪄 Autofix (Beta)

❌ Autofix failed (check again to retry)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ac99b947-102d-40f9-a557-9a7447b340a8

📥 Commits

Reviewing files that changed from the base of the PR and between de8e8b8 and c87195b.

📒 Files selected for processing (2)
  • docs/branch-review-ledger.md
  • tests/answer-evidence-popups-heading-contract.test.ts

Comment thread tests/answer-evidence-popups-heading-contract.test.ts Outdated
cursoragent and others added 2 commits July 28, 2026 04:38
Container app-image failed for the same <10 GiB host floor: buildx
does not set CI/GITHUB_ACTIONS. Detect DOCKER_BUILD=1 and /.dockerenv,
set DOCKER_BUILD in the app Dockerfile build stage, and keep local
fail-closed behavior.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Follow-up: Container app-image failed for the same RAM-floor reason — Docker buildx RUN npm run build does not set CI/GITHUB_ACTIONS. Extended the warn path to DOCKER_BUILD=1 + /.dockerenv, and set ENV DOCKER_BUILD=1 in the app Dockerfile build stage. Local builds still fail closed below 10 GiB.

cursoragent and others added 2 commits July 28, 2026 04:46
Resolve Dockerfile and guard-next-build conflicts by taking main's
#1307 ALLOW_LOW_RAM_BUILD design (exported evaluator + CI build-arg).
Drop the superseded source-only guard contract test. Tighten the
answer-evidence heading contract to component-scoped bodies.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Status update (e5543dc6)

  • Merged main (test(rag): offline regression guard for #019 comparison fallback #1307): took its ALLOW_LOW_RAM_BUILD RAM-guard design; dropped our parallel DOCKER_BUILD approach.
  • Codex P2 heading hierarchy: fixed + resolved (titles stay h3 under Section h2).
  • CodeRabbit threads: both resolved (behavioral guard tests from main; tightened heading contract).
  • Unique delta vs main: diagnosis-detail Playwright locator scope + heading hierarchy contract + ledger.
  • Hosted CI re-running; merge-tree CLEAN.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

cursoragent and others added 4 commits July 28, 2026 05:05
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Done (495ef362)

CI

  • Product tip e5543dc6: Production UI + PR required PASS (Build/Container skipped — out of unique scope after adopting main’s RAM-guard).
  • Current tip is ledger hygiene + clean main sync; mergeable / merge-tree CLEAN.

Fixes this pass

  1. Main drift/conflicts — merged; took main test(rag): offline regression guard for #019 comparison fallback #1307 ALLOW_LOW_RAM_BUILD RAM-guard (supersedes our interim approach).
  2. Codex P2 — restored nested evidence popup titles to h3 under Section h2; contract test added; thread resolved.
  3. CodeRabbit — heading contract scoped to component bodies; RAM-guard behavioral tests from main; both threads resolved.
  4. Retained diagnosis-detail Playwright locator scope past Next S: clones.

Bugbot / threads

  • Unresolved review threads: 0
  • Bugbot: no open cursor[bot] findings

Unique delta vs main: tests/ui-tools.spec.ts locator scope + tests/answer-evidence-popups-heading-contract.test.ts + ledger.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

@BigSimmo
BigSimmo enabled auto-merge (squash) July 28, 2026 05:14
@BigSimmo
BigSimmo merged commit c9bec8f into main Jul 28, 2026
19 checks passed
@BigSimmo
BigSimmo deleted the execute-typography-fixes-clean-2 branch July 28, 2026 05:21
BigSimmo pushed a commit that referenced this pull request Jul 28, 2026
Production UI failed twice on this PR with the same signature but a
different test each time: a strict-mode violation where a document-wide
getByTestId resolved to two identical elements, one of them hidden. First
`differentials-search-results`, then `global-search-input`.

That is the Next streaming `S:` clone of the page root, which CI load makes
observable and which #1294 already documented and fixed the same way on the
differentials detail page. It is not caused by this branch: the test that
failed first passed untouched on the next run.

Scope the affected assertions to the visible element, which is the idiom
already used for this exact testid in ui-overlap.spec.ts. Applied to the
class rather than the single instance, so the flake does not simply move to
whichever spec loses the race next.

Deliberately not changed: the `toHaveCount` assertions on this testid. Those
count elements on purpose as single-owner guards, and visible-scoping them
would change what they assert.

Verified locally: ui-chrome-scroll + ui-phone-scroll 65 passed; ui-smoke 91
passed with only the pre-existing PDF-canvas failure, which is a local
browser-build artifact and passes in CI.

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