issues: record the withdrawn live-region finding as #151 so it is not re-filed - #1502
Conversation
… re-filed
Archive-only row. There is no defect and no work to do — the row exists purely
as a guard rail against repeating a misreading that already happened once.
search-results-header-band.tsx sets aria-live={faulted ? "off" : "polite"} on
its count/status span, which reads like a silenced failure announcement. It is
not: the band mounts a separate fault panel with role="alert" carrying the
failure title, body and Retry, and the mute is deliberate so the two do not both
speak. The reasoning is in a comment directly above the attribute, and
tests/search-results-header-band.dom.test.tsx pins it with singular role queries
that throw on duplicates.
During session 2026-07-30 (PR #1481) this was filed as a real P2 defect on the
strength of the attribute alone, and the proposed fix — escalating the count span
to role="alert"/aria-live="assertive" — would have produced a duplicate
announcement and a red test, making it worse than no change. Codex caught it.
An earlier withdrawal row was then lost to the squash that merged #1481, which
is the row-deletion shape #148 now guards against.
Also records that the mockup's escalation is correct in the mockup and must not
be ported: search-refine-adaptive-mockups.tsx has no fault panel, so there the
count span is the only announcement channel.
#148 needed no work — the merge-base deletion check landed on main
independently, and its output now reports the base it compared against.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JdPa3mHCX5ZQZZvU5GHU3r
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 13 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 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
Comment |
|
Temporarily paused during the owner-authorized ordered merge sweep so |
|
@cursoragent this PR will be re-opened soon. Please resolve any failing CI, run bugbot and resolve any bugbot comments against current repo and fix any merge conflicts and also fix any errors and address and fix all comments or suggestions that are likely to improve the PR and Codebase. Please implement smallest required fix according to best code practices. Check your work. Leave this PR closed for now but still make all these changes and run the review. I want it ready to go for when I re-open it. |
|
PR #1502 is ready to reopen and remains closed. What was wrong
What I did
Checks
On reopen
|
Reopen prep complete (PR left closed)Branch tip is Done
On reopen
|
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Reopen prep (pass 2) — left CLOSEDBranch tip: Snapshot → sync
Threads
On reopen
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
@cursoragent This PR was just reopened. Do not merge, force-push, rebase, or arm auto-merge
|
Snapshot
SyncDone once. Real conflict in CI (this tip only)
ThreadsNone. Rate-limit noise ignored. Residual
|
Reopen pass — conflict cleared (merge left to you)1. Snapshot
2. Mergeability fix
3. CI on this tip
4. Threads
Residual
|


Summary
#151to the archive table ofdocs/outstanding-issues.md. There is no defect and no work to do — the row is purely a guard rail against repeating a misreading that already happened once.search-results-header-band.tsxsetsaria-live={faulted ? "off" : "polite"}on its count/status span, which reads like a silenced failure announcement. It is not. The band mounts a separate fault panel withrole="alert"carrying the failure title, body and Retry; the mute is deliberate so the two do not both speak, the reasoning sits in a comment directly above the attribute, andtests/search-results-header-band.dom.test.tsx("keeps exactly one status region and one alert while faulted") pins it with singular role queries that throw on duplicates.role="alert"/aria-live="assertive"— would have produced a duplicate announcement and a red test, making it worse than no change. Codex caught it.search-refine-adaptive-mockups.tsxescalates the count span correctly, because the mockup has no fault panel and the count span is its only announcement channel. That does not transfer to production.One row, archive-only. No source, test, config or workflow file is touched, and the open queue is unchanged.
Why this is filed at all
An earlier withdrawal row was lost to the squash that merged #1481 — the exact row-deletion shape
#148describes. Without it, the next reader of that attribute has nothing to stop them re-filing the same false defect and shipping the duplicate-announcement "fix". The reasoning currently survives only in a resolved review thread, which is not where anyone looks.#148needed no workThe second loose end from that session — "compare the id set against the merge base and fail when an id present there is absent from both tables" — has already been implemented on
mainby another session, inscripts/check-outstanding-issues.mjs(issueBaseRevision()/missingIssueIds()), with an overridable--base-ref/OUTSTANDING_ISSUES_BASE_SHAand arequiredflag so an unreadable baseline fails loudly rather than skipping.I started writing a second implementation before finding it, and reverted mine rather than shipping a parallel code path — two detectors reporting the same deletion with different messages would be worse than one. It landed after #1481, which is why it did not catch that loss. Its output now names the baseline it compared against, visible in this PR's own gate run below.
Verification
npm run verify:cheap— exit 0. 444 test files, 4631 passed, 4 skipped, includingcheck:outstanding-issues: "149 rows (50 open, 99 archived), unique ids, next-id=152 above the highest, no merge driver, no ids deleted from basebadcb36d6379."npm run verify:pr-localnot run: this diff is a single markdown ledger row, so the build, client-bundle scan and RAG fixture stages it adds oververify:cheaphave no reachable surface. UI verification not applicable — no component, route or style changed.RAG impact: no retrieval behaviour change — documentation only, touching nothing under
src/lib/rag/**, clinical-search, retrieval-selection, ranking-config, answer-ranking, the eval harness or the golden fixture.Risk and rollout
Notes
docs/outstanding-issues.mdhas no merge driver by design, so ifmainallocates an id before this lands, expect a conflict. Resolve by rebuilding fromorigin/main, re-applying only this row, and re-reading theissues:next-idmarker — the id may need to move again.Generated by Claude Code