diff --git a/.gitleaksignore b/.gitleaksignore index 12d83edba6..bb76d93f3c 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -67,3 +67,15 @@ a394d76631c7ea3405037baf58091b1c4c47fa3f:tests/codex-cloud-setup.test.ts:generic 14535ffc5f05d559f6bccac84099f9e6874bba6a:.gitleaksignore:generic-api-key:49 # Reviewed false positive: a localhost example URL with a dummy API key in a removed handoff document. 92097e53e096bc33c8b23f73874981b2e3214af3:docs/ed-care-plans/claude-build-handover-2026-08-21.md:generic-api-key:360 +# Reviewed false positive: the exported browser-storage key name for the Therapy +# compare set. It is a `localStorage` key, visible in any browser's devtools and +# never a credential; `generic-api-key` matched it only because the identifier +# ends in "Key" and the hyphenated slug measures 3.99 Shannon entropy. Its five +# siblings (answer-thread, recent-queries, saved-*, search-pins) are the same +# shape and sit at 3.72-3.78, just under the rule's threshold, so this is a +# margin artefact rather than a new class of finding. Rewording the slug to duck +# the threshold was rejected: it is tuning an unverifiable number (gitleaks is +# not installed locally) and would leave a worse name behind. The value is not +# quoted in this comment, because a previous allowlist entry that quoted its own +# pattern tripped the same rule (see line 49 above). +9b34a0149759b2c2f1e8ed5d37f02ba1ac35cf39:src/lib/therapy-compare-memory.ts:generic-api-key:24 diff --git a/data/repo-awareness-snapshot.json b/data/repo-awareness-snapshot.json index ade3508593..b4d10ccfce 100644 --- a/data/repo-awareness-snapshot.json +++ b/data/repo-awareness-snapshot.json @@ -1,8 +1,8 @@ { "version": "repo-awareness-snapshot-v1", "captured_revision": { - "sha": "6cd6ba816d2eef8a4642529701ed7d7656c09510", - "committed_at": "2026-08-26T10:14:41+08:00" + "sha": "ecae1752e52dd2cd363bfaaafe2491df24769606", + "committed_at": "2026-08-26T04:01:20+00:00" }, "routes": { "modes": [ @@ -3665,6 +3665,14 @@ }, "review_state": { "records": [ + { + "date": "2026-08-26", + "ref": "claude/therapy-compare-tray", + "head": "9b34a0149759b2c2f1e8ed5d37f02ba1ac35cf39", + "scope": "therapy compare tray: phone dock addon, add-in-place, stacked comparison, device memory", + "outcome": "built and verified; verify:cheap exit 0 (876 files / 10547 tests), verify:phone-chrome escalated to full Chromium 521 passed", + "checks": "verify:cheap, verify:phone-chrome (full verify:ui), lint, typecheck" + }, { "date": "2026-08-26", "ref": "codex/medication-risk-highlights", @@ -24611,8 +24619,8 @@ } ], "counts": { - "records": 2618, - "refs": 1597 + "records": 2619, + "refs": 1598 } } } diff --git a/docs/branch-review-records/e9e97c01e7bcec0aa0ee1416a488f8890818ce71281b5d5841a814a017eca245.record.md b/docs/branch-review-records/e9e97c01e7bcec0aa0ee1416a488f8890818ce71281b5d5841a814a017eca245.record.md new file mode 100644 index 0000000000..331ec71a2c --- /dev/null +++ b/docs/branch-review-records/e9e97c01e7bcec0aa0ee1416a488f8890818ce71281b5d5841a814a017eca245.record.md @@ -0,0 +1 @@ +| 2026-08-26 | claude/therapy-compare-tray | 9b34a0149759b2c2f1e8ed5d37f02ba1ac35cf39 | therapy compare tray: phone dock addon, add-in-place, stacked comparison, device memory | built and verified; verify:cheap exit 0 (876 files / 10547 tests), verify:phone-chrome escalated to full Chromium 521 passed | verify:cheap, verify:phone-chrome (full verify:ui), lint, typecheck | diff --git a/docs/design-system/COMPONENTS.md b/docs/design-system/COMPONENTS.md index 78ff4a48f2..ccb12bfa62 100644 --- a/docs/design-system/COMPONENTS.md +++ b/docs/design-system/COMPONENTS.md @@ -974,7 +974,7 @@ This generated snapshot is a local source-derived inventory. It does not assert | `AnswerFooter` | answer | yes | yes | inherited-global-root | yes | no | 1 | | `AsyncButton` | controls | yes | yes | inherited-global-root | yes | no | 4 | | `Breadcrumb` | layout | yes | yes | inherited-global-root | yes | no | 1 | -| `Button` | controls | yes | yes | inherited-global-root | yes | no | 14 | +| `Button` | controls | yes | yes | inherited-global-root | yes | no | 16 | | `Checkbox` | controls | yes | yes | no | yes | no | 0 | | `Chip` | controls | yes | yes | inherited-global-root | yes | no | 5 | | `ChoiceChip` | controls | yes | yes | inherited-global-root | yes | no | 4 | @@ -1010,7 +1010,7 @@ This generated snapshot is a local source-derived inventory. It does not assert | `SearchField` | controls | yes | yes | no | yes | no | 0 | | `SegmentedControl` | controls | yes | yes | inherited-global-root | yes | no | 8 | | `Select` | controls | yes | yes | inherited-global-root | yes | no | 2 | -| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 29 | +| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 30 | | `Skeleton` | feedback | yes | yes | inherited-global-root | yes | no | 6 | | `SourceDesignationBadge` | source | yes | yes | inherited-global-root | yes | no | 4 | | `SourceProvenance` | source | yes | yes | inherited-global-root | yes | no | 1 | diff --git a/docs/design-system/adoption-manifest.json b/docs/design-system/adoption-manifest.json index cca0213fdd..c4a91631fa 100644 --- a/docs/design-system/adoption-manifest.json +++ b/docs/design-system/adoption-manifest.json @@ -281,6 +281,7 @@ "src/components/AccessibleTable.tsx", "src/components/clinical-dashboard/signed-image.tsx", "src/components/privacy-quiet-signal-page.tsx", + "src/components/therapy-compass/record/compare-action.tsx", "src/components/therapy-compass/screens/brief-screen.tsx", "src/components/therapy-compass/screens/compare-screen.tsx", "src/components/therapy-compass/screens/other-screen.tsx", @@ -288,6 +289,7 @@ "src/components/therapy-compass/screens/recommend-screen.tsx", "src/components/therapy-compass/screens/search-screen.tsx", "src/components/therapy-compass/therapy-card.tsx", + "src/components/therapy-compass/therapy-compare-tray.tsx", "src/components/therapy-compass/workspace.tsx", "src/components/tools/tools-search-results-page.tsx", "src/components/ui/confirm-dialog.tsx", @@ -297,6 +299,7 @@ "src/components/AccessibleTable.tsx", "src/components/clinical-dashboard/signed-image.tsx", "src/components/privacy-quiet-signal-page.tsx", + "src/components/therapy-compass/record/compare-action.tsx", "src/components/therapy-compass/screens/brief-screen.tsx", "src/components/therapy-compass/screens/compare-screen.tsx", "src/components/therapy-compass/screens/other-screen.tsx", @@ -304,6 +307,7 @@ "src/components/therapy-compass/screens/recommend-screen.tsx", "src/components/therapy-compass/screens/search-screen.tsx", "src/components/therapy-compass/therapy-card.tsx", + "src/components/therapy-compass/therapy-compare-tray.tsx", "src/components/therapy-compass/workspace.tsx", "src/components/tools/tools-search-results-page.tsx", "src/components/ui/confirm-dialog.tsx", @@ -1660,6 +1664,7 @@ "src/components/in-page-nav/in-page-nav-header.tsx", "src/components/mode-nav/mode-nav.tsx", "src/components/therapy-compass/record/key-facts.tsx", + "src/components/therapy-compass/therapy-compare-tray.tsx", "src/components/tools/tools-search-results-page.tsx", "src/components/ui/confirm-dialog.tsx", "src/components/ward-management/ward-management-navigation.tsx" @@ -1692,6 +1697,7 @@ "src/components/in-page-nav/in-page-nav-header.tsx", "src/components/mode-nav/mode-nav.tsx", "src/components/therapy-compass/record/key-facts.tsx", + "src/components/therapy-compass/therapy-compare-tray.tsx", "src/components/tools/tools-search-results-page.tsx", "src/components/ui/confirm-dialog.tsx" ], diff --git a/docs/search-chrome-behaviour.md b/docs/search-chrome-behaviour.md index ed460c667c..ab0f5b3cef 100644 --- a/docs/search-chrome-behaviour.md +++ b/docs/search-chrome-behaviour.md @@ -764,12 +764,13 @@ floating element: it portals into a slot rendered _inside_ the dock's `