Skip to content

fix(ui): mobile hero search centering, touch targets, and portal hardening#271

Closed
BigSimmo wants to merge 16 commits into
mainfrom
cursor/mobile-ui-fixes-d6c9
Closed

fix(ui): mobile hero search centering, touch targets, and portal hardening#271
BigSimmo wants to merge 16 commits into
mainfrom
cursor/mobile-ui-fixes-d6c9

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

Mobile UI fixes plus consolidated platform/access/eval work:

  • Resolved merge conflict markers in composer, CSS, and Playwright specs
  • Centered hero search on phones — portal retry hardening + suppress bottom-dock flash
  • 44px touch targets for composer actions on phones
  • Restored standalone /applications route
  • CI fixes: Prettier formatting, scope-menu Playwright fallbacks, gitleaksignore for medication snapshot false positives

Merge strategy

This branch supersedes #269 — merge #271 only for a single handoff, then close #269.

Verification

  • npm run verify:cheap — pass (1067 tests, lint, typecheck, format)
  • npm run verify:ui — desktop stress scope path fixed; CI re-running
  • npm run verify:release — not run (Chromium gate is primary)

Production follow-up

Set OPENAI_API_KEY in hosting env and redeploy after merge.

Open in Web Open in Cursor 

BigSimmo and others added 9 commits July 3, 2026 21:00
The golden retrieval set was 100% lexical fast-path (embedding_skipped_rate=1.0), so
it could not measure whether a re-index changes vector/embedding retrieval quality.

- forceEmbedding option on searchChunksWithTelemetry (SearchChunksArgs): bypasses every
  lexical text-fast-path so retrieval always exercises the embedding/vector stage.
  Diagnostic/eval-only; folded into the search cache key; never set on production paths.
- eval-retrieval.ts: per-case `forceEmbedding` field + a global `--force-embedding` flag.
- 10 `vector-*` cases (psychiatric monographs: PTSD, OCD, panic, anorexia, GAD, Tourette,
  postnatal, bipolar, ADHD, opioid) with forceEmbedding=true. Each is a clinical query that
  must be answered by vector retrieval of the right monograph — verified live at
  document_recall@5=1.0, content_recall@5=1.0, all via strategy=hybrid (embedding used).

Rationale: forcing embedding is the correct instrument for re-index measurement — you want
to measure the vector index directly, not have a lexical shortcut mask a regression. Wording
alone can't reliably force the vector path (the fast-path is driven by emergent lexical-match
strength), so the flag makes these probes deterministic.

Live golden eval: 34/34 pass (24 existing + 10 new), no regression. verify:cheap green (980).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Wire forceEmbedding through eval runners and retrieval cache keys, bypass coverage/lexical shortcuts when forced, and add golden-case failure metrics so vector regressions cannot hide behind text-fast-path or cache hits.
- Degrade invalid bearer tokens to anonymous scope instead of 401
- Allow public document read routes (list, detail, signed-url, search, images)
- Align registry routes with medications/differentials auth-signal short-circuit
- Let DocumentViewer load public sources without requiring sign-in
- Add regression tests and update access-control expectations
Create missing retrieval-support indexes (trgm, composite btree, partial
miss log) that were absent or only present under legacy names on live.
Update search_schema_health() to accept verified functional equivalents
during rollout. Set search_path for pg_trgm gin_trgm_ops in extensions.

Verified on linked project: search_schema_health() ok=true, missing=[].
…board

Delete post-extraction dead code left in the monolith and trim unused imports. Also fix minor lint issues in favourites-hub, visual-evidence, and services-navigator.
- Hide footer Evidence/Sources chips on phone hero composers; scope stays in + menu
- Suppress bottom-dock composer flash until hero portal slot is ready
- Increase composer action/send touch targets to 44px on phones
- Update Playwright tests for scope menu, Answer home geometry, and stress fallback
@supabase

supabase Bot commented Jul 5, 2026

Copy link
Copy Markdown

Updates to Preview Branch (cursor/mobile-ui-fixes-d6c9) ↗︎

Deployments Status Updated
Database Sun, 05 Jul 2026 16:28:46 UTC
Services Sun, 05 Jul 2026 16:28:46 UTC
APIs Sun, 05 Jul 2026 16:28:46 UTC

Tasks are run on every commit but only new migration files are pushed.
Close and reopen this PR if you want to apply changes from existing seed or migration files.

Tasks Status Updated
Configurations Sun, 05 Jul 2026 16:28:47 UTC
Migrations Sun, 05 Jul 2026 16:28:49 UTC
Seeding Sun, 05 Jul 2026 16:28:50 UTC
Edge Functions Sun, 05 Jul 2026 16:28:51 UTC

View logs for this Workflow Run ↗︎.
Learn more about Supabase for Git ↗︎.

@BigSimmo
BigSimmo marked this pull request as ready for review July 5, 2026 16:45
@cursor

cursor Bot commented Jul 5, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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

@BigSimmo
BigSimmo enabled auto-merge (squash) July 5, 2026 17:04
@BigSimmo

BigSimmo commented Jul 5, 2026

Copy link
Copy Markdown
Owner Author

Closing as superseded by merged work on \main:

Production is live with these fixes. Any remaining unique commits should be cherry-picked onto a fresh branch from current \main.

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.

1 participant