Skip to content

Privacy page: fix notched back control + three redesign directions - #1582

Closed
BigSimmo wants to merge 1 commit into
mainfrom
cursor/privacy-page-mockups-2ff6
Closed

Privacy page: fix notched back control + three redesign directions#1582
BigSimmo wants to merge 1 commit into
mainfrom
cursor/privacy-page-mockups-2ff6

Conversation

@BigSimmo

@BigSimmoBigSimmo commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix the /privacy back-control safe-area bug: the page sits outside the search shell and was painting the back arrow under the status bar / Dynamic Island on notched phones. The page now owns max(safe-area-top) top padding with a 48px back row.
  • Add three elevated redesign directions grounded in Clinical White / Sky Graphite (governance copy unchanged):
    1. Quiet ledger (recommended) — one continuous reading surface, amber Important spine, hairline sections, sticky chrome
    2. Trust map — Sydney / Singapore / OpenAI processing chips + icon section cards
    3. Indexed brief — phone section chips + desktop TOC rail
  • Runnable study: /mockups/privacy-page-directions
  • Combined desktop+phone comps: public/mockups/privacy-page-redesign-2026-08/

01 Quiet ledger
02 Trust map
03 Indexed brief

Verification

  • npx vitest run tests/privacy-ui.test.ts tests/navigation-back-button.dom.test.tsx — 7 passed
  • Full unit suite via verify:pr-localTest Files 475 passed (475) / Tests 4971 passed | 4 skipped (4975)
  • ALLOW_BUILD_WITH_DEV_SERVER=1 npm run build — passed (/privacy and /mockups/privacy-page-directions present; client bundle secret surface check passed)
  • npm run ensure — Clinical KB at http://localhost:4461; /privacy and /mockups/privacy-page-directions return 200
  • Browser proof of mockup frames + mobile /privacy header safe-area row
  • UI verification not run: full Chromium gate deferred; focused browser proof of changed owner only
  • Provider gates not run: no OpenAI/Supabase behaviour change

Risk and rollout

  • Risk: Low-medium. Production change is layout padding on /privacy only; redesign directions are mockup/design-scratch until a direction is chosen. Governance wording is unchanged.
  • Rollback: Revert the commit; mockup routes 404 in production already.
  • Provider or production effects: None

Clinical Governance Preflight

  • Source-backed claims still require linked source verification before clinical use
  • No patient-identifiable document workflow was introduced or expanded without explicit governance approval
  • Supabase target remains Clinical KB Database (sjrfecxgysukkwxsowpy)
  • Service-role keys and private document access remain server-only
  • Demo/synthetic content remains clearly separated from real clinical sources
  • Source metadata, review status, and outdated/unknown-source behavior remain conservative
  • Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed — no CDS behaviour change; layout/chrome and design-scratch mockups only

Notes

  • Choose a direction before adopting the full redesign into production /privacy.
  • Recommended default: 01 Quiet ledger, optionally borrowing the processing-map strip from 02.
  • Live interactive review: /mockups/privacy-page-directions after npm run ensure.

To show artifacts inline, enable in settings.

Open in WebOpen in Cursor

Pad /privacy for notched-phone safe-area so the back control no longer
sits under the status bar, and add a design-system study with Quiet
ledger, Trust map, and Indexed brief comps (desktop + phone).
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@coderabbitai

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f24f4077-4516-458b-a8ca-610683938ae9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@supabase

supabaseBot commented Aug 2, 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 ↗︎.

@github-actions

Copy link
Copy Markdown
Contributor

CI triage

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

  • Static PR checksneeds 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 #7808 (cancelled).

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

@BigSimmoClaude

Copy link
Copy Markdown
OwnerAuthor

Closing as part of an open-PR review sweep, with the production fix preserved.

What was salvaged: the src/app/privacy/page.tsx safe-area change — the one production fix in here — is now #1621 on a fresh branch off current main, green on its focused gates (privacy-ui + privacy tests, 23 passed; lint and Prettier clean). It did not need to wait on the rest of this PR.

Why the rest is being closed rather than revived:

  • 28 commits behind main, untouched since 2026-08-02.
  • Red the whole time, on the type-scale gate rather than anything about the design: text-[10px] in src/components/privacy-page-directions-mockups.tsx:150 needs a named @theme step.
  • It commits ~4.2 MB of PNG screenshots (3 files) into the repo.

The three redesign directions themselves are not being judged here — if you want to take one forward, it is cleaner to open it fresh against current main with the type-scale fix applied and the screenshots kept out of git, than to rebase 28 commits of drift.

Related: #1580 is closed in the same sweep for the same staleness reason (its blocker was bundle budget, +10.1% against a 10% tolerance). The reason a mockups-only PR can fail Build at all is now written down in AGENTS.md/CLAUDE.md, and the underlying metric question is tracked as ledger #237.


Generated by Claude Code

@BigSimmoBigSimmo closed this Aug 5, 2026
cursorBot pushed a commit that referenced this pull request Aug 5, 2026
* fix(privacy): keep the back control clear of the notch on phones
/privacy sits outside the search shell, so it owns the OS top inset itself.
searchPageShell's py-3 top pad is not enough under a status bar or Dynamic
Island when apple-mobile-web-app-status-bar-style=black-translucent, leaving
the back control partly behind the notch.
Replaces the top pad with max(0.75rem, var(--safe-area-top)) (1.25rem at sm)
and gives the back control a min-h-12 row, matching this repo's 48px
production tap-target rule rather than the generic 44px guidance.
Split out of the stale draft PR #1582, which mixed this production fix with
three redesign mockups and 4.2 MB of PNG screenshots and has been red since
2026-08-02 on an unrelated type-scale violation (text-[10px]) in one of those
mockup components. The fix is independent of that work and does not need to
wait for it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T97Kqdj9Xh1Cubv5ms3KVy
* fix(ui): share standalone shell with safe-area top pad
Extract searchPageShellStandalone so /privacy and /reference/colour-coding
own the OS top inset without py-/pt- override ordering, use min-h-tap for
the back row, and pin the contract with a static render test.
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
* docs(ledger): record PR #1621 babysit closeout
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
* chore(ledger): supersede unresolvable PR #1621 review HEAD
Addresses Devin — the prior babysit closeout row pointed at a SHA that
does not exist in the repo, so ledger lookup could never match it.
* chore(ledger): point PR #1621 babysit supersede at pushed tip
* chore(ledger): refresh PR #1621 Run PR sweep tip
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Sign up for freeto 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

@BigSimmo@cursoragent