Refactor clinical KB search and UI flows - #111
Closed
BigSimmo wants to merge 11 commits into
Closed
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
BigSimmo
enabled auto-merge
July 1, 2026 15:29
BigSimmo
disabled auto-merge
July 1, 2026 16:04
BigSimmo
enabled auto-merge
July 1, 2026 16:04
13 tasks
auto-merge was automatically disabled
July 2, 2026 03:04
Pull request was closed
BigSimmo
pushed a commit
that referenced
this pull request
Jul 29, 2026
Resolves the `docs/outstanding-issues.md` conflict. Two independent causes: 1. Rows #98–#105 diverged. `main` carries the newer text (PR #1377 landed "Done 2026-07-29" outcomes and rewrote several summaries); this branch carried the pre-#1377 wording. Took `main`'s rows wholesale — the branch made no edits to that range, it simply forked before them. 2. `#108`/`#109` were allocated twice. `main` used them for the verified-landed branch deletions and the shallow-clone finding; this branch had used the same two ids for the design-system token manifest and the `ui-overlap` flake. The `issues:next-id` marker has no concurrency protection, which is exactly the failure the branch's own PR notes predicted. Renumbered this branch's two rows to #110/#111 and bumped the marker to 112. No content was dropped from either side; all 111 rows are unique. Also records #111 as done, since this branch is what fixes it: the ui-overlap inset measurement now retries inside `toPass` with the 2px symmetry tolerance and the assertions unchanged. Leaving it open with a "Next: apply the retry shape" action would have re-queued work this PR already did.
7 tasks
BigSimmo
pushed a commit
that referenced
this pull request
Jul 29, 2026
Three review findings, all correct. `openGuide` and the mode-menu retry both re-ran an action that had already succeeded. `toPass` schedules another attempt whenever the inner assertion's own deadline expires, which can happen a moment AFTER the click landed — so under the contention these retries exist to tolerate: - `openGuide` clicked a Settings trigger the modal was already covering, or reopened the phone menu on top of it, and timed out. - the mode-menu retry clicked a TOGGLE a second time, closing a menu that had just opened, and could oscillate until the budget ran out — failing a UI that was working. Both now return early when the thing they were about to produce already exists. The mobile branch needed a second guard: a swallowed Settings click leaves the phone menu OPEN, so `openMobileClinicalGuideMenu` on the retry would toggle it shut and then fail to find Settings inside it. It now reuses an open menu and only summons one when there is none. Without this the <768px branch could not recover on retry at all, which is the branch the PR claims to fix. Also moves #111 from Open items to Resolved / archive. The row recorded the ui-overlap fix as done and simultaneously sat in the queue describing the test as still flaking, so an operator reading the file as a work queue would have scheduled the investigation again. The repo's own conventions say a resolved item is archived, not left open with a done note. verify:cheap exit 0 — Test Files 429 passed (429), Tests 4404 passed | 4 skipped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvU8z73P6TXUXoYBqN5K1P
BigSimmo
added a commit
that referenced
this pull request
Jul 29, 2026
(#1391) Follow-ups to #1375 (Clinical Sky design system), which merged before these landed. `text-4xs` was dead on main. #1375 retired the `--text-4xs` token, so Tailwind emits no such rule and every remaining `text-4xs` class was a silent no-op with the text falling back to inherited size. Two files carrying it landed from main while #1375 was in flight and were dead on arrival. Repointed to `text-3xs`, the 10px floor, and guarded: the design-token contract now fails if any tracked file under `src/` references the retired class outside a comment. Mockups are deliberately not exempt — a dead utility breaks a mockup exactly as it breaks production. Six hydration races fixed at the source. In this app visible never implies interactive: the server-rendered tree paints before React owns it, so a single un-retried action asserted once is a coin flip under load. Every fix retries the action together with the effect it should produce, so a swallowed first attempt retries while a genuine regression still fails. Both retries added to ui-smoke are idempotent, which review caught and which matters more than it looks. `toPass` schedules another attempt whenever the inner assertion's own deadline expires — which can happen after the click already landed. Without a guard, `openGuide` clicked a Settings trigger the modal was already covering, and the mode-menu retry clicked a TOGGLE a second time, closing a menu that had just opened and oscillating until the budget ran out. The mobile branch needed a second guard: a swallowed Settings click leaves the phone menu open, so re-running `openMobileClinicalGuideMenu` would toggle it shut and then fail to find Settings inside it — meaning the <768px branch could not recover on retry at all. The ui-overlap phone-inset measurement now retries inside `toPass` with the 2px symmetry tolerance and the assertions byte-for-byte unchanged, so a genuinely asymmetric header still fails once the retry budget is spent. Documentation records that the intermediate font weights on the variable face are deliberate rather than drift, and that redefining Tailwind's own leading names silently retunes every existing call site. Also resolves an `issues:next-id` double-allocation: #108/#109 were claimed concurrently by two branches, so this branch's two rows are renumbered #110/#111 and the marker moved to 112. #111 is archived rather than left open, since this change is what closes it. RAG impact: no retrieval behaviour change — test robustness, two mockup class names, and docs only; nothing under `src/lib/rag/**`, clinical-search, ranking-config, the eval harness or the golden fixture is touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvU8z73P6TXUXoYBqN5K1P
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
codex/RAG_FIX.ModeHomeTemplatesupport, URLrun=1auto-run handling, and heading-level control for embedded mode-home panels.Verification
npm run verify:cheapnpm run verify:uiwhen UI, routing, styling, browser behavior, reduced-motion, or forced-colors behavior changeddev-server.log.node scripts/run-playwright.mjs tests/ui-smoke.spec.ts --project=chromium --grep "dashboard loads without page overflow at laptop|dashboard loads without page overflow at mobile-landscape|private mode unauthenticated dashboard gates real-mode search|prescribing workflow uses in-app medication routes|upload drawer exposes setup checklist and explicit upload labels"after fixes, with the final prescribing/upload subset passing after cold-route timeout adjustment.node scripts/run-playwright.mjs tests/ui-tools.spec.ts --project=chromium --grep "differentials global search posts the standalone differentials mode"node scripts/run-playwright.mjs tests/ui-stress.spec.ts --project=chromium --grep "desktop"reported the desktop stress test as passed, but the wrapper exited non-zero afterward when the dev server disappeared and left no failure artifact.npm run verify:releasebefore release or handoff confidence claimsnpm run format:checknpm run verify:cheappassed afterward.npm run check:production-readinesswhen clinical workflow, privacy, environment, Supabase, source governance, or deployment behavior changedClinical KB Database/sjrfecxgysukkwxsowpy; check failed only on missingOPENAI_API_KEYin that no-provider environment.npm run check:deployment-readinesswhen deployment startup, hosting, or rollout behavior changedClinical Governance Preflight
Clinical KB Database(sjrfecxgysukkwxsowpy)Notes
origin/mainand includes the previously pushedRefactor clinical KB search and UI flowswork plus follow-up handoff stabilization commits.mainwas performed from this local workflow.