Answer page: record the four settled decisions, and audit the clinical-notes sheet before it goes - #2358
Conversation
…es sheet carried The handover left three decisions open for the owner and the review of PR #2356 added a fourth. All four are now settled, so they are recorded with their reasoning rather than only their verdict -- an open question in a build document gets reopened, and these have been paid for once already. - Status in the mark: no. One colour stays. Staleness is a property of the document, not the claim, and a second hue in running prose stops the eye twice at reading speed -- and would not survive forced-colors anyway. - compactCitations: kept, retargeted at the rail as a collapse-to-chip, so the preference keeps meaning something once the capsule it currently shrinks is gone. The invariant its test pins still holds: the notice, the source-only disclosure and any worded mark all sit outside the rail. - The table aside: goes. Tables fold into the drawer chip. The accepted cost is that a table can no longer be read beside the answer on a wide screen. - The clinical-notes sheet: goes. The fourth was the one the handover flagged as the removed surface whose content was not obviously duplicated, so it was traced before being recorded rather than after. Essentials draws five section ids, all built by buildClinicalOutputSections: its structured-support rows are [clinical area, section body] straight from answerSections -- the headed sections the design already renders as prose; its monitoring and medication items come from the prose and sectionDisplayLines; its comparison table is one row per document carrying that document's best quote, which the drawer pages through; and its thresholds come from the prose, the quote cards and promoted visual evidence. No content is lost. Two at-a-glance views are: "every threshold in one list" and "each document's key detail stacked side by side", both of which become paged or per-source. Two things the builder should know, both recorded in the new section 10a: buildSourceComparisonTable fires on any answer drawing on three or more documents rather than only on comparison questions, so its absence will be noticed; and the threshold list is the one view with no equivalent, so re-check it against real answers before the old surface is deleted in the separate PR section 8 already stages. The design study already drew all four decisions the way they were settled, so its changes here are copy: the reconciliation table now reads as decisions taken rather than questions outstanding. Verified: lint, typecheck, and Chromium at 1440px with zero horizontal overflow. Docs plus one design-scratch file; no production surface, no RAG surface. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AP3MXGx1bGeEBmFKYkeLA8
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Warning Review limit reachedNext included review available in 38 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 100 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. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (1)
Comment |
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AP3MXGx1bGeEBmFKYkeLA8
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b23aaec392
ℹ️ 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".
|
@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. The only repository destination is BigSimmo/Database, and the only branch destination is the pull request head branch claude/answer-page-redesign-review-4ufdl5 at starting commit 777862a; never publish fixes to a detached or synthetic work branch and never create a stacked pull request. Use the authenticated GitHub connector to commit each approved fix to BigSimmo/Database:claude/answer-page-redesign-review-4ufdl5, then verify that the pull request head contains the published commit before reporting success. 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. For a fixed thread, reply with as the first line and as the second line. For a no-code disposition, use followed by . These result markers authorize the workflow to close that exact thread only after it verifies a fixed commit is the pull request head; a local-only commit is not a fix. If publication or verification fails, do not use either result marker, do not claim success, and leave the thread open with the blocker. If human input or new authorization is required, do the same. 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. |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Review of PR #2358 caught the audit asserting from buildClinicalOutputSections without checking what that builder actually puts on screen. Verified before accepting, and it cuts further than the finding stated. clinicalNotesDetailSectionsForAnswer ends with .filter((section) => section.items.length > 0), so a section carrying only tables is dropped before the tabs are built. clinicalNotesRowsForTab then iterates section.items alone, so a table never becomes a row at all. And displayItemsForClinicalDetailSection drops items already redundant with the answer prose, so the sheet is a de-duplicated view of that prose to begin with. That changes two rows of the audit and one of its conclusions: - support-map is created with items: [] plus one structured-support table, so it never renders. The earlier row described builder output that never reached the screen. - comparison renders only when the prose produced comparison items; the table-only form is created with items: [] and dropped. So the stacked per-document comparison view the audit said would be lost was never there. - thresholds renders its items only -- the threshold lines from the prose and quote cards. Its tables never render either. Corrected conclusion: no content is lost, and ONE at-a-glance view is, not two. Every row Essentials renders originates in the answer prose or its sections, which the new design shows as the prose itself. The grouped threshold list is the single real loss, and remains the thing to re-check on real answers before the old surface is deleted. This makes the owner's fold-it-away decision safer than the audit had it, not riskier. Kept a method note in section 10a: this audit was wrong the first time in the same way the first-pass design was wrong -- asserting from a code path without checking what that path renders. Verified: lint, typecheck, format. Docs plus one design-scratch copy string. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AP3MXGx1bGeEBmFKYkeLA8


Summary
compactCitationsis kept and retargeted at the rail as a collapse-to-chip, so the preference keeps meaning something once the capsule it currently shrinks is gone; the wide-screen table aside goes, with tables folding into the drawer chip; and the clinical-notes sheet goes.buildClinicalOutputSections: its structured-support rows are[clinical area, section body]straight fromanswerSections— the headed sections the design already renders as prose; its monitoring and medication items come from the prose andsectionDisplayLines; its comparison table is one row per document carrying that document'sbest_quote, which the drawer pages through; and its thresholds come from the prose, the quote cards and promotedvisualEvidence. No content is lost. Two at-a-glance views are — "every threshold in one list" and "each document's key detail stacked side by side" — and both become paged or per-source.buildSourceComparisonTablefires on any answer drawing on three or more documents, not only on comparison questions, so its absence will be noticed; and the threshold list is the one view with no equivalent, so it should be re-checked against real answers before the old surface is deleted in the separate PR §8 already stages./mockups/answer-chat-perfected-v2already drew all four decisions the way they were settled, so its "What this collides with" table now reads as decisions taken rather than questions outstanding.Follow-up to #2356, which merged as
c4e4196. That PR is finished, so this restarts the branch from the mergedmainrather than stacking on already-merged history.Verification
npm run arbiter -- lintbefore running anything —RUN "lint" — rag scope never defers — CI's own routing treats it as heavy.npx eslintandnpx tsc --noEmiton the changed file — clean. These are the smallest checks that cover a copy change inside a compiled component.npm run ensure, then Chromium at 1440px on/mockups/answer-chat-perfected-v2: panels five and six read correctly with the reworded copy, anddocument.documentElement.scrollWidth - clientWidthmeasured 0, so the reworded table does not push the page sideways.npm run formatand committed the result.npm run verify:uicovers production journeys, and this touches a route that 404s in production. Targeted browser evidence is above.Risk and rollout
Clinical Governance Preflight
Not applicable: no ingestion, answer generation, search/ranking, source rendering, document access, privacy, production env, or clinical output surface is changed.
classifyPullRequestFilesreturnsclinicalRisk: false, operationalRisk: false, ragRanking: falsefor this file set. The audit reported here reads existing code; it changes none of it.Notes
Generated by Claude Code
Note
Low Risk
Documentation and design-scratch copy only; no runtime behavior, clinical output, or retrieval paths are modified.
Overview
This PR locks in documentation for the answer-page redesign: four owner decisions dated 2026-08-24 replace the handover’s open §10 questions, and the v2 mockup copy is aligned so builders treat them as final.
docs/answer-page-redesign-handover.mdnow states that citation marks stay one colour (staleness on rail/drawer only),compactCitationsis kept and retargeted to a collapsible rail chip, the wide-screen table aside goes (tables live in the drawer chip), and the clinical-notes sheet goes. New §10a traces Essentials tab content throughbuildClinicalOutputSections/evidence-panels.tsxinto prose, drawer, and rail — no content lost, but two scan views disappear (threshold list and multi-document comparison); the threshold list is flagged for re-check before the old UI is removed. §2, §4, and §12.5 are updated to match.answer-chat-perfected-v2-mockups.tsxupdates the “What this collides with” table and related panel text from “decide at review” to settled wording consistent with the handover.No production answer surface or RAG code changes — prose only in a mockup route that 404s in production.
Reviewed by Cursor Bugbot for commit b23aaec. Configure here.