diff --git a/data/outstanding-issues-snapshot.json b/data/outstanding-issues-snapshot.json index fed1fdd299..76e93999ce 100644 --- a/data/outstanding-issues-snapshot.json +++ b/data/outstanding-issues-snapshot.json @@ -1,8 +1,8 @@ { "version": "outstanding-issues-snapshot-v1", "ledger_revision": { - "sha": "d247db72afce3d28a45d496334927a6c5cb5762e", - "committed_at": "2026-09-02T03:17:21+00:00" + "sha": "a4a95ec89b59bec602065376278598b8a0b896fa", + "committed_at": "2026-09-02T14:22:01+08:00" }, "counts": { "open": 70, @@ -10,7 +10,7 @@ "p2": 49, "p3": 19, "queued": 7, - "pending": 1, + "pending": 0, "resolved": 459 }, "queue": [ @@ -724,12 +724,5 @@ "added": "2026-08-24" } ], - "pending": [ - { - "request_id": "f5078359-d4ea-4a91-b376-d5bbecb452a6", - "action": "add", - "summary": "Corpus health panel and the hub document count have never been seen against the real library", - "created_at": "2026-09-02" - } - ] + "pending": [] } diff --git a/data/repo-awareness-snapshot.json b/data/repo-awareness-snapshot.json index 8e1e0c2f95..0989ac4362 100644 --- a/data/repo-awareness-snapshot.json +++ b/data/repo-awareness-snapshot.json @@ -1,8 +1,8 @@ { - "version": "repo-awareness-snapshot-v1", + "version": "repo-awareness-snapshot-v2", "captured_revision": { - "sha": "c12632a03ad683468c83ef0a3b5947b17adf84fc", - "committed_at": "2026-09-02T05:39:09+00:00" + "sha": "228430f47c13b73bdcdce94b397d1efcbe2f5868", + "committed_at": "2026-09-02T07:54:30+00:00" }, "routes": { "modes": [ @@ -4433,4212 +4433,3820 @@ "review_state": { "records": [ { - "date": "2026-09-02", - "ref": "claude/instruction-tiering-n9vs14", - "head": "563896ea8b430830f0297e5f9ec6ae0644d88f99", - "scope": "Instruction tiering: AGENTS.md/CLAUDE.md always-loaded core plus docs/agents reference files", - "outcome": "No findings. Reorganisation only: all 662 non-blank AGENTS.md lines verified byte-identical across the post-change tree; the 48 removed CLAUDE.md lines are restatements whose canonical text was located in the rules layer. Gate-parsed sections quarantined in place; every heading retained as a pointer so external section-name references still resolve. Two guards repaired that the move would otherwise have weakened (docs/agents added to workflow scope maps and userFacingProductSurfaces).", - "checks": "verify:cheap (12050 passed; 2 pre-existing shallow-clone failures reproduced on unmodified origin/main); 10 doc-parsing test files 151 passed; check:gate-manifest; check:skills; docs:check-links; docs:check-scripts; check:repo-awareness-snapshot; check:migration-role; check:pr-policy; check:codex-cloud; ci-change-scope self-test; format:check; CI green (Static PR checks + PR required)" - }, - { - "date": "2026-09-02", - "ref": "codex/smart-local-modes-20260901", - "head": "1e03113f121483116afad23f6b370b0f62efa5c4", - "scope": "smart local modes integration", - "outcome": "Fixed calculator identity matches inside natural-language queries; no additional P0-P2 findings.", - "checks": "Focused calculators Vitest 18/18; npm run format; git diff --check." - }, - { - "date": "2026-09-01", - "ref": "codex/smart-local-modes-20260901 (PR #2508)", - "head": "a1e1b973599e9bb301360be90c051986c172670f", - "scope": "PR #2508 native Smart catalogue matching", - "outcome": "Fixed P1 Compare result-order regression; no additional P0-P3 findings.", - "checks": "Focused Vitest 10/10; npm run format; full suite stopped before provider-backed path." - }, - { - "date": "2026-09-01", - "ref": "PR-2504", - "head": "0bb1c2b6c01509d3ea5a978c3bd56c36176438d7", - "scope": "Run PR sweep: scope corpus-health reads", - "outcome": "Replaced inaccessible authenticated-table reads with an independently administrator-gated service-role boundary that filters every query to the verified owner; restored the complete implementation after an intervening placeholder-only commit.", - "checks": "Focused developer corpus-health test: 16 passed; explicit owner-filter and non-administrator coverage; diff check." - }, - { - "date": "2026-09-01", - "ref": "PR-2504", - "head": "3b1dc7c8bc997a4ea4bac44dc7de01632e676e63", - "scope": "Resolve Codex P1: corpus-health table access", - "outcome": "Verified the authenticated role lacks table SELECT; the administrator-gated server-only service-role path scopes every documents and document_index_quality query to the verified owner, with current access-control documentation.", - "checks": "Focused corpus-health suite: 18 passed; Prettier check passed; schema grants verified; independent review found no runtime access-control defect." - }, - { - "date": "2026-09-01", - "ref": "PR-2507", - "head": "ebb57785958888c2703ccb6cadac76ce344065ee", - "scope": "Run PR sweep: enforce Favourites phone tap-target minimum", - "outcome": "Replaced the blacklist-only target guard with a positive 48px-or-row-wide requirement and mutation fixtures for undersized or implicit controls.", - "checks": "Focused Favourites phone mockup test: 9 passed; diff check." - }, - { - "date": "2026-09-01", - "ref": "PR-2508", - "head": "14a99d0c412a3c53bf92b684c5b7e5b57ca1ccd9", - "scope": "Run PR sweep: prioritise embedded catalogue identities", - "outcome": "Ranked named Factsheet titles or brands and Dictionary terms or abbreviations above related Smart expansion matches in natural-language queries.", - "checks": "Focused Factsheets and Dictionary tests: 35 passed; direct-identity regression coverage; diff check." - }, - { - "date": "2026-08-31", - "ref": "codex/answer-surface-compact-20260830", - "head": "705561dd1f9b1ac8f72c7a4858e3819b9ee5a40e", - "scope": "compact answer source safety and library UI", - "outcome": "No P0-P2 findings; compact source status, answer utilities, safety row, and library placement ready for PR", - "checks": "13 focused DOM tests passed; targeted Chromium 1/1 passed; lint and typecheck passed; build passed 1998 routes; design contracts passed; production-readiness CI READY; offline RAG 628/628 and adversarial 25/25 passed; full unit 11656 passed with 6 unrelated Windows Claude Cloud harness exit-127 failures; no provider-backed checks run" - }, - { - "date": "2026-08-31", - "ref": "codex/chat-smart-natural-mode-search-pr-2480-landed-verify", - "head": "f64762dd6b16bd90e94773b1dc892760180747e1", - "scope": "Smart natural-language catalogue search separation", - "outcome": "no P0/P1 findings; ready for PR", - "checks": "208 focused tests; 53 post-merge tests; production Chromium 4/4; typecheck; lint; docs links; diff check" - }, - { - "date": "2026-08-31", - "ref": "core_rag_security_hub", - "head": "d39db0ec72583680f666078a4a366083bf37fcf9", - "scope": "PR Group 2: Core RAG, Security, DB Functions & Developer Hub (#DHAR98, #0JJ4RD, #2X46NY, #S4R2W3, #N8B176, #VKH7N1, #CJCH2E, #FDST2Q, #XKS6FD, #ZW43ZT, #G693BZ)", - "outcome": "PASS: All 11 Group 2 tasks verified clean against database guards, RAG quality gates, DOM component tests, full typecheck, and Prettier formatting with zero regressions.", - "checks": "npm run check:migration-role, npm run check:function-grants, npm run check:owner-scope, npm run typecheck, vitest run tests/developer-hub-components.dom.test.tsx tests/developer-ingestion-page.dom.test.tsx tests/documents-is-public.test.ts tests/supabase-schema.test.ts tests/extractive-answer-formatting.test.ts (247/247 passed), npm run format" - }, - { - "date": "2026-08-31", - "ref": "gemini/pr-group-3-ui-a11y-caring-contacts-ward-flow (PR #2479)", - "head": "8ff3f26c6e4f5302c1883f940f4cc1b22fbeec5c", - "scope": "Run PR sweep: existing unresolved review threads", - "outcome": "0 → 2 threads resolved: useful-actions disclosure semantics, workspace route registration assertion", - "checks": "Focused Vitest 18/18; typecheck passed; no provider-backed checks run" - }, - { - "date": "2026-08-30", - "ref": "codex/smart-natural-search-current-main", - "head": "7190c2ccd87dfc25e49e488b22705fb6b7b60931", - "scope": "Smart natural search CI reconciliation exact-tree review", - "outcome": "No open P0/P1/P2 findings; maintainability blocker fixed by cohesive extraction", - "checks": "maintainability budgets; 86 focused Vitest; provider-free Chromium Smart suite; lint; typecheck; formatting; diff check" - }, - { - "date": "2026-08-30", - "ref": "codex/smart-natural-search-current-main", - "head": "8de6dae0e541166dad23523ca3a4e2340eb6c217", - "scope": "Smart natural search exact-tree implementation and review", - "outcome": "P2 findings fixed; no open P0/P1/P2 findings", - "checks": "105 focused contracts; enabled Chromium 6 passed/1 skipped; default-off Chromium 1 passed; production build passed; PR-local 11616 passed with 6 exact-main Windows Bash failures" - }, - { - "date": "2026-08-30", - "ref": "codex/smart-natural-search-current-main", - "head": "b762e1363b9bbb993f0f74a9e00a2c2ccb1f56be", - "scope": "Smart natural search final CI test correction review", - "outcome": "No open P0/P1/P2 findings; stale extracted-owner tests corrected", - "checks": "6 focused Vitest; DSM production Chromium; formatting; diff check" - }, - { - "date": "2026-08-29", - "ref": "PR-2454", - "head": "9e27b7b779443eb9d140c5eaf562af578f5ec6e4", - "scope": "CI triage and unresolved review findings", - "outcome": "Confirmed PR-specific repo-awareness drift and two P2 documentation findings; corrected the generated snapshot, Windows LCP delta, and Linux-only qualification. Main coverage/browser failures did not reproduce on the PR head.", - "checks": "PR/base Actions logs; repo-awareness check; outstanding-issues check; docs links; targeted Prettier; arithmetic verification" - }, - { - "date": "2026-08-29", - "ref": "PR-2457", - "head": "0e5631ba6a98b22ef1ddf5557e6ce38b824e78b2", - "scope": "PR #2457 review-and-fix", - "outcome": "Fixed repository breakpoint coverage, conservative same-band Tailwind cascade handling, and the stale compact-disclosure UI assertion; no other material PR-introduced defects confirmed.", - "checks": "57 focused Vitest tests passed; design-system contract/adoption/sync passed; typecheck passed; local Playwright unavailable because pinned Chromium is not installed, with exact-head Actions reproducing the corrected 42px assertion." - }, - { - "date": "2026-08-27", - "ref": "2398", - "head": "4228b6f91a1d130b6751fd60bdee86e673cb6ddd", - "scope": "pr-babysit sweep: merge conflicts, review threads, snapshot CI fix", - "outcome": "FIXED", - "checks": "merge-main, review-replies, thread-resolve, snapshot-regen" - }, - { - "date": "2026-08-27", - "ref": "claude/home-page-scroll-stability-cbnak6", - "head": "c917e079635ee17c3059205b5356b4c51e6362cf", - "scope": "Phone defects from device screenshots: safety-findings sheet scroll lock and flex-clipped card; stopped-answer notice placement plus the never-clearing pending skeleton; phone answer-results bottom padding pb-4 -> pb-10; sidebar Documents entry repointed to /?mode=documents. 11 files, +118/-39.", - "outcome": "Merged to main 2026-08-27 as squash 28b1fef (PR #2422). Squash verified by content: git diff c917e079 28b1fef is empty, so nothing was dropped by the auto-merge.", - "checks": "CI green on head c917e079 (run 33072264164): Static PR checks, Build + bundle budget, Unit coverage, Safety and config, Caring Contacts, Production UI critical and Production UI 1/2/3 (Chromium journeys), Lighthouse budget, PR required - all success. Local before push: typecheck clean; lint clean at --max-warnings 0; full offline unit suite 10,814 passed with 3 pre-existing failures confirmed identical on a stashed tree. verify:ui and the verify:phone-chrome browser stages NOT run in this container - the lock pins Playwright chromium-1234, the image ships chromium-1194, and the #255 guard forbids substituting; browser proof delegated to CI Production UI. Lighthouse desktop-root LCP read high across four branch runs (961 FAILED, then 925/900/852 passing, vs main 748/705) and is recorded as its own unresolved ledger item rather than treated as cleared." - }, - { - "date": "2026-08-27", - "ref": "codex/dsm-search-ux-elevation (PR #2415)", - "head": "6e5531ce7724c63b8c29bd880141ea87c7cd5fd8", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty (main advanced 5 commits past merge base to a DSM comparison-page redesign #2409 that conflicted with this PR's DSM search/compare changes); 0 unresolved review threads (5 PR comments were all bot rate-limit/housekeeping noise, no actionable findings); CI had not yet run on a clean merge. After: merged origin/main resolving real content conflicts in 5 files (dsm-compare-chrome.tsx, dsm-comparison-page.tsx, dsm-page-header.tsx, mode-secondary-navigation.ts, tests/ui-route-coverage.spec.ts) by combining both sides' intent (kept main's compact-header redesign and null-id-filter fix, kept this PR's dsmSearchHref routing, compact compare starters, and showEmptyState/slotLayout opt-ins) rather than blanket ours/theirs; pushed merge commit 6e5531ce. No review threads needed action. CI re-triggered on the new head (run 33051601015) and was still in progress (Lint/Unit coverage/Build/4x Production UI shards/Lighthouse running) after ~34 minutes of observation with no new job-log progress in the final two snapshots; left for a human or a later session to confirm green.", - "checks": "npm run typecheck (clean, gate-receipts recorded pass), npm run lint (clean, gate-receipts recorded pass), npx vitest run tests/mode-secondary-navigation.test.ts tests/dsm-compare-chrome.dom.test.tsx tests/dsm-comparison-page.dom.test.tsx tests/dsm-search-empty-state.dom.test.tsx tests/app-modes.test.ts tests/information-page-shell.dom.test.tsx (75 passed), npm run format (no changes needed). No provider-backed checks run; hosted CI run 33051601015 still in progress as of last observation." - }, - { - "date": "2026-08-27", - "ref": "codex/dsm-search-ux-elevation (PR #2415)", - "head": "958a6b4f7c969f07cb118ccc0c581939fd81bcab", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty again (main advanced one more commit, #2416, past the prior sweep's merge, re-conflicting the generated repo-awareness snapshot); required CI red on the prior head (5b22edb2) with Production UI (1) failing tests/ui-route-coverage.spec.ts 'DSM home renders responsively and opens comparison' (expected /dsm/compare$ but got /dsm/compare?q=major+depressive, because the prior sweep's merge silently dropped a same-PR fix commit's dropped $ anchor while keeping its other hunks) and PR mergeability failing on the dirty state; 0 unresolved review threads (6 PR comments were all bot rate-limit/housekeeping noise: Codex usage limit, CodeRabbit review limit, Cursor Bugbot limit x2, Supabase preview skip, CI-triage bot). After: merged origin/main resolving the sole conflict (data/repo-awareness-snapshot.json, a generated file) by regenerating via npm run snapshot:repo-awareness rather than hand-editing; separately fixed the real route-coverage regression by dropping the stale $ anchor on the /dsm/compare URL assertion (restoring intended behaviour: Compare now carries q/ids from DSM search, matching this PR's own preserve-filters design) — both included in merge commit 958a6b4f. No review threads needed action (still zero unresolved). Pushed 958a6b4f; new CI run 33062342217 kicked off on the synced head and was still in progress at time of recording; left for a human or later session to confirm green.", - "checks": "npm run lint (clean, gate-receipts recorded pass), npm run typecheck (clean, gate-receipts recorded pass), npm run test -- tests/mode-secondary-navigation.test.ts tests/dsm-compare-chrome.dom.test.tsx tests/dsm-search-empty-state.dom.test.tsx tests/app-modes.test.ts tests/dsm-comparison-page.dom.test.tsx (68 passed, gate-receipts recorded pass). git merge-tree confirmed the only conflict was the generated snapshot file before merging. No provider-backed checks run; hosted CI run 33062342217 in progress as of last observation." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "00356908c096c9bdf462d9da85b1157f9e7c70b9", - "scope": "Resolve CodeRabbit review comment", - "outcome": "CodeRabbit flagged a real SSR/client hydration mismatch: usePhoneMedia's useState lazy initializer read window.matchMedia directly on the client's first render, which could disagree with the server-rendered false and mismatch CompareIdsChrome/CompareSlotStrip's initial hybrid-layout branch. Fixed by switching usePhoneMedia to useSyncExternalStore with a server snapshot fixed to false, matching the repo's existing useIndexingAdminDesktopLayout pattern. Replied and resolved the thread.", - "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/dsm-compare-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx -- 18 passed (53 passed on the full focused set before format pass); npx tsc --noEmit -- clean; npx eslint on the changed file -- clean; npx prettier --check -- clean after --write. No provider-backed checks run." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "4042bdd7af523746d4c9b7a9c6a732e36c886b7d", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty (real conflict in src/components/dsm/dsm-compare-chrome.tsx vs main's #2409 DSM redesign), CI red (Build/Static PR checks/Production UI x4/Lighthouse all failing on one root-cause TS2783 duplicate-prop typecheck error in the PR's own new test), 0 unresolved review threads (all 5 PR comments were bot noise: Codex/CodeRabbit/Bugbot usage-limit notices and a CI-triage bot comment). After: merged origin/main cleanly (dsm-compare-chrome.tsx conflict resolved by combining HEAD's phoneLayout/slotSummaryLabel props with main's onCommit, verified equivalent since idsCompareHref already null-filters internally), fixed the duplicate actionLabel JSX prop in tests/compare-ids-chrome.dom.test.tsx (removed the redundant explicit prop since chromeProps spread already supplies it and the test asserts nothing about its value), pushed 2 commits (13efa061 merge, 4042bdd7 fix). No review threads needed action. New CI run (33051244071) at 4042bdd7 still in_progress after 30+ min observation window (PR mergeability + PR policy + Safety and config checks + Caring Contacts database already green); Build/Static PR checks/Unit coverage/Production UI x3/Production UI critical/Lighthouse budget not yet settled — deferred to the user per babysit budget, run: https://github.com/BigSimmo/Database/actions/runs/33051244071", - "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts tests/dsm-comparison-page.dom.test.tsx -- 6 files / 53 passed; npm run typecheck -- passed after fix (5604 input files); npx eslint on touched files -- clean; no provider-backed checks run" - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "4af5895f48cca785333272ece41e25bcaccb7441", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Static PR checks failing (check:repo-awareness-snapshot: committed snapshot behind — review_state differs) -> merged origin/main@603da96 (clean, no conflicts) then regenerated snapshot via npm run snapshot:repo-awareness and committed; 0 unresolved review threads found (none to fix/reply/resolve). Local full gate now green. Note: main advanced again mid-sweep to be65b8a1b (PR #2415, same DSM/compare files) producing a real post-push content conflict — left unresolved for the user, not auto-resolved.", - "checks": "npm run verify:cheap equivalent set run piecewise: check:repo-awareness-snapshot (fail -> pass after regenerate), full static-pr check chain (34 gates, all pass), npm run lint (pass), npm run typecheck (pass), npm run test (893 files / 10824 tests passed, 4 skipped — two initially-failing tests (clinical-hazard-controls.test.ts, privacy-readiness-contract.test.ts) were a local shallow-clone ancestry artifact, confirmed pre-existing on plain origin/main and resolved by git fetch --deepen, not a code fix). No provider-backed checks run." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "871df2793ccb63ffe92f70225e8be64e25619da7", - "scope": "Resolve merge conflict against origin/main (requested follow-up after Run PR sweep)", - "outcome": "Real content conflict in compare-ids-chrome.tsx, compare-slot-strip.tsx, dsm-compare-chrome.tsx, and tests/ui-route-coverage.spec.ts caused by PR #2415 (already merged) independently reworking DsmCompareChrome to a compact horizontal rail + separate starter-chip row, while this PR added a phoneLayout=hybrid pip-summary/2x2-grid design to the same shared CompareIdsChrome/CompareSlotStrip components. Resolved by merging both prop sets into the shared components (showEmptyState/slotLayout from main plus phoneLayout/slotSummaryLabel from this PR, now coexisting) and, for the one screen both PRs redesigned (DSM compare), keeping origin/main's already-shipped compact-rail design rather than overwriting it — so this PR's hybrid layout still lands in full for Therapy compare (untouched by #2415), while DSM compare keeps its most recently reviewed design. Regenerated data/repo-awareness-snapshot.json. Pushed as merge commit 871df2793.", - "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/dsm-compare-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts -- 53 passed; npx tsc --noEmit -- clean; npx eslint on the 4 resolved files -- clean; npm run check:repo-awareness-snapshot -- in step; npx prettier --check on the 4 resolved files -- all match. No provider-backed checks run." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "c718360809aa7bd0d3b681329e34bbb2be633bcb", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: Static PR checks failing (check:repo-awareness-snapshot drifted review_state), Production UI (1) failing (tests/ui-route-coverage.spec.ts DSM compare removal test expected the pre-hybrid-layout Choose-at-least-two-diagnoses heading, which this PR's own new hybrid-phone suppressEmptyState/showOneMoreHint logic intentionally replaces with an Add-one-more-to-compare hint at phone width), PR required aggregate failing as a result. No unresolved review threads existed (0 review threads; all 7 PR comments were bot usage-limit/CI-triage noise). Branch was not behind main (base 3265231 == origin/main tip). After: regenerated data/repo-awareness-snapshot.json via npm run snapshot:repo-awareness and updated the Playwright assertion to expect compare-slot-strip-one-more-hint instead of the old heading, matching the new intended UX already covered by tests/compare-slot-strip.dom.test.tsx. No drift merge needed (branch was current with main). No review threads to address.", - "checks": "npm run check:repo-awareness-snapshot (pass after regen), npm run test -- tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts (5 files, 52 passed), npm run typecheck (pass), npx eslint tests/ui-route-coverage.spec.ts --max-warnings 0 (pass, 0 findings), npx prettier --check tests/ui-route-coverage.spec.ts data/repo-awareness-snapshot.json (pass). No provider-backed checks run (no verify:ui/verify:release/eval:* executed)." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-compare-phone-ux (PR #2410)", - "head": "fcfaa11a07bea6c04c4c4c1b046fb0ccaca469ba", - "scope": "Run PR follow-up: second merge-drift + real bug fix + PR-policy fix", - "outcome": "Re-synced with origin/main after PR #2416 landed (mechanical conflict only in data/repo-awareness-snapshot.json, regenerated). Also found and fixed a real regression from the earlier sweep's conflict resolution: DsmCompareChrome's onCommit had dropped ids.filter(Boolean) that origin/main carries, producing ids=,bipolar-ii-disorder after removing the first of two selections instead of ids=bipolar-ii-disorder -- exactly the failure tests/ui-route-coverage.spec.ts caught in CI. Restored the filter to match main. Added the required Clinical Governance Preflight section to the PR body since the regenerated snapshot touches data/. No review threads outstanding.", - "checks": "npx vitest run tests/compare-catalog.test.ts tests/compare-ids-chrome.dom.test.tsx tests/compare-slot-strip.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts -- 57 passed; no provider-backed checks run" - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-pathways-redesign (PR #2413)", - "head": "05e00976ab04796d7f44593b692f46cb8919943e", - "scope": "Run PR follow-up: second merge-drift + PR-policy fix", - "outcome": "Re-synced with origin/main after PR #2416 landed (mechanical conflict only in data/repo-awareness-snapshot.json, regenerated); added the required Clinical Governance Preflight section to the PR body since the regenerated snapshot touches data/, a path scripts/pr-policy.mjs treats as clinical-risk. No review threads outstanding.", - "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts -- 25 passed; no provider-backed checks run" - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-pathways-redesign (PR #2413)", - "head": "be2d9b0291965258e5933006dc9b914961bb0dc3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "CI was already green pre-sweep (PR required: success on d3f39c4); branch was already current with main (0 behind), so no drift merge needed. Fixed 3 unresolved CodeRabbit review threads: (1) pathway/step 'linked steps' counts used total steps.length instead of counting only steps with a matched therapySlug — added pathwayLinkedStepCount() and wired it into pathway-review-label.ts, pathway-picker-sheet.tsx (x2), pathway-step-stack.tsx; (2) ui-therapy-pathways.spec.ts readCautionGeometry substituted +/-Infinity for a missing caution/dock element, masking a broken overlap assertion — now throws if either is absent; (3) the 'Change pathway' Playwright test only re-clicked the already-active Anxiety pathway row, which could pass with a broken selectPathway — now selects Mood pathway, asserts the URL/heading changed, then switches back to Anxiety before the anxiety-scoped scroll assertions. All 3 threads replied with commit SHA and resolved.", - "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts tests/therapy-compass-pathways.test.ts -- 34 passed; npm run lint -- exit 0 (gate-receipts pass); npm run typecheck -- exit 0, run foreground twice, gate-receipts recorded pass for typecheck:internal (5613 input files); npm run format -- applied (1 file reformatted, amended into commit); no provider-backed checks run" - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-pathways-redesign (PR #2413)", - "head": "d2bbc44f084707d8844485c67c8cd76d57e04b39", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty (conflict vs main), all real CI green on prior head (19fca0d), 0 unresolved review threads (4 PR comments were all automated bot usage-limit/status noise, no actionable findings). After: merged origin/main (b183dc65) into branch; only conflicts were generated files docs/design-system/COMPONENTS.md and docs/design-system/adoption-manifest.json, resolved by regenerating via 'node scripts/generate-design-system-adoption.mjs --write' (no manual edits); PR mergeability check now succeeds. No review threads needed action (none existed). No CI fix needed beyond the merge itself.", - "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts -- 25 passed; npm run check:design-system-adoption -- design system adoption checked: 55 components, 76 roots; npm run check:playwright-pr-shards -- PR UI shard parity OK: 31 production specs across 3 groups; pre-commit hook ran docs:check-inventory and docs:check-index -- both current. No provider-backed checks run." - }, - { - "date": "2026-08-27", - "ref": "codex/therapy-pathways-redesign (PR #2413)", - "head": "f8537abbef36b5e9f72eb1c745f565253a276153", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR required failing (Static PR checks red on check:repo-awareness-snapshot — committed data/repo-awareness-snapshot.json review_state was stale after prior sweep's ledger/docs commits); 0 unresolved review threads; branch already contained origin/main (no drift). After: ran npm run snapshot:repo-awareness to regenerate the snapshot, verified npm run check:repo-awareness-snapshot and npm run format:changed pass, committed and pushed f8537ab. All other required jobs (Build, Unit coverage, Production UI critical, Safety and config checks, Production UI shards 1-3, Lighthouse budget) were already green before this fix and untouched by it. No review threads existed to address. No main-sync needed (branch already up to date).", - "checks": "npm run check:repo-awareness-snapshot (PASS, reproduces prior CI failure then passes after regen); npm run format:changed (PASS); npm run snapshot:repo-awareness (regenerated data/repo-awareness-snapshot.json); no provider-backed checks run" - }, - { - "date": "2026-08-27", - "ref": "codex/tooling-hooks-ci-invariants", - "head": "dba86f029eed2c6d8a4c6c7594840c60d5d004a2", - "scope": "PR #2397 babysit: merge main, conflict resolution, review thread fixes", - "outcome": "mergeable; snapshot regenerated; 5 premature inbox done requests removed; dev-drive-cache fails closed; Medication pin /medications", - "checks": "vitest session-start-hook+sidebar-production 18/18; check:dev-drive-cache; check:outstanding-issues-snapshot" - }, - { - "date": "2026-08-27", - "ref": "ds-hazard-1-2-sweep", - "head": "19ee085b1cc952e8c40e893fb2fce99538415259", - "scope": "design-system", - "outcome": "Findings — 0 P0/P1; 4 structural P2 (disabled-send border jump, hero leading on composer, --leading-prose on chrome, stale conventions.md per-step type scale); residuals on specifier focus ring and leftover Lucide sizes", - "checks": "read-only origin/main...HEAD token/UI/docs inspection; ledger lookup NOT REVIEWED; no contract gate, browser, or providers" - }, - { - "date": "2026-08-27", - "ref": "ds-hazard-1-2-sweep (PR #2416)", - "head": "0ed48477cf427f95d6d1dc0999ea58be64153a4c", - "scope": "Run PR sweep: CI fix + review threads + drift resolution", - "outcome": "Before: PR was 1 commit behind main (mergeable_state=behind), 0 unresolved review threads, all 5 PR comments were bot rate-limit/CI-triage noise (Codex usage cap, Supabase preview skip, CodeRabbit rate-limited, Bugbot rate-limited, stale CI-triage comment referencing an earlier pre-merge head). Hosted CI on the existing head (1365ac08) was already green (Static PR checks, PR required, Build, Unit coverage, Production UI x3, Lighthouse, Safety checks all success) after the branch author's own earlier push. Action: merge-tree check against origin/main confirmed a clean merge (no conflicts); merged origin/main (1 commit ahead, an unrelated docs/test-infra commit) into ds-hazard-1-2-sweep locally and pushed (1365ac08..0ed48477). No review threads existed to reply to or resolve. After: local verification on the merged head all passed - whole-tree Prettier check clean, tsc --noEmit clean, eslint on touched files clean, and both design-system contract test files (tests/ckb-v2-token-contract.test.ts, tests/design-system-contract-utils.test.ts) passed 66/66. Hosted CI re-triggered on new head 0ed48477: Static PR checks, Lint, Typecheck, Build+bundle-budget, Production UI critical, Lighthouse budget, Safety and config checks, Caring Contacts database, PR policy, PR mergeability, Gitleaks, Semgrep, GitGuardian all completed success. Production UI (1)/(2)/(3) and Unit coverage were still in_progress after 30+ minutes of observation (well beyond their prior ~9 minute runtime on the same suite for the previous head) with no failure signal - deferred per the sweep's 30-min-per-run babysit cap; job steps showed steady forward progress (no stall/livelock signature) so this is not treated as a regression, just unobserved completion. No auto-merge was set on this PR; none was touched.", - "checks": "Local: npx prettier --check . (clean), npx tsc -p tsconfig.typecheck.json --noEmit (clean), npx eslint on touched src/tests files (clean, only expected CSS-file lint-ignore warnings), npx vitest run tests/ckb-v2-token-contract.test.ts tests/design-system-contract-utils.test.ts (66 passed). Hosted CI on merge commit 0ed48477: Static PR checks/Lint/Typecheck/Build+bundle-budget/Production UI critical/Lighthouse budget/Safety and config checks/Caring Contacts database/PR policy/PR mergeability/Gitleaks/Semgrep/GitGuardian all success; Production UI (1)(2)(3) and Unit coverage still in_progress at time of this record (deferred, no failure). No provider-backed live-Supabase/OpenAI/eval commands run." - }, - { - "date": "2026-08-27", - "ref": "gemini/engineering-maintenance-and-ledger-reconciliation (PR #2418)", - "head": "0a370df3cb346a441124ca67938f4a4c71d4e980", - "scope": "Run PR sweep: CI/drift diagnosis + review-thread sweep on ledger-reconciliation PR", - "outcome": "No fix pushed. mergeable_state=dirty is real: git merge origin/main conflicts only in generated data/outstanding-issues-snapshot.json and data/repo-awareness-snapshot.json, both cleanly regenerable via npm run snapshot:issues / npm run snapshot:repo-awareness. Regenerated them, but the merge commit then fails the check-ledger-write-discipline.mjs pre-push guard: origin/main (PR #2417) queued 2 new pending ledger-inbox requests after this PR's branch point (474922a3-...json -> issue #TBW7BR, 5e8ec6a9-...json -> issue #BR2217), and this PR's merge commit would touch docs/outstanding-issues-inbox/applied/ (its own 33-item reconciliation) while leaving those 2 newer items unreconciled - flagged as a partial-batch reconciliation. Deciding whether #TBW7BR/#BR2217 should be marked done is outside this PR's declared 33-item scope and belongs to a dedicated npm run issues:reconcile operation, not an ad hoc merge fix, so per sweep policy for ambiguous reconciliation-content conflicts the merge was aborted (git reset --hard back to the original PR tip 0a370df3) rather than pushed with SKIP_LEDGER_WRITE_GUARD=1. Branch left exactly as found (0a370df3, matches origin). Review threads: get_review_comments returned 0 threads; the 4 PR comments are all bot rate-limit notices (Codex usage limit, CodeRabbit review limit, Cursor Bugbot usage limit, Supabase preview ignored-no-supabase-changes) with nothing actionable to reply to or resolve. Real CI: only PR Policy (pass) and PR mergeability (fail, caused by the same drift above) have run for this head; the main ci.yml required-checks aggregate (changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify/pr-required) has not triggered yet on this SHA, so there is no other CI failure to diagnose. No merge to main, no force-push, no auto-merge toggle, no close, no provider-backed gate run.", - "checks": "node scripts/ledger-inbox.mjs check (0 pending / 33 applied at PR head, 2 pending after main merge before abort); npm run check:outstanding-issues-snapshot (83 open, 0 pending at PR head); node scripts/check-outstanding-issues.mjs (512 rows, 83 open, 429 archived, passed on merged tree before abort); node scripts/check-ledger-write-discipline.mjs --base 32652318 --head = FAILED (partial reconciliation, 2 items left pending) -> merge aborted; npx tsc -p tsconfig.typecheck.json --noEmit = 0 errors (on merged tree, discarded); npm run docs:check-index/check-inventory/check-scripts/check-links = all passed (on merged tree, discarded); npm run format = no changes (on merged tree, discarded); git merge-tree --write-tree origin/main 0a370df3 = conflicts confined to data/outstanding-issues-snapshot.json and data/repo-awareness-snapshot.json only" - }, - { - "date": "2026-08-27", - "ref": "update_documentation_structure (PR #2444)", - "head": "c619671065422373f746f69bca5f94147767f877", - "scope": "PR 2444 review: main sync + CI fix + review thread", - "outcome": "before: PR policy/Static PR checks/Unit coverage failing, 1 unresolved review thread, behind main by 2 commits (clean merge). after: merged origin/main (no conflicts), regenerated docs/site-map.md to drop deleted signed-urls alias route (fixes docs:check-links + site-map.test.ts), fixed CodeRabbit Major finding — upload error-path storage_cleanup_jobs ledger now carries document_id when document deletion is not confirmed so the janitor live-document guard can protect it, added required PR-body Clinical Governance Preflight + Risk and rollout sections (fixes PR policy check). Thread resolved with fix commit reference.", - "checks": "npm run typecheck (clean), npm run lint (clean), npm run test:focused -- --files src/app/api/upload/route.ts (184 passed), npm run docs:check-links (passed), npm run sitemap:check (passed), npm run format (no changes needed). No provider-backed checks run." - }, - { - "date": "2026-08-26", - "ref": "claude/dev-hub-handoff-accuracy (PR #2382)", - "head": "8ad4133fb05f0a47bd2618cd75bd86db973798ad", - "scope": "PR #2382 full changed scope", - "outcome": "Fixed the valid P2 by removing a spurious request that would duplicate already-resolved #NPQJKP work; merged current main and regenerated the conflicted issues snapshot from canonical inputs; no other P0-P2 findings; one review thread pending reply and resolution after push.", - "checks": "check:outstanding-issues PASS (503 rows, 91 open, 7 pending); docs:check-links PASS (3433 references); exact-head hosted CI before repair was green but must rerun after push; provider-backed gates not run." - }, - { - "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": "claude/ward-flow-phase-5-p8rwcm", - "head": "47b51405bf3938096411895d28a4bba351d7d050", - "scope": "Ward Flow Phase 5 — bed availability lifecycle, leave beds, discharge board, capacity bands, freshness", - "outcome": "Whole-branch review: approved with findings, 0 P0, 0 P1, 7 P2 — all seven fixed and mutation-tested. Four earlier automated findings: three fixed, one rejected with reasons.", - "checks": "npm run test (3 pre-existing failures, identical on clean origin/main); npm run typecheck; npm run lint (eslint cache cleared); prettier --check on all changed files; chromium-mockups ward-management + ward-coordinator + ward-discharges; screenshots at 390/820/1440 on five screens, looked at" - }, - { - "date": "2026-08-26", - "ref": "codex/chat-document-viewer-workspace-document-viewer-workspace-20260826", - "head": "4bb642acd2a8240471a19d15304b7adc70fa5798", - "scope": "document detail viewer reliability, PDF workspace UI, and phone/PWA recovery", - "outcome": "No P0-P2 findings after fixes; ready with documented environment-only gate limitations", - "checks": "focused Vitest 219/219; PDF virtualization 9/9; production Chromium 2/2; typecheck, lint, formatting, design contracts, production build passed; verify:pr-local reached 10418 passes then failed six unrelated Claude cloud shell fixtures plus one isolated flake that passed on rerun" - }, - { - "date": "2026-08-26", - "ref": "codex/chat-document-viewer-workspace-document-viewer-workspace-20260826", - "head": "9719590a10d05c08d9cd8736021469b1d129f3f9", - "scope": "PR #2389", - "outcome": "fixes-applied", - "checks": "PR policy body canonicalized; DocumentViewer 1694/1734 via state-surface extract; vitest 20/20 shell+section+recovery; Bugbot threads resolved; CI watching" - }, - { - "date": "2026-08-26", - "ref": "codex/chat-image-preview-reliability-image-preview-reliability", - "head": "09ff8ca36489411f26408d6b557888459151bb4a", - "scope": "authenticated document cover selection, retry lifecycle, optional preview failure, and source evidence preservation", - "outcome": "All substantiated P2 findings fixed; no remaining P0-P2 findings", - "checks": "lint pass; typecheck pass; focused preview 79/79; production build pass; full suite 10489 pass with six unrelated Windows Claude-cloud failures after the one preview failure was fixed; offline fixture contracts pass; snapshot and medication checks pass" - }, - { - "date": "2026-08-26", - "ref": "codex/chat-image-preview-reliability-image-preview-reliability", - "head": "57ab01cbe28977ed3e0db830c45a00749977e351", - "scope": "PR #2391", - "outcome": "fixes-applied", - "checks": "PR policy body canonicalized; cover in-flight keyed by credential; vitest use-document-cover 9/9; snapshot regenerated; threads resolved; CI watching" - }, - { - "date": "2026-08-26", - "ref": "codex/medication-risk-highlights", - "head": "4a6ca72858752cc59e99ba17c8a9f00baa603ac5", - "scope": "PR #2380 CI blocker: medication verdict signal", - "outcome": "fixed and independently reviewed", - "checks": "CI lint failure reproduced; focused ESLint pass; medication interaction DOM 27/27; full lint pass; typecheck pass; independent review clear" - }, - { - "date": "2026-08-26", - "ref": "codex/medication-risk-highlights (PR #2380)", - "head": "460057cced09015dce78b8960e9b21f1fbd1b7fa", - "scope": "PR #2380 full changed scope", - "outcome": "No P0-P2 findings; corrected the stale six-item governance body with the required Supabase-target attestation; merged current main cleanly; zero unresolved review threads.", - "checks": "Hosted CI at 2062e6563dbab390e4442ed42eaeb908bd509864: PR required success; post-sync medication Vitest 3 files/60 tests passed; installed-lock parity, outstanding-issues, and repo-awareness checks passed; provider-backed clinical gates not run." - }, - { - "date": "2026-08-26", - "ref": "PR #2383", - "head": "82721bc5c2ade304cc9041517755d89fc3f72883", - "scope": "PR #2383 Care Plan synthetic clinical prototype changed scope", - "outcome": "Fixed four review findings and merge conflicts with minimal root-cause changes; preserved current-main handoff corrections; no unresolved P0-P2 findings in changed scope", - "checks": "exact-head format:changed and docs:check-links passed; focused Care Plan suite 362/362 passed before final ref-only approval refinement; exact regression, lint, and typecheck pending repository coordinator and hosted exact-head CI" - }, - { - "date": "2026-08-26", - "ref": "PR #2384", - "head": "37313af8b59c1a673fc1157c8a0ac738e92ffdb2", - "scope": "PR #2384 Ward Flow Phase 5 docs and sidebar changed scope", - "outcome": "Post-merge review: original head tree matches squash merge; two review threads fixed and resolved; nonblocking Advisory UI exposed exact-minute countdown test flake fixed in follow-up. CodeRabbit breakpoint-token nitpick dispositioned: the selector must remain coupled to the Ward sidebar's shared literal 64rem contract.", - "checks": "Hosted PR required aggregate passed; 94/96 advisory UI tests passed with one skipped and one exact-minute assertion failure; local focused rerun initially blocked by coordinator EPERM while queued behind an active exclusive Playwright lease." - }, - { - "date": "2026-08-26", - "ref": "PR #2385", - "head": "0abca58a554adeba03299363d436c4fed843618e", - "scope": "privacy trust brief changed scope", - "outcome": "No unresolved findings; named design-value review comment fixed", - "checks": "design-system contract passed; privacy DOM 7/7 passed; privacy Playwright 5/5 passed with production build and TypeScript; full unit suite 10556 passed with 6 unrelated Windows absolute-path failures" - }, - { - "date": "2026-08-25", - "ref": "backup/pr-2333-prelinear-20260824", - "head": "7c5bb84e45d6925c6950cf5b96fff3a8cc479a7b", - "scope": "pr-ci-fix", - "outcome": "Fixed: prettier format:changed; PR_POLICY_BODY sync for Clinical Governance Preflight; empty commit retriggered PR Policy after body sync race. Review threads already resolved (fb8adf92). Required checks green (PR policy, Static PR, PR required). mergeStateStatus BEHIND vs moving main — merge-tree clean.", - "checks": "vitest:54/54; prettier:pass; pr-policy:pass; static-pr:pass; pr-required:pass" - }, - { - "date": "2026-08-25", - "ref": "claude/settings-page-review-optimize-bicxn9", - "head": "7b35bb382ea52ed5aadc85845ed25409475f7b52", - "scope": "PR #2364 Codex P2 preference sync + main merge", - "outcome": "Supersedes accf3563 record after ledger-commit tip. Same preference-sync fixes; HEAD includes immutable review record. Three Codex P2 threads resolved (reply API 403). mergeable MERGEABLE; CI in flight on 7b35bb38.", - "checks": "vitest 9 passed preference tests; typecheck pass; maintainability budgets pass; CI subscribed" - }, - { - "date": "2026-08-25", - "ref": "claude/settings-page-review-optimize-bicxn9", - "head": "accf3563369f981bf43b57bb76d6169a0870db96", - "scope": "PR #2364 Codex P2 preference sync + main merge", - "outcome": "Merged origin/main (adoption-manifest conflict resolved). Fixed three Codex P2 threads: optional saveRecentSearches default on PUT; mayRecordRecentSearches gate until account bootstrap; serialized/coalesced preference PUTs. Threads resolved via GraphQL (reply API 403 for cursor[bot]). Local: 9 preference tests pass; typecheck pass; maintainability budgets pass (ClinicalDashboard 4088/4140).", - "checks": "vitest: account-preferences-route + app-preferences-account-sync.dom + app-preferences (9 passed); typecheck pass; check:maintainability-budgets pass; design-system:adoption:update regenerated COMPONENTS Sheet count 29" - }, - { - "date": "2026-08-25", - "ref": "claude/settings-page-review-optimize-bicxn9", - "head": "f0516962f344ec6f8306182bd4ee591de163f749", - "scope": "settings surface review and rework", - "outcome": "Reviewed and reworked: settings search index, phone/tablet section rail, 768px two-column seam, ConfirmDialog on both destructive privacy actions plus a scoped app-only reset, real preference sync state replacing two swallowed catches, new saveRecentSearches privacy gate, corrected platform-aware shortcuts, persistent live regions. Answer style deliberately left inert (protected RAG surface). PR #2364.", - "checks": "verify:pr-local exit 0 (18 gates, none failed; 815 test files, 9853 passed); verify:cheap exit 0; focused Chromium pass at 320/390/768/1280 caught and fixed a duplicate native search-clear glyph; check:production-readiness fails only on pre-existing privacy-register items byte-identical to origin/main" - }, - { - "date": "2026-08-25", - "ref": "claude/ward-flow-phase-4-spec", - "head": "436fb8a306299f29c6f972d31ff51ccb6674d007", - "scope": "PR #2373 CI failures, merge conflicts, and review-thread fixes", - "outcome": "fixed seven review findings, merge conflicts, and stale sandbox document links", - "checks": "focused 120 tests passed; design contract and docs link check passed; exact-head hosted static rerun pending" - }, - { - "date": "2026-08-25", - "ref": "claude/ward-flow-phase-4-spec", - "head": "4d945ef7395a1e457d5d92ce10ec7f1dda328862", - "scope": "PR #2373 CI failures, merge conflicts, and review-thread fixes", - "outcome": "fixed seven review findings and merge conflicts", - "checks": "focused 120 tests passed before sidebar merge; design contract passed after sidebar merge; final focused rerun admission-deferred" - }, - { - "date": "2026-08-25", - "ref": "codex/ward-flow-phone-test", - "head": "c80c5178c282a1c900d9cc94f8078961467e9b05", - "scope": "Ward Flow phone drawer advisory test follow-up", - "outcome": "updated the stale phone navigation assertion after PR #2373 auto-merged", - "checks": "focused Chromium mockup test passed; full format passed" - }, - { - "date": "2026-08-24", - "ref": "2354", - "head": "97be623d5cd0d878130ff1eb6aa8ef9851d92d97", - "scope": "PR #2354 current changed scope", - "outcome": "P1 privacy URL leak and P2 inventory/data-boundary defects fixed; final staged re-review clean", - "checks": "diff check; sitemap; docs links/index; issue snapshot pass; focused DOM blocked by repository Playwright lease" - }, - { - "date": "2026-08-24", - "ref": "2360", - "head": "772de6562ac06ba31f60a34ca67fc7403f72b4fb", - "scope": "PR #2360 current changed scope", - "outcome": "No P0-P2 findings; merge conflicts resolved while preserving removal of Clinical Ask composer controls", - "checks": "GitHub metadata/comments/threads and failed mergeability log; exact diff review; npm run format; npm run format:changed; git diff --check; focused Vitest admission blocked by active coordinator owner" - }, - { - "date": "2026-08-24", - "ref": "claude/browser-test-gate-handoff-d5c1db (PR #2347)", - "head": "d3f5edc26b319f5feccebd628fd537855321f33c", - "scope": "Run PR sweep: CI fixes (owner closed mid-sweep)", - "outcome": "Before: PR required failing (Static PR checks: stale outstanding-issues snapshot + 3 broken docs-links; PR policy: Clinical Governance Preflight unchecked) and behind main. Fixed: (1) regenerated data/outstanding-issues-snapshot.json via its generator script; (2) added 3 scoped docs-link-checker allowlist entries in scripts/check-docs-links.mjs for historical/quoted-diagnostic path references in the Phase 2B SDD archive docs (verified locally, not a broken link). Synced origin/main in (clean merge-tree) both times. Static PR checks went green after both fixes. PR policy remained red (Clinical Governance Preflight checkboxes require a PR-body edit, outside this sweep's authorization). The PR owner (BigSimmo) then closed the PR at 14:42 UTC for unrelated reasons (auto-merge armed on incomplete work; a known-false workspace-coverage claim; explained in PR comment) — not an action taken by this sweep. Both fix commits remain on the branch per the owner's own comment (nothing lost).", - "checks": "node scripts/generate-outstanding-issues-snapshot.mjs + node scripts/check-outstanding-issues-snapshot.mjs (pass); node scripts/check-docs-links.mjs (pass, 3322 refs resolve); prettier --check scripts/check-docs-links.mjs (pass). No provider-backed checks run." - }, - { - "date": "2026-08-24", - "ref": "claude/review-queue-header-design-of7baq (PR #2338)", - "head": "c934541ceca611481073c4b761da98b99545b05a", - "scope": "Run PR sweep: drift sync", - "outcome": "No code fix needed; branch was only behind origin/main (clean merge-tree). Merged origin/main and pushed. Both existing review threads already resolved. Remaining CI failure: PR policy blocks on missing Clinical Governance Preflight section (src/lib/mode-secondary-navigation.ts change triggers clinicalRisk) — left open, PR body edits are out of scope for this sweep.", - "checks": "npx vitest run tests/therapy-compass-pathways.test.ts tests/route-reachability.test.ts tests/therapy-compass-mode-wiring.test.ts tests/therapy-review-regressions.test.ts tests/mode-nav-contract.test.ts tests/mode-secondary-navigation.test.ts tests/therapy-compass-responsive-contract.test.ts — 113 passed; no provider-backed checks run" - }, - { - "date": "2026-08-24", - "ref": "claude/therapy-comparison-mobile-design-z0dagr (PR #2339)", - "head": "6ef5b3617956ba8e0a4fa69a1953ec51cba1336f", - "scope": "Run PR sweep: branch sync", - "outcome": "Already fully green (PR required success) before sweep; only action was syncing origin/main in (clean merge-tree, no conflicts) via update_pull_request_branch. All 5 review threads were already resolved by the author. Post-sync CI reconfirmed green (PR required success at run 32741127269).", - "checks": "No local gates run — no code change, only a merge-from-main sync; CI (Static PR checks, Lint, Typecheck, Unit coverage, Build, Production UI x3, Production UI critical, Lighthouse budget, PR policy, PR required) reran green on GitHub. No provider-backed checks run." + "date": "2026-08-14", + "ref": "codex/therapy-global-convergence-20260814", + "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", + "scope": "Therapy global mode convergence: navigation, shared shell, search, favourites, sources, print", + "outcome": "P2 findings: four focused contract failures, missing Therapy tabpanel ownership, stale information-page adoption registry; implementation review otherwise safe and scoped", + "checks": "format:changed PASS; therapy-data-index PASS 205; design-system-contract PASS; focused Vitest 201 PASS/4 FAIL; typecheck BLOCKED by coordinator; phone/full UI UNRUN" }, { - "date": "2026-08-24", - "ref": "codex/design-system-ui-kit-lab", - "head": "8cb4c8333c83366f783c101f5a6504dd21d0bf6b", - "scope": "Run PR sweep", - "outcome": "fixes-applied: merged origin/main + regenerated outstanding-issues snapshot; InteractiveRow width moved off base; sheets picker uses min-h-tap + top-full; PR_POLICY_BODY.md added so CI can sync Clinical Governance Preflight; resolved Bugbot/Codex/CodeRabbit threads 3841587234, 3841597041, 3841587240, 3841635363", - "checks": "check:outstanding-issues-snapshot:pass,check:design-system-contract:pass,test:focused-interactive-row:32/32,pr-policy-local:pass" + "date": "2026-08-14", + "ref": "codex/therapy-global-convergence-20260814", + "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", + "scope": "Therapy global mode convergence: navigation, shared shell, search, favourites, sources, print (supersedes 2026-08-14)", + "outcome": "All three P2 findings resolved; no remaining Therapy-scoped review findings. Additional favourites-map, cross-mode search, shared-switch target, and stale-contract regressions corrected. Broad gate remains partial only for Docker-gated drift manifest and unchanged baseline checks.", + "checks": "typecheck PASS; focused Vitest 221 PASS plus repair contracts 68 PASS; phone contracts 129 PASS; focused phone 13 PASS; full UI 423 PASS/4 repaired then focused PASS; Therapy accessibility PASS; lint/docs/ledger PASS; RAG fixtures PASS; medication index PASS; drift manifest BLOCKED Docker unavailable; unchanged session hook and lexicon baseline failures remain" }, { - "date": "2026-08-24", - "ref": "codex/platform-performance-infrastructure", - "head": "736325d2f5f2c5b7f7e91a62ef50e9ae1389d698", - "scope": "Run PR sweep", - "outcome": "fixes-applied: merged origin/main + regenerated snapshot; HMAC secret fail-closed; admin revalidation fail-closed; proxy matcher always includes /api; private-access upload tests cover persistent non-admin mock and proxy-admin + failed live lookup; resolved threads 3842011276 and 3842011288", - "checks": "check:outstanding-issues-snapshot:pass,vitest-private-access-proxy-auth-rate-limit:154/154" + "date": "2026-08-15", + "ref": "codex/therapy-global-convergence-20260814", + "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", + "scope": "Therapy versus other modes: remaining shared-site differences and issues", + "outcome": "P1: production-visible Therapy exposes 205/205 records awaiting review and permits clinical outputs. P2: save failures are silent, catalogue/universal ranking differs, provenance is not source-resolvable, print and visual controls remain Therapy-specific, all rich routes fetch the 2.53 MB catalogue, and release state is stale.", + "checks": "Read-only source/diff review; local catalogue diagnostics (205 total, 0 reviewed; one shared uploaded source; 47 null references); ranking parity diagnostic (multiple top-five mismatches); git overlap review (42 commits behind, 4 overlapping files). Tests not run for review-only task. No provider calls." }, { - "date": "2026-08-24", - "ref": "codex/therapy-best-match-20260824 (PR #2342)", - "head": "c5701bdf739fa7d56ad5cd06b15e1065e747987a", - "scope": "Run PR sweep: branch drift only", - "outcome": "No unresolved review threads on current head (Cursor Bugbot / Codex findings were already resolved before this sweep). No CI failures found. PR was behind main only; synced origin/main into the branch via update_pull_request_branch (clean merge-tree confirmed offline first with git merge-tree). New CI run in progress at sweep end with zero failures in completed jobs (Change scope, Safety and config checks, Build, and most of Static PR checks all green); Production UI x3, Production UI critical, Unit coverage, and Lighthouse budget still running and deferred per the 30-minute dormant-observation cap.", - "checks": "No local gates run (sync only, no code changes). Hosted CI observed only: Change scope=success, Safety and config checks=success, Build=success, Static PR checks green through Lint step; remaining jobs unsettled at sweep end. No provider-backed checks run." + "date": "2026-08-12", + "ref": "codex/services-detail-system-20260813", + "head": "0017ba4f2687381017bd34099031e0e0b5500e36", + "scope": "services detail redesign responsive UX and referral actions", + "outcome": "Three P2 findings fixed; no remaining high-confidence defects", + "checks": "DOM 40/40; typecheck; lint; design-system contract; production Chromium 11/11" }, { - "date": "2026-08-24", - "ref": "cursor/answer-chat-mockups-025d (PR #2321)", - "head": "1683edfbd66d2e13bee9f7e533e87218ea9237d8", - "scope": "Run PR sweep: main sync + conflict resolution", - "outcome": "Before: draft mockup PR reported mergeable_state=dirty. git merge-tree confirmed a real conflict, isolated to generated docs/site-map.md (plus a clean auto-merge in src/app/mockups/mockups-layout-client.tsx). No failing CI, no unresolved review threads. Fix: merged origin/main in an isolated worktree, kept ours for site-map.md then regenerated it via npm run sitemap:update (pre-commit doc-sync hook ran clean), pushed the merge commit. After: mergeable_state=blocked pending checks then PR required green at 1683edfb.", - "checks": "npx vitest run tests/answer-chat-redesign-mockups.test.ts tests/answer-chat-redesign-mockups.dom.test.tsx — 2 files, 7 passed. CI (hosted): PR required success at 1683edfb. No provider-backed checks run." + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "00356908c096c9bdf462d9da85b1157f9e7c70b9", + "scope": "Resolve CodeRabbit review comment", + "outcome": "CodeRabbit flagged a real SSR/client hydration mismatch: usePhoneMedia's useState lazy initializer read window.matchMedia directly on the client's first render, which could disagree with the server-rendered false and mismatch CompareIdsChrome/CompareSlotStrip's initial hybrid-layout branch. Fixed by switching usePhoneMedia to useSyncExternalStore with a server snapshot fixed to false, matching the repo's existing useIndexingAdminDesktopLayout pattern. Replied and resolved the thread.", + "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/dsm-compare-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx -- 18 passed (53 passed on the full focused set before format pass); npx tsc --noEmit -- clean; npx eslint on the changed file -- clean; npx prettier --check -- clean after --write. No provider-backed checks run." }, { - "date": "2026-08-24", - "ref": "cursor/calculators-show-all-mockups-7ce3 (PR #2337)", - "head": "ff09c24260e2616b7b7c7bb12e19572aa03fba85", - "scope": "Run PR sweep: CI fix", - "outcome": "Fixed real CI failure: Static PR checks failed on check:design-system-contract arbitraryTracking ratchet — tracking-[-0.01em] in show-all-chip.tsx switched to the sanctioned tracking-[var(--tracking-display)] token (folds per globals.css letterspacing scale doc). Branch was not behind main (0 behind). Sole open review thread already resolved; no unresolved threads found. PR title/body/head changed mid-sweep via a concurrent author push (Cursor cloud agent) before this fix; re-verified against the latest head before pushing.", - "checks": "npm run check:design-system-contract — pass (arbitrary tracking 0); npx vitest run tests/calculators-mode.dom.test.tsx tests/consolidated-mode-home-redirect.test.ts tests/favourites-auth-gate.dom.test.tsx tests/calculators-show-all-mockups.dom.test.tsx — 48 passed; npx eslint on changed file — clean; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/result-sorting-design-polish", + "head": "00808ad9ee076018fca58006f0332565ddd5dc3a", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/result-sorting-design-polish; git diff --name-only reported 36 path(s)." }, { - "date": "2026-08-24", - "ref": "cursor/dictionary-control-row-polish-4ee0 (PR #2316)", - "head": "090c5f274e293fa5209cff6fa1565e2e50fa3c6d", - "scope": "Run PR sweep: main sync", - "outcome": "Before: ready-for-review PR behind main (mergeable_state=behind); 2 review threads present, both already resolved (P1 alignment finding fixed in e475f236/5498f030; CodeRabbit letter-chip tap-target finding fixed in 6de85d94) — no unresolved threads, no new actionable comments. Synced via update_pull_request_branch (clean fast-forward merge of origin/main, no conflicts). After: mergeable_state=blocked pending checks then PR required green at 090c5f27 (all 13 constituent jobs incl. Unit coverage, Build, 3x Production UI, Lighthouse, Static PR checks succeeded).", - "checks": "CI (hosted): PR required success at 090c5f27. No local gate run — sync-only, no source files changed by the sweep. No provider-backed checks run." + "date": "2026-08-16", + "ref": "PR-2008 / codex/tools-show-all-20260816", + "head": "008093943c407a3caaac65d49d5c8e80de552ef0", + "scope": "PR #2008 latest-base refresh after green exact-head CI", + "outcome": "Merged main fb8c71c94f8a45028df36aa669e3653c4f75cd2a; its durable ULID/Crockford outstanding-issues tooling and related tests, docs, and hooks do not overlap this PR's launcher or focused UI regression; no new P0/P1/P2 defects confirmed", + "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, advisory UI, CI-managed Lighthouse budget, SAST, and secret scans passed at 99592cad854c205b2626f4d5a001956ef6e13b8f; 3f33068da16ef8a3235359ff974c9314cf79d758-to-fb8c71c94f8a45028df36aa669e3653c4f75cd2a compare reviewed; clean non-overlapping merge-tree construction" }, { - "date": "2026-08-24", - "ref": "cursor/dictionary-heading-controls-mockup-4ee0 (PR #2322)", - "head": "271e506d6e3ca024a9bfefae51c99dc9f669ec93", - "scope": "Run PR sweep: main sync", - "outcome": "Before: draft mockup PR behind main (mergeable_state=behind), no failing CI, no unresolved review threads. Synced via update_pull_request_branch (clean fast-forward merge of origin/main, no conflicts). After: mergeable_state=clean, latest CI run green (PR required: success).", - "checks": "CI (hosted): PR required success at 271e506d. No local gate run — sync-only, no source files changed by the sweep. No provider-backed checks run." + "date": "2026-08-06", + "ref": "claude/implement-97vpz7", + "head": "00ab7bfd34684bc854d15a3f28987674098a7130", + "scope": "PR #1646 soft-tail answer-cache skip + soft-tail test hardening", + "outcome": "fixed — answer-path soft-tail skip via rag-query-guard helpers; soft-tail fixture pins; duplicate memo test removed; in-corpus assert narrowed; budget 4362", + "checks": "test:rag-query-guard+unsupported-cache+classifier-memo 22/22,check:maintainability-budgets 4362/4362" }, { - "date": "2026-08-24", - "ref": "cursor/dictionary-persistent-filter-band-4ee0 (PR #2341)", - "head": "cc99fef611bcb3ed4d7bb2b79434a136b8f61c99", - "scope": "Run PR sweep: CI diagnosis + drift sync", - "outcome": "Before: PR required failing (Production UI shard 3 red on an unrelated differentials-compare-queue test); behind main. Diagnosed via job log: failure was in tests/ui-tools.spec.ts differentials compare queue test, unrelated to this PR's dictionary-only diff. Re-ran the failed job on the pre-sync head — it passed, confirming flake not regression. Synced origin/main in (clean merge-tree) via update_pull_request_branch. Post-sync full CI green (PR required success at run 32741127269). All 4 review threads were already resolved by the author before the sweep; none required action.", - "checks": "No local code changes and no local gates run for this PR — root cause was CI-side (rerun) and branch drift (sync), both diagnosed/fixed via GitHub. No provider-backed checks run." + "date": "2026-07-14", + "ref": "copilot/fix-failing-ci-one-more-time", + "head": "00b61456b3f4fd528b24476865fde3b046b105ea", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-24", - "ref": "cursor/factsheets-topics-page-ec19 (PR #2333)", - "head": "7fe94b6198fb8b78674b0b423be57851704f86c7", - "scope": "Run PR sweep: CI fix + drift sync", - "outcome": "Fixed real CI failure: legacyTapClasses (h-11/w-11) in factsheets-topics-browse.tsx bumped to h-12/w-12; merged origin/main (clean); a concurrent upstream push (b2c23389d) then rewrote the same component, resolved by merge taking upstream's version (no more -11 class) and regenerating COMPONENTS.md. 4 review threads already resolved, none new. Remaining CI failure: PR policy blocks on missing Clinical Governance Preflight section (src/lib/mode-secondary-navigation.ts triggers clinicalRisk) — left open, PR body edits are out of scope for this sweep.", - "checks": "npm run check:design-system-contract (incl. design-system-adoption, design-sync-contract) — pass; npx vitest run tests/factsheets-topics-page.dom.test.tsx tests/factsheets-topics-phone-mockups.test.ts tests/factsheets-data.test.ts tests/design-system-adoption.test.ts tests/mode-secondary-navigation.test.ts — 109 passed; npx eslint on changed file — clean; no provider-backed checks run" + "date": "2026-08-14", + "ref": "claude/ledger-reconcile-batch-1", + "head": "00c09a30f91427b3154b64812b73294847265778", + "scope": "docs/outstanding-issues.md + inbox — serial reconciliation of 75 queued requests", + "outcome": "Applied 63 active mutations (14 add, 23 done, 26 update) plus 6 cancellation decisions. Ledger 115 open/199 archived -> 106/222; inbox 0 pending/94 applied. Verified zero live same-target collisions before applying, since planRequestBatch dedupes on request UUID not canonical row id.", + "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" }, { - "date": "2026-08-24", - "ref": "dependabot/docker/docker-images-263a700181 (PR #2326)", - "head": "7d57ac89d4f96fd7bb8d2044b41962c6a39d457f", - "scope": "Run PR sweep: diagnosis only", - "outcome": "before: PR required failing. Root cause confirmed via job logs: Docker image bump from node:24-bookworm-slim to node:26-bookworm-slim breaks the repo's engine-strict Node 24 pin (package.json engines >=24.15.0 <25) -- npm ci fails with EBADENGINE (Actual node v26.7.0). This is a genuine incompatibility, not a fixable CI flake: bumping past Node 24 needs a coordinated change across package.json engines, CI runner Node version, and setup scripts, which is out of scope for an automated dependency-bump sweep. No fix attempted per explicit task instruction; recommend the PR owner close or defer this PR until the repo is ready to move off Node 24. No unresolved review threads. No branch drift action taken (mergeable_state was 'behind' but fixing it would not change the outcome).", - "checks": "diagnosed via mcp__github__get_job_logs on the failing Container images / build-and-verify job; no local reproduction attempted (would require building a node:26 image against this repo's Node-24-pinned toolchain, which is the exact incompatibility being reported, not verification); no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/review-pr1443", + "head": "00e87040db22d5870f60abc52535ec5d945bd3ab", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1443 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-08-24", - "ref": "dependabot/github_actions/github-actions-a0271f4b22 (PR #2325)", - "head": "b41957ce29f79c6d8881607b00233e2c035f5fa6", - "scope": "Run PR sweep: CI fix", - "outcome": "before: PR required failing (Static PR checks: check:github-actions pin-allowlist rejected 4 new reviewed SHAs; Unit coverage: tests/codex-run-pr-operator-workflow.test.ts hardcoded old openai/codex-action SHA). Fixed by adding reviewed-pin allowlist entries with release-note review comments and updating the test's expected SHA; merged origin/main in (clean, no conflicts). No unresolved review threads. CI re-running on new head.", - "checks": "node scripts/check-github-action-pins.mjs (passed); npx vitest run tests/codex-run-pr-operator-workflow.test.ts (10 passed); npx eslint on both changed files (clean); no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/review-pr1443", + "head": "00e87040db22d5870f60abc52535ec5d945bd3ab", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant local review head contained by merged PR 1443 head; removal deferred by primary-dirty lease", + "checks": "clean status; ancestor of exact merged PR head; no active process" }, { - "date": "2026-08-24", - "ref": "dependabot/npm_and_yarn/npm-development-2db4774c1b (PR #2297)", - "head": "f6f700fa1d8a4756fd9f162d40f8d9e0f20b4a51", - "scope": "Run PR sweep: main sync", - "outcome": "before: CI already green on prior head; branch behind main only (mergeable_state: behind), confirmed clean via git merge-tree. No fix needed. Synced via mcp__github__update_pull_request_branch (authenticated human identity). No unresolved review threads. CI re-running on new head.", - "checks": "no local gate re-run needed (prior head was fully green); no provider-backed checks run" + "date": "2026-07-25", + "ref": "PR #1190 / `remediate-dark-mode-audit`", + "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", + "scope": "Close without merge after #1214 salvage", + "outcome": "CLOSED (not merged). Unsafe tip superseded by #1214. Remote branch `remediate-dark-mode-audit` retained pending optional cleanup; do not merge.", + "checks": "`gh pr view` state=CLOSED mergedAt=null; no provider-backed checks." }, { - "date": "2026-08-24", - "ref": "dependabot/npm_and_yarn/npm-production-9d7c78ff3c (PR #2296)", - "head": "953bfc6c80325c5d873619c690f779a14e543bf2", - "scope": "Run PR sweep: main sync", - "outcome": "before: CI already green on prior head; branch behind main only (mergeable_state: behind), confirmed clean via git merge-tree. No fix needed. Synced via mcp__github__update_pull_request_branch (authenticated human identity). No unresolved review threads. CI re-running on new head.", - "checks": "no local gate re-run needed (prior head was fully green); no provider-backed checks run" + "date": "2026-07-25", + "ref": "PR #1190 / `remediate-dark-mode-audit`", + "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", + "scope": "Cursor review+Bugbot+prlanded+debug (fresh pass, same HEAD)", + "outcome": "DO NOT MERGE; NOT LANDED (OPEN, mergeable=CONFLICTING/DIRTY, 468 behind / 2 ahead). Reconfirmed P0: conflict resolution deleted `trustGatedAnswerForClinicalNotes` (0 hits on head; main L584/632/659/1075) — Clinical Notes consumes ungated answer. P1: `src/app/api/answer/route.ts:6` imports nonexistent `@/lib/rag` (tsc TS2307; stream correctly uses `@/lib/rag/rag`). P1: merge-tree conflicts on answer/upload/evidence-panels + 10 paths; literal `<<<<<<<` in docs audit plan; migration timestamp collision risk vs main. Intentional dark-mode delta is only commit `363672602` (~10 files). Salvage: `cursor/pr1190-dark-mode-salvage-f453` cherry-picks that commit onto current main, restores unused-manifest-import cleanup, keeps clinical gate. Close #1190 after salvage lands.", + "checks": "Bugbot; `git grep` gate/import/markers; merge-tree; `tsc` TS2307 proof; gh pr view/checks (PR policy fail). Salvage: tsc clean; visual-evidence+overlay tests 13/13; eslint on changed files. No provider/UI matrix." }, { - "date": "2026-08-24", - "ref": "PR #2346", - "head": "586ee8182c7bee69385f47dc215ee0ddcfd5d9da", - "scope": "answer page redesign handover", - "outcome": "Reviewed the handover and the perfected mockup against the live answer surface. Two core decisions (one-colour mark, one source per drawer) confirmed sound and kept. Seven findings; four are defects: overlapping mark tap targets can open the wrong source, box-shadow ring plus background wash both drop in forced-colors, the streaming frame draws a shape the stream contract excludes by name, and the verification line contradicts the placement answer-result-surface records (#207/#227/#228). Three gaps: only 1 of 5 AnswerState kinds drawn (source_only was ~2/3 of the cited sample), supportLevel needs four treatments not two, no citation-feedback control. Corrections landed in handover section 12 plus new section 2b; corrected design built at /mockups/answer-chat-perfected-v2 in PR #2356. No production surface changed.", - "checks": "lint, typecheck, test (831 files / 10011 passed), verify:pr-local, build, check:bundle-budget (mockups 522.0 KiB vs 487.6 KiB baseline, within tolerance), Chromium browser check at 390px and 1440px, Chromium forcedColors active" + "date": "2026-07-25", + "ref": "PR #1190 / `remediate-dark-mode-audit`", + "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "DO NOT MERGE / CLOSE+REDO. P0: deletes `trustGatedAnswerForClinicalNotes` fail-closed clinical notes gate (zero hits on branch; four on main). P1: fake favourites handler; unused theme imports after removing PWA colours; answer route imports nonexistent `@/lib/rag`; upload RPC not on main; deletes security/ingestion-safety tests. Conflict markers cleaned by discarding main's side.", + "checks": "`git grep trustGatedAnswerForClinicalNotes` main vs head; marker scan. No provider calls." }, { - "date": "2026-08-24", - "ref": "PR #2358", - "head": "b23aaec3922351123bc5c069b6f99bc7cf51ca9c", - "scope": "answer page decisions + clinical-notes Essentials audit", - "outcome": "Records the four settled owner decisions in the handover with reasoning (mark stays one colour; compactCitations kept and retargeted at the rail; table aside goes; clinical-notes sheet goes). New section 10a audits the Essentials tab before its removal is recorded: all five section ids trace through buildClinicalOutputSections to the prose, the answerSections, the quote cards or promoted visualEvidence, all of which the new surface shows. No content lost; two at-a-glance views are (threshold list, stacked per-document detail). Flags that buildSourceComparisonTable fires on any 3+ document answer, and that the threshold list has no equivalent and must be re-checked on real answers before the old surface is deleted. Design study copy updated from open questions to decisions taken. Follow-up to PR #2346/#2356; branch restarted from merged main c4e4196.", - "checks": "arbiter (RUN lint), eslint, tsc --noEmit, npm run format, Chromium 1440px with 0px horizontal overflow" + "date": "2026-08-14", + "ref": "claude/capture-drift-phase1-evidence", + "head": "00f5612ccf982441cf98ec6ca1c51d68ba2add6a", + "scope": "docs/audit/live-drift-forensics-2026-08.md + inbox — Phase 1.2/1.3 evidence capture", + "outcome": "Filled 1.2 (was Pending): 93 functions compared, 0 missing/0 extra/16 mismatches, 6 proven normalization noise, 10 real and UNCLASSIFIED, confirming #316's figure of 10. Extended 1.3: 210 repo vs 192 live indexes, 20 still absent after the incident repair, zero invalid indexes, all five creating migrations recorded executed DDL. Root cause left unestablished. #316/#248 queued as inbox requests. Read-only throughout; no writes to the database.", + "checks": "verify:pr-local (11 completed, 0 failed)" }, { - "date": "2026-08-24", - "ref": "PR #2359 / claude/dev-hub-phase-2-recovery", - "head": "d554a86de2c527d6f59aa6aaabf43b130a786089", - "scope": "PR #2359 current changed scope", - "outcome": "P2 findings confirmed: complete review corpus omitted legacy/archive rows; fallback UI counts disagreed with rendered groups. Smallest fixes applied; no additional P0-P2 findings in changed scope.", - "checks": "Hosted failure root cause: stale review_state snapshot; focused Vitest first attempt blocked by repository coordinator capacity; local snapshot gate reproduced expected review_state drift." + "date": "2026-07-13", + "ref": "claude/repo-task-recommendations-f32752", + "head": "00ff16704e6f290148d888c3247cf75ca0c1faa2", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #577.", + "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-08-23", - "ref": "2317", - "head": "095bcbc5bcc5e2859dbb15d20526189b32633454", - "scope": "tools catalogue cards and CI failure", - "outcome": "fixed", - "checks": "design-system-contract,design-system-adoption,format-changed,vitest-focused,merge-tree" + "date": "2026-07-13", + "ref": "origin/claude/repo-task-recommendations-f32752", + "head": "00ff16704e6f290148d888c3247cf75ca0c1faa2", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #577.", + "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-08-23", - "ref": "codex/clinical-operations-programme", - "head": "cf6cd61edd80080ab79229870405466176f93920", - "scope": "pr-2306-review", - "outcome": "fixed", - "checks": "clinical-hazard-controls,hosted-migration-role,vitest-39,eslint,typecheck,docs-links,sitemap-check" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "011a3713fb2dde1900260f2c8ebd2b0d7c540efc", + "scope": "PR #1484 closure-preservation repair", + "outcome": "Ready: restored eleven verified archive dispositions lost during concurrent main sync; preserved #145 archive transition", + "checks": "outstanding-issues 146 rows, 44 open/102 archived PASS; only #145 state changed from prior verified candidate; focused offline 2 files/4 tests PASS" }, { - "date": "2026-08-23", - "ref": "codex/clinical-operations-programme", - "head": "cf6fb9980a70dc093f9550e820e2f3cd02ace092", - "scope": "PR #2306 unresolved-thread verification and merge-blocker remediation", - "outcome": "Confirmed and fixed favourite-set reorder scoping and Railway DPA evidence linkage; verified resolved duplicate-declaration finding remains fixed.", - "checks": "focused Vitest: favourites/privacy/answer-slo/ops-digest/operational-alerts (31 passed); migration-role; TypeScript typecheck; Prettier check; diff check" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from e6cd6cb; PR: telemetry-retention correction)", + "head": "01368ff (+0144e69 main merge-in)", + "scope": "User-directed \"implement your recommendation for all decisions\" close-out: the scheduled-retention recommendation is RETRACTED as founded on a false premise — telemetry retention is ALREADY ACTIVE inside the database via pg_cron; docs corrected, nothing built, no live mutations", + "outcome": "Fresh read-only cron.job verification (2026-07-20) matches docs/privacy-impact-assessment.md §6 exactly: jobid 11 purge-expired-rag-queries daily 03:30 (30d), jobid 12 purge-rag-retrieval-logs daily 03:00 (90d), jobid 13 purge-rag-query-misses daily 03:45 (90d), jobid 16 purge-rag-response-cache hourly (bounded 1000); v3 worker jobs present-inactive under backlog auto-toggle (jobid 10); obsolete unbounded cache job absent; audit_logs indefinite by design. db-maintenance.md \"open decision\" section replaced with the resolved state; purge:query-logs clarified as the MANUAL owner-scoped tool (not the retention mechanism). A GitHub-side weekly deleter would have duplicated pg_cron with window drift (a 90d rag_queries sweep can never out-delete the live 30d job). Remaining decisions stand as documented no-action: auth percentage connection strategy deferred to next instance resize; operational index drops not recommended.", + "checks": "prettier + docs:check-links PASS; Supabase access read-only (single cron.job SELECT, user-authorized read-only envelope); no workflow/schema/config changes" }, { - "date": "2026-08-23", - "ref": "codex/maturity-quick-wins-20260823", - "head": "16b4d4173b9af7f3b839f1ca62518e729340ea7d", - "scope": "maturity quick wins: soak, tenancy, drift, and governance", - "outcome": "No blocking findings after independent review; redirect, authentication, throttling, exact-SHA, workflow-diagnostic, and documentation issues resolved.", - "checks": "74 focused Vitest tests; full typecheck; changed-file ESLint; docs, action-pin, gate-manifest, format, and diff checks; no live/provider checks." + "date": "2026-07-28", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "01469840", + "scope": "CI/merge conflict closeout + Bugbot triage", + "outcome": "RESOLVED merge conflict with origin/main (7ae4eb49 per-option prefetchModeHome). Dropped superseded bulk prefetchModeHomes; menu-open warms only highlighted option; focus/pointer scanning retained. CodeRabbit duplicate/malformed ledger threads dispositioned (main-owned). No open cursor[bot] Bugbot product defects.", + "checks": "merge-tree clean; focused vitest 12/12; ledger restored from main + appends; no provider checks." }, { - "date": "2026-08-23", - "ref": "codex/maturity-quick-wins-20260823", - "head": "9235f39213ec41778b7174b95f04e125885c18bd", - "scope": "maturity ledger snapshot follow-up", - "outcome": "No blocking findings; refreshed the generated pending-request snapshot required by hosted CI after adding three immutable ledger requests.", - "checks": "outstanding-issues snapshot check; Prettier; diff check; hosted Static PR failure diagnosis." + "date": "2026-08-17", + "ref": "claude/rag-plan-review-guide-vhrls9", + "head": "0171669b37f4c9c7fb72a7a931b8b326d4eb72a1", + "scope": "docs/rag-improvement coordination handover + HANDOVER status sync + hazard H5a note + 6 inbox requests (PR #2024, post-#2022/#2023 merge)", + "outcome": "docs-only; conflict with merged S1 row resolved; state re-verified against origin/main 2bd146eed and canary runs 31964560921 -> 32025082010", + "checks": "prettier on touched docs; verify:pr-local docs scope (see PR body)" }, { - "date": "2026-08-23", - "ref": "codex/status-semantics-followup (PR #2304)", - "head": "04dcec63bc0c8c3a2a47e687013f5e4354e814d7", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: required CI green, 4 unresolved review threads, 0 behind main. after: fail-closed human attestation (GitHub login/display name; Copilot/bot/AI/pending rejected in validator and adopt-visual-baselines writer); production StatusDotMarker used at source-capsule call site; 4 threads will be replied and resolved after push. origin/main already merged.", - "checks": "vitest status-semantics.dom + design-system-adoption + adopt-visual-baselines + status-semantics-contract: 65 passed (65); eslint changed files clean; check:design-system-adoption: design-system adoption checked: 54 components, 94 roots. no provider-backed checks run" + "date": "2026-07-30", + "ref": "018673ff5cadadbd799815cea8d742de28922754", + "head": "018673ff5cadadbd799815cea8d742de28922754", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant clean detached review base already on origin/main; removal deferred by primary-dirty lease", + "checks": "clean status; merge-base ancestor of origin/main; no open PR" }, { - "date": "2026-08-23", - "ref": "codex/task-performance-remediation", - "head": "d0c199b2a62f1383268f1f38054c65f2e1e154f5", - "scope": "performance remediation: CLS attribution and geometry, intent prefetch, bundle provenance and fixture guards", - "outcome": "PASS - no P0/P1/P2 findings after measured 1024-1279 boundary fix, main synchronization, isolated route-type repair, and stale governance-request cancellation", - "checks": "independent exact-range review; changed Vitest 228/228; typecheck 5049 inputs; merged production CLS matrix exit 0; issue, ledger, docs, governance, formatting and diff gates pass" + "date": "2026-08-16", + "ref": "codex/chat-search-error-342-search-error-342", + "head": "019281ae9c8a6883737691438feba82117335e14", + "scope": "PR #2002 universal NDJSON stream error propagation review", + "outcome": "Fixed reproducible P2: structured error rejection now cancels an open response body so upstream stream work is released; no P0/P1 findings", + "checks": "Manual adversarial pass; consumer Web Streams harness 4/4; server stream harness 3/3; pre-fix exact-head unit coverage, static checks, SAST and secret scan passed" }, { - "date": "2026-08-23", - "ref": "codex/tier-1-quick-wins", - "head": "a3f272501b74195afa36734ba000b3f432c8aa1d", - "scope": "Tier 1 quick wins (10 tasks)", - "outcome": "clean review (0 defects)", - "checks": "guard-push, session-start, caring-contacts, route-reachability, app-modes, style-contracts, rag-offline, lint, typecheck, design-system" + "date": "2026-07-24", + "ref": "`main` / `01c209576207a3c279972697718d06c819fff000`", + "head": "01c209576207a3c279972697718d06c819fff000", + "scope": "Sitewide design/UX/interactive review (production pages, breakpoints, a11y)", + "outcome": "CHANGES REQUESTED / findings. No P0. Two confirmed P2 UX defects: (1) mobile presentation Compare tab is a self-link that drops `ids`/`q` and resets selection (1→default 4) + clears Query chip; (2) document “Browse by tag” / `searchByTag` navigates to `/?mode=documents&q=…` without `run=1`, so results do not run. P3: comparison disabled dropdown/filter controls lack `aria-describedby` placeholder contract; bare `/documents` 404 (no inbound links; `/documents/search` is canonical); phone mode-switcher truncates “Differenti…”. Deduped: `/tools` vs `/?mode=tools` remains #007; coming-soon density/favourites/forms remain #010. Phone docks flush `bottom:0` on sampled result routes; no document horizontal overflow at 390/768/1280 across 30 routes.", + "checks": "`npm run workflow:design-sweep -- --write-evidence`; `npm run ensure` → http://localhost:4461 identity Clinical KB; Playwright HTTP+overflow matrix 30/30 no overflow; live Compare/tag proofs + phone route matrix; `npm run test:e2e:accessibility` 12/12; screenshots under `/opt/cursor/artifacts/screenshots/design-review-2026-07-24/`. No OpenAI/Supabase/GitHub/hosted CI/provider mutations. Added project subagent `.cursor/agents/design-review.md`." }, { - "date": "2026-08-23", - "ref": "PR #2293 / codex/implement-mode-aware-clinical-ask-feature", - "head": "8da6c287c2a9b6fc158d2dcbd2253f82a6b642df", - "scope": "PR #2293 full diff and Clinical Ask reconciliation", - "outcome": "no-new-p0-p1; four-p2-fixes-applied; draft-release-gates-open", - "checks": "focused-vitest:53/53; targeted-production-ui:1/1; migration-role:pass; drift-replay:pass; format:pass; diff-check:pass; production-readiness:governance-gated" + "date": "2026-07-14", + "ref": "codex/global-answer-reliability", + "head": "01d2749978d4e8f3b4ac508e068ec7b8d331f816", + "scope": "release-readiness / answer generation, source governance, progress, and document access", + "outcome": "No unresolved P0-P2 findings after fixing demo-path governance parity, preserving feedback-token binding during the `origin/main` rebase, and binding legacy-summary feedback to the delivered governed answer. Ready for hosted PR checks.", + "checks": "`npm run verify:pr-local` (2,223 passed, 1 skipped; production build and offline RAG evaluation passed); focused Chromium answer regressions (4/4 passed); focused answer and route regressions (124/124 passed)." }, { - "date": "2026-08-23", - "ref": "PR-2291", - "head": "a47059e2b2534151a463199f09bfb30afa1c6c44", - "scope": "Run PR: CI repair for blocked CMHT contact actions", - "outcome": "published the omitted contact-action guard, workspace forwarding, and management caller after CI failures", - "checks": "targeted care-plan DOM suite PASS (221/221); tsc --noEmit PASS; Prettier check PASS; git diff --cached --check PASS" + "date": "2026-07-13", + "ref": "codex/pr-487-fixes", + "head": "01fa32826488d274ec7ed0af5a3544834d8d0777", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-487-fixes; git diff --name-only reported 12 path(s)." }, { - "date": "2026-08-23", - "ref": "PR-2308", - "head": "b364eb8f5216ba0c51657d1c54ada83cdc6eeae8", - "scope": "open review-thread sweep for retired detailed mode homes", - "outcome": "CHANGES REQUESTED / fixed five unresolved review findings", - "checks": "65 focused tests; lint; typecheck; production build; offline RAG and medication checks; full suite sandbox exceptions documented" + "date": "2026-08-02", + "ref": "codex/mcp-config-hardening-merge", + "head": "020cbfaab3257c8bb873b31d1617f9f17a9361b3", + "scope": "MCP Cloud config hardening", + "outcome": "No findings; write approvals and fail-closed validation verified", + "checks": "check:codex-cloud; focused MCP config test" }, { - "date": "2026-08-22", - "ref": "claude/ed-care-plans-impl-7f44cd (PR #2291)", - "head": "620743d434dfcc158811720ca53d09caf9c4b750", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty (main-sync merge conflict never attempted — hard-stopped and reported per clinical-content-conflict policy since the PR branch and main both independently built the care-plan feature after PR #2274 landed), PR mergeability + PR policy both failing, 0 of 6 unresolved P1 review threads addressed, real CI (pr-required) never triggered. After: PR owner (BigSimmo) resolved the main-sync merge conflict live and independently fixed all 6 P1 Codex findings on the branch while this sweep was in progress; this session's own independent fixes for the same 6 findings were reconciled against the owner's landed versions (kept the owner's naming/implementation where duplicated, kept this session's unique patient-plan-print-stale-in-subtree fix which the owner's merge did not touch, removed this session's now-dead-code duplicate blocks e.g. two near-identical withdrawal stale-trigger blocks and two approve-patient-plan-version refusal blocks left by concurrent independent 3-way merges, added 3 new regression tests). mergeable_state now blocked (not dirty) — no more content conflict. PR mergeability: success. PR policy: still failing (only blocker: PR body Clinical Governance Preflight all 7 boxes unchecked plus advisory warnings on blank Summary/Verification/Risk sections — PR body left untouched per this sweep's explicit instruction not to edit it). Real CI (pr-required aggregate) triggered for the first time on this PR and was still in progress after 25 minutes of observation (Build, Unit coverage, Static PR checks, Production UI x4, Advisory UI, Lighthouse budget all in_progress; Change scope/Gitleaks/Semgrep/Safety and config checks/GitGuardian all green) — not yet settled at end of this sweep's observation window. All 6 review threads already resolved by BigSimmo before this session's push landed; nothing left to reply/resolve. 3 commits pushed: 61c6b562 (own fixes), 70e700db (merge #1, resolving owner's first live main-sync push), 620743d4 (merge #2, resolving owner's second live push that independently fixed the exact same contact-guard finding).", - "checks": "Local only, no provider-backed checks run: npm run typecheck (clean, 4695 files), npm run lint (clean, 4695 files), node scripts/run-vitest.mjs run tests/care-plan-patient-plan.test.ts tests/care-plan-linked-routes.dom.test.tsx tests/care-plan-prototype-state.test.ts tests/care-plan-domain.test.ts tests/care-plan-route-files.test.ts (440 passed), npm run test full suite (8476 passed, 1 skipped, 1 unrelated pre-existing async-timer-after-teardown flake in caring-contact-shell-frame.tsx unrelated to this diff), npx prettier --check on touched files (clean). No eval:rag, eval:quality, eval:retrieval:quality, verify:release, check:supabase-project, or test:live run." + "date": "2026-07-30", + "ref": "PR-1469", + "head": "02108d5424f8a3ab50f45808a6cc3cbd872e7555", + "scope": "PR #1469 component state matrix coverage", + "outcome": "PASS after current-main sync; tests execute enabled and disabled popup transitions plus document search loading, empty, and fault states", + "checks": "focused Vitest 2 files, 10 tests passed; outstanding-issues and branch-review-ledger guards passed; no unresolved review threads" }, { - "date": "2026-08-22", - "ref": "claude/post-drift-ledger-tidy", - "head": "5ff3f0419d6696f59eb638cfbbf4f28c2f964ba6", - "scope": "post-drift ledger tidying: close #M54C4N/#056/#3514B7, re-scope #47M1XD, escalate #M6JNR8; read-only staging+production verification", - "outcome": "pass — three rows closed with quoted evidence (live-drift run 32514326022; staging 211-row parity), #47M1XD advanced with a second production window that strengthened the zero-scan retraction and showed the proposed ANALYZE experiment cannot discriminate (n_mod_since_analyze=0 on four of five tables); owner chose to skip ANALYZE so no production mutation. #231 queue row could NOT be corrected: hand edit and same-PR reconcile both empirically refused by check:ledger-write-discipline, escalated as #M6JNR8 P1", - "checks": "check:ledger-write-discipline, check:outstanding-issues, check:branch-review-ledger, prettier --check on changed files" + "date": "2026-07-31", + "ref": "codex/cloud-github-connector-policy", + "head": "0213d15db355f5da721546513ed0493ad32fadac", + "scope": "PR #1447 review+bugbot+fix", + "outcome": "no P0-P2; behind-but-clean synced; Bugbot/Codex threads none; merge-tree clean; docs-only additive connector policy", + "checks": "merge-tree,check:codex-cloud,prettier:AGENTS+codex-cloud,bugbot:none,ci:awaiting-after-sync" }, { - "date": "2026-08-22", - "ref": "claude/rag-quality-predicate-gap-uw320a", - "head": "957b76afa20c4b4667f41cbb0725d71482171228", - "scope": "Packet 2 (#NPQJKP): answer-quality predicate gap — src/lib/rag/rag-extractive-answer.ts, tests/rag-guidance-wrapper-quality-gate.test.ts, docs/rag-improvement/HANDOVER.md pointer line", - "outcome": "SHIPPED as PR #2285 (draft). Falsification confirmed the premise first: generatedAnswerQualityFailureReason returned null for both captured incoherent answers at their real query classes (medication_dose_risk, document_lookup) against unmodified source. Two corrections to the recorded diagnosis: (1) the gate is NOT unreachable on the grounded extractive path — the enforcing call is unconditional inside finalizeRagAnswerQualityCore, reached via finalizeAnswer, so NO reachability change was made; only the preformatted-and-grounded early return remains as a bypass and is now pinned by test. (2) the wrapper is not purely laundering — a first predicate keyed on openingSentenceActionPattern broke the ECT 'places the patient onto BASE' answer pinned by rag-extractive-procedural-artifact, so the shipped predicate rejects only a '>' breadcrumb aimed at a word and a bare coordinated noun list. Placed after the other prose gates so nothing is relabelled; outside the shouldPreserveSourceBackedGeneratedAnswer rescue allowlist. NO ranking, selection, retrieval, prompt or budget change; answerRouteBudgetMs untouched. Live eval-canary pair still owed under owner approval.", - "checks": "verify:pr-local exit 0, all 19 gates completed / none failed (lint, typecheck, test, build, eval:rag:offline, eval:rag:adversarial:offline); a concurrent second invocation exited 75 DATABASE_HEAVY_RUN_ADMISSION_BUSY on self-inflicted lease contention, and a later confirmation re-run hit a PRE-EXISTING unrelated flake (ReferenceError: document is not defined from a 250ms setTimeout in src/components/caring-contacts/mockups/caring-contact-shell-frame.tsx:104 firing after jsdom teardown; 714 files / 8359 tests still passed). typecheck:internal exit 0 on the committed tree. Focused 300/300 across the seven suites exercising this predicate. eval:rag:offline 627/627 and eval:rag:adversarial:offline 25/25, identical before and after with the baseline re-run under GATE_RECEIPTS=refresh. No provider-backed command run; no canary dispatched." + "date": "2026-07-29", + "ref": "origin/main", + "head": "02144ab6e5f2040110cc5e15cfcd15455c2a0615", + "scope": "cross-page PWA search composer click-close defect", + "outcome": "P1 confirmed; explicit gesture-only focus release implemented locally", + "checks": "manual PWA/browser repro; focused Vitest 48/48; typecheck" }, { - "date": "2026-08-22", - "ref": "claude/rag-quality-predicate-gap-uw320a", - "head": "ef2a7d8c352503c0b9477781d6f45623e73b3db4", - "scope": "eval-quality source-backed review fallback threshold (0 -> 2) after canary 32589154243; paired test assertion; two ledger inbox requests; regenerated issues snapshot", - "outcome": "Approved. Threshold raise is evidence-led and deliberately a fixed two-case allowance rather than a rate, so a third fallback still blocks. Predicate, ranking, selection, retrieval and generation untouched. quality-antipsychotic-metabolic-monitoring deliberately left failing rather than given acceptSourceOnly, and tracked as its own ledger item.", - "checks": "verify:pr-local all 19 checks completed none failed; tests/eval-quality.test.ts 36/36 fresh; pr-policy evaluatePullRequestPolicy 0 errors 0 warnings against the real changed-file list" + "date": "2026-07-24", + "ref": "cursor/search-performance-review-4ee9 (PR #1134)", + "head": "022a1ab95718e5e7636226f0dfebe88d7d7bc4f4", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green (pr-required), 0 unresolved threads. After: merged origin/main cleanly (auto-merge ledger/codebase-index); pushed 022a1ab95. Threads: none. Residual: CI re-running post-merge.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "1773d6af155326989e460ee486edf5299a286c5e", - "scope": "latest-main merge conflict resolution and CI repair", - "outcome": "resolved generated-document and Playwright-registration conflicts while synchronising the latest main; retained Caring Contacts and Ward roles registrations", - "checks": "Vitest 121/121; design-system and site-map generators; staged diff check" + "date": "2026-08-15", + "ref": "claude/favourites-hybrid-164", + "head": "02672320db5a0b5b57b589e8d19d19c8c66483d4", + "scope": "Favourites search-led workspace: retire marketing H1 and library nav, live in-place filter, dashboard band (#164)", + "outcome": "Shipped; no P0-P2 findings", + "checks": "verify:pr-local all 10 selected gates passed — unit suite 607 files / 6584 passed, 4 skipped; check:design-system-contract passed with edgeOwnershipConflicts 25 to 24 from the deleted nav module; UI delegated to CI Production UI — chromium-1194 vs pinned 1234 (#255/#312)" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "3193d7ba18c7e6e1b10242c3650ee305c68bf756", - "scope": "latest-main merge conflict resolution and CI repair", - "outcome": "resolved snapshot conflict while synchronising latest main; focused prior validation retained and snapshot generator passed", - "checks": "snapshot generator; staged diff check; earlier Vitest 121/121; TypeScript source check" + "date": "2026-08-14", + "ref": "PR-1958", + "head": "02c8d4601131b40291033eabaf4b3d2e132c248e", + "scope": "PR #1958 current-base sync", + "outcome": "Merged the latest base, preserving the existing Tools-directory behavior and resolving shared account-setup test updates with the combined clean merge tree.", + "checks": "docs link check passed: 1776 repo path references resolve; Ledger inbox check passed: 12 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 94 immutable; 17 non-jsdom targeted tests passed; jsdom targets unavailable because cached Vitest dependencies lack @testing-library/react and @testing-library/jest-dom; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "326683fafd9419882f5f28e1557a089d25251ace", - "scope": "CI repair", - "outcome": "replaced a regex-shaped documentation example that the Markdown link checker interpreted as a missing relative path", - "checks": "docs:check-links; staged diff check" + "date": "2026-08-21", + "ref": "claude/issues-reconcile-post-2206", + "head": "02d1bcaab01f933b8af3eefa3a7f085e95aac661", + "scope": "docs(issues): reconcile the queued inbox batch into the canonical ledger (#2218)", + "outcome": "Backfilled record — PR #2218 merged 2026-08-21 (squash 02d1bcaab01f933b8af3eefa3a7f085e95aac661) with no review record captured at the time. Diff inspected post hoc: 29 immutable inbox requests applied verbatim into docs/outstanding-issues.md plus 2 closures (#VZN8G3 dup of #BSBE9B, #Q5JHBJ archived) verified against the ledger by the PR author; docs-only, classifyPullRequestFiles clinicalRisk:false, no RAG/src/worker/supabase paths touched. Approved by content.", + "checks": "PR-reported: reconciler applied 29/29 requests cleanly; pre-push guard ran check:ledger-write-discipline on pushed commit 42dc0e0f4 with no rejection; Prettier clean on changed markdown; CI static-pr required checks green (merged). Not independently re-run in this session — docs-truth backfill only." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "6da4774b8adcfe7bad3e9e60505d6d36105afe5f", - "scope": "current-main merge conflict resolution and CI repair", - "outcome": "resolved regenerated snapshot conflict while synchronising current main; previous focused validation retained and snapshot generator passed", - "checks": "snapshot generator; staged diff check; earlier Vitest 121/121; TypeScript source check" + "date": "2026-08-21", + "ref": "origin/main", + "head": "02d1bcaab01f933b8af3eefa3a7f085e95aac661", + "scope": "bare PR publication residual latency", + "outcome": "P2 fixed locally", + "checks": "ledger lookup; static policy contract; git diff --check" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "72adf4032cc60b329629bcbadf5348a2510c2720", - "scope": "CI repair", - "outcome": "refreshed outstanding-issues snapshot after latest-main sync", - "checks": "outstanding-issues snapshot; outstanding-issues integrity; staged diff check" + "date": "2026-08-15", + "ref": "claude/ledger-review-triage-yi63ao", + "head": "02d2e7fc839cf370b512f66b255d5f9e9b42f377", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; previous ledger issue-closure verification remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "737bef6599b0a3ff78e82f4f57f46c0c2978d2c1", - "scope": "merge conflict resolution, review threads, and CI repair", - "outcome": "resolved current-main conflict; verified existing review threads were resolved; focused offline checks passed", - "checks": "Vitest 121/121; TypeScript source check; codebase-index coverage; site-map; design-system adoption" + "date": "2026-07-14", + "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", + "head": "0301d59ab8d6afeecd340bb08b40b98ff6b95c6c", + "scope": "PR review follow-up", + "outcome": "Confirmed and fixed one additional maximum-dose wording gap discovered after the current-main merge: `not to exceed` and `not more than` numeric limits now reach the same validated extractive path as the existing equivalent phrases.", + "checks": "Focused Vitest 84/84; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; focused Prettier and `git diff --check`. The immediately preceding merged head also passed `npm run verify:cheap` (236 files passed, 1 skipped; 2,242 tests passed, 1 skipped), production build, and all hosted required checks. Provider-backed retrieval remains blocked by exhausted OpenAI embedding quota after case 24/36." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "797165eda58d6534024aa0d73ff78ead56a3c1cc", - "scope": "CI repair", - "outcome": "replaced a legacy shadow alias with the canonical elevation token to restore the design-system contract", - "checks": "check-design-system-contract; staged diff check" + "date": "2026-07-24", + "ref": "cursor/repo-auditor-ledger-4132 (PR #1147)", + "head": "030723c7716da98a6cf166327e5b7a72c2991b8b", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main by 64. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + }, + { + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr4-ci-ui-regression", + "head": "0318502a5aa0ef011609c32dc7d7936ad1c6464e", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "80ce09e3fa2038a05d9099f00c540aa8482c85d2", - "scope": "CI repair", - "outcome": "refreshed generated scripts inventory after latest-main sync", - "checks": "docs inventory; docs script references; codebase-index coverage; Prettier; staged diff check" + "date": "2026-07-30", + "ref": "codex/review-pr1440", + "head": "03694d379d4c9ee1cbef6e9bea8c2a8ac5ae3a2f", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1440 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "913ae40bfdf4a1446aa10b6890dea3350c867b9c", - "scope": "Latest-main sync", - "outcome": "merged current main and retained caring contacts registrations plus confirmed script-index count", - "checks": "Prettier; codebase-index coverage; docs script references; focused Caring Contacts tests; merge-tree" + "date": "2026-07-30", + "ref": "codex/review-pr1440", + "head": "03694d379d4c9ee1cbef6e9bea8c2a8ac5ae3a2f", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1440; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "f122ed8c096ea8a19354a6249671f3e07bae9a4f", - "scope": "CI repair", - "outcome": "formatted codebase index after latest-main coverage repair", - "checks": "Prettier check; codebase-index coverage; staged diff check" + "date": "2026-07-24", + "ref": "`main`", + "head": "037b4808100946f96aee28b8ff51939ae2986851", + "scope": "Comprehensive repository review (architecture, security/privacy, API/DB, RAG/clinical, UX/a11y, performance/CI/ops)", + "outcome": "Changes requested. No P0. Two confirmed P1 clinical-grounding defects: (1) numeric verification skips truncated claims after the 24-claim cap when earlier claims contain numbers; (2) unsupported prescriptive treatment recommendations remain grounded as routine/partial. Multiple P2 privacy/ops findings: signed-URL cache survives sign-out; upload/enrichment/search telemetry can retain raw filenames; negated urgency still labelled Red flag; mixed `partial_invalid_model_citation_ids` evade the invalid-ID gate; readiness probe lacks an explicit dependency timeout; Railway watch patterns miss transitive build controllers. Known tracked residuals reconfirmed: #052 enrichment/reindex overlap, #059 credential containment (operator), #007 Tools route dual entry. Highest residual risk remains live answer-quality/clinical grounding plus operator credential/#053 legal gates. No source fixes applied.", + "checks": "Offline: runtime, migration-role, function-grants (30), owner-scope (40 routes), GitHub Actions pins, PR-policy self-test, gate/CI-scope/Codex autofix guards, lint, typecheck, sitemap, knip, knip architecture budgets, env-parity names-only, docs index/scripts, production-readiness:ci, offline RAG 36 fixtures + 21 suites/308 tests, focused clinical/RAG contract suite 122/122, Chromium accessibility 12/12 and `verify:ui` 267/267 after identity-confirmed `npm run ensure`. Targeted offline red proofs for both P1s and the citation/safety/signed-URL P2s. Provider-gated skipped: live drift, supabase-project (non-dry), migration-history, live RAG/OpenAI evals, hosted CI, Railway mutations." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0", - "head": "f7d99db60d8b55d23be0199f7e690b9eac0bc165", - "scope": "CI repair", - "outcome": "restored Caring Contacts entries removed from the codebase index during latest-main merge resolution", - "checks": "check-codebase-index-coverage; staged diff check" + "date": "2026-07-24", + "ref": "`main` / `037b4808100946f96aee28b8ff51939ae2986851`", + "head": "037b4808100946f96aee28b8ff51939ae2986851", + "scope": "frontend-ui review: clinical-dashboard sidebar streamlining, global-search-shell, mobile-composer-reserve, globals.css forced-colors/reduced-motion, evidence-panels aria, answer-result-surface, visual-evidence-tabs DOM tests", + "outcome": "APPROVE with notes (P2 closed on `cursor/frontend-ui-review-docs-e8d9`). No P0/P1. One P2 was docs-only: `docs/codebase-index.md` mode-home list omitted `/therapy-compass`, `/dsm`, `/specifiers`, and `/factsheets` while `isStandaloneModeHome` already handles them — fixed in the follow-up docs PR. What holds: sidebar streamlining (`primarySidebarToolIds` Set) is correct; global reduced-motion CSS covers `animate-spin`; forced-colors token remap is comprehensive; mobile-composer-reserve and overlay CSS contracts intact; tab/tabpanel ARIA associations pass in jsdom; icon-only collapsed rail links carry `aria-label`+`title`; lucide-react defaults SVG `aria-hidden=\"true\"`.", + "checks": "Full unit suite 3261/3264 passed (3 pre-existing skips); typecheck clean; lint clean; static read of globals.css forced-colors/reduced-motion, overlay contracts, aria patterns, and mobile-composer-reserve. Docs mode-home list aligned to `isStandaloneModeHome`. No live Supabase/OpenAI/Railway mutation." }, { - "date": "2026-08-22", - "ref": "claude/suicide-contact-mockup-b5aaa0 (PR #2279)", - "head": "f84ae652f9e3b9e7c58fef1c9161cbf3ccbad245", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: MERGEABLE/BLOCKED, CI in progress, 1 unresolved Codex P1 on demo store split; after: shared globalThis store so page and API see the same in-memory demo state; 1 thread to resolve after push; not behind main; no provider-backed checks", - "checks": "npx vitest run tests/caring-contacts-server-store.test.ts: 2 passed; no provider-backed checks run" + "date": "2026-07-24", + "ref": "`main` / PR #1122 tip `037b4808100946f96aee28b8ff51939ae2986851`", + "head": "037b4808100946f96aee28b8ff51939ae2986851", + "scope": "Code-quality review of tip commit (streamlined sidebar tool list)", + "outcome": "No P0-P1. Two P2 maintainability findings: (1) dual catalogue — `sidebarToolItems` still defines specialist tools that `primarySidebarToolIds` always filters out, leaving unused Lucide imports and a footgun where new catalogue rows do not appear unless also added to the Set; (2) favourites-auth-gate asserts primary IDs by regex-parsing the Set initializer source, which couples the suite to TypeScript formatting. Highest residual risk is quiet nav drift if specialists are re-added only to `sidebarToolItems`. #066 in outstanding-issues still describes this sidebar land as open despite the tip merge.", + "checks": "Static diff inspection of `ClinicalSidebar.tsx`, `tests/favourites-auth-gate.test.ts`, `tests/ui-smoke.spec.ts`; no lint/test/provider runs (pure review)." }, { - "date": "2026-08-22", - "ref": "codex/implement-mode-aware-clinical-ask-feature", - "head": "559683d7cede06731413a9a9a24d3fb9435b06c5", - "scope": "pr-ci-fix", - "outcome": "fixes-applied", - "checks": "clinical-ask tests 129/129 pass; check:migration-role pass; check:design-system-contract pass; check:maintainability-budgets pass (ClinicalDashboard.tsx 4131/4140); pr-policy local eval pass against PR_POLICY_BODY.md; merged origin/main (design-system baseline + status-semantics)" + "date": "2026-07-24", + "ref": "repo-auditor (detached HEAD 037b4808 — explicit full-repo structural audit)", + "head": "037b4808100946f96aee28b8ff51939ae2986851", + "scope": "Full-repo structural audit: broken imports, dead files, consolidation. Scope: src/, scripts/, worker/, tests/. Pure triage — no files mutated.", + "outcome": "P0/P1: none. P2: confirmed dead file src/components/clinical-dashboard/prior-answer-turn-surface.tsx (115 lines, zero importers; superseded by answer-thread-turn.tsx per its 'Extracted from ClinicalDashboard.tsx maturity X3' comment; old file exports PriorAnswerTurn type + PriorAnswerTurnSurface component — both replaced). P3: three duplicate package.json script pairs (test:e2e = test:e2e:all; promote:public-documents = promote:public-documents:batch; postinstall = hooks:install — last pair intentional lifecycle). Unused public exports: authorization.ts (administratorRoleClaim/Value internal-only), api-client-error.ts (ApiClientError — only parseApiErrorResponse imported), rag/rag.ts (answerQuestion — superseded by answerQuestionWithScope), supabase/project.ts (isExpectedSupabaseProjectConfig + 2 types). RAG surface note only (do not touch): rag-extractive-first.ts exports hasValidatedRoutineExtractiveRecovery/hasValidatedGenericLaiManagementExtractiveAnswer with no external consumers. Knip false positives: taskkill (win32-gated), railway (opt-in --railway flag). No broken imports (typecheck + lint both exit 0, zero relative ../ imports in src/).", + "checks": "npm run typecheck (exit 0); npm run lint (exit 0); npm run check:knip (exit 0); knip --reporter json full export/file/type analysis; rg import-graph probes across all source trees" }, { - "date": "2026-08-22", - "ref": "codex/implement-mode-aware-clinical-ask-feature", - "head": "db8ec0cd798e004dbf1ccbd2da91ffbd0bda7c9a", - "scope": "pr-ci-fix", - "outcome": "fixes-applied: merged origin/main (globals.css + ClinicalDashboard conflicts resolved); P1 fix streamClinicalAsk stuck-state on non-SSE failure (ClinicalDashboard + GlobalSearchShell); P2 fix strip raw evidence extracts from public SSE response (response-governance.ts); P2 fix schema.sql and drift-manifest.json synced with migration 20260822120000; PR_POLICY_BODY.md governance preflight confirmed valid; typecheck+focused-tests green; thread replies blocked (gh CLI read-only, no MCP write tools available)", - "checks": "typecheck:pass,vitest-clinical-ask-response-governance:17/17,vitest-clinical-ask-orchestrator-route-external:17/17,check:migration-role:pass,pr-policy-local:pass" + "date": "2026-08-08", + "ref": "codex/lighthouse-hardening (PR #1746)", + "head": "038058ea63837e7c4a90e84b7f8f860aacc51e13", + "scope": "heavy review-and-fix", + "outcome": "CONFLICT merge-tree on lighthouse-budget.json resolved: kept main baseline measurements + this PR Lighthouse hardening (scripts/workflows/ci-change-scope); visual-baseline policy matches main; 3 unresolved threads (comments 403 — skipped)", + "checks": "ci-change-scope --self-test PASS; vitest check-lighthouse-budget+ci-cache-safety 84/84 PASS; no provider-backed checks" }, { - "date": "2026-08-22", - "ref": "codex/review-design-system-and-live-design", - "head": "97e02c21bbaa947c0d4610ff8965a66f61f4f86c", - "scope": "pr-ci-fix", - "outcome": "merge-ready", - "checks": "pr-required:pass,static:pass,build:pass,production-ui:pass,policy:pass,mergeability:pass,coderabbit-thread:resolved" + "date": "2026-07-13", + "ref": "claude/smart-search-presentations-differentials-a199bb", + "head": "0399ec7c3789cb892e0314454f971ba554839eab", + "scope": "branch-cleanup", + "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", + "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/smart-search-presentations-differentials-a199bb` returned empty." }, { - "date": "2026-08-22", - "ref": "codex/review-design-system-and-live-design", - "head": "c22b3ec5cd78e119bdd7764abdde4ce8123e3000", - "scope": "pr-ci-fix", - "outcome": "green", - "checks": "merge-conflict-resolved(GATES.md), focused-tests(status-semantics-contract+shared-home-metadata: 13/13), phone-chrome-dry-run(focused-ownership-sufficient), doc-fix(design-system-live-convergence-plan.md:270)" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "039b43a5e163c0f622a327ef50c36cf5249296cc", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1448 and #1488. No remaining P0-P2 findings; #105 is archived from driven Chromium evidence and the authenticated-live workflow remains explicitly provider-gated.", + "checks": "GitHub Actions pin guard PASS; outstanding ledger 146 rows / 46 open / 100 archived PASS; branch-review ledger PASS; focused authenticated-live test deferred by repository coordinator; fresh hosted Unit coverage required" }, { - "date": "2026-08-22", - "ref": "codex/status-semantics-followup", - "head": "f8c4d1866c2cf0237109e620088d8d15d81b3449", - "scope": "status semantics rendered coverage and visual baseline provenance truth", - "outcome": "No findings; stale baselines stay pending and contradictory human attribution now fails closed.", - "checks": "Focused Vitest 8 passed; design-system contract, lint, typecheck, format/docs and data contracts passed; broad npm test aborted after 47 host timeouts." + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "03b652bf6ed67e74d18bdc11d088e053584f0f78", + "scope": "Babysit: Static PR ledger dup + CodeRabbit overlay docs", + "outcome": "FIXED Static PR: removed exact union-merge duplicate ledger rows for #1394/#1399 (contract allows). Classified use-phone-overlay-chrome-reserve as shared foundation. Aligned invariant 6 with overlay constant-reserve exception. Disagreed CodeRabbit major to zero reserve on hide (would reintroduce the shift). MERGEABLE; 0 Codex unresolved; no Bugbot findings.", + "checks": "check:branch-review-ledger PASS; verify-phone-chrome+header-scroll-hide 36/36; typecheck; lint; merge-tree clean" }, { - "date": "2026-08-22", - "ref": "codex/ward-management-design (PR #2289)", - "head": "6e1300fa6dcb31ba63727b9d5b3b52cab0b05cb5", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state dirty (PR mergeability + PR policy both failing; real CI never triggered), 3 unresolved P1 review threads. After: all 6 review threads resolved (3 fixed with regression tests + pushed commit 6e1300fa; 3 pre-existing already resolved). mergeable_state remains dirty and was deliberately left unresolved: git merge-tree shows 34 conflicts (14 content, 20 add/add) against origin/main, all traced to PR #2140 (\"Add Ward Flow: synthetic ward/bed-management coordination prototype\", already merged to main) independently re-implementing the same ward-management/legal-detention-workflow feature this PR builds from a much older, unrelated base (zero common history until git fetch --deepen=5000 recovered a real merge-base 752 commits back). This is a genuine duplicate-feature conflict on clinical workflow content (Mental Health Act detention forms, bed/patient placement), not staleness — hard-stopped per policy rather than resolved with ours/theirs. Real CI (static-pr/pr-required/build/etc.) cannot run until a human resolves this at the product level.", - "checks": "Local only, no provider-backed checks: npx vitest run on 9 touched/related ward-flow test files (84 passed, including 2 new regression tests — one for the reducer closure/capacity-release fix, one for the provider clock-monotonicity fix, both confirmed to fail against pre-fix code), npx tsc --noEmit -p tsconfig.json (0 errors, full project), npx eslint on all 6 changed files (0 findings), npx prettier --check on all 6 changed files (all formatted). No verify:cheap/verify:pr-local/verify:ui run (diff too large and blocked on unrelated merge conflict; would not have exercised anything beyond the focused tests already run). No eval:rag, eval:quality, eval:retrieval:quality, verify:release, check:supabase-project, test:live, or any other provider-backed gate was run." + "date": "2026-07-14", + "ref": "PR #633 / codex/specifiers-design", + "head": "03daca3bfdf86517b9956f3c7d91be27d9f1a751", + "scope": "Review follow-up and failed UI regression", + "outcome": "Eight distinct P2 behaviors across nine review threads were confirmed and fixed: initial selection normalization, duplicate query removal, clinical applicability mapping, canonical Specifiers routing, severity-neutral base wording, diagnostic-section ordering, base/specifier compatibility, and severe psychotic-features wording. The failed app-menu keyboard test was a stale order assertion and now covers the inserted Specifiers item.", + "checks": "Focused Vitest 6/6; focused Chromium 4/4; scoped ESLint and TypeScript; CI-mode production readiness READY; production build and client-bundle secret scan passed. Hosted required checks passed on the refreshed `main` merge before the final compatibility fixes; provider-backed Supabase/OpenAI checks were not run." }, { - "date": "2026-08-22", - "ref": "codex/ward-management-design (PR #2289)", - "head": "cef2f3eea634d07b9a191bc72a4f3a4ed7c00d10", - "scope": "Repair CI drift after main merge", - "outcome": "Repaired stale documentation paths and generated contract drift; contextual Ward back navigation now uses the standard history-aware control; PR shard coverage includes Ward roles.", - "checks": "Focused Vitest: 3 files, 59 passed; docs links: 2,664 references resolve; adoption, site-map, codebase-index, design-system contract, and diff check passed. npm run format launcher was blocked by executor Network request disconnected; changed paths were formatted with repository Prettier." + "date": "2026-07-15", + "ref": "PR #673 / cursor/audit-remediation-plan-0411", + "head": "03fe72683d83606b73c951914278eabe897fc395 + reviewed follow-up diff", + "scope": "docs audit remediation plan review + CI", + "outcome": "Fixed the hosted Prettier failure and all actionable review comments: preserved the real branch ref for the generic ledger parser, corrected `npm run` commands, scoped the no-P0/P1 verdict without obscuring the M4 code P1, disambiguated finding IDs from wave IDs, aligned wave-to-ledger update instructions with the review protocol, and made B3 require the Supabase project-identity preflight before provider-backed release gates. No additional high-confidence defect remains in the changed docs.", + "checks": "GitHub unresolved-thread inventory; focused Prettier on all changed docs; docs link/script reference checks; `git diff --check`. Docs-only; no Supabase, OpenAI, or other live-service checks." }, { - "date": "2026-08-22", - "ref": "codex/ward-management-design (PR #2289)", - "head": "d784b33eed0347a4b439935e78e189a0088dafb6", - "scope": "Merge current main and validate Ward Flow review fixes", - "outcome": "Merged current main with semantic Ward Flow conflict resolution; preserved external review fixes and removed the retired constellation route.", - "checks": "Formatter plus generated site-map/adoption, codebase-index, and design-system contract passed; focused Vitest blocked by coordinator admission (exit 75); no provider-backed checks." + "date": "2026-07-19", + "ref": "cursor/hide-favourites-guest-mode-a26d (PR #934)", + "head": "04192653", + "scope": "Final Favourites total guest-blackout review + merge readiness", + "outcome": "No P0/P1. Fixed residual P2s: rankToolRecords now fails closed by default; mode/chip filters stop double-ORing demoMode; gated deep-link mode chrome falls back to Answer; MasterSearchHeader mode-menu DOM tests added. Guest discovery closed for mode menu, sidebar, cross-mode chips, Tools Saved, universal tools ranking, also-matches, prefetch. Intentional residual: direct /favourites signup gate; mockup routes. PR body appears overwritten by unrelated Sync PR policy content — agent posted corrective comment (403 on body edit).", + "checks": "Focused Vitest 37/37; verify:cheap green; verify:pr-local green (build + client-secret scan + RAG fixtures); browser guest Tools/sidebar/favourites proof earlier. No OpenAI/Supabase writes." }, { - "date": "2026-08-22", - "ref": "HEAD", - "head": "b09342d33fdda41fb6955877df36f74b52c13774", - "scope": "Task 10 structured Clinical Ask feedback and migration", - "outcome": "pass: no P0-P2 findings", - "checks": "focused contract, route, migration-role and privacy review" + "date": "2026-07-24", + "ref": "remediate-audit-system-issues (PR #1160)", + "head": "04201a87cc7ad7dd1477d17cd2b96544b7379789", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "re-merge origin/main after CONFLICTING relapse; resolved scripts/run-eval-safe.mjs (kept main taskkill /T /F + validPids); sitemap Prettier format() retained from fe0588b86; no unresolved threads; no conflict markers", + "checks": "merge + conflict resolve only; no provider-backed checks run" }, { - "date": "2026-08-22", - "ref": "PR #2265", - "head": "393f114b0ca87dedaee93712b42d5e4098275c95", - "scope": "full PR merge-safety review", - "outcome": "FIXED: pre-push type error removed; loading inventory, mergeability contract, closure evidence, formatting, and current-main snapshot blockers repaired", - "checks": "typecheck PASS; check:pr-mergeability PASS; check:outstanding-issues PASS; check:design-system-contract PASS; format:changed PASS; full unit 7404 pass/14 Windows-environment failures; merge-tree clean" + "date": "2026-08-09", + "ref": "claude/document-viewer-phase-3-bj5k5v", + "head": "0436c3b495bee05777efc2ea1709230044e26b42", + "scope": "document viewer Phase 3: page virtualization, rail windowing, signed-URL/decode priority, keyboard reading mode, first canvas browser gate", + "outcome": "PR #1772 opened. Self-reviewed during authorship; two real races found and fixed (route effect overriding reader scroll position when pdf.js reports its page count; in-flight scroll gate armed a frame too late). #279 closed by tests/ui-document-canvas.spec.ts; #283 batch-route deferral recorded with the measurement that should decide it; #290 added for the OffscreenCanvas number; #291 added for a pre-existing root-only pr-handoff-stop failure; #252 updated with measured bundle headroom (+9.4% of 10%). Crop-to-page overlay out of scope by design.", + "checks": "verify:pr-local (1 pre-existing root-only failure: pr-handoff-stop, reproduced on origin/main worktree; 5839 passed), build OK, eval:rag:offline 36 golden cases 574 tests, check:bundle-budget within tolerance, check:playwright-pr-shards 23 specs, canvas gate skip-with-reason verified locally and fail-closed verified with CI=1. Browser gates unrunnable here (Chromium 141 vs pdfjs-dist 6 needing 151) - delegated." }, { - "date": "2026-08-22", - "ref": "PR #2265", - "head": "9cc40c783d06ec200fb55364085bde63a63646d1", - "scope": "full PR merge-safety review", - "outcome": "FIXED: formatting, loading-inventory evidence, mergeability workflow contract, and current-main snapshot blockers repaired; no unresolved findings", - "checks": "check:pr-mergeability PASS; check:outstanding-issues PASS; check:design-system-contract PASS; format:changed PASS; full unit 7404 pass/14 Windows-environment failures; merge-tree clean" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3c PR-C figure-aware selection)", + "head": "043b030 + P2-fix commit", + "scope": "(recorded with Outcome)", + "outcome": "E-3c PR-C: dose/monitoring extractive answers now carry the asked-for figure/schedule when the cited chunk verbatim supports it — lead-slot promotion (dose swaps last of 2 slots, monitoring appends 2nd sentence; no-op when a lead already carries a figure) guarded by the claim-support atom corpus (sourceEvidenceText exported, promotionAtomKey byte-identical to claim-support's atomKey), plus the dose/threshold generation-fallback preferring the safe figure-carrying candidate (safety gate unchanged, filter-order-stable). Fallback helpers extracted to rag-extractive-answer (cycle-check verified); rag.ts 4908→4901. Six discriminating tests each verified red-on-prior-code incl. proving the nuke-guard load-bearing by disabling it. REVIEWS (both pre-push on 043b030): rag-retrieval-reviewer APPROVE-WITH-NITS — no-op path byte-identical verified, atom-key identity verified, filter-vs-find proven side-effect-free, 2-sentence append gate-safe, intent double-gated, zero retrieval/ordering change, imputation contract green; P2 = zero-atom monitoring figures (\"every 6 weeks\" yields no value atom) pass the guard trivially and can be nuked by claim support if sourced only from adjacent context (fails SAFE — evidence gap, never a wrong figure). clinical-governance-reviewer APPROVE-WITH-NITS — all six clinical concerns CLEARED end-to-end (verbatim-support guarantee, citation binding preserved, conservative failure test-proven, unsafe candidates impossible, wrong-drug risk controlled by pre-existing entity/multi-drug guards, no PHI); same zero-atom finding as P3 + one comment-precision nit. P2 FIXED post-review (disclosed): zero-atom figures now require the matched figure substring verbatim in sourceEvidenceText (intentFigureMatchText); proven both directions by 3 new tests (promotes from content, refuses from adjacent-context-only); comment-precision nit folded in.", + "checks": "Focused post-fix: extractive-formatting 32/32 + fallback/eval-cases/offline/contract/extractive-first 98/98 incl. imputation contract; typecheck+prettier+budgets clean; full-suite 3068-passed baseline pre-P2-fix (fix re-verified focused). Live proof = E-4 pair next" }, { - "date": "2026-08-22", - "ref": "PR #2273", - "head": "a9aa9c96a56fb36df24fa0943b3f623425fd5c3f", - "scope": "PR #2273 full diff vs refs/remotes/origin/main", - "outcome": "P1 clinical governance gap fixed locally: drafted MHA summaries and supplemental form mappings now fail closed; Windows generator entrypoint fixed; stale owner data remains suppressed.", - "checks": "check:mha-act-sections PASS; focused forms and MHA tests PASS 25/25; production-readiness source checks PASS but provider configuration environment-gated" + "date": "2026-07-30", + "ref": "origin/apply-audit-remediation-protocol", + "head": "046cb38ad45411c5f539636d4c976b25195f7bbd", + "scope": "branch-cleanup", + "outcome": "RETAIN. Closed PR #1338; tip still has unique files main lacks (motion-tokens.ts, use-overlay-presence.ts) plus stale sheet/globals diffs. Not empty vs main; do not delete.", + "checks": "ledger lookup; cherry-pick+three-dot; blob existence on main; gh PR #1338 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-08-22", - "ref": "PR #2274", - "head": "9804434ca02c717ebad436ecc3dc545b8780eab8", - "scope": "PR #2274 full diff vs refs/remotes/origin/main", - "outcome": "Two P2 behavior defects fixed; CI policy, secret-scan, design-system, and bundle failures remediated; stale session artifacts removed; current Developer Hub integration restored with honest staged scope.", - "checks": "fresh Next build PASS; focused Care Plan and Developer Hub tests PASS 235/235; typecheck PASS; design-system PASS; bundle-budget PASS; production-readiness source checks PASS but provider configuration environment-gated" + "date": "2026-07-13", + "ref": "codex/openai-gpt56-rag-upgrade", + "head": "04c1d0b036cae8af4dabfc692055c7aab93d5888", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-08-22", - "ref": "PR #2292 / claude/dev-hub-phase-2-plan", - "head": "13c20de02e90919008c9e8a8ab5c338c2a987a84", - "scope": "PR #2292 developer-hub review and P2 fixes", - "outcome": "Merged current main; confirmed the external Markdown URL guard and added a fail-closed staging requirement for non-ignored untracked Markdown docs. Both actionable review findings are covered by focused regressions; ignored scratch notes remain excluded.", - "checks": "Vitest repo-awareness-generator 31/31; tsc -p tsconfig.typecheck.json --noEmit; Prettier --check; git diff --check; coordinated typecheck wrapper interrupted by environment but underlying tsc passed" + "date": "2026-07-13", + "ref": "HEAD / origin/main (detached worktree)", + "head": "04c1d0b036cae8af4dabfc692055c7aab93d5888", + "scope": "OpenAI-facing API and integration review", + "outcome": "Read-only review found one P1 clinical-streaming defect and four P2 reliability/API-contract issues: provisional clinical prose is exposed before validation; mid-stream failure can silently trigger a second buffered generation; answer caches are not model/prompt fingerprinted; OpenAI access/model errors are under-classified; and table-fact route IDs are not validated before database access. GPT-5.6 migration also requires replacing the legacy prompt-cache parameter. No application code was changed.", + "checks": "Static call-flow, prompt, model, schema, streaming, cache, error, route, test, and governance inspection; official OpenAI model/Responses/structured-output/streaming/prompt-cache guidance reviewed. Provider-backed checks were not run. Local tests were not run because this worktree has no installed dependencies (`openai`, `vitest`)." }, { - "date": "2026-08-22", - "ref": "PR #2292 / claude/dev-hub-phase-2-plan", - "head": "73477b2a9b3aa92c351f6e3a9a15cced0f2f3859", - "scope": "PR #2292 CI repair for ledger page router harness", - "outcome": "Fixed the second CI failure: the developer-ledger DOM suite renders PanelPageShell after its back link became contextual, so the test now supplies the App Router mock required by ContextualBackLink. The 14 reported failures were all cascading mount errors.", - "checks": "CI run 32595099042 log inspected; focused developer-ledger + panel + back-navigation + cleanup + repo-awareness Vitest 91/91; tsc --noEmit; Prettier --check; git diff --check" + "date": "2026-08-23", + "ref": "codex/status-semantics-followup (PR #2304)", + "head": "04dcec63bc0c8c3a2a47e687013f5e4354e814d7", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: required CI green, 4 unresolved review threads, 0 behind main. after: fail-closed human attestation (GitHub login/display name; Copilot/bot/AI/pending rejected in validator and adopt-visual-baselines writer); production StatusDotMarker used at source-capsule call site; 4 threads will be replied and resolved after push. origin/main already merged.", + "checks": "vitest status-semantics.dom + design-system-adoption + adopt-visual-baselines + status-semantics-contract: 65 passed (65); eslint changed files clean; check:design-system-adoption: design-system adoption checked: 54 components, 94 roots. no provider-backed checks run" }, { - "date": "2026-08-22", - "ref": "PR #2292 / claude/dev-hub-phase-2-plan", - "head": "b7261793e97e5f385e2ea3537a52182d7cf517f9", - "scope": "PR #2292 developer-hub review and P2 fixes after main sync", - "outcome": "Merged latest main 3e5c2234 cleanly after the P2 fixes. The merged tree preserves the external-URL guard, fail-closed untracked-document staging requirement, ignored scratch-note exclusion, and prior immutable review record.", - "checks": "Vitest repo-awareness-generator 31/31; tsc -p tsconfig.typecheck.json --noEmit; Prettier --check; git diff --check; merge-tree --write-tree 60ef8b9 3e5c223 returned fc385e66 without conflicts" + "date": "2026-08-08", + "ref": "cursor/more-modes-popup-2f4b", + "head": "04e6a80653c3ccf103577f6c3886b162498621ed", + "scope": "sidebar more-modes sheet popup", + "outcome": "pass", + "checks": "focused-pw tablet rail; test:focused ClinicalSidebar; favourites+therapy wiring; verify:pr-local stages+build+rag-fixtures" }, { - "date": "2026-08-22", - "ref": "PR #2292 / claude/dev-hub-phase-2-plan", - "head": "bda501b62c85ba90f0ee3125d6b1fc006b24f15f", - "scope": "PR #2292 CI repair after unit coverage failure", - "outcome": "Fixed CI run 32594149250: PanelPageShell now uses contextual history for its page-level back arrow; recursive repository-awareness test cleanup uses the retryable helper; and the panel DOM test mocks the App Router required by ContextualBackLink.", - "checks": "CI log inspected: Unit coverage 2 failed/8442 passed; focused Vitest contextual-back-navigation + test-runner-safety + repo-awareness + panel DOM 77/77; tsc --noEmit; Prettier --check; git diff --check" + "date": "2026-07-30", + "ref": "codex/close-issue-105", + "head": "05008bb3937a646043c40cda8b78eca70271f342", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1488 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-08-22", - "ref": "PR-2291", - "head": "37e46caac7b777517d61d56c30d3582d98963a8f", - "scope": "Run PR: main merge and six P1 review fixes", - "outcome": "main merged; six P1 fixes published; local runtime blocked before executable gates", - "checks": "git diff --cached --check PASS; unmerged=0; setup blocked npm 11.9.0 vs 11.17.0; format executor disconnected; no local tests" + "date": "2026-07-30", + "ref": "PR-1488", + "head": "05008bb3937a646043c40cda8b78eca70271f342", + "scope": "archive issue 105 after browser proof", + "outcome": "PASS: closure evidence is specific and internally consistent; removed incidental ledger-row reordering", + "checks": "outstanding-issues guard; Prettier; diff review; zero unresolved threads" }, { - "date": "2026-08-22", - "ref": "PR-2291", - "head": "9621f5138f5c7919633602c08f7b313e8dc16259", - "scope": "Run PR: final main sync after review fixes", - "outcome": "latest main merged cleanly after review fixes; executable local gates remain blocked by runtime", - "checks": "git merge-tree --write-tree 62cfcab483077d437a513b33eec87272852fa197 6d95245204e344335bd6ea10798d8b74111c9fcf PASS; git diff --cached --check PASS; local setup/format/test unavailable" + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "057a5579e538fcacc15feb8a0ac7fa580b3decb4", + "scope": "PR #1649 review-and-fix", + "outcome": "fixed: Bugbot cross-session prune disarm + marker-write fail-open context + deny gh pr comment/review; superseded dead Run PR ledger HEADs; merge-tree clean vs main; threads cleared; CI re-trigger on push", + "checks": "vitest:pr-handoff-stop 11/11; verify:cheap 516 files/5457 tests; verify:pr-local pass (format+lint+typecheck+test+rag-fixtures); bash -n hook OK; security-review: no P0/P1; no provider gates" }, { - "date": "2026-08-22", - "ref": "PR-2291", - "head": "f93b2209ebb9a41aca3159be9ba4f2c8e0bdf289", - "scope": "Run PR: final current-main sync after review fixes", - "outcome": "newly advanced main merged cleanly; executable local gates remain blocked by runtime", - "checks": "git merge-tree --write-tree 3e5c2234b93183d41815886c1b49b947ba544aeb a8968673796710de95cc660802e75c8dbd5e4972 PASS; git diff --cached --check PASS; local setup/format/test unavailable" + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "057a5579e538fcacc15feb8a0ac7fa580b3decb4", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "supersede: prior stacked Run PR rows used unresolvable HEADs (fff524d7/f67e5c91/3403126b); reviewed product tip is this SHA (ledger bookkeeping may sit one commit above); Bugbot prune+context+comment/review fixes landed", + "checks": "vitest:pr-handoff-stop 11/11; verify:cheap pass; verify:pr-local pass" }, { - "date": "2026-08-22", - "ref": "work", - "head": "1524bc7d20dc5918083a87e6f0062b0b1009dc49", - "scope": "mode-aware Clinical Ask Tasks 1-12 whole-branch clinical privacy security UI review", - "outcome": "P1 clarification loop, unsafe auxiliary output, handoff navigation, and provider-model exposure fixed; focused checks pass; broad handoff gate remains local-session debt", - "checks": "35 route/orchestrator/context tests; 48 focused safety/UI tests; typecheck; clinical-proof; lifecycle handoff" + "date": "2026-07-14", + "ref": "claude/pr-672-specifiers-formulation-3n123f", + "head": "059398c962711f57e5f9ee7c6b4783066cd6718f", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-22", - "ref": "work", - "head": "4c06617a4bac40dbafb9c07dc7468ea62adb559c", - "scope": "design-system live convergence programme plan and local handoff", - "outcome": "No P0-P2 defect in the plan. Six independently revertible tranches, adversarial gates, Cloud/local boundaries, clinical stop conditions, and an operator handoff packet are specified.", - "checks": "flightplan docsOnly; clinical-proof docsOnly; docs links passed; docs script refs passed; focused Prettier passed; diff check passed" + "date": "2026-07-30", + "ref": "codex/ingestion-fixes-current-main-20260731", + "head": "059c33198657e1e58848675c222939885e49db10", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1493 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-22", - "ref": "work", - "head": "697c74cade73c1cc670a1b82d1392959a2d8598d", - "scope": "adversarial review of design-system title fix and live shared-home UI", - "outcome": "P2 client-side mode switches left document.title stale; fixed with shared title owner and browser regression. Corrected stale design-gate evidence/counts; no P0/P1 findings.", - "checks": "focused Vitest 45 pass; focused Playwright 1 pass; accessibility Chromium 17 pass; design-system contract pass; 320/390/639/768/1440/1920 overflow and forced-colors sweep" + "date": "2026-07-13", + "ref": "claude/home-page-sizing-plan-02011e", + "head": "05b5977c4c7152ede77039543b5ac6c686c9d905", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #517; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-22", - "ref": "work", - "head": "a26747b1e8c7ac5a705b1beee94b61aaeddef74e", - "scope": "PR 1 clinical status semantics and baseline provenance", - "outcome": "status semantics implemented with zero contract debt; no high-confidence diff findings; human screenshot provenance disposition remains approval-gated", - "checks": "focused status contract; design-system contract; desktop and forced-colour phone browser proof; production readiness; lint; typecheck; build; full unit suite has unrelated jq-less hook timeouts" + "date": "2026-07-13", + "ref": "origin/claude/home-page-sizing-plan-02011e", + "head": "05b5977c4c7152ede77039543b5ac6c686c9d905", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #517; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-22", - "ref": "work", - "head": "b158b93532511db8077e226f00bdabeaa0c3ea85", - "scope": "cloud design-status semantics implementation prompt", - "outcome": "no high-confidence findings; bounded offline-first PR1 prompt with truthful provenance and local handoff gates", - "checks": "workflow:flightplan; docs:check-links; docs:check-scripts; format; git diff --check" + "date": "2026-08-27", + "ref": "codex/therapy-pathways-redesign (PR #2413)", + "head": "05e00976ab04796d7f44593b692f46cb8919943e", + "scope": "Run PR follow-up: second merge-drift + PR-policy fix", + "outcome": "Re-synced with origin/main after PR #2416 landed (mechanical conflict only in data/repo-awareness-snapshot.json, regenerated); added the required Clinical Governance Preflight section to the PR body since the regenerated snapshot touches data/, a path scripts/pr-policy.mjs treats as clinical-risk. No review threads outstanding.", + "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts -- 25 passed; no provider-backed checks run" }, { - "date": "2026-08-22", - "ref": "work", - "head": "d078a1f1de737e7d9402579a7221235f8c1116fe", - "scope": "Task 7 Clinical Ask external authority evidence", - "outcome": "P1: route bypasses profile allowedAuthorityIds and enables all registry domains for mode; fix before Task 8", - "checks": "ledger lookup; static diff review; prior focused tests noted; no provider calls" + "date": "2026-07-24", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "05ec10d5", + "scope": "Babysit sweep: CI fix + drift", + "outcome": "Before: CONFLICTING, Static PR + PR required FAIL (duplicate ledger row). After: merged origin/main; removed duplicate PR #1149 ledger row. CI re-running.", + "checks": "check-branch-review-ledger PASS; merge origin/main; no provider-backed checks run" }, { - "date": "2026-08-22", - "ref": "work", - "head": "dea32b8d26b32f03827bf71c0814315d92a7cb5c", - "scope": "current design system and live UI", - "outcome": "P2 shared-home route titles were not mode-specific; fixed locally with focused metadata coverage. Remaining recommendations documented in handoff.", - "checks": "design-sweep; local identity; phone/desktop visual inspection; focused Vitest" + "date": "2026-07-25", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "05ec10d50bd18b63e23fa2e8ce1bc1d00fb182c5", + "scope": "Open-PR maintenance: CI fix + threads + drift", + "outcome": "Before: Static PR checks/PR required failed and 1 unresolved P1 thread because a byte-identical PR #1149 ledger row was duplicated. After: current main is merged and the duplicate is removed; the ledger guard is green.", + "checks": "branch-review-ledger guard pass (717 records); no provider-backed checks run." }, { - "date": "2026-08-21", - "ref": "claude/auto-close-next-servers-7ymzsx", - "head": "fbeb67c2e4f8a7e144d790bd3c94129b9c95cf4f", - "scope": "scripts/dev-free-port.mjs, scripts/ensure-local-server.mjs, src/lib/local-server-utils.mjs, tests/local-server-utils.test.ts, README.md", - "outcome": "approved — self-authored PR #2212, idle-timeout self-shutdown for ensure-started background dev servers", - "checks": "eslint (clean), vitest tests/local-server-utils.test.ts (5 passed), prettier --check . (clean), manual smoke test of idle shutdown against a real next dev boot" + "date": "2026-07-30", + "ref": "codex/repair-pr1474-v2", + "head": "05f1feedf2d3f42cb2d4a9c198f67092c57f0b7a", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1474 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-21", - "ref": "claude/clever-bohr-w87uiz", - "head": "0fcd789a8625f1abfe120cd1a274166948537d71", - "scope": "Claude Code web container parity, code half of the PR #2227 split: tiered provisioner, cloud-profile applier, CLAUDE.md/settings/memory snapshot, SessionStart registration, contract doc, 18 tests", - "outcome": "PR #2236 opened (draft), replacing #2227. Vendored skill tree moved to PR #2238 so this diff is 28 files instead of 543; CodeRabbit's 150-file limit is why #2227 received no automated review at all. The applier already guarded skills on existsSync; the test file now states which assertions need the tree and a new test pins that guard, so this PR stands alone. Container tiers plugins/gh/deno/browsers/python remain unexecuted anywhere — no Linux container was available to run them in, and the first real cloud session is the acceptance test", - "checks": "lint gate-receipts pass 3950 files, typecheck gate-receipts pass 3950 files, npm run test full offline suite 697 files 7694 passed 6 skipped exit 0, vitest tests/claude-cloud-profile.test.ts 16 passed 2 skipped without the tree and 18 passed with it, format:changed whole-tree escalation all files pass, docs:update no drift 254 scripts 255 npm scripts, docs:check-links 2082 refs resolve, check:branch-review-ledger pass, git merge-tree against the #2238 branch exit 0 no conflict" + "date": "2026-07-14", + "ref": "copilot/fix", + "head": "060b2cd9c0cb38fa0cb0521ce3f67ead13a9ab87", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-21", - "ref": "claude/clever-bohr-w87uiz", - "head": "5d4aedb86809debbc277f534eae35fe015e9f5a1", - "scope": "tests/claude-cloud-profile.test.ts — sandbox HOME for every provisioner spawn so the suite stops reading the machine's real marker/lock directory", - "outcome": "Fixes a false red that landed via PR #2236: the held-lock test planted its fixture in the real ~/.cache/clinical-kb-claude-cloud, so a completed-tier marker short-circuited the deno tier before the code under test ran. Failed on any provisioned container, passed on CI's clean runners, which is how it reached main. HOME override suffices because the provisioner is a shell script; the applier still needs CLAUDE_CONFIG_DIR for the Windows os.homedir() reason. No production code changed. Adds a guard test pinning the isolation", - "checks": "vitest tests/claude-cloud-profile.test.ts in all three states with a real deno.marker on the container — before 1 failed 22 passed, after with marker present 24 passed, after with marker absent 24 passed; full offline suite 695 files 7726 passed 1 skipped exit 0; lint gate-receipts pass 4365 files; typecheck gate-receipts pass 4365 files; format:changed all files pass" + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "060d81355b97c3ba51232df8feee6132f1036b63", + "scope": "Final closeout: conflicts + reviews + CI green", + "outcome": "COMPLETED. Merged main (adopted main RAM-guard). CodeRabbit intrinsic-size + Codex will-change/transform threads resolved. Local Bugbot: no P0/P1. Hosted PR required SUCCESS (Build/Unit/Static/Advisory/Production UI). mergeable CLEAN.", + "checks": "Hosted CI run 30330463512 SUCCESS; local vitest 4114 + focused guard/nav/container 18; no provider checks." }, { - "date": "2026-08-21", - "ref": "claude/frontend-design-6sl1ft", - "head": "8b26a5c4ce836db00e031e2ad3ee3980e8a9d1a9", - "scope": "design-review remediation + loose ends + nested-mockup CI scope routing", - "outcome": "applied — 20 review findings resolved or dispositioned, 5 loose ends closed, 1 CI scope gap fixed; 3 architectural items recorded as decisions in TOKENS.md §9 / COMPONENTS.md §0.4", - "checks": "verify:pr-local exit 0 (28/28 gates after CI-scope widening; 7599 tests passed, 4 skipped, 0 errors; build ok); full suite green with no gh CLI; verify:ui delegated to CI Production UI (playwright revision drift #255, and heavy jobs are draft-gated)" + "date": "2026-08-12", + "ref": "codex/implement-process-safety-for-multi-agent-workflows", + "head": "06144a7fcde8fea5dca63348bcc968fe796b152e", + "scope": "full PR diff and unresolved review feedback", + "outcome": "Fixed cached-origin truthfulness, agent-safe approval gates, UI browser proof ordering, Added-date JSON, and foreign-index handoff safety; prior #240/#253 classifier feedback already fixed.", + "checks": "focused Vitest 31/31; outstanding-issues guard pass; gate-manifest pass; git diff --check" }, { - "date": "2026-08-21", - "ref": "claude/frontend-design-6sl1ft", - "head": "ca7b187ae74991d3135437c79c8cc41e8db1e567", - "scope": "prlanded", - "outcome": "landed clean — PR #2210 merged 2026-08-21T11:07:02Z by BigSimmo via merge commit ca7b187 (merge method 'merge', not squash); content diff ca7b187..3dde98d empty, 0 of 11 commits orphaned, remote branch auto-deleted", - "checks": "git diff --stat ca7b187 3dde98d empty; per-commit ancestry 11/11 reachable from origin/main; final CI green incl. Production UI (1)(2)(3), Production UI critical, Advisory UI, Unit coverage, Build, Static PR checks; Lighthouse mobile-root CLS confirmed as the documented bistable 0.016/0.223 flake, not a diff regression" + "date": "2026-07-22", + "ref": "PR #1061 / `claude/settings-dialog-tests-123366`", + "head": "0638fee21a60f29b1be1f3302c95c69db693c19d (merged as 3e70a22c671da0199d507b00b0a77e9a99db2621)", + "scope": "SettingsDialog action-flow coverage", + "outcome": "MERGED test-only action coverage with correct `vi.hoisted` setup. Stale review thread was verified, replied to and resolved; unnecessary fixture-reset follow-up was not pushed.", + "checks": "Focused 5/5; PR-local 3,172 passed / 1 skipped and offline RAG 36/36; hosted required checks green." }, { - "date": "2026-08-21", - "ref": "claude/frontend-design-6sl1ft", - "head": "eaae8bde3066749f105233c1492d6f044671b91b", - "scope": "full-frontend design review remediation: tokens, ward a11y, answer support label, gate gaps", - "outcome": "applied — 20 review findings resolved or dispositioned; 3 architectural items deliberately deferred", - "checks": "verify:pr-local exit 0 (19/19 gates; 7599 tests passed, 4 skipped, 0 errors; build 1871 pages); verify:ui delegated to CI Production UI (playwright revision drift #255)" + "date": "2026-07-30", + "ref": "PR-1509", + "head": "0644f709803c928fb78ced75b504a45c08be0dab", + "scope": "Replacement consolidation after PR #1490 concurrent merge", + "outcome": "APPROVE; main's canonical #151-#153 and #143 records retained, unique #154-#156 follow-ups and #094 closure preserved, mockup token repairs unchanged; no remaining P0-P2 findings.", + "checks": "installed-lock parity, tsc, ESLint, issue/ledger/docs/format/diff guards PASS; focused design-token Vitest coordinator-blocked" }, { - "date": "2026-08-21", - "ref": "claude/gate-e-blinded-eval-b6076d", - "head": "af8afeba09916f44462ba53609560f0118ca0940", - "scope": "Gate E blinded-eval capture tooling: eval-answer-quality --extra-cases + gate-outcome dump fields, new scripts/blind-answer-pairs.ts build/unblind, tests, docs (PR #2208)", - "outcome": "PR #2208 opened; offline-only, no retrieval behaviour change (#E0N0QC); paid v18-vs-v19 capture pending owner approval", - "checks": "focused vitest 36/36; offline contract 26 suites/627; adversarial fixtures 24 recorded + harness 25/25; check:rag:fixtures 36/26; typecheck 0; lint 0; docs checks green; full suite: load-flake timeouts only, disjoint sets, unrelated files" + "date": "2026-07-29", + "ref": "claude/clinical-design-system-update-e34ca9", + "head": "064e70b79bfd9c22008f2d7bf57b0515870b73ce", + "scope": "PR #1375 conflict fix + Bugbot", + "outcome": "FIXED CONFLICTING: merged origin/main; took DocumentViewerRail from main; reapplied tracking-eyebrow in document-rail-panels. Bugbot: 0 findings. MERGEABLE; hosted CI re-running. No unresolved review threads.", + "checks": "local: typecheck PASS; lint PASS; format:changed PASS; design-token+theme+section-nav 40/40; verify:cheap 423 files / 4298 tests PASS. Hosted: PR policy/Change scope/Safety/Semgrep/Gitleaks PASS; Build/Static/Unit/Production UI pending at record time." }, { - "date": "2026-08-21", - "ref": "claude/gate-e-verdict-record", - "head": "be62c06371039cafec9f4504ca696d1ad2c67be1", - "scope": "docs/rag-improvement/HANDOVER.md — Gate E blinded-read verdict recorded in the S2 and Gate E rows", - "outcome": "Docs-only. Owner blinded read complete: v18 4ea310e48 3 / v19 cdfcbaccd 3 / tie 24 / neither 0 across 30 pairs; recorded with its three caveats (after-half is cdfcbaccd not current main; 24/30 pairs byte-identical and v18 20/30 vs v19 21/30 source_only so the tally partly measures the #231 fallback rate; baseline-record section 4 readability confound). #E0N0QC was already resolved on main at 1cc0d2987 by a separate fix, so no ledger close was queued.", - "checks": "verify:pr-local docs scope — completed check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline; failed: (none); not reached: (none)" + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "067a17f8", + "scope": "Resolve merge conflict with main", + "outcome": "FIXED. GitHub CONFLICTING/DIRTY was 2 commits behind main (#1310 ledger repair + #1320 search test). `git merge origin/main` completed with ort auto-merge (ledger repaired by main); no content conflicts in product files. Unique CSS layout audit delta retained.", + "checks": "`check:branch-review-ledger` PASS; merge-tree clean vs origin/main; no provider checks." }, { - "date": "2026-08-21", - "ref": "claude/github-comment-resolution-pr-77klg5", - "head": "9d8a03f1ea8f7ff00b5a9766476593c0271315db", - "scope": "prlanded", - "outcome": "merged clean, content diff empty, no orphaned commits", - "checks": "PR required, Static PR checks, PR policy, PR mergeability, Change scope, Gitleaks, Semgrep, GitGuardian — all green on head" + "date": "2026-08-18", + "ref": "claude/clinical-guide-footer-search-4l54hp (PR #2137)", + "head": "0687686d5977127e0236a7ef4ad18c8ccf333e98", + "scope": "Run PR sweep: CI fix", + "outcome": "Fixed real merge conflict blocking pull_request CI (mergeable_state dirty). Merged origin/main; sole conflict in docs/search-chrome-behaviour.md table, resolved keeping both sides content. Pushed with SKIP_LEDGER_WRITE_GUARD=1 (verified false positive: merge introduced zero independent ledger changes, mainMergeBase check passed directly). No unresolved review threads. CI now runs post-push; long jobs still in progress at last check, not babysat to completion.", + "checks": "git merge-tree clean; prettier --check . passed; check-ledger-write-discipline.mjs passed against mainMergeBase; PR mergeability/PR policy/Semgrep/GitGuardian/Change scope succeeded post-push" }, { - "date": "2026-08-21", - "ref": "claude/issues-reconcile-post-2206", - "head": "02d1bcaab01f933b8af3eefa3a7f085e95aac661", - "scope": "docs(issues): reconcile the queued inbox batch into the canonical ledger (#2218)", - "outcome": "Backfilled record — PR #2218 merged 2026-08-21 (squash 02d1bcaab01f933b8af3eefa3a7f085e95aac661) with no review record captured at the time. Diff inspected post hoc: 29 immutable inbox requests applied verbatim into docs/outstanding-issues.md plus 2 closures (#VZN8G3 dup of #BSBE9B, #Q5JHBJ archived) verified against the ledger by the PR author; docs-only, classifyPullRequestFiles clinicalRisk:false, no RAG/src/worker/supabase paths touched. Approved by content.", - "checks": "PR-reported: reconciler applied 29/29 requests cleanly; pre-push guard ran check:ledger-write-discipline on pushed commit 42dc0e0f4 with no rejection; Prettier clean on changed markdown; CI static-pr required checks green (merged). Not independently re-run in this session — docs-truth backfill only." + "date": "2026-07-14", + "ref": "codex/formulation-workspace", + "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", + "scope": "branch-cleanup", + "outcome": "Retained because its checked-out worktree has uncommitted work.", + "checks": "Fresh worktree status and Codex task-registry scan." + }, + { + "date": "2026-07-14", + "ref": "codex/release-blocker-remediation", + "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", + "scope": "branch-cleanup", + "outcome": "Retained because its active checked-out worktree has substantial uncommitted work.", + "checks": "Active Codex task and fresh worktree status scan." }, { - "date": "2026-08-21", - "ref": "claude/ledger-231-timeout-diagnosis-6e306e", - "head": "fc593168bd4f4d905108f9ed9897a20cc274effa", - "scope": "#231 offline diagnosis: docs/rag-improvement/231-diagnosis-2026-08-22.md, docs/README.md, docs/rag-improvement/README.md A1 pointer, and four outstanding-issues inbox requests. No src/ change.", - "outcome": "Re-scoped #231. The row premise (answerRouteBudgetMs.fast binds) is falsified: the fast budget binds in 3 of 60 Gate E case-runs and three of six provider_timeout instances are on the 35s strong budget. Defect population is 9-10 of 30, not ~20 -- 12 cases never call the provider. provider_timeout and generation_quality_failed are one fault (the quality-retry ladder, which has no deadline admission check at rag.ts:3623/3709, and whose only guard at rag.ts:3698 compares against 60000 ms inside a 35 s deadline so can never fire). New defect filed: a grounded first-choice extractive answer is never quality-checked because generatedAnswerQualityFailureReason is called only inside the !grounded branch at rag.ts:3107, so the two worst answers in the capture carry no fallback reason. Second new row filed for two clinical questions answered with a document list. Merged and cancelled the colliding Phase 5 close-out request 0a0ab127, carrying its content forward. No provider call; owner declined both paid options.", - "checks": "verify:pr-local green, 11/11 completed 0 failed (check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline); build skipped, no build-affecting change; lint/typecheck/unit skipped as recognised low-risk docs scope; no canary (no behaviour change)" + "date": "2026-07-14", + "ref": "codex/universal-search-mode-ranking", + "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", + "scope": "branch-cleanup", + "outcome": "Retained because its active checked-out worktree has uncommitted work and a live Node process.", + "checks": "Active Codex task, worktree status, and process scan." }, { - "date": "2026-08-21", - "ref": "claude/ledger-reconcile-2026-08-21", - "head": "f4217ff30490a1c43a6ec6ed9f00e7eeffd32256", - "scope": "docs/outstanding-issues.md reconciliation of 29 queued inbox requests; no product code", - "outcome": "Serialized reconcile transaction, machine-generated by issues:reconcile on a fresh base off main 9f98bbf06. Open rows 71 -> 61, archived -> 350, pending -> 0. No in-flight reconcile existed when started.", - "checks": "verify:pr-local green (11/11 completed, none failed, exit 0); check:ledger-write-discipline passed 9f98bbf06d8a..HEAD; inbox 0 pending / 438 applied" + "date": "2026-07-14", + "ref": "detached review worktree (origin/main at scan start)", + "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", + "scope": "repository-wide comprehensive and security audit", + "outcome": "Eight security findings survived final calibration: two P2 (uncapped full-page PDF OCR raster; broad indexed-document public promotion) and six P3 (PDF deadline and aggregate budgets, delete/reindex lifecycle race, staged-generation document search, cross-tenant correction vocabulary, and fail-open future-object default privileges). Seven additional candidates were rejected. One P2 operational documentation drift was also confirmed between the operator backlog and launch runbook. No source fix was applied.", + "checks": "Codex Security standard scan completed with 763 ranked source-like files and 70 deep-reviewed selections; seven safe offline finding probes passed; local action-pin, documentation-link/script-reference, codebase-index, CI-scope, and autofix-workflow guards passed; offline npm audit reported zero cached advisories; `git diff --check` passed. Lint, typecheck, full tests, build, browser, live Supabase/OpenAI, hosted CI, drift, and production checks were not run because this checkout lacked `node_modules` and provider access was not authorized." }, { - "date": "2026-08-21", - "ref": "claude/local-cloud-profile-vendored", - "head": "14535ffc5f05d559f6bccac84099f9e6874bba6a", - "scope": "Vendored half of the PR #2227 split: .claude/cloud-profile/skills 402 files 91782 lines, .prettierignore exclusion, two Gitleaks false-positive fingerprints", - "outcome": "PR #2238 opened (draft), superseding the stacked PR #2237 which was closed unmerged. Stacking failed because every gating workflow filters branches main and release/**, so a PR based on any other branch runs none of them; this branch is cut from main and gets real CI. docx and xlsx dropped on user approval, taking the dump from 516 files 138461 lines to 402 files 91782 lines. Gitleaks fingerprints re-derived from job 96803046519 leaks found 2, not carried over from #2227 whose commit da6088e70 exists on no branch here", - "checks": "Gitleaks 8.24.3 job 96803046519 range scan reported exactly 2 findings, both read in context and confirmed synthetic doc-prose placeholders before pinning per finding, GitGuardian success, PR policy success, PR mergeability success, vitest tests/claude-cloud-profile.test.ts 18 passed with this tree present, format:changed whole-tree pass, ignore rule proven necessary as prettier --check on the tree with an emptied ignore file errors on 27 files, all 402 files mode 100644 with no symlinks executables or binaries, git merge-tree against the #2236 branch exit 0 with .prettierignore resolving to a single block" + "date": "2026-07-30", + "ref": "PR-1497", + "head": "06b8d40d632c7802aca1add0f35ed2d82d5e98de", + "scope": "PR #1497 final test-timeout follow-up", + "outcome": "APPROVE: bounded offline readiness subprocess; no remaining findings", + "checks": "static Cloud contract PASS; branch-review-ledger PASS; docs script refs PASS; diff check PASS; full hosted CI required" }, { - "date": "2026-08-21", - "ref": "claude/local-cloud-settings-migration-bf4707", - "head": "da6088e70ccb67d4ba83fa4efa1dcb75eb317d92", - "scope": "Claude Code web container parity: cloud-profile snapshot, tiered provisioner, SessionStart registration, docs, tests", - "outcome": "PR #2227 opened; lint/typecheck/format/docs gates green; 16/16 new tests; browser+python+deno+gh+plugin installs unverified (no Linux container locally)", - "checks": "lint, typecheck, prettier --check . (whole tree, escalated via .prettierignore change), format:changed, verify:pr-local (13 checks completed), tests/claude-cloud-profile.test.ts 16 passed" + "date": "2026-07-13", + "ref": "claude/query-hash-hmac-secret-0e44d3", + "head": "06dc4be72bcbdebb991ab8ad5c8d2e2eb67fcc59", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/query-hash-hmac-secret-0e44d3; git diff --name-only reported 2 path(s)." }, { - "date": "2026-08-21", - "ref": "claude/permission-prompts-issue-0dfcf3", - "head": "f5042f9f85e9ab62cd34718309dc0a8d5603ed0d", - "scope": "config: .claude/settings.json permission allowlist", - "outcome": "approved, low-risk config-only change", - "checks": "manual review, no automated gate needed for allowlist addition" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "072051eb83e0b8317880d6167d06b3865b4a6ff7", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1477. No remaining P0-P2 findings; the implemented #131 fail-closed Codex delivery contract replaces the earlier accepted-limitation wording, and all other resolved/open dispositions remain intact.", + "checks": "main reconciliation + ledger:dedupe PASS; outstanding, branch-review, and Codex autofix guards PASS; prior exact-head hosted CI all green before base moved; fresh CI required for this head" }, { - "date": "2026-08-21", - "ref": "claude/phase-5-closeout", - "head": "653712cbeda0059979e71131e828241f921f17da", - "scope": "PR #2250 review-thread sweep: Codex P1/P2 + CodeRabbit findings on the Phase 5 close-out docs and ledger inbox", - "outcome": "Fixed and resolved. P1 db-push contradiction removed (db push reserved for authorised staging/recovery); plan-flip and index-units deliverables left explicitly OPEN; never-reset claim qualified to database-wide only; Perth/UTC boundary made explicit; four MD040 fences labelled. Supersedes the c3ca68fa record, whose checks cell compressed the gate output.", - "checks": "verify:pr-local decisive line — \"PR-local verification summary: - completed: check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline / - failed: (none) / - not reached: (none)\"; format (whole tree, committed)" + "date": "2026-07-13", + "ref": "claude/beautiful-williamson-57d144", + "head": "072434cd5f59b1441dd114958489028972c42d34", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #474; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-21", - "ref": "claude/phase-5-closeout", - "head": "c3ca68fa7f13e2d7ae6c4c96ccfcafb67a59135a", - "scope": "Phase 5 close-out: measurement baselines, staging parity, D4 documentation correction (#316)", - "outcome": "Self-review; no blocking findings. Docs-only diff plus five ledger inbox requests. Read-only production window, one staging-only db push, one live-drift dispatch (green). Two limits and one attribution finding recorded rather than absorbed; no RAG surface touched.", - "checks": "verify:pr-local (11/11, failed: none); check:production-readiness (READY, 9 PASS, 0 blocking); format (whole tree, committed); live-drift run 32514326022 green" + "date": "2026-08-08", + "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1", + "head": "072b83f79a70037a04a8412844c041db43c9ce48", + "scope": "PR #1668 unblock", + "outcome": "synced main; merge-tree clean; required CI was green on prior tip e9516021; js-yaml 4.3.1 + nanoid 3.3.18 preserved; no unresolved threads; CI re-run after sync", + "checks": "pre-sync PR required pass; Production UI skipped (deps); post-sync pending" }, { - "date": "2026-08-21", - "ref": "claude/phase-5-closeout", - "head": "c3ca68fa7f13e2d7ae6c4c96ccfcafb67a59135a", - "scope": "Phase 5 close-out: measurement baselines, staging parity, D4 documentation correction (#316) (supersedes 2026-08-21)", - "outcome": "Supersedes the 2026-08-21 record for the same head. No finding changed: the review outcome stands as self-review with no blocking findings. This record exists solely to satisfy the AGENTS.md rule that evidence is never compressed — the prior record summarised verify:pr-local as `(11/11, failed: none)`, which paraphrases rather than pastes the gate's decisive line. Raised by CodeRabbit on PR #2250 (comment 3833079990) and accepted. Records are immutable and content-addressed, so the correction is made by appending this superseding record rather than editing the original, per the review-ledger contract.", - "checks": "verify:pr-local — decisive output verbatim: `- completed: check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline` / `- failed: (none)` / `- not reached: (none)`. check:production-readiness — `READY: no blocking production-readiness failures.` with `PASS (9)` and `Project: Clinical KB Database (sjrfecxgysukkwxsowpy)`. check:ledger-write-discipline — `Ledger write discipline passed for 70a050752f97..HEAD.` check:outstanding-issues — `Outstanding-issues guard passed: 423 rows (67 open, 356 archived)`. format — whole tree via `npm run format`, result committed before push. live-drift run 32514326022 (workflow_dispatch on main) — `No unexpected schema drift between live and supabase/schema.sql.` / `Remote migration versions: 211 (read via rpc)` / `Remote-only (Preview blockers): 0`; every step success." + "date": "2026-07-30", + "ref": "codex/review-pr1469-v2", + "head": "0784c150d5c6888bec172bf5c0d4472a66452071", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1469 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-21", - "ref": "claude/prevent-duplicate-testing-yefgxc", - "head": "2262302ad10a4b57fe500e9731be7760db8cefc4", - "scope": "gate-receipts: content-addressed memoisation of lint/typecheck/Vitest in run-heavy.mjs and run-vitest.mjs, plus tests, docs and AGENTS.md rule", - "outcome": "Authored and self-reviewed. Local-only memo; CI reuse disabled outright when CI is set, failures never memoised, build and test:coverage excluded, fail-open on unreadable git state. PR #2216 (draft).", - "checks": "verify:pr-local all 29 steps completed with none failed and none not-reached; full unit suite 694 files / 7622 passed / 4 skipped run for real before any receipt existed; gate-receipts.test.ts 25 cases; reuse, invalidation, revalidation and CI-refusal proven end to end" + "date": "2026-07-30", + "ref": "PR-1445", + "head": "07933e08cff6c7d81345e02c03727032ccf522b6", + "scope": "PR #1445 close duplicate issue", + "outcome": "correctly archives duplicate #140 while preserving #133 as the surviving open conflict-frequency record; no findings", + "checks": "outstanding-issues and docs-link guards pass; docs-only diff" }, { - "date": "2026-08-21", - "ref": "claude/shadow-runbook-operator-answers", - "head": "1fe3c60c94822f61a60e5b61858114274fb8b340", - "scope": "docs(worker): answer two of the four B4 operator unknowns from measured evidence (#2228)", - "outcome": "Backfilled record — PR #2228 merged 2026-08-21 (squash 1fe3c60c94822f61a60e5b61858114274fb8b340) with no review record captured at the time. Diff inspected post hoc: docs/worker-deploy-runbook.md updated with measured Railway variable-change and memory-headroom evidence (read-only lookups only, no mutation), plus a one-line worker/main.ts startup log-message correction (rollback now states set-then-deploy, no behaviour change) and one queued issues:update inbox request. classifyPullRequestFiles clinicalRisk:false; shadow extraction remains default-off everywhere. Approved by content.", - "checks": "PR-reported: npm run docs:check-links passed (2063 references resolve); Prettier clean on both changed files; CI static-pr required checks green (merged). verify:pr-local full and provider-backed gates explicitly not run per PR body (docs/log-message scope). Not independently re-run in this session — docs-truth backfill only." + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "07b184df70e31c55e3637af875af077d2f12f129", + "scope": "PR #1944 review-and-fix (supersedes 2026-08-14)", + "outcome": "Corrected connector file encoding; retained five fixes", + "checks": "byte-verified blobs; audit self-test, targeted classifier probes, JSON parse, ledger and docs guards; Vitest unavailable: npm ci package downloads corrupted" }, { - "date": "2026-08-21", - "ref": "claude/specifiers-dead-exports", - "head": "569c8fe11192f29728bf9e436e52bd10270f4640", - "scope": "src/lib/specifiers-content.ts dead-export removal + outstanding-issues inbox request", - "outcome": "Approved — 9 deleted lines of unreferenced code, no behaviour change; AGENTS.md context-load finding filed as inbox request", - "checks": "typecheck exit 0; test:focused src/lib/specifiers-content.ts 2 files / 60 tests passed; prettier --check clean; verify:pr-local NOT run (worktree removed mid-session, no node_modules)" + "date": "2026-07-14", + "ref": "PR #632 / codex/rag-performance-followups", + "head": "07cac8f4e094bf4b5ccd264feb6420fbd4e35e2b", + "scope": "review-followup", + "outcome": "CodeRabbit's APP 1/5 governance contradiction was confirmed and corrected; Railway's pending DPA and Singapore processor basis are now explicit checklist/status items. The optional cache-miss granularity suggestion was not adopted because it would undo the reviewed single-read cold-miss design or require a broader schema/RPC change.", + "checks": "GitHub review-thread inspection; focused Prettier and `git diff --check` passed. Local production-readiness inspection reported the expected missing provider env; the Railway production-context check had already passed on this workstream." }, { - "date": "2026-08-21", - "ref": "claude/worktree-cleanup-guard", - "head": "a57a3bd52fdf25e5479e1e867cfbb2c7bccc9bb1", - "scope": "scripts/clean-worktree.mjs, scripts/check-base-freshness.mjs", - "outcome": "author-implemented; addressed CodeRabbit finding on PR #2240 (programmatic confirm-gate bypass, moved to assertRemovalConfirmed at both call sites)", - "checks": "self-test: [clean-worktree] Self-test passed successfully. | lint: [gate-receipts] recorded a pass for lint:internal (3933 input files) | typecheck: [gate-receipts] recorded a pass for typecheck:internal (3933 input files) | manual bypass check: runMergedWorktreeReport({remove:true,dryRun:false}) with CLEAN_WORKTREE_CONFIRM unset now refuses before the removal loop instead of deleting" + "date": "2026-07-20", + "ref": "cursor/fix-ui-overlap-duplicate-header-3eab / PR #944", + "head": "08181b8b45cf23d53ff7fb8682fb5f83f4417fb0 (squash on main)", + "scope": "post-merge closeout + branch-cleanup", + "outcome": "Squash-merged to main. Product proof: `gotoHome` pins `/?mode=answer` and waits for exactly one `header#search` before overlap measurement, closing the landing-preference dual-banner flake that failed Production UI then PR required on #936. Remote feature ref already deleted; local tip `418de1b9` is merge-only after squash.", + "checks": "Local before merge: verify:pr-local (2961 unit) + Chromium ui-overlap 12/12. Hosted exact-head and post-merge: Production UI, PR required, Static, Unit green (Build skipped for test-only). No OpenAI/Supabase provider calls." }, { - "date": "2026-08-21", - "ref": "claude/worktree-cleanup-guard", - "head": "d9f67213557eadda67e1cfc983e6948ecf57fe70", - "scope": "scripts/clean-worktree.mjs, scripts/check-base-freshness.mjs, .claude/settings.json", - "outcome": "author-implemented; PR #2240 opened", - "checks": "self-test, lint, typecheck, format(unchanged)" + "date": "2026-07-28", + "ref": "PR #1307 / `claude/rag-019-fallback-guard`", + "head": "0827d65d12f5c25faffdf4ebca036f00fc2512cd", + "scope": "CI babysit + Bugbot", + "outcome": "FIXED. Build failed because `guard-next-build.mjs` hard-failed when GitHub runners reported 7.8 GiB RAM (<10 GiB); prior tip Build succeeded on a larger runner (flake). Softened to warn-and-continue under CI/GITHUB_ACTIONS; local/Docker still hard-fail. PR policy FAIL: missing `## Clinical Governance Preflight` — body updated. Bugbot: zero cursor[bot] findings; reviewThreads=0 (nothing to resolve). merge-tree clean vs origin/main.", + "checks": "Unit: guard-next-build + #019 fallback + extractive-answer-formatting 137/137; prettier/eslint clean on touched files; pr-policy evaluate ok; no provider checks." }, { - "date": "2026-08-21", - "ref": "origin/main", - "head": "02d1bcaab01f933b8af3eefa3a7f085e95aac661", - "scope": "bare PR publication residual latency", - "outcome": "P2 fixed locally", - "checks": "ledger lookup; static policy contract; git diff --check" + "date": "2026-08-16", + "ref": "PR #2007 / codex/guide-search-chrome-20260815", + "head": "0874f3f7faa9539b6db30a58cee360adff4bf7a1", + "scope": "design-system CI repair", + "outcome": "Replaced the retired elevated shadow alias and removed two layout-transition exceptions from Guide chrome", + "checks": "Design-system contract diagnosis from exact-head CI; targeted source verification; exact-head CI re-run" }, { - "date": "2026-08-21", - "ref": "origin/main", - "head": "9066aa74a2ee0746cd6c72fe764025cb35aa00e4", - "scope": "bare PR publication policy", - "outcome": "P2 fixed locally", - "checks": "ledger lookup; instruction static contract; git diff --check" + "date": "2026-08-14", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "08a49b316b505a5ef39d0e7fd514a7ece7993f8f", + "scope": "PR #1951 review-and-fix", + "outcome": "fixed stale pending cancellation after base reconciliation; preserved only valid remaining queue mutations", + "checks": "offline: reproduced docs:check-links failure; docs:check-links pass after fix; check-outstanding-issues; ledger-inbox check; Prettier affected requests; git diff --check" }, { - "date": "2026-08-21", - "ref": "work", - "head": "829dd358d154611141afe3ca7c37c1546db8b88f", - "scope": "on-demand DocumentViewer search desktop and phone behaviour", - "outcome": "No remaining P0-P2 implementation or review issue: current main contains the #2199 on-demand search implementation and its visual-baseline review fix; stale-response, close/reset, focus restoration, desktop hit navigation, and phone composer ownership/hide-on-scroll paths are covered and pass.", - "checks": "npm run test -- --project=jsdom tests/document-viewer-shell.dom.test.tsx: 1 file, 7 tests passed; npm run test:e2e -- tests/ui-smoke.spec.ts --project=chromium --grep search-regressions-or-phone-composer: 2 tests passed" + "date": "2026-07-13", + "ref": "claude/session-guards", + "head": "08a83b87d612fa82157f962b4de7886f15199447", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #583.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-20", - "ref": "claude/docling-shadow-extraction-runbook-942862", - "head": "0ec44604547f4adb3de0cd8fdb96982e2e4f67a1", - "scope": "packet B4 docling shadow extraction Gate F operator runbook (docs only)", - "outcome": "runbook-added;values-verified-from-code-and-gate-b-record;cost-cap-stated-2pct-and-5pct;rollback-triggers-named;fixtures-v2-caveat-explicit;three-unverifiable-values-flagged-and-queued-P3", - "checks": "verify:pr-local:11-gates-pass-0-fail;docs:check-links:2054-refs;docs:check-index:54-roots;docs:check-scripts:524-refs;docs:check-inventory:current;check:outstanding-issues:403-rows;check:ledger-write-discipline:pass;check:branch-review-ledger:pass;prettier:clean" + "date": "2026-07-13", + "ref": "origin/claude/session-guards", + "head": "08a83b87d612fa82157f962b4de7886f15199447", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #583.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-20", - "ref": "claude/docling-shadow-extraction-runbook-942862", - "head": "47deb7c42e398c39c2337b5e1cd6a5529afc9e40", - "scope": "packet B4 docling shadow extraction Gate F operator runbook (docs only) — post-review pass", - "outcome": "two-codex-P2-findings-verified-against-code-and-fixed;search-delay-claim-was-wrong-status-set-at-commit;cohort-widening-needs-reindex-stated;two-coderabbit-nits-on-queued-request-fixed;coderabbit-ledger-entry-finding-rejected-invented-scope", - "checks": "check:outstanding-issues:pass;prettier:clean;code-verified:commit_document_index_generation-sets-status-before-shadow" + "date": "2026-07-30", + "ref": "codex/next-local-task", + "head": "08eb1455bc5ec388e1d5e452b1513e95794232d9", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1501 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-08-20", - "ref": "claude/ledger-reconciliation-docs-truth-b0a2e9", - "head": "4e9e31279d16de7fcf1465b31274c47fe4d9c15a", - "scope": "docs/outstanding-issues.md, docs/outstanding-issues-inbox/**, docs/rag-improvement/COORDINATION.md", - "outcome": "PR #2206 opened: reopens #343 (re-filed as #S19JRT) and #318 (reopened as #1YPV51), reconciles 4 pending ledger requests, corrects stale RAG coordination section 7 state. verify:pr-local, check:branch-review-ledger, check:ledger-write-discipline all green.", - "checks": "verify:pr-local,check:branch-review-ledger,check:ledger-write-discipline,format" + "date": "2026-08-24", + "ref": "cursor/dictionary-control-row-polish-4ee0 (PR #2316)", + "head": "090c5f274e293fa5209cff6fa1565e2e50fa3c6d", + "scope": "Run PR sweep: main sync", + "outcome": "Before: ready-for-review PR behind main (mergeable_state=behind); 2 review threads present, both already resolved (P1 alignment finding fixed in e475f236/5498f030; CodeRabbit letter-chip tap-target finding fixed in 6de85d94) — no unresolved threads, no new actionable comments. Synced via update_pull_request_branch (clean fast-forward merge of origin/main, no conflicts). After: mergeable_state=blocked pending checks then PR required green at 090c5f27 (all 13 constituent jobs incl. Unit coverage, Build, 3x Production UI, Lighthouse, Static PR checks succeeded).", + "checks": "CI (hosted): PR required success at 090c5f27. No local gate run — sync-only, no source files changed by the sweep. No provider-backed checks run." }, { - "date": "2026-08-20", - "ref": "claude/repository-audit-review-o5vtp9", - "head": "3ed19320026b291a9cc94544bddf1589af24f7ff", - "scope": "repo-wide audit", - "outcome": "Findings: 2 P0/P1-critical (shared answer-cache key collision serving one clinical question's answer to another; documents.owner_id ON DELETE SET NULL republishes private documents), plus P1s on medication validation_status hardcoding, extractive review-fallback grounded flip, enrichment-artifact loss, and a topic denylist refusing in-corpus queries. No code changed.", - "checks": "verify:cheap (exit 1: 692/693 test files pass; tests/guard-push.test.ts fails on missing gh CLI); focused vitest repro; offline static review by 6 domain agents" + "date": "2026-07-29", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "0922d7f56624ef84be8abcb2bbc89205027cf9a6", + "scope": "PR #1383 babysit", + "outcome": "BLOCKER CLEARED: merged origin/main; renumbered coverage follow-ups #098/#099 -> #106/#107 (main claimed #098-#105). Before: CONFLICTING/DIRTY, 4 behind; CI green on prior tip; 0 review threads; 0 Bugbot findings. After: mergeable expected; verify:cheap 424 files/4371 passed; test:coverage exit 0; format:changed + check:rag:fixtures pass.", + "checks": "verify:cheap PASS (424 files, 4371 passed | 4 skipped); test:coverage PASS (no threshold errors); format:changed PASS; check:rag:fixtures PASS (36 golden); Bugbot: no findings; no provider-backed checks" }, { - "date": "2026-08-20", - "ref": "claude/settings-portability-b38ea3", - "head": "411ed4c9a92b8d6060d55f696b1fd66f4ede42c5", - "scope": "Move project-specific autoMode allow/soft_deny/environment block from user settings to .claude/settings.json", - "outcome": "Clean — verbatim move, no behaviour change intended; 41 added lines, no removals", - "checks": "tests/claude-code-settings.test.ts + tests/session-start-hook.test.ts (2 files, 100 tests passed); prettier clean; pr-policy risk all false" + "date": "2026-08-18", + "ref": "claude/therapy-mode-consistency-a466b0", + "head": "092633eb7479b21796790a33b0ff7a3a7d4cf05c", + "scope": "prlanded", + "outcome": "Landed correctly. PR #2122 squash-merged as 092633eb; verified by content, not ancestry: two-dot 'git diff --stat 092633eb 7733eb8c' is empty, so nothing was orphaned by the auto-merge race. The pre-merge sync of main into the branch was also proven clean — its tree hash equalled git merge-tree's automatic result exactly, so no hand resolution could have silently reverted content (the failure mode #324 describes). Branch reports 13 ahead of main, which is the squash artifact, not unlanded work. Remote head deleted by GitHub on merge; four inbox requests ride on main awaiting issues:reconcile.", + "checks": "git diff --stat empty; merge-tree hash equality on the pre-merge sync; post-merge verify:cheap green — Test Files 673 passed (673), Tests 7275 passed | 4 skipped (7279), Design-system contract passed (784 production files), hosted migration-role guard passed" }, { - "date": "2026-08-20", - "ref": "claude/task-ledger-review-bee095", - "head": "bd7d109e5228cd50e6e4122dafde9ae2f5cf8e68", - "scope": "docs/outstanding-issues-inbox ledger requests (25 files); no product code", - "outcome": "Self-reviewed handoff: 11 done + 12 update + 2 add requests from a code-verified sweep of open ledger rows on main 1cc0d2987, plus read-only production Supabase evidence. Canonical ledger untouched; reconcile deferred to a serialized branch.", - "checks": "verify:pr-local green (11/11 checks completed, none failed, exit 0); prettier check on the 25 JSON files; ledger inbox check 29 pending/404 applied; write-discipline passed 1cc0d298774e..HEAD" + "date": "2026-08-04", + "ref": "pull/1573", + "head": "093fad2fb471d9e8e58ce5ae18f8eed2c12824da", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed and merged", + "checks": "PASS: eval-canary contract tests 6/6; RAG lab offline evidence; GitHub Actions pin check; hosted CI, SAST, Secret Scan, container and PR required. No live eval." }, { - "date": "2026-08-20", - "ref": "codex/chat-disable-user-document-upload-disable-user-document-upload", - "head": "2abbe0068560086497b0688970ec6ad6ba957aba", - "scope": "user document upload removal design sweep", - "outcome": "No upload-removal design regression found; relevant upload and responsive checks passed. Full UI gate remained partial with six out-of-scope or unconfirmed failures.", - "checks": "workflow:design-sweep PASS; manual 320/390/639/768/1440/1920 PASS; focused upload Chromium 3/3 PASS; verify:ui 468 passed, 6 failed, 2 skipped" + "date": "2026-07-30", + "ref": "PR-1451", + "head": "094821eafb4caf86f3086324f05087d0fe09c3b9", + "scope": "PR #1451 reconciliation vs origin/main", + "outcome": "PASS: prior product review unchanged; PR #1470 issue row retained", + "checks": "outstanding-issues guard 145 rows passed; branch-review-ledger guard 136 live passed; Prettier passed; git diff --check" }, { - "date": "2026-08-20", - "ref": "codex/image-auto-retry", - "head": "1fb62c61774c109d4f806b04a70f9400f35cd1f6", - "scope": "signed image lazy loading and automatic recovery", - "outcome": "P2 findings: classify automatic retries by failure status and preserve native lazy loading for cache-prefetched images before PR.", - "checks": "Working-tree diff and call-site inspection; focused tests passed (tests/signed-image.test.ts + tests/signed-image.dom.test.tsx: 16 passed); typecheck, lint, browser, and provider-backed checks not run." + "date": "2026-08-07", + "ref": "cursor/remove-specifiers-back-arrow-f1c4", + "head": "095791235d58a6309b21b139911a1aad9fe9086b", + "scope": "specifiers-search-results-breadcrumb", + "outcome": "removed lone ← Specifiers crumb from search results; deep pages unchanged", + "checks": "format,typecheck,lint,ensure+phone-spot-check" }, { - "date": "2026-08-20", - "ref": "PR #2198 (claude/phase-4-index-restoration-b0f4ea)", - "head": "ccc3572f3d069751d3850046ea1e6ea0c2ed8c7a", - "scope": "migration-history alignment RPC: 20260820120000 migration_history_versions(), check-migration-history-alignment.ts transport, schema.sql mirror, drift manifest, new tests, drift/forensics/board docs", - "outcome": "Authored and self-reviewed. Root cause proven from live-drift run 32378402265 (compare step success, alignment step 406 PGRST106). Fix is a service-role-only security-definer RPC; Data-API exposure and a management-API token were considered and rejected in forensics. NOT DEPLOYED: db push from this branch in an approved window must precede merge (D4 off), else check:drift reports a missing function. Staging needs the same migration by the Phase 2 method.", - "checks": "check:migration-role PASS; drift:manifest replay PASS (58s, 94 functions, service_role-only acl); vitest drift-detection+migration-history-guards+search-health-index-coverage+migration-history-alignment 40/40 PASS; format whole-tree exit 0; verify:pr-local 12 checks PASS then typecheck/test BLOCKED by DATABASE_HEAVY_RUN_ADMISSION_BUSY from other worktrees - delegated to CI on PR #2198; no provider-backed gate run" + "date": "2026-08-23", + "ref": "2317", + "head": "095bcbc5bcc5e2859dbb15d20526189b32633454", + "scope": "tools catalogue cards and CI failure", + "outcome": "fixed", + "checks": "design-system-contract,design-system-adoption,format-changed,vitest-focused,merge-tree" }, { - "date": "2026-08-20", - "ref": "PR #2199", - "head": "175c641321e58089d452ed76718972b8d7f705ca", - "scope": "PR #2199 on-demand document search — Codex P2 review-comment resolution", - "outcome": "Fixed: the document-viewer visual-baseline target still declared .document-viewer-composer as a mask, but the composer is no longer rendered until Search document is pressed, and assertMaskSelectors fails loudly on a mask matching zero nodes — which classify-visual-baseline-outcome.mjs scores as a NON-drift failure, turning the advisory job hard red on every main push. Mask reduced to the sticky header, with the reasoning recorded in the target comment. Reviewed the rest of the diff: stale-response protection holds (closeDocumentSearch clears sourceSearch, whose effect cleanup aborts the in-flight controller before the reset run), focus restoration and Escape are covered by the Chromium journeys.", - "checks": "npm run verify:pr-local: check:runtime, check:installed-lock-parity, format:changed, lint, typecheck all passed; npm run test 692/693 files, 7592 passed, 4 skipped, 1 failed — tests/guard-push.test.ts 'inFlightCiGuard formats actionable blocked message', byte-identical to origin/main and failing only because gh is absent in this container so inFlightCiGuard fails open before the injected runFetcher is used; CI Unit coverage passed on this head. Browser proof delegated to CI Production UI: local Playwright pins chromium 1234, image ships 1194 (#255)." + "date": "2026-08-07", + "ref": "cursor/document-cover-thumbnails-b74c (PR #1661)", + "head": "096ba3138fe4dda182d98cc2f9c4e0fe9a09132b", + "scope": "prlanded", + "outcome": "MERGED; squash tip empty vs branch tip 04934971711f2f7d346bbe6e0b9c0c8cd9776e43; first-page PDF cover thumbnails on document search cards", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-08-20", - "ref": "PR #2201", - "head": "44d3cbb41aae5f1b7707d529347ee12dcc0cc44e", - "scope": "PR #2201 drift alignment window record — Codex P1 review-comment resolution", - "outcome": "Fixed: the status board's active 'Next dispatches' line, the D4 owner-decision entry, the 2026-08-19 'Resolved' paragraph and the pre-window forensics section still instructed coordinators that D4 is OFF and each migration needs its own db push, contradicting the same PR's finding that D4 is unresolved. All four now say to treat a merge as a production deployment until the dashboard toggle is re-verified. Docs only; no code, migration or fixture touched.", - "checks": "npm run verify:pr-local (docs scope): check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index/inventory/scripts/links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline — all completed, none failed" + "date": "2026-08-07", + "ref": "cursor/viewer-phase0-gesture-a11y-1db8 (PR #1660)", + "head": "097dfd245f798f8105eeb6c1cf4fc077f969496f", + "scope": "prlanded", + "outcome": "MERGED; squash tip empty vs branch tip 810cfc9b4a1c476a0dcc995bffb00d7329a85686; Phase 0 gesture INP, preview a11y, image decode", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-08-19", - "ref": "claude/docling-worker-shadow-mode-b6fa17", - "head": "7a30ec3f8b17b97aeb7f17efa003f25c3ea6a61c", - "scope": "Packet B4 docling worker shadow mode (PR #2170): worker/shadow-extraction.ts, worker/python/shadow_docling_extract.py, worker/main.ts post-commit shadow call, worker/prerequisites.ts, worker/validate-runtime.ts, src/lib/env.ts B4 envs, Dockerfile.worker docling venv + models, railway.worker.json, docs (HANDOVER S7 row, worker runbook, ingestion state machine)", - "outcome": "ingestion-worker-reviewer: approve-with-nits (docling_version regex end-anchored in this head; post-commit reclaim window disclosed in runbook). Shadow runs only after commitDocumentIndexGeneration, aggregate numbers-only record via existing metadata merge, no chunk/embedding/index/table-fact/document_index_quality writes, fail-open, bounded 120s/40 pages/1 process, rollback WORKER_DOCUMENT_EXTRACTOR_MODE=legacy; Gate B caveats carried in the PR body", - "checks": "verify:pr-local heavy plan exit 0 (Test Files 673 passed | 2 skipped, Tests 7292 passed | 29 skipped, lint+typecheck+build green); focused vitest 9 files 117/117; python unittest 7/7; tsc exit 0; check:production-readiness schema green (only absent local secrets fail); pr-policy offline evaluate ok:true; Docker build not run locally (CI contract)" + "date": "2026-07-30", + "ref": "PR #1474", + "head": "098186866932394d2cc17983e566ae6c44b063b4", + "scope": "PR #1474 full diff vs origin/main", + "outcome": "approved", + "checks": "verify:cheap; eval:rag:offline; live canary 30578169116 -> 30579534353" }, { - "date": "2026-08-19", - "ref": "claude/lightweight-mode-homes", - "head": "d2d7f3d361f89fe45791b5b79074804d718e4b9f", - "scope": "PR #2157 lightweight mode homes consolidation", - "outcome": "Reviewed and fixed: PR policy body was empty, blocking merge. Restored Documents mode's dedicated workspace after another automated pass folded it into the generic shared home and deleted real functionality (recent documents, browse library, open-a-source-PDF) with no equivalent replacement -- confirmed live via browser and Playwright, and confirmed the account owner never actually approved that loss. Reverted a redirect-on-empty-query regression on differentials/formulation/specifiers search routes that two separate automated passes introduced, both breaking a pinned Playwright phone-scroll spec that neither pass's Vitest-only verification could catch. Fixed stale docs/comments (Therapy devOnly rationale, route tables, site-map descriptions). Full unit suite green (683 files), targeted Playwright verification on Chromium green for the restored Documents spec.", - "checks": "npm run test (683 files, full suite green); 187 targeted vitest re-runs across every touched file; npx tsc typecheck clean; npx eslint clean; npx prettier --check clean; Playwright tests/ui-smoke.spec.ts Documents @critical spec run live against dev server -- chromium passes end to end, webkit fails one narrow cross-browser focus-restoration assertion (non-functional)" + "date": "2026-08-13", + "ref": "claude/issues-reconcile", + "head": "099273b25ab823ca502bfbfcf28a3da6dff33ac3", + "scope": "reconcile 19 queued inbox requests into the canonical outstanding-issues ledger", + "outcome": "PR #1931 opened; docs-only. Run from a fresh branch off merged main 63526ee, the only context allowed to edit the canonical ledger. Applied 19 requests with 3 cancellation decisions; 16 belong to other authors, 3 are mine: #170 closed (filter rollout delivered, verified now in the archive table), #309 updated and kept OPEN as partially delivered (PR F shipped the >20/>3-groups tier; the 6-20 band that opened the row is unimplemented - verified still in the open table), plus a new row recording that check:ledger-write-discipline reports a pass on an uncommitted tree", + "checks": "check:outstanding-issues passed: 0 pending / 19 applied, 314 rows 115 open 199 archived, no ids deleted from base 63526ee5305e; check:ledger-write-discipline passed for 63526ee5305e..HEAD run after committing; table placement of #170 and #309 verified directly rather than inferred; npm run format run and committed" }, { - "date": "2026-08-19", - "ref": "claude/migration-history-drift-allowlist-37444c", - "head": "aceb66fc936821397175aead919a47b54ee455ad", - "scope": "Phase 6.2 (#Q5JHBJ): six validation guard migrations 20260819110000-110500 + fifteen migration_history allowlist entries; guard test predicate refinement; forensics/board/drift-doc; production+staging applied in the authorised window; PR #2185", - "outcome": "Drift zero on production (live-drift 32251326536 compare step: No unexpected schema drift, all 20 history rows allowed) and staging; chain replay 210/210 CHAIN == MANIFEST; seven mutants raise; production dry-runs green and a mutant fails there; job red only on the Phase 0 Align-migration-history step (PGRST106) queued as its own P2", - "checks": "verify:pr-local exit 0 (682 files / 7398 tests passed, failed none); vitest schema set 113/113; check:migration-role; check:drift --self-test; local whole-chain Docker replay + compareDriftSnapshots; production guard dry-runs + mutant; staging md5-matched Phase 2 apply + offline drift comparison" + "date": "2026-07-30", + "ref": "codex/close-issue-105", + "head": "09950abc8cf2d23455a6cbab3521bdec921ef272", + "scope": "archive issue 105 after driven browser proof", + "outcome": "approved: specific lazy fallback observed in driven desktop and phone Chromium", + "checks": "browser chunk-delay proof; check:outstanding-issues; prettier check; diff check" }, { - "date": "2026-08-19", - "ref": "claude/rag-d6-reconcile-b4", - "head": "175f49acf06e0ece2cb8e8a29961c7b6979df3c7", - "scope": "issues:reconcile post-B4 (2 requests; #9DGA6R closed) + HANDOVER S7 merged row + pending fixtures.v2 request (docs-only)", - "outcome": "reconcile clean; 1 pending (new request, applies next pass); register refreshed", - "checks": "check:outstanding-issues; check:ledger-write-discipline passed 5437c309f27f..HEAD; verify:pr-local docs scope" + "date": "2026-07-13", + "ref": "claude/audit-ci-browser-gate-2026-07-13", + "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-19", - "ref": "claude/settings-developer-button-8dd78d", - "head": "7f784de5e22a60b155677e2d51bb57538395fb68", - "scope": "src/proxy.ts, mockups gate/layouts, settings-dialog, supabase auth client, developer-area gate+access", - "outcome": "reviewed-by-author, PR #2176 opened", - "checks": "lint,typecheck,test(full,7384 passed/2 pre-existing python-env failures),build(clean .next),check:bundle-budget,check:rag:fixtures,check:medication-interactions,check:medication-lexicon-report,check:runtime,check:installed-lock-parity" + "date": "2026-07-13", + "ref": "origin/claude/audit-ci-browser-gate-2026-07-13", + "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-19", - "ref": "gemini/safe-workflow-guards-and-motion-contracts", - "head": "5ad1f0d687bb4999c25ae96194f467c542569fac", - "scope": "release-readiness", - "outcome": "MERGE_READY", - "checks": "audit:final-merge, check:design-system-contract, check:outstanding-issues, check:branch-review-ledger, check:ledger-write-discipline, tsc, Vitest (140 tests)" + "date": "2026-07-14", + "ref": "claude/audit-ci-browser-gate-2026-07-13", + "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`; worktree/activity scan." }, { - "date": "2026-08-18", - "ref": "2129", - "head": "eb9cb7481674c436464b0a81b560c3c79cc93501", - "scope": "RAG eval scorer: readability metric split (fragmentation vs v19-derived length bound), eval_config_version v1->v2, HANDOVER S3 row", - "outcome": "Approved — evaluation scorer only; no retrieval/ranking/selection/prompt change; RAG impact declared as no behaviour change; pr-policy evaluatePullRequestPolicy ok:true with 7/7 governance items", - "checks": "verify:pr-local heavy scope failed:(none) not-reached:(none) incl lint+typecheck+full unit suite+build; eval:rag:offline 26 suites/623 tests; check:rag:fixtures 36 golden/26 suites; eval:rag:adversarial:offline 24 cases/8 categories/6 canaries + 25 tests, 3 KNOWN_DIVERGENCES still pinned; vitest tests/rag-eval-cases.test.ts 32 passed (27+5 new, mutation-checked)" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "09dbd2dcc5126e4ae7d6f9e99e7325853047f749", + "scope": "Bugbot P2 follow-up: import-graph lock for cross-mode differentials", + "outcome": "FIXED. Added a client-performance-boundaries source assertion that `cross-mode-differentials.ts` stays on the trimmed JSON index (no value-import of `@/lib/differentials` / snapshot / fixtures) and that `cross-mode-links.tsx` keeps the dynamic import. Updated the stale 1.2 MB comment. Residual: dual projection logic still lives in the build script and `differentials.ts` (caught by the existing deep-equal test).", + "checks": "Focused `tests/client-performance-boundaries.test.ts` PASS (7/7); no provider-backed checks." }, { - "date": "2026-08-18", - "ref": "claude/advisory-tools-spec-repair (PR #2115)", - "head": "5664a4f6a861060693a8c0611ce5d8bfba487fe7", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Synced behind branch to origin/main via GitHub update-branch (clean fast-mergeable, no conflicts); no code changes pushed. Pre-sync head d553b2c4 had PR required failing on Unit coverage; post-sync head 5664a4f6 reproduced the same Unit coverage failure (all 671 test files / 7173 tests pass; job fails on an unhandled post-teardown ReferenceError: document is not defined from an uncleared window.setTimeout in src/components/caring-contacts/mockups/caring-contact-shell-frame.tsx:92, triggered while tests/caring-contact-product-redesign.dom.test.tsx runs) -- confirmed unrelated to this PR's 6-line diff in tests/ui-tools-search-mode-mockup.spec.ts, left unfixed as out-of-scope and flagged for a human. 0 unresolved review threads at both heads, none to action.", - "checks": "GitHub-hosted CI only (no local reproduction attempted): Static PR checks pass, Safety and config checks pass, Production UI critical pass, PR policy/PR mergeability pass, Gitleaks/Semgrep/GitGuardian pass, Advisory UI pass (non-required); Unit coverage fails (pre-existing, diff-unrelated); PR required aggregate still failing as a result. No provider-backed checks run." + "date": "2026-08-26", + "ref": "codex/chat-image-preview-reliability-image-preview-reliability", + "head": "09ff8ca36489411f26408d6b557888459151bb4a", + "scope": "authenticated document cover selection, retry lifecycle, optional preview failure, and source evidence preservation", + "outcome": "All substantiated P2 findings fixed; no remaining P0-P2 findings", + "checks": "lint pass; typecheck pass; focused preview 79/79; production build pass; full suite 10489 pass with six unrelated Windows Claude-cloud failures after the one preview failure was fixed; offline fixture contracts pass; snapshot and medication checks pass" }, { - "date": "2026-08-18", - "ref": "claude/bundle-budget-production-baseline", - "head": "f2cb4ec2ce11bb29444c9aca3c0572c603d48e5e", - "scope": "bundle-budget.json production baseline refresh + measurement evidence doc + outstanding-issues request", - "outcome": "Approved — investigated before refreshing: main's +8.03% is diffuse feature growth across 52 of 101 routes with no regression signature and an unchanged lockfile; production baseline moved to the measured 1518033 bytes, route/mockups budgets and tolerances left untouched", - "checks": "two full builds (main 9d832452d and baseline ca788d41) with .next removed each time; baseline reproduced to within 32 bytes of the recorded value; check:bundle-budget passes at the new baseline with all five route budgets and mockups within tolerance; tests/bundle-budget.test.ts 33 passed; outstanding-issues + ledger-write-discipline + docs link guards passed; format clean. Full unit suite, lint and typecheck not run: the diff is one JSON baseline value plus documentation and an inbox request, with no source change and no plausible compile or behaviour path" + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "0a074d9b2572ee06f663d8bbee3b50fb6d4fbd9a", + "scope": "PR #1482 final current-main ledger-only review", + "outcome": "No findings; current main preserved and PR diff is ledger-only", + "checks": "three-dot diff two docs files; issue and review ledger guards PASS; four resolutions verified against merged main" }, { - "date": "2026-08-18", - "ref": "claude/ci-main-verification-blindspot", - "head": "63fb976bf9862160a04b9b784cbdec79e4f3f11f", - "scope": "CI concurrency: exempt base-branch pushes from cancel-in-progress", - "outcome": "shipped", - "checks": "test:ci-workflows 326 passed; ci-cache-safety 50 passed; check:github-actions passed; check:ci-scope passed; prettier clean" + "date": "2026-07-27", + "ref": "PR #1262 / `perform-audit-system-remediation`", + "head": "0a1fd57b2b6a", + "scope": "Bugbot + merge-tree review", + "outcome": "CLOSE or REBUILD (narrow cherry-pick). Only 3 merge-tree conflicts but tip unsafe: GitGuardian FAIL, parallel `verify:cheap` rewrite drops installed-lock-parity, zero-valued preflight limits skipped. Salvage candidates: therapy-compass `@layer`, PDF extractor code 137, visual maxDiffPixelRatio. ISSUE-01 RAG claim not in commits.", + "checks": "merge-tree; tip file inspect; CodeRabbit/Codex thread validation; no provider checks." }, { - "date": "2026-08-18", - "ref": "claude/clinical-guide-footer-search-4l54hp", - "head": "7b2aee6aeaee99c8ab56112af1f3d5dda34d3cb8", - "scope": "prlanded", - "outcome": "approved", - "checks": "squash 7b2aee6 content diff vs branch tip ea132c1 empty - nothing orphaned. CI run 32181431013 all green including Production UI 1 2 3 and critical, Unit coverage, Lighthouse budget, PR required. Browser contract in guide-centre-chrome.spec.ts executed and passed for the first time" + "date": "2026-08-27", + "ref": "gemini/engineering-maintenance-and-ledger-reconciliation (PR #2418)", + "head": "0a370df3cb346a441124ca67938f4a4c71d4e980", + "scope": "Run PR sweep: CI/drift diagnosis + review-thread sweep on ledger-reconciliation PR", + "outcome": "No fix pushed. mergeable_state=dirty is real: git merge origin/main conflicts only in generated data/outstanding-issues-snapshot.json and data/repo-awareness-snapshot.json, both cleanly regenerable via npm run snapshot:issues / npm run snapshot:repo-awareness. Regenerated them, but the merge commit then fails the check-ledger-write-discipline.mjs pre-push guard: origin/main (PR #2417) queued 2 new pending ledger-inbox requests after this PR's branch point (474922a3-...json -> issue #TBW7BR, 5e8ec6a9-...json -> issue #BR2217), and this PR's merge commit would touch docs/outstanding-issues-inbox/applied/ (its own 33-item reconciliation) while leaving those 2 newer items unreconciled - flagged as a partial-batch reconciliation. Deciding whether #TBW7BR/#BR2217 should be marked done is outside this PR's declared 33-item scope and belongs to a dedicated npm run issues:reconcile operation, not an ad hoc merge fix, so per sweep policy for ambiguous reconciliation-content conflicts the merge was aborted (git reset --hard back to the original PR tip 0a370df3) rather than pushed with SKIP_LEDGER_WRITE_GUARD=1. Branch left exactly as found (0a370df3, matches origin). Review threads: get_review_comments returned 0 threads; the 4 PR comments are all bot rate-limit notices (Codex usage limit, CodeRabbit review limit, Cursor Bugbot usage limit, Supabase preview ignored-no-supabase-changes) with nothing actionable to reply to or resolve. Real CI: only PR Policy (pass) and PR mergeability (fail, caused by the same drift above) have run for this head; the main ci.yml required-checks aggregate (changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify/pr-required) has not triggered yet on this SHA, so there is no other CI failure to diagnose. No merge to main, no force-push, no auto-merge toggle, no close, no provider-backed gate run.", + "checks": "node scripts/ledger-inbox.mjs check (0 pending / 33 applied at PR head, 2 pending after main merge before abort); npm run check:outstanding-issues-snapshot (83 open, 0 pending at PR head); node scripts/check-outstanding-issues.mjs (512 rows, 83 open, 429 archived, passed on merged tree before abort); node scripts/check-ledger-write-discipline.mjs --base 32652318 --head = FAILED (partial reconciliation, 2 items left pending) -> merge aborted; npx tsc -p tsconfig.typecheck.json --noEmit = 0 errors (on merged tree, discarded); npm run docs:check-index/check-inventory/check-scripts/check-links = all passed (on merged tree, discarded); npm run format = no changes (on merged tree, discarded); git merge-tree --write-tree origin/main 0a370df3 = conflicts confined to data/outstanding-issues-snapshot.json and data/repo-awareness-snapshot.json only" }, { - "date": "2026-08-18", - "ref": "claude/clinical-guide-footer-search-4l54hp", - "head": "8493f10a6489ebaa8ef1cabcd23b6c5cd0913b64", - "scope": "Guide Centre footer composer shared phone dock chrome", - "outcome": "approved", - "checks": "verify:pr-local all green; verify:phone-chrome static and unit stages green; focused-browser stage blocked by Playwright revision drift" + "date": "2026-08-08", + "ref": "cursor/forms-results-bar-documents-style-13dc", + "head": "0a3a5ab8e6d3e1dfd225cb4c6dc9f728344be794", + "scope": "forms-results-bar documents-filter-style", + "outcome": "PASS: Forms ribbon uses ResultFilterTrigger + coming-soon Sheet; ResultTabs removed; ui-tools forms case 1 passed; band DOM 46 passed; lint+typecheck green", + "checks": "lint,typecheck,search-results-header-band.dom,ui-tools:forms-filter" }, { - "date": "2026-08-18", - "ref": "claude/clinical-guide-footer-search-4l54hp", - "head": "a1f272a75d0ba878106687738cdf988884f89331", - "scope": "Guide tour action rendered as a dock addon pill on phones", - "outcome": "approved", - "checks": "verify:pr-local all stages green on the merged base; 673 test files, 7283 tests" + "date": "2026-07-30", + "ref": "PR-1490", + "head": "0a44df55532fcea3cf3b8cad28526ff8805d803b", + "scope": "PR #1490 consolidated session follow-ups", + "outcome": "reviewed; consolidated accurate provider-token, preserved-worktree, install-parity, CodeRabbit, hook, and physical-device findings; resolved concurrent documentation conflict without lost rows", + "checks": "check:outstanding-issues pass; check:branch-review-ledger pass; docs:check-links pass; git diff --check pass" }, { - "date": "2026-08-18", - "ref": "claude/clinical-guide-footer-search-4l54hp (PR #2137)", - "head": "0687686d5977127e0236a7ef4ad18c8ccf333e98", - "scope": "Run PR sweep: CI fix", - "outcome": "Fixed real merge conflict blocking pull_request CI (mergeable_state dirty). Merged origin/main; sole conflict in docs/search-chrome-behaviour.md table, resolved keeping both sides content. Pushed with SKIP_LEDGER_WRITE_GUARD=1 (verified false positive: merge introduced zero independent ledger changes, mainMergeBase check passed directly). No unresolved review threads. CI now runs post-push; long jobs still in progress at last check, not babysat to completion.", - "checks": "git merge-tree clean; prettier --check . passed; check-ledger-write-discipline.mjs passed against mainMergeBase; PR mergeability/PR policy/Semgrep/GitGuardian/Change scope succeeded post-push" + "date": "2026-08-15", + "ref": "PR #1968 / claude/ledger-reconcile-batch-4", + "head": "0a49842ccf12ea4508533b43bb0b7d7a2086eac6", + "scope": "unblocking PR review-and-fix", + "outcome": "Synced current main and reconciled the base inbox; queued the verified #316 headline correction for the next serialized transaction.", + "checks": "ledger inbox dry-run/check; outstanding-issues and ledger write-discipline checks; diff --check (npm setup blocked by sandbox cache)" }, { - "date": "2026-08-18", - "ref": "claude/clinical-kb-prod-migration-db4aab", - "head": "213226eb43f0b9b4dd096b12da3247458212493e", - "scope": "docs/audit/live-drift-forensics-2026-08.md §3.7 — production window pre-flight found the five 20260818 migrations already applied by the Supabase GitHub integration; db push not run; read-only verification recorded", - "outcome": "docs-only; no production writes; findings recorded for coordinator (integration auto-applies merged migrations)", - "checks": "verify:pr-local docs route (11 checks, failed: none); supabase migration list; four read-only db queries; live-drift run 32131517648 read" + "date": "2026-08-04", + "ref": "pull/1579", + "head": "0a7cca783a9f96846c6647a74e2a9619e5ae7ac4", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed and merged", + "checks": "PASS: focused Settings DOM suite 8/8; hosted build, coverage, Production UI shards, critical UI, Lighthouse, scans and PR required." + }, + { + "date": "2026-08-08", + "ref": "cursor/safety-plan-phone-safe-area-624a (PR #1711)", + "head": "0aa81baf1260991f92dd8646bd9cd52b4077a39b", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY/ledger-only → merged origin/main via ledger driver; CI re-running", + "checks": "ledger merge driver; no provider-backed checks" }, { - "date": "2026-08-18", - "ref": "claude/cls-regression-correction", - "head": "ce131d748fe85f60cc52a5711c4a41af2d1168fc", - "scope": "docs/outstanding-issues-inbox/51e687a9-406a-4f2e-bb70-f6ba9aebef53.json", - "outcome": "created PR #2078: cancels the mistaken CLS-regression request from #2059 after local Lighthouse reproduction against origin/main showed every route/strategy matching baseline exactly, including mobile-root CLS 0.013/0.013 -- no code regression, CI failures were environmental noise", - "checks": "node scripts/ledger-inbox.mjs cancel (validated merge-safe); local Lighthouse repro: CHROME_PATH=/opt/pw-browsers/chromium npm run verify:lighthouse -- --keep, all 10 route/strategy cells matched baseline exactly" + "date": "2026-07-25", + "ref": "implement-audit-recommendations-fix (PR #1141)", + "head": "0aaf441775786e5def408a2eda551d9b5d95542d", + "scope": "Open-PR maintenance: review fix + drift", + "outcome": "Before: 24 commits behind and 1 unresolved P2 thread; nested result content retained safe-area padding after the shared dock hid. After: current main is merged and child content uses fixed small phone gaps so the shared zero hidden reserve reaches the viewport edge.", + "checks": "focused Vitest pass (7/7); Prettier check pass; `git diff --check` pass; no provider-backed checks run." }, { - "date": "2026-08-18", - "ref": "claude/code-setup-review-a95519", - "head": "bfc0e1a0aeff5f6fc2cf094cad5a61dd8d8525a4", - "scope": "Follow-up to PR #2113: five outstanding-issues inbox requests, plus a reporting-only correction in clean-worktree.mjs", - "outcome": "shipped as PR #2117. Five follow-ups captured that #2113 could not close, each blocked on something outside the repo: deferred worktree cleanup, elevated fsutil devdrv check, PreCompact context-injection confirmation, session-start.sh confirmation on a web container, and a P1 that PR churn has exhausted both review bots so #2113 landed with zero automated review. Separately fixed a false reassurance shipped in #2113: every --squashed candidate printed '0 commits ahead' while genuinely 11/2/1 commits ahead of origin/main, because a squash-merged branch keeps its commits forever and only the UNLANDED count is zero; the line now reports both numbers. Corrected the comment calling the ahead check belt-and-braces, which is true in ancestor mode but tautological in squash mode since gitAheadUnlandedCount returns 0 for any branch the squash test just accepted. Raw count is reporting-only and never gates. Two landed worktrees removed manually (fleet 50 to 48, D: 51 to 48 percent full); seven left in place, one in active use, two not fully corroborated, four on C: belonging to other agents' sessions", - "checks": "clean-worktree --self-test passed; --merged --squashed run against the live 48-worktree fleet before and after with an identical 9-candidate set and worktree count unchanged, --remove not run; check:outstanding-issues passed (361 rows, 105 open, collision-free); check:ledger-write-discipline passed 5ae2bb6ec703..HEAD; prettier --check and format:check clean; eslint clean; pr-policy classifier all four risk flags false; NOT run: full unit suite (diff is five JSON request files plus a reporting-only string in a maintenance script no product code imports), verify:ui, and all provider-backed gates" + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "0ab3597fecd1fd7af669c766bf4b66fa725c9936", + "scope": "CI re-trigger after Docker RAM allow", + "outcome": "FIXED app-image path: Dockerfile sets DOCKER_BUILD=1; guard warns under CI/GITHUB_ACTIONS/DOCKER_BUILD/ALLOW_LOW_MEMORY_NEXT_BUILD. Hosted Build/Unit/Static/Advisory/Production UI green on prior tip; app-image failed only on RAM hard-stop before Docker opt-in.", + "checks": "Awaiting exact-head CI after synchronize; no provider checks." }, { - "date": "2026-08-18", - "ref": "claude/code-setup-review-a95519", - "head": "dd6dddc8e2f8ced52516405e3ffe46f16ff540bb", - "scope": "Claude Code environment: hook exec bit + bash registration + contract test, settings.json permissions block, base-freshness stdout hook mode + fetch timeout, clean-worktree --merged/--squashed with confidence line, PreCompact + push-format hooks, AGENTS.md hook section, newtask Dev Drive pinning, Windows test fix", - "outcome": "shipped as PR #2113; session-start.sh was mode 100644 and bare-path registered so it could never run on the Linux web containers it exists for, invisible locally under core.fileMode=false on the ReFS Dev Drive; fixed via index mode + bash registration + contract test. clean-worktree ancestor detection alone finds 2 of 49 because the repo squash-merges, so --squashed (whole-branch patch-id) was added, finding 9, with a confidence line separating proven from inferred after one candidate showed 2 of 21 files still differing. runWorktreeCleanup byte-identical (1969 bytes both sides) so verify:preflight unaffected. No worktree removed: re-verification immediately before deletion showed two candidates had gained 2 unmerged commits since the scan and a third had been switched branches by a live session. A raw NUL byte in clean-worktree.mjs was replaced with the escape after it made a git-diff-pipe-grep verification vacuous. tests/session-start-hook.test.ts:142 failed on every Windows run and sits inside verify:pr-local's last step, so the PR gate was red locally for every diff; fixed by comparing the path tail", - "checks": "npm run test: 668 files passed / 7129 tests passed / 0 failed, real exit 0 (captured to file, not piped); verify:pr-local completed 23 checks incl lint + typecheck; new hook contract tests 6 passed; clean-worktree --self-test passed; --merged and --merged --squashed run against the live 49-worktree fleet with count unchanged and --remove never run; prettier --check . clean; eslint clean; pr-policy classifier clinicalRisk/operationalRisk/ragRanking/ui all false; NOT run: verify:ui (no UI surface), verify:release and all provider-backed gates, check:production-readiness" + "date": "2026-08-26", + "ref": "PR #2385", + "head": "0abca58a554adeba03299363d436c4fed843618e", + "scope": "privacy trust brief changed scope", + "outcome": "No unresolved findings; named design-value review comment fixed", + "checks": "design-system contract passed; privacy DOM 7/7 passed; privacy Playwright 5/5 passed with production build and TypeScript; full unit suite 10556 passed with 6 unrelated Windows absolute-path failures" }, { - "date": "2026-08-18", - "ref": "claude/database-drift-remeasure-phase2-7c4215", - "head": "7bde7002369b40828694019951994b596ee3ef8c", - "scope": "Phase 2 re-measure: staging migration parity + check:drift against current main (#056)", - "outcome": "Applied the single missing migration 20260818090000 to staging by the Phase 2 execute_sql+explicit-history-row method (md5 839bed0b741cb75b79f6eb0c46ed0a50, byte-identical; staging now 195 rows, latest 20260818090000, zero statements IS NULL, empty two-way diff, documents/chunks still 0). check:drift against staging with the current manifest exits 1 with the SAME 19 findings as Phase 2 - same categories, keys and hash pairs. Two new non-finding observations: snapshot v2 migration_history probe reports ok with zero rows (0 findings), and five production-scoped migration_history allowlist entries report stale against staging, so --prune-stale must not be run there. schema_drift_snapshot itself is absent from the mismatches, confirming PR #2058's migration and its schema.sql mirror agree. Measurement only: no drift fixed, no vault secret seeded, production sjrfecxgysukkwxsowpy never a target. Docs+inbox only; #056 update queued, #316 untouched.", - "checks": "verify:pr-local (11/11 completed, none failed); docs:check-links 1881 refs; format repo-wide + prettier --check clean; ledger inbox check 2 pending/251 applied; outstanding-issues guard 361 rows; ledger write discipline passed" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A rescue review)", + "head": "0abf3c9", + "scope": "(recorded with Outcome)", + "outcome": "clinical-governance-reviewer on the S3 escalation rescue: APPROVE-WITH-NITS, no P0/P1. P2 = the mandated live canary pair itself (process gate, declared in the PR body; offline-green + review-approved proven insufficient for this surface 2026-07-20). P3s: multi-drug escalation-query recall edge (titled drug + untitled drug — fast-path return can skip the vector leg; recall limitation, not misattribution, mirrors the pre-existing allowlisted-class tradeoff); reviewer probe files must stay uncommitted (relocated to scratchpad). All six clinical concerns verified safe: wrong-document impossible (alias phrases must appear in the query; per-document alias groups, no cross-drug conflation), conservative availability (S3 purely additive via keyed-union merge; sibling retention test-pinned), live expansion acceptable (title-named correct-entity SOP in every firing shape), fail-closed double layer (adversarial short-circuit precedes the predicate; injection-forge case intent=protocol cannot fire — executed), governance metadata unbypassed (same attachDocumentRankingMetadata + status=indexed + access-scope filters), no PHI/provider/schema surface.", + "checks": "Reviewer checks: escalation-rescue suite 8/8, injection-forge intent derivation executed, static trace of the full S3 chain. Live canary pair = the trust gate, dispatched post-merge." }, { - "date": "2026-08-18", - "ref": "claude/db-phase3-staging-proof-bodies", - "head": "57385d00559ad6d9ec072b01cf97342cb9a2d1cf", - "scope": "db remediation Phase 3 follow-up: staging proof (110000/111000/112000 applied to ikoiolksxqxfxgiyqpnu, md5-verified) + 20260818113000 forward-codify three hybrid RPC bodies verbatim from schema.sql; forensics 3.5; #316 combined update (PR #2111, follows merged #2106)", - "outcome": "Reviewed and handed off; staging drift residual after apply = trgm index + three chain-stale bodies, the latter fixed by 20260818113000 (staging apply pending owner permission); no canonical body changed; production window list in PR body", - "checks": "vitest 6 schema/drift files 109 passed; check:migration-role passed; check:outstanding-issues passed; docs:check-links passed; verify:pr-local not re-run for the one-migration follow-up (green on #2106)" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A: title-supported escalation rescue)", + "head": "0abf3c9 (parent 1aebf02)", + "scope": "rag-retrieval-reviewer PROTECTED-surface review of the S3 document-lookup escalation rescue: shouldAttemptDocumentLookupFastPath exported + gains medication_dose_risk branch firing ONLY when analysis.intent===\"escalation_risk\" && documentTitleTerms.length>0; call site passes queryAnalysis; new tests/rag-document-lookup-escalation-rescue.test.ts.", + "outcome": "APPROVE-WITH-NITS. No P0/P1/P2. Binding constraints held: released-search-order.ts + retrieval-selection.ts clamp + rag-candidate-sources.ts imputation all byte-identical to parent (git diff empty); imputation-contract test green; 0.66/0.055 floor (rag.ts:1765) unmodified and still gates rescued pools (S3 block sits after the 2513 fast-path return + re-runs decideTextFastPath at 2631). BLAST RADIUS empirically proven via 110-case offline probe (44 ragEvalCases + 30 answerQualityEvalCases + 36 golden): EXACTLY 1 fires (neuroleptic-side-effect-escalation, intent=escalation_risk tt=3); all 8 named dose cases non-firing (clozapine-monitoring general, paraphrase general, agitation-pharm general, im-po drug_dosing, typo-dosing drug_dosing, missed-dose-table drug_dosing, LAI general/tt0, prompt-injection-forge intent=protocol). intentFromSignals precedence (clinical-search.ts:575-585) returns drug_dosing before escalation_risk so pure-dose structurally cannot fire — confirmed by construction AND empirically. ADVERSARIAL: prompt-injection-forge intent=protocol => cannot fire (empirical); unsupported short-circuit (rag.ts:2371) precedes S3 block. DOWNSTREAM: buildRetrievalIntent for the escalation query yields EMPTY requiredTermSignals => demote/promote arms (retrieval-selection.ts:354-355/529/555) + wrong-medication cap (rag.ts:730-737, gated on clinical_subject) all inert; end-to-end test proves neuroleptic-doc rank#1 with >=2 citations, sibling retained, arrival-order invariant. golden vector-\\* probes = broad_summary (already allowlisted) => predicate byte-identical => unaffected. TEST HONESTY: S3 fixture (0.92/0.34/0.94/synthetic_text) faithful to searchDocumentLookupFastPath (rag-candidate-sources.ts:570 caps alias documentScore at 0.34 => sim=min(0.92,0.58+0.34+bonus)=0.92, hybrid=min(0.94,0.94)); differently-relevant fixtures (not identical-content); red-proof structurally airtight (e2e gates its own fixture pool on the predicate). EFFORT: one S3 RPC (same call allowlisted classes issue), rescue-only in the non-forceEmbedding path (floor already rejected => query was headed to embedding anyway; successful rescue short-circuits at 2646 pre-embedding = net-neutral/positive). NITS (P3, non-blocking, no code change pre-canary): (1) redundant analysis?. on the documentTitleTerms clause (&& short-circuit already guarantees analysis defined there); (2) a queryMode forcing medication_dose_risk over an originally-escalation-shaped table_threshold could newly fire S3, but table_threshold already ran S3 so behavior-consistent, not a regression; (3) \"forceEmbedding discards S3 merges\" is imprecise — line 2649 merges S3 even under forceEmbedding; the accurate unaffected-reason for vector-\\* probes is broad_summary allowlisting. TRUST GATE = the mandated live canary pair (correctly deferred by the commit).", + "checks": "Offline only, no provider calls: new test 10/10 + imputation-contract 2/2; protected-surface batch 31/31 (escalation-rescue + imputation-contract + fast-path-ordering + released-search-order + retrieval-selection); 110-case classifier probe (temp test, removed); npm run typecheck exit 0. Not run (provider-gated): eval:retrieval:quality, eval:rag, the live canary pair." }, { - "date": "2026-08-18", - "ref": "claude/db-phase3-staging-proof-bodies", - "head": "b5d228ad5ada7bbb82624ab0573894974f3aa232", - "scope": "db remediation Phase 3 follow-up, final: 20260818113000 applied to staging, 111000/112000 history text refreshed, staging drift = 1 residual (trgm idx); #316 final update (PR #2111)", - "outcome": "Reviewed and handed off; staging proof complete — zero function mismatches, zero never-created objects, zero table mismatches, single residual document_chunks_content_trgm_idx (Phase 4.4); production window list unchanged", - "checks": "staging def_hash for the three functions equal manifest/live; four history rows md5 = repo; check:outstanding-issues passed; docs:check-links passed; earlier gates on this branch unchanged" + "date": "2026-07-31", + "ref": "cursor/mode-page-redesign-handoff-7830", + "head": "0ae080b618c7f8c802083520ec3dee28bd56504d", + "scope": "mode-page-redesign-comps-handoff", + "outcome": "pass-with-findings", + "checks": "check:outstanding-issues; comps+issues #160-162; PR #1521; no production UI change" }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-316-d4-capture", - "head": "6dbe0da05c33ed0a7d002db07bbfaa7f8c2f9840", - "scope": "inbox requests #316 close-out/D4 and #Q5JHBJ re-scope", - "outcome": "coordinator self-review: inbox-only, verified against forensics 3.7 and main 0216f18e9", - "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass" + "date": "2026-07-30", + "ref": "0b01c56fe539598279b9393db5e207bc78fa41c9", + "head": "0b01c56fe539598279b9393db5e207bc78fa41c9", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant clean detached head already on origin/main; removal deferred by primary-dirty lease", + "checks": "clean status; merge-base ancestor of origin/main; no open PR" }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-board-2026-08-18", - "head": "b82f7d46cfa111dea69ffc8cd55fcc10310b6123", - "scope": "docs/database-remediation-coordination.md board update 2026-08-18 (#316)", - "outcome": "coordinator self-review: docs-only board update verified against main 173ea9f28 and PRs #2087/#2093/#2058", - "checks": "prettier --check pass; docs:check-links 1866 refs resolve" + "date": "2026-07-30", + "ref": "archive/branch-worktree-cleanup-20260731/ancestor-c723-0b01c56fe539", + "head": "0b01c56fe539598279b9393db5e207bc78fa41c9", + "scope": "branch-cleanup", + "outcome": "clean detached inactive worktree head is ancestor of origin/main; archived in verified batch4 bundle", + "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-board-d4-2026-08-19", - "head": "9a299d2259765bb7f46b3e0670d9e0ac9b864ae1", - "scope": "docs/database-remediation-coordination.md board update after #2123 (#316, D4)", - "outcome": "coordinator self-review: docs-only, verified against main 3bb34a579 and forensics 3.7", - "checks": "prettier --check pass; docs:check-links pass" + "date": "2026-07-30", + "ref": "PR #1441", + "head": "0b17e849406a03b87af20e627da6500a7cd03c2e", + "scope": "PR readiness: issue ledger, upload parity, CircleCI cleanup", + "outcome": "FIXED: review repaired Docker build-time server parity, archived stale CircleCI row #119, and made the #095 aggregate harness portable; no remaining P0-P2 findings in scope.", + "checks": "verify:pr-local PASS on parent code tree 727ed55a7: 435 files, 4570 passed, build 1694 pages, client scan pass, RAG 36 cases/21 suites; latest-main docs, issue, review-ledger, and upload guards pass" }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-board-phase3-2026-08-18", - "head": "d78029abf911dfb9e728f3c64a7dc166e2e6cea2", - "scope": "docs/database-remediation-coordination.md board update after #2104/#2106 (#316)", - "outcome": "coordinator self-review: docs-only, verified against main 511d22f4d and open PR #2111", - "checks": "prettier --check pass; docs:check-links 1923 refs resolve" + "date": "2026-07-13", + "ref": "origin/copilot/fix-again", + "head": "0b2d29a143926279b327ff302c2de3d5fe0edbc5", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-again; git diff --name-only reported 8 path(s)." }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-board-refresh-2026-08-18b", - "head": "52a2cdfe9c4968e805080906e868f219a1c37b77", - "scope": "docs/database-remediation-coordination.md board refresh after #2093/#2098 (#316)", - "outcome": "coordinator self-review: docs-only, verified against main 2c311c7ed", - "checks": "prettier --check pass; docs:check-links 1881 refs resolve" + "date": "2026-07-14", + "ref": "copilot/fix-again", + "head": "0b2d29a143926279b327ff302c2de3d5fe0edbc5", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-phase-1-2-19e4de", - "head": "8329d0f02ff1394a65cea6946b786030549563c1", - "scope": "docs-only: Phase 1.2 RPC divergence dossier (docs/audit/live-drift-forensics-2026-08.md §1.2) + one #316 inbox update; PR #2087", - "outcome": "self-review complete: all ten match_* def_hash mismatches classified attribute-only (SET work_mem; 4 mirror-stale, 6 live-ahead), zero repo-ahead, zero UNCLASSIFIED; read-only connector session, no RPC/migration/RAG code changed", - "checks": "verify:pr-local (docs scope) failed:(none); docs:check-links 1826 resolve; check:outstanding-issues 348 rows guard passed; ledger-write-discipline passed; format committed" + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "0b4dccc21022dfb0ef82c870c6bd97532545b5d5", + "scope": "prlanded: merge confirmed", + "outcome": "MERGED to main at 0b4dccc2 (merge commit). Product tip edcd17a1 is ancestor of main; content-diff empty except this late ledger closeout (orphaned 3470279f CI-green row recovered here). Review threads resolved; required CI was green at merge.", + "checks": "prlanded content check vs origin/main; hosted PR required SUCCESS on edcd17a1; no provider-backed checks." }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-phase-2-a0c20b", - "head": "523f8a55b36f7ef1a7b2d149d3030cb768f95dc6", - "scope": "Phase 2 staging parity replay (#056): 28-migration chain replayed onto Clinical KB Staging via authorized MCP connector with md5 byte-verification; scripts/check-drift.ts staging-key fix; check:drift run against staging (red, 19 findings); forensics Phase 2 section; two #056 inbox requests (one cancel, one update)", - "outcome": "Self-review passed. Replay proven: 194/194 parity, zero statements IS NULL, all 28 rows md5-identical to repo files, staging corpus untouched (0 documents). Drift check red with 19 findings, correctly interpreted as chain-vs-schema.sql divergence rather than staging staleness; nothing patched. No migration, schema.sql or drift-manifest changed. Production never a mutation target. Known scope limit: measured at base ed43a64f2; origin/main has since advanced to 195 migrations including a schema_drift_snapshot history probe, so a re-measure is owed and is stated in the PR body.", - "checks": "verify:pr-local (green through lint+typecheck); npm run test 2 pre-existing unrelated failures with disjoint run-to-run sets; check:outstanding-issues, check:ledger-write-discipline, docs:check-links green on tip; check:drift exit 1 by design (the finding)" + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "0badfedac1a8bd2ad32587ad90dbea68617f64e9", + "scope": "PR #1377 CI/review babysit", + "outcome": "Synced #1382/#1383. Real conflict only in outstanding-issues: kept corrected latency #098-#105 + added #106/#107. CI green on prior tip 07c6aaeb. 0 unresolved threads; no Bugbot findings.", + "checks": "vitest preamble+calculator-scoring+private-access-routes 208/208; check:branch-review-ledger pass; prior tip PR-required SUCCESS" }, { - "date": "2026-08-18", - "ref": "claude/db-remediation-phase4-indexes-a1661a", - "head": "5d3dca4dd7a0593a35e6d639144092dee6609256", - "scope": "Phase 4 index restoration: 20 concurrent index builds + 2 concurrent drops on production, 3 fail-fast guard migrations, search_schema_health required_indexes 22->30, schema.sql mirror, regenerated drift manifest, staging parity, forensics evidence", - "outcome": "PASS — 20/20 indexes rebuilt indisvalid+indisready with canonical definitions, 2 orphans dropped per the repo chain, live-drift 32171070287 shows missing_live 20->0 and unexpected_live 2->0, staging drift green (was 19). Two escalations recorded not absorbed: PITR is not enabled on production, and no migration_history allowlist entry was earned (empty intersection with the 15 no-statements versions)", - "checks": "check:migration-role; vitest supabase-schema + search-health-index-coverage + migration-history-guards + drift-detection + migration-history-placeholders + hosted-migration-role-guard (6 files, 109 tests); drift:manifest; check:rag:fixtures (36 golden cases); check:medication-interactions; check:medication-lexicon-report; verify:pr-local all stages pass except two load-induced timeouts (codex-cloud-setup, document-viewer-page-virtualization) that pass in isolation and are unrelated to this diff" + "date": "2026-09-01", + "ref": "PR-2504", + "head": "0bb1c2b6c01509d3ea5a978c3bd56c36176438d7", + "scope": "Run PR sweep: scope corpus-health reads", + "outcome": "Replaced inaccessible authenticated-table reads with an independently administrator-gated service-role boundary that filters every query to the verified owner; restored the complete implementation after an intervening placeholder-only commit.", + "checks": "Focused developer corpus-health test: 16 passed; explicit owner-filter and non-administrator coverage; diff check." }, { - "date": "2026-08-18", - "ref": "claude/development-index-page (PR #2135)", - "head": "b6451a1f90cd8488e67b8807fa1740902f2c77f5", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No repair needed: branch already at origin/main tip (0 behind), sole review thread (CodeRabbit prod-availability wording note) already resolved before this sweep, no failing required checks observed. Required CI (Production UI critical/1/2/3, Unit coverage, Lighthouse budget) still in_progress at snapshot time (run https://github.com/BigSimmo/Database/actions/runs/32166526510); completed required jobs (Static PR checks, Safety and config checks, Build, Change scope) all green. No commits pushed, no threads touched, no drift merge performed.", - "checks": "GitHub check-runs snapshot via mcp__github__pull_request_read (get_check_runs, get_status, get_review_comments); git merge-base/rev-list confirmed 0 commits behind origin/main; no local gates run (no code changed, nothing to verify); no provider-backed checks run" + "date": "2026-08-13", + "ref": "claude/issues-writer-pri-flag", + "head": "0bf6795e324ef94aad7c163c1b80048164f4dcf5", + "scope": "#313: update --pri across writer, inbox createRequest and validateRequest", + "outcome": "handoff: PR #1905 opened for review", + "checks": "verify:pr-local 9/9 failed:(none); both self-tests pass; mutation-tested at all three layers; end-to-end CLI queues a valid request; no canonical ledger edit" }, { - "date": "2026-08-18", - "ref": "claude/diagnostic-criteria-duplication-udg99e", - "head": "89d6320fcec94153af3f280683190f02d2e7f172", - "scope": "dsm diagnosis page criteria duplication", - "outcome": "fixed: replaced criteria-echo card row with a four-tile at-a-glance summary; criteria list, sidebar and nav anchors untouched", - "checks": "test:focused 38 passed; vitest dsm 13 passed; typecheck; lint; check:design-system-contract (legacy shadow aliases 89, unchanged); rendered proof on 4 records" + "date": "2026-07-30", + "ref": "codex/outstanding-deletion-guard", + "head": "0bfd548d77bccfb79c0cf01b8c648c1a3e4a79a3", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1491 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-08-18", - "ref": "claude/dictionary-mode-ui-updates-uwoicy", - "head": "31a2e4aaaf9bb991be51f9bbb735f57505ff70af", - "scope": "Dictionary a11y + zero-state + Browse header replay after #2114 merged mid-branch (PR #2132)", - "outcome": "approved", - "checks": "lint, typecheck, test (673 files/7276 tests), ui-dictionary Chromium 6 passed, axe sweep of 6 dictionary routes" + "date": "2026-08-15", + "ref": "claude/test-source-contract-hardening", + "head": "0c1459ca2985e409d330d290a6518fdf877d3255", + "scope": "review-and-fix", + "outcome": "Fixed two P2 fail-open cases in the new source-window helper: overlapping repeated starts and empty markers; merged latest main", + "checks": "focused Vitest 49/49; format:changed; changed-file ESLint; source typecheck; outstanding-issues and ledger guards" }, { - "date": "2026-08-18", - "ref": "claude/dictionary-mode-ui-updates-uwoicy", - "head": "67a290f393702f36021a470e6b00b0d1aa335227", - "scope": "Dictionary UI: topics/compare copy removal, sources page rebuild + composer suppression, search route header", - "outcome": "approved", - "checks": "lint, typecheck, test (670 files/7149 tests), ui-dictionary + ui-mode-nav-density + ui-route-coverage Chromium (70 passed)" + "date": "2026-07-25", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "0c2b60a646fd6e7a53cf24f778aa59e3d54ba8aa", + "scope": "Explicit thorough open-PR review (Antigravity/Cursor queue)", + "outcome": "REQUEST CHANGES. P1: `composerChromeFocused` latches forever when focused dock unmounts (no blur), pinning header scroll-hide permanently. P2: reserve-only hide gate ignores offset → near-bottom clamp (stress: 120/224 frames on answer geometry; 584 clamp-risk across sweep). P2s: submit blur to body; autofocus re-fire; non-answer `focus=1` unfixed; untested collapseKind DOM mapping; PR body copy-paste mismatch.", + "checks": "Focused Vitest mobile-composer-reserve + use-hide-on-scroll PASS in detached worktree; Node stress of reserve-only gate; static diff review. No provider/UI browser matrix." }, { - "date": "2026-08-18", - "ref": "claude/dictionary-mode-ui-updates-uwoicy (PR #2114)", - "head": "189df34d69c01fe08f17df5e49dc0cf2ca37d9c6", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: all required checks already green (PR required success), 0 unresolved review threads, 3 bot-only PR comments (Codex usage limit, Supabase no-op, CodeRabbit rate limit) needing no action. Branch was behind main (mergeable_state: behind). Action: synced via GitHub update-branch API (clean merge, no conflicts) -> new head 189df34d69c01fe08f17df5e49dc0cf2ca37d9c6. After: fresh CI running on synced head, no code changes made, no threads to resolve.", - "checks": "No local gates run — PR already had npm run lint/typecheck/test/verify:ui results in its own description and no code was touched by this sweep; only a GitHub-side branch sync was performed. No provider-backed checks run." + "date": "2026-07-15", + "ref": "HEAD (detached) 0c56f27a37af88a073d2bb695d2cf4c05067ff4f", + "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f", + "scope": "test flakiness, runner safety, CI duplication, and local execution-churn audit", + "outcome": "P1 test-integrity issues: `run-vitest.mjs` can report success when Vitest terminates by signal and force-kills concurrent same-worktree runs; the default Vitest glob can execute the live Supabase owner-search test when credentials are present, while that test silently passes on authentication failure. P2 cluster: Playwright server races/shared `.next` state and config-time persistent-server startup; CI reruns the full unit suite for coverage and PR-local RAG verification repeats 21 suites; known-flake tracking is substring-only, not tied to quarantine, and structurally requires a non-empty ledger; unseeded property tests; repeated module resets/source-graph parsing; long retrying browser matrices and swallowed `networkidle` timeouts; host-wide concurrent worktrees/install/test/server activity causes memory pressure, native-module lock failures, and invalidated runs.", + "checks": "Pure review, no source mutation except this ledger append. Offline `node scripts/flake-ledger.mjs --self-test` passed (confirming the non-empty invariant); ledger matching confirmed `narrow-viewport-parallel` applies to an unquarantined blocking title; `node scripts/verify-pr-local.mjs --dry-run --files src/lib/rag.ts` confirmed full test + build + offline RAG duplication. Full Vitest/Playwright not run because this worktree has no dependencies and concurrent repo work was active; provider-backed checks not run (confirmation boundary)." }, { - "date": "2026-08-18", - "ref": "claude/dictionary-mode-ui-updates-uwoicy (PR #2132)", - "head": "db3069a5312ac272da47199dcc97662f8f90b08b", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No fix needed: all required in-scope checks (static-pr, safety, coverage, build, production-ui-critical, production-ui, changes) passed on head db3069a5; PR required only failed because lighthouse-budget was cancelled with no real failure. 0 unresolved review threads (3 PR comments are bot rate-limit notices only, no action needed). Branch is behind main (cleanly mergeable per git merge-tree) so attempted git merge origin/main -> push; merge itself was clean with zero conflicts (docs/ledger files only, no code/package-lock changes), but the push was blocked by the local ledger-write-discipline guard (guard-push.mjs): merging main's later reconciliation commit alongside this PR's own still-pending docs/outstanding-issues-inbox/91536913-....json request made the guard see a 'partial reconciliation' (31 items moved to applied/, 1 retained) even though the retained item is this PR's own unrelated new request, not part of main's completed batch. Did not override with SKIP_LEDGER_WRITE_GUARD=1 per hard guardrail to heed pre-push blocks; reset the local unpushed merge commit back to origin's tip so no drift was introduced. PR head remains db3069a5 (unchanged), nothing pushed.", - "checks": "git merge-tree --write-tree origin/main (clean, exit 0); attempted git merge origin/main + git push (blocked by guard-push.mjs ledger-write-discipline check, not overridden); no provider-backed checks run" + "date": "2026-07-15", + "ref": "HEAD / main snapshot (detached review worktree)", + "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f", + "scope": "comprehensive repository review", + "outcome": "Changes requested: two P1 defects (high-risk clinical claim support can accept a different trigger condition on lexical overlap; document-mode URL auto-run loops on navigation and leaves search loading indefinitely), one P2 supply-chain guard gap (the action-pin checker accepts mutable major tags and ignores SHA-pinned major versions), and one P3 orientation-doc gap (DSM and legacy specifier routes are absent from the codebase index). No P0 found.", + "checks": "Node 24/npm 11 and `npm ls --depth=0`; format, runtime, lint, TypeScript, sitemap/brand/icon/type-scale, docs links/scripts, CI/action/Codex guards; coverage 259 files passed/1 skipped and 2,417 tests passed/1 skipped; offline RAG 36 fixtures plus 282 tests; production build/client-secret scan; deployment boot smoke; critical Chromium 8/10 with two reproducible document-search failures; accessibility 5/5; viewport/focus checks through 1920x1080. Provider-backed governance, quality, drift, tenancy, hosted CI, and the cross-browser matrix were blocked or skipped by policy/targeted failures." }, { - "date": "2026-08-18", - "ref": "claude/docling-gate-b-eval-5czgln", - "head": "397f40d96c4c08c5da61b8fcf07e166a93cf7aba", - "scope": "packet S6b: Gate B run + decision record (eval/docling harness fixes + docs/rag-improvement records)", - "outcome": "Gate B PASS recorded from evidence run 32176604314; four latent harness defects fixed (setuptools pin, libGL, torch.compile toolchain, HTML-entity scoring)", - "checks": "verify:pr-local selected plan green (lint, typecheck, docs/ledger contracts); npm run test 673 files / 7281 passed / 4 skipped; check:rag:fixtures 36 golden / 26 suites; check:docling-lab contract passed; gate-b record valid (final mode)" + "date": "2026-07-17", + "ref": "codex/test-reliability-hardening", + "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + reviewed remediation diff", + "scope": "implementation and merge-readiness review of heavyweight locking, offline test isolation, focused/live test selection, Playwright ownership, flake classification, CI consolidation, and browser race fixes", + "outcome": "No remaining high-confidence P0-P2 issue in the reviewed diff. Three scoped integration defects were fixed before handoff: advisory mockup tests were unreachable behind the production route boundary; explicit focused-test paths did not fail closed when deleted or missing; and JUnit spec identities were relative to the Playwright test directory while the ledger uses repository-relative paths. Provider scrubbing was expanded to all repository-specific Supabase/database/E2E credentials, and early Playwright server signal/launch failures now fail immediately. Residual risk is final integration with the latest `main` and the full production Chromium run.", + "checks": "Offline focused Vitest 36/36 then 22/22; full TypeScript passed; targeted Prettier passed; `git diff --check` passed. Full ESLint was externally interrupted without a result and remains required on the clean integrated tree. Provider-backed Supabase/OpenAI checks were not run." }, { - "date": "2026-08-18", - "ref": "claude/drift-probe-comment-pointers", - "head": "71dea17b3574e4d9bfba8c5770497c8b01ecb6ad", - "scope": "follow-up to #2058: stale comment pointers + RPC-missing hint name the v2 probe migration; doc bullet wording, PR #2090", - "outcome": "self-review: comment/doc-only, no SQL/manifest/test change", - "checks": "vitest drift-detection + migration-history-guards 25 passed; docs:check-links 1838 resolve; prettier unchanged" + "date": "2026-07-15", + "ref": "codex/design-polish-pass", + "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + reviewed working diff", + "scope": "full live design, responsive, UX, accessibility, design-system, routing, performance, lint, testing, documentation, and release-readiness review", + "outcome": "No P0/P1 reproduced. Fixed the P2 duplicate phone scroll surface in the shared standalone shell and added a regression test; fixed mode-menu Tab dismissal; explicitly hid decorative dynamic icons; restricted press scaling to motion-safe environments; moved sheet backdrops and forced-colour glass/backdrop behavior onto design tokens. External target fidelity remains blocked because no independent Figma/mockup source was supplied.", + "checks": "Live 30-route desktop + 21-route phone sweep; targeted 320/390/639/768/1440/1920 proofs; `npm run verify:cheap` (2417 passed/1 skipped); `npm run verify:ui` (175/175); focused keyboard 1/1; accessibility media/axe 5/5; scoped Prettier, ESLint, TypeScript, type-scale, and icon-scale passed. Provider-backed checks not run." }, { - "date": "2026-08-18", - "ref": "claude/eval-canary-protocol-docs-01bb49", - "head": "3e9905d0ac9d88f22dc88d41639399ae69237cf0", - "scope": "docs/rag-behaviour/safeguards.md, docs/rag-improvement/README.md — eval-canary pair protocol trigger mechanics and bisection lessons (ledger #TYJ0XP)", - "outcome": "approved — docs-only, no code/behaviour change", - "checks": "verify:pr-local (docs-scoped: format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline) all passed" + "date": "2026-07-15", + "ref": "codex/outstanding-work-cleanup", + "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + working-tree diff", + "scope": "repo-wide outstanding-work reconciliation and cleanup", + "outcome": "No high-confidence P0/P1 remained in the locally executable scope. Fixed the stale architecture index for DSM/specifier routes, pruned redundant Knip configuration, removed the unused `SignedImage` default export, and reconciled maintained docs so completed/superseded plans no longer present as active work. Retained explicitly blocked work: provider-gated operator actions, the live-eval shadow reindex harness, deep-memory section-ownership design, and RAG follow-ups that require live evidence or product/security decisions. Full Knip findings were triaged rather than mass-deleted; unresolved-import scan is clean.", + "checks": "Offline `npm run verify:cheap` passed with 2,417 tests/1 skipped; docs links 806, script refs 264, codebase index 35/35; Knip unresolved scan clean; typecheck clean; focused Vitest 15/15; env-name parity clean; `git diff --check`. Provider-backed Supabase/OpenAI/GitHub/Railway, dependency audit, browser, build, drift, and release gates not run." }, { - "date": "2026-08-18", - "ref": "claude/factsheets-homepage-routing-obr8g4", - "head": "2037a718fbbe56bd8c5fdf4a68ae9b8d918200b7", - "scope": "shared mode home phone hero design + per-mode copy", - "outcome": "shipped", - "checks": "verify:phone-chrome exit 0 (contracts 130, changed-browser 95, focused-browser 10, full-ui 447); npm run test 7101 passed; typecheck clean; format committed" + "date": "2026-07-13", + "ref": "claude/perf-r2-payload-trim", + "head": "0c68d07d9e570848b76f76dc06d40a340fbc3e88", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #482; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-18", - "ref": "claude/factsheets-homepage-routing-obr8g4 (PR #2112)", - "head": "8d2673a31dd7fbbc7d5dd65cc03bb1bc3caec57c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state behind main, PR required failing (Static PR checks > Maintainability hotspot budgets: ClinicalDashboard.tsx 4149/4140 lines), 0 unresolved review threads. Branch was found already synced to main (5ae2bb6e, merge commit 832b1b6c authored via GitHub API) at sweep start -- no conflicts, no action needed there. Fixed the maintainability budget failure by trimming the PR's own added rationale comments around heroComposerBreakpoint/centeredModeHome (net +11 lines -> net 0, file now exactly 4140/4140 lines); zero logic change, expressions byte-identical. Pushed commit 8d2673a3. Review threads: none open, none touched. After: new CI run in flight for 8d2673a3 at sweep end (not awaited past initial job-list snapshot per babysit-dormant policy).", - "checks": "Local (node 24.19.0, npm ci --include=dev): npm run check:maintainability-budgets -> 'Maintainability hotspot budgets passed.' (ClinicalDashboard.tsx 4140/4140); npx prettier --check src/components/ClinicalDashboard.tsx -> 'All matched files use Prettier code style!'; npm run typecheck -> clean, no errors; npx eslint src/components/ClinicalDashboard.tsx -> no output/clean; npm run test:focused -- --files src/components/ClinicalDashboard.tsx -> no matching test files (comment-only change, no behavioural test surface). No provider-backed checks run (no eval:*, verify:release, check:supabase-project, test:live)." + "date": "2026-07-13", + "ref": "claude/axe-a11y-scan", + "head": "0c6b3e5e21b0132ccf50b0f32a5d2e5b775fdc68", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #586.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-18", - "ref": "claude/form-names-design-rjw40t (PR #2041)", - "head": "fafc039341853d9e509cd3357d556a94ce324ce8", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "mergeable_state blocked = CI still in flight, not failing; only non-required 'GitGuardian Security Checks' app check showed conclusion:failure. Diff inspected (get_diff): a UI relabel of form-detail-page.tsx plus a docs ledger record - no secret-shaped content. Very likely the same false positive on the added record filename's 64-char hex hash as PR #2040. GitGuardian is not in the pr-required aggregate, so no merge-blocking action taken; flagged for the user to confirm via the GitGuardian dashboard link on the check.", - "checks": "get_diff inspected manually; no local gates run; no provider-backed checks run." + "date": "2026-07-13", + "ref": "origin/claude/axe-a11y-scan", + "head": "0c6b3e5e21b0132ccf50b0f32a5d2e5b775fdc68", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #586.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-18", - "ref": "claude/header-redesign-mockups-3ms5kn", - "head": "333399f7f5ebfb83c304bf7a0bbdbd71b6849238", - "scope": "prlanded", - "outcome": "landed clean", - "checks": "git diff --stat 333399f 6bd0934 empty (squash tree identical to branch tip); browse header, dictionaryBrowseLetter, new test and both mockup studies verified present on origin/main; no commits orphaned by the merge" + "date": "2026-07-14", + "ref": "PR #632 / codex/rag-performance-followups", + "head": "0c792b8c10516c85d18832fc96562dd70a671b5f", + "scope": "review-followup", + "outcome": "One P1 privacy-disclosure defect was confirmed: OpenAI retrieval embedding can receive query text even when answer synthesis remains source-only. Fixed the PIA and public `/privacy` copy to distinguish retrieval-embedding egress from model-backed synthesis egress, with focused copy coverage.", + "checks": "GitHub connector review-thread inspection; focused privacy UI test, ESLint, TypeScript, Prettier, production-readiness, and `git diff --check`." }, { - "date": "2026-08-18", - "ref": "claude/header-redesign-mockups-3ms5kn", - "head": "430a58a98f9d8bedd21cbbf8e4e522381aa5c4c9", - "scope": "Dictionary browse header rebuilt on the selected direction (production /dictionary/browse)", - "outcome": "approved", - "checks": "verify:pr-local all 18 steps completed / none failed, check:bundle-budget within tolerance, Chromium 390px+1440px dark/light review; Playwright suite delegated to CI Production UI (browser-revision drift #255)" + "date": "2026-07-28", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "0cab0a6475a9744e7d64a25dedb4a89b06909464", + "scope": "CI babysit re-sync", + "outcome": "Re-merged origin/main after GitHub DIRTY/staleness (merge-tree clean). PR policy already SUCCESS with Clinical Governance Preflight. 0 review threads.", + "checks": "merge-tree clean; hosted PR policy/required were SUCCESS on prior tip; no provider checks." }, { - "date": "2026-08-18", - "ref": "claude/header-redesign-mockups-3ms5kn", - "head": "8083a20d6a3496ed154b927157bd621735886795", - "scope": "Dictionary Browse header round two — letter dropdown + Abbreviations in Filters (design scratch)", - "outcome": "approved", - "checks": "verify:pr-local all 18 steps completed / none failed, check:bundle-budget within tolerance, Chromium dark+light screenshot review" + "date": "2026-07-29", + "ref": "claude/clinical-design-system-update-e34ca9", + "head": "0cdae091ad92f40e0ad7335b3e2d396c44188a4f", + "scope": "PR #1375 conflict fix + Bugbot", + "outcome": "FIXED second CONFLICTING after #1378: took main removal of SelectedDocumentEvidencePanel; retained tracking-eyebrow on surviving document-search-results. Prior DocumentViewerRail + form-detail settlement retained. MERGEABLE; CI re-running.", + "checks": "local: document-search-record-fault + design-token tests; merge-tree CLEAN; prior Production UI PASS on 6903f51f; form-detail e2e 2/2." }, { - "date": "2026-08-18", - "ref": "claude/header-redesign-mockups-3ms5kn", - "head": "a33ab97e5b55edcb26ace179471d97b7cf71118e", - "scope": "Dictionary Browse header redesign mockup study (design scratch)", - "outcome": "approved", - "checks": "verify:pr-local (673 files/7276 tests pass), build, check:bundle-budget, check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report, Chromium dark+light screenshot review" + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "0d1b9439fc5e8da8c188a396b2e7e4c95c7998b5", + "scope": "Babysit: main sync + Codex overlay-scope P1 disposition", + "outcome": "FIXED CONFLICTING on docs/search-chrome-behaviour.md (merged #1393 surface paint with overlay carve-out; docs match isCollapseMotionPhoneRoute). Resolved Codex P1 via scoping (therapy/diff keep collapse). Static PR ledger dups fixed earlier. Residual: Claude notes ~5 ui-phone-scroll overlay-route assertions still need migration for Production UI. No Bugbot findings.", + "checks": "header-scroll-hide+verify-phone-chrome 37/37; check:branch-review-ledger PASS; merge-tree clean" }, { - "date": "2026-08-18", - "ref": "claude/header-redesign-mockups-3ms5kn (PR #2143)", - "head": "7fbd9caaace0554f76995841b29b26e3344bc8f0", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: all required CI green on 11256e9f, mergeable_state=behind main (a9552eb), 0 unresolved review threads (only bot rate-limit notices from Codex/CodeRabbit, no actionable findings). Action: synced origin/main into the branch via authenticated update_pull_request_branch (clean git merge-tree confirmed no conflicts) -> new head 7fbd9caa. No code fix or thread action needed. After: CI re-running fresh on synced head at https://github.com/BigSimmo/Database/actions/runs/32167138952 (Change scope, Gitleaks, PR mergeability/policy already green; Static/Build/Coverage/Production UI/Safety/Lighthouse in progress at sweep end) - not babysat further; prior identical diff was fully green.", - "checks": "No local gates run (no code changes made, only a main-branch sync); relied on hosted CI re-validation triggered by the sync. No provider-backed checks run." + "date": "2026-07-30", + "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", + "head": "0d47141fc030684299dcb265e3d853c93b9e2a91", + "scope": "CI/review closeout — merged", + "outcome": "MERGED as squash `0d47141f`. Prior tip `4a001efa` had required CI green after prettier fix `61314887` (Static PR/CircleCI red on `#096` padding) and main sync. Layout/`/tools` false-positive fixed; `#115` deferred; review threads resolved. Post-merge ledger-only follow-up.", + "checks": "hosted Static/Unit/PR-required/CircleCI pass on pre-merge tip; vitest adoption 6/6; typecheck; Bugbot no open P0/P1; merge-tree clean" }, { - "date": "2026-08-18", - "ref": "claude/home-pages-cleanup-qeh5fr", - "head": "33ec22afd7b23dfc89fdf836fc80cc4a97c7a065", - "scope": "remove caveat footer from every mode home", - "outcome": "self-review clean; all mode-home caveat footers removed, dead reserve/props/helper deleted", - "checks": "verify:pr-local pass on merged head (673 files / 7281 tests, build, lint, typecheck, offline RAG evals); verify:ui not run — playwright chromium 1234 vs installed 1194 (#255)" + "date": "2026-07-21", + "ref": "claude/x4-sast-gate (PR #1012)", + "head": "0d4985e63", + "scope": "Maturity X4: blocking SAST gate on the untrusted-document parsing surface", + "outcome": "Triage-first per workorder: CI-pinned semgrep/semgrep:1.168.0 over worker/**, src/lib/ingestion*.ts, src/lib/extractors, src/app/api/{ingestion,upload} = 0 ERROR findings (24 TS rules/17 files; 55 Python rules/3 files) — gate starts green with no suppressions. Shipped `semgrep-ingestion-gate` job (no continue-on-error; container digest-pinned to the triage-verified 1.168.0 image) with p/python added for the worker OCR stack; repo-wide advisory job untouched. check-github-action-pins.mjs now enforces both policy halves fail-closed (advisory repo-wide / blocking-and-scoped gate / digest-pinned gate container). Residuals: registry-pack mutability accepted for the narrow surface; making the workflow a branch-protection required check is an operator decision outside this PR.", + "checks": "Exact gate command exit 0 in pinned container; check:github-actions (new assertions verified fail-closed); check:ci-scope; yaml-contract vitest 1/1; verify:cheap 3031 tests green. No provider calls (local Docker only)." }, { - "date": "2026-08-18", - "ref": "claude/home-pages-cleanup-qeh5fr", - "head": "40b92d2d6f41d0f9fadc8c4840737ffae1f34c5d", - "scope": "mode home footers + dictionary command surface", - "outcome": "self-review clean; footers removed on user instruction, dictionary example ticket added", - "checks": "verify:pr-local pass (673 files / 7276 tests); verify:ui not run — playwright chromium 1234 vs installed 1194 (#255), delegated to CI" + "date": "2026-07-17", + "ref": "PR #739 / cursor/pwa-optimization-merge-02e7", + "head": "0d4aa5c73a4ff30274bb6286be04465286c815d7", + "scope": "open-PR review + privacy fix + merge babysit", + "outcome": "P1 fixed: removed backdated RAG migrations/schema seed that would regress public-only title corrector privacy. Also fixed sitemap API/redirect classification, services RightRail remount, focus=1 mode-menu flake, and merge conflict markers. Supersedes #735/#721. Merged to main.", + "checks": "Hosted full CI green including Production UI/Migration replay after fixes; unresolved CodeRabbit threads resolved. No OpenAI/Supabase writes." }, { - "date": "2026-08-18", - "ref": "claude/home-pages-cleanup-qeh5fr (PR #2139)", - "head": "49875287ead7a15069224174d68f57b44c220e3d", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Branch already current with origin/main (base sha a9552eb4 == main tip; PR includes its own 'Merge branch main' commit) — no drift/conflict, so the #2112 shared-mode-home/composer overlap did not materialize and no merge or resolution was needed. 0 unresolved review threads (only bot usage-limit/skip comments present, non-actionable). All completed required CI checks green as of last observation (Static PR checks, Build, Production UI critical, Safety and config checks, Change scope, Unit coverage all success; zero failures across 25 check runs); Production UI (1)/(2)/(3) and Lighthouse budget were still in_progress after ~25 min observation window with no failure signal — left running, no code changes needed or made. No commits pushed this sweep.", - "checks": "GitHub check-runs API polled for HEAD 4987528 (twice, ~5 min apart): no failing required job observed. No local gates run (nothing to fix/verify). No provider-backed checks run." + "date": "2026-07-30", + "ref": "cursor/ci-hygiene-gates-1bf5", + "head": "0d70de480f370fec3e7f3774f13d906318a09b3c", + "scope": "pr-1413-merge-readiness", + "outcome": "READY: synced with main/#1409; tip CI success incl PR required; draft; deferred #093 + CI_TRIAGE_ENABLED", + "checks": "merge-tree:clean;ci-cache-safety:13/13;hosted:30520195863:success;PR-required:pass" }, { - "date": "2026-08-18", - "ref": "claude/issues-capture-h5a-residual-ulid-lookup", - "head": "5c9b69a7e6bd2a3f2a1f5abac1a19a71a1cd153b", - "scope": "two immutable outstanding-issues inbox requests (P3 issue: H5a residual after G1; P3 rec: ledger writer id-scheme test gap) — no product code", - "outcome": "approved — inbox-request files only; canonical ledger untouched, applied later by issues:reconcile", - "checks": "verify:pr-local light docs scope, all 11 selected stages green (format:changed, docs link/index/inventory/scripts, branch-review-ledger, outstanding-issues, ledger-write-discipline); build/test correctly skipped as non-build-affecting; request JSON content verified incl. escaping" + "date": "2026-08-09", + "ref": "cursor/differentials-diagnosis-links-9f18", + "head": "0daa9e2f9fc84e879fd661da94203568309234a6", + "scope": "PR #1768 Autopilot+Bugbot review-and-fix", + "outcome": "Merged origin/main (DIRTY was ledger+detail-page staleness; merge-tree clean). Fixed SEGMENT_SPLIT to spaced-slash only so Delirium / medical psychosis links while alcohol/benzo, DVT/PE, food/fluid stay intact. Dispositioned: Copilot termLinks ??{} + Fragment key already fixed; CodeRabbit clean-keys moot (visibleSectionItems already cleans); CodeRabbit bare-slash split rejected (clinical harm). No Bugbot findings. Threads cleared on push. Merge left to user.", + "checks": "vitest differential-diagnosis-links+detail+route 49/49; verify:cheap exit 0 (543 files, 5828 passed/4 skipped); verify:pr-local exit 0 (lint/typecheck/test/build/rag-fixtures); merge-tree clean vs origin/main; no provider gates" }, { - "date": "2026-08-18", - "ref": "claude/issues-reconcile-2026-08-18-evening", - "head": "79b4d8df0c37a580935904bdeed04e14aa23b0d8", - "scope": "issues ledger reconciliation (88 queued inbox requests: database-remediation set + PR #2105 done resolutions)", - "outcome": "clean — reconciler applied all 88 queued requests with 10 cancellation decisions, refused none; no request adjudicated, edited or deleted by hand; diff is 1 canonical file + 88 renames", - "checks": "verify:pr-local (11/11 gates, 0 failed, 0 unreached); check:outstanding-issues (365 rows, 48 open, 0 pending / 339 applied); check:ledger-write-discipline (ce702ba68c12..HEAD); docs:check-links (1901 refs); format (whole tree, unchanged)" + "date": "2026-07-13", + "ref": "codex/pr-489-fixes", + "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", + "scope": "branch-cleanup", + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-489-fixes; git diff --name-only reported 5 path(s)." }, { - "date": "2026-08-18", - "ref": "claude/issues-reconcile-2026-08-18-evening", - "head": "ed19e1435049e284088c0e8d042465004390c4de", - "scope": "prlanded", - "outcome": "clean — PR #2120 merged as squash ed19e143; two-dot content diff against branch tip 0771039f is empty, all 90 files landed including the review record, no orphaned late commit from the auto-merge race", - "checks": "git diff --stat ed19e143 0771039f (empty); ledger record 6b6d74c4 present on main; check:outstanding-issues on main 4575cf57 (365 rows, 48 open, 0 pending / 339 applied)" + "date": "2026-07-13", + "ref": "origin/claude/document-viewer-redesign-55b68b", + "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", + "scope": "branch-cleanup", + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/document-viewer-redesign-55b68b; git diff --name-only reported 5 path(s)." }, { - "date": "2026-08-18", - "ref": "claude/issues-reconcile-2026-08-19", - "head": "b393cdd530e81d6bfbdc15c495d870b57c73f01b", - "scope": "Serialized reconcile of 21 queued outstanding-issues inbox requests (PR #2168)", - "outcome": "approved — documentation-only; canonical diff equals the recorded reconciliation transaction", - "checks": "check:outstanding-issues passed (392 rows, 57 open); check:ledger-write-discipline passed b400b138f8c1..HEAD; format:changed clean; inbox 0 pending / 391 applied" + "date": "2026-07-14", + "ref": "claude/document-viewer-redesign-55b68b", + "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-18", - "ref": "claude/issues-reconcile-post-phase2", - "head": "8c13f97c31e7530be8df8b03c52ebe854ac56a82", - "scope": "Dedicated ledger reconciliation, re-cut off base dda4956ff: 17 queued inbox requests applied, 4 cancellations honoured, including the Phase 2 #056 result", - "outcome": "Self-review passed. Corrects the prior tip, which was cut against 9d832452d and left one later-arriving request pending, failing the write-discipline guard as a partial transaction. Batch now complete; inbox drained to 0 pending / 251 applied. Docs-only, no product change.", - "checks": "check:outstanding-issues (361 rows, no ids deleted from base dda4956ff4ad); check:ledger-write-discipline (passed dda4956ff4ad..HEAD); issues:reconcile applied 17; format" + "date": "2026-07-30", + "ref": "codex/cloud-environment-repair-20260731", + "head": "0dc8c3d65ffc8d6932275b3c3d6f6d5c41656f45", + "scope": "Cloud environment repair full diff vs origin/main", + "outcome": "No high-confidence defects; safe for CI", + "checks": "verify:pr-local pass (442 files, 4636 tests); focused Cloud tests pass (45 tests); static/effective Cloud and provider-free readiness pass" }, { - "date": "2026-08-18", - "ref": "claude/ledger-issues-reconcile-945d0a", - "head": "dd47bbe7e402e203e3d094127d1955ea0b650d4f", - "scope": "docs/outstanding-issues-inbox ledger queueing", - "outcome": "PR #2130: queued 7 immutable ledger requests (done #DP6M3G, update #231 re-grade P1->P2, done #BTVMVK/#ND10QT as duplicates, 3 new P3 recs). No canonical ledger edit — reconciliation deferred to a dedicated follow-up PR because check:ledger-write-discipline cannot pass a same-PR add+reconcile.", - "checks": "check:outstanding-issues passed (16 pending, 339 applied); check:ledger-write-discipline passed for 53438ae4392a..HEAD; prettier --check passed" + "date": "2026-08-16", + "ref": "PR-1993", + "head": "0df502749540c4e4de789bfad12837726b1944d8", + "scope": "PR #1993 Tools phone footer search review", + "outcome": "Fixed: preserved the tappable standalone-home suggestion ticker while retaining the Tools phone shared-footer placement.", + "checks": "Static phone-home truth table passed; exact one-line fix diff verified; prior exact-head CI isolated to the audit assertion; distinct manual adversarial pass found no additional high-confidence defects." }, { - "date": "2026-08-18", - "ref": "claude/lighthouse-baseline-refresh", - "head": "d0dc1a6a30067f75c6142229fd8524cba77cc456", - "scope": "Lighthouse baseline refresh from pinned-browser CI run at 533989f", - "outcome": "shipped", - "checks": "check-lighthouse-budget.test.ts 64 passed; prettier clean; diff audited (only metric values + updatedAt)" + "date": "2026-07-31", + "ref": "cursor/sentry-db-query-tracing-0546", + "head": "0dfb7a35a3a2623794a2d3e4c657268018604d18", + "scope": "pr-1540-unblock", + "outcome": "fixed static-pr knip unlisted @sentry/core; merge-tree clean; no blocking threads", + "checks": "check:knip:pass; vitest:error-tracking:5/5; tsc:pass; merge-tree:clean" }, { - "date": "2026-08-18", - "ref": "claude/lighthouse-baseline-refresh (PR #2134)", - "head": "15cee85322f9a1bfebfd6406a8f4e913e1e6b739", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: mergeable_state=behind; PR required failed solely on a cancelled Production-UI matrix shard (production-ui result=cancelled, no other job failed) on head 35f2ce47; no unresolved review threads, no actionable review comments (only bot rate-limit/skip notices from chatgpt-codex-connector, coderabbitai, supabase[bot]). Action: confirmed git merge-tree origin/main into the PR head was clean, then synced via mcp__github__update_pull_request_branch (explicit authenticated GitHub App identity) rather than a local merge since no other local fix was needed; new head 15cee853, base advanced to a9552eb4. This naturally retriggers a fresh CI run, which supersedes the stale cancelled Production-UI shard. After: CI re-running fresh at https://github.com/BigSimmo/Database/actions (Change scope/PR policy/security scans in_progress at report time); not babysat further per sweep cost controls. No code fix was needed - the two changed files (lighthouse-budget.json baseline data plus its own PR record) were never the cause of the failure.", - "checks": "git merge-tree --write-tree origin/main origin/claude/lighthouse-baseline-refresh (clean, single tree hash, no conflicts); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; mcp__github__get_job_logs on failing 'PR required' job (95801287405) confirmed cancellation-only failure via UI_RESULT=cancelled with no other *_RESULT non-success; no provider-backed gates run" + "date": "2026-07-29", + "ref": "claude/latency-fixes-2026-07-29", + "head": "0e30215e98328513e23342a8dceafc9d1728bf9d", + "scope": "pr-1376-ci-bugbot-repair", + "outcome": "fixed-p1s-plus-followups;owner-scoped-epochs;shared-cache-race;stream-signal;empty-scope-timing;threads-resolved", + "checks": "vitest:15-pass;docs:check-links:pass;verify:cheap:earlier-pass" + }, + { + "date": "2026-08-13", + "ref": "claude/ledger-sweep-inbox-requests", + "head": "0e3ed773cddf1b59c64ca81162fd76d84051359d", + "scope": "re-file the 2026-08-12 yield review as 43 inbox requests (22 done, 19 update, 2 add); premises re-verified against current main", + "outcome": "handoff: PR #1920 opened for review", + "checks": "verify:pr-local 11/11 failed:(none); check:ledger-write-discipline passed (no canonical edit); batch dry-applied 114->95 open, 196->220 archived, checkIssues PASS" }, { - "date": "2026-08-18", - "ref": "claude/lightweight-mode-homes (PR #2157)", - "head": "1cffafbc172fc22625aa3cba62d5d685b7720f25", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR mergeability/PR policy transiently failed (self-healed on retry, no real conflict); Production UI (3) failed 3 Chromium specs (ui-specifiers.spec.ts mobile composer, 2x ui-tools.spec.ts stale /differentials and /services route assertions) caused by this PR's own consolidated-mode-home routing change, not main drift. Fixed: updated the 3 stale test assertions to match the new /differentials/search, /?mode=services, and /specifiers/search routes already established elsewhere in this PR's own diff. After: fixes pushed, fresh CI re-running. Still blocked on a blank Clinical Governance Preflight in the PR body (human-owned, not auto-fillable) and a real Lighthouse TBT regression pattern matching known main-wide drift from a prior merge.", - "checks": "npx tsc --noEmit (clean), npx eslint tests/ui-tools.spec.ts tests/ui-specifiers.spec.ts (clean), npx prettier --write (no changes needed); Playwright not run locally (browser revision mismatch, chromium-1194 vs CI's 1234) — delegated to CI Production UI. No provider-backed checks run." + "date": "2026-08-29", + "ref": "PR-2457", + "head": "0e5631ba6a98b22ef1ddf5557e6ce38b824e78b2", + "scope": "PR #2457 review-and-fix", + "outcome": "Fixed repository breakpoint coverage, conservative same-band Tailwind cascade handling, and the stale compact-disclosure UI assertion; no other material PR-introduced defects confirmed.", + "checks": "57 focused Vitest tests passed; design-system contract/adoption/sync passed; typecheck passed; local Playwright unavailable because pinned Chromium is not installed, with exact-head Actions reproducing the corrected 42px assertion." }, { - "date": "2026-08-18", - "ref": "claude/patient-factsheets-search-regression-8iyvnd", - "head": "1d16190bf74bd92faf272f17eab426ed08f37776", - "scope": "src/components/mode-home-template.tsx,tests/mode-home-main-align.test.ts (correction to prior record's src/components/mode-home-template.tsx claim)", - "outcome": "approved", - "checks": "corrected the min-height calc flagged by frontend-ui-reviewer (prior record understated verification: missed a broken tests/mode-home-main-align.test.ts and a live 40px phone scroll-overflow regression); full npm run test now green (661 files, 7079 passed, 4 skipped), tests/mode-home-main-align.test.ts run directly (5 passed), typecheck/eslint/prettier clean, live check of document.documentElement.scrollHeight vs window.innerHeight on /factsheets /differentials /dsm shows zero overflow" + "date": "2026-08-17", + "ref": "claude/ledger-212-tranche-4-worker-q3y6i4", + "head": "0e6e58ca4ac59768658ae4ad5b37a1266a09109b", + "scope": "worker/row-contracts.ts, worker/main.ts, tests/worker-row-contract.test.ts", + "outcome": "approved — no defects found; concurrency/lease fencing, schema-constraint-backed contract pins, and safe-logging discipline all verified", + "checks": "npx vitest run tests/worker-row-contract.test.ts (28 passed); npx tsc -p tsconfig.json --noEmit (0 errors)" }, { - "date": "2026-08-18", - "ref": "claude/patient-factsheets-search-regression-8iyvnd", - "head": "3cae468dbdcce99a686da84443ec8be2fae8e80c", - "scope": "src/components/factsheets/factsheets-home-page.tsx merge-conflict resolution", - "outcome": "resolved: kept PR's ModeHomeTemplate rewrite over main's now-superseded card restyle (PR #2060); verified removed exports (featuredFactsheets/categoryCount/factsheetCategoryGlyph) unused elsewhere", - "checks": "merge-tree clean after resolution; grep verified no dangling references" + "date": "2026-08-09", + "ref": "cursor/differentials-diagnosis-links-9f18", + "head": "0e77e7bc0842bef4ffc045c6dbea4626152490d1", + "scope": "differentials diagnosis term links", + "outcome": "implemented exact+alias termLinks chips on diagnosis+presentation pages; vitest 58/58; verify:pr-local green", + "checks": "vitest differential-diagnosis-links+detail+section-nav+route; verify:pr-local; ensure spot-check" }, { - "date": "2026-08-18", - "ref": "claude/patient-factsheets-search-regression-8iyvnd", - "head": "5c93cffd7e4cfa876e3926d8b40c4ae9bb0a84da", - "scope": "src/components/factsheets/factsheets-home-page.tsx,src/components/factsheets/factsheets-data.ts,src/components/factsheets/factsheets-icons.ts,tests/mode-home-loading-contract.test.ts", - "outcome": "approved", - "checks": "verify:pr-local (all 10 checks passed), live Playwright screenshot check at 390x844" + "date": "2026-07-13", + "ref": "claude/desktop-plus-menu-design-1a4bb2", + "head": "0e8752a7983e114c959d1e878ea80544a32900ce", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #478; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-18", - "ref": "claude/patient-factsheets-search-regression-8iyvnd", - "head": "8b2ac1cd1cffcb92a13d66341e5d82d3f8067aa8", - "scope": "src/lib/search-command-surface.ts,src/components/mode-home-template.tsx", - "outcome": "approved", - "checks": "test:focused (283 passed), typecheck clean, eslint clean, prettier clean, live Playwright verification at 390x844 against /factsheets, /dsm, /differentials" + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "0e937f80f1c4fdfa66a4e5abc2918e763ed51bc1", + "scope": "PR #1377 latency findings — operator rollback sequencing", + "outcome": "Codex P2 confirmed and fixed: the index rollback merged the revert migration into the expectation deploy, so the deployed migration would take ACCESS EXCLUSIVE on documents before the concurrent drop; split into three deployed phases (retract required_indexes -> concurrent live drop -> schema.sql removal + idempotent forward drop migration). Apply-side commit-vs-deploy ordering made explicit. Docs only.", + "checks": "prettier --check clean; docs:check-links 1355; docs:check-scripts 390; check:branch-review-ledger 1232 records" }, { - "date": "2026-08-18", - "ref": "claude/post-reconcile-review-2026-08-18", - "head": "cd5fe0f4026c43af78ab0f80f78d661e88faedc0", - "scope": "retire stale visual-register instructions in issues/ledger skills + AGENTS.md; queue reconcile-serialization follow-up", - "outcome": "clean — three instruction surfaces no longer point at the ISSUES-LIST.html artifact #338 retired; check:skills regression introduced and fixed within the diff (220-word canonical budget)", - "checks": "verify:pr-local (22/22 gates, 0 failed, 0 unreached); test:ci-workflows 325 passed; check:skills exit 0 (was 1 mid-change, baseline re-measured); format (whole tree)" + "date": "2026-08-17", + "ref": "claude/form-names-design-rjw40t (PR #2041)", + "head": "0e97aa6860ffd88a4c7392e0b75aeac40479e332", + "scope": "Run PR sweep: main sync + CI fix + threads", + "outcome": "Behind main -> synced clean. Fixed 2 actionable CodeRabbit findings (formShortTitle -> formCode() for the code badge/heading fallback since formShortTitle falls back to a non-code catalogueLabel; rounded-md -> rounded-full on both status badge branches to match the PR's stated pill presentation). Verified typecheck/lint/format clean via a fresh Node 24 worktree, pushed 0517f2ae, replied to and resolved both review threads.", + "checks": "npx tsc --noEmit: clean; npx eslint: clean; npx prettier --check: clean; commit 0517f2ae pushed" }, { - "date": "2026-08-18", - "ref": "claude/rag-d4-reconcile-inbox", - "head": "d1d75055396cff3ea15c6ef6c45d9363440b4175", - "scope": "issues:reconcile (17 requests) + HANDOVER G1/S1d/S1c/S2 rows + COORDINATION §7 (docs-only)", - "outcome": "single fresh-base reconcile; 0 pending afterwards; G1/S1c/governance rows closed", - "checks": "check:outstanding-issues 0 pending/234 applied; check:ledger-write-discipline passed 981d85de0301..HEAD; verify:pr-local docs scope" + "date": "2026-07-13", + "ref": "claude/bundle-budget", + "head": "0eb6bb60201924d3e5153c69f2efee39960124b7", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-18", - "ref": "claude/rag-d5-reconcile-inbox", - "head": "f6a97c2121aec1f93c299b031703048ac7984d2d", - "scope": "issues:reconcile (31 requests) after #2107/#2127-#2131 (ledger-only)", - "outcome": "0 pending afterwards", - "checks": "check:outstanding-issues; check:ledger-write-discipline; verify:pr-local docs scope" + "date": "2026-07-14", + "ref": "claude/medspacy-assertion-eval", + "head": "0ebe88bdc893f362f2793f8062d48656a3d70302", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-08-18", - "ref": "claude/rag-eval-scope-detection-23b6a2", - "head": "e077c75cf46dddefcc21c5cbfeff4bbb2078fd48", - "scope": "scripts/ci-change-scope.mjs rag_eval_changed classification (#SDQSFD) + change-scope self-test", - "outcome": "Fixed: src/lib/rag/** now sets rag_eval_changed=true so eval:rag:offline and eval:rag:adversarial:offline are selected in CI and verify:pr-local; legacy flat patterns unchanged; four new self-test assertions incl. the first negative case; no workflow edit needed (ci.yml and verify-pr-local.mjs consume the classifier output). PR #2127.", - "checks": "npm run verify:pr-local (18/18 steps, 671 test files / 7250 tests passed, exit 0); npm run check:ci-scope (self-test passed); verify:pr-local --dry-run --files src/lib/rag/rag-claim-support.ts before/after (check:rag:fixtures only -> eval:rag:offline + eval:rag:adversarial:offline); mutation check (removing the new pattern fails the self-test). No provider-backed command run." + "date": "2026-07-14", + "ref": "origin/claude/medspacy-assertion-eval", + "head": "0ebe88bdc893f362f2793f8062d48656a3d70302", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-08-18", - "ref": "claude/refresh-therapy-visual-baseline", - "head": "3d74403292d3b340a01de24008d23ea91c71a755", - "scope": "Refresh all six Linux visual baselines from hosted-CI artifact visual-baseline-32189416778 (main @ 9b1e7248) plus provenance and regenerated adoption manifest", - "outcome": "Approved — all six actual renders opened and reviewed before adopting; no source changed; provenance reviewerType:human is overstated for an automated pass and is flagged in the PR for owner confirmation", - "checks": "adopt-visual-baselines --write (6/6 replaced, capture kind refresh); check:design-system-adoption (54 components, 82 roots); vitest tests/adopt-visual-baselines.test.ts 4 passed; prettier --check provenance.json clean. No broader gate: PNG/JSON-only diff with no changed source failure path" + "date": "2026-08-20", + "ref": "claude/docling-shadow-extraction-runbook-942862", + "head": "0ec44604547f4adb3de0cd8fdb96982e2e4f67a1", + "scope": "packet B4 docling shadow extraction Gate F operator runbook (docs only)", + "outcome": "runbook-added;values-verified-from-code-and-gate-b-record;cost-cap-stated-2pct-and-5pct;rollback-triggers-named;fixtures-v2-caveat-explicit;three-unverifiable-values-flagged-and-queued-P3", + "checks": "verify:pr-local:11-gates-pass-0-fail;docs:check-links:2054-refs;docs:check-index:54-roots;docs:check-scripts:524-refs;docs:check-inventory:current;check:outstanding-issues:403-rows;check:ledger-write-discipline:pass;check:branch-review-ledger:pass;prettier:clean" }, { - "date": "2026-08-18", - "ref": "claude/restore-source-metadata-pin", - "head": "c5effece629b7eeadd96a4dd92bbc8c7de0cda71", - "scope": "restore .nullable() source_metadata pin in src/lib/rag/rag-row-contracts.ts after PR #2107 loosened it; add absent-key rejection test", - "outcome": "strict pin restored; 26/26 contract tests; offline 623/623; 36 golden", - "checks": "vitest rag-retrieval-row-contract 26/26; eval:rag:offline 623/623; check:rag:fixtures; tsc clean" + "date": "2026-08-27", + "ref": "ds-hazard-1-2-sweep (PR #2416)", + "head": "0ed48477cf427f95d6d1dc0999ea58be64153a4c", + "scope": "Run PR sweep: CI fix + review threads + drift resolution", + "outcome": "Before: PR was 1 commit behind main (mergeable_state=behind), 0 unresolved review threads, all 5 PR comments were bot rate-limit/CI-triage noise (Codex usage cap, Supabase preview skip, CodeRabbit rate-limited, Bugbot rate-limited, stale CI-triage comment referencing an earlier pre-merge head). Hosted CI on the existing head (1365ac08) was already green (Static PR checks, PR required, Build, Unit coverage, Production UI x3, Lighthouse, Safety checks all success) after the branch author's own earlier push. Action: merge-tree check against origin/main confirmed a clean merge (no conflicts); merged origin/main (1 commit ahead, an unrelated docs/test-infra commit) into ds-hazard-1-2-sweep locally and pushed (1365ac08..0ed48477). No review threads existed to reply to or resolve. After: local verification on the merged head all passed - whole-tree Prettier check clean, tsc --noEmit clean, eslint on touched files clean, and both design-system contract test files (tests/ckb-v2-token-contract.test.ts, tests/design-system-contract-utils.test.ts) passed 66/66. Hosted CI re-triggered on new head 0ed48477: Static PR checks, Lint, Typecheck, Build+bundle-budget, Production UI critical, Lighthouse budget, Safety and config checks, Caring Contacts database, PR policy, PR mergeability, Gitleaks, Semgrep, GitGuardian all completed success. Production UI (1)/(2)/(3) and Unit coverage were still in_progress after 30+ minutes of observation (well beyond their prior ~9 minute runtime on the same suite for the previous head) with no failure signal - deferred per the sweep's 30-min-per-run babysit cap; job steps showed steady forward progress (no stall/livelock signature) so this is not treated as a regression, just unobserved completion. No auto-merge was set on this PR; none was touched.", + "checks": "Local: npx prettier --check . (clean), npx tsc -p tsconfig.typecheck.json --noEmit (clean), npx eslint on touched src/tests files (clean, only expected CSS-file lint-ignore warnings), npx vitest run tests/ckb-v2-token-contract.test.ts tests/design-system-contract-utils.test.ts (66 passed). Hosted CI on merge commit 0ed48477: Static PR checks/Lint/Typecheck/Build+bundle-budget/Production UI critical/Lighthouse budget/Safety and config checks/Caring Contacts database/PR policy/PR mergeability/Gitleaks/Semgrep/GitGuardian all success; Production UI (1)(2)(3) and Unit coverage still in_progress at time of this record (deferred, no failure). No provider-backed live-Supabase/OpenAI/eval commands run." }, { - "date": "2026-08-18", - "ref": "claude/revert-2065-claim-condition-regression", - "head": "df1266970dc7ba056142b6c39b8311c1914e473d", - "scope": "revert PR #2065 (claim-leading for/in condition binding) after live canary 32097916649 regressed agitation-im-po-route-short-terms to 0 citations; deterministic extractive path bisected to 964869fc3", - "outcome": "single-commit revert; probe restores 5 citations; offline 614/614; confirmation canary owed post-merge", - "checks": "vitest rag-claim-support 157/157; eval:rag:offline 614/614; check:rag:fixtures 36 golden; live probe x2" + "date": "2026-08-17", + "ref": "claude/remove-clinical-entries-text-0vtmot (PR #2049)", + "head": "0ef1e53c10e2a2fcf7268347a915ab0f5e8b123b", + "scope": "Run PR sweep: main sync + CI recovery", + "outcome": "New PR opened mid-sweep. Synced clean (no conflicts, was already current with main once fetched). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno) once. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch (no-op, already current); rerun_failed_jobs; PR required: success" }, { - "date": "2026-08-18", - "ref": "claude/s2-rag-composition-7330b0", - "head": "aab67a1849472ab2db47bba9b2b63d24cc06cec3", - "scope": "src/lib/rag/answer-composition.ts (new), src/lib/rag/rag.ts buildAnswerInput + answerSections maxItems 6, src/lib/rag/rag-answer-instructions.ts, src/lib/rag/rag-versioning.ts (prompt v19, schema v4), src/lib/openai.ts prompt-cache key, adversarial baseline re-capture, HANDOVER/README/behaviour-map docs, tests", - "outcome": "packet S2 (A2 + A3) built and self-reviewed: intent-conditioned related_information_menu line + moderate length targets; RAG behaviour change, canary pair 32100681177 -> post-merge dispatch owed; PR opened for owner merge", - "checks": "focused vitest 122/122 (answer-composition 9, prompt pins 5, rag-answer-fallback, openai-cache); check:maintainability-budgets rag.ts 4362/4362; check:rag:fixtures 36 cases / 26 suites; eval:rag:offline 26 suites / 623 tests; eval:rag:adversarial:offline 25/25 (3 KNOWN_DIVERGENCES pinned); check:production-readiness (provider env absent in worktree); verify:pr-local heavy scope: lint/typecheck green, unit 7023 passed / 1 pre-existing Windows path flake in tests/session-start-hook.test.ts reproduced at merge base 4ea310e48; build green; medication checks green" + "date": "2026-07-25", + "ref": "`cursor/fix-mode-switch-lag-22f6`", + "head": "0ef62ff521fb9f0457f685e9d2f50a24d640e663", + "scope": "Frontend-architecture review: loading/navigation performance for modes/pages", + "outcome": "No P0. P1: (1) GlobalSearchShell statically imports ClinicalDashboard into shared (search-app) layout client graph — every namespaced mode pays dashboard module weight; (2) ClientHydrationBoundary blanks standalone mode children until hydrate — defeats RSC paint for DSM/factsheets/etc. P2: ClinicalDashboard↔standalone remount + grid-template-columns transition; dashboard URL sync still useEffect+rAF (shell already render-time); ToolsHub ssr:false on /?mode=tools; MutationObserver portal rebind cost on mode-home slot changes; SearchCommandProvider value tied to query in shell. P3/#007: /tools vs /?mode=tools dual entry (PT-11 vs nav). Quick wins: dynamic() ClinicalDashboard; remove/narrow ClientHydrationBoundary; point tools href to /tools. Larger: unify shells / extract shared chrome.", + "checks": "Static architecture review of SharedSearchAppShell/GlobalSearchShell/ClinicalDashboard/MasterSearchHeader/app-modes/search-route-ownership/mode homes/tools routes; prior mode-switch ledger rows at b9484396/775d15ad noted. No browser, verify:ui, bundle measure, or provider-backed checks." }, { - "date": "2026-08-18", - "ref": "claude/s3-follow-up-suggestions-95e160", - "head": "b0544fcafaf9effad83b3a379e580ccf68c921fa", - "scope": "packet S3 / A4: menu-derived, evidence-gated follow-up chips in src/lib/answer-follow-up.ts + focused unit and DOM proof", - "outcome": "Approved - deterministic composition only; candidates come from the S2 related-information menu, gated on retrieved evidence, suppressed when the answer or an emitted section of that kind already covers them; no src/lib/rag edit, no ClinicalDashboard change, no new module/field/render block; generation prompt untouched", - "checks": "answer-follow-up 27/27; answer-follow-up-chips DOM 6/6; answer-composition 9/9; lint; typecheck; build compiled 2.6min + client bundle secret check; eval:rag:offline 26 suites/623 tests (36 golden cases); eval:rag:adversarial:offline 25/25; check:medication-interactions; check:medication-lexicon-report; full unit suite 7079 passed / 8 failed in 6 unrelated files - session-start-hook reproduced at merge base e1749bf8d, the other five pass in isolation on this branch (Windows parallel-load timeouts)" + "date": "2026-07-29", + "ref": "codex/document-results-responsive-polish", + "head": "0f02d086e0716ed072df5fe73a7962b6c02891d1", + "scope": "document results responsive UI polish", + "outcome": "P2 tap-target review finding fixed with 48px actions and regression coverage", + "checks": "focused production Playwright 1 passed; eslint passed; format passed; diff-check passed" }, { - "date": "2026-08-18", - "ref": "claude/schema-work-mem-codify-6200f1", - "head": "3e73b8bd43a689b9c6f8c83b9cbfddede0bb231b", - "scope": "supabase migrations, schema.sql (PR #2106 Phase 3 codification review)", - "outcome": "Reviewed via supabase-schema-guardian: signatures, ordering, idempotency, schema.sql/migration consistency, RAG-impact claim, and guard-migration contract all verified correct against the diff. Fixed one concern (forensics runbook offered mark-applied-by-CLI as equal to db push for three migrations shipping no validation guard — narrowed to require db push and forbid migration repair) and added SET LOCAL lock_timeout/statement_timeout to the two migrations taking ACCESS EXCLUSIVE locks on hot tables (documents, ingestion_jobs, document_chunks), matching the 20260804110240 pattern. No schema.sql or function-body change from this review; no live Supabase access.", - "checks": "check:migration-role passed; vitest tests/migration-history-guards+hosted-migration-role-guard+supabase-schema+drift-detection+search-health-index-coverage+guard-push.test.ts 141/141 passed; prettier --check on the edited doc passed; npm run format whole-tree no-op; drift:manifest Docker replay not run (Docker daemon unavailable in this sandbox) — CI Migration replay + Unit coverage + Static PR checks + PR required all green on the prior head and these edits are additive SQL/prose only" + "date": "2026-07-30", + "ref": "codex/chat-frontend-skill-selection-0978", + "head": "0fa79cd69a7e4374de653a0d92145d6ff569af10", + "scope": "branch-cleanup", + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "dependency blobs byte-identical to merged PR #1456; unique review record copied; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-08-18", - "ref": "claude/schema-work-mem-codify-6200f1", - "head": "cc46d8164537306436a42fdfcf4116c0b56e0449", - "scope": "db remediation Phase 3 (reframed): codify live SET work_mem on ten match_* RPCs, eight schema-only objects, three chain-stale columns; forensics section Phase 3; #316 + #183 inbox requests (PR #2106)", - "outcome": "Reviewed and handed off; no function body changed; ten manifest def_hash equal live production hashes 10/10; staging proof deliberately not run (Phase 2 re-measure absent on main); production window listed in PR body", - "checks": "drift:manifest 75s; check:migration-role passed; vitest 8 schema/drift files 149 passed; verify:pr-local all stages green except test (3 red: session-start-hook env + two host-load timeouts, both pass in isolation 182/182); check:rag:fixtures 36/26 passed; medication checks up to date; pr-policy ok clinicalRisk preflight satisfied" + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "0fbb5686ace5368f6a21b07089db886e639c095a", + "scope": "PR #1621 babysit standalone-shell review fixes", + "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", + "checks": "ledger:append correction; merge-tree clean vs main" }, { - "date": "2026-08-18", - "ref": "claude/search-recovery-rail", - "head": "7510216c672f293d26b8fdfe04a9ed3fd286b7f6", - "scope": "SearchResultsEmptyState rail restyle + desktop tap floor restore (PR #2147)", - "outcome": "approved — presentation-only; no copy, testid, heading-level, live-region or handler change; band untouched", - "checks": "typecheck 0 errors; eslint+prettier+format:changed clean; 10 DOM files/168 tests passed; chromium ui-accessibility 16 passed; full verify:ui not completed (lock contention + host exit)" + "date": "2026-08-21", + "ref": "claude/clever-bohr-w87uiz", + "head": "0fcd789a8625f1abfe120cd1a274166948537d71", + "scope": "Claude Code web container parity, code half of the PR #2227 split: tiered provisioner, cloud-profile applier, CLAUDE.md/settings/memory snapshot, SessionStart registration, contract doc, 18 tests", + "outcome": "PR #2236 opened (draft), replacing #2227. Vendored skill tree moved to PR #2238 so this diff is 28 files instead of 543; CodeRabbit's 150-file limit is why #2227 received no automated review at all. The applier already guarded skills on existsSync; the test file now states which assertions need the tree and a new test pins that guard, so this PR stands alone. Container tiers plugins/gh/deno/browsers/python remain unexecuted anywhere — no Linux container was available to run them in, and the first real cloud session is the acceptance test", + "checks": "lint gate-receipts pass 3950 files, typecheck gate-receipts pass 3950 files, npm run test full offline suite 697 files 7694 passed 6 skipped exit 0, vitest tests/claude-cloud-profile.test.ts 16 passed 2 skipped without the tree and 18 passed with it, format:changed whole-tree escalation all files pass, docs:update no drift 254 scripts 255 npm scripts, docs:check-links 2082 refs resolve, check:branch-review-ledger pass, git merge-tree against the #2238 branch exit 0 no conflict" }, { - "date": "2026-08-18", - "ref": "claude/services-navigation-removal-7bnknn", - "head": "ba279bdd0b2fdc5d4dfa2c88dd30d57ee94be330", - "scope": "src/components/services/services-navigator-page.tsx (referral progress stepper phone centering)", - "outcome": "PR #2103 opened — verify:pr-local complete (7091 tests, build, lint, typecheck, RAG fixtures, medication checks all passed)", - "checks": "verify:pr-local" + "date": "2026-07-30", + "ref": "pr/1476", + "head": "0fd5a3cdba612d30cfd75ea997177f6e29c34bd3", + "scope": "docs: record ESLint 10 ecosystem blocker", + "outcome": "approved after PR 1483 sync; ESLint blocker and issue 105 correction preserved", + "checks": "issue/ledger; docs inventory/links/scripts; Prettier; diff-check" }, { - "date": "2026-08-18", - "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", - "head": "c8e171f504b6eadcfe99cf724aa03d6f5bca43c8", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "mergeable_state blocked = CI still in flight, not failing; only non-required 'GitGuardian Security Checks' app check showed conclusion:failure. Diff inspected (get_diff): pure UI/services-facet code, a docs ledger record, and a design-system manifest update - no secret-shaped content. Very likely a false positive on the added record filename's 64-char hex hash (docs/branch-review-records/*.record.md), not a real credential leak. GitGuardian is not in the pr-required aggregate (changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify), so no merge-blocking action taken; flagged for the user to confirm via the GitGuardian dashboard link on the check.", - "checks": "get_diff inspected manually; no local gates run; no provider-backed checks run." + "date": "2026-08-14", + "ref": "claude/rag-zod-hardening-tranche1", + "head": "0fded0878b6f8e35ef50b8c97a63af6e78e1f716", + "scope": "rag.ts retrieval RPC row Zod shape contract (ledger #212 tranche 1)", + "outcome": "Approved — 4 unchecked as SearchResult[] casts on retrieval RPC rows replaced with assertRetrievalRows; no ranking/ordering/scoring logic touched", + "checks": "verify:pr-local (all steps green except pre-existing check:medication-lexicon-report staleness on main); test 602 files/6517 passed; typecheck exit 0; eval:rag:offline 36 golden cases 23 suites, 579 passed" }, { - "date": "2026-08-18", - "ref": "claude/settings-development-section (PR #2109)", - "head": "5bda0941ea2b257af23f569a25e7659bcebcdf40", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: Static PR checks failing (design-system-contract ratchet — legacyShadowAliases at settings-dialog.tsx increased 3 -> 4 via var(--shadow-soft) in the new Development section), 0 unresolved review threads, branch 1 commit behind main (clean merge-tree). After: synced origin/main into the branch via update_pull_request_branch (no conflicts, base now 5ae2bb6e), fixed the shadow-alias regression by switching to shadow-[var(--e2),var(--shadow-inset)] (same pattern as account-setup-dialog.tsx), pushed b1f9dac6..5bda0941. No review threads existed to action.", - "checks": "npm run check:design-system-contract -> 'Design-system contract passed'; node scripts/run-vitest.mjs run tests/settings-dialog-actions.dom.test.tsx tests/client-secret-surface.test.ts -> 'Test Files 2 passed (2) / Tests 13 passed (13)'; npx tsc -p tsconfig.typecheck.json --noEmit -> exit 0 no diagnostics; npx eslint settings-dialog.tsx -> exit 0; npx prettier --check settings-dialog.tsx -> 'All matched files use Prettier code style!'; no provider-backed checks run" + "date": "2026-07-30", + "ref": "claude/x3-rag-coverage-gate-qx9j7d (PR #1454, squashed as 102bb1f)", + "head": "102bb1f5edf09e666d1be5934ff5dfb2aa5abcf0", + "scope": "X3/#086 evidence coverage gate extraction from rag.ts into rag-coverage-gate.ts", + "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 5030->4780, budget ratcheted to 4780, no back-edge, public re-export preserved; squash captured 100% of branch content, nothing orphaned", + "checks": "workflow:rag-lab, focused vitest 81/81, check:maintainability-budgets 4780/4780, check:rag:fixtures 36 golden, eval:rag:offline 567/567, typecheck, lint, check:knip, format:check, verify:cheap 4569 passed, npm test 4569 passed, verify:pr-local build+bundle-scan, post-merge npm test on main 4574 passed" }, { - "date": "2026-08-18", - "ref": "claude/settings-development-section (PR #2141)", - "head": "2e7325681c2fdb0909baba6709ca64bfe5f61692", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No unresolved review threads (0 threads; only bot noise: Codex/CodeRabbit usage-limit notices, Supabase branching skip). Required CI (pr-required: changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify) has never run on this head because mergeable_state is dirty and GitHub cannot build the merge ref (only pull_request_target PR-mergeability/PR-policy/GitGuardian ran). git merge-tree origin/main shows real content conflicts in src/components/clinical-dashboard/settings-dialog.tsx and tests/settings-dialog-actions.dom.test.tsx: this PR's first commit (34af56a6, feat(settings): add a gated Development section...) duplicates already-merged main commit bf85de98 (PR #2109, same title/feature, landed 2026-08-18 20:36 UTC, ~20 min after this PR opened) with only a cosmetic shadow-token diff. This is a semantically ambiguous product-history conflict (near-duplicate commit vs a since-merged PR), not a mechanical one (no lockfile/generated/adjacent-hunk fix applies) — per run-pr guardrails, skipped drift resolution rather than merge --abort/wholesale ours-theirs. No commits pushed, no branch state changed. Left for human: decide whether to drop/rebase the duplicate first commit (keeping only the second commit 2e732568 adding src/app/mockups/development/page.tsx) or close #2141 as superseded by #2109 — related to PR #2135 (Development mockup page) handled in parallel by another agent.", - "checks": "git merge-tree --write-tree origin/main origin/claude/settings-development-section (conflict detected, non-mutating); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; npm run ledger:lookup (NOT REVIEWED at this head, confirmed pre-action). No provider-backed gates run. No local build/lint/test run — no code fix was attempted since the blocking issue is an unresolved product-history conflict, not a reproducible CI failure." + "date": "2026-08-08", + "ref": "cursor/differentials-query-lit-stream-8bc0", + "head": "106124d8084a1eab2eddab828076d10f96d3cedc", + "scope": "differentials diagnoses query-lit stream", + "outcome": "implemented query-lit Diagnoses stream with match jump, related clusters, compare select, browse chapters; PR #1757", + "checks": "unit:pass;lint:pass;typecheck:pass;verify:ui:not-run" }, { - "date": "2026-08-18", - "ref": "claude/therapy-compass-convergence-2iufoh (PR #2131)", - "head": "847ff291b55a69cff1029648754d316a79ca1bef", + "date": "2026-08-07", + "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", + "head": "1091b17933beba655dac3e37f0e5c1bc4cdfb679", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No drift (0 behind main, base sha matches origin/main exactly) and no CI fixes needed: all required checks green (PR required, Static PR checks, PR policy, PR mergeability, GitGuardian, Semgrep, Gitleaks all success; heavy jobs correctly skipped for doc-only scope). 1 unresolved review thread (CodeRabbit P3 nit: format / placeholders as code in the immutable record file) — replied declining the direct edit because the record filename is sha256(row) per reviewRecordPath() and check-branch-review-ledger.mjs asserts filename==hash(content), so hand-editing would desync the content-addressing invariant; left open for a human --supersede decision, not resolved.", - "checks": "mcp__github__pull_request_read get/get_status/get_check_runs/get_files/get_comments/get_review_comments (live); git fetch + git rev-list --left-right --count origin/main...origin/claude/therapy-compass-convergence-2iufoh (0 behind); no local gates run — no code change made, no CI fix required; no provider-backed checks run" - }, - { - "date": "2026-08-18", - "ref": "claude/therapy-mode-consistency-a466b0", - "head": "092633eb7479b21796790a33b0ff7a3a7d4cf05c", - "scope": "prlanded", - "outcome": "Landed correctly. PR #2122 squash-merged as 092633eb; verified by content, not ancestry: two-dot 'git diff --stat 092633eb 7733eb8c' is empty, so nothing was orphaned by the auto-merge race. The pre-merge sync of main into the branch was also proven clean — its tree hash equalled git merge-tree's automatic result exactly, so no hand resolution could have silently reverted content (the failure mode #324 describes). Branch reports 13 ahead of main, which is the squash artifact, not unlanded work. Remote head deleted by GitHub on merge; four inbox requests ride on main awaiting issues:reconcile.", - "checks": "git diff --stat empty; merge-tree hash equality on the pre-merge sync; post-merge verify:cheap green — Test Files 673 passed (673), Tests 7275 passed | 4 skipped (7279), Design-system contract passed (784 production files), hosted migration-role guard passed" + "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", + "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" }, { - "date": "2026-08-18", - "ref": "claude/therapy-mode-consistency-a466b0", - "head": "244accbde60c5b39f9a91c7f2096053a2f2c5a65", - "scope": "Therapy Compass shared-component convergence B3/C/D: control recipes to shared Button, 16 card surfaces to card-recipes cardSurface/heroCard, six page headers to shared PageHeader, plus two strengthened responsive-contract assertions", - "outcome": "Approved for review as PR #2122 — 19 button call sites converted with per-screen one-filled-command checks, all 16 card surfaces converged (compare table scroll frame deliberately excluded as a frame not a card), six of nine h1 converted (detail hero, patient-handout title and placeholder hero left; PageHeader renders a header element that print CSS hides unconditionally). therapyBtn retained: still the affordance for ~20 non-Button raw call sites. Ratchets fell, none rose.", - "checks": "eslint clean; tsc --noEmit clean; verify:pr-local Test Files 673 passed (673), Tests 7274 passed | 4 skipped (7278); build re-run standalone exit 0 after BUILD_REFUSED_DEV_SERVER; check:bundle-budget all routes within tolerance; verify:ui 447 passed (20.4m) on Playwright-matched Chromium 1234; check:design-system-contract passed" + "date": "2026-07-13", + "ref": "codex/pr-597-fix", + "head": "10b89800ce1aef97bea10f69d58dc54fa13a45c2", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-18", - "ref": "claude/therapy-modes-visibility-bb37d2", - "head": "9b4b3056b1f4ef7355e8947d6b210dee63de182e", - "scope": "Therapy production visibility: remove devOnly gate, route-layout not-found gate and production review filter; add catalogue review notice + needsReviewCount; retire PLAYWRIGHT_OFFLINE_MODE bypass; update pinning contracts", - "outcome": "Approved — reachability now disclosed rather than gated; per-record reviewStatus badges retained on every surface; single-commit revert restores all three gates", - "checks": "verify:pr-local (docs/ledger/lint/typecheck passed; test failed only on unrelated load-flaky tests/codex-cloud-setup.test.ts, which passes in isolation at HEAD and with the change); build from wiped .next compiled successfully with all 9 therapy routes; check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report passed; focused therapy+route-reachability contracts 77 passed; eslint+tsc clean; dev-server route 200s. verify:ui not run - coordinator heavy lock held by another worktree" + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr3-storage-unification", + "head": "10b89800ce1aef97bea10f69d58dc54fa13a45c2", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-18", - "ref": "codex/caring-contact-design-20260815 (PR #2142)", - "head": "bfc15e366a457e3606168ae0bc215562b817968c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Skipped: mergeable_state dirty is a genuine content conflict (merge-tree origin/main vs branch shows add/add and content conflicts in ~10 files: docs/caring-contacts/accessibility-acceptance.md, docs/scripts-index.md, docs/site-map.md, playwright.config.ts, src/app/mockups/caring-contacts/page.tsx, plus several src/components/caring-contacts/mockups/*.tsx and tests), not staleness -- branch is 1 commit ahead of merge-base 88e3117f while main is 288 commits ahead. PR body states this branch is an archive, not a merge candidate (superseded by #2095). PR policy check also fails because the Clinical Governance Preflight checklist (0/7 boxes) is unchecked in the PR body, but editing PR title/body is outside sweep authorization. No unresolved review threads found (get_review_comments: 0 threads; get_comments shows only bot rate-limit/status notices). No fixes attempted; no commits, pushes, or merges performed.", - "checks": "No local gates run (no code change attempted). GitHub reads only: pull_request_read get/get_status/get_check_runs/get_comments/get_review_comments, get_job_logs for PR policy job 95794723757. git fetch --unshallow + git merge-base + git merge-tree --write-tree used read-only to classify the conflict. No provider-backed checks run." + "date": "2026-08-15", + "ref": "PR #1968 / claude/ledger-reconcile-batch-4", + "head": "10beb5ea191043e3c425aa7ff32533e93e9f68de", + "scope": "unblocking PR review-and-fix", + "outcome": "Fixed #316 forensic-bound and inventory correction through the serialized ledger queue; merged current main cleanly.", + "checks": "ledger-inbox and outstanding-issues self-tests plus checks; ledger write discipline; diff --check (npm 11.17 setup blocked by sandbox cache)" }, { - "date": "2026-08-18", - "ref": "codex/caring-contact-linked-mockup", - "head": "fde840e6cdddc823245f1c9f239a51aa1951f93c", - "scope": "Caring Contact linked prototype: 13 mockup routes, 17 mockup components, docs/caring-contacts, 6 test files, playwright/package script registration, mockups bundle-budget baseline", - "outcome": "Approved for draft PR — mockup-only scope, no production route/API/library change; merged up to main and re-verified", - "checks": "verify:pr-local (lint, typecheck, docs/ledger guards passed); vitest 7033 passed / 4 failed, all four cleared as pre-existing or full-suite contention (session-start-hook fails identically on untouched origin/main; other three pass in isolation); next build compiled; bundle-budget production within tolerance, mockups baseline refreshed 296.0->370.2 KiB; check:rag:fixtures 36 cases; medication interaction + lexicon checks passed; post-sync lint + typecheck exit 0" + "date": "2026-08-13", + "ref": "codex/specifier-map-compare-20260813 (PR #1912)", + "head": "10f33d354beb04834c1429bf3aecdb5c7b4d0bc6", + "scope": "PR #1912 heavy review: stale section selection repair", + "outcome": "Validated and fixed one PR-introduced P2 history race: an obsolete animation-frame selection could override browser back navigation; added a focused popstate regression. No other high-confidence defects found in the nine-file PR delta. The latest main was merged independently at aa51b311de8082bd1bda65d5ee74827a164a905a before publication, with no conflict; no further base sync was performed.", + "checks": "Deterministic old/fixed stale-frame model: reproduced then passed; TypeScript transpile PASS for hook and regression; git diff --check PASS; exact-head CI at 90a731e54092ac9b13fff7d90f8a071ac105d8a8 was green before repair; no provider-backed checks run locally." }, { - "date": "2026-08-18", - "ref": "codex/chat-dictionary-ultimate-dictionary-ultimate", - "head": "3a8271bd7a9aa13b2a323cd29e84f294de211690", - "scope": "Dictionary mode: 8 production routes, 96-entry governed catalogue, shared search/filter lib, launcher/ModeNav/universal-search/tools-catalogue integration, design-system adoption manifests", - "outcome": "Approved for draft PR with one declared red gate — production bundle budget +10.5% (main alone is +7.8% of a 2026-08-13 baseline; this branch adds 33.9 KiB across 11 dictionary-exclusive chunks). Baseline deliberately not refreshed; decision left to review", - "checks": "verify:pr-local (lint, typecheck, docs/ledger guards passed); vitest 6990 passed / 2 failed, both cleared (private-access-routes passes in isolation 145/145; session-start-hook fails identically on untouched origin/main); next build compiled; check:client-bundle-secrets passed; check:bundle-budget FAIL on production bucket (documented in PR body), routes and mockups within tolerance; check:rag:fixtures 36 cases; medication interaction + lexicon checks passed; post-sync lint + typecheck exit 0" + "date": "2026-07-30", + "ref": "codex/review-pr1431", + "head": "111291f3ed23164ab9b43690e0ae7e47553de47c", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1431 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-08-18", - "ref": "codex/ward-management-design (PR #2140)", - "head": "ae79943faff5487f9e5f342de4a75798d2b7dfe7", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Resolved a real 7-file merge conflict against main's icon/tone registry refactor. Ported the ward-management icon into src/lib/category-identity.ts's shared registry (added ward-management to ToolCatalogId, an activity CategoryIconKey, and the TOOL_ICON mapping) rather than resurrecting the deleted local maps in applications-launcher-page.tsx/tools-search-results-page.tsx. Unioned playwright.config.ts's regex alternatives. Regenerated docs/design-system/* via design-system:adoption:update. Fixed a stale route-count assertion in tests/design-system-adoption.test.ts. Pushed via SKIP_LEDGER_WRITE_GUARD=1 after independently verifying check:ledger-write-discipline passes cleanly against the true merge-base (known stale-tip guard false positive).", - "checks": "typecheck clean, lint clean, tests/playwright-project-isolation.test.ts 5/5, tests/category-identity.test.ts + clinical-dashboard-merge-artifacts.test.ts + design-token-contract.test.ts + mobile-interaction-regressions.test.ts + favourites-auth-gate.test.ts 80/80, tests/design-system-adoption.test.ts + design-system-target-evidence.test.ts + design-system-contract-utils.test.ts 91/91, tests/route-reachability.test.ts 5/5, format clean, check:ledger-write-discipline passed for 4666708b2f48..HEAD" + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "111aee5f5d1c6aadf054632148f48dcea06626b2", + "scope": "merge main + adopt main RAM-guard", + "outcome": "Merged origin/main (#1309). Resolved guard/Dockerfile conflicts by taking main's evaluateNextBuildRamGuard + ALLOW_LOW_RAM_BUILD Docker path. Prior tip Unit/Build green; unique product delta retained (clinical-search aliases/escalation, sheet trap, Playwright SW block).", + "checks": "Focused Vitest 81/81; tip `111aee5f`; no provider checks." }, { - "date": "2026-08-18", - "ref": "codex/ward-management-design (PR #2140)", - "head": "d7f5b76e29aa2ca489c3f3401f19bd18508e462f", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No fix applied — branch history is unrelated to main (git merge-base/merge-tree fails: 'refusing to merge unrelated histories', root commits differ entirely). GitHub cannot build refs/pull/2140/merge, so pull_request (ci.yml/pr-required) never ran; only pull_request_target jobs ran (PR mergeability: failure — real merge conflict; PR policy: failure — Clinical Governance Preflight unchecked, 7/7 boxes empty in template). 0 unresolved review threads (only bot rate-limit/ignored notices). Left for human: branch needs re-basing/re-creation onto main or history investigation — out of scope for mechanical sweep; PR body also needs governance section completed by author, which this session may not edit.", - "checks": "git fetch/merge-base/merge-tree (local, offline); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; mcp__github__actions_list + get_job_logs on both failing workflow runs. No provider-backed checks (build/test/eval) run — no code fix was possible or attempted." + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch-final", + "head": "112ac9ba71f78df6e8d05d0e3fa2e3adf6ba4705", + "scope": "PR #1480 Docker upload-limit review finding", + "outcome": "FIXED P1: the Docker build now receives both server and browser limits, and container CI proves a matched lowered 50 MB pair.", + "checks": "check:upload-limits and check:github-actions passed; focused/typecheck/container rerun pending exact head." }, { - "date": "2026-08-18", - "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", - "head": "90068a304228240e7293e0ccd80642a24fb8ddc5", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", - "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." + "date": "2026-07-25", + "ref": "PR #1187 / `cursor/fix-mode-switch-lag-22f6`", + "head": "113de416970cceea8952df55b3fe41cd7a2ca82a", + "scope": "Explicit thorough open-PR review", + "outcome": "DO NOT MERGE. CONFLICTING on `globals.css` (semantic vs main motion tokens). P1: `isDashboardModeHref` early-return breaks Answer→Documents cross-mode search (`/documents/search` keeps ClinicalDashboard mounted; stale mode + `run=1` can fire unintended answer generation). P2: dock reveal snap; phone dock flash on mode-home nav; forced scrollTop=0 on every pathname; skeleton min-height overshoot. PR body mismatched.", + "checks": "Static path trace through app-modes/search-route-ownership; merge-tree confirmed globals.css conflict. Hosted CI previously red (Static PR + Production UI). No provider calls." }, { - "date": "2026-08-18", - "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", - "head": "70bc5c7a4d7973edd6f0ad39ecfb6d7952dfacb3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", - "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." + "date": "2026-07-28", + "ref": "PR #1295 / `fix/audit-remediation-from-main`", + "head": "11585678d28a9f399217429972e528b89b7f2466", + "scope": "CI fix + main sync + Bugbot", + "outcome": "FIXED. Unit coverage failed because therapy-compass contract still asserted `lg:grid-cols-[repeat(auto-fit,minmax(15rem,1fr))]` after intentional `sm:` breakpoint change in mode-home-template. Updated contract to `sm:`. GitHub CONFLICTING/DIRTY was stale base (30 behind); merge-tree clean; merged origin/main (ledger union). Bugbot: zero cursor[bot] review findings/threads. No unresolved review comments to resolve.", + "checks": "Focused vitest therapy-compass-responsive-contract 10/10; merge origin/main CLEAN; no provider-backed checks." }, { - "date": "2026-08-18", - "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", - "head": "bb5e4d1158639d678c75c8fd85f5e3fd608e2936", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Ledger throttle showed NOT REVIEWED at cda7ff21b. Found the substantive fix (claude-code-action pin v1.0.187->v1.0.193 allowlisted in scripts/github-action-pins.mjs) was already present at that head from a prior sweep commit 907ca970; checks were already green (Static PR checks/PR required/PR policy all success). Branch was 25 commits behind main; local merge tripped the pre-push ledger-write-discipline guard on the far-behind old remote tip (guardBaseForRange uses the branch's prior remote SHA for a fast-forward push, not mainMergeBase), so synced via authenticated GitHub update-branch API (human identity BigSimmo) instead of a local push, landing cleanly at bb5e4d115. Zero unresolved review threads (get_review_comments returned 0); the one PR comment is a stale 2026-08-17 ci-triage bot note superseded by the later fix commit, no reply needed. No conflicts, no code changes beyond the dependency-bump PR's own prior content. CI re-triggered on the new head and left running (not babysat) — Static PR checks/Semgrep/GitGuardian in_progress at handoff, PR mergeability and PR policy already green.", - "checks": "npm run check:github-actions (pass), npm run check:ci-scope (pass), npm run check:pr-policy (pass); npm run check:ledger-write-discipline (pass, base=origin/main); local git merge-tree confirmed clean merge; no provider-backed checks run" + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "1166fcff041c7f7e3e59bbef9e758307e3b0b89e", + "scope": "Automated main sync after #1254", + "outcome": "APPROVE pending exact-head required CI. The repository branch-sync workflow merged `origin/main` `4d54abfa4d467b16e5e2f0fe3f16b8b3b52bc967` with a clean merge tree. Feature scope is unchanged; the only overlapping task-adjacent file was `tests/ui-tools.spec.ts`, where main's visible-root hardening and this PR's live service-shell scope both remain intact. No new product conflict or review finding.", + "checks": "`git merge-tree --write-tree` clean; three-dot feature inventory reviewed; branch-review-ledger guard PASS; focused header/Therapy contracts 23/23; exact-head hosted CI pending. No provider-backed checks." }, { - "date": "2026-08-18", - "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", - "head": "8e81a7d708368eb19065b710879fe82522746460", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR behind main by 25 commits (mergeable_state=behind), 0 unresolved review threads, prior CI run (old head 5ba295de) green on PR required/static-pr/change-scope with a stale GitGuardian flag on an unrelated historical commit. Actions: synced via GitHub server-side update_pull_request_branch (clean merge, no conflicts -- confirmed offline with git merge-tree first); locally ran npm ci --include=dev, typecheck, lint, and the full unit suite against the bumped dev dependencies (all green) before syncing, to validate the bump itself causes no compat breakage. Local plain git push was attempted first but blocked by guard-push.mjs's ledger-write-discipline guard -- a false positive: for this fast-forward push the guard compares against the branch's own stale pre-sync remote tip (25 commits behind main) rather than main's tip, so files already reconciled on main via other PRs read as newly-introduced. Used the GitHub API branch-update path instead (documented primary method for behind-but-clean PRs), which bypasses the local hook and is what CI's own LEDGER_WRITE_BASE_SHA (PR base sha) would correctly evaluate as clean. No commits pushed to the branch beyond the sync merge; no code fix was needed. 0 review threads before or after. After: hosted CI re-triggered on new head 8e81a7d70; at record time Change scope/PR mergeability/PR policy/Gitleaks/Semgrep are green, Static PR checks and Container image build are still in_progress, other heavy jobs (build/coverage/migration-replay/production-ui/lighthouse) were skipped by the change-scope classifier for this devDependency-only diff, and the PR required aggregate has not yet re-run against the new head. GitGuardian shows failure but is a confirmed pre-existing false positive (canary token in tests/rag-adversarial-fixtures.test.ts already fixed on main at dd5b8043) unrelated to this PR's diff and not part of the required check set -- no action taken.", - "checks": "Local: npm ci --include=dev (clean), npm run typecheck (pass), npm run lint --max-warnings 0 (pass), npm run test (673 test files, 7281 passed, 4 skipped, 0 failed). No provider-backed checks run. Hosted CI retriggered by branch sync; not fully settled at record time -- see outcome for per-job state." + "date": "2026-07-24", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "11776696ddaa4e3d41f395ea35c22075e3144e7e", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-08-18", - "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", - "head": "b7e4143ca01ebac062327bfaeef7f18efe13f978", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", - "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." + "date": "2026-07-28", + "ref": "claude/branch-review-ledger-fixes-42575f", + "head": "11a4ed746be7a83b144876f7a16948cad280df25", + "scope": "branch review ledger + review-doc process review and repair", + "outcome": "Repaired the ledger and closed the loop that corrupted it. Found: 146 mojibake lines from non-UTF-8 hand-appends, 46 duplicate records the mojibake hid from the exact-duplicate guard, 21 wrong-width rows (unescaped prose pipes / merged Scope+Outcome cells), 4 records written as a heading+bullet block inside the table (invisible to every row parser and splitting the table), and 137 HEADs recorded as prose/abbreviations that no rev-parse lookup could match - so the throttle the ledger exists for silently never fired. Restored 140 lines byte-exact from git history, repaired 6 residual separators, converted the 4 block records, dropped exact duplicates, normalised all 1067 rows to six cells. Added scripts/branch-review-ledger.mjs (lookup + append), hardened check-branch-review-ledger.mjs (mojibake, cell width, heading records, real dates, table gaps, and from 2026-07-29 resolvable HEADs + near-duplicates), fixed the escape-unaware cell split and exact-SHA compare in sweep-branch-ledger.mjs, and repointed AGENTS.md, codex-review-protocol.md, branch-cleanup-guide.md, docs/README.md and 12 skill/agent files at the two commands.", + "checks": "npm run check:branch-review-ledger PASS (1067 records); vitest tests/repo-hygiene.test.ts 24/24 PASS; npx tsc --noEmit clean; eslint on changed scripts/tests clean; prettier --write applied; docs:check-scripts 379 refs PASS; docs:check-links 1273 refs PASS; docs:check-index PASS; check:gate-manifest PASS; check:ci-scope PASS. npm run typecheck was blocked by another worktree holding the heavy-run lock, so tsc ran directly. No provider-backed checks run." }, { - "date": "2026-08-18", - "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", - "head": "38573e557430493651925d093ca3f462e41f1be9", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "CI already green at head (PR required: success, Static PR checks: success, Container build-and-verify: success) prior to sweep; 0 unresolved review threads (GitGuardian test-fixture secret + stale CI-triage comment, informational only, not review threads). Branch was 25 commits behind main with a clean merge-tree; local merge of origin/main (a9552eb4) succeeded with zero conflicts and npm ci passed, but git push was blocked both times by the local pre-push ledger-write guard (guard-push.mjs), which bases its ledger-transaction check on the OLD remote tip of this PR branch (an ancestor of the merge commit) rather than origin/main -- so ~47 outstanding-issues-inbox/applied/*.json files that main had already reconciled since this Dependabot branch was created were flagged as introduced-without-moving-pending. Confirmed the underlying check-ledger-write-discipline.mjs script itself passes cleanly against the correct base (merge-base HEAD origin/main = a9552eb4), which is also what CI's check:ledger-write-discipline runs -- so this is a local guard base-selection limitation specific to merging a stale branch across a large main-side ledger reconciliation, not a real ledger violation. Per hard guardrail (heed pre-push guard blocks, never override with SKIP_LEDGER_WRITE_GUARD=1 without explicit user instruction), stopped without pushing; PR head remains unchanged at 38573e55. No code fix attempted -- nothing failing belongs to the dependency bump itself.", - "checks": "git merge-tree --write-tree origin/main : clean (single hash, no conflicts). git merge origin/main: clean, 211 files, no conflicts. npm ci --include=dev: passed (772 packages, 0 vulnerabilities). node scripts/check-ledger-write-discipline.mjs (default base = merge-base HEAD origin/main): 'Ledger write discipline passed for a9552eb40b29..HEAD.' git push origin (x2): blocked both times by guard-push.mjs ledger-write guard (base = old remoteSha 38573e55, not origin/main) -- not overridden. No provider-backed checks run." + "date": "2026-08-13", + "ref": "claude/rag-plan-review-guide-vhrls9", + "head": "11d9cdd12b133ae5e80d013160ebc03ed6fa843e", + "scope": "docs: RAG improvement programme review + updated guide (docs/rag-improvement/, docs checker allowlists)", + "outcome": "clean", + "checks": "verify:pr-local full scope green (lint, typecheck, test, docs gates, check:rag:fixtures 36 golden cases)" }, { - "date": "2026-08-18", - "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", - "head": "91df9fc20093b3c1cf0b99b06f3a2878f7cf98f1", + "date": "2026-08-08", + "ref": "cursor/site-testing-speed-08c1 (PR #1686)", + "head": "11e35727a6a9b3b776e890e6a63e43fea9b0a437", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", - "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." + "outcome": "post-merge Unit coverage: added ui-phone-scroll-document-rail.spec.ts to playwright PR shard 1; CI re-running", + "checks": "vitest playwright-pr-shards 4 passed; playwright-pr-shards --validate OK; no provider-backed checks" }, { - "date": "2026-08-18", - "ref": "fix-316-pending (PR #2118)", - "head": "5ee29730b4173a6228d6c84a18811aa96c3bea14", - "scope": "docs/outstanding-issues-inbox/5bff7294-a329-4fda-a36b-25489e36660d.json, docs/outstanding-issues-inbox/503c3553-6caf-4c12-9520-03acb283d142.json", - "outcome": "Queues a cancel of stale request 22946f19 (duplicate #316 target, already-cancelled sibling 10e480da handled by original batch) plus a freshly-fingerprinted reissue of its content, as ordinary pending inbox requests. Landing this on main lets PR #2110's reconciliation branch pick them up as genuine base-pending entries on its next resync, satisfying check:ledger-write-discipline's requirement that applied content have existed as pending at the PR's base commit -- content invented directly on a reconciliation branch can never satisfy that check regardless of commit ordering.", - "checks": "check:outstanding-issues passed (74 pending, 251 applied, guard passed); docs:check-links passed (1902 references resolve, full batch-apply simulation); prettier clean; no provider-backed checks run" + "date": "2026-07-30", + "ref": "PR #1446 / claude/ci-testing-review-2l8klp", + "head": "11e7e8653c4742108feee4e9164ba066a92fc18a", + "scope": "ci-testing-review-capture", + "outcome": "Captures #141, the one finding from the PR #1427 session that was never recorded: ui-phone-scroll.spec.ts:973 Services result anchor jumped on viewport shrink (run 30534158395 shard 1, :1133, 120 passed). Distinct from #127 and not fixed by #1427 - that head already carried #1427's runway poll and travel assertion, the journey is the Services result canvas not the document route, and the assertion is anchor stability across a resize not a chrome hide. Narrowing recorded: the sibling documentScrollTop assertion at :1137 did NOT fail, so the scroll position held while the element moved, ruling out the scroll-restoration class. Branch restarted from origin/main because #1427 merged as 040ce97 (verified by content not ancestry: shard matrix, dragScrollUntilHidden and the gate-count guard all present on main). NOTE for #127: its updated row shows the trace-based refutation of the short-drag hypothesis was itself misread (maxOffset 2753 read at a different trace moment than the failing drag; pre-runway value was 1153), so the root cause withdrawn during the #1427 session was in fact correct - a third-party refutation needs the same verification as a third-party fix claim.", + "checks": "verify:cheap PASS (Test Files 435 passed; Tests 4569 passed, 4 skipped, exit 0); check:outstanding-issues PASS (139 rows, unique ids, next-id=142 above highest); prettier --check . PASS. Docs-only: ui_changed should be false and the Chromium shards should skip." }, { - "date": "2026-08-18", - "ref": "gemini/catalogue-toolbars-proofs (PR #2073)", - "head": "2e537de9b5bc606a5abeeeb913cb99e515410fbd", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), all check runs green or in-flight with no failures. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit. Review threads not yet re-swept post-sync.", - "checks": "No local gates run; no provider-backed checks run." + "date": "2026-07-18", + "ref": "PR batch screenshot queue → #853 / cursor/pr-queue-land-3084", + "head": "11ec0122f (tip of cursor/pr-queue-land-3084)", + "scope": "open-PR review + merge babysit", + "outcome": "Reviewed screenshot PRs #833/#837/#845–#852 + Communication #19. #852/#848 already merged. Closed superseded/unsafe: #833/#837 (empty vs main), #845 (clinical-search over-expand; fixed in #853), #846/#847/#849 (Production UI red design-audit dupes), #850 (CONFLICTING), #851 (schema-test regressions), #726 (CONFLICTING CodeRabbit UTG). Unique safe fix landed in #853: agitation chart expansion without bare table/management over-trigger. Communication #19 inaccessible (repo not resolvable).", + "checks": "Focused Vitest clinical-search 42/42. Local verify:cheap unit suite hit pre-existing pdf-extraction-budget failures also on main (2 tests). Hosted #853 required checks green (Static/Unit/Build/PR required/policy/Semgrep/Gitleaks/GitGuardian). Squash-merged to main. Also closed follow-on dupes #854 (same failing tip as #851) and #855 (Clinical KB H1 reverts #814 Clinical Guide contract; Static/PR policy red). Communication #19 inaccessible. No OpenAI/live Supabase writes." }, { - "date": "2026-08-18", - "ref": "gemini/clinical-medication-graph-dedup", - "head": "5d46dc32a4667c87f9c3c9d844ad1a4a824e0ea7", - "scope": "Clinical medication graph & deduplication (#322, #323)", - "outcome": "READY", - "checks": "npm run check:medication-lexicon-report; npx vitest run tests/medication-interaction-lexicon-coverage.test.ts; npm run typecheck:internal; npm run lint:internal; npm run format" + "date": "2026-08-11", + "ref": "codex/answer-ecg-animation-20260811", + "head": "12279a8309c225aa957ef1e65afc37545a0ce04c", + "scope": "answer ECG progress variants", + "outcome": "No high-confidence findings; physical Safari/PWA remains residual acceptance", + "checks": "design contract, typecheck, focused unit 8/8, trace token 33/33, Chromium 4/4, offline RAG 574/574; full suite baseline/platform failures" }, { - "date": "2026-08-18", - "ref": "gemini/responsive-tokens-headers (PR #2072)", - "head": "ffd54486f93039ec7f11b4b9029616fd3d8e1f88", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Behind main (mergeable_state: behind), all check runs green or in-flight with no failures. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit. Review threads not yet re-swept post-sync.", - "checks": "No local gates run; no provider-backed checks run." + "date": "2026-08-17", + "ref": "claude/p1-318-lexicon-slug-and-guards (PR #2015)", + "head": "122961fa4d2100ad8ced0ceba6596f4b947491b4", + "scope": "Run PR sweep: CI fix + drift", + "outcome": "Fixed: docs:check-links (via ledger-inbox mutationConflicts) failed because this PR's own db498cc1 outstanding-issues #318 update request and PR #1991's already-merged 46750cbf request both targeted #318, and the inbox guard correctly refuses to pick a winner between two pending mutations on one row. db498cc1 is a superset/refresh of 46750cbf, so queued the explicit cancellation the guard's own error message asks for (node scripts/ledger-inbox.mjs cancel 46750cbf... --reason ...). Was behind main by 5-8 commits across two rounds (main advanced mid-sweep, PR #2024 merged); synced twice. No review threads.", + "checks": "node scripts/check-docs-links.mjs (before: failed on the conflict; after: passed). node scripts/check-ledger-write-discipline.mjs passed after commit. node scripts/ledger-inbox.mjs check passed. No provider-backed checks run." }, { - "date": "2026-08-18", - "ref": "gemini/safe-ledger-resolutions-and-hardening (PR #2107)", - "head": "4a320d290fa1fac945c0b48b94a7853929b5c75c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Synced origin/main into behind-but-clean branch (no conflicts; f3ea973d -> 4a320d29). All required CI green (Change scope/Static PR checks/Safety/Unit coverage/Build). PR policy check genuinely FAILS and is unfixable within Run PR guardrails: PR touches RAG-ranking-protected src/lib/rag/rag-row-contracts.ts (nullable->nullish widening on source_metadata schema) with no RAG impact: line in the PR body, and the diff also lacks the required Clinical Governance Preflight section -- both are hard pr-policy.mjs blockers per AGENTS.md. Separately, trust/integrity spot-check: PR body claims 15 delivered resolutions but the diff (both commits combined) contains only 14 outstanding-issues-inbox JSON tickets; ticket #178 (PR policy clinical/operational bundling detection) is described in prose with a specific file:line citation but has no corresponding inbox JSON file in either commit -- it was never actually queued, unlike #098/#118 which appeared twice and were deduplicated in the second commit. The 14 tickets that do exist were spot-checked against origin/main (search-route-round-trip-budget.test.ts, guard-push.mjs prettier exact-lock logic, tests/helpers/source-contract.ts, scripts/ledger-inbox.mjs, pr-policy.mjs:335 bundling warning) and all matched their claimed outcomes -- unlike PR #2105, this is an omission/inflated count, not fabricated ledger content. No unresolved review threads (0). No CI job fixed by this session; PR policy failure and the missing RAG-impact declaration are left for a human, per guardrail against editing PR titles/bodies.", - "checks": "GitHub-side CI only (no local checks run -- worktree has no node_modules and only Node 22 available, repo requires Node 24; PR policy job log inspected directly via get_job_logs). No provider-backed gates run. update_pull_request_branch used for drift sync (GitHub-side merge, not a local git operation)." + "date": "2026-07-13", + "ref": "codex/release-blocker-remediation", + "head": "12377740a37e67523c720ab2952a75fd45aee2bd", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-08-18", - "ref": "gemini/therapy-compass-and-tooling-hardening (PR #2159)", - "head": "f135f22cde36acbb3c9ab7d018565545708bb81c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: real (git merge-tree confirmed) merge conflicts against origin/main in docs/launch-operator-runbook.md (stale search-health-index text vs the fix already merged via #2155) and docs/rag-evaluation.md (add/add — main independently gained the base doc while this branch extended it with a RAG Improvement Programme Board section; main's content was an exact prefix of this branch's version). Resolved: kept main's already-fixed runbook line, kept this branch's superset rag-evaluation.md content (main's text preserved verbatim as a prefix, extension section retained). Both playwright.config.ts and design-system docs auto-merged clean. After: merge commit pushed; typecheck clean; tests/design-system-adoption.test.ts 51/51 passed.", - "checks": "npx tsc --noEmit (clean), npx vitest run tests/design-system-adoption.test.ts (51 passed), diff verification that main's rag-evaluation.md content survived as an exact prefix. No provider-backed checks run." + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "129edaf39e76143527fee6a56356fc750d45bb75", + "scope": "Re-inspect closeout: CI green + ledger dedupe", + "outcome": "COMPLETED. Root cause of CONFLICTING was 1-commit main drift (#1294); synced clean. Deduped exact #1306 ledger row from merge=union. Prior review threads remain resolved. Bugbot re-run: no P0/P1. Hosted PR required SUCCESS on this tip. mergeable CLEAN.", + "checks": "lint/typecheck/format:check PASS; vitest 4122; local build PASS; hosted CI 30331626271 SUCCESS; no provider checks." }, { - "date": "2026-08-18", - "ref": "gemini/ui-favourites-polish-and-ledger-sync", - "head": "4be0f19a719427a1cbe4d588f1ae8898e585b064", - "scope": "merge-conflict-resolution", - "outcome": "merged (#2156, squash 42426f4bd)", - "checks": "npm run test (7345 passed, 2 pre-existing unrelated timeout failures); npm run lint; npm run typecheck; CI PR required aggregate green; auto-merge landed" + "date": "2026-07-25", + "ref": "execute-system-audit-remediation (PR #1197)", + "head": "12ab1af1a353b4e3d0aa54a7d05145e296d3b2f0 / squash 8ec2a3cb698df98785ac33c12040475ceb980542", + "scope": "prlanded + merge-ready closeout", + "outcome": "MERGED (squash). Content two-dot tip vs main empty. Kept SQL URL/grant remediation; restored clinical trust gate/summaryMode; dropped RAG pre-classifier. Closed twin #1218 as duplicate. Local branch delete skipped (checked out in another worktree).", + "checks": "Hosted PR required SUCCESS; Migration replay/Unit/Static/PR policy SUCCESS; Semgrep fail was Docker Hub pull timeout (infra). `npm run check:branch-review-ledger` pass. No provider-backed checks." }, { - "date": "2026-08-18", - "ref": "issues-reconcile-fresh (PR #2119)", - "head": "5ffe76652feb32a1b7840dbdb69502cce228b772", - "scope": "docs/outstanding-issues.md, docs/outstanding-issues-inbox/**", - "outcome": "Replaces PR #2110, whose reconciliation had permanently baked two applied records (a #316 update, a cancellation of 22946f19) whose pending predecessors never existed on any base commit -- structurally unfixable via forward-only commits because the ledger tool forbids ever cancelling a cancel-type request and the one valid cancellation slot for 22946f19 was already claimed by a different request landed via PR #2118. Rebuilt fresh from current main (ddc7e899, already including #2118's corrections): reconciled all 74 pending requests in one clean pass, no manual duplicate-target resolution needed, confirming #2118 left main's inbox internally consistent. #2110 can be closed once this merges.", - "checks": "issues:reconcile: 74 applied, 10 cancellation decisions, no manual resolution needed; check:outstanding-issues passed (0 pending, 325 applied, guard passed, no ids deleted from base); docs:check-links passed (1902 references resolve, full batch simulation); check:ledger-write-discipline passed for ddc7e8998267..HEAD with no override; prettier clean; no provider-backed checks run" + "date": "2026-07-30", + "ref": "PR-1507", + "head": "12e5c8c977a873a7b900596fdc310a1a78d863f0", + "scope": "PR #1507 current-main merge and ledger normalization", + "outcome": "APPROVED — no findings after current-main sync; feature diff unchanged and ledger reduced to three unique append-only review rows.", + "checks": "focused Vitest 2 files/40 tests PASS; outstanding-issues PASS; branch-review-ledger PASS; diff check PASS; merge-tree f8f88bd79706c2fb36637014a25e93af6e08eb99" }, { - "date": "2026-08-18", - "ref": "PR #2105 (list_manual_ledger_tasks)", - "head": "da90923057da6e53ae8e2adf3f360280b0ddeee9", - "scope": "src/lib/medication-interaction-lexicon.ts, docs/medication-interaction-lexicon-review.md, data/medications-snapshot.json, data/medication-interaction-index.json, src/app/api/images/signed-urls/route.ts, tests/private-access-routes.test.ts, docs/filter-contract.md, src/components/clinical-dashboard/result-filter-control.tsx, src/components/favourites/favourites-storage.ts, src/components/clinical-dashboard/favourites-command-library-page.tsx, src/components/DocumentViewer.tsx, src/components/document-viewer/document-rail-panels.tsx, tests/medication-interaction-lexicon-coverage.test.ts, docs/outstanding-issues-inbox/**", - "outcome": "REMEDIATED 2026-08-18. Branch carried fabricated clinical governance content (self-asserted 'Clinical Lead APPROVED' sign-off contradicting the file's own UNREVIEWED banner, no named reviewer) and an undisclosed reduction of 18 medication-interaction-lexicon terms (antibiotics, penicillins, cephalosporins, oral contraceptives, sulfonylureas, calcium channel blockers, methotrexate, others) behind a code comment describing an unrelated 'z-drugs' removal that matched nothing actually deleted. Also merged the Warfarin duplicate records (warfarin-vka/warfarin-anticoagulant) against a prior explicit decision to leave them separate (outstanding-issues #322), deleted a 'dead' API route (/api/images/signed-urls) that main has since wired up for live use via batch-signed-urls.ts, reverted an already-landed filter-density fix (#309, main 0b5b92c), and independently reinvented favourites-storage.ts dropping main's O(N^2) listener fix. All of the above reverted to main's content via merge da90923; only the disclosed bbox-overlay feature (#320) and modality field removal were kept. 10 real merge conflicts against main resolved (not staleness).", - "checks": "typecheck: tsc -p tsconfig.typecheck.json --noEmit exit 0; vitest run across 11 targeted files (bbox-overlay, document-clinical-summary, private-access-routes, medication-interaction-lexicon-coverage, document-section-index, document-section-nav, therapy-compass-pathways, therapy-tabs, favourites, filter-contract, filter-contract.dom): 232/232 passed; prettier --check .: clean; eslint on touched files: clean; check:ledger-write-discipline: passed (against correct main merge-base, direct invocation); check:outstanding-issues: passed (56 pending, 251 applied, 361 rows, collision-free); no provider-backed checks run" + "date": "2026-07-30", + "ref": "PR-1507", + "head": "12e5c8c977a873a7b900596fdc310a1a78d863f0", + "scope": "PR #1507 final current-main review", + "outcome": "APPROVE; architecture-specific container lookup and immutable-root fail-closed fallback are preserved after current-main reconciliation; no remaining P0-P2 findings.", + "checks": "focused Vitest 2 files / 40 tests PASS; tsc --noEmit PASS; issue/ledger/format/diff guards PASS" }, { - "date": "2026-08-17", - "ref": "2009", - "head": "c6d83f2703371821742537fd8da83a0d0344990d", - "scope": "direct merge-conflict re-resolution pushed onto PR #2009's own branch (codex/account-setup-polish-20260814), after main advanced again and the earlier squash-merged PR #2018 fix drifted (squash-merge discards the ancestor link to main, so it re-conflicted)", - "outcome": "pushed a real merge commit (not squashed) directly onto the PR branch so main is now a true git ancestor; mergeable_state moved dirty -> behind (trivial lag, not a conflict); PR mergeability and PR policy checks now green; full CI running for the first time on this PR", - "checks": "check-outstanding-issues self-test, ledger-inbox self-test, check:outstanding-issues, check-ledger-write-discipline, focused vitest (outstanding-issues-writer, repo-hygiene, ledger-inbox-cancellation), prettier --check, typecheck, eslint" + "date": "2026-07-27", + "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", + "head": "130399c24334", + "scope": "Bugbot + CI diagnosis", + "outcome": "NOT READY. Static PR historically failed on 17 arbitrary `text-[Npx]` sizes (`check:type-scale --strict`). Confirmed mockup P2s: PhoneFrame no inner scroll; PriorityDock More loses selection; ProgressNavigator center wraps past last section. Mockups-only; fix tokens + UX before design review.", + "checks": "CI log + local type-scale mapping; Codex thread validation; no provider checks." }, { - "date": "2026-08-17", - "ref": "2014", - "head": "1c88ada9c023918764dcf2a01914829e3b93e902", - "scope": "PR #2014 review-and-fix", - "outcome": "High-confidence defects fixed; review threads resolved", - "checks": "audit-merge-loss --self-test + --since; prettier check; npm run check:branch-review-ledger; npm run check-outstanding-issues; required CI SUCCESS" + "date": "2026-07-28", + "ref": "cursor/search-correctness-030-075-6273", + "head": "134b006b7ff42412e727292c6c03fa4c404252ae", + "scope": "six-pr-consolidation", + "outcome": "close-superseded: already on main via #1177/#1204/#1215", + "checks": "diff-vs-main,merge-tree,gh-merged-history" }, { - "date": "2026-08-17", - "ref": "2018", - "head": "a4338471f29c12c4f98b5abf4910aaf6f461d992", - "scope": "merge-conflict resolution + review fixes for PR #2009 (docs/filter-contract.md, scripts/check-outstanding-issues.mjs, scripts/ledger-inbox.mjs, src/components/clinical-dashboard/account-setup-dialog.tsx, tests/ui-smoke.spec.ts, tests/ui-tools.spec.ts)", - "outcome": "reviewed and fixed: resolved 6-file merge conflict against main, fixed 2 CodeRabbit findings (fingerprint case-sensitivity, URL regex boundary), left 2 findings unaddressed (fingerprint-mandatory migration risk, design-token nitpick)", - "checks": "check-outstanding-issues self-test, ledger-inbox self-test, check:outstanding-issues, check-ledger-write-discipline, focused vitest (outstanding-issues-writer, repo-hygiene, ledger-inbox-cancellation, favourites-auth-gate), prettier --check, typecheck, eslint" + "date": "2026-08-09", + "ref": "claude/documentviewer-nav-convergence-oddhjx", + "head": "1395d533cb13eadc705e47f76aa9f39a7a11c058", + "scope": "DocumentViewer / in-page-nav convergence (#288): non-adoption decision recorded in docs/search-chrome-behaviour.md; merged duplicated visible-element predicate into resolveVisibleElement; new convergence guard test", + "outcome": "Converged what was duplicated; DocumentReviewer header adoption declined on the merits with four blocking reasons recorded. No contract test edited.", + "checks": "verify:pr-local (546/547 files, 5883 tests pass; sole failure tests/pr-handoff-stop.test.ts reproduced on pristine origin/main), verify:phone-chrome (contracts 123 pass; focused Chromium 7 pass), contract set 12 files/151 tests pass, lint, typecheck, format" }, { - "date": "2026-08-17", - "ref": "claude/cls-regression-issue-log", - "head": "42c5c6194e21b0b9c5a10b9400a872bac19b5ac9", - "scope": "docs/outstanding-issues-inbox/d92786de-de31-4118-84cc-0a9098e7f2e0.json", - "outcome": "created PR #2059: queued /issues inbox request tracking a real mobile CLS regression on / found while investigating PR #2050's unrelated Lighthouse budget failure", - "checks": "npm run issues:add (request validated as merge-safe)" + "date": "2026-07-13", + "ref": "codex/indexing-health-scan", + "head": "13b19b5746625081be85894f6d1c345c57c16225", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #561; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-17", - "ref": "claude/correct-056-staging-gap", - "head": "6188086e6056c23aa0f7fe1655345c47e0068784", - "scope": "docs/outstanding-issues-inbox — #056 staging migration gap correction", - "outcome": "Remeasured read-only: staging ikoiolksxqxfxgiyqpnu holds 166 migrations (latest 20260719055623) against 192 repo files with 16 after that version, so the gap is 26 not 24 and the post-cutoff count is 16 not 14. Delta is new work landing on main, not a new defect, but the chain grows while the row stays open. Row now instructs re-measuring at window start rather than trusting its own figures.", - "checks": "verify:pr-local (11 completed, 0 failed)" + "date": "2026-07-30", + "ref": "cursor/ci-testing-review-1bf5", + "head": "13c16cf07c854b50daa35a2ef2a2ea76d5e059e1", + "scope": "ci-testing-approach", + "outcome": "Corrects the ref cell from the unresolved placeholder \"HEAD\" to the actual branch name, so ledger:lookup can match this review by branch (Codex P2 finding on PR #1406).", + "checks": "node scripts/branch-review-ledger.mjs lookup cursor/ci-testing-review-1bf5 --scope ci-testing-approach" }, { - "date": "2026-08-17", - "ref": "claude/database-coordination-chat-9c0730", - "head": "cef640f25aeee9b1fd8fc6c95a351ff1a6c348d3", - "scope": "docs/database-remediation-coordination.md board re-baseline (#316), PR #2044", - "outcome": "coordinator self-review: docs-only, anchor corrected #312→#316, board rebuilt from main record", - "checks": "prettier --check pass; docs:check-links 1799 refs resolve" + "date": "2026-07-30", + "ref": "HEAD", + "head": "13c16cf07c854b50daa35a2ef2a2ea76d5e059e1", + "scope": "ci-testing-approach", + "outcome": "findings: UI-load flake #093 dominates PR reds; schedule full-sentinel blocks release-browser via audit; UI scope overfires on src/app/api; ~40% PR runs cancelled wasting ~12 UI-hrs; CI_TRIAGE inert; eval:rag:offline claimed-in-CI but only fixtures run", + "checks": "gh-ci-500-runs,ci.yml,ci-change-scope,testing.md,process-hardening,outstanding-issues-093-095-097-023,flake-ledger-empty" }, { - "date": "2026-08-17", - "ref": "claude/database-coordination-chat-9c0730 (PR #2044)", - "head": "dc75f039d94275da215871afd95361b4877192dd", - "scope": "Run PR sweep: CI diagnosis", - "outcome": "0 behind main, no sync needed. PR required check: success. Only failing check is advisory GitGuardian, flagging a pre-existing false positive (synthetic canary token in tests/rag-adversarial-fixtures.test.ts, same incident 36221231 seen across most PRs in this sweep - not a real credential). No review threads. No action needed.", - "checks": "PR required: success; GitGuardian finding inspected and confirmed false-positive test fixture" + "date": "2026-08-22", + "ref": "PR #2292 / claude/dev-hub-phase-2-plan", + "head": "13c20de02e90919008c9e8a8ab5c338c2a987a84", + "scope": "PR #2292 developer-hub review and P2 fixes", + "outcome": "Merged current main; confirmed the external Markdown URL guard and added a fail-closed staging requirement for non-ignored untracked Markdown docs. Both actionable review findings are covered by focused regressions; ignored scratch notes remain excluded.", + "checks": "Vitest repo-awareness-generator 31/31; tsc -p tsconfig.typecheck.json --noEmit; Prettier --check; git diff --check; coordinated typecheck wrapper interrupted by environment but underlying tsc passed" }, { - "date": "2026-08-17", - "ref": "claude/database-drift-allowlist-48839e", - "head": "ccbb4cd8a95fd074f70931f73e79b31b525ef579", - "scope": "remediation Phase 6: schema_drift_snapshot v2 history probe migration (not deployed), check-drift migration_history allowlist + guard contract, search-health index-monitoring ratchet, PR #2058", - "outcome": "self-review: migration authored + mirrored + manifest regenerated, not deployed; five superseded guards seeded, rest left as expected findings; 44-entry ratchet list red-then-green", - "checks": "check:migration-role pass; drift:manifest replay 46s; focused schema/drift suite 8 files 127 passed; verify:pr-local all gates green except tests/session-start-hook.test.ts (env: bash head 127 / temp EPERM, unrelated); check:rag:fixtures 36 golden cases pass" + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "140d04415747e568ed3f799c9b9ed7b97d331346", + "scope": "PR #1441 upload limit parity and production build contract", + "outcome": "approved after production-env precedence, scoped Docker build parity, duplicate ARG repair, and current-main sync", + "checks": "self-test pass; explicit 150/150 pass; ci-cache 13/13 pre-final two-line Docker repair; actions/docs/issues/ledger/format/diff pass; final focused rerun coordinator-blocked" }, { - "date": "2026-08-17", - "ref": "claude/differentials-design-refinement-xh1znl", - "head": "56048e6700044e062e236318a97655d70d279e12", - "scope": "src/components/differentials/differential-compare-queue-page.tsx", - "outcome": "created PR #2050: simplified compare-queue hero card (removed eyebrow label + helper paragraph, tightened search-query chip)", - "checks": "test:focused (3 passed); manual Playwright visual check at phone/desktop viewports" + "date": "2026-07-13", + "ref": "claude/pt-audit-pr5-ia-canonical", + "head": "1420ac698ea31bf7d506e3dcfb3c8d25467c19c4", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-17", - "ref": "claude/differentials-design-refinement-xh1znl (PR #2050)", - "head": "63808d6bc8cdb80852882d61faec2f219ab90d5f", - "scope": "Run PR sweep: main sync + CI in progress", - "outcome": "New PR opened mid-sweep. Synced clean (no conflicts). CI in progress at sweep end: Static PR checks, Safety and config checks, Build, GitGuardian, PR mergeability/policy all green; Production UI x3, Lighthouse budget, and Unit coverage still running with no failures observed so far. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch; partial CI green, remainder in progress at sweep end" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "14508ca0406c29f3f7a31dc72db1e1d1d626c595", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1481 and #1487. No remaining P0-P2 findings; #127 remains archived with the later exact-head evidence and #146 retains both new shard-1 flake data points.", + "checks": "docs-only main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 49 open / 97 archived PASS; branch-review ledger PASS; prior exact-head hosted CI all green before base moved" }, { - "date": "2026-08-17", - "ref": "claude/fix-theme-transition-timer-race", - "head": "77a631e960b55ef1c563ad85f6d4fc5551e1c98c", - "scope": "theme-transition timer race in use-theme.ts causing Vitest unhandled-error failures", - "outcome": "Fixed: guarded the 200ms theme-transitioning callback against a torn-down document and tracked/cleared the timer handle so rapid switches cannot end a later transition early", - "checks": "verify:pr-local exit 0 (649 files/6968 tests, no Errors line); red-green proved — new spec reproduces ReferenceError: document is not defined against the unfixed file (2 failed), passes 3/3 with the fix" + "date": "2026-08-21", + "ref": "claude/local-cloud-profile-vendored", + "head": "14535ffc5f05d559f6bccac84099f9e6874bba6a", + "scope": "Vendored half of the PR #2227 split: .claude/cloud-profile/skills 402 files 91782 lines, .prettierignore exclusion, two Gitleaks false-positive fingerprints", + "outcome": "PR #2238 opened (draft), superseding the stacked PR #2237 which was closed unmerged. Stacking failed because every gating workflow filters branches main and release/**, so a PR based on any other branch runs none of them; this branch is cut from main and gets real CI. docx and xlsx dropped on user approval, taking the dump from 516 files 138461 lines to 402 files 91782 lines. Gitleaks fingerprints re-derived from job 96803046519 leaks found 2, not carried over from #2227 whose commit da6088e70 exists on no branch here", + "checks": "Gitleaks 8.24.3 job 96803046519 range scan reported exactly 2 findings, both read in context and confirmed synthetic doc-prose placeholders before pinning per finding, GitGuardian success, PR policy success, PR mergeability success, vitest tests/claude-cloud-profile.test.ts 18 passed with this tree present, format:changed whole-tree pass, ignore rule proven necessary as prettier --check on the tree with an emptied ignore file errors on 27 files, all 402 files mode 100644 with no symlinks executables or binaries, git merge-tree against the #2236 branch exit 0 with .prettierignore resolving to a single block" }, { - "date": "2026-08-17", - "ref": "claude/form-names-design-rjw40t", - "head": "4dfe2b229269ec55a6ebbfc9493317c2e05670fd", - "scope": "src/components/forms/form-detail-page.tsx", - "outcome": "PR #2041 opened (BigSimmo/Database). User-requested UI relabel of the forms detail page's source-file card: dropped the synthetic 'Form {code}.pdf' heading (a made-up filename) in favour of the form's own title (form.title), moved the form code into a small kicker badge, and turned the 'Password protected'/'Check source' text into a proper tone-pill status badge on both breakpoints. Static MHA-2014 forms reference catalogue only; no form content, availability data, or source URLs changed. classifyPullRequestFiles: not clinicalRisk, not operationalRisk, not RAG-ranking, so no Clinical Governance Preflight or RAG impact line required.", - "checks": "Verification not run: session environment has Node 22 with no node_modules installed (repo requires Node >=24.15.0 <25, engine-strict); npm ci was not attempted (no install/network side effects requested). Reviewed diff by hand: balanced JSX tags/braces across the file (git diff + brace-count check), every Tailwind class/token used (text-3xs, text-2xs, tracking-label, toneWarning, toneNeutral) already defined/used elsewhere in the repo. Grepped tests/** for the changed copy ('Password protected', the .pdf-suffixed heading, formShortTitle) - no test pins it. PR body asks the merger to run npm run verify:pr-local and a quick Chromium/phone check of /forms/* before merge." + "date": "2026-07-13", + "ref": "claude/cross-border-openai-disclosure-2f170b", + "head": "14a155aabcecb79a5fbdfd442a1d684ecb901fa4", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #530; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-17", - "ref": "claude/form-names-design-rjw40t (PR #2041)", - "head": "0e97aa6860ffd88a4c7392e0b75aeac40479e332", - "scope": "Run PR sweep: main sync + CI fix + threads", - "outcome": "Behind main -> synced clean. Fixed 2 actionable CodeRabbit findings (formShortTitle -> formCode() for the code badge/heading fallback since formShortTitle falls back to a non-code catalogueLabel; rounded-md -> rounded-full on both status badge branches to match the PR's stated pill presentation). Verified typecheck/lint/format clean via a fresh Node 24 worktree, pushed 0517f2ae, replied to and resolved both review threads.", - "checks": "npx tsc --noEmit: clean; npx eslint: clean; npx prettier --check: clean; commit 0517f2ae pushed" + "date": "2026-07-13", + "ref": "origin/claude/cross-border-openai-disclosure-2f170b", + "head": "14a155aabcecb79a5fbdfd442a1d684ecb901fa4", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #530; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-17", - "ref": "claude/g1-rag-document-context-qn9ubx", - "head": "f59b358d5ddba2480c585196b262afe1f4181632", - "scope": "packet G1 document_context provenance tag + ledger issueRowFingerprint display-id fix + two queued G1 closures (supersedes the f5f146a record: two further commits landed on this branch)", - "outcome": "approved — G1 is a provenance tag only, deriveConfidence and synthetic_similarity_count unchanged and pinned; ledger fix restores issues:done for ULID-backed rows with null-safety preserved; no retrieval behaviour change, no canary per owner decision 2026-08-17 Option B", - "checks": "verify:pr-local all 18 stages green at this head; full unit 642 files / 6879 passed 4 skipped; eval:rag:offline 36 golden 25 suites 603/603; 4 G1 pins + 3 ledger pins mutation-checked" + "date": "2026-09-01", + "ref": "PR-2508", + "head": "14a99d0c412a3c53bf92b684c5b7e5b57ca1ccd9", + "scope": "Run PR sweep: prioritise embedded catalogue identities", + "outcome": "Ranked named Factsheet titles or brands and Dictionary terms or abbreviations above related Smart expansion matches in natural-language queries.", + "checks": "Focused Factsheets and Dictionary tests: 35 passed; direct-identity regression coverage; diff check." }, { - "date": "2026-08-17", - "ref": "claude/g1-rag-document-context-qn9ubx", - "head": "f5f146a497a4ed04fc1db99b7b8f90a00a1cea30", - "scope": "packet G1 — document_context similarity_origin provenance tag (types.ts, answer-stream-contract.ts, rag-row-contracts.ts, rag.ts telemetry export) + 4 discriminating pins + H5a/HANDOVER docs", - "outcome": "approved — provenance tag only; deriveConfidence and synthetic_similarity_count unchanged and pinned; no retrieval behaviour change, no canary per owner decision 2026-08-17 Option B", - "checks": "vitest 5 touched suites 58/58; full unit 642 files / 6879 passed 4 skipped; eval:rag:offline 36 golden 25 suites 603/603; check:rag:fixtures; verify:pr-local all 18 stages green (lint, typecheck, test, build, eval:rag:offline); 4 pins mutation-checked" + "date": "2026-07-30", + "ref": "codex/review-pr1442", + "head": "14ab262102bba4aa66a9c65e9d718db0394eda6d", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1442 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-17", - "ref": "claude/ledger-212-tranche-4-worker-q3y6i4", - "head": "0e6e58ca4ac59768658ae4ad5b37a1266a09109b", - "scope": "worker/row-contracts.ts, worker/main.ts, tests/worker-row-contract.test.ts", - "outcome": "approved — no defects found; concurrency/lease fencing, schema-constraint-backed contract pins, and safe-logging discipline all verified", - "checks": "npx vitest run tests/worker-row-contract.test.ts (28 passed); npx tsc -p tsconfig.json --noEmit (0 errors)" + "date": "2026-07-31", + "ref": "claude/fable-implementation-fc937c", + "head": "14e3c3773d8be0a771673248e898c9bcde08b8dc", + "scope": "pr-1531 review-and-fix", + "outcome": "fixed-sentry-privacy-blockers; merge-tree-clean; threads-cleared", + "checks": "vitest:error-tracking+env-sentry 6/6; tsc --noEmit 0" }, { - "date": "2026-08-17", - "ref": "claude/ledger-reconcile-issues-c1trbj", - "head": "1cff4ddbdf8b700f41ba82c9333034d009ad7e29", - "scope": "issues:reconcile after #2023/#2024, redone against fresh main", - "outcome": "28 requests applied (22 original + 6 landed on main mid-session: 3 cancel, 2 update, 1 done); redone as one clean transaction after check:ledger-write-discipline rejected the earlier 22-only partial transaction against the advanced base", - "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass against merge-base f5b0932914eb" + "date": "2026-07-19", + "ref": "cursor/safari-edge-to-edge-f46b (PR #933)", + "head": "15061964dd2fdf9665f72b7282f5cc81c736e57f", + "scope": "final Safari edge-to-edge / phone dock reserve review + merge readiness", + "outcome": "No high-confidence P0-P1. Confirmed implementation: shared reserve module collapses to 0.75rem when dock hides; shell uses block scrollport + inner mobile-composer-reserve-pad so clearance contributes to scrollHeight; child dock-sized env(safe-area) pads removed; DocumentViewer owns its dock pad. Review polish: formulation/specifier max-sm:min-h-0 alignment, document-route ownership simplification, hidden-pad CSS token guard. Residual P2/P3 only: differentials compare zero-inset backdrop margin, idle 2rem vs max(2rem,safe-area) ~2px, unused-looking #main-content padding transition still needed by ClinicalDashboard. Merge-ready.", + "checks": "Local: format/lint/typecheck/knip/budgets pass; unit 2952 passed with only pre-existing pdf-extraction-budget (python ENOENT, also fails on clean main); production build + client-bundle secret scan pass; focused Chromium composer suite 6/6 (forms hide, tablet/desktop clearance, differentials compare, service-detail endpoint, document-viewer hide, long-answer dock). Hosted CI on prior head fully green including Production UI; polish head re-checked before merge. No OpenAI/live Supabase/provider calls." }, { - "date": "2026-08-17", - "ref": "claude/ledger-reconcile-issues-c1trbj", - "head": "527fd43796dfbaf76905671452aaa27f994b6871", - "scope": "issues:reconcile after #2023/#2024", - "outcome": "22 requests applied (8 requested: #212 correction, #J912J9 governance question P1, #DP6M3G R1 P1, #6BG9X2 R2+R3 P2, #BTVMVK Sentry search error P2, #ND10QT source_metadata pin P3, #TYJ0XP canary protocol note P3, #0MSNT8 G1 P3; plus 14 other queued requests: #056, #098, #265, #314, #316, #318, #322, #237, #330, #331, #192, #162, #238, #324)", - "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass" + "date": "2026-08-22", + "ref": "work", + "head": "1524bc7d20dc5918083a87e6f0062b0b1009dc49", + "scope": "mode-aware Clinical Ask Tasks 1-12 whole-branch clinical privacy security UI review", + "outcome": "P1 clarification loop, unsafe auxiliary output, handoff navigation, and provider-model exposure fixed; focused checks pass; broad handoff gate remains local-session debt", + "checks": "35 route/orchestrator/context tests; 48 focused safety/UI tests; typecheck; clinical-proof; lifecycle handoff" + }, + { + "date": "2026-07-24", + "ref": "PR #1140 / `implement-audit-viewport-fixes`", + "head": "1528f69cda55f46e6eca910671987219ce9cbbaf", + "scope": "mobile keyboard viewport audit fixes", + "outcome": "APPROVED. Fixed the two P1 defects (keyboard detection logic, scrollable container touch bubbling).", + "checks": "`npm run verify:cheap` passed." }, { - "date": "2026-08-17", - "ref": "claude/ledger-reconcile-issues-c1trbj (PR #2032)", - "head": "edc17cc5f059868d31bf7c523be68d8b6449ecae", - "scope": "Run PR sweep: babysit", - "outcome": "No action needed. New PR discovered mid-sweep (opened by the owner during this sweep). CI green (PR required success), mergeable_state clean, not behind main, no review threads.", - "checks": "No local checks run — nothing to fix, CI already green." + "date": "2026-07-10", + "ref": "codex/pr-testing-streamlining", + "head": "155c801cd58f797037d8aaa8b885405a1c599249", + "scope": "working-tree diff: PR testing streamlining", + "outcome": "Changes requested: 2 P1 clinical-gate defects and 7 P2/P3 scope, local parity, and UI-process defects.", + "checks": "`npm run check:ci-scope`; `npm run check:github-actions`; `npm run check:codex-autofix-workflow`; `npm run eval:rag:offline`; `npm run test:e2e:critical`; targeted scope classifications; `git diff --check`" }, { - "date": "2026-08-17", - "ref": "claude/mobile-bottom-toggle-cutoff-efo7mv", - "head": "cda47837bc632e545033b6b52fe589c6edbe891d", - "scope": "src/components/DocumentViewer.tsx phone content-reserve padding; tests/clinical-dashboard-merge-artifacts.test.ts; tests/ui-phone-scroll-page-owned.spec.ts", - "outcome": "PR #2042 opened. DocumentViewer's hidden-composer content padding kept at 0.75rem resting pad instead of 0, fixing a reported real-device (installed iOS PWA) flush-to-edge bottom-scroll defect diagnosed from a user screen recording; not reproducible in Chromium (browser or forced-standalone). Two contract tests updated to match. Physical iPhone acceptance and CI verify:ui/verify:pr-local still owed (Playwright unavailable in this sandbox: chromium-1194 vs required chromium-headless-shell-1234).", - "checks": "targeted vitest (278 tests across DocumentViewer/scroll-hide-related files) pass; tsc --noEmit clean; eslint clean; prettier --check clean; verify:pr-local/verify:ui NOT run (Playwright browser version mismatch); physical device NOT verified" + "date": "2026-07-10", + "ref": "codex/pr-testing-streamlining", + "head": "155c801cd58f797037d8aaa8b885405a1c599249", + "scope": "working-tree remediation review", + "outcome": "All recorded P1-P3 findings fixed; no remaining high-confidence issue in the changed scope.", + "checks": "`npm run verify:cheap`; `npm run verify:pr-local`; `npm run eval:rag:offline`; `npm run test:e2e:critical`; `npm run test:e2e:advisory`; CI YAML parse; scope/action/Codex guards; `git diff --check`" }, { - "date": "2026-08-17", - "ref": "claude/mobile-bottom-toggle-cutoff-efo7mv (PR #2042)", - "head": "558c78eab5d1c8aad24aad0d70e3a457a1169c06", - "scope": "Run PR sweep: main sync + CI fix", - "outcome": "Behind main -> synced twice (main advanced mid-sweep via merged #2047/#2048, fast-forward, no rewrite of pushed history). Fixed a real check:design-system-contract regression: max-sm:pb-[0.75rem] arbitrary Tailwind value flagged as a new raw padding literal; replaced with max-sm:pb-3 (Tailwind default spacing scale already has 3 = 0.75rem, identical 12px result), updated the matching test assertion in tests/clinical-dashboard-merge-artifacts.test.ts. Verified typecheck/lint/format/focused-vitest/design-system-contract all pass, pushed 558c78ea. No review threads existed.", - "checks": "npm run check:design-system-contract: passed; node scripts/run-vitest.mjs run tests/clinical-dashboard-merge-artifacts.test.ts: 8 passed; npx tsc/eslint/prettier: clean; commit 558c78ea pushed" + "date": "2026-07-10", + "ref": "codex/review-autofix-flow", + "head": "155c801cd58f797037d8aaa8b885405a1c599249", + "scope": "codex-autofix-flow", + "outcome": "Fixed exact connector authorization, trusted-marker deduplication, and strict self-trigger matching; added regression coverage.", + "checks": "`npm run check:codex-autofix-workflow`; focused Vitest (4 passed); `npm run verify:cheap` pre-test stages passed before tool timeout; `npm test` (1,415 passed, 1 skipped); focused Prettier check; `npm run check:github-actions`" }, { - "date": "2026-08-17", - "ref": "claude/p1-318-lexicon-slug-and-guards (PR #2015)", - "head": "122961fa4d2100ad8ced0ceba6596f4b947491b4", - "scope": "Run PR sweep: CI fix + drift", - "outcome": "Fixed: docs:check-links (via ledger-inbox mutationConflicts) failed because this PR's own db498cc1 outstanding-issues #318 update request and PR #1991's already-merged 46750cbf request both targeted #318, and the inbox guard correctly refuses to pick a winner between two pending mutations on one row. db498cc1 is a superset/refresh of 46750cbf, so queued the explicit cancellation the guard's own error message asks for (node scripts/ledger-inbox.mjs cancel 46750cbf... --reason ...). Was behind main by 5-8 commits across two rounds (main advanced mid-sweep, PR #2024 merged); synced twice. No review threads.", - "checks": "node scripts/check-docs-links.mjs (before: failed on the conflict; after: passed). node scripts/check-ledger-write-discipline.mjs passed after commit. node scripts/ledger-inbox.mjs check passed. No provider-backed checks run." + "date": "2026-07-10", + "ref": "codex/review-autofix-flow", + "head": "155c801cd58f797037d8aaa8b885405a1c599249", + "scope": "codex-autofix-flow-followup", + "outcome": "Fixed untrusted workflow-level concurrency interference and migrated the bridge from the Node 20 action runtime to `actions/github-script@v9`; added direct embedded-script execution coverage.", + "checks": "Focused Vitest (13 passed); targeted ESLint; `tsc --noEmit`; `npm run check:codex-autofix-workflow`; `npm run check:github-actions`; focused Prettier check; `git diff --check`" }, { - "date": "2026-08-17", - "ref": "claude/packet-s4-adversarial-fixtures-5ho5tp", - "head": "ce89605ec0ccb993ea413c5d63c561d010061fb6", - "scope": "packet S4 (B0): adversarial fixture contract, check:rag:adversarial-fixtures validator, baseline record, data-flow register, planned-path allowlist removals", - "outcome": "Implemented and self-reviewed; offline only, no retrieval/ranking/generation surface touched. Three provider-backed baseline gates recorded as pending_owner_run rather than filled in. Surfaced an unreconciled answer-gate denominator (HANDOVER records 45/45; rag-eval-cases.ts defines 44) for S5.", - "checks": "verify:pr-local exit 0 post-merge (19/19 completed, failed: none); npm run test 640 files / 6834 passed, 4 skipped; eval:rag:offline 24 suites / 597 tests; check:rag:adversarial-fixtures 24 cases / 8 categories / 6 canaries; docs:check-links 1822 refs; docs:check-scripts 491 refs; npm run format committed" + "date": "2026-07-10", + "ref": "codex/review-autofix-flow", + "head": "155c801cd58f797037d8aaa8b885405a1c599249", + "scope": "codex-autofix-residual-fixes", + "outcome": "Replaced one-shot PR deduplication with a three-cycle head-SHA cap, made comment permission failures fail visibly, and pinned `github-script` v9.0.0 to its verified immutable commit.", + "checks": "TDD red run (7 expected failures); focused Vitest green run (15 passed); `npm run verify:cheap` (152 files passed, 1 skipped; 1,426 tests passed, 1 skipped); focused Prettier check; `git diff --check`; official `git ls-remote` tag verification" }, { - "date": "2026-08-17", - "ref": "claude/packet-s4-adversarial-fixtures-5ho5tp", - "head": "d041ec2aad0676c47713e8c621eba534aaeaffa1", - "scope": "packet S4 (B0) conflict resolution + secret-scanner remediation", - "outcome": "Resolved three base advances. Two real conflicts kept both sides: rag-offline-contract-tests.json (this packet and main each appended a suite) and HANDOVER.md section 2 (S4 row vs S1b row); scripts-index.md conflicted only on its generated count line and was regenerated. Corrected the stale S1b row to merged, verified from git (PR #2035 landed as merge 92f7618). Gitleaks and GitGuardian flagged the original PHI canaries as high-entropy secrets: tokens are now letters-only, enforced by the validator regex, the published schema and a unit test, with one historical-commit fingerprint in .gitleaksignore. GitGuardian's incidents against commit 57fd5ae are SaaS-side and cannot be resolved from the repository.", - "checks": "verify:pr-local exit 0 on merge head d041ec2 (19/19 completed, failed: none); npm run test 642 files / 6871 passed, 4 skipped; eval:rag:offline 25 suites / 603 tests; check:rag:adversarial-fixtures 24 cases / 8 categories / 6 canaries; hosted Secret Scan, SAST, PR Policy and PR mergeability green on d041ec2; npm run format committed" + "date": "2026-08-09", + "ref": "claude/document-viewer-phase-3-bj5k5v", + "head": "156db63f1b60f09791e426b043ea90d427b789ab", + "scope": "post-#1772 test simplification: replace the viewer perf source-text grep with behavioural coverage; de-literalise rail window and keyboard label assertions", + "outcome": "PR #1777 opened. Self-review of #1772's own tests against an excessive-strictness challenge. Finding: the client-performance-boundaries grep for resolveLiveCanvasWindow / resolveRenderAheadPages / liveCanvasLimit / requestIdleCallback was not merely brittle, it was INEFFECTIVE - replacing the budget call with a hardcoded 3 leaves every identifier in the file, so it stayed green while the viewer retained three full-zoom canvases (measured both ways). Replaced by a DOM case that binds the budget (VIEWER_MAX_ZOOM at dpr 3 gives ~16.8M backing px against the 24M budget, window collapses to 1) and fails on exactly that substitution. Also exported RAIL_IMAGE_WINDOW so the rail test derives its counts (verified by tuning 6->8: all 7 still pass), and relaxed the keyboard aria-label assertions from exact prose to the key names. Pre-existing greps for disableAutoFetch / canvas.width = 0 / pageToCleanup left alone deliberately - two are now redundant but they are another author's guard.", + "checks": "verify:pr-local (1 pre-existing root-only failure: pr-handoff-stop #291; 5872 passed), build OK 80s + client bundle secret check, eval:rag:offline 36 golden cases / 574 tests, lint + typecheck clean. Sabotage-verified in both directions. Browser gates unrunnable here (#279) - unchanged by this diff." }, { - "date": "2026-08-17", - "ref": "claude/packet-s6-docling-lab-d6foa6", - "head": "798725d04c85070f90c7496c5c7808713dd2d2a5", - "scope": "eval/docling isolated Docling lab benchmark harness + Gate B decision-record template (packet S6/B3, PR #2057)", - "outcome": "PR #2057 open — harness only, no benchmark verdict; hard boundaries respected (worker/extractors/database untouched)", - "checks": "verify:pr-local heavy plan failed:(none); check:docling-lab passed (36 fixtures/10 hostile/6 canaries); docling-lab-contract test 20/20; check:github-actions passed; legacy engine smoke 46 docs 10/10 hostile contained canary-clean" + "date": "2026-08-02", + "ref": "claude/ds-v2-architecture", + "head": "157373700281f81f136275c56c9a82fb22776d99", + "scope": "PR-Arch Wave4 motion/z/overlays/print", + "outcome": "local gates green; frontend-ui-reviewer API-limited — glance required before auto-merge", + "checks": "unit 4972p; e2e:critical 15p; verify:ui 347p; verify:pr-local 0; eval:rag:offline pass" }, { - "date": "2026-08-17", - "ref": "claude/phone-pwa-animation-bug-suooj4", - "head": "1ee3fb13f52190632fc85fdea2833c19ccaa3e62", - "scope": "phone/PWA answer-progress animation defect: reduced-motion suppression, tri-state Motion preference, travelling ECG sweep", - "outcome": "Fixed: OS Reduce Motion was freezing all animation and setting the ECG trace to opacity:0; suppression now leaves a visible static trace, motion:full opts back in, and the pulse became a transform-driven scrolling strip", - "checks": "verify:pr-local exit 0 (640 files/6832 tests); verify:cheap exit 0; ui-phone-motion 3 passed and answer-progress-ui-smoke 4 passed on Chromium 1194 (diagnostic, browser-revision drift #255); check:production-readiness exit 0" + "date": "2026-07-25", + "ref": "`codex/therapy-page-polish-ad78b4`", + "head": "157559aa0678f02de09c14f66d544b62a5138c4a", + "scope": "Targeted release review: Therapy naming, centred navigation, and white canvas", + "outcome": "APPROVE. No P0-P3 findings. The production Therapy route consistently uses the title Therapy, the shared page background token, and a centred overflow-safe section navigation. The latest `origin/main` merge was clean and retained both upstream responsive/home-composer assertions. Highest residual risk is visual drift at an untested browser engine; exact desktop and phone Chromium measurements were stable.", + "checks": "Focused Vitest 40/40; pre-sync `verify:cheap` 378 files / 3342 passed / 1 skipped; pre-sync `verify:ui` passed; integrated runtime, Prettier, lint, and typecheck passed; integrated Vitest was interrupted by the shared heavyweight-test queue after an independent 378-file / 3342-pass run. Required hosted checks must pass on the published exact head before merge. No clinical/provider workflow ran." }, { - "date": "2026-08-17", - "ref": "claude/phone-pwa-animation-bug-suooj4 (PR #2046)", - "head": "fed037e644812c3662bedf147612ca9d63c46318", - "scope": "Run PR sweep: CI recovery", - "outcome": "0 behind main, no sync needed. CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno download in Safety and config checks) once. No review threads. Only advisory GitGuardian false-positive.", - "checks": "rerun_failed_jobs on Safety and config checks; PR required: success" + "date": "2026-07-24", + "ref": "PR #1175 / `cursor/ledger-009-010-032-041-063-519b`", + "head": "15a5d080a375635ca6ef042659fe8837d485c8e3", + "scope": "PR #1175 follow-up (description restore + template removal)", + "outcome": "SUPERSEDES prior #1175 row on `f3986abc`. PR description restored via temporary `PR_POLICY_BODY.md` sync then file deleted again so merge will not reintroduce the #1134 leftover. Scope unchanged: docs-only ledger closeout.", + "checks": "Sync PR policy body SUCCESS with correct ledger summary; prettier clean on prior tip. Awaiting Static/Unit on final tip. No providers." }, { - "date": "2026-08-17", - "ref": "claude/pr-auto-merge-safety-tpxupu", - "head": "786a0558bc676f7b7b175ae50b84f9db3d309b3d", - "scope": "scripts/guard-push.mjs, tests/guard-push.test.ts, AGENTS.md, .claude/skills/run-pr/SKILL.md, .claude/skills/handoff/SKILL.md, .cursor/agents/pr-babysit.md", - "outcome": "authored: allow ordinary fast-forward push/commit to a PR branch while auto-merge is armed; force-push and disabling auto-merge remain hard-blocked", - "checks": "verify:pr-local full run green (Test Files 635 passed, Tests 6775 passed/4 skipped, failed: none); guard-push.mjs self-test passed; tests/guard-push.test.ts 33/33 passed" + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "15a8093ec4fb6abd73ddead7c0f436e633359ab8", + "scope": "Cursor review+Bugbot+/debug closeout", + "outcome": "CONDITIONAL READY / CI green on tip before final main sync. Supersedes polluted DO NOT MERGE tip. Runtime asset opts retained; themed favicon restored; SVGO/sharp lockfile delta dropped (stub `check:assets`). Residual P2: orphan unused AVIF/WebP; year-long immutable `/icons/*` Cache-Control; `minimumCacheTTL: 86400`. NOT LANDED (OPEN).", + "checks": "Hosted PR required PASS (Static/Safety/Unit/Build/Production UI); brand:check + signed-image vitest local; no provider app checks." }, { - "date": "2026-08-17", - "ref": "claude/pr-auto-merge-safety-tpxupu (PR #2028)", - "head": "67d587f73f915ae5f9c8a43ddae42201b8f94595", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno download) once. No review threads. Only advisory GitGuardian false-positive (known canary-token pattern in tests/rag-adversarial-fixtures.test.ts).", - "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs; PR required: success" + "date": "2026-08-18", + "ref": "claude/lighthouse-baseline-refresh (PR #2134)", + "head": "15cee85322f9a1bfebfd6406a8f4e913e1e6b739", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state=behind; PR required failed solely on a cancelled Production-UI matrix shard (production-ui result=cancelled, no other job failed) on head 35f2ce47; no unresolved review threads, no actionable review comments (only bot rate-limit/skip notices from chatgpt-codex-connector, coderabbitai, supabase[bot]). Action: confirmed git merge-tree origin/main into the PR head was clean, then synced via mcp__github__update_pull_request_branch (explicit authenticated GitHub App identity) rather than a local merge since no other local fix was needed; new head 15cee853, base advanced to a9552eb4. This naturally retriggers a fresh CI run, which supersedes the stale cancelled Production-UI shard. After: CI re-running fresh at https://github.com/BigSimmo/Database/actions (Change scope/PR policy/security scans in_progress at report time); not babysat further per sweep cost controls. No code fix was needed - the two changed files (lighthouse-budget.json baseline data plus its own PR record) were never the cause of the failure.", + "checks": "git merge-tree --write-tree origin/main origin/claude/lighthouse-baseline-refresh (clean, single tree hash, no conflicts); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; mcp__github__get_job_logs on failing 'PR required' job (95801287405) confirmed cancellation-only failure via UI_RESULT=cancelled with no other *_RESULT non-success; no provider-backed gates run" }, { - "date": "2026-08-17", - "ref": "claude/pr-auto-merge-safety-tpxupu (PR #2028)", - "head": "6f1624386306abbf52b327a7abb8922b3a7778eb", - "scope": "Run PR sweep: babysit", - "outcome": "No action needed. CI was mid-run at first snapshot (Unit coverage in progress); left to settle rather than mutating. Re-checked: all required checks (PR required, Static PR checks, Unit coverage, Safety and config checks, PR policy) now green. Not behind main. No review threads.", - "checks": "No local checks run — nothing to fix, CI already green." + "date": "2026-07-28", + "ref": "PR #1291 / `claude/issues-upload-limit-sync-123366`", + "head": "1607558188283d3497683f1067835d96f1031d3c", + "scope": "CI babysit + merge conflict + Bugbot", + "outcome": "FIXED. GitHub CONFLICTING/DIRTY was a real content conflict in `docs/outstanding-issues.md`: main had claimed `#084` for completed per-result grading evidence, colliding with this PR's upload-limit capture. Resolved by keeping main's ledger, renumbering the upload-limit recommendation to `#085`, and bumping `issues:next-id` to `086`. Synced again when main advanced with #1300. CodeRabbit date thread already resolved. Bugbot: zero `cursor[bot]` findings. Required CI green (PR required SUCCESS).", + "checks": "merge-tree CLEAN; prettier + docs:check-links PASS; hosted Change scope/Static/PR required SUCCESS; no provider-backed checks." }, { - "date": "2026-08-17", - "ref": "claude/rag-d2-handover-sync", - "head": "e0db503cb93ec0bc9843c91cc7b84a0e8627ea6e", - "scope": "docs/rag-improvement HANDOVER/COORDINATION sync after S1b canary pair + S1d packet + S4/T4 rows (docs-only)", - "outcome": "docs-only; S1b canary root cause recorded; S1d packet added", - "checks": "verify:pr-local docs scope" + "date": "2026-07-30", + "ref": "codex/chat-prompt-skill-review-e608", + "head": "1611d5ee157f3444e08b5e1ccf5c316e8a319490", + "scope": "branch-cleanup", + "outcome": "closed PR #1439 duplicate superseded by merged PR #1434; safe local cleanup", + "checks": "maintainer closure states stronger replacement; SKILL.md and openai.yaml blob equality confirmed; verifier/workflow/tests replaced; batch8 bundle verified" }, { - "date": "2026-08-17", - "ref": "claude/rag-d3-s5-followups", - "head": "60e61bb9b89e2a62cefa7e89e8f6497c09e8a900", - "scope": "docs/rag-improvement S5 follow-ups: HANDOVER S5/S2 rows, COORDINATION §7, 4 inbox requests (docs-only)", - "outcome": "docs-only; S5 landed; follow-ups queued", - "checks": "verify:pr-local docs scope" + "date": "2026-07-30", + "ref": "codex/review-pr1439", + "head": "1611d5ee157f3444e08b5e1ccf5c316e8a319490", + "scope": "branch-cleanup", + "outcome": "closed PR #1439 duplicate superseded by merged PR #1434; safe local cleanup", + "checks": "maintainer closure states stronger replacement; SKILL.md and openai.yaml blob equality confirmed; verifier/workflow/tests replaced; batch8 bundle verified" }, { - "date": "2026-08-17", - "ref": "claude/rag-plan-review-guide-vhrls9", - "head": "0171669b37f4c9c7fb72a7a931b8b326d4eb72a1", - "scope": "docs/rag-improvement coordination handover + HANDOVER status sync + hazard H5a note + 6 inbox requests (PR #2024, post-#2022/#2023 merge)", - "outcome": "docs-only; conflict with merged S1 row resolved; state re-verified against origin/main 2bd146eed and canary runs 31964560921 -> 32025082010", - "checks": "prettier on touched docs; verify:pr-local docs scope (see PR body)" + "date": "2026-07-24", + "ref": "PR #1178 / `cursor/local-presence-054-7cf3`", + "head": "162f64cfdb475262d5f8534313397c3e895457d4", + "scope": "Local presence #054 + Tools canonical #007 + CI remediation (supersedes prior tip review)", + "outcome": "Same findings fixed on tip including PR_POLICY_BODY.md deletion commit. No new high-confidence defects. Residual: hosted #054.", + "checks": "verify:cheap green on prior tip; tip adds leftover PR_POLICY_BODY removal + this ledger row." }, { - "date": "2026-08-17", - "ref": "claude/rag-plan-review-guide-vhrls9", - "head": "704f8aebe0ca9df115b3b2b87fea735c847c8e88", - "scope": "docs: coordination-chat handover (COORDINATION.md, HANDOVER status corrections, catalogue)", - "outcome": "clean", - "checks": "verify:pr-local docs-focused scope green (format, docs gates, ledger checks)" + "date": "2026-07-30", + "ref": "codex/address-performance-issues-in-package", + "head": "1641f6a8d07746db3858c4dace0db3430545ca1d", + "scope": "bugbot", + "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note", + "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" }, { - "date": "2026-08-17", - "ref": "claude/rag-r0-reconcile-inbox", - "head": "b849065dd292279515cbad87a9eb08ba0d6a9fee", - "scope": "issues:reconcile after PRs #2023/#2024/#2035/#2036/#2037 (28 requests, 3 cancellations, #212 closed) + HANDOVER S4/T4 rows", - "outcome": "single fresh-base reconcile; supersedes PR #2032 partial-base attempt", - "checks": "check:outstanding-issues (0 pending, 217 applied); check:ledger-write-discipline passed f5b0932914eb..HEAD; verify:pr-local docs scope" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase2-documents", + "head": "1657231ffb5a3f0b3bc0948d778e3fd970b9dbc3", + "scope": "Phase 2 DocumentFrame", + "outcome": "approved locally; no open P0-P2; route ensure identity blocked in reviewer worktree", + "checks": "focused 8/8; Chromium geometry 1/1; production build TypeScript; diff check" }, { - "date": "2026-08-17", - "ref": "claude/rag-r0-reconcile-inbox (PR #2043)", - "head": "6f5503f906f77eee12d3932a9e74f537bb960d89", - "scope": "Run PR sweep: diagnosis only, no sync", - "outcome": "SKIPPED sync/merge - main already carries commit 14421fba 'docs(issues): reconcile 28 inbox requests into the outstanding-issues ledger (#2045)', which appears to be the same 28-request reconciliation this PR is attempting, and the inbox on main is now empty. This PR's own body explicitly says not to use Update branch and to close+re-run a fresh reconcile if main gains new inbox requests before merge - main didn't gain new pending requests, it received a duplicate full reconcile via a different PR (#2045). CI (PR required) is green and there are no review threads, but merging this now risks double-applying or conflicting with the already-landed ledger transaction. Flagged for human decision: close as superseded by #2045, or verify no unique content remains.", - "checks": "no local checks run; diagnosis via git log or docs/outstanding-issues-inbox tree on origin/main" + "date": "2026-08-24", + "ref": "cursor/answer-chat-mockups-025d (PR #2321)", + "head": "1683edfbd66d2e13bee9f7e533e87218ea9237d8", + "scope": "Run PR sweep: main sync + conflict resolution", + "outcome": "Before: draft mockup PR reported mergeable_state=dirty. git merge-tree confirmed a real conflict, isolated to generated docs/site-map.md (plus a clean auto-merge in src/app/mockups/mockups-layout-client.tsx). No failing CI, no unresolved review threads. Fix: merged origin/main in an isolated worktree, kept ours for site-map.md then regenerated it via npm run sitemap:update (pre-commit doc-sync hook ran clean), pushed the merge commit. After: mergeable_state=blocked pending checks then PR required green at 1683edfb.", + "checks": "npx vitest run tests/answer-chat-redesign-mockups.test.ts tests/answer-chat-redesign-mockups.dom.test.tsx — 2 files, 7 passed. CI (hosted): PR required success at 1683edfb. No provider-backed checks run." }, { - "date": "2026-08-17", - "ref": "claude/regrade-322-warfarin", - "head": "5259f388992a1ed5f9d3ab757ccf40b21705326d", - "scope": "docs/outstanding-issues-inbox — #322 re-grade to P1 on traced evidence", - "outcome": "Traced data/medication-interaction-index.json and src/lib/medication-interactions.ts. The row's 'ZERO in common' claim is wrong - rows 0 and 2 are shared. Real defect is complementary incompleteness: warfarin-vka holds the CRITICAL CYP2C9 inducers row (carbamazepine, St John's Wort) and warfarin-anticoagulant holds the HIGH NSAID/Aspirin/SSRI row (12 counterparties, 6 SSRIs); neither holds the other's. Resolution is per-slug via INDEX.bySlug with no union (medication-interactions.ts:207,241), so which record is opened determines the warnings shown, and both display as Warfarin. Re-graded P2 to P1. Structural finding only; clinical correctness and the merge/delete/relabel decision left to the clinician.", - "checks": "verify:pr-local (11 completed, 0 failed)" + "date": "2026-08-07", + "ref": "claude/issues-256-section-nav-clean", + "head": "169323053db5c572d183d59c113ecd0c76e7aca5", + "scope": "issues #256: forms section anchors + differentials presentation set (PR #1697)", + "outcome": "Wired all six formSections anchors in form-detail-page.tsx (four direct ids, two breakpoint pairs via existing mobile wrappers and single-child desktop wrappers, no component signature change); deleted differentialPresentationSections and declared /differentials/presentations/ locally-owned instead, since three of its six sections declared a -mobile targetId ReviewPanels can never satisfy and the page owns MobileTabs below xl plus the xl review sidebar. Added a registered browser spec because source-text and jsdom guards both structurally cannot see breakpoint-variant resolution.", + "checks": "lint exit 0; typecheck clean; test 519/520 files (pr-handoff-stop confirmed pre-existing via stashed re-run); check:gate-manifest and check:ci-scope pass with the new spec in both playwright allowlists; ui-forms-section-nav + ui-accessibility 18 passed incl real-record nav with 6 links and exactly one variant per pair visible at 390px and 1280px; binding guard mutation-checked red on one removed id; browser spec observed failing when nav genuinely absent; format clean. Environment: npm ci blocked (main lockfile needs Node >=24.15, container has 24.13), tailwind-merge@3.6.0 materialised from tarball only" }, { - "date": "2026-08-17", - "ref": "claude/remove-clinical-entries-text-0vtmot (PR #2049)", - "head": "0ef1e53c10e2a2fcf7268347a915ab0f5e8b123b", - "scope": "Run PR sweep: main sync + CI recovery", - "outcome": "New PR opened mid-sweep. Synced clean (no conflicts, was already current with main once fetched). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno) once. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch (no-op, already current); rerun_failed_jobs; PR required: success" + "date": "2026-08-23", + "ref": "codex/maturity-quick-wins-20260823", + "head": "16b4d4173b9af7f3b839f1ca62518e729340ea7d", + "scope": "maturity quick wins: soak, tenancy, drift, and governance", + "outcome": "No blocking findings after independent review; redirect, authentication, throttling, exact-SHA, workflow-diagnostic, and documentation issues resolved.", + "checks": "74 focused Vitest tests; full typecheck; changed-file ESLint; docs, action-pin, gate-manifest, format, and diff checks; no live/provider checks." }, { - "date": "2026-08-17", - "ref": "claude/remove-specifiers-nav-gamiom", - "head": "74c4bc0faa6d47c6e2f2554251f61fabdbb04cfd", - "scope": "src/components/specifiers/specifier-map-nav-header.tsx,tests/mode-nav-addon-slot.dom.test.tsx,tests/in-page-nav-route-sections.dom.test.tsx", - "outcome": "PASS", - "checks": "typecheck,vitest:focused(46),verify:phone-chrome(contracts 130 passed; full-ui blocked by pre-existing sandbox Playwright browser-revision gap, not a code regression),manual-playwright-screenshot" + "date": "2026-07-25", + "ref": "execute-system-audit-remediation (PR #1197)", + "head": "16c3184743002af037ee4899b7b8e46e574b8457", + "scope": "Bugbot + local high-risk review + runtime summaryMode repro; prlanded check", + "outcome": "DO NOT MERGE. Not merged (prlanded skipped). Branch ~468 behind main; merge-tree dirty (outstanding-issues + audit plan). P1: removed rustGatedAnswerForClinicalNotes + deleted clinical-notes boundary tests in visual-evidence-tabs; summaryMode test expects 200 vs route 400 (summary_mode_stream_required) runtime-proven; RAG deterministic pre-classifier in rag.ts without RAG impact:/canary (PR policy FAIL + clinical preflight missing); stale outstanding-issues next-id 064 vs main 081. P2: audit-plan conflict residue (=======); dead summarizeDocument path; est:standalone heavy-lock bypass.", + "checks": "Bugbot; static three-dot vs origin/main; vitest private-access summaryMode ? expected 200 got 400; visual-evidence remaining tests 2/2 pass; gh PR policy fail logs; no provider-backed checks." }, { - "date": "2026-08-17", - "ref": "claude/s1-rag-mitigation-231-86c182", - "head": "6ddd45e5fd0725638c55684ca85833ddf78560c4", - "scope": "RAG answer-verification faithfulness fixes (#231 S1): markdown-emphasis atom folding + claim-support wrap reflow, tests, HANDOVER S1 row", - "outcome": "PR #2022 open — rung 1 mitigation; residuals recorded (unbudgeted strong retry timeout, directive-normativity, topic dilution)", - "checks": "eval:rag:offline 583/583; check:production-readiness READY; verify:pr-local heavy scope green except 2 pre-existing host-env unit failures reproduced at merge-base d02767184; 8 pre-fix + 5 post-fix owner-approved live probes" + "date": "2026-07-24", + "ref": "`codex/query-ribbon-search-headings`", + "head": "16ce57d9615708528e7924b41837210a24414722 + reviewed ledger diff", + "scope": "Universal Query Ribbon implementation and responsive search-heading review", + "outcome": "APPROVE after two scoped polish fixes. The shared result header now presents query, progress/result state, scopes, and real sort/view/save controls consistently across Services, Forms, Favourites, Differentials, and Medication/Prescribing search surfaces; the mockup remains available at `/mockups/search-heading`. The review restored the compact `Sort` label at ordinary phone widths and prevents stale/unknown scope IDs from producing an empty utility strip. No P0-P2 finding remains. Retrieval, ranking, source selection, and clinical output behavior are unchanged. Highest residual risk is unexercised browser combinations outside the focused cross-route responsive matrix.", + "checks": "Focused header DOM 4/4; focused ESLint; `git diff --check`; live 1280px route QA with zero overflow and visible keyboard focus; production Playwright build compiled, TypeScript passed, 1,678 pages generated, and focused Chromium responsive/search/prescribing matrix passed 16/16. `verify:pr-local` passed runtime, Prettier, full ESLint, and TypeScript; its complete unit run stopped only when the unrelated load-sensitive `reconciliation-preflight` case exceeded 30 seconds, then that file passed 5/5 in isolation. No OpenAI, Supabase, Railway, deployment, production-data, or clinical provider workflow ran." }, { - "date": "2026-08-17", - "ref": "claude/s1-rag-mitigation-231-86c182", - "head": "d0e7bbf0246dbf3e3f7cb92dd541aecc33178ef8", - "scope": "RAG answer-verification faithfulness fixes (#231 S1) + review-nit test coverage", - "outcome": "PR #2022 CI green (PR required SUCCESS, CLEAN/MERGEABLE); CodeRabbit nitpick addressed; Codex/CodeRabbit both usage-limited so no further bot review; ready for owner merge", - "checks": "eval:rag:offline 583/583 on merged head 9098cc7c5; focused vitest answer-verification+rag-claim-support 227/227 after nit; check:production-readiness READY" + "date": "2026-07-13", + "ref": "codex/lithium-answer-recovery", + "head": "16e51a167ef349ef516dc862ccaa278091bf63f7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-08-17", - "ref": "claude/s1b-rag-dosing-routing-6u1mik", - "head": "713df7a6128f0a8d9e63fd2c46e62c269aaaee9b", - "scope": "RAG answer routing: medication_dose_risk pre-deadline strong route (S1b/R1, #231) + extractive-first short-circuit signatures + golden allowedRoutes", - "outcome": "PR #2035 open; behaviour change awaiting owner merge + post-merge canary pair", - "checks": "verify:pr-local heavy scope (lint, typecheck, full test, build, eval:rag:offline 586/586, medication checks) exit 0; focused vitest 103/103; rag-answer-fallback 90/90; check:rag:fixtures 36 golden cases; check:production-readiness offline-expected" + "date": "2026-07-26", + "ref": "`codex/phone-header-hidden-edge`", + "head": "16e7bfdb33cbf05199b8044fc199ab2a9457c132", + "scope": "Protected-main release-readiness review of shared phone header collapse", + "outcome": "APPROVE. All 13 app modes release the hidden phone header and top safe area to the physical viewport edge through one scroll signal; Therapy, DocumentViewer, and Differential detail page headers portal into the same collapse track. Review found and fixed one blocker before approval: the generic flex track initially honored DocumentViewer min-content width and expanded to 383px on a 320px viewport; `min-w-0 max-w-full` now bounds both the shared track and addon host. Highest residual risk is physical iOS Safari status-bar compositing beyond Chromium's simulated safe area.", + "checks": "`verify:cheap` PASS; focused contracts 46/46; phone-scroll production spec 38/38 before final width guard; focused 320px page-owned headers 3/3 and DocumentViewer smoke 1/1; final `verify:ui` 308/308; `verify:pr-local` PASS including production build and 36-case offline RAG fixtures. No provider-backed checks." }, { - "date": "2026-08-17", - "ref": "claude/s1c-residuals-r2-r3-4pb1at", - "head": "3960c46a7322018f53ab79441234132f07657197", - "scope": "S1c follow-ups: use-theme transition-timer guard + issues:done ULID display-id fingerprint, tests", - "outcome": "PR #2063 open; both loose ends from the S1c babysit fixed; no RAG surface touched", - "checks": "focused vitest 20/20 + repo-hygiene 57/57; verify:pr-local (lint, typecheck, test, build) failed:(none); live-ledger fingerprint spot-check 3/3" + "date": "2026-07-28", + "ref": "PR #1268 / dependabot/npm-production (merged)", + "head": "1753c0bf4f3d236ba23a42afb1620156d8586484", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED prod deps: next/env/supabase/lucide/openai/react 16.2.12/2.110.8/1.27/6.49/19.2.8. Sync+auto after hung Bundle budget retrigger.", + "checks": "hosted-pr-required,static,unit,build,containers,circleci" }, { - "date": "2026-08-17", - "ref": "claude/s1c-residuals-r2-r3-4pb1at", - "head": "beb7298a8cdac29b568bc425e9736c9415729e9b", - "scope": "packet S1c: rag-claim-support R2 normative-norm disjunct + R3 adjacent atom-free topic lending, tests", - "outcome": "PR #2052 open; offline 613/613; verify:pr-local heavy scope green; R3 measured 87->78 sole-overlap rejections, zero protective flips", - "checks": "vitest rag-claim-support 157/157; eval:rag:offline 613/613; check:rag:fixtures 36 golden/25 suites; verify:pr-local (lint, typecheck, test, build) green; check:production-readiness offline provider gaps only" + "date": "2026-08-20", + "ref": "PR #2199", + "head": "175c641321e58089d452ed76718972b8d7f705ca", + "scope": "PR #2199 on-demand document search — Codex P2 review-comment resolution", + "outcome": "Fixed: the document-viewer visual-baseline target still declared .document-viewer-composer as a mask, but the composer is no longer rendered until Search document is pressed, and assertMaskSelectors fails loudly on a mask matching zero nodes — which classify-visual-baseline-outcome.mjs scores as a NON-drift failure, turning the advisory job hard red on every main push. Mask reduced to the sticky header, with the reasoning recorded in the target comment. Reviewed the rest of the diff: stale-response protection holds (closeDocumentSearch clears sourceSearch, whose effect cleanup aborts the in-flight controller before the reset run), focus restoration and Escape are covered by the Chromium journeys.", + "checks": "npm run verify:pr-local: check:runtime, check:installed-lock-parity, format:changed, lint, typecheck all passed; npm run test 692/693 files, 7592 passed, 4 skipped, 1 failed — tests/guard-push.test.ts 'inFlightCiGuard formats actionable blocked message', byte-identical to origin/main and failing only because gh is absent in this container so inFlightCiGuard fails open before the injected runFetcher is used; CI Unit coverage passed on this head. Browser proof delegated to CI Production UI: local Playwright pins chromium 1234, image ships 1194 (#255)." }, { - "date": "2026-08-17", - "ref": "claude/s1c-trigger-condition-first-4pb1at", - "head": "18a535cde83de776d1e3873385e220c3e307b02e", - "scope": "S1c follow-up: claim-leading for/in condition binding in highRiskTriggerTokens (protected RAG surface, tightening only)", - "outcome": "PR #2065 open; digit-free population mis-bind closed fail-first; merge after S1c canary; own post-merge canary pair owner-approved", - "checks": "vitest rag-claim-support 160/160; eval:rag:offline 616/616 zero flips; verify:pr-local heavy failed:(none); check:production-readiness offline provider gaps only" + "date": "2026-08-19", + "ref": "claude/rag-d6-reconcile-b4", + "head": "175f49acf06e0ece2cb8e8a29961c7b6979df3c7", + "scope": "issues:reconcile post-B4 (2 requests; #9DGA6R closed) + HANDOVER S7 merged row + pending fixtures.v2 request (docs-only)", + "outcome": "reconcile clean; 1 pending (new request, applies next pass); register refreshed", + "checks": "check:outstanding-issues; check:ledger-write-discipline passed 5437c309f27f..HEAD; verify:pr-local docs scope" }, { - "date": "2026-08-17", - "ref": "claude/s1d-final-gate-gap-recovery-dxgrn2", - "head": "42134f42b9fe8676af99cfb7dbe377ac1306c9e6", - "scope": "S1d final-gate gap recovery: finalizeRagAnswerQualityCore extractive recovery for fast strong_routine_retrieval gap-like answers (rag-extractive-answer.ts + tests + behaviour-map)", - "outcome": "PR #2054 open; behaviour change, post-merge canary pair owed (baseline 32039841070)", - "checks": "verify:pr-local heavy scope green (lint, typecheck, test, build, eval:rag:offline); focused vitest 227/227 + 91/91; check:rag:fixtures 36 golden; check:maintainability-budgets green; discriminating-fixture proof (2 fail without diff)" + "date": "2026-07-31", + "ref": "codex/complete-and-merge-p2-tasks-to-main", + "head": "1761a100464992486fc7979a448c7a9773bd3e55", + "scope": "PR #1471 review+bugbot+fix+heavy", + "outcome": "PASS: synced origin/main (behind-but-clean); deep review+Bugbot no P0-P2; 0 threads; therapy index contracts OK; verify:cheap + verify:pr-local green; PR body RAG impact accurate", + "checks": "merge-tree clean; 0 behind; therapy --check 205; vitest therapy 14 passed; verify:cheap 445 files/4661 tests; verify:pr-local runtime+lint+typecheck+test+build+rag fixtures; prior tip ea92b37 CI pr-required green" }, { - "date": "2026-08-17", - "ref": "claude/s5-rag-telemetry-harness-2wvis7", - "head": "254132140dd8b19d8eb3669de88cf1d9ad9cf609", - "scope": "Packet S5 (B1+B2): telemetry gap assessment + offline adversarial harness + routing", - "outcome": "PR #2056 open; offline gates green; 3 divergences pinned in KNOWN_DIVERGENCES; 44/44 denominator reconciled", - "checks": "verify:pr-local heavy chain (lint, typecheck, test, build, eval:rag:offline, eval:rag:adversarial:offline) failed:(none) not-reached:(none); check:rag:adversarial-fixtures 24/8/6; maintainability rag.ts 4359/4362" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "1773d6af155326989e460ee486edf5299a286c5e", + "scope": "latest-main merge conflict resolution and CI repair", + "outcome": "resolved generated-document and Playwright-registration conflicts while synchronising the latest main; retained Caring Contacts and Ward roles registrations", + "checks": "Vitest 121/121; design-system and site-map generators; staged diff check" }, { - "date": "2026-08-17", - "ref": "claude/search-bar-behavior-2g0vnq (PR #2038)", - "head": "ed46e24fba1065df5aaccb52a8e634863eeaa076", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake once. No review threads. Only advisory GitGuardian false-positive.", - "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs; PR required: success" + "date": "2026-07-14", + "ref": "codex/formulation-specifier-separation-current", + "head": "17c9ea7383f5b463ec648317cd170c24b8e7c584", + "scope": "branch-cleanup", + "outcome": "Retained: open PR #672 (Specifiers/Formulation separation residual; core already landed on main via #674).", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-17", - "ref": "claude/search-results-differentials-prs-o7z531", - "head": "1c95a8c02d280e28a01639be2e88a5c7467c7934", - "scope": "src/components/clinical-dashboard/differentials-home.tsx, tests/differentials-compare-selection.dom.test.tsx", - "outcome": "shipped: safety banner promoted to top of differentials search results (all breakpoints) + new Clinical urgency filter dimension added alongside result-type filter", - "checks": "verify:pr-local (full, banner commit); tsc/eslint clean + full npm run test 642 files/6872 passed (filter commit); manual Playwright QA desktop+phone" + "date": "2026-07-14", + "ref": "copilot/fix-accessibility-test-timeouts", + "head": "17e11e45835510d2a43b8ea6fdfeed10df11e0d7", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-17", - "ref": "claude/search-results-differentials-prs-o7z531 (PR #2047)", - "head": "cee5c5a645f4cb9346df2571b555b9e8c117a256", - "scope": "Run PR sweep: merged during sweep", - "outcome": "Merged by BigSimmo (repo owner) mid-sweep, no action needed from this session. CI had been green apart from the same denoland/setup-deno codeload.github.com transient observed across this sweep.", - "checks": "no action taken; PR merged by owner before this session acted" + "date": "2026-08-13", + "ref": "codex/differentials-compare-elevate-20260813", + "head": "181fb0b45c35906c91aab46e9a6dc32e6c360916", + "scope": "PR #1911 end-to-end differentials navigation review", + "outcome": "Fixed one reproducible duplicate-header defect in the ad-hoc compare workspace; no other high-confidence PR-introduced defects found", + "checks": "focused ad-hoc navigation contract PASS; source diff review PASS; prior exact-head PR required, Production UI, unit coverage, build, SAST, and secret scan green" }, { - "date": "2026-08-17", - "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", - "head": "e0c3f640b97583b5c3efa1e5dd08070c338b460d", - "scope": "Run PR sweep: CI recovery confirmed", - "outcome": "Supersedes the pending-rerun record from this sweep. Both flagged failures resolved on rerun once sweep-wide CI concurrency dropped: Safety and config checks (codeload.github.com denoland/setup-deno flake) and Lighthouse budget (mobile-root CLS +0.223 regression, confirmed noise from concurrent Chromium load - re-measured clean). PR required: success.", - "checks": "rerun_failed_jobs x2; PR required: success" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "18253c2bc555d424e83f987712cf528dd3910e3f", + "scope": "Carry validated optional RAG signal degradation fix through main d301d8f4", + "outcome": "fixed", + "checks": "git diff --check; static RAG contract inspection; ledger and issue guards; tests blocked without node_modules" }, { - "date": "2026-08-17", - "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", - "head": "e0c3f640b97583b5c3efa1e5dd08070c338b460d", - "scope": "Run PR sweep: main sync + CI recovery", - "outcome": "Behind main -> synced clean (no conflicts). CI: Static/Build/Unit coverage/Production UI all green. Two failures traced and rerun: 'Safety and config checks' hit the same codeload.github.com 429/503 denoland/setup-deno infra flake seen across this sweep; 'Lighthouse budget' flagged a mobile-root CLS regression (+0.223 vs +0.02 tolerance) that this PR's diff (services-navigator-page.tsx/service-core-groups.ts, scoped to /services, which isn't in the Lighthouse-measured route set) cannot plausibly cause - attributed to CPU contention from this sweep's many concurrent Chromium/Lighthouse jobs. Rerun queued for both at sweep end; not yet confirmed green. 'Advisory UI' failure is non-required and ignored per policy. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs queued (Safety, Lighthouse, Advisory UI); PR required: pending final rerun result" + "date": "2026-07-30", + "ref": "codex/review-pr1428", + "head": "1831cd244ed12bd0b6eca06e9b1c5e83f066fd20", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1428 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-17", - "ref": "codex/filter-system-overhaul", - "head": "7e55c066e20be34beca8441b2e0f9c40be5fcb95", - "scope": "pr #1998 clinical filter overhaul", - "outcome": "PASS", - "checks": "typecheck, vitest (filters, sheets, search band, dom panels), prettier" + "date": "2026-07-30", + "ref": "codex/review-pr1428", + "head": "1831cd244ed12bd0b6eca06e9b1c5e83f066fd20", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1428; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-08-17", - "ref": "codex/guide-search-chrome-20260815", - "head": "7365c7f36751b15f155b5228bdce075d9c4e09ec", - "scope": "PR #2007 CI fix: prettier format, design-sync contract regen, guide-centre scroll-hide race, ui-smoke scroll threshold + a11y (bodyTabIndex)", - "outcome": "Fixed 4 CI failures (Static PR checks, Unit coverage x2, Production UI) so PR is ready to merge once CI reruns", - "checks": "npx vitest run (design-sync-contract, design-sync-visual-exports, guide-centre.dom, guide-centre-design-contract.dom); npx eslint on touched files; npx prettier --check; local Playwright production build+run of tests/ui-smoke.spec.ts guide centre test (3 iterations to isolate/fix/verify) and tests/guide-centre-chrome.spec.ts (found unmatched by testMatch, noted not fixed)" + "date": "2026-07-25", + "ref": "`cursor/pr1188-fix-build-breakers-6ee0` (PR #1213)", + "head": "183291a1f892489218b3d6b6c8a04966cdadd1e3", + "scope": "Clean rebuild of intentional #1188 remediation on main", + "outcome": "READY for review. Ports notice extraction + admin lazy-load + indexing-v3 utils extraction without the dirty archive base / conflict markers / syntax breakers from #1188 tip `8b86391`. Preserves system-notice answer gate + responsive visibility. Recommend close #1188 after this merges.", + "checks": "typecheck; check:github-actions; check:branch-review-ledger; prettier; esbuild utils parse. No provider calls." }, { - "date": "2026-08-17", - "ref": "codex/pr-1998-fix", - "head": "89d764ec9df835c3cb477d4e71859e62b55311cb", - "scope": "pr", - "outcome": "PARTIAL-FIX", - "checks": "typecheck, tests(sheets+ui-tools), merge main, docs format" + "date": "2026-08-18", + "ref": "claude/dictionary-mode-ui-updates-uwoicy (PR #2114)", + "head": "189df34d69c01fe08f17df5e49dc0cf2ca37d9c6", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: all required checks already green (PR required success), 0 unresolved review threads, 3 bot-only PR comments (Codex usage limit, Supabase no-op, CodeRabbit rate limit) needing no action. Branch was behind main (mergeable_state: behind). Action: synced via GitHub update-branch API (clean merge, no conflicts) -> new head 189df34d69c01fe08f17df5e49dc0cf2ca37d9c6. After: fresh CI running on synced head, no code changes made, no threads to resolve.", + "checks": "No local gates run — PR already had npm run lint/typecheck/test/verify:ui results in its own description and no code was touched by this sweep; only a GitHub-side branch sync was performed. No provider-backed checks run." }, { "date": "2026-08-17", - "ref": "codex/therapy-global-convergence-20260814", - "head": "a3d81a66ca1340f93cbda6a00df85b3d7802ae89", - "scope": "PR #1992 CI-blocker fix (format + regex anchor)", - "outcome": "fixed 2 required-CI blockers: prettier format on tests/therapy-pr-unblocking-contract.test.ts, and a JS-regex end-anchor bug in tests/audit-navigation-auth-regressions.test.ts (missing \\s* before $ meant it never matched under JS $ semantics for a sourceSegment slice ending in a trailing newline). Merged origin/main (1 commit, clean tree). Local verification: typecheck, lint, full format:check, and full vitest suite (626 files / 6726 tests) all green. Lighthouse mobile-root CLS CI regression investigated: no code in the diff plausibly explains a home-page CLS shift; single local reproduction measured CLS 0.013, matching baseline (CI's own budget script treats a single breach as needing majority-of-3 confirmation, consistent with CI noise). Production UI (3) differentials Playwright failure investigated: PR diff does not touch any differentials/navigation files; not reproducible locally (Playwright browser revision mismatch in this environment). Left both for the fresh CI run to confirm; did not make speculative product-code changes.", - "checks": "typecheck,lint,format:check,test(vitest full 626/626)" + "ref": "claude/s1c-trigger-condition-first-4pb1at", + "head": "18a535cde83de776d1e3873385e220c3e307b02e", + "scope": "S1c follow-up: claim-leading for/in condition binding in highRiskTriggerTokens (protected RAG surface, tightening only)", + "outcome": "PR #2065 open; digit-free population mis-bind closed fail-first; merge after S1c canary; own post-merge canary pair owner-approved", + "checks": "vitest rag-claim-support 160/160; eval:rag:offline 616/616 zero flips; verify:pr-local heavy failed:(none); check:production-readiness offline provider gaps only" }, { - "date": "2026-08-17", - "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", - "head": "b4fc1b7973d9f4d2087af1a287e5f48a9c753030", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean (no conflicts). CI genuinely fails: bumping node:24-bookworm-slim to node:26-bookworm-slim breaks 'Container images / build-and-verify' because repo pins engine-strict Node >=24.15.0 <25 (EBADENGINE on npm ci inside Docker build). Not a flake - left red. Recommend closing/ignoring this Dependabot major bump rather than merging or force-fixing engine-strict.", - "checks": "git merge-tree clean; GitHub update-branch; job log confirms EBADENGINE node v26.7.0 vs required <25; not merged" + "date": "2026-08-15", + "ref": "PR #1991", + "head": "18a5f42dad73695f95301574a3bb08c1341d025f", + "scope": "docs/medication-lexicon-review-worklist.md + one #318 inbox request (46750cbf); no lexicon, catalogue or sign-off change", + "outcome": "Authored handoff. Worklist prepared for the #318 clinician pass; row stays OPEN and UNREVIEWED. Verified two of the row's three cited defects are already closed (ARB/Carbapenem guarded; lithium reachable) and only the Warfarin split remains, with zero interaction rows in common between the two records. Three new findings not surfaced by the sheet: tcas selects dead slug dothiepin so Dosulepin (FATAL in OD) fires none of 20 severe rows; nsaids subclass match excludes Celecoxib/Parecoxib from 38 severe rows; maois subclass match excludes Moclobemide (RIMA) from 17 severe rows. Also found two blind spots in the review instrument itself - missedClassMembers() skips sub-4-char stems so the check cannot fire for tcas or arbs, and it never reads tag - so the sheet's 'checks ran clean' line is overstated for two terms. One near-miss corrected before publication: Omeprazole was not a catalogue record, it was a substring hit inside Esomeprazole.", + "checks": "verify:pr-local low-risk docs route, 11 checks completed, failed: (none); check:ledger-write-discipline passed 806918834b43..HEAD; check:outstanding-issues passed 341 rows; medications:lexicon-report regenerated byte-identical. verify:ui NOT run - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed in this container; no browser coverage claimed." }, { - "date": "2026-08-17", - "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", - "head": "eb1874db74b9be0a2657e3913ab41003f402deb0", - "scope": "Run PR sweep: CI diagnosis", - "outcome": "Not fixed — genuine incompatibility, not a bug: bumping the Dockerfile base image to node 26-bookworm-slim ships Node v26.7.0, but the repo's engine-strict floor pins Node >=24.15.0 <25 (AGENTS.md), so npm ci fails EBADENGINE in the container build. Needs an owner decision (reject the bump, or a deliberate repo-wide Node 26 migration), not a sweep-scoped code change. Left untouched; no review threads.", - "checks": "Diagnosed from CI job logs only (Container images / build-and-verify); no local reproduction attempted (Docker build), no provider-backed checks run." + "date": "2026-08-05", + "ref": "codex/editable-search-pins", + "head": "18c3069c7ad19b7e92e3ec9e0b65b5d845afe9c1", + "scope": "editable search pins menu production integration and mockups", + "outcome": "no findings; ready for draft review", + "checks": "verify:pr-local; focused pin tests; typecheck; responsive browser QA; phone-chrome contracts and journey" }, { - "date": "2026-08-17", - "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", - "head": "907ca970eb21735bc872e5101707fbba6a779baf", - "scope": "Run PR sweep: CI fix + drift", - "outcome": "Fixed: Static PR checks failed on npm run check:github-actions (claude-code-action bumped to v1.0.193, SHA not yet in the reviewed-pins allowlist). Reviewed the v1.0.188-v1.0.193 release notes (bug fixes/docs only, no permission or trust-boundary change) and added the new SHA to scripts/github-action-pins.mjs following the existing review-comment convention. Was behind main by 6 commits; synced. No review threads.", - "checks": "node scripts/check-github-action-pins.mjs (before: failed; after: 'GitHub Actions pin check passed.'). No provider-backed checks run." + "date": "2026-07-13", + "ref": "codex/rag-remediation", + "head": "18cf01f2100c479beb2b8a089c287e8c7d978eb8", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #553; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-17", - "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", - "head": "d3920e636e191a31240cee4897b314ec9329c587", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch; PR required: success" + "date": "2026-07-13", + "ref": "origin/codex/rag-remediation", + "head": "18cf01f2100c479beb2b8a089c287e8c7d978eb8", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #553; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." + }, + { + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "18fcfae24b41cdd5caebd2780afa963a2a1335a5", + "scope": "Follow-up — Bugbot/CodeRabbit residuals addressed (supersedes the 97ab067 Bugbot row)", + "outcome": "Residual P2 closed: import-graph lock added — an allowlist test asserts `cross-mode-differentials.ts` may import ONLY the precomputed index + the (type-only) catalog type, catching direct, transitive-via-new-import, and dynamic `import()`/`require` reintroductions of `@/lib/differentials`. P3s closed: stale `cross-mode-links.tsx` comment fixed; `build-cross-mode-differentials-index.mjs` listed in `scripts-index.md`. CodeRabbit's two Minor nits (guard depth + this ledger refresh) addressed.", + "checks": "vitest `cross-mode-differentials-index` 3/3; typecheck + lint PASS; `docs:check-scripts` + `docs:check-links` PASS; `check:cross-mode-index` PASS; no provider-backed checks." }, { - "date": "2026-08-17", - "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", - "head": "1fb8035b9fdf6617705dd386f33158f20a3c334a", - "scope": "Run PR sweep: drift sync", - "outcome": "CI already green. Was behind main by 6 commits; synced via authenticated update-branch. No code fix needed, no review threads.", - "checks": "No local checks run — dependency-bump PR, CI already validated before sync; no provider-backed checks run." + "date": "2026-07-13", + "ref": "codex/pr-483-fixes", + "head": "190affffacf2a0c0447b51fe87fdb22ae37737b1", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #483; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-17", - "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", - "head": "39d4a783ca9311aa71ac0e9ba776360461e18588", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean (no conflicts). CI: rerunning codeload.github.com 429/503 infra flake (docker/build-push-action download) in progress at sweep end. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs queued on Container images job" + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "191707ee", + "scope": "CodeRabbit malformed-ledger-row disposition", + "outcome": "DISPOSITIONED / not actionable on this PR. MD056 cell-count warnings on ~700-722 are identical on origin/main. Fix belongs in dedicated main ledger hygiene if desired.", + "checks": "cell-count scan main vs tip; check:branch-review-ledger PASS; no provider checks." }, { - "date": "2026-08-17", - "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", - "head": "7793c76822748ed87e14d534aa4545435d779486", - "scope": "Run PR sweep: main sync + CI", - "outcome": "Behind main -> synced clean twice (no conflicts, main advanced mid-sweep). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (docker/setup-buildx-action download) once. No review threads.", - "checks": "git merge-tree clean; GitHub update-branch x2; rerun_failed_jobs on Container images job; PR required: success" + "date": "2026-07-30", + "ref": "PR-1470", + "head": "1932e81ece9361c08607d2ef01ad653a7df0ac8d", + "scope": "PR #1470 full diff vs origin/main", + "outcome": "PASS after repair: #013 remains open and measurement-gated", + "checks": "check:outstanding-issues passed; docs:check-links 1408 passed; Prettier passed; git diff --check" }, { - "date": "2026-08-17", - "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", - "head": "7df44e5c19c904247e0d0d1de40d338223820a95", - "scope": "Run PR sweep: drift sync", - "outcome": "CI already green (Static PR checks/Unit coverage/Build/Container images all success). Was behind main by 6 commits; synced via authenticated update-branch. No code fix needed, no review threads.", - "checks": "No local checks run — dependency-bump PR, CI already validated before sync; no provider-backed checks run." + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "1938a6bc5f1845c67c85584ded78b3be1c8a961a", + "scope": "Calculators first-class mode", + "outcome": "Merged the latest required base after the final freshness check; calculator local-search and action-menu P2 corrections remain intact.", + "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; reconciled search-chrome contract assertion; focused Vitest remains unavailable because this isolated worktree has no node_modules" }, { - "date": "2026-08-17", - "ref": "gemini/clinical-data-lexicon-integrity (PR #2029)", - "head": "1f903da31d9befb0cadebd7704447284d3c95bba", - "scope": "Run PR sweep: threads + drift", - "outcome": "Partially fixed. Fixed 1 CodeRabbit review thread: tests/therapy-compass-pathways.test.ts modality-absence predicate incorrectly used '&& therapy.modality != null', letting a modality:null record slip past the field-removal assertion — changed to key-presence-only per the reviewer's own suggested diff. Was behind main by 3 commits; synced. NOT fixed, needs owner attention: (1) PR policy check fails — this diff regenerates data/medication-interaction-index.json (clinical-risk per classifyPullRequestFiles) but the PR body has no '## Clinical Governance Preflight' section; cannot fix by editing the PR body per Run PR guardrails. (2) This PR's TCAs dothiepin->dosulepin fix duplicates PR #2015 (claude/p1-318-lexicon-slug-and-guards), which already landed the same fix plus mutation-tested guards and full clinical governance documentation — flagging for owner triage rather than guessing which should win.", - "checks": "docs:check-links passed after sync. Test fix not locally re-run (no Node 24/vitest install in this sandbox); verified by hand-tracing against the reviewer's own executed verification script. No provider-backed checks run." + "date": "2026-08-05", + "ref": "codex/editable-search-pins", + "head": "193afe637481c0ed2fa82dbe9bb1f1d1c8bcc4d8", + "scope": "editable search pins menu review follow-up", + "outcome": "fixed remaining review defects; unresolved threads cleared; auto-merge armed", + "checks": "vitest:search-pins 18/18; tsc clean on touched surfaces; review threads 0 unresolved" }, { - "date": "2026-08-17", - "ref": "gemini/clinical-medication-graph-dedup", - "head": "a2ffea11481939af812b51541c081326b7ecd7f6", - "scope": "Clinical medication graph & deduplication (#322, #323)", - "outcome": "READY", - "checks": "npm run check:medication-lexicon-report; npx vitest run tests/medication-interaction-lexicon-coverage.test.ts; npm run typecheck:internal; npm run lint:internal; npm run format" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase1-truth", + "head": "1980f155f9467707574a45c6338a22f3457b0d7e", + "scope": "V2 Phase 1 Lane A adoption truth design-sync parity documentation contracts", + "outcome": "approved after dynamic-root lexical analyzer hardening", + "checks": "adoption 14p; design-system/adoption/design-sync/typecheck PASS; independent review clean" }, { - "date": "2026-08-17", - "ref": "gemini/design-tokens-source-contracts (PR #2031)", - "head": "faa22eb3262d3951e398bbda6aa08108c8c574bc", - "scope": "Run PR sweep: CI diagnosis", - "outcome": "Not fixed — diagnosed a real, measured Lighthouse regression that needs design/browser review, not a blind sweep fix: 'Lighthouse budget' job failed with mobile-root CLS 0.236 vs baseline 0.013 (+0.223, tolerance +/-0.02), confirmed on 2/3 samples, no other route regressed. The only functional diff in this PR is the mode-nav icon size migration (h-[1.0625rem] w-[1.0625rem] i.e. 17px -> size-icon-md i.e. --spacing-icon-md = 16px, in mode-nav.tsx and nav-slot-ink.tsx); everything else is test-helper refactors. That is the only plausible cause but a 1px icon-size change producing an 11x-over-tolerance CLS spike needs actual browser-rendered root-causing (hydration timing, a paint reflow this sandbox's headless-less environment cannot observe) before touching a protected icon-scale token, not a guess. No review threads. Was behind main by 2 commits at snapshot; left unsynced since there is nothing to push yet.", - "checks": "Diagnosed from the CI job log for the Lighthouse budget job only; no local Chromium/Lighthouse available in this sandbox to reproduce. No provider-backed checks run." + "date": "2026-08-14", + "ref": "claude/disabled-button-accessibility-piclvr (PR #1928)", + "head": "1988c762dfa763a38ec1b95cc9855b0db47f2054", + "scope": "PR #1928 heavy review: outstanding-issues inbox count accuracy (docs only)", + "outcome": "P2 fixed — durable summary corrected from four controls to four groups covering nine controls; no other actionable defects; no unresolved review threads", + "checks": "manual adversarial source pass; JSON parse + schema/count assertions; exact-head PR required CI green before fix; no provider-backed gates run" }, { - "date": "2026-08-17", - "ref": "gemini/test-infra-tooling-hardening (PR #2030)", - "head": "7bcd354401fb2cd4f5b3f328c3f61765db03cace", - "scope": "Run PR sweep: threads + drift", - "outcome": "Fixed 5 of 6 CodeRabbit review threads (3 Major, 2 Minor): (1) findBranchTouchedRowIds() in check-ledger-stamp-retention.mjs only iterated commit-side rows and compared 3 of 7 fields, so a deleted ledger row was never marked touched — now iterates the union of base/commit IDs and compares raw+section. (2) checkLedgerStampRetention() silently reported ok:true/0-touched on an unresolvable merge-base instead of failing closed — now returns an explicit error, and the CLI path prints it before touching lostCount/lost. (3) readExpectedBrowserRevisions() in check-playwright-browser-revision.mjs silently omitted a browser family missing a revision instead of failing — now fails closed for chromium/firefox/webkit, with a new regression test. (4) tests/search-route-round-trip-budget.test.ts's non-vacuity guard asserted counter.total()>0 (also counts rate-limit/metadata/telemetry RPCs) instead of the two actual retrieval RPC names. (5) Added the missing check-ledger-stamp-retention.mjs entry to docs/scripts-index.md. Declined 1 finding (--filter option) as a false positive — no docstring, --help text, doc, or test anywhere advertises a --filter option for this script; replied asking the reviewer/owner to point at the source if one exists, left that thread open. CI was mid-run at first snapshot (Container images + 2 Production UI jobs in progress); pushed once assembled rather than mutating mid-run. Not behind main.", - "checks": "node scripts/check-ledger-stamp-retention.mjs --self-test passed; live run + deliberately-bad --base ref confirmed fail-closed behavior. node scripts/check-docs-links.mjs and update-docs-inventory.mjs --check passed. Vitest additions (2 new tests) not locally run (no Node 24/vitest install in this sandbox) — left for CI to verify. No provider-backed checks run." + "date": "2026-07-22", + "ref": "PR #1080 / `codex/reconcile-health-readiness`", + "head": "199d98f9d3385964dd7c48a28d2ebe2b2382635d (merged as 6976aaeeece84680ed6ffc9e77f839f3a314ec4e)", + "scope": "Supabase readiness fail-closed behavior", + "outcome": "MERGED. Returned and thrown probe failures degrade readiness without leaking raw dependency errors; setup-status backoff remains limited to availability failures.", + "checks": "Focused 22/22; amended `verify:cheap` 3,199 passed / 1 skipped; PR-local/build/offline RAG; hosted green." }, { - "date": "2026-08-17", - "ref": "gemini/viewer-batch-urls-image-probe", - "head": "83da102456b62c2ca2d4a454489b60c40dd4e57e", - "scope": "viewer batch signed urls, image encodings probe, public doc filter", - "outcome": "clean", - "checks": "unit/dom tests (38/38), probe self-test & json, typecheck, lint, format" + "date": "2026-07-29", + "ref": "claude/clinical-design-system-update-e34ca9", + "head": "19b0de8d5f095b1560032e7e31d6e39a88b75415", + "scope": "Clinical Sky design-system token port: accent ramp, five-step surface scale, --e0-e4 elevation ladder, status/identity contrast, 4px radius grid, type-scale floor, tracking/leading tokens, brand+pre-paint+print-palette drift fixes, new design-token contract test", + "outcome": "PR #1375 opened; no auto-merge (user review of visual change pending)", + "checks": "verify:pr-local 418/418 files 4265 tests; verify:cheap green; verify:ui 323 passed with load-race failures re-verified idle; header-overlap race fixed stable x4; live token readback both schemes" }, { - "date": "2026-08-17", - "ref": "https://github.com/BigSimmo/Database/pull/2023", - "head": "5bcce8927e60ce8271473823460aa281d79fca1f", - "scope": "src/app/api Zod row contracts (ledger #212 tranche 3) + 2 ledger inbox requests", - "outcome": "Approved -- 4 unchecked structure-asserting casts on inbound DB/RPC data replaced with constraint-backed Zod assertions in new src/lib/validation/row-contracts.ts; 3 outbound Json telemetry casts audited and deliberately left; no src/lib/rag/** edit so ragRanking is false; 4 unrealistic document_labels test fixtures corrected without weakening assertions", - "checks": "verify:pr-local 13 steps green (format:changed, lint, typecheck, check:ledger-write-discipline); npm run test 6699 passed with only 2 pre-existing failures proved identical on a clean worktree at merge base d02767184; build exit 0; check:rag:fixtures 36 golden cases; api-row-contract 27/27; pr-policy evaluator 0 errors 0 warnings" + "date": "2026-08-27", + "ref": "ds-hazard-1-2-sweep", + "head": "19ee085b1cc952e8c40e893fb2fce99538415259", + "scope": "design-system", + "outcome": "Findings — 0 P0/P1; 4 structural P2 (disabled-send border jump, hero leading on composer, --leading-prose on chrome, stale conventions.md per-step type scale); residuals on specifier focus ring and leftover Lucide sizes", + "checks": "read-only origin/main...HEAD token/UI/docs inspection; ledger lookup NOT REVIEWED; no contract gate, browser, or providers" }, { - "date": "2026-08-17", - "ref": "PR (branch claude/p1-316-phase3-blocked-capture, #316 offline capture)", - "head": "c2b3ba41fcca0364bd7241ca2a0bfa393c8bcd80", - "scope": "one #316 inbox request (855d03b3). No code, no schema, no migration, no live call; Supabase MCP unauthenticated this session.", - "outcome": "Offline capture only, no remediation performed. Corrects this row's NEXT: Phase 3 RPC reconciliation is NOT executable as written, because Phase 3's prerequisite is the Phase 1 dossier with 10 diffs classified and the forensics doc records all ten UNCLASSIFIED with per-function hunks still pending, while Phase 3's own prompt forbids touching an UNCLASSIFIED entry. Phase 3 therefore has zero executable entries and a production window would accomplish nothing; the real next step is a READ-ONLY window finishing Phase 1.2. Carries a testable hypothesis prepared offline: def_hash is md5 of pg_get_functiondef with comments and whitespace stripped and does NOT strip SET attributes, and migration 20260724000000 applies SET work_mem to exactly eight of the ten UNCLASSIFIED functions, so one read-only query could classify 8 of 10 at once; if live lacks the attribute those eight are repo-ahead but non-behavioural for answer content and would not need the eval-canary pair the repo-ahead rule assumes. Explicitly a hypothesis - live state was never read. The two _v2 outliers are absent from that migration and need their own diffs, with their canonical migrations named. Also records a discarded line of reasoning so it is not repeated: 'the manifest never mentions work_mem' proves nothing, because drift-manifest.json stores only signature, def_hash and acl and never body text. Protected RAG retrieval surface flagged; no edit made to it.", - "checks": "verify:pr-local docs route: 10 checks completed then check:ledger-write-discipline correctly refused on the then-uncommitted request; re-run after committing passed - 'Ledger write discipline passed for d0276718477c..HEAD'. check:outstanding-issues and check:branch-review-ledger passed. No provider-backed gate run and none applicable: no code, schema or migration changed. verify:ui not applicable and not runnable here (Playwright chromium-1194 vs pinned 1234, #255/#312)." + "date": "2026-07-13", + "ref": "codex/pr-545-fix", + "head": "19fc55cd033be7140e0a9cb321a26a8aa835b60e", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-17", - "ref": "PR (branch claude/p1-318-lexicon-slug-and-guards, #318 follow-up)", - "head": "478f06b52f672fa2a01b0f5c54a5f8c5df67c656", - "scope": "src/lib/medication-interaction-lexicon.ts (tcas slug), scripts/build-medication-lexicon-report.ts (missedClassMembers), tests/medication-interaction-lexicon-coverage.test.ts, regenerated data/medication-interaction-index.json + docs/medication-interaction-lexicon-review.md, docs/medication-lexicon-review-worklist.md, one #318 inbox request (db498cc1). clinicalRisk true. Sign-off block untouched.", - "outcome": "Authored handoff, owner-approved scope (dead slug + guard blind spots only; no mapping needing a clinical answer was changed). DEAD SLUG: tcas selected 'dothiepin' where the catalogue keys the drug 'dosulepin' (same drug, current INN), so it matched zero records and Dosulepin - own record flags Toxicity in OD FATAL - fired none of the term's 20 CRITICAL/HIGH rows. Treated as restoring evident intent, not a new clinical determination: the author wrote dothiepin and the catalogue already filed it subclass TCA. Measured after regenerating the index: 22 rows now name dosulepin as counterparty, 20 CRITICAL/HIGH, up from 0; aggregate resolution unchanged (523/362/161/423) because those rows already resolved via other TCAs. Durable guard: coverage test now fails on any selector slug or denySlug resolving to no record - the pre-existing test only required a TERM to resolve to some drug, so tcas stayed green on five of six slugs. GUARD BLIND SPOTS: missedClassMembers skipped sub-4-char stems, so the check could not fire for tcas or arbs (ppis rescued by its long surface), and it never read tag. The sheet's printed 'checks ran clean' line was false for two terms. Floor now 3 and haystack includes tag; the sheet now raises the Celecoxib/Parecoxib gap itself (2 flagged, up from 1). First attempt was wrong and mutation testing caught it: whole-token matching for short acronyms did no protective work (the leading word boundary already blocks arb-in-Carbapenem) and would have missed a subclass spelled TCAs - kept as a prefix match, pinned by a pluralised-subclass test. STILL OPEN: sign-off block untouched, sheet still UNREVIEWED, and five clinical questions unanswered (coxibs, Moclobemide which the sheet structurally cannot surface because its tag is also RIMA, Loperamide, single-drug acei/arbs, antiplatelets in anticoagulants). Noted for a separate row: the lexicon source alone classifies clinicalRisk FALSE and only the generated index makes such a PR clinical-risk.", - "checks": "verify:pr-local 18 checks completed, failed: (none) - includes lint, typecheck, full unit suite, build, check:medication-interactions, check:medication-lexicon-report. Focused tests/medication-interaction-lexicon-coverage.test.ts 33 passed (was 30). check:production-readiness run for the clinical-risk scope: 2 PASS, 5 WARN, 2 FAIL, both FAILs the documented offline provider gap (absent NEXT_PUBLIC_SUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY/OPENAI_API_KEY), not regressions from this diff. Mutation-verified four ways: slug revert fails 2 tests; restoring the <4 stem floor fails 2; dropping tag fails 1; anchoring the stem tail fails 1. verify:ui NOT run and NOT runnable here - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed; no browser coverage claimed, none needed for this scope." + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "1a59ce0b128fbdabb9a24c3ea95c1123299693f3", + "scope": "RAG row-contract CI follow-up: optional-signal assertion narrowing", + "outcome": "Fixed P1 — explicit local mismatch catches preserve both logged optional-signal degradation and TypeScript row narrowing", + "checks": "CI typecheck failure reproduced from exact-head log; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; local Vitest unavailable because node_modules/vitest is absent" }, { - "date": "2026-08-17", - "ref": "PR (branch claude/p1-ledger-324-318-316-xag5sy, #324 follow-up)", - "head": "91d3ccfcef79f02c140141eb560f941626039443", - "scope": "scripts/audit-merge-loss.mjs + tests/merge-loss-audit.test.ts + one #324 inbox request (1d35d652); advisory only, no CI wiring, no schedule, exit code behaviour unchanged", - "outcome": "Authored handoff, owner-approved scope (tab fix + mechanism classifier only). Fixed a defect that had disabled the reconciliation exemption since it was written: treeEntryReader split ls-tree on a literal backslash-t instead of a tab, keeping the path on the entry, so the cross-path inbox-to-applied comparison could never match. 14-day window before/after: 51 findings / 255 flagged files / filesExempted 0 -> 11 findings / 66 flagged / 189 exempted. Escaped originally because all tests injected entryAt directly; closed by extracting parseTreeEntry and testing it against real ls-tree output. Added classifyRemoval, which blames the oldest commit whose tree entry already matches the pre-landing entry and reports merge-resolution vs deliberate-commit vs unknown, sorting merge-resolution first. Over the window 14 of 66 flagged files were merge-resolution (13 from acf78bf) and all 52 others had explanatory single-parent subjects. Re-verified three genuine unrepaired losses against current main: #1800 (wiring and all three tests gone), #1804 (also-matches back in forms, guards reverted, apparently untracked), #1796 (Node 26 allowance gone, apparently untracked). The (a) schedule, (b) triage-owner and (c) one-tool-vs-two decisions remain OPEN and were deliberately not implemented; nothing was made blocking and no finding is auto-closed.", - "checks": "verify:pr-local executable scope, 9 checks completed, failed: (none) - lint, typecheck, full unit suite, check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report. Focused tests/merge-loss-audit.test.ts 29 passed (was 16). Mutation-verified three ways: backslash-t reintroduction fails 3 tests + self-test; newest-first walk fails the blame-the-oldest test; unknown-as-deliberate fails 2 tests. verify:ui NOT run - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed in this container; no browser coverage claimed and none needed for a non-UI script." + "date": "2026-08-15", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "1a8f7ae02c2bd7aa22e51edfb3b4a7b249ede578", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior ledger guard remediation review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-08-17", - "ref": "PR #2038 / claude/search-bar-behavior-2g0vnq", - "head": "2723f49885d6e1998aff20ad95b32a7a2a766b05", - "scope": "src/components/clinical-dashboard/guide-dialog.tsx, tests/guide-centre.dom.test.tsx", - "outcome": "reviewed-by-author, add trailing send-button chrome to Guide Centre search pill, no ownership/RAG/clinical-surface change", - "checks": "vitest tests/guide-centre.dom.test.tsx + tests/guide-centre-design-contract.dom.test.tsx (11 passed); tsc --noEmit clean" + "date": "2026-08-01", + "ref": "claude/ds-v2-correctness", + "head": "1aa9822978668a10447ef3246bd60cda6f1208cb", + "scope": "ds-v2 PR-A correctness (HCM/contrast/prop-unions)", + "outcome": "ready-to-merge", + "checks": "unit 4878p; verify:ui 344p; style-contract HCM 5p; verify:pr-local green (eval:rag:offline 574/574; fixture 36/23); typecheck+ds-contract green" }, { - "date": "2026-08-17", - "ref": "pr-1998", - "head": "97f9055827ef7712f9b5bb98c4c4e2bfb73f69a0", - "scope": "filters", - "outcome": "fixed-ci-blockers", - "checks": "vitest,typecheck,eslint,design-sync-contract,design-system-adoption,maintainability-budgets,playwright-ui-tools-chromium,build" + "date": "2026-07-17", + "ref": "PR batch #732-#739 (screenshot queue)", + "head": "1ab611915e0630a527a533ee7ff16b82fd3e8982", + "scope": "multi-PR merge babysit summary", + "outcome": "Merged in order: #738, #733, #737, #732, #736, #739. #735 left open (token cannot close; CONFLICTING/superseded by #739). #710/#721 closed as duplicates. Residual: close #735 manually.", + "checks": "Hosted CI babysit + merge-tree; #739 Production UI flake fixed and re-verified green before merge." }, { - "date": "2026-08-17", - "ref": "pr-1998", - "head": "aa7c3ffd93ed3366090c719904dcaae600010775", - "scope": "filters", - "outcome": "fixed-second-ci-blocker", - "checks": "vitest,typecheck,eslint,design-system-contract,design-sync-contract,design-system-adoption,maintainability-budgets,build" + "date": "2026-08-13", + "ref": "codex/skill-system-hardening", + "head": "1abf6fc905dcc89c1ad048067222da39c308cff3", + "scope": "Repository skill system hardening", + "outcome": "PASSED", + "checks": "check:skills; database-skills 6/6; lint; typecheck; build; RAG fixtures 36; medication index 523; full suite baseline-classified" }, { - "date": "2026-08-17", - "ref": "PR-2040", - "head": "bbb90caeca3c7cbbaebcc29892a6e553bf085bc9", - "scope": "src/components/services/services-navigator-page.tsx, src/components/services/service-group-nav.tsx (deleted), tests/ui-tools.spec.ts, docs/design-system/*", - "outcome": "OPENED PR #2040: folded the standalone services browse nav (All/Urgent/Public MH/More) into the Filter services sheet as a multi-select facet, reusing previously-unwired plumbing in service-core-groups.ts. Deleted ServiceGroupNav. Focused+broader Vitest (126 tests) green, typecheck/lint/design-system-contract clean, manual Chromium walkthrough confirmed correct rendering and URL toggling.", - "checks": "test:focused (81 passed), targeted vitest sweep (45 passed), typecheck, eslint, check:design-system-contract, manual browser walkthrough" + "date": "2026-07-30", + "ref": "codex/moderate-batch-20260730", + "head": "1addcece5a2b7122c5898584830109f617421a3a", + "scope": "document accordion, auth-safe catalogue refetch, comparison contract, operator preflight", + "outcome": "P1 late identity response race fixed; no remaining findings", + "checks": "verify:cheap static through owner-scope; lint; typecheck; full Vitest; Chromium UI; production-readiness" }, { - "date": "2026-08-16", - "ref": "codex/account-setup-polish-20260814", - "head": "25a7a7ba980aaf1f99a22969d74971a496373d98", - "scope": "PR #1997 Services quick-search removal", - "outcome": "P1 scope contamination and conflicts confirmed; intended quick-search removal was already superseded by merged PR #1996; branch reconciled to latest main without retaining obsolete UI regressions", - "checks": "Exact-head static and build checks passed; production UI shards and unit coverage exposed stale cross-feature regressions; merged PR #1996 had 69/69 focused units, 4/4 focused Chromium scenarios, typecheck and build passing; final code tree matched main" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (parity commit review)", + "head": "1aebf02 (fix landed a3b9a54)", + "scope": "(recorded with Outcome)", + "outcome": "rag-retrieval-reviewer on the monitoring evidence-gate parity commit: REQUEST-CHANGES (soft) — P2 reproduced: inflected monitoring kind tokens (monitor\\w*/annual(?:ly)?/blood tests?/ecgs?/lfts?) steal sole-dose-value sentences from the dose arm; dose-intent answers then reject the monitoring-kind fact (\"Quetiapine is monitored at a dose of 200 mg daily\" flipped grounded true→false, source-gap — fails CLOSED, never a wrong dose). P3: monitoring figure escape lacked the dose escape's multi-drug bare-row guard. Clean: over-admission bounded (broad vocab lives in gate/filter only, promotion still corpus-guarded, claim-support unchanged); regex cost negligible; mismatched-unit test relaxation legitimate (synopsis is corpus-verbatim; weeks pin enforced by atom identity + adjacent_context exclusion from both gate and claim corpora).", + "checks": "BOTH FINDINGS FIXED in a3b9a54: kind arm classifies legacy tokens byte-identically and new-inflection-only sentences fall through to the dose arm when they carry a clinicalDoseValuePattern value (both repro sentences pinned as dose-intent tests); multi-drug bare-row guard extended to monitoring_schedule with a discriminating test — red-proven both directions. Reviewer checks: formatting 38/38, focused 644/644; targeting eval deferred to the wave's live canary pair." }, { - "date": "2026-08-16", - "ref": "codex/chat-browser-evidence-235-238-browser-evidence-235-238", - "head": "2d0126d6dd3b3727e8a99549a5e0d3678039960c", - "scope": "PR #2006 AccessibleTable low-confidence 320px mockup journey", - "outcome": "No high-confidence PR-introduced defects found; branch required a non-overlapping latest-main merge", - "checks": "Distinct manual adversarial source-contract pass and deterministic normalizer proof passed; exact-head PR required, static, build, unit coverage, Production UI, Advisory UI, SAST, and Secret Scan passed" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (parity commit review)", + "head": "1aebf02 (fix landed a3b9a54)", + "scope": "(recorded with Outcome)", + "outcome": "clinical-governance-reviewer on the same commit: APPROVE-WITH-NITS. P2 (independently converged with the retrieval reviewer's P3): monitoring figure-escape lacked the dose-path multi-drug cross-entity guard — a bare wrong-drug schedule/level row in a multi-drug chunk could be entity-prefixed for a named-drug monitoring query; downstream gates verify text-vs-source presence, never attribution (worked lithium/valproate LFT path traced through finalize). FIXED in a3b9a54 exactly as its smallest-fix prescribed (guard at the :872-881 site now fires for monitoring_schedule; negative multi-drug test added, red-proven). Clean: unsupported figures impossible (admission-only change; promotion corpus guard + numeric verification + claim support all byte-unchanged); conservative failure intact (figure-bearing-only escape, schedule-free refusal pinned); adjacent-context safety held (sourceEvidenceText excludes adjacent_context; weeks refusal confirmed by probe); no PHI/provider/ranking surface. P3s: RAG impact line (present in the PR body — behaviour-change form, correct since the PR also carries the Option A retrieval change); multi-drug negative test (landed in a3b9a54).", + "checks": "Offline guard-chain trace + targeted vitest probes (named-drug guard, bare-figure admission, conservative gap, adjacent refusal). Provider/release gates deferred per confirmation boundary." }, { - "date": "2026-08-16", - "ref": "codex/chat-search-error-342-search-error-342", - "head": "019281ae9c8a6883737691438feba82117335e14", - "scope": "PR #2002 universal NDJSON stream error propagation review", - "outcome": "Fixed reproducible P2: structured error rejection now cancels an open response body so upstream stream work is released; no P0/P1 findings", - "checks": "Manual adversarial pass; consumer Web Streams harness 4/4; server stream harness 3/3; pre-fix exact-head unit coverage, static checks, SAST and secret scan passed" + "date": "2026-08-13", + "ref": "PR #1916 / codex/cloud-github-auth-hardening", + "head": "1b148aa2518e287c57dad1697a0b665bd0e8a1b3", + "scope": "Cloud detached-HEAD PR selection follow-up", + "outcome": "fixed P2: fresh Cloud tasks now select the PR matching their exact detached head SHA", + "checks": "self-test PASS; format PASS; focused Vitest blocked by active repository coverage lease" }, { - "date": "2026-08-16", - "ref": "codex/chat-service-facets-317-service-facets-317", - "head": "c957fc16e36381d775ce2fa068ec7cada68b4810", - "scope": "PR #2004 registry service facet contract test", - "outcome": "P2 false-negative contract guard fixed: compare restored tags with the raw fixture payload so a parser regression cannot agree with itself; no runtime defects found", - "checks": "Manual mutation proof reproduced the false negative; c957fc16 exact-head CI, static checks, unit coverage, safety/config, SAST, and secret scan passed; fix committed with ledger for exact-head CI rerun" + "date": "2026-07-26", + "ref": "`codex/test-concurrency-20260726`", + "head": "1b1f4817b0cf932d8b43f8715725770045528f8c", + "scope": "Protected-main release-readiness review of cross-worktree test concurrency", + "outcome": "APPROVE. Shared admission is fail-closed to explicit focused Vitest selections and isolated typechecks; full suites, lint, builds, coverage and Playwright stay exclusive with queue priority and legacy-lock compatibility. Review found and fixed one blocker before approval: junctioned worktrees would have raced the shared `node_modules/.cache` TypeScript build-info file, so shared typechecks now receive a worktree-hashed temporary `.tsbuildinfo` path. Highest residual risk is Windows cross-process filesystem timing, covered by coordinator race/recovery tests and the full local gate.", + "checks": "`npm run verify:pr-local` PASS: format, lint, isolated typecheck, 391 files / 3489 tests passed / 2 skipped, production build (1680 static pages), client-secret scan, and 36-case offline RAG fixtures. Focused coordinator/tooling 32/32; PDF portability 3 passed / 2 platform-or-dependency skips. No provider-backed checks." + }, + { + "date": "2026-08-08", + "ref": "cursor/services-content-cleanup-1c73", + "head": "1b62fdabbabcfbb05ccbbae08b070bf7740426d5", + "scope": "services content cleanup: compact catalogue fields + hide empty detail sections", + "outcome": "APPROVE pending required CI; verify:pr-local passed; UI spot-check recommended", + "checks": "verify:pr-local (lint/typecheck/test/build/rag-fixtures)" }, { - "date": "2026-08-16", - "ref": "codex/chat-trust-boundaries-212-trust-boundaries-212", - "head": "89181a5c1f5a74ac08628a750c51d8e3819512c7", - "scope": "PR #2003 post-review nullish list payload fix", - "outcome": "Confirmed CodeRabbit finding: parseListRows coerced null and undefined dependency payloads to successful empty arrays; changed validation to reject nullish values and added focused null, undefined, and explicit empty-array regression coverage", - "checks": "Exact-head 89181a5c PR required, unit coverage, build, static checks, lint, typecheck, safety/config, ingestion SAST, CI-managed Lighthouse, SAST, and secret scan passed before the fix; final fix head requires CI rerun; local npm gates unavailable without a checkout" + "date": "2026-07-13", + "ref": "claude/worker-edge-deploy-path-988cc3", + "head": "1b6f02170b485fe21ba56537ed6ed1061cc11679", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #527; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-16", - "ref": "codex/chat-trust-boundaries-212-trust-boundaries-212", - "head": "f3b55e8555614bffff2eb335b95d342b40960b6c", - "scope": "PR #2003 unblocking review and base synchronization", - "outcome": "No confirmed P0-P2 PR-introduced defects; fail-closed list parsing, generic public errors, ownership redaction, and JSON-shape contracts validated; latest main merged without conflicts; distinct manual adversarial pass completed", - "checks": "Exact-head f3b55e85 CI, PR required, static checks, unit coverage, build, lint, typecheck, safety/config, SAST, and secret scan passed; local npm gates unavailable without a checkout; final base-sync head requires CI rerun" + "date": "2026-07-13", + "ref": "origin/claude/worker-edge-deploy-path-988cc3", + "head": "1b6f02170b485fe21ba56537ed6ed1061cc11679", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #527; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-16", - "ref": "codex/finalize-tooling-follow-through-documentation", - "head": "d60649bbc14bfcba72d9f9a2fc65e3eff189bb41", - "scope": "PR #1994 unblocking review and scope repair", - "outcome": "P1 accidental 1035-file scope and stale-base conflict removed; invalid Context7 4.0.2 and nonexistent checklist changes dropped; current ingestion plan retained with safer execution rules; distinct manual adversarial pass completed", - "checks": "GitHub exact-head/tree/compare and contract inspection; official package metadata check; static Markdown and immutable-record validation; local npm gates unavailable without a checkout, deferred to exact-head CI" + "date": "2026-07-28", + "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", + "head": "1c65a083e8307f108774b0c3a3fb96559c42ee0d", + "scope": "CI/review closeout complete", + "outcome": "READY FOR HOSTED CI. All review threads resolved. Account-favourites pending/failure folded into band status; remaining Codex/CodeRabbit gaps closed; Bugbot residual noted (binary band cannot express partial source failure without a dedicated `partial` status). Merge-tree was clean vs main at prior tip; CI rerunning on this head.", + "checks": "Focused vitest 43/43; tsc/eslint PASS on touched files; Bugbot via pr-bugbot subagent (no MCP Bugbot server); no provider-backed checks." }, { - "date": "2026-08-16", - "ref": "codex/therapy-global-convergence-20260814", - "head": "9e21ea498fde13e98a9cd749dae16aba0b4c83ab", - "scope": "PR #1992 unblocking review-and-fix", - "outcome": "P1/P2 PR regressions fixed: clear/write ordering, failed Therapy retry intent, offline-only route verification, hidden-mode canonicalisation, and global bundle leak; stale-load finding pre-existing", - "checks": "exact-head CI diagnosis; TS/TSX transpile 8 PASS; focused mutation models 3 PASS; static repair contracts 9 PASS; full Node 24 gates delegated to post-push CI; Lighthouse not run by authorization" + "date": "2026-07-14", + "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", + "head": "1c6c780f30f33d47e7dfb57dce56d5fd0501d46e", + "scope": "PR review follow-up", + "outcome": "Confirmed and remediated three remaining scoped findings: empty `max_output_tokens` responses now reach the RAG retry path; equivalent maximum-dose wording satisfies the maximum-dose intent gate without requiring literal `maximum` or `dose` tokens; and long-form clinical dose units are accepted consistently by evidence extraction and final-answer validation.", + "checks": "Focused Vitest 99/99; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (235 files passed, 1 skipped; 2,238 tests passed, 1 skipped); `npm run build` generated 636 static pages and passed the client-bundle secret scan; configured production readiness was READY with three documented warnings; `git diff --check`. Provider-backed retrieval remains separately blocked by exhausted OpenAI embedding quota after case 24/36." }, { - "date": "2026-08-16", - "ref": "codex/therapy-global-convergence-20260814", - "head": "a985d7cb75ebaacd94df5cf55589e10908334510", - "scope": "PR #1992 exact-head CI follow-up and base sync", - "outcome": "Fixed stale Answer cross-mode suggestions on unsubmitted shared home; incorporated main 8f8d111abf1d302ca94899d15be7843071a8537b", - "checks": "Production UI shard 2 diagnosis; TS/TSX transpile 3 PASS; focused submission-state cases 6 PASS; exact-head Node 24 matrix delegated to post-push CI; Lighthouse not run by authorization" + "date": "2026-07-28", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "1c77291a93373b56c136075b5941f5e61ac2859b", + "scope": "Ledger hygiene after main merge", + "outcome": "Dropped one exact-duplicate #1292 babysit row introduced by ledger `merge=union` during main sync; first copy retained; zero unique records lost.", + "checks": "`check:branch-review-ledger` PASS after dedupe; no provider checks." }, { - "date": "2026-08-16", - "ref": "codex/tools-show-all-20260816", - "head": "6b67263c9d41a598bda3329e40846425071ddf20", - "scope": "PR #2008 compact Show all tools launcher review and latest-main merge", - "outcome": "No P0/P1/P2 defects confirmed; preserved the focused launcher-to-directory control and merged latest main without conflict; PR description placement wording is stale but not a proven code defect", - "checks": "Manual adversarial merged-tree review; targeted source-contract assertions passed; exact pre-sync head PR required wrapper, lint, typecheck, SAST and secret scan passed" + "date": "2026-07-30", + "ref": "codex/docs-sync-automation", + "head": "1c80a938f27af80df323fb1d6063ef9077f55fdf", + "scope": "PR #1442 hosted gate-count follow-up", + "outcome": "approved after static CI exposed and corrected verify:cheap count drift", + "checks": "gate manifest, docs inventory, format, diff pass" }, { - "date": "2026-08-16", - "ref": "codex/tools-universal-footer-search", - "head": "58821ca016b39933eaa9bf2a756672a71171923f", - "scope": "PR #1993 Tools phone footer ownership against main 0b95d063b44712ce409d9fbfe5bf8e706b10ccaf", - "outcome": "Confirmed and fixed dashboard Tools phone composer ownership, aligned stale responsive contracts, removed the temporary repair workflow, and kept the branch current with main.", - "checks": "Prettier; ESLint on changed files; TypeScript; targeted Vitest; immutable ledger validation" + "date": "2026-08-17", + "ref": "2014", + "head": "1c88ada9c023918764dcf2a01914829e3b93e902", + "scope": "PR #2014 review-and-fix", + "outcome": "High-confidence defects fixed; review threads resolved", + "checks": "audit-merge-loss --self-test + --since; prettier check; npm run check:branch-review-ledger; npm run check-outstanding-issues; required CI SUCCESS" }, { - "date": "2026-08-16", - "ref": "PR #2007 / codex/guide-search-chrome-20260815", - "head": "0874f3f7faa9539b6db30a58cee360adff4bf7a1", - "scope": "design-system CI repair", - "outcome": "Replaced the retired elevated shadow alias and removed two layout-transition exceptions from Guide chrome", - "checks": "Design-system contract diagnosis from exact-head CI; targeted source verification; exact-head CI re-run" + "date": "2026-08-17", + "ref": "claude/search-results-differentials-prs-o7z531", + "head": "1c95a8c02d280e28a01639be2e88a5c7467c7934", + "scope": "src/components/clinical-dashboard/differentials-home.tsx, tests/differentials-compare-selection.dom.test.tsx", + "outcome": "shipped: safety banner promoted to top of differentials search results (all breakpoints) + new Clinical urgency filter dimension added alongside result-type filter", + "checks": "verify:pr-local (full, banner commit); tsc/eslint clean + full npm run test 642 files/6872 passed (filter commit); manual Playwright QA desktop+phone" }, { - "date": "2026-08-16", - "ref": "PR #2007 / codex/guide-search-chrome-20260815", - "head": "82576f737912e5fc2b601ec1e4f4ca74ebb04e69", - "scope": "end-to-end PR review and base sync", - "outcome": "Merged main without loss; fixed hidden Sheet safe-area retention; preserved focused Guide chrome coverage", - "checks": "Manual adversarial diff pass; TypeScript syntax probes; merge-tree and exact-head CI rechecked" + "date": "2026-07-14", + "ref": "codex/release-blocker-remediation", + "head": "1ca2f9f372e23f563de0bc4f823cd341d82a562a", + "scope": "branch-cleanup and merge-readiness", + "outcome": "Retained. PR #655 has green completed checks but currently conflicts with `main`; its branch remains checked out in an active worktree.", + "checks": "Authenticated PR metadata and check rollup; exact-head, worktree, and mergeability confirmation. No merge, rebase, conflict resolution, or branch deletion attempted." }, { - "date": "2026-08-16", - "ref": "PR-1993", - "head": "0df502749540c4e4de789bfad12837726b1944d8", - "scope": "PR #1993 Tools phone footer search review", - "outcome": "Fixed: preserved the tappable standalone-home suggestion ticker while retaining the Tools phone shared-footer placement.", - "checks": "Static phone-home truth table passed; exact one-line fix diff verified; prior exact-head CI isolated to the audit assertion; distinct manual adversarial pass found no additional high-confidence defects." + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "1ca2f9f372e23f563de0bc4f823cd341d82a562a", + "scope": "review-followup", + "outcome": "One P1 offline-startup defect was confirmed: production instrumentation still required OpenAI after readiness and health accepted explicit offline mode. Fixed the boot guard so only explicit `offline` may omit OpenAI while `auto` and `openai` remain fail-closed.", + "checks": "GitHub review-thread inspection; focused instrumentation/readiness/health Vitest 21/21; scoped ESLint; Prettier; `git diff --check`. Hosted required checks on the reviewed head were green, including Gitleaks, PR required, unit coverage, build, UI, SAST, Docker images, and migration replay." }, { - "date": "2026-08-16", - "ref": "PR-2000 / codex/chat-ledger-programme-ledger-programme", - "head": "3b544399aa4129c03e3362a16123f9cc9dfc84a3", - "scope": "PR #2000 post-fix base refresh review", - "outcome": "Required base refresh to 27f6b60429ab56a0e4a779b5b16c35e9cce630db reviewed; the base delta added only two unrelated branch-review records, a registry service-facets test, and an edge-ingestion planning document, with no overlap with this PR's outstanding-issue requests; the #098 correction remains valid", - "checks": "PR required, SAST, and secret scan passed at 3b544399aa4129c03e3362a16123f9cc9dfc84a3; fd3a100b9ad0d4c806c7083d01cb3a0bed601646-to-27f6b60429ab56a0e4a779b5b16c35e9cce630db compare reviewed; merge-tree verification" + "date": "2026-08-17", + "ref": "claude/ledger-reconcile-issues-c1trbj", + "head": "1cff4ddbdf8b700f41ba82c9333034d009ad7e29", + "scope": "issues:reconcile after #2023/#2024, redone against fresh main", + "outcome": "28 requests applied (22 original + 6 landed on main mid-session: 3 cancel, 2 update, 1 done); redone as one clean transaction after check:ledger-write-discipline rejected the earlier 22-only partial transaction against the advanced base", + "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass against merge-base f5b0932914eb" }, { - "date": "2026-08-16", - "ref": "PR-2000 / codex/chat-ledger-programme-ledger-programme", - "head": "b2cc119e622cce051a8c9551a839a5a93fbb45a3", - "scope": "PR #2000 merged-base outstanding-issue request review", - "outcome": "Confirmed premature closure of #098 and corrected it in the successor commit; the other seven requests were supported or appropriately left open", - "checks": "exact-head PR required passed at 270a0661e0812ccad0229db021cff26f4efb14a4; standalone JSON and request-schema validation; referenced commit and merged-PR audit; merge-tree verification; #237 and #238 browser evidence not independently rerun" + "date": "2026-08-18", + "ref": "claude/lightweight-mode-homes (PR #2157)", + "head": "1cffafbc172fc22625aa3cba62d5d685b7720f25", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR mergeability/PR policy transiently failed (self-healed on retry, no real conflict); Production UI (3) failed 3 Chromium specs (ui-specifiers.spec.ts mobile composer, 2x ui-tools.spec.ts stale /differentials and /services route assertions) caused by this PR's own consolidated-mode-home routing change, not main drift. Fixed: updated the 3 stale test assertions to match the new /differentials/search, /?mode=services, and /specifiers/search routes already established elsewhere in this PR's own diff. After: fixes pushed, fresh CI re-running. Still blocked on a blank Clinical Governance Preflight in the PR body (human-owned, not auto-fillable) and a real Lighthouse TBT regression pattern matching known main-wide drift from a prior merge.", + "checks": "npx tsc --noEmit (clean), npx eslint tests/ui-tools.spec.ts tests/ui-specifiers.spec.ts (clean), npx prettier --write (no changes needed); Playwright not run locally (browser revision mismatch, chromium-1194 vs CI's 1234) — delegated to CI Production UI. No provider-backed checks run." }, { - "date": "2026-08-16", - "ref": "PR-2008 / codex/tools-show-all-20260816", - "head": "008093943c407a3caaac65d49d5c8e80de552ef0", - "scope": "PR #2008 latest-base refresh after green exact-head CI", - "outcome": "Merged main fb8c71c94f8a45028df36aa669e3653c4f75cd2a; its durable ULID/Crockford outstanding-issues tooling and related tests, docs, and hooks do not overlap this PR's launcher or focused UI regression; no new P0/P1/P2 defects confirmed", - "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, advisory UI, CI-managed Lighthouse budget, SAST, and secret scans passed at 99592cad854c205b2626f4d5a001956ef6e13b8f; 3f33068da16ef8a3235359ff974c9314cf79d758-to-fb8c71c94f8a45028df36aa669e3653c4f75cd2a compare reviewed; clean non-overlapping merge-tree construction" + "date": "2026-08-18", + "ref": "claude/patient-factsheets-search-regression-8iyvnd", + "head": "1d16190bf74bd92faf272f17eab426ed08f37776", + "scope": "src/components/mode-home-template.tsx,tests/mode-home-main-align.test.ts (correction to prior record's src/components/mode-home-template.tsx claim)", + "outcome": "approved", + "checks": "corrected the min-height calc flagged by frontend-ui-reviewer (prior record understated verification: missed a broken tests/mode-home-main-align.test.ts and a live 40px phone scroll-overflow regression); full npm run test now green (661 files, 7079 passed, 4 skipped), tests/mode-home-main-align.test.ts run directly (5 passed), typecheck/eslint/prettier clean, live check of document.documentElement.scrollHeight vs window.innerHeight on /factsheets /differentials /dsm shows zero overflow" }, { - "date": "2026-08-16", - "ref": "PR-2008 / codex/tools-show-all-20260816", - "head": "74f618c8c6b3a5ec2099ab070cd198ddf70a3f1c", - "scope": "PR #2008 content-address repair and latest-base refresh", - "outcome": "Corrected the malformed review-record filename to the repository-derived SHA-256 path without changing its row bytes; merged main 3f33068da16ef8a3235359ff974c9314cf79d758, whose API response-parsing changes and two review records do not overlap this PR's launcher or focused UI test; no new P0/P1/P2 defects confirmed", - "checks": "Exact-head CI reproduced the ledger guard failure; canonical path b50552bc27edf96d286fcb2c582831863c1893c66a80b3dc38988a8ef6ef5dc0 derived from reviewRecordPath; 4c52fe1dbbc921be769c31b36efbcdba798ba11b-to-3f33068da16ef8a3235359ff974c9314cf79d758 compare reviewed; prior b089bf262b1aff99f57b22e45cbd941e815175c1 exact-head required CI passed; final head requires rerun" + "date": "2026-07-29", + "ref": "cursor/recent-pr-bugfixes-f30d", + "head": "1d2669858a3a53844938b521a7f6de572a60c712", + "scope": "PR review", + "outcome": "P1 found: mounted DocumentViewer signed URLs not cleared on auth change", + "checks": "git diff; review threads; actions list/logs; targeted test blocked (missing node_modules/vitest)" }, { - "date": "2026-08-16", - "ref": "PR-2008 / codex/tools-show-all-20260816", - "head": "75028ebb9d48ae06ccd99621b3f7881af50b91f4", - "scope": "PR #2008 latest-base shared UI test merge after green exact-head CI", - "outcome": "Merged main 54585e98df133c0b49cf32cc878473ea0beba46d; kept its low-confidence AccessibleTable 320px mockup journey in the shared suite and moved this PR's Show all launcher regression to dedicated tests/ui-tools-show-all.spec.ts; no new P0/P1/P2 defects confirmed", - "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, advisory UI, CI-managed Lighthouse budget, SAST, and secret scans passed at 4db291a50e7aad2239fe85303b886ab248978c3f; fb8c71c94f8a45028df36aa669e3653c4f75cd2a-to-54585e98df133c0b49cf32cc878473ea0beba46d compare reviewed; merged source and test contracts reviewed" + "date": "2026-08-09", + "ref": "codex/chat-mode-home-copy-9d76", + "head": "1d32ce6f0a9f580eef55363de17e15723ae8d898", + "scope": "PR #1790 babysit", + "outcome": "MERGED via squash auto-merge as d812c769; same-mode focus fixed; Copilot aria dispositioned (drawer still Clinical Guide); CodeRabbit focus-steal follow-up in cursor/same-mode-focus-no-steal-6df8; reply API unavailable", + "checks": "PR required PASS; Production UI shards PASS; unit mode-menu-prefetch PASS" }, { - "date": "2026-08-16", - "ref": "PR-2008 / codex/tools-show-all-20260816", - "head": "db72f545635c9e611da3c4f3bb70bbda991699a4", - "scope": "PR #2008 latest-base refresh after green exact-head CI", - "outcome": "Merged main 4b601e34f2a3398121a23e7db64a04690075ddd3; its default-off clinical answer evidence preview changes do not overlap the launcher component or dedicated Show all regression; no new P0/P1/P2 defects confirmed", - "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, CI-managed Lighthouse budget, SAST, and secret scans passed at f34fad1f725410995fe90f1d356c7764de9b5a07; 54585e98df133c0b49cf32cc878473ea0beba46d-to-4b601e34f2a3398121a23e7db64a04690075ddd3 compare reviewed; clean non-overlapping merge-tree construction" + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "1d43484ad56bde756ecdc9c98d448779836b2f97", + "scope": "CI babysit + Bugbot (SHA correction)", + "outcome": "SUPERSEDES prior #1292 row that recorded pre-amend `2e5ee9f8`. Same outcome: PR policy remediated, `PR_POLICY_BODY.md` removed, Bugbot clean, no review threads. Residual: human approving review after exact-head CI.", + "checks": "Same local evidence; awaiting hosted checks on tip `1d43484a`." }, { - "date": "2026-08-16", - "ref": "PR-2008 / codex/tools-show-all-20260816", - "head": "e40e375dfa5346614d5b0c143e9f2e8f0fe44bd8", - "scope": "PR #2008 post-review base refresh", - "outcome": "Required base refresh to 4c52fe1dbbc921be769c31b36efbcdba798ba11b reviewed; the base delta adds only unrelated branch-review records and outstanding-issue inbox updates, with no overlap with this PR's launcher or focused UI regression files; the original review disposition remains valid", - "checks": "Exact-head PR required, CI, SAST, and secret scan passed at b089bf262b1aff99f57b22e45cbd941e815175c1; a96dcbb6280ab6889c3b443be4d348950786a809-to-4c52fe1dbbc921be769c31b36efbcdba798ba11b compare reviewed; clean synthetic merge-tree verification" + "date": "2026-07-18", + "ref": "local repository cleanup against `origin/main`", + "head": "1d9fdcfdd", + "scope": "repository-maintenance summary (non-skip aggregate)", + "outcome": "Removed 26 clean, exact-proven redundant worktree registrations (58 -> 32 before the temporary cleanup worktree) and deleted 78 unregistered local branches: 73 direct `origin/main` ancestors plus five exact/covered squash-merge refs for PRs #852, #859, #868, #869, and #870. Preserved all dirty, active, open-PR-owned, backup, ledger-protected, and patch-unique/ambiguous work, including the divergent local `main`; no reset, force operation, remote-branch deletion, or source replay was performed. Six unregistered Windows directory residues remain without `.git` markers after Git cleanup. Clean standalone deltas were either already merged/current-main content or owned by active PR/task work, so no product change was duplicated. This aggregate row is audit history only and must not be used to skip a future branch-level cleanup review.", + "checks": "Mandatory task-start preflight; fresh fetch/prune; full local branch/worktree/status and Codex task ownership inventory; 863-PR GitHub snapshot before the API rate limit was exhausted; cherry-pick-aware history, exact merged-head/descendant proof, and synthetic merge-tree checks; exact-old-value `git update-ref` deletion; per-worktree clean/head rechecks; final worktree/prune inventory. No OpenAI, Supabase, deployment, production-data, or live clinical workflow ran." }, { - "date": "2026-08-15", - "ref": "1971", - "head": "91fe143262fca184124b540ff06b2353aec8094f", - "scope": "review-and-fix", - "outcome": "Fixed validated P2 evidence-semantics, sparse-panel, cue-deduplication, duplicate-key, and formatter blockers; immutable-record bot request dispositioned no-change.", - "checks": "focused Vitest 8/8 passed; format changed passed; lint passed; typecheck passed; ledger and docs guards passed; full unit gate partial with 6 Windows tooling failures reproduced identically on main; production readiness environment-gated (2 pass, 5 warn, 2 missing-config failures)" + "date": "2026-07-31", + "ref": "claude/search-results-mockups-iz7owo (PR #1514)", + "head": "1daa6b3d7979f2aed8e50b8a4661690bde5c1073", + "scope": "closed-PR reopen prep", + "outcome": "Synced origin/main (behind 68, merge-tree clean, no conflicts). No unresolved Codex/Bugbot/Copilot/human threads. Tip review: no P0-P2 (phone forms presentation only; clinicalRisk false, not RAG). Pathway guard narrowed intentionally; page-level exact guard intact. Ready for reopen; leave CLOSED. Fresh mergeability/CI count only after reopen.", + "checks": "ledger:lookup NOT REVIEWED; git fetch origin/main; merge-tree clean; git merge origin/main; gh reviewThreads=0; classifyPullRequestFiles clinicalRisk=false ragRanking=false; tip-vs-base review (no local suites; closed-PR CI treated stale; no provider-backed checks)" }, { - "date": "2026-08-15", - "ref": "1975", - "head": "c18199dec009ff252d4c6ed895d6b401685b897c", - "scope": "review-and-fix", - "outcome": "Fixed fail-open cover probes, concurrent metadata clobber, ambiguous rollback deletion, and duplicate-cover recovery; merged latest main.", - "checks": "Focused Vitest 10/10, format, lint, typecheck passed. verify:pr-local partial: 6583 passed, 6 known origin/main Windows/tooling baseline failures; later fixture stages not reached. production-readiness environment-gated: 2 pass, 5 warn, 2 missing-config failures; no live provider calls." + "date": "2026-07-13", + "ref": "claude/repo-hygiene", + "head": "1db8d1508cf0cd3aec244358db32d8bc9f06a7f2", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #596.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-15", - "ref": "1976", - "head": "54327591bb89f6f9f25f6834fbefc277a9bff80b", - "scope": "review-and-fix", - "outcome": "P2 fixed: native install prompt now avoids hero reflow, composer overlap, and prompt-induced CLS", - "checks": "pwa DOM 10/10; PWA Chromium 5/5; format; exact-head merge-tree" + "date": "2026-07-13", + "ref": "origin/claude/repo-hygiene", + "head": "1db8d1508cf0cd3aec244358db32d8bc9f06a7f2", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #596.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-15", - "ref": "1976", - "head": "81c44aee0b788a5aa93522a09092cddcd12b0bf0", - "scope": "review-and-fix", - "outcome": "CI blocker fixed: register compact native-install CSS selectors in the unlayered style inventory", - "checks": "style-contract registry 15/15; PWA DOM 10/10; PWA Chromium 5/5; Lighthouse exact-head green" + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "1de1b32f562c0a972997750a5dc97a02ab1a9c15", + "scope": "Production UI fix", + "outcome": "Fixed ui-tools services referral header test (H1/quick-filters contract). Prior tip 09c6eb2d had Static/Safety/Unit/Migration green; only Production UI failed.", + "checks": "Local Playwright chromium services referral test PASS; no provider-backed checks." }, { - "date": "2026-08-15", - "ref": "1976", - "head": "8bb76ce085f212d47a0918b9242cb412e8a9a3f7", - "scope": "review-and-fix", - "outcome": "fixed phone install-sheet overlap on current-base head", - "checks": "pwa regression 1/1; lifecycle DOM 10/10; verify:phone-chrome 437/437 UI" + "date": "2026-07-14", + "ref": "copilot/fix-failing-ci-test", + "head": "1de23d35e534c33cf444bc5e81e60c7384e8d072", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-15", - "ref": "claude/capture-ongoing-drop-question", - "head": "367ef8e1414a3ebf81102884fa48298f16068093", - "scope": "docs/outstanding-issues-inbox — capture the unreconciled drift count", - "outcome": "Queued one P1 add request: check:drift reported missing_live 21 (2026-08-09) then 20 (2026-08-14) despite two indexes being restored between, so the expected figure was 19; the gap is consistent with an ongoing drop mechanism. Recorded as inference not fact. Carries a stop rule against beginning the restoration window until resolved. Filed as add rather than a #316 update to avoid colliding with the #316 update already queued in PR #1970.", - "checks": "verify:pr-local (11 completed, 0 failed)" + "date": "2026-07-13", + "ref": "codex/rag-canary-recovery", + "head": "1def894bff2338d68a1cd5e297a4f78671f3ca73", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-15", - "ref": "claude/capture-ongoing-drop-question", - "head": "8aead5c4fa3ed588f63860b3dc96f54ba415da44", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior drift-inference review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-08-07", + "ref": "cursor/tools-search-mockups-72e1 (PR #1653)", + "head": "1df72ba6119226aee92b203db8188f58851a6d3c", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", + "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" }, { - "date": "2026-08-15", - "ref": "claude/capture-ongoing-drop-question", - "head": "d40e89ebb7a77f589683a6a6244fdcb84ad4c4af", - "scope": "Withdraw unsupported index-loss P1 after exact Action-log set comparison; merge main", - "outcome": "fixed", - "checks": "git diff --check; ledger and issue guards" + "date": "2026-08-14", + "ref": "PR-1964", + "head": "1dfc0c9b984152f6518060712ab050311f3f77c9", + "scope": "vitest.config.mts, docs/maturity-backlog-workorders.md (ledger #192 / maturity X6 coverage floors)", + "outcome": "APPROVED — coverage-threshold re-ratchet, no RAG/clinical behaviour change; verify:pr-local green except pre-existing unrelated check:medication-lexicon-report staleness", + "checks": "test:coverage,verify:pr-local" }, { - "date": "2026-08-15", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "1a8f7ae02c2bd7aa22e51edfb3b4a7b249ede578", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior ledger guard remediation review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-09-02", + "ref": "codex/smart-local-modes-20260901", + "head": "1e03113f121483116afad23f6b370b0f62efa5c4", + "scope": "smart local modes integration", + "outcome": "Fixed calculator identity matches inside natural-language queries; no additional P0-P2 findings.", + "checks": "Focused calculators Vitest 18/18; npm run format; git diff --check." }, { "date": "2026-08-15", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "b55f7a4b5c02c8a0ca8e59fd2d9edfb7eaac0234", - "scope": "Required base sync through main d301d8f4", - "outcome": "approved", - "checks": "git diff --check; guard self-test; ledger and issue guards" + "ref": "codex/calculators-mode", + "head": "1e3d9278fbddda7d36d12e5645429b33d2a374ce", + "scope": "Calculators first-class mode", + "outcome": "Resolved the current-base documentation conflict; prior P2 local-search and options-menu corrections remain present; no further confirmed P0-P2 findings.", + "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; calculator static contracts; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" }, { - "date": "2026-08-15", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "becdb68610b27e7c38e9607c8bb0210911107581", - "scope": "PR #1978 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-08-05", + "ref": "codex/v2-design-system-completion", + "head": "1ea30c19c48b3791519659abf85b20c9e8c7faab", + "scope": "PR #1616 review feedback disposition", + "outcome": "COMPLETED: fixed mode-home empty composer reserve + chip category v2 tokens; dispositioned remaining Devin analysis findings to outstanding-issues; unresolved threads 0", + "checks": "vitest search-route-ownership 12/12; ckb-v2-token-contract+related green; CI in progress on tip" }, { - "date": "2026-08-15", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "f390d6cd5faddd8b30320f60a082374688dc1f71", - "scope": "Ledger reconciliation and push guard: final current-base merge", - "outcome": "Verified parallel-cancellation and rewritten-history handling with isolated Git reproductions; merged latest required base with no conflicts or new P0-P2 findings", - "checks": "git diff --check; ledger-inbox self-test; ineffective-cancellation assertion; rewritten-history guard assertion; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline" + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "1ea38c730f10c6b2de483c036c47e70f58780d43", + "scope": "Open-PR maintenance: restore regressed thread fixes", + "outcome": "Before: 3 unresolved review threads; the action-pin checker crashed on a duplicate helper, mobile detail-page back actions depended on browser history, and the bulk publisher-code fix was present but unverified. After: action discovery is single-source, detail routes use stable parent destinations, and all three thread fixes are covered or verified.", + "checks": "GitHub Actions pin self-test and `check:github-actions` pass; focused Vitest 20/20 pass; `npm run ensure` verified http://localhost:3264; Prettier and diff checks pass; no provider-backed checks run." }, { - "date": "2026-08-15", - "ref": "claude/ds-gates-265", - "head": "6de09c409645cd854438c819250aa668b661568e", - "scope": "DS gate 2: interactiveTapFloorDeclarations ratchet closing the h-10 case, plus GATES.md figure corrections (#265)", - "outcome": "Gate 2 closed for new use; gate 8 stopped deliberately with the reason recorded; gate 7 untouched", - "checks": "verify:pr-local all 17 selected gates passed — unit suite 607 files / 6585 passed, 4 skipped; check:design-system-contract mutation-verified (interactiveTapFloorDeclarations increased from 41 to 42 plus the per-path line); check:gate-manifest OK at 35 gates / 32 static; no Chromium available (chromium-1194 vs pinned 1234, #255/#312) so no browser gate was claimed" + "date": "2026-07-13", + "ref": "codex/pr-600-fix", + "head": "1eb6a4b7cc0ba05bca18eee0ab00dafba2833904", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-15", - "ref": "claude/ds-gates-265", - "head": "a1e5c9e9926c59ea9a0a1875ca2ea5ba49c064f2", - "scope": "review-and-fix", - "outcome": "Fixed two P2 gate bypasses: comparable arbitrary min-heights and reachable conditional/composed branches now fail below 48px; merged latest main", - "checks": "focused Vitest 36/36; design-system contract; format:changed; changed-file ESLint; source typecheck; gate-manifest; outstanding-issues and ledger guards" + "date": "2026-07-13", + "ref": "origin/claude/sentry-server-capture", + "head": "1eb6a4b7cc0ba05bca18eee0ab00dafba2833904", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-15", - "ref": "claude/ds-ratchet-tighten", - "head": "41a1bd73749564954d7bf11143fd6541402f7691", - "scope": "Tighten seven design-system ratchets to measured values after the #1982-#1986 merges", - "outcome": "17 units of stale headroom removed; no metric relaxed", - "checks": "check:design-system-contract passed at the tightened values (sub-floor min-heights 40, edge conflicts 19, legacy shadow aliases 114); mutation-verified — min-h-9 on the shortlist Clear button now fails 'increased from 40 to 41' plus the per-path line, which the old pin of 43 allowed silently; check:gate-manifest OK; verify:pr-local 17 gates, unit suite 611 files / 6647 passed" + "date": "2026-08-08", + "ref": "claude/planning-build-intelligence-9ot0nm", + "head": "1ebc84bb288b516bb322c09cde2889e981d302a4", + "scope": "AGENTS.md reasoning-effort calibration section (docs-only)", + "outcome": "Authored and handed off as PR #1730; docs-only, pr-policy classifier returns clinicalRisk/operationalRisk/ragRanking false", + "checks": "prettier --check . (repo-wide, pass); docs:check-links (1665 refs resolve, pass); pr-policy classifyPullRequestFiles(AGENTS.md)" }, { "date": "2026-08-15", - "ref": "claude/favourites-hybrid-164", - "head": "02672320db5a0b5b57b589e8d19d19c8c66483d4", - "scope": "Favourites search-led workspace: retire marketing H1 and library nav, live in-place filter, dashboard band (#164)", - "outcome": "Shipped; no P0-P2 findings", - "checks": "verify:pr-local all 10 selected gates passed — unit suite 607 files / 6584 passed, 4 skipped; check:design-system-contract passed with edgeOwnershipConflicts 25 to 24 from the deleted nav module; UI delegated to CI Production UI — chromium-1194 vs pinned 1234 (#255/#312)" + "ref": "codex/calculators-mode", + "head": "1ec9eb1028bf29ac633857846fe69c91249a64c7", + "scope": "calculator suggestion regression test accessibility and formatting follow-up", + "outcome": "Fixed the focused calculator suggestion test to match the full accessible option label; corrected formatter-required nested ternary indentation. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-08-15", - "ref": "claude/issues-reconcile-2026-08-15", - "head": "2c0ca2c5c65065b2d39ab5465fce50c50eec5bb2", - "scope": "review-and-fix", - "outcome": "Found P2 stale #265 measurements in the reconciliation; queued an immutable correction with current 40/16 tap-floor and 19/10 edge-conflict counts; merged latest main", - "checks": "design-system contract; outstanding-issues and ledger-write-discipline guards; branch-review ledger; format; docs links" + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "1ece1b891ed2d7f9577a060ae481e33cd4925ea4 + reviewed follow-up diff", + "scope": "offline release latency follow-up", + "outcome": "The offline quality release gate reproducibly isolated one live timeout: a generic agitation table-lookup question was expanded into an unnecessary ten-term dose/route AND query, making lexical retrieval take about 39 seconds. Dose/route expansion now requires an actual dosing/route signal; the same case retrieves its expected source and four citations in 1.27 seconds without a model.", + "checks": "Focused clinical-search/retrieval Vitest 111/111; scoped ESLint; Prettier; `git diff --check`; live provider-free single-case quality eval passed with zero model/request/token/cost/generation evidence." }, { - "date": "2026-08-15", - "ref": "claude/issues-reconcile-2026-08-15", - "head": "3381a69cba662c7dd4083c0fe8747aa04d7c9097", - "scope": "Canonical ledger reconcile of 17 queued requests after the #1982/#1983/#1984/#1985 merges", - "outcome": "Applied cleanly; inbox 0 pending / 189 applied", - "checks": "issues:reconcile applied 17 requests with 3 cancellation decisions; check:outstanding-issues 341 rows (97 open, 244 archived), unique ids, next-id 344 above highest, no ids deleted from base; check:ledger-write-discipline passed for 2e3ac494b8b7..HEAD (canonical diff equals the recorded transaction); verify:pr-local docs-scoped route, 11 gates, none failed" + "date": "2026-08-17", + "ref": "claude/phone-pwa-animation-bug-suooj4", + "head": "1ee3fb13f52190632fc85fdea2833c19ccaa3e62", + "scope": "phone/PWA answer-progress animation defect: reduced-motion suppression, tri-state Motion preference, travelling ECG sweep", + "outcome": "Fixed: OS Reduce Motion was freezing all animation and setting the ECG trace to opacity:0; suppression now leaves a visible static trace, motion:full opts back in, and the pulse became a transform-driven scrolling strip", + "checks": "verify:pr-local exit 0 (640 files/6832 tests); verify:cheap exit 0; ui-phone-motion 3 passed and answer-progress-ui-smoke 4 passed on Chromium 1194 (diagnostic, browser-revision drift #255); check:production-readiness exit 0" }, { - "date": "2026-08-15", - "ref": "claude/ledger-guard-ci-followups", - "head": "8fe2a50b9bce29e24710fdf72ce8b5f187c0569e", - "scope": "Lexicon-report CI freshness and database remediation sequencing", - "outcome": "Fixed P1 prerequisite order and P2 generated-report scope gap; merged current base with no conflicts", - "checks": "git diff --check; ci-change-scope direct-report classification and self-test; GitHub Actions pin check; remediation-order/workflow-contract assertions; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; focused Vitest unavailable (node_modules absent)" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "1ee749bd71da45be2d6b9d3eb4913331696996a6", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes the prior review after cleanly merging current main. No remaining P0-P2 findings; current-main #079 was retained, verified closures remained archived, and no product behavior changed during sync.", + "checks": "merge reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; whole-tree format PASS; prior static, lint, typecheck, unit, build, RAG fixture, and focused Chromium evidence retained" }, { "date": "2026-08-15", - "ref": "claude/ledger-review-triage-yi63ao", - "head": "02d2e7fc839cf370b512f66b255d5f9e9b42f377", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; previous ledger issue-closure verification remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "ref": "codex/therapy-global-convergence-20260814", + "head": "1efc557287e05ed7a0d584a23df4505fe7794941", + "scope": "Therapy global convergence release handoff", + "outcome": "Accepted with production content gate; human clinical sign-off and live provider checks remain", + "checks": "focused Therapy 69 pass; format/lint/typecheck/build pass; drift replay pass; verify:pr-local partial from unrelated/baseline failures; live checks blocked missing env" }, { - "date": "2026-08-15", - "ref": "claude/ledger-review-triage-yi63ao", - "head": "6cd9a8547714543aee7b6864c2b7c427309bc4c2", - "scope": "PR #1977 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-07-24", + "ref": "PR #1140 / `implement-audit-viewport-fixes`", + "head": "1f0aed90d", + "scope": "mobile keyboard viewport audit fixes", + "outcome": "REJECTED. Found two P1 defects. 1) Broken keyboard detection due to `resizes-content` conflict. 2) Aggressive keyboard dismissal breaks scrolling.", + "checks": "`npm run verify:cheap` running." }, { - "date": "2026-08-15", - "ref": "claude/ledger-review-triage-yi63ao", - "head": "f7fdb77a66a02b5678ad14d6f196c80c8d458571", - "scope": "Outstanding-issues reconciliation for #293 and #312: final current-base merge", - "outcome": "Verified cited landings, retained #312 browser-family acceptance gap, and merged current base with no conflicts or new P0-P2 findings", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; landing and request-content assertions" + "date": "2026-08-13", + "ref": "codex/cloud-github-auth-hardening", + "head": "1f17468f835d4a58992ec63bd0d084013c32d15a", + "scope": "Cloud GitHub access hardening", + "outcome": "No unresolved findings after fail-closed acceptance review; hardened identity, scopes, PR/thread, Actions job/log, and non-mutating push proof", + "checks": "check:github-shell-access:live PASS; static Cloud contract PASS; focused GitHub shell suite 13/13 before final fail-closed sample guard; lint PASS; latest focused rerun/typecheck coordinator-blocked by unrelated Lighthouse lease" }, { - "date": "2026-08-15", - "ref": "claude/ledger-review-triage-yi63ao", - "head": "fa087d2aebaceb953029d7805bf2437e03de1cd7", - "scope": "Required base sync through main d301d8f4", - "outcome": "approved", - "checks": "git diff --check; ledger and issue guards" + "date": "2026-07-27", + "ref": "`codex/retire-bot-branch-sync-20260727`", + "head": "1f391140066ed6b677812a384f60e175c069fd47", + "scope": "Protected-main review of #082 PR branch-sync reliability", + "outcome": "APPROVE. Removed the automatic `GITHUB_TOKEN` update workflow that repeatedly created bot-authored heads with required checks awaiting approval. The replacement remains operator-only and dry-run by default, fixes the helper's raw-text/JSON repository parsing defect, verifies apply identity, and refuses missing or bot identities before any mutation. The ordinary GitHub Actions check rejects direct API/CLI updates and indirect apply-helper invocation from workflows. Guidance and the durable ledger agree. No P0-P3 finding remains.", + "checks": "`check:github-actions` PASS with direct/indirect self-tests; operator dry-run PASS across 8 open PRs with zero updates; focused helper contracts 7/7 PASS; docs index/scripts/links PASS; `verify:cheap` PASS before final helper hardening; exact final `verify:pr-local` PASS (393 files, 3,530 passed / 2 skipped, offline RAG fixtures; build correctly skipped); no provider mutation, OpenAI request, or live RAG spend." }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "18253c2bc555d424e83f987712cf528dd3910e3f", - "scope": "Carry validated optional RAG signal degradation fix through main d301d8f4", - "outcome": "fixed", - "checks": "git diff --check; static RAG contract inspection; ledger and issue guards; tests blocked without node_modules" + "date": "2026-07-30", + "ref": "codex/computed-style-assertions", + "head": "1f431caa8d80660b8f6d90f557e4b8ea5d82560c", + "scope": "post-sync archive completed rendered-style contract task #094", + "outcome": "APPROVED — no findings after exact current-main sync; archive move and prior review record only.", + "checks": "check:outstanding-issues PASS (151 rows; 44 open, 107 archived); branch-review-ledger PASS (254 live, 1206 archived); git diff --check PASS; merge-tree 9ab802e9ec73132e4a7231b9060bf95be090b9d2" }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "1a59ce0b128fbdabb9a24c3ea95c1123299693f3", - "scope": "RAG row-contract CI follow-up: optional-signal assertion narrowing", - "outcome": "Fixed P1 — explicit local mismatch catches preserve both logged optional-signal degradation and TypeScript row narrowing", - "checks": "CI typecheck failure reproduced from exact-head log; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; local Vitest unavailable because node_modules/vitest is absent" + "date": "2026-07-14", + "ref": "origin/claude/github-actions-codex-issue-f4t4s5", + "head": "1f4cdd51b0dfb98495fc293bf511c167071a217c", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; prior open-PR state was not refreshed without provider approval.", + "checks": "Offline remote-tracking comparison only." + }, + { + "date": "2026-08-17", + "ref": "gemini/clinical-data-lexicon-integrity (PR #2029)", + "head": "1f903da31d9befb0cadebd7704447284d3c95bba", + "scope": "Run PR sweep: threads + drift", + "outcome": "Partially fixed. Fixed 1 CodeRabbit review thread: tests/therapy-compass-pathways.test.ts modality-absence predicate incorrectly used '&& therapy.modality != null', letting a modality:null record slip past the field-removal assertion — changed to key-presence-only per the reviewer's own suggested diff. Was behind main by 3 commits; synced. NOT fixed, needs owner attention: (1) PR policy check fails — this diff regenerates data/medication-interaction-index.json (clinical-risk per classifyPullRequestFiles) but the PR body has no '## Clinical Governance Preflight' section; cannot fix by editing the PR body per Run PR guardrails. (2) This PR's TCAs dothiepin->dosulepin fix duplicates PR #2015 (claude/p1-318-lexicon-slug-and-guards), which already landed the same fix plus mutation-tested guards and full clinical governance documentation — flagging for owner triage rather than guessing which should win.", + "checks": "docs:check-links passed after sync. Test fix not locally re-run (no Node 24/vitest install in this sandbox); verified by hand-tracing against the reviewer's own executed verification script. No provider-backed checks run." }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "20304ddc703fdc6913e1b62ad532b552ff919dac", - "scope": "RAG row-contract tranche 2: optional signal shape-mismatch degradation; merged main", - "outcome": "Approved with P1 fix — malformed optional embedding-field/index-unit rows are logged and degrade to no signal candidates, preserving chunk retrieval; no ranking, ordering, or clinical-output contract changed", - "checks": "manual adversarial control-flow review; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; targeted Vitest blocked: node_modules/vitest absent" + "date": "2026-08-20", + "ref": "codex/image-auto-retry", + "head": "1fb62c61774c109d4f806b04a70f9400f35cd1f6", + "scope": "signed image lazy loading and automatic recovery", + "outcome": "P2 findings: classify automatic retries by failure status and preserve native lazy loading for cache-prefetched images before PR.", + "checks": "Working-tree diff and call-site inspection; focused tests passed (tests/signed-image.test.ts + tests/signed-image.dom.test.tsx: 16 passed); typecheck, lint, browser, and provider-backed checks not run." }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "671b0b99f7fdd33e83e5fa55a29470690c9243f2", - "scope": "RAG row-contract tranche 2 P2: unconstrained JSON provenance acceptance", - "outcome": "Fixed P2 — index-unit source_span and metadata accept all JSON allowed by the database; non-object provenance is safely omitted from record-only downstream consumers", - "checks": "manual adversarial review; focused scalar/array contract regression added; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; targeted Vitest blocked: node_modules/vitest absent" + "date": "2026-08-17", + "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", + "head": "1fb8035b9fdf6617705dd386f33158f20a3c334a", + "scope": "Run PR sweep: drift sync", + "outcome": "CI already green. Was behind main by 6 commits; synced via authenticated update-branch. No code fix needed, no review threads.", + "checks": "No local checks run — dependency-bump PR, CI already validated before sync; no provider-backed checks run." }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "690204f669db3be9995b6c658ad2eb35befbdace", - "scope": "PR #1981 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-08-14", + "ref": "claude/rag-zod-hardening-tranche1", + "head": "1fb98a174e815ce2d7e105d9339d766d3f54b02b", + "scope": "PR #1946 review-and-fix", + "outcome": "fixed PR-introduced maintainability blocker; strengthened retrieval provenance and visual shape validation; merged latest main", + "checks": "offline: git diff --check; Prettier changed files; check:maintainability-budgets; branch-review-ledger; ledger-write-discipline; docs:check-links; CI pending" }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "690204f669db3be9995b6c658ad2eb35befbdace", - "scope": "PR #1981 retrieval row contract formatter follow-up", - "outcome": "Collapsed a formatter-stable candidate-source import after the exact-head changed-file format gate failed; retained the validated row-shape assertions.", - "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/rag-retrieval-row-contract.test.ts unavailable: node_modules/vitest/vitest.mjs absent." + "date": "2026-08-21", + "ref": "claude/shadow-runbook-operator-answers", + "head": "1fe3c60c94822f61a60e5b61858114274fb8b340", + "scope": "docs(worker): answer two of the four B4 operator unknowns from measured evidence (#2228)", + "outcome": "Backfilled record — PR #2228 merged 2026-08-21 (squash 1fe3c60c94822f61a60e5b61858114274fb8b340) with no review record captured at the time. Diff inspected post hoc: docs/worker-deploy-runbook.md updated with measured Railway variable-change and memory-headroom evidence (read-only lookups only, no mutation), plus a one-line worker/main.ts startup log-message correction (rollback now states set-then-deploy, no behaviour change) and one queued issues:update inbox request. classifyPullRequestFiles clinicalRisk:false; shadow extraction remains default-off everywhere. Approved by content.", + "checks": "PR-reported: npm run docs:check-links passed (2063 references resolve); Prettier clean on both changed files; CI static-pr required checks green (merged). verify:pr-local full and provider-backed gates explicitly not run per PR body (docs/log-message scope). Not independently re-run in this session — docs-truth backfill only." }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "690204f669db3be9995b6c658ad2eb35befbdace", - "scope": "RAG signal-row formatter follow-up", - "outcome": "Formatted the signal-row regression assertion reported by changed-file formatting. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", - "checks": "node --check tests/rag-retrieval-row-contract.test.ts; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "date": "2026-08-14", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "20228faa6002da009e290bc398345a47d2cd7a02", + "scope": "PR #1951 review-and-fix", + "outcome": "reviewed live-drift routing workflow contract and Phase 0 records; fixed no PR-introduced defect; merged latest main", + "checks": "offline: routing-script stub exercise; check-outstanding-issues; ledger-inbox check; Prettier changed files; check:github-actions; check:gate-manifest; check:verification-plan; maintainability budgets; targeted Vitest unavailable (isolated worktree has no node_modules); manual adversarial pass" }, { "date": "2026-08-15", "ref": "claude/rag-zod-hardening-tranche2", - "head": "87a8886f1f761bdab92324e0d5ea5e11d3111bb9", - "scope": "review-and-fix", - "outcome": "P1 CI blocker fixed: formatted retrieval row contract test; no additional P0-P2 findings in adversarial review; merged latest main", - "checks": "targeted Vitest 134 pass; RAG fixtures 36 pass; offline RAG 579 pass; issue and ledger guards pass; Prettier pass" + "head": "20304ddc703fdc6913e1b62ad532b552ff919dac", + "scope": "RAG row-contract tranche 2: optional signal shape-mismatch degradation; merged main", + "outcome": "Approved with P1 fix — malformed optional embedding-field/index-unit rows are logged and degrade to no signal candidates, preserving chunk retrieval; no ranking, ordering, or clinical-output contract changed", + "checks": "manual adversarial control-flow review; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; targeted Vitest blocked: node_modules/vitest absent" }, { - "date": "2026-08-15", - "ref": "claude/rag-zod-hardening-tranche2", - "head": "f4bc9033d5482922de60681d764eb5e6c6ebb73f", - "scope": "rag-candidate-sources.ts signal-row Zod contracts (ledger #212 tranche 2) + 2 ledger captures", - "outcome": "Approved — 3 unchecked RPC-result casts replaced with validated assertions; similarity_origin item deliberately excluded as a clinical-output behaviour change; no ranking/ordering/scoring logic touched", - "checks": "verify:pr-local all 18 steps green, zero failures; contract + rag-imputation-contract pins 21 passed; typecheck exit 0" + "date": "2026-08-18", + "ref": "claude/factsheets-homepage-routing-obr8g4", + "head": "2037a718fbbe56bd8c5fdf4a68ae9b8d918200b7", + "scope": "shared mode home phone hero design + per-mode copy", + "outcome": "shipped", + "checks": "verify:phone-chrome exit 0 (contracts 130, changed-browser 95, focused-browser 10, full-ui 447); npm run test 7101 passed; typecheck clean; format committed" }, { - "date": "2026-08-15", - "ref": "claude/services-search-redesign-163", - "head": "5c1befa6bc7947381b707efaa50daa6e86ca9a88", - "scope": "review-and-fix", - "outcome": "P2 fixes published: serialize result-row favourite mutations and keep failed loads state-neutral and unavailable", - "checks": "focused services DOM tests 8/8; typecheck; lint; format:changed; branch-review-ledger; outstanding-issues; git diff --check" + "date": "2026-07-30", + "ref": "codex/repair-pr1418", + "head": "20ba05abe5908cc69357a4101323c18d38a68d53", + "scope": "branch-cleanup", + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "ledger merge-driver scripts byte-identical on origin/main and rotation regression remains covered; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-08-15", - "ref": "claude/services-search-redesign-163", - "head": "720e7027a9f08e518eb6344e74dfde35d78d5981", - "scope": "Fix service bookmark readiness and mutation race; merge current main", - "outcome": "fixed", - "checks": "git diff --check; focused DOM test blocked without node_modules; ledger and issue guards" + "date": "2026-07-30", + "ref": "codex/repair-pr1418", + "head": "20ba05abe5908cc69357a4101323c18d38a68d53", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant merged PR 1418 content plus tip patch already present on origin/main; removal deferred by primary-dirty lease", + "checks": "clean status; PR head is ancestor of tip; reverse patch check on origin/main passed" }, { - "date": "2026-08-15", - "ref": "claude/services-search-redesign-163", - "head": "c6247862cb109e795f73b8aeeeb971436016c6c4", - "scope": "PR #1982 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-07-30", + "ref": "claude/root-dir-coverage-gate", + "head": "20e0fa5b2f091be9fb25535ba3586186ff2ce8ab", + "scope": "branch-cleanup", + "outcome": "un-checked-out local branch head is ancestor of origin/main; archived in verified batch4 bundle", + "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" }, { - "date": "2026-08-15", - "ref": "claude/services-search-redesign-163", - "head": "d007d4a11a0d7b52283fe0088583259ef27c0264", - "scope": "Services bookmark readiness — correcting the 216a72e4 record", - "outcome": "PRIOR RECORD WAS FALSE. Record 216a72e4 claimed 'Fix service bookmark readiness and mutation race' at head 720e7027a9f08e518eb6344e74dfde35d78d5981. That object does not exist in this repository (git cat-file fails; not an ancestor of the branch) and src/components/services/ was byte-identical between 285e12d3c939 and the then-remote tip 87e7fcc2 — no fix had landed. The named defect was real and is fixed here instead", - "checks": "git cat-file -t on the claimed head: object does not exist; git diff 285e12d..87e7fcc2 -- src/components/services/: empty; new DOM regression test mutation-verified (reverting the gate fails it); focused vitest 12/12; typecheck clean" + "date": "2026-07-18", + "ref": "codex/rag-merge-final-20260718-655a", + "head": "20e5964bbfdcac0311b89c96931a43544be545a6", + "scope": "RAG recovery, grounding, and latency merge closure", + "outcome": "Reviewed the recovered historical RAG fix series against fresh `origin/main`. No additional source change was needed: current main already contains the stricter source-scoped numeric grounding, blocked-retrieval-only extractive recovery, generic LAI deterministic recovery, per-case answer latency diagnostics, and agitation lexical-path protections. The only residual branch diff was proven unreachable because every medication-chart trigger yields explicit search terms; it was intentionally not carried forward.", + "checks": "Full local Vitest: 301 files / 2,779 tests passed. Offline RAG fixture and production-contract validation: 36 golden cases, 21 suites, 294 tests passed. Prettier and `git diff --check` passed. `verify:cheap` reached its lint stage after all preceding static guards passed, but was blocked twice by active heavyweight jobs in other registered worktrees; it was not retried. No Supabase, OpenAI, live retrieval, production-readiness, deployment, or hosted CI command was run." }, { - "date": "2026-08-15", - "ref": "claude/services-search-redesign-163", - "head": "f9391318605f4a2cf743cc7a6b3448b61a8296d4", - "scope": "Services search results: progressive referral rail, compact rows, favourites bookmark (#163)", - "outcome": "Shipped; row re-measured as half-stale before building — no P0-P2 findings", - "checks": "verify:pr-local all 10 selected gates passed (runtime, lock parity, format:changed, lint, typecheck, test, build, rag fixtures, medication interactions, lexicon report); focused vitest 22/22 across services scope-empty-state, services regressions audit, band adoption, route reachability; check:design-system-contract passed at 25 edge conflicts unchanged; UI delegated to CI Production UI — chromium-1194 vs pinned 1234 (#255/#312)" + "date": "2026-07-30", + "ref": "PR #1477", + "head": "20f795da2d9d0adafa6cb3117429ab3665129c0d", + "scope": "PR #1477 fork-safe Codex autofix routing", + "outcome": "Refreshed onto current main after #1465; issue and ledger reconciliation remained clean and no new actionable defects were introduced.", + "checks": "check:outstanding-issues; check:branch-review-ledger; check:codex-autofix-workflow; focused Vitest 53 passed" }, { - "date": "2026-08-15", - "ref": "claude/test-source-contract-hardening", - "head": "0c1459ca2985e409d330d290a6518fdf877d3255", - "scope": "review-and-fix", - "outcome": "Fixed two P2 fail-open cases in the new source-window helper: overlapping repeated starts and empty markers; merged latest main", - "checks": "focused Vitest 49/49; format:changed; changed-file ESLint; source typecheck; outstanding-issues and ledger guards" + "date": "2026-07-31", + "ref": "codex/complete-and-merge-p2-tasks-to-main", + "head": "212271e216af52769cbd05a18c3ae18f3627c61c", + "scope": "PR #1471 review+bugbot+fix", + "outcome": "PASS: synced origin/main (behind-but-clean; GitHub DIRTY was staleness); no Bugbot/Codex/Copilot/human threads; no P0-P2 in Therapy Compass browse-payload delta; PR body RAG impact still accurate", + "checks": "merge-tree clean; 0 unresolved threads; therapy product delta reviewed; no required CI on pre-sync dirty tip; hosted CI expected after push" }, { - "date": "2026-08-15", - "ref": "claude/test-source-contract-hardening", - "head": "22aa7c627e4d3ce220c741d4246d998956249fd2", - "scope": "Guarded source-slice test windows: shared helper plus three migrations (#1985)", - "outcome": "Shipped; closes a silent-pass class in the contract tests, remainder queued", - "checks": "verify:pr-local all 9 selected gates passed — unit suite 6608 passed / 4 skipped; helper's own test pins the raw idiom returning out-of-window content; migrated files re-run green (17/17, 23/23)" + "date": "2026-08-18", + "ref": "claude/clinical-kb-prod-migration-db4aab", + "head": "213226eb43f0b9b4dd096b12da3247458212493e", + "scope": "docs/audit/live-drift-forensics-2026-08.md §3.7 — production window pre-flight found the five 20260818 migrations already applied by the Supabase GitHub integration; db push not run; read-only verification recorded", + "outcome": "docs-only; no production writes; findings recorded for coordinator (integration auto-applies merged migrations)", + "checks": "verify:pr-local docs route (11 checks, failed: none); supabase migration list; four read-only db queries; live-drift run 32131517648 read" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "1938a6bc5f1845c67c85584ded78b3be1c8a961a", - "scope": "Calculators first-class mode", - "outcome": "Merged the latest required base after the final freshness check; calculator local-search and action-menu P2 corrections remain intact.", - "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; reconciled search-chrome contract assertion; focused Vitest remains unavailable because this isolated worktree has no node_modules" + "date": "2026-07-31", + "ref": "claude/fable-implementation-fc937c", + "head": "2147572428271278462db2aac169a5c3c0a2bcc7", + "scope": "pr-1531 unblock", + "outcome": "reverted CodeRabbit autofix (next.config env import broke build; prettier docs); merged origin/main behind-but-clean; merge-tree-clean", + "checks": "prettier design-system+next.config; eslint next.config --max-warnings 0; merge-tree clean vs origin/main" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "1e3d9278fbddda7d36d12e5645429b33d2a374ce", - "scope": "Calculators first-class mode", - "outcome": "Resolved the current-base documentation conflict; prior P2 local-search and options-menu corrections remain present; no further confirmed P0-P2 findings.", - "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; calculator static contracts; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "21731239300059daab9c01f5192841ce93ac89b2", + "scope": "Babysit: re-sync after #1394 outstanding-issues collision", + "outcome": "SUPERSEDE prior row at 3f56355a: tip is this ledger commit. MERGEABLE; merge-tree clean; #116/#117 phone-chrome gaps retained; no unresolved threads; no Bugbot findings. Waiting hosted CI on this SHA.", + "checks": "merge-tree clean; MERGEABLE; CI queued on tip" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "1ec9eb1028bf29ac633857846fe69c91249a64c7", - "scope": "calculator suggestion regression test accessibility and formatting follow-up", - "outcome": "Fixed the focused calculator suggestion test to match the full accessible option label; corrected formatter-required nested ternary indentation. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "date": "2026-07-24", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "21bdde7d", + "scope": "Babysit sweep: CI fix + drift", + "outcome": "Before: CONFLICTING, Static PR + PR required FAIL. After: merged origin/main; removed duplicate PR #1149 ledger row; lint already green on head. CI re-running.", + "checks": "npm run lint PASS; check-branch-review-ledger PASS; no provider-backed checks run" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "39423d88bced6494ad2eed30f43fb859ab6abefb", - "scope": "Calculators mode: final current-base merge", - "outcome": "Merged latest required base after prior focused review; no conflicts or new confirmed P0-P2 findings", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; calculator registration assertion" + "date": "2026-07-30", + "ref": "claude/remove-circleci", + "head": "21e7a4a8f84975295649589356cc63288e2bcb86", + "scope": "Remove CircleCI (persistent non-required red check)", + "outcome": "Opened PR #1412. Diagnosed ci/circleci:verify red on both PR #1401 and main's own tip; proved via faithful shallow-clone repro that the docs-only classifier (ci-change-scope.mjs) is not the cause; stopped local repro test run per explicit user request; user chose to remove CircleCI outright rather than keep debugging", + "checks": "format:check PASS, lint PASS, typecheck PASS (all against main tip in a fresh worktree); npm test not run (stopped early); grepped repo for other CircleCI references - none found; no provider-backed checks" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "3b896be3f5f6ea67df10c991257aeb05b41af619", - "scope": "Fix calculator regression tests from exact-head CI and merge main d301d8f4", - "outcome": "fixed", - "checks": "git diff --check; static ledger guards; focused tests blocked without node_modules" + "date": "2026-07-17", + "ref": "PR #716 / codex/pr-process-hardening-20260717", + "head": "220de891f10f82df11eb2e8137367514c139a206 + reviewed implementation/follow-up diff", + "scope": "PR metadata, CI triage, review routing, Actions permissions, secret scanning, and branch-hygiene hardening", + "outcome": "No remaining high-confidence P0-P2 defect in the reviewed process diff. Added a trusted base-SHA PR metadata/risk policy with draft and merge-queue handling; corrected CI triage to compare only the same workflow's latest completed `main` run; wired self-tests into local/hosted gates; documented the policy; created the missing durable Codex routing labels; removed four unused per-head routing labels; and applied read-only default Actions tokens, immutable Action pinning, no Actions-authored approvals, push protection, and automatic merged-branch deletion. Four policy defects were fixed before merge: API-only paths no longer trigger UI evidence, slash-bearing outcome titles are accepted, all seven governance items are required exactly, and placeholder risk/rollback text is rejected.", + "checks": "Offline `check:pr-policy`, `check:ci-triage`, `check:ci-scope`, action-pin check, scoped Prettier, and `git diff --check` passed. Initial hosted CI passed static, safety, coverage, build, images, Semgrep, Gitleaks, GitGuardian, and the aggregate gate; exact-head CI is required after the review fix. Broader local gates were deferred because other registered worktrees repeatedly held the heavyweight lock. GitHub provider inspection/settings changes were explicitly authorized. No Supabase/OpenAI/product-provider command ran." }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "9dc3891ee8bc30a35fdb203607cdd984d3a24cc3", - "scope": "calculator command-surface P1/P2 follow-up: suggestion submit and footer ownership docs", - "outcome": "Fixed P1/P2 — selected calculator suggestions pass their exact text into navigation; chrome ownership docs no longer describe calculators as page-owned footers", - "checks": "manual control-flow review; focused DOM regression added; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; focused Vitest blocked: node_modules/vitest absent" + "date": "2026-08-21", + "ref": "claude/prevent-duplicate-testing-yefgxc", + "head": "2262302ad10a4b57fe500e9731be7760db8cefc4", + "scope": "gate-receipts: content-addressed memoisation of lint/typecheck/Vitest in run-heavy.mjs and run-vitest.mjs, plus tests, docs and AGENTS.md rule", + "outcome": "Authored and self-reviewed. Local-only memo; CI reuse disabled outright when CI is set, failures never memoised, build and test:coverage excluded, fail-open on unreadable git state. PR #2216 (draft).", + "checks": "verify:pr-local all 29 steps completed with none failed and none not-reached; full unit suite 694 files / 7622 passed / 4 skipped run for real before any receipt existed; gate-receipts.test.ts 25 cases; reuse, invalidation, revalidation and CI-refusal proven end to end" }, { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "bbf2207102a0b40b5ba048e8e9a04f37add9bf2c", - "scope": "required base sync through main 3824095", - "outcome": "Approved — required main update merged after calculator command follow-ups; no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "226ab1508e4a4eecd42fb473b9e19fb190fe5f0d", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1475 and #1458. No remaining P0-P2 findings; #106 and #143 are archived from implemented executable worker/indexing coverage and durable hook tracking.", + "checks": "focused worker/indexing suite 3 files / 27 tests PASS; CI-safe production-readiness READY; outstanding ledger 146 rows / 47 open / 99 archived PASS; branch-review ledger PASS" }, - { - "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "d8fde21e65ce010b72bc56f1e57334cdfac764c5", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior calculator-mode review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + { + "date": "2026-07-30", + "ref": "codex/computed-style-assertions", + "head": "229b0d396decd0ad7f7779b57631ae1f137752d7", + "scope": "archive completed rendered-style contract task #094", + "outcome": "APPROVED — no findings; docs-only archive move matches landed computed-style, forced-colors, tap-size, and unlayered-class registry evidence.", + "checks": "check:outstanding-issues PASS (148 rows; 42 open, 106 archived); git diff --check PASS; implementation commits verified ancestral to origin/main" }, { "date": "2026-08-15", - "ref": "codex/calculators-mode", - "head": "ff3dfa4e32e63ccf288438a6371608b42847c18e", - "scope": "calculator search-chrome documentation formatter follow-up", - "outcome": "Aligned the search-chrome ownership table to the new longest mode label after the changed-file formatter reported Markdown table drift.", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "ref": "claude/test-source-contract-hardening", + "head": "22aa7c627e4d3ce220c741d4246d998956249fd2", + "scope": "Guarded source-slice test windows: shared helper plus three migrations (#1985)", + "outcome": "Shipped; closes a silent-pass class in the contract tests, remainder queued", + "checks": "verify:pr-local all 9 selected gates passed — unit suite 6608 passed / 4 skipped; helper's own test pins the raw idiom returning out-of-window content; migrated files re-run green (17/17, 23/23)" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "80a00d0cb97194f62cb5c37170f6c30121d3b78c", - "scope": "Differentials mobile rank formatter correction", - "outcome": "Restored Prettier canonical call-chain wrapping for the mobile rank calculation; no behavior change.", - "checks": "git diff --check; canonical formatter layout compared with retained repository review commit; focused tests unavailable locally: vitest is not installed" + "date": "2026-07-30", + "ref": "archive/branch-worktree-cleanup-20260731/pr1479-22cea1b40132", + "head": "22cea1b4013229907ea80b50214e49c599f47e02", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1479 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "8bba4d60586c102a8d42e208c7bd73fb0b52046b", - "scope": "Differentials results evidence-state, clinical-cue, and ranking presentation", - "outcome": "Fixed three validated P2 findings: evidence-gated best-match success styling, clinical-cue-only labels, and A–Z display rank.", - "checks": "git diff --check; direct Node source-contract assertions; targeted Vitest attempted but unavailable because this isolated worktree has no node_modules/vitest" + "date": "2026-07-24", + "ref": "cursor/information-page-structure-2a5d (PR #1148)", + "head": "230770a53f9bfb53ba69abc81d6e8491e021f8a9", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "b19ade499d7fa77b9f8c6b540f9baaf088284b4a", + "ref": "codex/pwa-install-polish-20260815", + "head": "233047f36f210f0e9ea4846183b2368ca67fa338", "scope": "Required base sync through main d301d8f4", "outcome": "approved", "checks": "git diff --check; CI scope self-test; ledger and issue guards" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "cc68da45cf37c5fbb6e588106e9d3bf8ab8004c3", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior focused UI review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "23572a4ad4a6f1520d86715c647ad9d40ff6bb01", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current main. No remaining P0-P2 findings; #105 was correctly reopened on withdrawn evidence, current-main #090 and #125 were retained, and verified closures remained archived.", + "checks": "post-CI main reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior hosted exact-head CI all green before base moved; fresh CI required for this head" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "cc999ff537622d2bfa73df4d56be2b45b16c449a", - "scope": "Required base sync through main 3824095d8bf2", - "outcome": "approved", - "checks": "git diff --check; CI scope self-test; ledger and issue guards" + "date": "2026-08-08", + "ref": "claude/document-viewer-optimization-tu8tnj", + "head": "2359e158cb7bca5954e9c5ee84ca0766964ad901", + "scope": "PR #1741 document-viewer phone/PWA review-and-fix", + "outcome": "supersede: fixed Production UI phone Zoom/section-trigger; handlePdfLoadSuccess clamp; prior P1/P2 fixes retained; merge-tree clean", + "checks": "prior verify:cheap+pr-local green; ui-smoke selectors fixed for overflow Zoom + revealPhoneHeaderControl; no provider gates" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "differential clinical-cue regression and formatter follow-up", - "outcome": "Aligned the focused result-row assertion with the displayed compact-cue normalization and formatted the mobile rank calculation reported by changed-file formatting. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "date": "2026-08-08", + "ref": "claude/document-image-mobile-view-30xzw8", + "head": "2394d903a6ca1ba7a84e380c9ed5cada038fa5c0", + "scope": "document-viewer phone image layout + lightbox geometry (PR #1737)", + "outcome": "implemented: capped rail/body grid tracks, removed aspect-ratio min-height transfer, rebuilt phone image viewer (legible open scale, rotation re-fit, clamped pan, double-tap, footer controls)", + "checks": "lint, typecheck, test (5647 pass / 1 pre-existing fail), build, eval:rag:offline, check:bundle-budget, all verify:pr-local static steps by hand; browser gates blocked by #255" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "Differentials changed-file formatter blocker", - "outcome": "Restored the single 115-column mobile rank expression after exact-head CI showed the preceding wrapped form was not Prettier-valid.", - "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs origin/main HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head changed-file formatter failure reviewed" + "date": "2026-07-31", + "ref": "PR-1515", + "head": "239a2ce6d708f8e1a6ac891c997baefec67cd9ab", + "scope": "PR #1515 CI triage and visible Playwright roots", + "outcome": "No high-confidence defects; default-enabled trusted CI triage and visible-owner Playwright helper reviewed", + "checks": "check:installed-lock-parity; check:ci-triage; check:github-actions; check:outstanding-issues; check:branch-review-ledger; typecheck" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "Differentials formatter blocker remediation (supersedes 2026-08-15)", - "outcome": "Supersedes immutable record 74e47bb0fd4e2b3ff3ec524606a00b573db356d6b17cf68b4829a19643b9b71a: factored the preceding non-best count into a Prettier-stable expression after exact-head CI rejected both wrapped and one-line forms.", - "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head static failure reviewed" + "date": "2026-07-19", + "ref": "cursor/hide-favourites-guest-mode-a26d (PR #934)", + "head": "23d05539320427ea3f994eaec3c2e95daa481492", + "scope": "Favourites guest mode-switcher/sidebar auth gate review", + "outcome": "No P0/P1. Primary request correctly wired: MasterSearchHeader fails closed; ClinicalDashboard and global-search-shell both pass session favouritesAccessible to mode menu + desktop/mobile showAccountLibrary; selectSearchMode/changeMode guarded; /favourites stays on-page with signup for guests. Residual P2: guest discovery still possible via composer cross-mode Favourites chips and Tools catalog Saved workflows (content remains gated on /favourites). P2 test gap: wiring tests are source-string, not MasterSearchHeader DOM. P3: header passes precomputed access as authenticated plus demoMode (redundant OR, intentional demo reopen).", + "checks": "Focused Vitest favourites-auth-gate + app-modes 26/26; prior verify:cheap green on branch; browser guest check: sidebar omits Your library/Favourites, /favourites shows signup gate; mode-menu automation inconclusive. No OpenAI/Supabase/hosted CI." }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "Differentials pinned formatter exception (supersedes 2026-08-15 remediation)", - "outcome": "Supersedes the prior formatter-remediation record: documented a one-statement Prettier exclusion after exact-head CI rejected both equivalent wraps of the rank identity predicate; no runtime behaviour changed.", - "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head static failures reviewed" + "date": "2026-08-18", + "ref": "claude/therapy-mode-consistency-a466b0", + "head": "244accbde60c5b39f9a91c7f2096053a2f2c5a65", + "scope": "Therapy Compass shared-component convergence B3/C/D: control recipes to shared Button, 16 card surfaces to card-recipes cardSurface/heroCard, six page headers to shared PageHeader, plus two strengthened responsive-contract assertions", + "outcome": "Approved for review as PR #2122 — 19 button call sites converted with per-screen one-filled-command checks, all 16 card surfaces converged (compare table scroll frame deliberately excluded as a frame not a card), six of nine h1 converted (detail hero, patient-handout title and placeholder hero left; PageHeader renders a header element that print CSS hides unconditionally). therapyBtn retained: still the affordance for ~20 non-Button raw call sites. Ratchets fell, none rose.", + "checks": "eslint clean; tsc --noEmit clean; verify:pr-local Test Files 673 passed (673), Tests 7274 passed | 4 skipped (7278); build re-run standalone exit 0 after BUILD_REFUSED_DEV_SERVER; check:bundle-budget all routes within tolerance; verify:ui 447 passed (20.4m) on Playwright-matched Chromium 1234; check:design-system-contract passed" }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "PR #1971 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-08-04", + "ref": "pull/1578", + "head": "245c2a63252ab4e03c9534f9aff2d7632b887cff", + "scope": "Run PR sweep full changed scope", + "outcome": "closed as superseded", + "checks": "Superseded by fixed and verified PR 1579 at the same Settings scope." }, { - "date": "2026-08-15", - "ref": "codex/differential-results-ui-20260814", - "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", - "scope": "PR #1971 differential result formatter follow-up", - "outcome": "Reverted a manual binary-expression wrap: the exact line is 115 columns and must remain inline under the repository 120-column Prettier contract.", - "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/differentials-compare-selection.dom.test.tsx unavailable: node_modules/vitest/vitest.mjs absent." + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "24605b57e288", + "scope": "Bugbot + merge-tree review", + "outcome": "NOT READY. Prefetch product change looks auth-safe/correct. GitHub DIRTY is staleness (merge-tree CLEAN). Blockers: ledger rewrite/corruption (~95 historical rows) + incomplete required CI. Sync main, restore ledger from origin/main, append one row, then recheck.", + "checks": "merge-tree CLEAN; ledger byte/corruption inspect; unresolved Codex/CodeRabbit threads; no provider checks." }, { - "date": "2026-08-15", - "ref": "codex/fix-cover-repair", - "head": "316018b41177e34612f08339bf4baf37055abf00", - "scope": "cover repair script formatter follow-up", - "outcome": "Formatted the stale-candidate guard reported by the changed-file formatter. Verified syntax with node --check; live Supabase execution intentionally not run.", - "checks": "node --check scripts/archive/backfill-document-covers.mjs; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "date": "2026-08-09", + "ref": "claude/inpage-nav-pr-2-6d32f9", + "head": "249526988ea3d65c54e69ee7ca05e514bff50ed8", + "scope": "in-page-nav PR 2: convert six information routes onto InPageNavHeader; delete the shell-owned pill rail", + "outcome": "Shipped as PR #1766. Seven components converted; actions API widened for Server Components; two DSM routes' missing anchors wired; rail and section kind removed; new per-route rendered-DOM section contract added.", + "checks": "verify:pr-local 527/530 files 5708 tests; verify:cheap 529/530 5710 tests; verify:phone-chrome escalated to full Chromium 398 passed then 13/13 updated specs pass; typecheck + prettier clean; Playwright production build compiled. Residual failures proven pre-existing on pristine base 9ab3b73a (issues #285, pr-handoff-stop env)." }, { - "date": "2026-08-15", - "ref": "codex/fix-documents-without-live-images", - "head": "316018b41177e34612f08339bf4baf37055abf00", - "scope": "PR #1975 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-08-14", + "ref": "PR #1965 (claude/playwright-browser-revision-check)", + "head": "24e8fd040949564e2c07fccfe6d243e386815b6e", + "scope": "scripts/check-playwright-browser-revision.mjs, tests/check-playwright-browser-revision.test.ts — ledger #312 fix", + "outcome": "authored — verified real Chromium binary presence check on disk; reproduced original false-OK bug live against this session's /opt/pw-browsers container (chromium-1194 present, pinned revision 1234 missing)", + "checks": "verify:pr-local (runtime, lock-parity, format, lint, typecheck, test 602 files/6518 passed/4 skipped, rag:fixtures, medication-interactions PASS; medication-lexicon-report pre-existing unrelated FAIL); focused vitest check-playwright-browser-revision.test.ts 10/10, playwright-browser-preflight.test.ts 12/12" }, { - "date": "2026-08-15", - "ref": "codex/fix-documents-without-live-images", - "head": "31bf9b5855c0e7cc903a3e186f3bf785d41cc210", - "scope": "Document cover audit and repair: final current-base merge", - "outcome": "Merged latest required base after prior focused repair review; no conflicts or new confirmed P0-P2 findings", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; archived cover-script syntax and generation-guard assertions" + "date": "2026-07-11", + "ref": "PR #481 / claude/perf-r2-auth-roundtrip", + "head": "24fad070fb9834510309e74e1dc0e216cd08646b", + "scope": "main-integration follow-up", + "outcome": "The stacked PR had merged into an already-merged feature base, so its reviewed delta was not present on `main`. Replayed only PR #481's first-parent patch onto current `main`, preserving current answer-route behavior while adding client payload trimming and cookie-authenticated proxy refresh coverage.", + "checks": "`npm run verify:cheap`; focused proxy/payload/clinical-safety Vitest (18/18); `npm run check:production-readiness:ci`; focused Prettier; `git diff --check`." }, { - "date": "2026-08-15", - "ref": "codex/fix-documents-without-live-images", - "head": "3aad3e221fc146560578c8d78135435550f73166", - "scope": "Required base sync through main d301d8f4", - "outcome": "approved", - "checks": "git diff --check; script syntax; ledger and issue guards" + "date": "2026-07-13", + "ref": "codex/pr-481-fixes", + "head": "24fad070fb9834510309e74e1dc0e216cd08646b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #481; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-15", - "ref": "codex/fix-documents-without-live-images", - "head": "5a2530ee107a1c849dafb716deca462bcaca848e", - "scope": "Document cover thumbnail audit and repair", - "outcome": "Preserved generation fences and storage cleanup P2 fixes while merging the latest base; reconciled the archived repair-script path and verified no new P0-P2 finding.", - "checks": "git diff --check; node --check archive script; ledger inbox/outstanding-issues/branch-ledger/discipline guards; cover repair/archive static contracts; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-auth-roundtrip", + "head": "24fad070fb9834510309e74e1dc0e216cd08646b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #481; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-15", - "ref": "codex/fix-documents-without-live-images", - "head": "a42f45955ad8595ccd17ac4fea2ea0d6fd2c2f3f", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior document-cover repair review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-07-31", + "ref": "codex/reduce-catalogue-json-bundle-weight", + "head": "251d89f29e27607486c2560648984329a5481621", + "scope": "PR #1468 Playwright build-cache reopen prep", + "outcome": "ready-for-reopen at tip after ledger commit; branch merge-tree clean vs origin/main; closed PR metadata still shows stale head 1b9d4ab3 until reopen; body/comment edits 403 while closed", + "checks": "push 251d89f2; merge-tree clean 0 behind; PR left closed; ManagePullRequest unavailable for closed PR; gh pr edit/comment 403" }, { - "date": "2026-08-15", - "ref": "codex/fix-ecg-animation-on-mobile-devices", - "head": "4c789e7449613bbae0701610414214586fee177a", - "scope": "ECG SVG repaint on Mobile WebKit", - "outcome": "Confirmed the focused WebKit paint-containment correction; no additional P0-P2 findings. Merged the latest required base.", - "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; direct ECG CSS regression assertion; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" + "date": "2026-08-17", + "ref": "claude/s5-rag-telemetry-harness-2wvis7", + "head": "254132140dd8b19d8eb3669de88cf1d9ad9cf609", + "scope": "Packet S5 (B1+B2): telemetry gap assessment + offline adversarial harness + routing", + "outcome": "PR #2056 open; offline gates green; 3 divergences pinned in KNOWN_DIVERGENCES; 44/44 denominator reconciled", + "checks": "verify:pr-local heavy chain (lint, typecheck, test, build, eval:rag:offline, eval:rag:adversarial:offline) failed:(none) not-reached:(none); check:rag:adversarial-fixtures 24/8/6; maintainability rag.ts 4359/4362" }, { - "date": "2026-08-15", - "ref": "codex/fix-ecg-animation-on-mobile-devices", - "head": "d4662baa81ba738b2278f624f213db416fde95a5", - "scope": "review-and-fix", - "outcome": "Merged latest main, resolved the CSS-test conflict, and fixed the WebKit late-notice test race", - "checks": "Focused Vitest 2/2; design-system contract; changed-file ESLint; typecheck; Prettier; branch-review, outstanding-issues, ledger-discipline and final-merge audit. Browser/provider gates not run locally." + "date": "2026-08-12", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "2553b64b2342b0ef2ebef0afde152e76c1252496", + "scope": "Ledger sweep round 2: open-PR cross-check plus clinical/answer-surface verification", + "outcome": "24 rows flagged IN FLIGHT against 7 open PRs (none had said so); 3 answer-surface rows archived (#166 #208 #216); #250 wave plan re-scoped; main-merge conflict resolved preserving both sides, 23 branch changes re-applied via the writer", + "checks": "verify:pr-local 10/10 green; check:outstanding-issues 121 open/180 archived, no ids deleted from base" }, { - "date": "2026-08-15", - "ref": "codex/medication-info-header-20260814", - "head": "3a42e16a8d582174770740a9a8210f3eb2ae377b", - "scope": "Medication information navigation: final current-base merge", - "outcome": "Merged latest required base after prior focused alias correction; no conflicts or new confirmed P0-P2 findings", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; responsive shadow-alias assertion" + "date": "2026-08-07", + "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", + "head": "2563b4adf4f0c0580ca371acfee94f9ae1ca3d0f", + "scope": "prlanded", + "outcome": "MERGED; squash tip empty vs branch tip 4655643770dba7ca4078f1586c0461fd91657bf9; Grok-safe quick wins (tokens, a11y, perf, gates)", + "checks": "content tree empty vs squash; no provider-backed checks run" }, - { - "date": "2026-08-15", - "ref": "codex/medication-info-header-20260814", - "head": "815bebba630ee808b4e3a5710fdb78a8433690a6", - "scope": "Medication information navigation header", - "outcome": "Fixed the PR-introduced retired shadow alias that failed the exact-head design-system contract, then merged current main.", - "checks": "git diff --check; ledger inbox/outstanding-issues/ledger-discipline guards; direct replacement assertion; design-system gate attempted but unavailable because this isolated worktree has no node_modules" + { + "date": "2026-07-14", + "ref": "claude/codebase-index-coverage", + "head": "258782c8426541f43e03009ccf6bb27b9ce90ca5", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-08-15", - "ref": "codex/medication-info-header-20260814", - "head": "9c1bfe7154eb36e890b4d4e8d61d83da7ba6c926", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior focused medication-header review remains applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-07-14", + "ref": "origin/claude/codebase-index-coverage", + "head": "258782c8426541f43e03009ccf6bb27b9ce90ca5", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-08-15", - "ref": "codex/medication-list-spacing-20260814", - "head": "f38d4da8bc54dbe37fae0de7602a71b4fcd1a6a6", - "scope": "Medication prescribing desktop grid width and row overflow", - "outcome": "Confirmed the prior P2 grid-width fix remains present and merged current main to keep the PR current.", - "checks": "git diff --check; ledger inbox/outstanding-issues/ledger-discipline guards; direct 1024px minimum-grid calculation; Playwright unavailable because this isolated worktree has no node_modules" + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "2594d5e8e5f6756866897829348596d262f7db53", + "scope": "Babysit: merge conflict + CI + Bugbot", + "outcome": "FIXED CONFLICTING: real content conflict in docs/outstanding-issues.md (main claimed #112-#114; renumbered this PR phone-chrome gaps to #115/#116, next-id=117). MERGEABLE. No unresolved review threads. No cursor[bot] Bugbot findings on tip. Offline chrome scan: no actionable P0/P1. Residual: #115/#116 verification-infra; hosted Production UI re-running after tip cancel of prior SHA.", + "checks": "verify:cheap 4460 passed; header-scroll-hide-contract 28/28; typecheck; lint; prettier; merge-tree clean; Bugbot empty on tip" }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "233047f36f210f0e9ea4846183b2368ca67fa338", - "scope": "Required base sync through main d301d8f4", - "outcome": "approved", - "checks": "git diff --check; CI scope self-test; ledger and issue guards" + "date": "2026-08-16", + "ref": "codex/account-setup-polish-20260814", + "head": "25a7a7ba980aaf1f99a22969d74971a496373d98", + "scope": "PR #1997 Services quick-search removal", + "outcome": "P1 scope contamination and conflicts confirmed; intended quick-search removal was already superseded by merged PR #1996; branch reconciled to latest main without retaining obsolete UI regressions", + "checks": "Exact-head static and build checks passed; production UI shards and unit coverage exposed stale cross-feature regressions; merged PR #1996 had 69/69 focused units, 4/4 focused Chromium scenarios, typecheck and build passing; final code tree matched main" }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "6a1ef9ef020ff41165a9d02245367052a68bd7b3", - "scope": "PWA mobile root CLS budget remediation", - "outcome": "Narrowed install-sheet root-content repositioning from all phone widths to the documented <=359px compact layout, preserving the 320px overflow safeguard while avoiding the confirmed mobile-root shift.", - "checks": "git diff --check; Lighthouse CI log diagnosis: mobile-root CLS +0.105 confirmed in 3/3 samples; local Lighthouse intentionally not run" + "date": "2026-07-14", + "ref": "codex/formulation-specifier-separation-current", + "head": "25d7f733f + uncommitted fix", + "scope": "Specifiers/Formulation boundary bug hunt and remediation", + "outcome": "Confirmed two P1 clinical-navigation/content boundary defects: the completed Formulation change deleted the distinct psychiatric Specifiers workspace and redirected every `/specifiers/*` route into Formulation; a later universal-search contract also labelled Formulation mechanism results as `specifiers`. Restored the independent Specifiers catalogue, detail, builder, compare, and map surfaces; registered both app modes and action sets; kept submitted searches in their owning standalone workspace; and split universal search into real `specifiers` and `formulation` domains with correct records, headings, mode ownership, and destinations.", + "checks": "Offline only: full Vitest 2,404 passed/1 skipped, TypeScript, full ESLint, focused Vitest 56/56, sitemap check, `git diff --check`, production-readiness READY with expected missing-env warnings, identity-checked server at `http://localhost:3384`, and repaired Chromium journeys for Specifiers desktop/mobile, Formulation mobile, and explicit route-family separation all passed. No provider-backed or live API checks run." }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "80eb8f6d1c332ee5c32a27da93eb026fb6d9b0d1", - "scope": "PWA stylesheet design-token contract remediation", - "outcome": "Replaced PR-introduced raw PWA motion, padding, radius, gap, and line-height declarations with scoped semantic roles and existing design tokens; preserved rendered values.", - "checks": "git diff --check; manual CSS-contract audit (no new raw guarded declarations); static gate unavailable locally: @typescript/typescript6 not installed" + "date": "2026-07-13", + "ref": "origin/copilot/fix-one-more-time", + "head": "2682cbade791fc07f09d23fa11908eead223d3c7", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-one-more-time; git diff --name-only reported 0 path(s)." }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", - "scope": "PR #1976 base sync", - "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", - "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." + "date": "2026-07-14", + "ref": "copilot/fix-one-more-time", + "head": "2682cbade791fc07f09d23fa11908eead223d3c7", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", - "scope": "PR #1976 PWA exemption formatter follow-up", - "outcome": "Corrected two exemption descriptions that were under the 120-column formatter width and must remain single-line properties.", - "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/style-contract-registry.test.ts unavailable: node_modules/vitest/vitest.mjs absent." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "268b201a1dbaed7cca6dff4a146b0319a5275216", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. No remaining P0-P2 findings. Reconciled current main row by row, retained current-main #105 and #136 dispositions, rejected the unsafe Playwright cache, and fixed favourites partial-source masking plus the indexed-search hydration race.", + "checks": "format PASS; static gates, lint, typecheck PASS; unit 4597 PASS, 3 SKIP, 1 stale donor failure repaired by exact-lock dependency; brace cap direct PASS; focused Chromium 1 PASS; production build PASS; ledger guards PASS" }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", - "scope": "PWA phone install/composer overlap regression", - "outcome": "Restored the shared phone composer reserve for mode-home install sheets after the exact-head production UI geometry test found a 390px overlap.", - "checks": "git diff --check 0dd4b7e9be293815ec3d06f3b57682a1578bafe4; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/ci-change-scope.mjs --self-test; exact-head production UI geometry failure reviewed" + "date": "2026-07-13", + "ref": "codex/dose-fast-path-context", + "head": "26c93547d8ec46c0658bf98194fc2c5d1a6b383f", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #575; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", - "scope": "PWA style-contract formatter follow-up", - "outcome": "Formatted the PWA style-contract exemption entries reported by changed-file formatting. Targeted registry test unavailable because this isolated worktree has no node_modules/vitest; Lighthouse was not run locally by instruction.", - "checks": "node --check tests/helpers/style-contracts.ts; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" + "date": "2026-07-13", + "ref": "origin/codex/dose-fast-path-context", + "head": "26c93547d8ec46c0658bf98194fc2c5d1a6b383f", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #575; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "aa041fd15f902dce172ea0d2707f3f81cb8f160c", - "scope": "PWA install lifecycle: final current-base merge", - "outcome": "Merged latest required base after validated PWA registry fix; no merge conflicts", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; static PWA registry assertion" + "date": "2026-07-30", + "ref": "PR #1477", + "head": "26d713922006c1af8187994edfa76669dc14cd46", + "scope": "PR #1477 fork-safe Codex autofix routing", + "outcome": "Fixed fork routing to the PR head repository, added fail-closed metadata handling, reconciled current main, and found no remaining actionable defects.", + "checks": "check:codex-autofix-workflow; check:github-actions; check:pr-policy; check:outstanding-issues; check:branch-review-ledger; docs:check-inventory; docs:check-links; docs:check-scripts; typecheck; focused Vitest 53 passed; Prettier" }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "c6d8c2829ddd2fc52441a3696aed56fbd0262917", - "scope": "required base sync through main 17402395", - "outcome": "Approved — required main update merged; prior PWA lifecycle review and style-inventory repair remain applicable with no PR-path conflict", - "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" + "date": "2026-07-30", + "ref": "codex/chat-frontend-skill-selection-0978", + "head": "26da021dbbd38f83f03a5dc8e073a57036e90609", + "scope": "dependency security update vs origin/main", + "outcome": "no findings; compatible patched maintenance releases", + "checks": "runtime, installed-lock parity, format, lint, typecheck, 434/435 test files, production audit, CVE guard, 36 RAG fixtures; local build lock timeout" }, { - "date": "2026-08-15", - "ref": "codex/pwa-install-polish-20260815", - "head": "dd687f20c2143466b40d51ce2831542130964af4", - "scope": "PWA install lifecycle: style-contract registry and current-base merge", - "outcome": "Fixed PR-introduced unregistered PWA visual classes; stale install-sheet exemption removed; merged current base", - "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; static PWA registry assertion; targeted Vitest unavailable (node_modules absent)" + "date": "2026-08-04", + "ref": "pull/1601", + "head": "26debb07ff24b0245ccc998aa572f7ccb2ebcea5", + "scope": "Run PR sweep full changed scope", + "outcome": "merged", + "checks": "PASS: hosted dependency audit, build, coverage, static checks, container verification, SAST, Secret Scan and PR required." }, { - "date": "2026-08-15", - "ref": "codex/search-phone-animation-20260815", - "head": "ed29ba4b3effa6ad58f4a6ecc240b30a6a93fdd2", - "scope": "Fresh phone browser and standalone-PWA loading animation defect hunt after physical-device failure report", - "outcome": "Fixed: moved the ECG opacity pulse from an SVG path to a normal HTML compositor layer and added WebKit raster-difference coverage", - "checks": "CSS contract 3/3; focused production WebKit 2/2; design-system contract passed" + "date": "2026-08-24", + "ref": "cursor/dictionary-heading-controls-mockup-4ee0 (PR #2322)", + "head": "271e506d6e3ca024a9bfefae51c99dc9f669ec93", + "scope": "Run PR sweep: main sync", + "outcome": "Before: draft mockup PR behind main (mergeable_state=behind), no failing CI, no unresolved review threads. Synced via update_pull_request_branch (clean fast-forward merge of origin/main, no conflicts). After: mergeable_state=clean, latest CI run green (PR required: success).", + "checks": "CI (hosted): PR required success at 271e506d. No local gate run — sync-only, no source files changed by the sweep. No provider-backed checks run." }, { - "date": "2026-08-15", - "ref": "codex/therapy-global-convergence-20260814", - "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", - "scope": "Therapy versus other modes: remaining shared-site differences and issues", - "outcome": "P1: production-visible Therapy exposes 205/205 records awaiting review and permits clinical outputs. P2: save failures are silent, catalogue/universal ranking differs, provenance is not source-resolvable, print and visual controls remain Therapy-specific, all rich routes fetch the 2.53 MB catalogue, and release state is stale.", - "checks": "Read-only source/diff review; local catalogue diagnostics (205 total, 0 reviewed; one shared uploaded source; 47 null references); ranking parity diagnostic (multiple top-five mismatches); git overlap review (42 commits behind, 4 overlapping files). Tests not run for review-only task. No provider calls." + "date": "2026-08-17", + "ref": "PR #2038 / claude/search-bar-behavior-2g0vnq", + "head": "2723f49885d6e1998aff20ad95b32a7a2a766b05", + "scope": "src/components/clinical-dashboard/guide-dialog.tsx, tests/guide-centre.dom.test.tsx", + "outcome": "reviewed-by-author, add trailing send-button chrome to Guide Centre search pill, no ownership/RAG/clinical-surface change", + "checks": "vitest tests/guide-centre.dom.test.tsx + tests/guide-centre-design-contract.dom.test.tsx (11 passed); tsc --noEmit clean" }, { - "date": "2026-08-15", - "ref": "codex/therapy-global-convergence-20260814", - "head": "1efc557287e05ed7a0d584a23df4505fe7794941", - "scope": "Therapy global convergence release handoff", - "outcome": "Accepted with production content gate; human clinical sign-off and live provider checks remain", - "checks": "focused Therapy 69 pass; format/lint/typecheck/build pass; drift replay pass; verify:pr-local partial from unrelated/baseline failures; live checks blocked missing env" + "date": "2026-08-08", + "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", + "head": "276a5cd02cfb8fb93d969e9e4db167576e054a42", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY/master-search-header conflict → merged origin/main; phone dense + desktop tall rows preserved; CI re-running", + "checks": "vitest header-scroll-hide+mode-nav 55 passed; lint master-search-header; no provider-backed checks" }, { - "date": "2026-08-15", - "ref": "PR #1966 / claude/ledger-review-triage-yi63ao", - "head": "fd8e0fd55dd1a49e98039bd0057fb9221e644a93", - "scope": "unblocking PR review-and-fix", - "outcome": "No confirmed PR-introduced P0-P2 defect. Merged current main cleanly; prior ledger-closure concerns are superseded by current-main evidence.", - "checks": "ledger-inbox check PASS; outstanding-issues PASS; branch-review-ledger PASS; JSON parse 11/11; current-main claim probes PASS; diff --check PASS; npm setup unavailable (npm cache sandbox)." + "date": "2026-07-30", + "ref": "codex/review-pr1432-v2", + "head": "277333c2e0db9f4dcbef9489ccdf1d57524e169b", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1432 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-15", - "ref": "PR #1968 / claude/ledger-reconcile-batch-4", - "head": "0a49842ccf12ea4508533b43bb0b7d7a2086eac6", - "scope": "unblocking PR review-and-fix", - "outcome": "Synced current main and reconciled the base inbox; queued the verified #316 headline correction for the next serialized transaction.", - "checks": "ledger inbox dry-run/check; outstanding-issues and ledger write-discipline checks; diff --check (npm setup blocked by sandbox cache)" + "date": "2026-08-12", + "ref": "1815", + "head": "27ce96e1755055ceee2eeae02d6efdf11259fcde", + "scope": "babysit", + "outcome": "fixed", + "checks": "Unit coverage: targeted vitest passed: tests/shared-home-empty-state.dom.test.tsx (17 passed). PR required still blocked on pre-existing check failure at old remote head before sync." }, { - "date": "2026-08-15", - "ref": "PR #1968 / claude/ledger-reconcile-batch-4", - "head": "10beb5ea191043e3c425aa7ff32533e93e9f68de", - "scope": "unblocking PR review-and-fix", - "outcome": "Fixed #316 forensic-bound and inventory correction through the serialized ledger queue; merged current main cleanly.", - "checks": "ledger-inbox and outstanding-issues self-tests plus checks; ledger write discipline; diff --check (npm 11.17 setup blocked by sandbox cache)" + "date": "2026-08-13", + "ref": "claude/patient-interactions-drug-alerts-3tztvw", + "head": "2812a8f5e0069047b7a8625d44d498f924cb0be6", + "scope": "parenthesised-name root cause, unreachable-counterparty verdict guard, outstanding-issue capture", + "outcome": "9 further rows across 4 drugs were silently unresolvable and now resolve; green is no longer reachable when an entered drug is one no interaction row names, with the uncovered drugs stated on screen; 3 durable items queued to the issues inbox", + "checks": "verify:pr-local 18/18 green on merged tree (failed: none, not reached: none), 6402 unit tests; verify:ui deliberately skipped - text notice inside an existing section, covered by 4 DOM cases" }, { - "date": "2026-08-15", - "ref": "PR #1968 / claude/ledger-reconcile-batch-4", - "head": "31cd550141e66806e53ade04965151b960964c6d", - "scope": "unblocking PR review-and-fix", - "outcome": "Merged the latest base and reconciled its complete ledger batch; retained the #316 headline correction as a valid next-transaction request.", - "checks": "ledger write discipline; ledger inbox dry-run/check; outstanding-issues; branch-review-ledger; diff --check" + "date": "2026-07-25", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "283ad65377ee3e60ceb70f5cd01974caf0a54227", + "scope": "Open-PR maintenance: keyboard overlay fallback", + "outcome": "Before: fixed docks always consumed the measured visual-viewport height, double-lifting them when `interactive-widget=resizes-content` already resized the layout viewport. After: the provider subtracts layout shrink and exposes only residual overlay height to CSS while retaining keyboard-open state.", + "checks": "Focused Vitest 18/18 pass; `npm run ensure` verified http://localhost:3264; Prettier and diff checks pass; no provider-backed checks run." }, { - "date": "2026-08-15", - "ref": "PR #1969 / codex/medication-list-spacing-20260814", - "head": "347125d4313a7517f051c1b26fc0873b7bff10f0", - "scope": "unblocking PR review-and-fix", - "outcome": "Fixed the 1024px desktop prescribing-grid clipping with a focused right-edge regression assertion; merged current main cleanly.", - "checks": "grid footprint contract (676px <= 876px); diff --check (Playwright unavailable: isolated worktree has no dependencies)" + "date": "2026-07-24", + "ref": "PR #1176 / `cursor/pdf-crop-malformed-repro-9b3e`", + "head": "28c1e2352a7cabb9c73f52d5084ee69f47895c5e", + "scope": "#076 page-edge table crop geometry fix (post-merge tip)", + "outcome": "APPROVE (supersedes prior #1176 row for 5391bf18 after remote merge). No P0-P1. Same scoped drawing-based edge extension; residual: text-grid tables without drawings, and left/right/top only unit-symmetric. PR #1129 retention/padding still out of scope.", + "checks": "Re-ran Python page-edge + budget 6/6 and Vitest pdf-extractor 3/1 skipped after merge; offline only." }, { - "date": "2026-08-15", - "ref": "PR #1970 / claude/capture-drift-phase1-evidence", - "head": "6d977b02331c04398daf930acc773743355b68f5", - "scope": "unblocking PR review-and-fix", - "outcome": "Corrected four P2 forensic claims and cancelled the two unsafe queued ledger mutations; merged current main cleanly.", - "checks": "ledger write discipline; ledger-inbox check; forensic claim scan; diff --check" + "date": "2026-07-13", + "ref": "origin/copilot/fix-failing-ci-again", + "head": "28dacd7f19320bcbf2b03e5e40c7e97fc46a80cd", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci-again; git diff --name-only reported 40 path(s)." }, { - "date": "2026-08-15", - "ref": "PR #1977", - "head": "4a94fb625c305159425366a7d9f59de4bd96425b", - "scope": "review-and-fix", - "outcome": "Verified issue-inbox requests; #293 closure is supported by merged PR #1962, #312 correctly remains open after PR #1965; no new defect; merged latest main", - "checks": "check:outstanding-issues; check:branch-review-ledger; check:ledger-write-discipline; diff-check; manual adversarial review (CodeRabbit rate-limited)" + "date": "2026-07-14", + "ref": "copilot/fix-failing-ci-again", + "head": "28dacd7f19320bcbf2b03e5e40c7e97fc46a80cd", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-15", - "ref": "PR #1978", - "head": "ef1bb2eac059d1c3ad0d4cae756bb069b5b8edb2", - "scope": "review-and-fix", - "outcome": "Fixed applied cancel-of-cancel acceptance and restored guard-push executable mode; verified rewritten-history and parallel-reconcile semantics; merged latest main", - "checks": "focused Vitest 39 passed, 1 Windows skip; guard self-tests; ledger and issue guards; format; manual adversarial review (CodeRabbit CLI unavailable)" + "date": "2026-07-28", + "ref": "claude/navigation-pane-mockups-0600af", + "head": "29372bb5a53df26902bef53f8a1cb5dd4be5b239", + "scope": "PR #1311 CI/review fix", + "outcome": "Supersedes prior head: Prettier format:check was the remaining Static PR / CircleCI blocker; formatted 8 files. Product fixes unchanged; 0 unresolved threads.", + "checks": "format:check PASS; maintainability budgets; prior verify:cheap retained" }, { - "date": "2026-08-15", - "ref": "PR #1991", - "head": "18a5f42dad73695f95301574a3bb08c1341d025f", - "scope": "docs/medication-lexicon-review-worklist.md + one #318 inbox request (46750cbf); no lexicon, catalogue or sign-off change", - "outcome": "Authored handoff. Worklist prepared for the #318 clinician pass; row stays OPEN and UNREVIEWED. Verified two of the row's three cited defects are already closed (ARB/Carbapenem guarded; lithium reachable) and only the Warfarin split remains, with zero interaction rows in common between the two records. Three new findings not surfaced by the sheet: tcas selects dead slug dothiepin so Dosulepin (FATAL in OD) fires none of 20 severe rows; nsaids subclass match excludes Celecoxib/Parecoxib from 38 severe rows; maois subclass match excludes Moclobemide (RIMA) from 17 severe rows. Also found two blind spots in the review instrument itself - missedClassMembers() skips sub-4-char stems so the check cannot fire for tcas or arbs, and it never reads tag - so the sheet's 'checks ran clean' line is overstated for two terms. One near-miss corrected before publication: Omeprazole was not a catalogue record, it was a substring hit inside Esomeprazole.", - "checks": "verify:pr-local low-risk docs route, 11 checks completed, failed: (none); check:ledger-write-discipline passed 806918834b43..HEAD; check:outstanding-issues passed 341 rows; medications:lexicon-report regenerated byte-identical. verify:ui NOT run - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed in this container; no browser coverage claimed." + "date": "2026-07-26", + "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", + "head": "2955bc5ca + in-flow reveal hardening", + "scope": "Production UI second failure root-cause + focused fix", + "outcome": "Second Production UI failure (in-flow collapse test, reveal after bottom clamp) traced to rAF starvation coalescing the single upward scrollTop write into the trailing bottom-clamp evaluation, which the shrinking-range hold rebases away; real drags emit follow-up events so product behavior is unaffected. Replaced single -24 write with two separated upward steps yielding frames each.", + "checks": "Focused Playwright chromium repeat-each=3 pass for both touched tests (6/6) on isolated prod build; no provider-backed checks." }, { - "date": "2026-08-14", - "ref": "claude/archive-inflight-verified", - "head": "2b44e8085ac0e356d43a3180527da2d92cb4af66", - "scope": "docs/outstanding-issues-inbox — retire stale IN FLIGHT annotations", - "outcome": "Verified 11 IN FLIGHT rows against code on main. Archived 8 as delivered (#178 #209 #221 #233 #234 #235 #237 #238) with file:line evidence, 1 as intentional-by-design (#245). Kept #150 open (account state, not code-verifiable) and #162 open (PR #1839 genuinely still open). Queued as immutable inbox requests.", - "checks": "verify:pr-local (11 completed, 0 failed)" + "date": "2026-07-13", + "ref": "claude/compact-design-mockup-fcfb04", + "head": "296d09a48f67eec659045a573d6e63d6d61cab3a", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/compact-design-mockup-fcfb04; git diff --name-only reported 7 path(s)." }, { - "date": "2026-08-14", - "ref": "claude/capture-drift-phase1-evidence", - "head": "00f5612ccf982441cf98ec6ca1c51d68ba2add6a", - "scope": "docs/audit/live-drift-forensics-2026-08.md + inbox — Phase 1.2/1.3 evidence capture", - "outcome": "Filled 1.2 (was Pending): 93 functions compared, 0 missing/0 extra/16 mismatches, 6 proven normalization noise, 10 real and UNCLASSIFIED, confirming #316's figure of 10. Extended 1.3: 210 repo vs 192 live indexes, 20 still absent after the incident repair, zero invalid indexes, all five creating migrations recorded executed DDL. Root cause left unestablished. #316/#248 queued as inbox requests. Read-only throughout; no writes to the database.", - "checks": "verify:pr-local (11 completed, 0 failed)" + "date": "2026-07-11", + "ref": "codex/pr-check-followup", + "head": "298e8f5bec2a4673dd225da3f446f008b8f25953", + "scope": "residual-pr-check-hardening", + "outcome": "Ported only the three PR-check improvements not already merged by PR #454: pinned Supabase CLI/cache ownership, advisory Semgrep coverage for Edge Functions, and regression guards for both contracts.", + "checks": "`npm run check:github-actions`; `npm run check:ci-scope`; focused Prettier; `git diff --check`" }, { - "date": "2026-08-14", - "ref": "claude/correct-rejected-closures", - "head": "e4372b5b4e1e382ec28b79e326a0ae1f2a9901ba", - "scope": "docs/outstanding-issues-inbox — corrections for rejected closures and stale #231", - "outcome": "Queued 4 update requests. #235/#237/#238 record the rejected closure, its reason, and a Stop rule naming the evidence class that must not be reused; all three drop the stale IN FLIGHT prefix (PRs #1841/#1842 merged). #231 records that scripts/probe-generation-quality.ts now exists (a3bc4da) and PR #1861 was adjudicated superseded for phase 1, so the row no longer asks for an instrument that exists.", - "checks": "verify:pr-local (11 completed, 0 failed; first run correctly failed check:ledger-write-discipline on uncommitted edits)" + "date": "2026-07-31", + "ref": "cursor/ci-followups-093-138-1bf5", + "head": "299698480cb120483ea16895b9265ad2abf5d595", + "scope": "closed-PR reopen prep", + "outcome": "ready-for-reopen; merge-clean vs origin/main after resolving outstanding-issues; no open review threads; no P0-P2 findings; PR left CLOSED", + "checks": "check:outstanding-issues,check:ci-triage,check:github-actions,merge-tree-clean" }, { - "date": "2026-08-14", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "08a49b316b505a5ef39d0e7fd514a7ece7993f8f", - "scope": "PR #1951 review-and-fix", - "outcome": "fixed stale pending cancellation after base reconciliation; preserved only valid remaining queue mutations", - "checks": "offline: reproduced docs:check-links failure; docs:check-links pass after fix; check-outstanding-issues; ledger-inbox check; Prettier affected requests; git diff --check" + "date": "2026-07-28", + "ref": "claude/pr-policy-caveman-fix-6875bb", + "head": "29c58693d6e63f8174386e6a8cdc94e39f0f8343", + "scope": "six-pr-consolidation", + "outcome": "ported-to-#1335; tip closed", + "checks": "diff-vs-main,content-proofread" }, { - "date": "2026-08-14", - "ref": "claude/db-remediation-phase-0-wfaiyl", - "head": "20228faa6002da009e290bc398345a47d2cd7a02", - "scope": "PR #1951 review-and-fix", - "outcome": "reviewed live-drift routing workflow contract and Phase 0 records; fixed no PR-introduced defect; merged latest main", - "checks": "offline: routing-script stub exercise; check-outstanding-issues; ledger-inbox check; Prettier changed files; check:github-actions; check:gate-manifest; check:verification-plan; maintainability budgets; targeted Vitest unavailable (isolated worktree has no node_modules); manual adversarial pass" + "date": "2026-07-13", + "ref": "codex/repository-review-remediation", + "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/repository-review-remediation; git diff --name-only reported 80 path(s)." }, { - "date": "2026-08-14", - "ref": "claude/design-token-relands", - "head": "f94fa299a61f1337825083fe1178c66f65680329", - "scope": "design tokens: --shadow-tight retirement reland, contract ratchet re-pin, search-band badge token, DS Track A3 closeout", - "outcome": "self-review; 4 commits, value-preserving, gates green except a pre-existing main failure", - "checks": "verify:pr-local (all stages pass except pre-existing check:medication-lexicon-report, reproduced on pristine origin/main); vitest 601 files/6510 passed; design-token-contract + tailwind-merge 69 passed; check:design-system-contract zero slack, mutation-verified; tailwind emission probe for the new utilities" + "date": "2026-07-13", + "ref": "origin/codex/repository-review-remediation", + "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/repository-review-remediation; git diff --name-only reported 80 path(s)." }, { - "date": "2026-08-14", - "ref": "claude/disabled-button-accessibility-piclvr (PR #1928)", - "head": "1988c762dfa763a38ec1b95cc9855b0db47f2054", - "scope": "PR #1928 heavy review: outstanding-issues inbox count accuracy (docs only)", - "outcome": "P2 fixed — durable summary corrected from four controls to four groups covering nine controls; no other actionable defects; no unresolved review threads", - "checks": "manual adversarial source pass; JSON parse + schema/count assertions; exact-head PR required CI green before fix; no provider-backed gates run" + "date": "2026-07-14", + "ref": "codex/repository-review-remediation", + "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-14", - "ref": "claude/fetch-stream-catch-cleanup", - "head": "53ed54137fde3cb5ee7f8e177d85ba0f177593c6", - "scope": "empty catch disposition (src/lib/theme.ts, src/app/layout.tsx) + new tests/empty-catch-disposition.test.ts contract guard + issues:done request for #213", - "outcome": "Approved — 3 bare catches dispositioned with inline comments; no behaviour change. Finding: all 3 were inline-script storage/cookie reads, not fetch/stream swallowing as #213 described; the genuine fetch/stream catches were already dispositioned. New raw-source-text contract test guards the population (0 bare, 21 total).", - "checks": "verify:pr-local (all gates pass except pre-existing check:medication-lexicon-report, inputs byte-identical to origin/main); npm run test 602 files / 6511 passed / 4 skipped; new contract test 2 passed" + "date": "2026-07-13", + "ref": "origin/copilot/29202241308-fix-database-issue", + "head": "29db1aa1b29a812bf4c7eb7af5ea33371f086157", + "scope": "branch-cleanup", + "outcome": "Retained: 6 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/29202241308-fix-database-issue; git diff --name-only reported 14 path(s)." }, { - "date": "2026-08-14", - "ref": "claude/fetch-stream-catch-cleanup", - "head": "f05c2d58fc70465a52cbb23306179b5420c3a95c", - "scope": "empty catch disposition + contract guard + regenerated docs/medication-interaction-lexicon-review.md", - "outcome": "Approved — supersedes the 53ed541 record after adding the lexicon-report regeneration. 3 bare catches dispositioned inline (no behaviour change); finding recorded that all 3 were inline-script storage/cookie reads, not the fetch/stream swallowing #213 described. Lexicon report drift was pre-existing on main and a pure re-wrap (whitespace-normalised files are byte-identical); classifyPullRequestFiles reports clinicalRisk false with or without it.", - "checks": "verify:pr-local on final head: failed (none) — all 18 gates pass including check:medication-lexicon-report; npm run test 602 files / 6511 passed / 4 skipped" + "date": "2026-07-14", + "ref": "copilot/29202241308-fix-database-issue", + "head": "29db1aa1b29a812bf4c7eb7af5ea33371f086157", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-14", - "ref": "claude/gate2-viewport-determinism", - "head": "f3bcced51d533d28c965277b6ab6875ad947d9b7", - "scope": "PR #1962: deterministic Gate 2 tap-carrier enumeration", - "outcome": "fixed", - "checks": "Prettier; explicit source-contract review; independent Codex adversarial review; Playwright delegated to exact-head CI (isolated worktree lacks dependencies)" + "date": "2026-07-30", + "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", + "head": "2a31fcee0ef2e330a4901481c0810103d89c96cf", + "scope": "process anti-conflict merge readiness", + "outcome": "NOT READY. CI green on stale head, but merge-tree vs current main is CONFLICTING in ci.yml, package.json, and add/add on check-outstanding-issues.mjs after #1410 landed a stronger #112 gate. Keep unique value: AGENTS anti-conflict procedure, #116 PR mergeability workflow, merge=union on outstanding-issues (explicitly still open after #1410). Drop duplicate weaker outstanding-issues checker; re-verify after sync.", + "checks": "ledger:lookup NOT REVIEWED; merge-tree dirty vs origin/main; ManagePullRequest CI SUCCESS (15 ok / 0 fail, Production UI skipped as non-UI); local verify:pr-local earlier on pre-conflict head 4467 passed" }, { - "date": "2026-08-14", - "ref": "claude/issues-reconcile-lnhvja", - "head": "cabdd290b00ff81569955cdd4a1b6b6b9f8999de", - "scope": "serialized outstanding-issues reconciliation (9 requests, 2 cancels)", - "outcome": "PR #1967 open", - "checks": "issues:reconcile applied 9; check:outstanding-issues pass; verify:pr-local failed:(none)" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "2a590d8c56b04ce6202fa1c7814e9858363151c0", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1480. No remaining P0-P2 findings; current main's canonical partial-favourites implementation replaces the branch's duplicate notice helper, while the branch's ledger, CI, and indexed-source hydration changes remain intact.", + "checks": "focused overlap suite 7 files / 130 tests PASS; verify:cheap 32 gates PASS; unit 439 files / 4612 PASS / 3 SKIP; ledger guards and merge reconciliation PASS" }, { - "date": "2026-08-14", - "ref": "claude/ledger-merge-loss-finding", - "head": "7a8d57da01b3221c61c87d2f14ace392ab33fb67", - "scope": "ledger merge-loss finding", - "outcome": "PR #1937 — one immutable inbox request (P2 issue) recording that a queued outstanding-issues request was created on a branch and never reached main through that branch's squash. Verified before writing: the request's own remedies had already shipped on main independently (hook guards CLAUDE_ENV_FILE; check:runtime names the hook), so the request was NOT re-queued verbatim — a re-queue would have opened an already-resolved row. The row filed instead is about the undetected loss itself. Docs-only; no source changes.", - "checks": "npm run verify:pr-local — failed: (none), 11 checks completed; ledger inbox check passed: 76 pending request(s), 19 applied" + "date": "2026-08-05", + "ref": "HEAD", + "head": "2a8881afad230880166de60a533e17588d9920ec", + "scope": "seven-report repo-wide audit", + "outcome": "P2 confirmed: live drift and live-only migration; mobile CLS; ACL runner; OOXML declared-size robustness; assertion false positives. Numerous report claims stale, narrowed, or unsafe.", + "checks": "verify:cheap (5088 pass, 3 skip, 1 timeout); focused retry 21/21 pass; build pass; bundle budget pass; offline RAG 574/574; assertions 98%; live drift 34; browser CLS 0.228/0.218" }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "07b184df70e31c55e3637af875af077d2f12f129", - "scope": "PR #1944 review-and-fix (supersedes 2026-08-14)", - "outcome": "Corrected connector file encoding; retained five fixes", - "checks": "byte-verified blobs; audit self-test, targeted classifier probes, JSON parse, ledger and docs guards; Vitest unavailable: npm ci package downloads corrupted" + "date": "2026-07-24", + "ref": "PR #1134 / `cursor/search-performance-review-4ee9`", + "head": "2a8e045f4a7179ea6fc9b81b1b2173e4c932617e", + "scope": "Babysit closeout / merge readiness", + "outcome": "MERGE-READY for product scope once exact-head required checks finish after final main sync. Fixed: Bugbot pathname searchMode (Compiler-safe previous-state sync); docs index; PR_POLICY_BODY/governance; maintainability extract; prescribing Safety filters (no fields=index); Sheet teardown document guard. Unresolved threads: none. Residual: human approving review; title still stale (gh/ManagePullRequest cannot edit); main may move again.", + "checks": "Hosted on prior tip 973d5d88: PR policy/Static/Unit/Build/Production UI/PR required all SUCCESS. Final sync pushed; awaiting exact-head recheck. No OpenAI/live Supabase writes." }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "58c4a3d5294ded839f7ff78c4bc18d6ece7522eb", - "scope": "PR #1944 CI format fix", - "outcome": "Formatted two merge-loss review files", - "checks": "Prettier 3.9.6; audit self-test; JSON parse; docs:check-links" + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "2ab54c8ac4a062d15051d604e04e585a446f363c", + "scope": "CI container RAM-gate closeout", + "outcome": "SUPERSEDES prior #1297 container row with placeholder tip. Tip includes motion wiring + CI/GITHUB_ACTIONS + `/.dockerenv` RAM-floor skips + Dockerfile `ENV CI=1`.", + "checks": "awaiting exact-head hosted Build/container/PR required; no provider checks." }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "893f481005a66d6e2304396284e1aec63dbf3ae0", - "scope": "PR #1944 CI-blocker fix", - "outcome": "Removed cancellation targeting an already applied inbox request", - "checks": "docs:check-links, check:outstanding-issues, check:ledger-write-discipline" + "date": "2026-08-20", + "ref": "codex/chat-disable-user-document-upload-disable-user-document-upload", + "head": "2abbe0068560086497b0688970ec6ad6ba957aba", + "scope": "user document upload removal design sweep", + "outcome": "No upload-removal design regression found; relevant upload and responsive checks passed. Full UI gate remained partial with six out-of-scope or unconfirmed failures.", + "checks": "workflow:design-sweep PASS; manual 320/390/639/768/1440/1920 PASS; focused upload Chromium 3/3 PASS; verify:ui 468 passed, 6 failed, 2 skipped" }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "93365d6e4e496c233e629d85a572f3feb08513cf", - "scope": "outstanding-issues reconciliation of 35 queued requests (fresh base 0011a058)", - "outcome": "PR #1956 — one serial reconciliation transaction from a fresh origin/main base, restarting the branch after its previous PR (#1944) merged as squash 372cb13f. 35 requests applied: 17 done, 7 add, 6 update, 5 cancel; ledger 328 to 334 rows, 115 to 99 open. Machine-generated and machine-verified end to end; no request or canonical row was hand-edited. Includes the five requests PR #1944 left pending: closes #313, carries #211 forward with a re-measured 1,445 errors while keeping its deprioritisation and P3 priority, records #168 and #258 without closing either, and opens #335. One request deliberately not re-filed: cancel a8783c79, whose target 0e47904b was already consumed by the reconcile in PR #1936, making it invalid; nothing lost because the surviving #211 update folds its text forward. Visual HTML register NOT refreshed — its PowerShell refresh script is a Windows path unavailable in this Linux container; Markdown source is current, artifact is stale.", - "checks": "npm run verify:pr-local — 11 gates completed, 0 failed; npm run check:ledger-write-discipline printed \"Ledger write discipline passed for 0011a058fd1d..HEAD\", independently recomputing the transaction; check:outstanding-issues 334 rows (99 open, 235 archived), unique ids, next-id=337 above the highest, 0 pending requests, 129 applied; the pre-existing check:medication-lexicon-report failure seen on PR #1944 is gone, confirming PR #1941 fixed it at source. Note: run before committing, check:ledger-write-discipline correctly REFUSED to report a verdict and named every uncommitted request file — the guard PR #1944 shipped, working on the first real reconciliation after it landed." + "date": "2026-07-28", + "ref": "PR #1304 / `fix-test-run-lock`", + "head": "2abe39506f9f0ceaf8cf638bfa2b6dc37dc0ed2c", + "scope": "CI babysit: resync main", + "outcome": "FIXED. After green PR required on `f7d86c27`, main advanced by 1 commit (#1305); GitHub DIRTY again but `git merge-tree` CLEAN. Merged origin/main. No product conflicts; unique delta still knip.json (+ ledger).", + "checks": "merge-tree CLEAN; hosted PR required SUCCESS on prior tip; no provider-backed checks." }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "d36914a79fa4304273429aab0d7f271010f3bb96", - "scope": "ledger process tooling bundle (#313 dirty-tree gate, 829597d4 merge-loss detector, #211/#168/#258 plans)", - "outcome": "PR #1944 — five separate commits, each independently revertible. Two code items: check-ledger-write-discipline.mjs now refuses a verdict while a governed ledger path is dirty (gated on default HEAD so guard-push.mjs explicit --head and clean CI are unaffected); new scripts/audit-merge-loss.mjs advisory blob-comparison sweep, exits 0 and asks for human confirmation, not wired into CI or verify:cheap by design. Three docs-only plans. Found and fixed during build: the shared git() helper trim() was corrupting porcelain status parsing, and JSDoc types were needed to stop TS inferring never[] for the classifier landings parameter. Noted: classifyPullRequestFiles reports operationalRisk true solely from the package.json script entry.", - "checks": "npm run verify:pr-local — 18 gates completed, 1 failed: check:medication-lexicon-report, reproduced identically in a clean detached worktree at origin/main d47aa6d so pre-existing and not caused here; tests/ledger-write-discipline.test.ts 9 passed; tests/merge-loss-audit.test.ts 14 passed; both script self-tests passed; audit:merge-loss --since 6 independently rediscovered the acf78bf casualties #1803/#1800/#1804/#1796/#1811" + "date": "2026-08-13", + "ref": "PR #1930 / claude/viewer-ledger-truth-pass", + "head": "2ac0f48a820be62947112efbb5d0845a702dad8e", + "scope": "heavy review-and-fix: ledger truth, SessionStart runtime remediation, and focused tests", + "outcome": "Fixed three confirmed P2 review findings and one additional P2 test-isolation defect. Corrected bbox runtime-flow and #215 completion claims; completed caller-persistent Node remediation; removed the resolved queued runtime issue; no P0/P1 findings. Remaining viewer and ledger requests were source-validated.", + "checks": "bash -n; focused Node/shell regression harness PASS; TypeScript syntax PASS under Node strip-types; JSON parse PASS; distinct manual adversarial pass; full Node 24 npm gates deferred to exact-head CI because no authenticated checkout or compatible local runtime" }, { - "date": "2026-08-14", - "ref": "claude/ledger-process-tooling-50uqfc", - "head": "d7adf35c18f6f23d9585d9442a0da99e7c90192b", - "scope": "PR #1944 review-and-fix", - "outcome": "Fixed five validated P2 findings", - "checks": "audit self-test, targeted classifier probes, JSON parse, ledger and docs guards; Vitest unavailable: npm ci package downloads corrupted" + "date": "2026-07-30", + "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", + "head": "2aee8c74e64bd09954fe1b474c73b25805063de0", + "scope": "open PR changed-scope review", + "outcome": "APPROVE: setup action description now matches clean npm install with npm-download caching; no behavior change.", + "checks": "check:github-actions PASS; diff review; no unresolved threads" + }, + { + "date": "2026-08-08", + "ref": "claude/planning-build-intelligence-9ot0nm", + "head": "2b0ad7d41d841c13515f10de7c41e449470dfa78", + "scope": "pr-1730 review-and-fix", + "outcome": "Deep review + Bugbot: no P0/P1; fixed 2 scoped P2 clarity risks (version-bump under-planning; live-state vs provider boundary). Residual: OPENAI_*_REASONING_EFFORT vocab overlap. Merge-tree clean; required CI was green pre-push.", + "checks": "prettier --check AGENTS.md; docs:check-links (1667); verify:pr-local (docs route pass); verify:cheap (524 files / 5607 tests pass); pr-policy classify clinical/operational/rag false; Bugbot no P0-P2" }, { - "date": "2026-08-14", - "ref": "claude/ledger-reconcile-batch-1", - "head": "00c09a30f91427b3154b64812b73294847265778", - "scope": "docs/outstanding-issues.md + inbox — serial reconciliation of 75 queued requests", - "outcome": "Applied 63 active mutations (14 add, 23 done, 26 update) plus 6 cancellation decisions. Ledger 115 open/199 archived -> 106/222; inbox 0 pending/94 applied. Verified zero live same-target collisions before applying, since planRequestBatch dedupes on request UUID not canonical row id.", - "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" + "date": "2026-07-24", + "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", + "head": "2b17f5fcbe06307e7ff50ad0373789daa8f07a01", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { "date": "2026-08-14", - "ref": "claude/ledger-reconcile-batch-2", - "head": "af68b3271922656ef97312dae513a3f6906aec76", - "scope": "docs/outstanding-issues.md + inbox — second serial reconciliation of 35 queued requests", - "outcome": "Applied 25 active mutations (13 done, 6 add, 6 update) plus 5 cancellation decisions. Ledger 106 open/222 archived -> 99/235; inbox 0 pending/129 applied. Three closures queued in PR #1940 (#235 #237 #238) were cancelled by review and stay open: each asked for visual or browser proof and had been closed on executable evidence. Zero live same-target collisions verified before applying.", - "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" + "ref": "claude/archive-inflight-verified", + "head": "2b44e8085ac0e356d43a3180527da2d92cb4af66", + "scope": "docs/outstanding-issues-inbox — retire stale IN FLIGHT annotations", + "outcome": "Verified 11 IN FLIGHT rows against code on main. Archived 8 as delivered (#178 #209 #221 #233 #234 #235 #237 #238) with file:line evidence, 1 as intentional-by-design (#245). Kept #150 open (account state, not code-verifiable) and #162 open (PR #1839 genuinely still open). Queued as immutable inbox requests.", + "checks": "verify:pr-local (11 completed, 0 failed)" }, { - "date": "2026-08-14", - "ref": "claude/ledger-reconcile-batch-3", - "head": "be94fbbb31843f4593783b9ca388ee0526b74e84", - "scope": "docs/outstanding-issues.md + inbox — reconcile the four rejected-closure corrections", - "outcome": "Applied 4 update requests from PR #1957, no cancellations, zero live collisions. #235/#237/#238 now carry the rejected closure, its reason and a Stop rule naming the evidence class; #231 records the probe script and the #1861 adjudication. Row counts unchanged at 99 open/235 archived by design — detail rewrites, not archives. Inbox 0 pending/133 applied.", - "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" + "date": "2026-08-07", + "ref": "claude/issues-256-section-nav-clean (PR #1697)", + "head": "2b99db1f00c42fd7c11c4bf8acbad904ef5003e1", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: DIRTY/PR mergeability fail, behind 3, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-08-14", - "ref": "claude/live-drift-forensics-lnhvja", - "head": "b9485d897dbec528b9141d3b93bbc7a067bfd010", - "scope": "incident forensics + live index restore evidence (#316/#231)", - "outcome": "PR #1960 open", - "checks": "verify:pr-local failed:(none) incl check:ledger-write-discipline" + "date": "2026-07-13", + "ref": "codex/pr-591-fix", + "head": "2bad7ba0499626edd8f1833a18983596d0b9f941", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-14", - "ref": "claude/live-drift-routing-lnhvja", - "head": "61b53680ad49196a392dea91e1a4a7345d88c522", - "scope": "live-drift workflow failure routing + post-migration trigger (#316 phase 0)", - "outcome": "PR #1939 open", - "checks": "check:github-actions pass; verify:pr-local failed:(none); test:ci-workflows pass" + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr5-ia-canonical", + "head": "2bad7ba0499626edd8f1833a18983596d0b9f941", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-14", - "ref": "claude/playwright-browser-revision-check", - "head": "3447238f1c66154dca9b567924fb0a2f57a28c84", - "scope": "PR #1965: Playwright browser revision check", - "outcome": "fixed", - "checks": "prettier; targeted Vitest 5 passed; independent Codex adversarial review: 3 P2 fixed; full Vitest unavailable (cached runtime lacks playwright-core browsers.json)" + "date": "2026-07-30", + "ref": "codex/merge-privacy-safe-error-tracking-implementation", + "head": "2bf6e8ac87194e1dcccc19e08f67ff2c30988af3", + "scope": "bugbot-review", + "outcome": "P1: empty/index-only docs.metadata still rendered as clinical validation unverified in RAG prompts after claimed null-preservation fix; Sentry privacy scrub OK; package-lock merge-tree CONFLICT vs origin/main", + "checks": "vitest:error-tracking+rag-source-governance:4/4; empty-meta proof {}+index-only->unverified; merge-tree:package-lock CONFLICT; no provider gates" }, { - "date": "2026-08-14", - "ref": "claude/playwright-tsconfig-isolation", - "head": "a5af47d083091a44cf515bed031d7cbd1bea3ea7", - "scope": "scripts/run-playwright.mjs", - "outcome": "FIXED - isolated child tsconfig given explicit include/exclude, empirically reproduced and verified", - "checks": "typecheck,verify:ui-focused-repro" + "date": "2026-08-15", + "ref": "claude/issues-reconcile-2026-08-15", + "head": "2c0ca2c5c65065b2d39ab5465fce50c50eec5bb2", + "scope": "review-and-fix", + "outcome": "Found P2 stale #265 measurements in the reconciliation; queued an immutable correction with current 40/16 tap-floor and 19/10 edge-conflict counts; merged latest main", + "checks": "design-system contract; outstanding-issues and ledger-write-discipline guards; branch-review ledger; format; docs links" }, { - "date": "2026-08-14", - "ref": "claude/rag-zod-hardening-tranche1", - "head": "0fded0878b6f8e35ef50b8c97a63af6e78e1f716", - "scope": "rag.ts retrieval RPC row Zod shape contract (ledger #212 tranche 1)", - "outcome": "Approved — 4 unchecked as SearchResult[] casts on retrieval RPC rows replaced with assertRetrievalRows; no ranking/ordering/scoring logic touched", - "checks": "verify:pr-local (all steps green except pre-existing check:medication-lexicon-report staleness on main); test 602 files/6517 passed; typecheck exit 0; eval:rag:offline 36 golden cases 23 suites, 579 passed" + "date": "2026-07-29", + "ref": "cursor/recent-pr-bugfixes-f30d", + "head": "2c424d9980acab6a2b982d52920c946de21b18d0", + "scope": "pr-1374-merge-main-staleness", + "outcome": "merged origin/main; merge-tree clean; GitHub DIRTY was staleness", + "checks": "merge-tree-clean; push" }, { - "date": "2026-08-14", - "ref": "claude/rag-zod-hardening-tranche1", - "head": "1fb98a174e815ce2d7e105d9339d766d3f54b02b", - "scope": "PR #1946 review-and-fix", - "outcome": "fixed PR-introduced maintainability blocker; strengthened retrieval provenance and visual shape validation; merged latest main", - "checks": "offline: git diff --check; Prettier changed files; check:maintainability-budgets; branch-review-ledger; ledger-write-discipline; docs:check-links; CI pending" + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "2c6d9c96 merge of origin/main 5475fcfb", + "scope": "Main sync after GitHub CONFLICTING", + "outcome": "SIMPLE. `git merge-tree --write-tree` clean before merge; GitHub DIRTY was staleness behind #1227/#1245/#1200. Ledger union auto-merge. Calculator path rename `calculator-mockups`→`calculators` detected; IMP-04 dead-export prune content carried onto new paths (`calculatorById`/`useCalculatorState` still absent). No conflicting intents; no conflict markers.", + "checks": "merge-tree clean; merge ort; `check:branch-review-ledger`; `tsc --noEmit` clean; no stale calculator-mockups imports. No provider calls." }, { - "date": "2026-08-14", - "ref": "codex/account-setup-polish-20260814", - "head": "3606707b65a82f5ace23f8a162f9b229f83b7019", - "scope": "account setup responsive auth privacy UI", - "outcome": "No reproducible P0-P3 findings; local dev-server stale chunk was cleared by repository-safe restart and did not reproduce", - "checks": "live desktop and 390px phone review; axe WCAG A/AA 0 violations; focused DOM 17 passed; focused Chromium desktop and phone passed; typecheck, formatting, production-readiness passed; verify:pr-local timed out after 15 minutes without decisive output" + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "2cb98b40e2fd36650e293b27a97996c069971db3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main by 35. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-08-14", - "ref": "codex/calculators-mode", - "head": "563ce4195512b9e623df6ba98762f4a3dc1b9e8e", - "scope": "calculators first-class mode", - "outcome": "P1: calculator composer invokes universal-search API despite local-only boundary", - "checks": "source diff review; local verification evidence inspected; verify:pr-local dry-run; provider checks not run" + "date": "2026-08-09", + "ref": "claude/document-viewer-phase-3-bj5k5v", + "head": "2cd72f111414935d4028a19932992c4ab475dcea", + "scope": "document viewer Phase 3 review-and-fix", + "outcome": "PR #1772 deep review+fix: merged origin/main (renumber OffscreenCanvas #290->#294, drop dup #291=#284); fixed key-repeat pageRef, maxObservedCanvasPixels budget, rail remount-via-key, reserved-slot shadow-inset for DS ratchet; dispositioned Bugbot/Codex/Copilot canvas+rotation as already fixed at 8397aeb; #252 tip-only wording; #294 aggregate budgets; CodeRabbit ledger nit deferred to this superseding row", + "checks": "verify:cheap: Test Files 545 passed (545), Tests 5856 passed | 4 skipped (5860); verify:pr-local completed check:runtime check:installed-lock-parity format:changed sitemap:check docs:check-index docs:check-inventory docs:check-scripts docs:check-links check:branch-review-ledger check:outstanding-issues lint typecheck test build eval:rag:offline failed:(none); focused vitest 47 passed (keyboard+rail+budget+virtualization); design-system-contract legacy shadow aliases 220; merge-tree vs origin/main exit 0; Production UI delegated (pdfjs Map.getOrInsertComputed needs Chromium 151)" }, { - "date": "2026-08-14", - "ref": "codex/calculators-mode", - "head": "8e7c9d65463ab37bc6e6cd658ec8091b4260db18", - "scope": "calculators first-class mode", - "outcome": "Clean after resolving local-only typeahead and legacy URL normalization", - "checks": "20/20 focused unit/DOM; typecheck; lint; prior verify:ui 433/433; targeted browser request-interception queued then not run due coordinator contention" + "date": "2026-07-31", + "ref": "codex/fix-header-behavior-on-medium-screens (PR #1435)", + "head": "2cea044352dd67e2fde9784178272f423db1c8dc", + "scope": "PR #1435 tablet search header readiness", + "outcome": "READY closed; mergeable vs main; Bugbot none; fixed tablet page-slot assert + stale sticky comments; no P0/P1", + "checks": "vitest header contracts 61/61; playwright ui-chrome-scroll 17/17; composer ownership 15/15; verify:cheap 2 env-only codex-cloud origin insteadOf fails; prior head CI green" }, { - "date": "2026-08-14", - "ref": "codex/improve-guide-layout-and-fix-bugs", - "head": "c577a4b47c22ee6734e18af0da41d757d374aaca", - "scope": "PR #1948 review-and-fix", - "outcome": "fixed confirmed mobile footer keyboard-accessibility and hidden padding defects; merged latest main", - "checks": "offline: Prettier changed files; git diff --check; check:maintainability-budgets; check:base-freshness; targeted Vitest unavailable (isolated worktree has no node_modules); browser smoke covered in CI" + "date": "2026-07-27", + "ref": "`codex/fix-phone-bottom-edge-20260727`", + "head": "2cfd726843e034620091c9bb400640cce0fa40d3", + "scope": "Superseding review of the physical-iOS phone bottom-edge regression", + "outcome": "APPROVE pending broad local gates and physical staging acceptance. PR #1266 restored a phone `100dvh` shell and moved the primary regression away from Services, so Chromium parent geometry stayed green while Safari and a freshly relaunched standalone PWA clipped live result content above the physical edge. Both application owners now share a phone-only fixed `inset: 0` shell without a viewport-unit height clamp. The repaired Services journey requires the real result list to own the final pixel and preserves its pre-resize anchor through viewport shrink and expansion. No P0-P3 code or test finding remains.", + "checks": "TDD RED on the base shell (`relative` instead of `fixed`); exact Services Chromium GREEN (1/1); focused shell contracts GREEN (19/19); full Vitest GREEN (393 files, 3520 passed / 2 skipped); independent spec and quality reviews PASS; physical Safari/Home Screen staging proof and broad local gates pending; no provider-backed checks yet." }, { - "date": "2026-08-14", - "ref": "codex/medication-info-header-20260814", - "head": "4525fe42f74b7f16bb762d953d82e1ce7540bb76", - "scope": "medication information header expansion and desktop polish", - "outcome": "No P0-P2 findings; ready for PR handoff", - "checks": "DOM 38/38 and focused Chromium 1/1 passed; PR-local runtime, lock parity, formatting, and lint passed; remaining aggregate stages blocked by shared test-run contention" + "date": "2026-08-16", + "ref": "codex/chat-browser-evidence-235-238-browser-evidence-235-238", + "head": "2d0126d6dd3b3727e8a99549a5e0d3678039960c", + "scope": "PR #2006 AccessibleTable low-confidence 320px mockup journey", + "outcome": "No high-confidence PR-introduced defects found; branch required a non-overlapping latest-main merge", + "checks": "Distinct manual adversarial source-contract pass and deterministic normalizer proof passed; exact-head PR required, static, build, unit coverage, Production UI, Advisory UI, SAST, and Secret Scan passed" }, { - "date": "2026-08-14", - "ref": "codex/medication-info-header-20260814", - "head": "76a67c8cbd3e94f9a292dafeca7d17738ddee53b", - "scope": "medication information header expansion and desktop polish", - "outcome": "Supersedes the pre-rebase review record; no P0-P2 findings and ready for PR handoff", - "checks": "DOM 38/38 and focused Chromium 1/1 passed; PR-local runtime, lock parity, formatting, and lint passed; remaining aggregate stages blocked by shared test-run contention" + "date": "2026-07-28", + "ref": "PR-1295", + "head": "2d474c973828736bc199c59136018220debb9907", + "scope": "PR #1295 final remediation vs current origin/main", + "outcome": "APPROVE after exact-head CI; redundant workflows and stale audit artifacts removed, tablet action cards aligned", + "checks": "Clean merge-tree; ledger guard PASS; diff check PASS; verify:pr-local dry-run selected runtime, lock parity, format, lint, typecheck, full test, build, and RAG fixture checks; local execution unavailable because node_modules is absent" }, { - "date": "2026-08-14", - "ref": "codex/search-round-trip-budget", - "head": "fa37b9473a6835a6364dae45d791d7f193152bbb", - "scope": "tests/search-route-round-trip-budget.test.ts (PR #1950, ledger #098 residual + #189)", - "outcome": "Author handoff: offline test-only diff adding a pinned Supabase round-trip budget for POST /api/search, no production/RAG code changed", - "checks": "verify:pr-local full run (lint/typecheck clean; test 602 files, 6511 passed, 4 skipped; check:rag:fixtures + check:medication-interactions passed; check:medication-lexicon-report pre-existing unrelated staleness)" + "date": "2026-08-02", + "ref": "codex/cloud-python-self-diagnosis", + "head": "2de7b7abbdea9a1286b198e14eecb021fff32693", + "scope": "Cloud Python lock and self-diagnostics", + "outcome": "PASS: no actionable findings", + "checks": "verify:pr-local PASS; focused Vitest 21/21; Python 3.11 and 3.12 lock reproduction PASS" }, { - "date": "2026-08-14", - "ref": "codex/therapy-global-convergence-20260814", - "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", - "scope": "Therapy global mode convergence: navigation, shared shell, search, favourites, sources, print", - "outcome": "P2 findings: four focused contract failures, missing Therapy tabpanel ownership, stale information-page adoption registry; implementation review otherwise safe and scoped", - "checks": "format:changed PASS; therapy-data-index PASS 205; design-system-contract PASS; focused Vitest 201 PASS/4 FAIL; typecheck BLOCKED by coordinator; phone/full UI UNRUN" + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "2df3181859345339d777ac814908b3095cea36fd", + "scope": "ModeHomeMain contentAlign fix for differentials mobile clipping", + "outcome": "No high-confidence P0–P2. Fix correctly introduces exclusive `contentAlign` (`center` | `start` | `startOnPhone`), migrates therapy/formulation/specifiers off broken className justify overrides, top-aligns differentials results via `autoRunSearch`, and guards with static + Playwright fold assertions. Residual: DSM/forms/services still default-center; justify-strip leaves variant prefixes; Playwright `0.55*vh` upper bound may flake if header band grows; Chip compact overrides still dual-utility via `cn()`.", + "checks": "Static diff vs `origin/main`; inventory of all `ModeHomeMain` call sites; justify-strip regex probe; `npx vitest run tests/mode-home-main-align.test.ts` 4/4. Not run: Playwright/`verify:ui` (browser), `verify:cheap`/`verify:pr-local`, provider-backed checks." }, { - "date": "2026-08-14", - "ref": "codex/therapy-global-convergence-20260814", - "head": "0011a058fd1d68e7fb98f3411d505b71bee104cf", - "scope": "Therapy global mode convergence: navigation, shared shell, search, favourites, sources, print (supersedes 2026-08-14)", - "outcome": "All three P2 findings resolved; no remaining Therapy-scoped review findings. Additional favourites-map, cross-mode search, shared-switch target, and stale-contract regressions corrected. Broad gate remains partial only for Docker-gated drift manifest and unchanged baseline checks.", - "checks": "typecheck PASS; focused Vitest 221 PASS plus repair contracts 68 PASS; phone contracts 129 PASS; focused phone 13 PASS; full UI 423 PASS/4 repaired then focused PASS; Therapy accessibility PASS; lint/docs/ledger PASS; RAG fixtures PASS; medication index PASS; drift manifest BLOCKED Docker unavailable; unchanged session hook and lexicon baseline failures remain" + "date": "2026-07-30", + "ref": "claude/ci-testing-review-2l8klp", + "head": "2e2160bc8b9d2d824209c217c67cb9cac1be3a8d", + "scope": "open PR changed-scope review", + "outcome": "APPROVE: three-way UI sharding, critical-first gating, measured drag travel, and gate-manifest updates preserve required-check aggregation and deterministic Playwright settings.", + "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; ledger guards PASS; exact-head sharded Production UI required" }, { - "date": "2026-08-14", - "ref": "codex/visual-layout-polish", - "head": "63195ba3f145a08691151ed4e86c69f5d05db486", - "scope": "PR #1949 review-and-fix", - "outcome": "reviewed PWA decoding hint and desktop CLS attribution; no PR-introduced defect found; merged latest main", - "checks": "offline: git diff --check; check-outstanding-issues; ledger-inbox check; ledger-write-discipline; Prettier changed files; targeted Vitest unavailable (isolated worktree has no node_modules); independent manual adversarial pass" + "date": "2026-07-28", + "ref": "codex/consolidate-navigation-overlays", + "head": "2e30b2bb39a99a48fc95fd76374520ce592f5854", + "scope": "dirty-work consolidation review", + "outcome": "APPROVE. Retained only current-main-compatible responsive sheet max-height precedence. Rejected stale sidebar/routes, calculator removals, broken overlay imports, and focus/inert regressions.", + "checks": "git diff --check; focused sheet DOM Vitest 6/6; verify:cheap PASS (412 files, 4199 passed, 3 skipped); no provider checks." }, { - "date": "2026-08-14", - "ref": "codex/visual-layout-polish", - "head": "7490ac090fc1577c72bbf5db943126b1ceb47770", - "scope": "PR #1949 CLS ledger corrective review and base-current verification", - "outcome": "fixed the confirmed issue-update overwrite of canonical CLS measurement and stop conditions; no other high-confidence PR defect found", - "checks": "offline: JSON parse; ledger update semantic assertion; check-outstanding-issues; ledger-write-discipline self-test; git diff --check; manual adversarial pass" + "date": "2026-08-18", + "ref": "gemini/catalogue-toolbars-proofs (PR #2073)", + "head": "2e537de9b5bc606a5abeeeb913cb99e515410fbd", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), all check runs green or in-flight with no failures. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit. Review threads not yet re-swept post-sync.", + "checks": "No local gates run; no provider-backed checks run." }, { - "date": "2026-08-14", - "ref": "codex/windows-tooling-followups-pr", - "head": "36ebe9feeb06d2da551b14cbf79930ba15f81b41", - "scope": "PR #1917 no-merge-base guard review", - "outcome": "pass", - "checks": "manual adversarial review; exact two-file diff reviewed; advanced-main scope PASS; fallback regression PASS; syntax PASS; POSIX fixture scoped explicitly; no canonical ledger edit" + "date": "2026-07-28", + "ref": "PR #1307 / `claude/rag-019-fallback-guard`", + "head": "2e5edfc6c9fcc0bb75674b179607888bbf872b91", + "scope": "PR policy body synced + template removed", + "outcome": "Sync PR policy body SUCCESS applied Clinical Governance Preflight (7/7). Deleted temporary `PR_POLICY_BODY.md`. Awaiting Build/PR policy/PR required on this tip.", + "checks": "Hosted Sync SUCCESS; no provider checks." }, { - "date": "2026-08-14", - "ref": "codex/windows-tooling-followups-pr", - "head": "36ebe9feeb06d2da551b14cbf79930ba15f81b41", - "scope": "PR #1917 no-merge-base guard review (supersedes 2026-08-14)", - "outcome": "pass", - "checks": "manual adversarial review; exact regression PASS; syntax PASS; hosted Prettier 3.9.6 identified one test-only format defect; canonical formatting applied; no canonical ledger edit" + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "2e5ee9f891d9f251adffb6a15bc2ab13e0f18b23", + "scope": "CI babysit + Bugbot", + "outcome": "Blocking PR policy fixed via temporary `PR_POLICY_BODY.md` sync (Clinical Governance Preflight all checked, Risk/Verification completed), then template removed. Merge with main clean. Bugbot: zero `cursor[bot]` findings; offline scan of unique claim-cap fail-closed diff found no high-confidence defect. No review threads. Residual: human approving review once exact-head required checks finish.", + "checks": "Local: `npx vitest run tests/rag-claim-support.test.ts` 40/40; `evaluatePullRequestPolicy` ok. Hosted prior tip `19495e7c`: PR policy + Sync SUCCESS. No OpenAI/live Supabase." }, { - "date": "2026-08-14", - "ref": "PR #1931 / claude/issues-reconcile", - "head": "b67476ff5ea9bb0b8a82c8d34fdd83356af683c7", - "scope": "fresh Tier 1 reconciliation review and required latest-base sync", - "outcome": "no PR-introduced P0-P2 defect; three CodeRabbit clarity findings dispositioned; sole thread resolved; latest main merged because strict required checks require a current base", - "checks": "connector audit PASS: 19 unique records, 3 cancellations, 13 effective mutations (4 add, 6 update, 3 done); changed-path three-way merge clean; local repository gates unavailable because checkout DNS was blocked" + "date": "2026-08-18", + "ref": "claude/settings-development-section (PR #2141)", + "head": "2e7325681c2fdb0909baba6709ca64bfe5f61692", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No unresolved review threads (0 threads; only bot noise: Codex/CodeRabbit usage-limit notices, Supabase branching skip). Required CI (pr-required: changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify) has never run on this head because mergeable_state is dirty and GitHub cannot build the merge ref (only pull_request_target PR-mergeability/PR-policy/GitGuardian ran). git merge-tree origin/main shows real content conflicts in src/components/clinical-dashboard/settings-dialog.tsx and tests/settings-dialog-actions.dom.test.tsx: this PR's first commit (34af56a6, feat(settings): add a gated Development section...) duplicates already-merged main commit bf85de98 (PR #2109, same title/feature, landed 2026-08-18 20:36 UTC, ~20 min after this PR opened) with only a cosmetic shadow-token diff. This is a semantically ambiguous product-history conflict (near-duplicate commit vs a since-merged PR), not a mechanical one (no lockfile/generated/adjacent-hunk fix applies) — per run-pr guardrails, skipped drift resolution rather than merge --abort/wholesale ours-theirs. No commits pushed, no branch state changed. Left for human: decide whether to drop/rebase the duplicate first commit (keeping only the second commit 2e732568 adding src/app/mockups/development/page.tsx) or close #2141 as superseded by #2109 — related to PR #2135 (Development mockup page) handled in parallel by another agent.", + "checks": "git merge-tree --write-tree origin/main origin/claude/settings-development-section (conflict detected, non-mutating); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; npm run ledger:lookup (NOT REVIEWED at this head, confirmed pre-action). No provider-backed gates run. No local build/lint/test run — no code fix was attempted since the blocking issue is an unresolved product-history conflict, not a reproducible CI failure." }, { - "date": "2026-08-14", - "ref": "PR #1965", - "head": "a535862933966cede9c0f7f11734167a93b67c62", - "scope": "Playwright browser-revision preflight", - "outcome": "fixed", - "checks": "Prettier; 12 focused browser-check tests passed; test-runner safety covered by exact-head CI; full local suite blocked by incomplete cached dependencies; merged main" + "date": "2026-07-31", + "ref": "PR-1510", + "head": "2e8821c77fcadaa283d8a0033b1a6af815458d79", + "scope": "PR #1510 CodeRabbit + evidence reopen-ready", + "outcome": "FIXED: CodeRabbit computed-value-time wording, unique #033 queue order, deduped #098 Done block; prior false canary attribution already corrected", + "checks": "check:outstanding-issues PASS; format:changed PASS; contains origin/main" }, { - "date": "2026-08-14", - "ref": "PR #1965 (claude/playwright-browser-revision-check)", - "head": "24e8fd040949564e2c07fccfe6d243e386815b6e", - "scope": "scripts/check-playwright-browser-revision.mjs, tests/check-playwright-browser-revision.test.ts — ledger #312 fix", - "outcome": "authored — verified real Chromium binary presence check on disk; reproduced original false-OK bug live against this session's /opt/pw-browsers container (chromium-1194 present, pinned revision 1234 missing)", - "checks": "verify:pr-local (runtime, lock-parity, format, lint, typecheck, test 602 files/6518 passed/4 skipped, rag:fixtures, medication-interactions PASS; medication-lexicon-report pre-existing unrelated FAIL); focused vitest check-playwright-browser-revision.test.ts 10/10, playwright-browser-preflight.test.ts 12/12" + "date": "2026-07-14", + "ref": "claude/process-hardening-consolidation", + "head": "2ecd302920b94a75d6031b54f61a4d058ad44a25", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-08-14", - "ref": "PR #1966", - "head": "5f5d4d141d07753b5c3882e65c0dea5de0a68804", - "scope": "completed-PR ledger queue", - "outcome": "fixed", - "checks": "Prettier JSON; ledger inbox check; outstanding-issues guard; ledger write discipline; independent Codex adversarial review: #098 false completion removed; stale #210/#215 corrections superseded" + "date": "2026-07-14", + "ref": "origin/claude/process-hardening-consolidation", + "head": "2ecd302920b94a75d6031b54f61a4d058ad44a25", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-08-14", - "ref": "PR-1951", - "head": "4c55ec05875dcf063555e71021adb9d1f1a42f5c", - "scope": "PR #1951 full review and unblock", - "outcome": "fixed", - "checks": "workflow permission-map parser; GitHub Issue API owner/repo assertions; node scripts/check-docs-links.mjs; node scripts/ledger-inbox.mjs check; node scripts/check-ledger-write-discipline.mjs --self-test; Vitest unavailable: node_modules absent" + "date": "2026-08-04", + "ref": "pull/1600", + "head": "2eddf7df0de19dc1f6010119d97f5848c8bf7706", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed and merged", + "checks": "PASS: focused Cloud setup suite 21/21; hosted build, coverage, static, production-readiness-safe, container, scans and PR required. No provider login." }, { - "date": "2026-08-14", - "ref": "PR-1951", - "head": "6ed1fb871c7e16e89ed111a9576d502d90a765b1", - "scope": "PR #1951 final base sync after formatting fix", - "outcome": "Merged the current main including the #1959 ledger reconciliation after the targeted Prettier repair; merge tree is clean and the run-scoped workflow regression suite remains green.", - "checks": "All matched files use Prettier code style; Test Files 1 passed; Tests 15 passed; docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 22 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 98 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." + "date": "2026-07-30", + "ref": "archive/branch-worktree-cleanup-20260731/detached-guard-format-ifjyhe-2f26a53b5aeb", + "head": "2f26a53b5aeb3df451cf7b1d04f80b07edf0d6fe", + "scope": "branch-cleanup", + "outcome": "inactive detached formatter worktree; exact tip preserved; safe ephemeral checkout cleanup", + "checks": "clean status; no Git operation or process owner; head contained in merged PR #1458; batch7 bundle verified" }, { - "date": "2026-08-14", - "ref": "PR-1951", - "head": "7d70c74cc5449d577df3895aa766ad31f3204045", - "scope": "tests/live-drift-workflow.test.ts; docs/outstanding-issues-inbox; docs/branch-review-records", - "outcome": "preserved prior test fixes; merged latest main; cancelled superseded #331/#333 ledger mutations to restore deterministic queue application", - "checks": "manual adversarial review; current thread verification; docs links passed; ledger inbox passed; ledger guards passed; git merge-tree; git diff --check; focused Vitest unavailable (node_modules absent)" + "date": "2026-07-30", + "ref": "claude/organize-local-worktree-d22bc3", + "head": "2f26a53b5aeb3df451cf7b1d04f80b07edf0d6fe", + "scope": "docs organisation: dated-record filing, docs index gaps, orientation maps", + "outcome": "PR #1436 opened — 5 dated docs filed into docs/audit and docs/archive, root codex-cloud-review moved under docs/prompts, 17 docs README index gaps closed, root data/ documented in CLAUDE.md + codebase-index; no product code, schema or RAG surface touched", + "checks": "docs:check-links 1368 refs pass; docs:check-scripts 378 pass; docs:check-index OK; format:check whole-tree clean; verify:cheap 26 static gates + lint + typecheck pass, unit 4562 pass / 1 pre-existing Windows path-separator failure in tests/repo-hygiene.test.ts" }, { - "date": "2026-08-14", - "ref": "PR-1951", - "head": "809c50bf4ca8ede8c2c0ec49df9371cd4d56c517", - "scope": "PR #1951 CI format repair", - "outcome": "fixed the exact-head Changed-file format check failure in live-drift workflow coverage", - "checks": "Prettier 3.9.6; All matched files use Prettier code style!; Tests 15 passed (15); git diff --check passed; docs link check passed: 1775 repo path references resolve.; Ledger inbox check passed: 22 pending request(s), 138 applied.; ledger write discipline self-test passed.; Branch review ledger guard passed: 880 live table records + 1206 archived + 91 immutable" + "date": "2026-07-24", + "ref": "cursor/repo-auditor-ledger-4132 (PR #1147)", + "head": "2f47746ad7e13e8cb848da71fb2647644388da8f", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-08-14", - "ref": "PR-1953", - "head": "5f6ecbd554f91a692965f7f876807d4e9e9c2c26", - "scope": "PR #1953 full review and required base sync", - "outcome": "no PR-introduced P0-P2 defect; existing P2 verified-correct; merged latest main", - "checks": "manual adversarial review; current thread verification; git merge-tree; git diff --check; base-sync native ledger/docs checks; focused Playwright/Next build not run (node_modules absent)" + "date": "2026-07-29", + "ref": "cursor/recent-pr-bugfixes-f30d", + "head": "2f48884e1a65e8747164cc4fc8107b4b521f0941", + "scope": "pr-1374-ci-fix", + "outcome": "FIXED: account-switch signed-URL cache clear before setSession; merged main; resolved Codex P1 + CodeRabbit privacy/ui-smoke threads. CI was green pre-push.", + "checks": "vitest auth-signed-url+privacy 22/8; merge-tree clean; eslint touched files" }, { - "date": "2026-08-14", - "ref": "PR-1953", - "head": "98b7458ba7ef4cecc5b5f5747deccf6adbab0480", - "scope": "scripts/run-playwright.mjs; docs/branch-review-records", - "outcome": "no PR-introduced P0-P2 defect; corrected prior local-only merge record and merged latest main", - "checks": "manual adversarial review; current thread verification; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; focused Playwright/Next build unavailable (node_modules absent)" + "date": "2026-07-13", + "ref": "origin/copilot/fix-please-work", + "head": "2f55346e72555500d17a08be02e6b649daa1a7cc", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-please-work; git diff --name-only reported 5 path(s)." }, { - "date": "2026-08-14", - "ref": "PR-1955", - "head": "6cdf22cb0ce058c827c489b512b47d5e6084da4e", - "scope": "PR #1955 CI repair and current-base sync (supersedes prior non-decisive review records)", - "outcome": "fixed the CI-blocking legacy 44px brand-tile classes with the shared tap token; merged current main", - "checks": "account setup tap-token source contract passed; git diff --check passed; docs link check passed: 1776 repo path references resolve.; Ledger inbox check passed: 12 pending request(s), 138 applied.; ledger write discipline self-test passed.; Branch review ledger guard passed: 880 live table records + 1206 archived + 87 immutable; npm run format unavailable: prettier: not found (exit 127); check:design-system-contract unavailable locally: node_modules is absent; exact CI required" + "date": "2026-07-14", + "ref": "copilot/fix-please-work", + "head": "2f55346e72555500d17a08be02e6b649daa1a7cc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-14", - "ref": "PR-1955", - "head": "6daa3a56f5d5e20ca9f8b8fe35c33a2cc708ef60", - "scope": "src/components/clinical-dashboard/account-setup-dialog.tsx; docs/branch-review-records", - "outcome": "fixed design-system contract violations and merged latest main", - "checks": "manual adversarial review; source-token contract assertion; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; check-design-system-contract unavailable (node_modules absent)" + "date": "2026-08-12", + "ref": "claude/filter-popup-design-mockups-x6sbjv", + "head": "2f69b2346eced0a5dfc120b22ba9391e27367bb3", + "scope": "filter sheet restyle: 3 styles on formulation + scope segment", + "outcome": "PR #1846 opened; design-scratch only; documents 3 source-verifiable defects (0-match domains, unused formulationDomainGroups, preset slice)", + "checks": "verify:pr-local fully green (no failures), clean build, bundle-budget both baselines within tolerance, 320px 0px overflow measured and fixed" }, { - "date": "2026-08-14", - "ref": "PR-1955", - "head": "752d1af54f0cbfdef70390af913693671fbf95b7", - "scope": "PR #1955 full review, design-system fix, and required base sync", - "outcome": "fixed CI-blocking design-system contract regressions; merged latest main", - "checks": "git diff --check; native design-system remediation assertion; node scripts/check-docs-links.mjs; node scripts/ledger-inbox.mjs check; node scripts/check-ledger-write-discipline.mjs --self-test; full design-system/Vitest/UI checks unavailable (node_modules absent)" + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138 babysit close)", + "head": "2f8509cc", + "scope": "Babysit to merge-ready", + "outcome": "Merged main; fixed Bugbot deferred-clear findings; fixed Sheet focus-restore teardown flake that failed Unit coverage; no unresolved review threads. Hosted PR required green.", + "checks": "Hosted CI: Static PR, Unit coverage, Build, Production UI, Advisory UI, PR required PASS. No provider calls." }, { - "date": "2026-08-14", - "ref": "PR-1956", - "head": "40be0b6fd37beb39f2cd10599d5455a4ed74ceef", - "scope": "ledger reconciliation review, current-main merge, and duplicate-follow-up queueing", - "outcome": "FIXED: merged current main cleanly; preserved canonical-ledger discipline; queued the two confirmed duplicate consolidations with immutable cancellation records for later serial reconciliation.", - "checks": "offline: ledger write-discipline; outstanding-issues; branch-review-ledger; docs links; skills; pr-policy; ci-scope; merge-loss self-test; manual adversarial review" + "date": "2026-08-07", + "ref": "claude/sidebar-closed-default-i6n2fk (PR #1637)", + "head": "2f881abf8524742984ece90cb631f78658c87a19", + "scope": "prlanded", + "outcome": "MERGED: desktop sidebar defaults collapsed; tip empty vs squash; remote branch deleted", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-08-14", - "ref": "PR-1958", - "head": "02c8d4601131b40291033eabaf4b3d2e132c248e", - "scope": "PR #1958 current-base sync", - "outcome": "Merged the latest base, preserving the existing Tools-directory behavior and resolving shared account-setup test updates with the combined clean merge tree.", - "checks": "docs link check passed: 1776 repo path references resolve; Ledger inbox check passed: 12 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 94 immutable; 17 non-jsdom targeted tests passed; jsdom targets unavailable because cached Vitest dependencies lack @testing-library/react and @testing-library/jest-dom; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." + "date": "2026-08-05", + "ref": "codex/v2-design-system-completion", + "head": "2f9471efaf6596dbb10876f9dc2b865062cdda98", + "scope": "V2 design-system completion exact-head review", + "outcome": "Approved locally; hosted Linux baselines and remote publication remain approval-gated", + "checks": "typecheck pass; lint pass; adoption tests 49 pass; table tests 8 pass; verify:pr-local pass; verify:phone-chrome 116+182+7+349 pass; adoption check expected 14 declaration mismatches" }, { - "date": "2026-08-14", - "ref": "PR-1958", - "head": "d5acb3e677556420df94a0adf8fbeba06ce5dc73", - "scope": "Tools mode navigation; shared-home route contract; docs/branch-review-records", - "outcome": "fixed Tools preference persistence and stale CI source-contract assertion; merged latest main", - "checks": "manual adversarial review; targeted source contracts; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; focused Vitest unavailable (node_modules absent)" + "date": "2026-07-31", + "ref": "PR-1518", + "head": "2fb0996e0208d3da04f941fdc1c1b4ab14d440d6", + "scope": "PR #1518 archive validated issue 146 and add duplicated-list finding", + "outcome": "APPROVE after current-main conflict repair; stale unvalidated claim corrected and unique issue 159 preserved", + "checks": "check:outstanding-issues PASS 157 rows 44 open 113 archived next-id 160; check:branch-review-ledger PASS; installed-lock parity PASS; diff check PASS" }, { - "date": "2026-08-14", - "ref": "PR-1958", - "head": "d74f208924b9b5ed3a5314b29018a727f1e84b69", - "scope": "PR #1958 final current-base sync", - "outcome": "Merged the current main after the Tools-directory review; preserved the combined shared-test resolution and left a clean merge tree.", - "checks": "docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 102 immutable; prior exact-head CI was green; current exact-head CI is pending; dependency-backed local UI checks unavailable in isolated worktree." + "date": "2026-07-30", + "ref": "archive/branch-worktree-cleanup-20260731/detached-guard-format-t52pqy-2fe571a1ad14", + "head": "2fe571a1ad14b63f15404d6ab51a50efb88e0bd1", + "scope": "branch-cleanup", + "outcome": "inactive detached formatter snapshot; active PR branch preserved; safe ephemeral checkout cleanup", + "checks": "clean status; no Git operation or process owner; associated PR #1451 branch retained; batch7 bundle verified" }, { - "date": "2026-08-14", - "ref": "PR-1959", - "head": "428fa8772198817e17ef6330c63f7f5e47e090b0", - "scope": "PR #1959 base-preserving reconciliation review", - "outcome": "Required base sync resolved the sole ledger conflict with main: all four inbox requests were already applied upstream; preserved main’s newer #231 evidence and retained the existing immutable historical record.", - "checks": "docs link check passed: 1776 repo path references resolve; Ledger inbox check passed: 12 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 92 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." + "date": "2026-08-12", + "ref": "codex/implement-verification-policy-changes-for-multiple-tasks", + "head": "2fed97c601948b959120ff73e88be54af1dc84ba", + "scope": "pr-review", + "outcome": "clean", + "checks": "check:pr-policy, verify:pr-local --dry-run" }, { - "date": "2026-08-14", - "ref": "PR-1961", - "head": "ed6ad9a0f81b079568534db78283fec93b956c67", - "scope": "PR #1961 base-preserving reconciliation sync", - "outcome": "Required base sync retained the current canonical ledger: all 35 reconciliation records and the #310 correction were already present upstream; preserved only the branch’s new pending Prettier-version-trap request.", - "checks": "docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 99 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "30596680a1c0026ea83c8fab0da2cd303106e1af", + "scope": "Merge conflict + CodeRabbit/Codex + Bugbot closeout", + "outcome": "FIXED. Merged origin/main (was CONFLICTING). Removed undersized `.content-visibility-auto` (80px) in favor of shared `.content-auto` (auto 320px); dropped persistent broad `will-change: transform` so fixed composer ancestors stay viewport-anchored (main's `data-reserve-transitioning` padding-bottom scope retained); kept semantic z-* utilities + AccessibleTable `@container`/`flex flex-col`. Updated mode-menu source-contract test for `z-modal`. Resolved CodeRabbit + Codex threads. Local Bugbot: no P0/P1; skipped raising mockup/popover z above token scale (would undo audit).", + "checks": "`npm run test` 4114 passed; prior verify:cheap gates green before test pin fix; no provider-backed checks." }, { - "date": "2026-08-14", - "ref": "PR-1962", - "head": "c646bcff8d8f5e6fe6bbdd410c5d87471d77ad36", - "scope": "PR #1962 registry-ready Gate 2 audit fix", - "outcome": "Fixed the Gate 2 audit to wait for the Forms tasks region so carrier enumeration cannot stabilise on the loading shell; merged latest main cleanly.", - "checks": "All matched files use Prettier code style; source contract confirms FormsHomePage labels the ready-only region Forms tasks; docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 100 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." + "date": "2026-07-30", + "ref": "codex/review-pr1455", + "head": "308eed587e643876e0a121dc3dd1a9f22d5f07a8", + "scope": "branch-cleanup", + "outcome": "useful review result now present on current main; safe local cleanup", + "checks": "merged PR #1507 resolves the container browser issue under #121; obsolete #145 identity was reused and current main is authoritative; clean inactive worktree; batch11 bundle verified" + }, + { + "date": "2026-08-02", + "ref": "codex/mcp-config-hardening-merge", + "head": "30aac79e655225f41006d5739fc4e91ef7791514", + "scope": "MCP Cloud config hardening", + "outcome": "Supersedes prior review; synced main and retained parser hardening with Windows Cloud test coverage", + "checks": "check:codex-cloud; Cloud/Python tests 22 passed" }, { - "date": "2026-08-14", - "ref": "PR-1964", - "head": "1dfc0c9b984152f6518060712ab050311f3f77c9", - "scope": "vitest.config.mts, docs/maturity-backlog-workorders.md (ledger #192 / maturity X6 coverage floors)", - "outcome": "APPROVED — coverage-threshold re-ratchet, no RAG/clinical behaviour change; verify:pr-local green except pre-existing unrelated check:medication-lexicon-report staleness", - "checks": "test:coverage,verify:pr-local" + "date": "2026-07-31", + "ref": "claude/ledger-relanding", + "head": "30ec06964e4235d9f0b4bb782f357e6b4fb59430", + "scope": "re-land the three session findings lost when PR #1490 was closed", + "outcome": "MERGED as PR #1508 (squash 7b551abc4). Ledger-only: #151 corrects the claim that CI is unreadable (PAT has Actions:read though not Checks:read), #152 re-lands the at-risk worktree inventory with the four preservation snapshots, #153 archives the hook fix. Verified landed by content on main, not by PR state or row id", + "checks": "CI, PR Policy, PR mergeability, SAST, Secret Scan all completed/success via the Actions API; check:outstanding-issues 151 rows 45 open unique ids next-id=154; docs:check-links 1414 refs; prettier clean" }, { - "date": "2026-08-14", - "ref": "work", - "head": "3d5cd7cb8b0d22fc95d3e04a495cfae8533bda17", - "scope": "document search image availability and loading", - "outcome": "Found and fixed cover audit skipping existing rows; live apply blocked by missing Supabase credentials", - "checks": "node --check; focused Vitest; format; live apply attempted (environment blocked)" + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "310d0fbc4f08ca88cb097f3e480896e75d0007bf", + "scope": "PR #1377 latency findings — search_schema_health registration is a migration", + "outcome": "Codex P2 confirmed and fixed: apply step 5 and rollback phase A described the required_indexes change as a schema.sql edit, but schema.sql is a mirror and search_schema_health() is redefined by create or replace function in 11 migrations (precedent 20260705180000_reconcile_search_health_indexes.sql:62). As written the hosted function never moved, leaving the new indexes unmonitored on apply and, on rollback, letting phase B drop indexes the hosted function still required. Both now specify a create-or-replace-function migration plus matching mirror; apply deploys last. Docs only.", + "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" }, { - "date": "2026-08-13", - "ref": "claude/close-filter-rollout-rows", - "head": "b7ac0f244b128494aa564cd3e300fe673b2b6d2b", - "scope": "close ledger rows #170 and #309 after verifying the filter contract rollout shipped", - "outcome": "PR #1925 opened; docs-only. Both rows verified DELIVERED by content on main 2d27039, not PR state: services (service-facets.ts, scope segment on a scope URL param, quick filters evicted to composer suggestions), factsheets (SegmentedControl + counts, no eviction needed - the claim that its presets discarded the query was measured false), therapy-compass (filter-sheet.tsx deleted, converged #1885/#1889), documents (converged #1910 with meterContent/footerOverride); #309 dense tier now in the shared sheet, ported up from documents by PR F rather than duplicated. Also recorded: I first wrote canonical edits via scripts/outstanding-issues.mjs and check:ledger-write-discipline correctly rejected it - npm run issues:done routes through ledger-inbox.mjs, the two entry points are not interchangeable", - "checks": "check:ledger-write-discipline passed for 2d270392f9cf..HEAD; check:outstanding-issues passed 310 rows 114 open 196 archived no ids deleted from base; prettier --check on the two inbox JSON files passed; each mode claim re-grepped against main before writing" + "date": "2026-07-30", + "ref": "claude/design-visual-baselines", + "head": "31204552b23c760a9ca12dbf76d71e331e3c5293", + "scope": "branch-cleanup", + "outcome": "merged PR #1431 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1431 MERGED at exact final head f82ab2319a9478c7ac04d32be9b3dbd4d6512d6a; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-08-13", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "615893b24fa2be21e245ef1e47ae2fa1e2e12981", - "scope": "docs/outstanding-issues-inbox — #210 correction", - "outcome": "Corrected #210: typecheck half already fixed by tsconfig.typecheck.json; the prescribed tsconfig.json include edit is reverted by Next (type-paths.js:34-36 + writeConfigurationDefaults.js:305-315). Remaining Playwright-isolated-tsconfig half recorded as not proven end-to-end. Queued as immutable inbox request.", - "checks": "verify:pr-local (all 11 completed, 0 failed)" + "date": "2026-08-08", + "ref": "cursor/safety-plan-copy-timer-a650", + "head": "3142eb9a93275ce2c2435523560b4ed6624d8f53", + "scope": "PR #1717 unblock", + "outcome": "fixed parse + no-explicit-any from Copilot autofix; merged origin/main after #1668; merge-tree clean; 0 threads", + "checks": "local: vitest 8/8; eslint file clean; format ok; pending hosted CI" }, { - "date": "2026-08-13", - "ref": "claude/disabled-button-accessibility-piclvr", - "head": "c73bba958e26e706c4957c886c9974ffcf330943", - "scope": "outstanding-issues inbox request capturing the four placeholder controls #291 left native (docs only)", - "outcome": "authored — PR #1928 opened", - "checks": "verify:pr-local 11/11 completed, none failed; check:outstanding-issues; check:ledger-write-discipline (re-run post-commit); prettier --check clean" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3b budget-aware generation deadlines)", + "head": "314d03f", + "scope": "Clinical-governance review of E-3b diff `git diff origin/main...HEAD` (commits 1078264 + 314d03f): answer-side generation timing/gating + telemetry — reserve-aware generation timeout (`generationRequestTimeoutMs`), truncation self-heal budget gate (`deadlineAllowsGenerationRetry`), `route_budget_exhausted_by_retrieval` telemetry, and the cross-region eval carve-out in scripts/eval-quality.ts.", + "outcome": "APPROVE-WITH-NITS. No P0/P1/P2. (a) Conservative failure preserved: reserve-aware timeout fires ~2s early producing the SAME error type — an internal SDK timeout is mapped by mapOpenAIError to PublicApiError(openai_timeout) (openai.ts:525-529), NOT a bare DOMException, so the rag.ts:4636 re-throw guard is not tripped and the existing source-backed fallback/extractive recovery is reached; truncation-skip falls through to the terminal throw (rag.ts:4309-4313) into the same catch. No new answer-producing path. (b) Safety gates intact: all recovery answers finalize through finalizeAnswer→finalizeRagAnswerQuality and isSafeExtractiveFallbackCandidate (grounded/confidence/quality/numeric) — none touched. (c) Eval carve-out env-gated: crossRegionRunner && budgetExhaustedByRetrieval && generationMs===0; EVAL_LATENCY_CONTEXT set only in eval-canary.yml:164, prod caller (eval-quality.ts:1095) passes no options → inert in release/local; generationMs===0 requirement means a generation-side failure (generationMs>0) is never suppressed. (d)/(e) Telemetry additions non-PHI (boolean + mechanical retry-reason strings); no privacy/query-privacy/cross-border/verification source files touched; no new provider call. Nits (P3, non-blocking): carve-out also excuses fast/strong routes when generationMs===0 (sound — provably no generation ran); `requestTimeoutMs` now prod-dead (test-only); report label \"retrieval-exhausted\" (routeDeadlineExceeded && flag) is broader than actual gate suppression (audit label only, gate stays strict).", + "checks": "88 offline unit tests PASS (tests/rag-route-budget.test.ts, tests/eval-quality.test.ts, tests/rag-offline-answer.test.ts, tests/rag-answer-fallback.test.ts); no provider/Supabase/OpenAI calls; no files mutated except this ledger row" }, { - "date": "2026-08-13", - "ref": "claude/fable-tasks-issues-49hnvp", - "head": "5c9e1b6a6766efee147af97ff1ef2a53729f56e9", - "scope": "PR #1906 failing CI conflict repair", - "outcome": "Resolved the main-sync ledger conflict by preserving main #312 and converting the PR closure and follow-up into merge-safe inbox requests; removed numeric-ID assumptions from the remediation docs.", - "checks": "Latest GitHub Actions mergeability log inspected; decisive output lines for format, sitemap, documentation, link, and outstanding-issues checks were not captured in this record, so no pass status is claimed for them" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3b budget-aware generation deadlines)", + "head": "314d03f (+eb08ec5 review row)", + "scope": "(recorded with Outcome)", + "outcome": "ADDENDUM 5 wave E-3b implemented per the design-agent plan: generation attempts clamped to route budget minus a measured 2s recovery reserve (single call-site, all four attempt kinds); truncation self-heal gated on retry viability (reserve+5s floor) with observable truncation_retry_skipped_budget_reserve marker; additive route_budget_exhausted_by_retrieval runtime flag; eval route-ceiling gains the triple-condition cross-region carve-out (context + runtime flag + zero generation) with retrieval-exhausted audit cells — local/release gates provably strict. Fixes I3 (54ms budget overrun after 22.6s provider timeout), I5 (82s truncation waste class), resolves I2 (clozapine 13.3s retrieval vs 12s runtime budget = geography, now suppressed ONLY in the sanctioned cross-region context with full auditability). Reviewer verdicts: rag-retrieval-reviewer APPROVE-WITH-NITS (2 P3: prod-dead requestTimeoutMs retained for symmetry; report-cell coupling cosmetic; cached-replay invariant PROVEN — budget-exhausted answers never cached, carve-out unreachable via replay; marker isolation proven — SLO counters key on fallback_reason not answer_retry_reasons); clinical-governance-reviewer APPROVE-WITH-NITS (prior row) — internal-timeout→PublicApiError→existing-fallback path verified, all safety gates still applied to recovery answers. ALSO BANKED — E-2 targeting baseline (canary run #58, 29788404357, all-green incl. first execution of the !cancelled()-fixed instrument, ~$1-2): metric_rates relevance 0.6 / readability 1.0 / artifact_leaks 1.0 / intent_coverage 0.9333 / fail_closed 0.9; targeting_rate 0.5909 (13/22); by intent: document_lookup 5/5, red_result_action 3/3, contraindication 2/2, dose 1/5, monitoring_schedule 1/5, pathway_referral 1/2; all 9 misses = missing dose figure/schedule-interval (answer lengths 73-232 chars) → E-3c co-primary target alongside the wasted-generation class. Phase E spend ≈$3-6 of ≤$20.", + "checks": "Red-proofs: reserve pinned 3 independent ways (exact 23000ms grant, deadline flag clear, total under budget); self-heal skip pins exact marker + single provider call; offline flag pinned true/false. Focused: route-budget 9/9, eval-quality 27/27, fallback+offline 52/52, parser/abort regressions 15/15. Full suite 3043 passed / 1 known container pdf artifact. typecheck+lint+prettier clean. No provider calls; live proof = E-4 paired run" }, { "date": "2026-08-13", @@ -8649,2892 +8257,2948 @@ "checks": "verify:pr-local 8/8 failed:(none); check:ledger-write-discipline passed (no canonical edit); issues-report 6/6; mutation-tested (revert fails the new test); typecheck 0 errors; bash -n hook OK" }, { - "date": "2026-08-13", - "ref": "claude/issues-reconcile", - "head": "099273b25ab823ca502bfbfcf28a3da6dff33ac3", - "scope": "reconcile 19 queued inbox requests into the canonical outstanding-issues ledger", - "outcome": "PR #1931 opened; docs-only. Run from a fresh branch off merged main 63526ee, the only context allowed to edit the canonical ledger. Applied 19 requests with 3 cancellation decisions; 16 belong to other authors, 3 are mine: #170 closed (filter rollout delivered, verified now in the archive table), #309 updated and kept OPEN as partially delivered (PR F shipped the >20/>3-groups tier; the 6-20 band that opened the row is unimplemented - verified still in the open table), plus a new row recording that check:ledger-write-discipline reports a pass on an uncommitted tree", - "checks": "check:outstanding-issues passed: 0 pending / 19 applied, 314 rows 115 open 199 archived, no ids deleted from base 63526ee5305e; check:ledger-write-discipline passed for 63526ee5305e..HEAD run after committing; table placement of #170 and #309 verified directly rather than inferred; npm run format run and committed" - }, - { - "date": "2026-08-13", - "ref": "claude/issues-writer-pri-flag", - "head": "0bf6795e324ef94aad7c163c1b80048164f4dcf5", - "scope": "#313: update --pri across writer, inbox createRequest and validateRequest", - "outcome": "handoff: PR #1905 opened for review", - "checks": "verify:pr-local 9/9 failed:(none); both self-tests pass; mutation-tested at all three layers; end-to-end CLI queues a valid request; no canonical ledger edit" - }, - { - "date": "2026-08-13", - "ref": "claude/ledger-sweep-inbox-requests", - "head": "0e3ed773cddf1b59c64ca81162fd76d84051359d", - "scope": "re-file the 2026-08-12 yield review as 43 inbox requests (22 done, 19 update, 2 add); premises re-verified against current main", - "outcome": "handoff: PR #1920 opened for review", - "checks": "verify:pr-local 11/11 failed:(none); check:ledger-write-discipline passed (no canonical edit); batch dry-applied 114->95 open, 196->220 archived, checkIssues PASS" + "date": "2026-08-15", + "ref": "codex/fix-cover-repair", + "head": "316018b41177e34612f08339bf4baf37055abf00", + "scope": "cover repair script formatter follow-up", + "outcome": "Formatted the stale-candidate guard reported by the changed-file formatter. Verified syntax with node --check; live Supabase execution intentionally not run.", + "checks": "node --check scripts/archive/backfill-document-covers.mjs; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-08-13", - "ref": "claude/ledger-sweep-inbox-requests", - "head": "3f7569ab652b5d5c7608b63f38ff8f7e3dcc9b61", - "scope": "PR #1920 full ledger-request review and fix", - "outcome": "two confirmed P1 reconciliation defects repaired: preserve one open post-restore DR survivor and update #169 with the complete #152/#236/#260 machine-local inventory; #253 dispositioned no-change because PR #1606 is already closed unmerged and MobileResultFilterControl has no production reference; no additional P0/P1/P2 finding in the distinct manual adversarial pass", - "checks": "all 46 changed files reviewed; request schemas, UUID filename/id parity, mutation-conflict set, required inventory tokens, review-record hash, and post-apply survivor semantics checked locally; pre-fix exact-head CI green (PR required, Static PR checks, SAST, Gitleaks); hosted exact-head CI required after push" + "date": "2026-08-15", + "ref": "codex/fix-documents-without-live-images", + "head": "316018b41177e34612f08339bf4baf37055abf00", + "scope": "PR #1975 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-08-13", - "ref": "claude/ledger-tasks-fable-xhl7xb", - "head": "6f1cd23a34dca2fa3ae9d676d4dace46fd779d3a", - "scope": "ledger intake: merge-loss capture (4 inbox requests)", - "outcome": "clean — additive JSON intake only, no canonical ledger edit", - "checks": "verify:pr-local (all 11 gates, none failed); dry-apply of 23 pending requests against origin/main" + "date": "2026-07-26", + "ref": "`codex/phone-header-hidden-edge`", + "head": "31608d98a578b9311c3cec2d66b6ba7c37809c0c", + "scope": "Superseding release-readiness review after main sync", + "outcome": "APPROVE. Merged current `origin/main` at #1248 and resolved the sole content conflict by retaining its extracted DocumentViewer PDF/chrome-scroll hook together with the page-header collapse portal. The sync exposed and fixed one stale Therapy static assertion that had accidentally depended on the removed Therapy-only slot conditional; it now tests the route-ownership helper directly. No unresolved findings remain. Highest residual risk remains physical iOS Safari status-bar compositing beyond Chromium's simulated safe area.", + "checks": "Focused merged-head contracts 54/54; phone-scroll production spec 38/38; `verify:cheap` PASS; final `verify:ui` 308/308; `verify:pr-local` PASS including production build and offline RAG fixtures. No provider-backed checks." }, { - "date": "2026-08-13", - "ref": "claude/patient-interactions-drug-alerts-3tztvw", - "head": "2812a8f5e0069047b7a8625d44d498f924cb0be6", - "scope": "parenthesised-name root cause, unreachable-counterparty verdict guard, outstanding-issue capture", - "outcome": "9 further rows across 4 drugs were silently unresolvable and now resolve; green is no longer reachable when an entered drug is one no interaction row names, with the uncovered drugs stated on screen; 3 durable items queued to the issues inbox", - "checks": "verify:pr-local 18/18 green on merged tree (failed: none, not reached: none), 6402 unit tests; verify:ui deliberately skipped - text notice inside an existing section, covered by 4 DOM cases" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "3193d7ba18c7e6e1b10242c3650ee305c68bf756", + "scope": "latest-main merge conflict resolution and CI repair", + "outcome": "resolved snapshot conflict while synchronising latest main; focused prior validation retained and snapshot generator passed", + "checks": "snapshot generator; staged diff check; earlier Vitest 121/121; TypeScript source check" }, { - "date": "2026-08-13", - "ref": "claude/patient-interactions-drug-alerts-3tztvw", - "head": "378dc1b2c966d7765c086581245b86e4e810bc23", - "scope": "medication interaction lexicon review sheet + reverse-direction note wording", - "outcome": "ARB/carbapenem misclassification fixed; divergent duplicate Warfarin records reported; reverse-only alerts now carry their text", - "checks": "verify:pr-local 27/27 green (failed: none, not reached: none), 6326 unit tests" + "date": "2026-08-18", + "ref": "claude/dictionary-mode-ui-updates-uwoicy", + "head": "31a2e4aaaf9bb991be51f9bbb735f57505ff70af", + "scope": "Dictionary a11y + zero-state + Browse header replay after #2114 merged mid-branch (PR #2132)", + "outcome": "approved", + "checks": "lint, typecheck, test (673 files/7276 tests), ui-dictionary Chromium 6 passed, axe sweep of 6 dictionary routes" }, { - "date": "2026-08-13", - "ref": "claude/patient-interactions-drug-alerts-3tztvw", - "head": "4b5f9b0da8351c752b8342155c70dd3e52c08a59", - "scope": "lexicon dead-term removal, evidence-bearing review flags, lithium name alias, coverage boundary section", - "outcome": "lithium reachable from 8 previously-silent HIGH rows (NSAIDs/thiazides); z-drugs retired as dead; antipsychotics and acei/arbs verified correct and their speculative flags replaced by a missed-class-member check", - "checks": "verify:pr-local 18/18 green on merged tree (failed: none, not reached: none), 6395 unit tests; check:production-readiness ran (2 FAILs are absent provider secrets in this container)" + "date": "2026-08-15", + "ref": "codex/fix-documents-without-live-images", + "head": "31bf9b5855c0e7cc903a3e186f3bf785d41cc210", + "scope": "Document cover audit and repair: final current-base merge", + "outcome": "Merged latest required base after prior focused repair review; no conflicts or new confirmed P0-P2 findings", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; archived cover-script syntax and generation-guard assertions" }, { - "date": "2026-08-13", - "ref": "claude/patient-interactions-drug-alerts-3tztvw", - "head": "807d13f4ab2fbff8f292dafda7687cedf9079f2d", - "scope": "interaction note text polish (severity prefix, per-row severity chip, unclamped prose)", - "outcome": "self-reviewed; shipped PR #1898", - "checks": "verify:pr-local 9 stages green, failed:(none); 41 interaction tests pass; docs/adoption checks current; phone-chrome browser stages delegated to CI (#255 drift)" + "date": "2026-08-15", + "ref": "PR #1968 / claude/ledger-reconcile-batch-4", + "head": "31cd550141e66806e53ade04965151b960964c6d", + "scope": "unblocking PR review-and-fix", + "outcome": "Merged the latest base and reconciled its complete ledger batch; retained the #316 headline correction as a valid next-transaction request.", + "checks": "ledger write discipline; ledger inbox dry-run/check; outstanding-issues; branch-review-ledger; diff --check" }, { "date": "2026-08-13", - "ref": "claude/patient-interactions-drug-alerts-3tztvw", - "head": "f44bb3f897b2c56adefa095b067b4d38b61241c8", - "scope": "bare absence-declaration rows resolve instead of parsing as unreadable", - "outcome": "triamcinolone and riboflavin no longer held at grey by a NONE. row they could always read; carve-out restricted to absence tokens and pinned both ways; 362/523 resolved, 186 of 328 can show green, zero unparsed severities", - "checks": "verify:pr-local 18/18 green (failed: none, not reached: none), 6404 unit tests" + "ref": "PR #1924 / claude/refile-210-correction", + "head": "31ff86b2a66656e13838545613052e4e13f70d57", + "scope": "PR #1924 babysit: #210 inbox correction", + "outcome": "Confirmed and fixed the P2 false claim that Next mutates the isolated Playwright tsconfig; retained the narrower inherited-root-include risk; no other PR-introduced defects found.", + "checks": "Exact-head PR required, SAST, and secret-scan checks green at 31ff86b; Next 16.3 source audit; TypeScript child-config --showConfig and --listFilesOnly probe; JSON parse and focused diff review." }, { - "date": "2026-08-13", - "ref": "claude/rag-canary-test-review-seprbt", - "head": "3b6a8a9e725f4d8d90d98e9b36b9ca72c6c831cc", - "scope": "ranking snapshot refresh from green weekly canary artifact run 31329507691", - "outcome": "PR #1932 opened; closes /issues #304 via inbox request; zero provider spend; no retrieval behaviour change", - "checks": "ranking-tuning+imputation 16/16, eval:rag:offline pass, ledger-write-discipline pass vs origin/main" + "date": "2026-07-30", + "ref": "PR #1462", + "head": "321ec8697a2eaa4841e11b498cce556ed384f8cb", + "scope": "bounded inactive-work cleanup documentation", + "outcome": "APPROVE after fix: cleanup remains deferred behind the primary-checkout lease, and the resume instruction now names the executable repository command.", + "checks": "outstanding-issues guard; ledger guard; diff review; one review finding fixed" }, { - "date": "2026-08-13", - "ref": "claude/rag-incremental-delivery-lpw15e", - "head": "387a403a4bf802208420f6847771ada24e1e3eb1", - "scope": "#100 Phase 0 contract proof + flag-gated Phase 1 evidence preview (stream contract, answer-preview, rag.ts emission)", - "outcome": "PR #1909 opened; flag default off, no retrieval/generation behaviour change", - "checks": "verify:pr-local failed:(none); new contract tests 13/13; production-readiness expected demo-mode gap only" + "date": "2026-07-13", + "ref": "claude/spend-telemetry", + "head": "323d9cb5d94c4173881690e15699a4e224622803", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #585.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-13", - "ref": "claude/rag-latency-behaviour-lpw15e", - "head": "efd97ee284f3711a5ac284fa4a1278e6fe90a6a2", - "scope": "Answer-route latency: embedding warm-up + truncation-retry floor (rag.ts, rag-route-budget.ts)", - "outcome": "PR #1907 opened; retrieval results byte-identical, generation retry admission tightened per #231 measurement", - "checks": "verify:pr-local failed:(none) incl eval:rag:offline; npm test 6361 passed" + "date": "2026-07-13", + "ref": "origin/claude/spend-telemetry", + "head": "323d9cb5d94c4173881690e15699a4e224622803", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #585.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-08-13", - "ref": "claude/rag-plan-review-guide-vhrls9", - "head": "11d9cdd12b133ae5e80d013160ebc03ed6fa843e", - "scope": "docs: RAG improvement programme review + updated guide (docs/rag-improvement/, docs checker allowlists)", - "outcome": "clean", - "checks": "verify:pr-local full scope green (lint, typecheck, test, docs gates, check:rag:fixtures 36 golden cases)" + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c", + "head": "32474bcd20d5fa39097a3f75b85d3af81b404320", + "scope": "form-detail Confirm checklist polish", + "outcome": "shipped spacing/typography polish + DOM guard", + "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" }, { - "date": "2026-08-13", - "ref": "claude/rag-plan-review-guide-vhrls9", - "head": "b3367d5b3d79d155b040f30d4a709d2946cda949", - "scope": "docs: multi-session RAG programme handover pack (HANDOVER.md, catalogue, allowlist)", - "outcome": "clean", - "checks": "verify:pr-local heavy scope green (lint, typecheck, test, docs gates, check:rag:fixtures)" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "326683fafd9419882f5f28e1557a089d25251ace", + "scope": "CI repair", + "outcome": "replaced a regex-shaped documentation example that the Markdown link checker interpreted as a missing relative path", + "checks": "docs:check-links; staged diff check" }, { - "date": "2026-08-13", - "ref": "claude/viewer-ledger-truth-pass", - "head": "648b86ad079e563c7be830ef07dedf63a1ff91a5", - "scope": "document-viewer ledger truth pass: queue five inbox requests (crop-overlay row, #278 done, #215 restated, #280 third acceptance item, stale-runtime provisioning gap) plus one plan-doc correction", - "outcome": "PR #1930 opened. Inventory of remaining document-viewer work found four ledger rows stating things no longer true; every claim re-verified against main 2d270392 rather than the four-day-stale base the inventory began on. Crop to page overlay had NO row at all despite being the one unbuilt Phase 3 capability - its geometry is SELECTed at document-detail.ts and dropped before DocumentDetailImage and ImageRow. #294 and #283 left alone as deliberate deferrals. Queued as inbox requests under the new intake contract, canonical ledger untouched; an earlier attempt on the stale base had allocated #295, which is now taken on main by an unrelated row - reconciliation assigns ids instead. Opened from a fresh branch with user agreement: the designated branch holds dead #1777 history, force-push was blocked by check:ledger-write-discipline diffing against that stale tip, and remote branch deletion is refused by this session's transport.", - "checks": "verify:pr-local COMPLETE, failed: (none) - all 11 selected checks passed (check:runtime, installed-lock-parity, format:changed, sitemap:check, four docs checks, branch-review-ledger, outstanding-issues, ledger-write-discipline). Docs-only scope so build/lint/typecheck/unit/RAG skipped by risk routing, confirmed via --dry-run first. Gate only became runnable after provisioning Node 24.19.0 by hand - queued as its own finding." + "date": "2026-08-05", + "ref": "cursor/privacy-page-mockups-2ff6", + "head": "32c4406cb728176933b669779d4f16fd245534bb", + "scope": "Run PR sweep", + "outcome": "supersede: desktop index sticky top tracks measured StickySignalChrome height; prior row checks lacked decisive prettier output", + "checks": "prettier --check mockup+ledger: All matched files use Prettier code style!; ResizeObserver sticky chrome height for desktop index" }, { - "date": "2026-08-13", - "ref": "codex/ci-iteration-speed-current2-20260813", - "head": "6f13e8068ae97a89f7f8bbb9fff6c400e181b8c0", - "scope": "CI iteration performance and reliability implementation", - "outcome": "No P0-P2 findings at committed implementation head", - "checks": "PR-local passed 23 stages through lint and typecheck then hit known Windows MSYS cloud-shim baseline; filtered full suite 6387 passed 27 skipped; build and CI contracts passed" + "date": "2026-08-02", + "ref": "codex/cloud-python-self-diagnosis", + "head": "32cb80020bf1a63628dbf805f54f393aee5af528", + "scope": "Cloud Python lock and self-diagnostics", + "outcome": "PASS: review findings fixed; fail return claim refuted by Bash execution proof", + "checks": "verify:pr-local PASS; focused Vitest 22/22; Bash ERR trap proof PASS" }, { - "date": "2026-08-13", - "ref": "codex/ci-iteration-speed-current2-20260813", - "head": "ca788d41e1e6b64dc6b9bc63609074d92470d7e7", - "scope": "CI iteration performance and reliability implementation", - "outcome": "No P0-P2 findings after current-main reconciliation and review fixes; uncommitted diff requires review again after commit", - "checks": "CI workflow contracts 289 passed 12 skipped; typecheck lint filtered coverage inventory clean build and bundle budgets passed" + "date": "2026-07-15", + "ref": "PR #680 / claude/rag-scalability-review-x0s55l", + "head": "32e242ab7fc386ea82b19c7cfc2112aa41f06f9a", + "scope": "privacy, public-catalog throttling, ingestion-recovery, and merge-readiness review", + "outcome": "Audit remediation wave 1 plus review follow-ups. Confirmed and fixed: mixed-owner document list/detail responses exposed nested summary internals and free-form document metadata for public rows; anonymous catalog rate limiting skipped known-slug detail routes; and ingestion recovery could retry a failed row without seeing a legitimate pending/fresh-processing sibling. Ownership-specific projections/redaction now cover list and detail responses, every catalog detail path is throttled, and both recovery scripts pass every open sibling to the planner. No remaining unresolved review thread or high-confidence defect.", + "checks": "GitHub exact-head review-thread inspection (0 unresolved); hosted required CI, UI regression, migration replay, build, coverage, static, and security checks green; local focused route/recovery Vitest 163/163; TypeScript; earlier full `verify:cheap`; Prettier; `git diff --check`. No live Supabase/OpenAI/provider checks run." }, { - "date": "2026-08-13", - "ref": "codex/cloud-github-auth-hardening", - "head": "1f17468f835d4a58992ec63bd0d084013c32d15a", - "scope": "Cloud GitHub access hardening", - "outcome": "No unresolved findings after fail-closed acceptance review; hardened identity, scopes, PR/thread, Actions job/log, and non-mutating push proof", - "checks": "check:github-shell-access:live PASS; static Cloud contract PASS; focused GitHub shell suite 13/13 before final fail-closed sample guard; lint PASS; latest focused rerun/typecheck coordinator-blocked by unrelated Lighthouse lease" + "date": "2026-07-30", + "ref": "PR-1432", + "head": "330086eff76f704ce6b9cf5405aeecfdd375027c", + "scope": "PR #1432 visual-config preflight follow-up", + "outcome": "visual runs now preflight chromium-artifacts instead of the unrelated main browser matrix; unknown configs fail closed", + "checks": "config-selection tests added; formatting passes; exact-head CI pending" }, { - "date": "2026-08-13", - "ref": "codex/cloud-github-auth-hardening", - "head": "a02dc4c29264a69dd2f6ae619813efeb3a8ffbc7", - "scope": "Cloud GitHub access hardening second pass", - "outcome": "Fixed three P2 reliability defects and exact-branch PR sampling; no unresolved local findings", - "checks": "GitHub shell suite 21/21 PASS; lint PASS; typecheck PASS before final test-only branch-preference case; static Cloud contracts PASS; live shell control plane PASS; native connector identity/repo/permission/PR/thread/Actions logs PASS" + "date": "2026-07-30", + "ref": "codex/review-pr1457", + "head": "33087a26ea337f41023d00ad327c63153c4ec39d", + "scope": "branch-cleanup", + "outcome": "useful review result now present on current main; safe local cleanup", + "checks": "current main has assertive failure alert, polite in-flight status, focused DOM test, and copied review ledger record; clean inactive worktree; batch11 bundle verified" }, { - "date": "2026-08-13", - "ref": "codex/diagnosis-map-viewer-20260813", - "head": "e2537a49cf2b026b4ed00fd4decd26398a8ed6e9", - "scope": "PR #1918 diagnosis map viewer heavy review", - "outcome": "Fixed the PR-introduced Prettier gate failure in the new DOM regression test; a distinct manual adversarial pass found no additional reproducible P0-P2 defect across responsive layout, interactions, accessibility safeguards, clinical-summary isolation, compare routing, or server-client data boundaries", - "checks": "Exact-head pre-fix CI: Secret Scan, SAST, Build, Unit coverage, Safety and config, Lighthouse budget, Advisory UI, Production UI critical, and Production UI shards 1-3 passed; Static PR checks and PR required failed only format:changed. Offline: exact original blob reconstruction proved a one-blank-line-only fix; TypeScript syntax parse and responsive layout containment and overlap matrices passed. Post-push exact-head CI is recorded in the PR summary." + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch-final", + "head": "330d964a04406a9e123c674409f167746f7b9a28", + "scope": "outstanding local task batch merge readiness", + "outcome": "Reviewed changed scope; fixed the env-file bypass in the upload-limit parity guard. No unresolved findings.", + "checks": "Focused Vitest: 7 files, 125 tests passed; exact-head verify:cheap static gates and lint passed; typecheck/full unit pending coordinator availability." }, { - "date": "2026-08-13", - "ref": "codex/differentials-compare-elevate-20260813", - "head": "181fb0b45c35906c91aab46e9a6dc32e6c360916", - "scope": "PR #1911 end-to-end differentials navigation review", - "outcome": "Fixed one reproducible duplicate-header defect in the ad-hoc compare workspace; no other high-confidence PR-introduced defects found", - "checks": "focused ad-hoc navigation contract PASS; source diff review PASS; prior exact-head PR required, Production UI, unit coverage, build, SAST, and secret scan green" + "date": "2026-07-27", + "ref": "PR #1271 / `codex/config-reconciliation-current-20260727`", + "head": "3321c1eb1f2d1ac4294caf40e09a63b74fe1f713", + "scope": "Second automated-review follow-up for safe local fill targeting/reporting", + "outcome": "APPROVE. Two valid P2 findings were fixed: an explicit root must now carry the Database package identity before any fill, and fill mode applies file-only state solely to writable HMAC/probe gaps while preserving merged process/file truth for report-only provider rows and project identity. Tests cover an unrelated package root, caller-only fillable values, and caller-only provider reporting. Zero unresolved local findings remain.", + "checks": "Focused `tests/local-presence.test.ts` PASS (11/11); exact primary presence PASS; unrelated-root CLI rejection PASS; Prettier PASS; hosted required checks and automated review must rerun on this head before merge." }, { - "date": "2026-08-13", - "ref": "codex/dynamic-mode-header", - "head": "d0e7feaf1ae85d6665b7815bc44f559aa5b42d2f", - "scope": "dynamic shared mode header density and overflow interactions", - "outcome": "P2 Medication rail regression fixed; no remaining P0-P2 findings", - "checks": "134 focused tests on current main; responsive Chromium matrix; Medication Chromium journey; lint; typecheck; production build" + "date": "2026-08-18", + "ref": "claude/header-redesign-mockups-3ms5kn", + "head": "333399f7f5ebfb83c304bf7a0bbdbd71b6849238", + "scope": "prlanded", + "outcome": "landed clean", + "checks": "git diff --stat 333399f 6bd0934 empty (squash tree identical to branch tip); browse header, dictionaryBrowseLetter, new test and both mockup studies verified present on origin/main; no commits orphaned by the merge" }, { - "date": "2026-08-13", - "ref": "codex/performance-css-delivery", - "head": "a324e067d2055fa3e32dd7a039c5e66a62bef3b9", - "scope": "cold mobile CSS and font delivery", - "outcome": "No unresolved findings; review added theme-aware responsive mockup utilities and corrected stale font commentary", - "checks": "build passed (1712 pages); CSS 302113 raw/46203 gzip; contract 2/2; production style 9/9; mockup 15/15; format/issues/ledger passed" + "date": "2026-07-25", + "ref": "`cursor/fix-mobile-composer-edge-scroll-5b1d` (PR #1192)", + "head": "333e67b8", + "scope": "pr-ci-fix: Static PR checks / Maintainability hotspot budgets", + "outcome": "Main merge (e688c6e2) expanded a JSX comment from 2→3 lines while restructuring heroComposerBreakpoint/heroOwnsPhoneComposer declarations, netting +2 lines vs budget-fix commit (ae77f8c3). ClinicalDashboard.tsx hit 4141 vs 4140 budget. Fix: compressed 3-line comment back to 2 lines. Zero behaviour change.", + "checks": "`npm run check:maintainability-budgets` → PASS (4140/4140). No provider-backed checks." }, { - "date": "2026-08-13", - "ref": "codex/performance-css-delivery", - "head": "aa935df8fa13245af948c4574d791fe31f270d03", - "scope": "cold mobile CSS and font delivery", - "outcome": "No unresolved findings after clean current-main sync; shared header changes pass both production and mockup journeys", - "checks": "production style 9/9; mockup 15/15; contract rerun coordinator-blocked after prior 2/2 pass; no changed-path overlap" + "date": "2026-08-15", + "ref": "claude/issues-reconcile-2026-08-15", + "head": "3381a69cba662c7dd4083c0fe8747aa04d7c9097", + "scope": "Canonical ledger reconcile of 17 queued requests after the #1982/#1983/#1984/#1985 merges", + "outcome": "Applied cleanly; inbox 0 pending / 189 applied", + "checks": "issues:reconcile applied 17 requests with 3 cancellation decisions; check:outstanding-issues 341 rows (97 open, 244 archived), unique ids, next-id 344 above highest, no ids deleted from base; check:ledger-write-discipline passed for 2e3ac494b8b7..HEAD (canonical diff equals the recorded transaction); verify:pr-local docs-scoped route, 11 gates, none failed" }, { - "date": "2026-08-13", - "ref": "codex/performance-fixes-20260813", - "head": "806601b3f0ff73c04a4f6e97ac04a9e40509b809", - "scope": "performance latency Sentry and deployment observability", - "outcome": "No unresolved findings after registry cache variance and CI aggregate fixture repairs", - "checks": "Focused registry and workflow contracts passed; hosted prior-head Lighthouse, build, static, safety, container, and critical UI checks passed" + "date": "2026-07-30", + "ref": "codex/repair-pr1421", + "head": "339c75046e7a6d1cf8555b77b04e3c76de455dfe", + "scope": "branch-cleanup", + "outcome": "merged PR #1421 contains the local review content; safe local cleanup", + "checks": "tree-identical to exact merged PR head; clean inactive worktree; batch9 bundle verified" }, { - "date": "2026-08-13", - "ref": "codex/performance-fixes-20260813", - "head": "b1b7203ad2218650985f4cfbb04408b07889ecd9", - "scope": "registry latency, Therapy home loading, Sentry release and request errors", - "outcome": "No unresolved findings; fixed missing Accept-Encoding cache variance during review", - "checks": "98 focused tests passed across final diff, including 23 registry API tests after cache fix; format, docs, ledger, lint, and typecheck passed; full suite wrapper timed out with output-pipe EPIPE" + "date": "2026-07-30", + "ref": "codex/repair-pr1421", + "head": "339c75046e7a6d1cf8555b77b04e3c76de455dfe", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant patch-equivalent content merged in PR 1421; removal deferred by primary-dirty lease", + "checks": "clean status; no left-only cherry-pick commits versus exact merged PR head" }, { - "date": "2026-08-13", - "ref": "codex/performance-fixes-20260813", - "head": "dcfad28410600a3ef1c32270390e6220b7ebf2dc", - "scope": "registry latency, Therapy home loading, Sentry release and request errors", - "outcome": "No unresolved findings; fixed missing Accept-Encoding cache variance during review", - "checks": "97 focused tests passed before final cache fix; format, lint, typecheck, docs and ledger passed; full test wrapper timed out with EPIPE; final cache assertion pending coordinator capacity" + "date": "2026-07-29", + "ref": "claude/latency-fixes-2026-07-29", + "head": "33d783aef4b8011996d0841635077d1bb7d47497", + "scope": "pr-1376-ci-bugbot-repair", + "outcome": "fixed-p1-scope-and-cache-epoch;docs-link-ci;bugbot-confirmed-no-new-p0", + "checks": "verify:cheap:pass;vitest:4273-pass;docs:check-links:pass" }, { - "date": "2026-08-13", - "ref": "codex/sitemap-dom-fixes (PR #1919)", - "head": "4076d8034b61fbb3420efa398fab11d9e243b193", - "scope": "PR #1919 heavy review and fix", - "outcome": "Fixed crawler policy and added regression coverage; no other blocking finding", - "checks": "Focused contract and source checks passed" + "date": "2026-08-18", + "ref": "claude/home-pages-cleanup-qeh5fr", + "head": "33ec22afd7b23dfc89fdf836fc80cc4a97c7a065", + "scope": "remove caveat footer from every mode home", + "outcome": "self-review clean; all mode-home caveat footers removed, dead reserve/props/helper deleted", + "checks": "verify:pr-local pass on merged head (673 files / 7281 tests, build, lint, typecheck, offline RAG evals); verify:ui not run — playwright chromium 1234 vs installed 1194 (#255)" }, { - "date": "2026-08-13", - "ref": "codex/skill-system-hardening", - "head": "1abf6fc905dcc89c1ad048067222da39c308cff3", - "scope": "Repository skill system hardening", - "outcome": "PASSED", - "checks": "check:skills; database-skills 6/6; lint; typecheck; build; RAG fixtures 36; medication index 523; full suite baseline-classified" + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "3403126bc6cd86145d6921a3fe4d081181e8a113", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in 3403126bc6cd86145d6921a3fe4d081181e8a113, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", + "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" }, { - "date": "2026-08-13", - "ref": "codex/skill-system-hardening", - "head": "700c797d647fce4beb6612c859704565d9e4db97", - "scope": "PR #1904 current-head review and fix", - "outcome": "FIXED P2 inventory and staging defects; no additional high-confidence findings", - "checks": "node --check; inventory fixture red/green; commit-only staging reproduction" + "date": "2026-07-31", + "ref": "origin/fix/focus-token-and-internal-link-wiring", + "head": "342052fadde853c5cbaea1e4583559fc45b32734", + "scope": "branch-cleanup", + "outcome": "safe remote delete: internal Link wiring and canonical focus token landed with stronger current markup in merged PR #1374; archived batch18", + "checks": "current source inspection; origin/main pickaxe history; redundant cherry-pick proof; bundle verify" }, { - "date": "2026-08-13", - "ref": "codex/specifier-map-compare-20260813 (PR #1912)", - "head": "10f33d354beb04834c1429bf3aecdb5c7b4d0bc6", - "scope": "PR #1912 heavy review: stale section selection repair", - "outcome": "Validated and fixed one PR-introduced P2 history race: an obsolete animation-frame selection could override browser back navigation; added a focused popstate regression. No other high-confidence defects found in the nine-file PR delta. The latest main was merged independently at aa51b311de8082bd1bda65d5ee74827a164a905a before publication, with no conflict; no further base sync was performed.", - "checks": "Deterministic old/fixed stale-frame model: reproduced then passed; TypeScript transpile PASS for hook and regression; git diff --check PASS; exact-head CI at 90a731e54092ac9b13fff7d90f8a071ac105d8a8 was green before repair; no provider-backed checks run locally." + "date": "2026-07-14", + "ref": "claude/specifiers-v2-design-r55baf", + "head": "343f4ee4e89844e6a668910958ce1e3f119c128e", + "scope": "branch-cleanup", + "outcome": "Retained: open PR #656 (full DSM-5-TR specifier catalog; +19k, novel data/loaders not on main).", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-13", - "ref": "codex/specifier-map-compare-20260813 (PR #1912)", - "head": "3543ad63890686ecf3ff57aaae26a7dabaca4060", - "scope": "PR #1912 heavy review follow-up: regression test type correction", - "outcome": "Exact-head Build on 5910cda failed only because the new regression cast a plain function to LucideIcon. Replaced the fake cast with the repository's real lucide-react Circle export; production hook fix is unchanged. This supersedes the earlier review record's incomplete compile confidence for the regression.", - "checks": "GitHub Build log reproduced TS2352 at tests/use-in-page-section-nav.dom.test.tsx:27; replacement blob 45ad89ad5307588cbd0bb28fb3f89511301030e2 verified from GitHub; previous deterministic history-race model and diff checks remain applicable; exact-head CI rerun pending." + "date": "2026-08-14", + "ref": "claude/playwright-browser-revision-check", + "head": "3447238f1c66154dca9b567924fb0a2f57a28c84", + "scope": "PR #1965: Playwright browser revision check", + "outcome": "fixed", + "checks": "prettier; targeted Vitest 5 passed; independent Codex adversarial review: 3 P2 fixed; full Vitest unavailable (cached runtime lacks playwright-core browsers.json)" }, { - "date": "2026-08-13", - "ref": "codex/specifier-map-compare-20260813 (PR #1912)", - "head": "7074d65af36ee662450e6dcf340a77d3cc404209", - "scope": "PR #1912 heavy review follow-up: explicit section intent ownership", - "outcome": "Production UI trace proved the phone chrome transition could emit a later geometry result after an explicit jump, so frame-count reassertions were inherently timing-dependent. Replaced the animation-frame workaround with a scoped explicit-fragment override: deliberate click/history navigation remains authoritative through programmatic scrolling, while wheel, touchmove, or non-editable scroll-key intent returns ownership to the geometry spy. History fragment changes replace the override directly.", - "checks": "Fresh Playwright trace reproduced Course and onset briefly becoming active before Episode features overwrote it; deterministic hook regressions cover incidental spy rerenders, user-scroll release, editable keyboard input, and popstate replacement; TypeScript transpile PASS for the hook and both test files; exact-head CI pending; no manual provider-backed or production gate run." + "date": "2026-07-13", + "ref": "codex/pr-522-review", + "head": "344f10f9efca6dc340a6ac65128eaf2fdcddf727", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #522; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-13", - "ref": "codex/specifier-map-compare-20260813 (PR #1912)", - "head": "f2c2aa8ab9c881a9647e607ab09b1ebdc772e49b", - "scope": "PR #1912 heavy review follow-up: post-scroll active-state repair", - "outcome": "Exact-head Production UI trace showed the jump selection was reasserted in the same frame as the physical scroll, then overwritten by the scroll spy on its following geometry frame. Delayed the hash-guarded reassertion by one additional animation frame and added a focused ordering regression. The existing popstate guard remains unchanged. A separate builder Start over failure touched no PR-modified source and is left for the replacement exact-head run to classify.", - "checks": "Production trace: 177 tests passed and the map active state alone reverted after the target scroll; deterministic frame model changed final state from episode-features to course-onset while suppressing stale reassertion after back navigation; TypeScript transpile PASS for hook and focused regression; git diff --check PASS; no manual production or provider-backed gate run." + "date": "2026-07-13", + "ref": "origin/claude/reconcile-mode-home-tokens", + "head": "344f10f9efca6dc340a6ac65128eaf2fdcddf727", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #522; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-13", - "ref": "codex/windows-tooling-followups-pr", - "head": "b793366b473d5bebda4e1ee5e2d1cc493b86178d", - "scope": "Windows tooling follow-ups", - "outcome": "pass", - "checks": "focused 62 passed at final head; full PR-local passed before adjacent ledger fix; review no findings" + "date": "2026-07-24", + "ref": "cursor/comprehensive-repo-review-ledger-d9a1 (PR #1150)", + "head": "345c02cdbaefb13aeb951a14674aedfe4648a50e", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-08-13", - "ref": "PR #1888 / claude/filter-contract-factsheets-pr-d", - "head": "f8930c36d11a15820bd0a76aa6b4ff24928db224", - "scope": "PR #1888 fresh heavy review-and-fix before required main sync", - "outcome": "Dispositioned the PR delta as superseded by current main: retained main's shared counted SegmentedControl, selected dead-end handling, dedicated DOM coverage, and current filter contract; no remaining high-confidence PR-introduced P0-P2 defect.", - "checks": "historical exact-head PR required and Production UI green; current-main factsheets component, contract, and tests reviewed; CodeRabbit unavailable (spending cap), distinct manual adversarial pass" + "date": "2026-07-30", + "ref": "origin/execute-audit-code-remediation", + "head": "3470279fba23ad442d59d34552eb576e87f24141", + "scope": "branch-cleanup", + "outcome": "REJECTED and deleted remote. PR #1162 already merged; sole unique commit was a ledger CI-green row already present on main (edcd17a1…). No open PR; no unique product content.", + "checks": "fetch --prune; cherry-pick log; tip-to-tip/three-dot; grep ledger for edcd17a1; gh pr 1162 MERGED; open=0; GitHub reads explicitly authorized; no non-GitHub provider checks." + }, + { + "date": "2026-08-15", + "ref": "PR #1969 / codex/medication-list-spacing-20260814", + "head": "347125d4313a7517f051c1b26fc0873b7bff10f0", + "scope": "unblocking PR review-and-fix", + "outcome": "Fixed the 1024px desktop prescribing-grid clipping with a focused right-edge regression assertion; merged current main cleanly.", + "checks": "grid footprint contract (676px <= 876px); diff --check (Playwright unavailable: isolated worktree has no dependencies)" }, { - "date": "2026-08-13", - "ref": "PR #1889 post-merge verification (supersedes inaccurate PR #1921 record)", - "head": "9a0a00be33dedb01e9d59e81f42225cc6f9d3939", - "scope": "therapy-compass filter contract and rollout chronology", - "outcome": "Verified current main: #1889 introduced the live therapy convergence and #1885 later merged an identical tree; #1878 introduced services and #1882 later merged an identical tree. Shared therapy filter semantics are coherent. The #170 completion is already queued on main; registry serialization coverage remains tracked separately.", - "checks": "GitHub merge times and tree SHAs; current-main source review" + "date": "2026-08-12", + "ref": "1849", + "head": "34e5581c4418ef8a08909dff9ecf91d4a8f622de", + "scope": "full PR diff and unresolved review feedback", + "outcome": "P1 setup-only PAT remained accessible through gh credential storage; removed agent-phase PAT persistence and retained safe base/shim changes", + "checks": "check:codex-cloud PASS; docs:check-inventory PASS; focused Vitest blocked by active repository lease" }, { - "date": "2026-08-13", - "ref": "PR #1894 / codex/fix-dsm5-search-bar-and-optimize-results-page", - "head": "3f81562621d59eb4ee15311ea5d484245656ac7e", - "scope": "Fresh exact-head PR review and DSM Playwright collection repair", - "outcome": "Found and fixed PR-introduced P2: the 1024px DSM geometry regression spec was excluded from Playwright collection and required PR shards; distinct manual adversarial pass found no additional P0-P2 defects", - "checks": "static collector and shard parity proof; production matcher regression assertion; source, filter-contract, merge-tree, and thread review; local npm and Playwright unavailable because github.com DNS failed and gh was absent; hosted CI pending" + "date": "2026-07-28", + "ref": "PR #1304 / `fix-test-run-lock`", + "head": "352eedfeb4bcec2665201188c1113fceab7d565d", + "scope": "CI/conflict babysit + Bugbot", + "outcome": "FIXED. Real content conflicts vs main (9 files). Merged origin/main; took main for superseded test-run-lock rewrite (lease/heartbeat already present), phone chrome CSS/tests, document-top-navigation mockups, ui-primitives forced-colors, and ultra-review prompts. Kept knip.json cleanup removing unused `ignoreDependencies: [\"tailwindcss\"]` (only unique product delta). Bugbot: zero `cursor[bot]` findings; 0 review threads. Local `verify:cheap` PASS (4114 tests). Hosted CI re-running on merge tip; mergeable=MERGEABLE.", + "checks": "merge-tree then manual resolve; verify:cheap PASS; Bugbot triage; no provider-backed checks." }, { "date": "2026-08-13", - "ref": "PR #1894 / codex/fix-dsm5-search-bar-and-optimize-results-page", - "head": "ae0833b902dc3fa34afeed0bb1778533d19d8fec", - "scope": "DSM search filters, result layout, and 1024px clipping review-and-fix", - "outcome": "Fixed PR-introduced 1024px result-action clipping with 48px action tracks, a shrinkable lg diagnosis column, and xl-only wide sizing; migrated the legacy ledger row; distinct manual adversarial pass found no additional P0-P2 defects", - "checks": "static layout arithmetic; new Playwright 1024px geometry regression; source and test blob verification; local npm and Playwright unavailable because github.com DNS failed and gh was absent; exact-head hosted CI pending" + "ref": "codex/specifier-map-compare-20260813 (PR #1912)", + "head": "3543ad63890686ecf3ff57aaae26a7dabaca4060", + "scope": "PR #1912 heavy review follow-up: regression test type correction", + "outcome": "Exact-head Build on 5910cda failed only because the new regression cast a plain function to LucideIcon. Replaced the fake cast with the repository's real lucide-react Circle export; production hook fix is unchanged. This supersedes the earlier review record's incomplete compile confidence for the regression.", + "checks": "GitHub Build log reproduced TS2352 at tests/use-in-page-section-nav.dom.test.tsx:27; replacement blob 45ad89ad5307588cbd0bb28fb3f89511301030e2 verified from GitHub; previous deterministic history-race model and diff checks remain applicable; exact-head CI rerun pending." }, { - "date": "2026-08-13", - "ref": "PR #1903 / codex/dynamic-mode-header", - "head": "3e8c3ed85e1d052cc686fcbbbab9ba708bd89078", - "scope": "dynamic mode header exact-head CI repair and adversarial follow-up", - "outcome": "Fixed PR-introduced style-contract registry blocker by documenting mode-nav as a non-visual density-profile/query-container scope; no additional P0-P2 finding in changed scope.", - "checks": "Actions Unit coverage failure reproduced; latest-base merge reviewed; reconstructed source blob verified; TypeScript transpile and focused registry proof passed; fresh exact-head CI pending" + "date": "2026-07-31", + "ref": "origin/cursor/codebase-indexing-optimize-7a2b", + "head": "354468584ba7b6bf41f1fad36fcbd96a7da80e31", + "scope": "branch-cleanup", + "outcome": "safe remote delete: tip is ancestor of exact merged PR #1171 head; archived batch14", + "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" }, { - "date": "2026-08-13", - "ref": "PR #1916 / codex/cloud-github-auth-hardening", - "head": "1b148aa2518e287c57dad1697a0b665bd0e8a1b3", - "scope": "Cloud detached-HEAD PR selection follow-up", - "outcome": "fixed P2: fresh Cloud tasks now select the PR matching their exact detached head SHA", - "checks": "self-test PASS; format PASS; focused Vitest blocked by active repository coverage lease" + "date": "2026-07-17", + "ref": "PR #732 / claude/edge-to-edge-content-lv9x7k", + "head": "354f9bf31b56d811d8611a9b248f7aebc7cde082", + "scope": "open-PR review + merge babysit", + "outcome": "No high-confidence P0-P2. Phone shell/sheet/settings replace dvh clamps with h-full inside fixed inset-0 parents (iOS Safari toolbar collapse). Merged to main via auto-merge.", + "checks": "Hosted required checks + Production UI green; pairwise merge-tree with sibling UI PRs clean." }, { - "date": "2026-08-13", - "ref": "PR #1924 / claude/refile-210-correction", - "head": "31ff86b2a66656e13838545613052e4e13f70d57", - "scope": "PR #1924 babysit: #210 inbox correction", - "outcome": "Confirmed and fixed the P2 false claim that Next mutates the isolated Playwright tsconfig; retained the narrower inherited-root-include risk; no other PR-introduced defects found.", - "checks": "Exact-head PR required, SAST, and secret-scan checks green at 31ff86b; Next 16.3 source audit; TypeScript child-config --showConfig and --listFilesOnly probe; JSON parse and focused diff review." + "date": "2026-07-30", + "ref": "origin/main", + "head": "3569e7888bba5d11f143f27c11eb9bfa58800e4f", + "scope": "dependency installation and CI reproducibility", + "outcome": "no P0-P2 findings; corrected stale setup-ui-e2e cache description", + "checks": "manifest-lock parity; Actions pins; merge-marker scan; merged PR 1360 diff" }, { - "date": "2026-08-13", - "ref": "PR #1930 / claude/viewer-ledger-truth-pass", - "head": "2ac0f48a820be62947112efbb5d0845a702dad8e", - "scope": "heavy review-and-fix: ledger truth, SessionStart runtime remediation, and focused tests", - "outcome": "Fixed three confirmed P2 review findings and one additional P2 test-isolation defect. Corrected bbox runtime-flow and #215 completion claims; completed caller-persistent Node remediation; removed the resolved queued runtime issue; no P0/P1 findings. Remaining viewer and ledger requests were source-validated.", - "checks": "bash -n; focused Node/shell regression harness PASS; TypeScript syntax PASS under Node strip-types; JSON parse PASS; distinct manual adversarial pass; full Node 24 npm gates deferred to exact-head CI because no authenticated checkout or compatible local runtime" + "date": "2026-07-28", + "ref": "PR #1267 / dependabot/github-actions (merged)", + "head": "359b0e1a21a489978f00df8075ebcd906d57de4b", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED. Allowlisted anthropics/claude-code-action be7b93b (v1.0.183 peeled tag) in github-action-pins.mjs; pin check PASS.", + "checks": "hosted-pr-required,static,unit,check-github-action-pins,tag-peel-verify" }, { - "date": "2026-08-13", - "ref": "PR #1933 / codex/performance-live-closeout", - "head": "f86f71413e6d949d37ac82eb94314aa34562351a", - "scope": "heavy PR review and focused fix", - "outcome": "Confirmed one P2 ledger-identity defect: the proposed post-deployment update would overwrite canonical #117 and discard unresolved Therapy work. Queued an immutable cancellation for the faulty update plus a separate P2 performance issue, preserving both workstreams; no runtime behavior changed. Independent CodeRabbit review was unavailable because the repository hit its review limit, so a distinct manual adversarial pass was completed.", - "checks": "Exact-head PR required, Static PR checks, Semgrep, Semgrep ingestion gate, Gitleaks, GitGuardian, and PR mergeability passed; manual request-schema and cancellation-plan validation passed; local checkout and npm checks unavailable because the execution container could not resolve github.com." + "date": "2026-07-17", + "ref": "PR #704 / codex/scroll-geometry-stability-20260717", + "head": "35e74ddbd61bacc5b34f06efbd58091f092665fd", + "scope": "nested scroll-source review follow-up", + "outcome": "Confirmed the outside-diff CodeRabbit finding: the standalone shell shared one intent history across main and descendant scroll containers, so a switch from a deep main offset to a near-zero nested offset could falsely reveal chrome. Scroll metrics now identify their source, source changes rebase direction and travel while preserving visibility, and unit/UI regressions cover the switch. No unresolved actionable review finding remains.", + "checks": "Focused Vitest 9/9; TypeScript; scoped ESLint; Prettier; `git diff --check`. Exact-head hosted CI and UI remain required after push. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-08-13", - "ref": "PR-1845", - "head": "795ce38e165ce44e167038839a914b2efdb77dae", - "scope": "current-main merge, CI repair, and open-comment review", - "outcome": "preserved the current-main ledger; canonicalized whitespace-only q to the non-empty legacy query; replaced the stale clear-filter Playwright locator; no unresolved review threads remained", - "checks": "pending fresh GitHub CI" + "date": "2026-07-24", + "ref": "`mobile-ergonomics-fixes`", + "head": "35e96844fc8bd94e7737229cb01174d1a0f9689f", + "scope": "PR #1156 mobile touch ergonomics review", + "outcome": "APPROVE. Found and fixed two findings: a P1 invalid CSS calc syntax breaking horizontal scroll masks (`calc(100%-1.5rem)` -> `calc(100%_-_1.5rem)`), and a P2 transform collision in `globals.css` where global `scale(0.97)` active states overrode Tailwind's composite variables (reverted to `translateY(1px)`). The `modal-landscape-container` safe-area padding correctly uses `max(1rem, var(--safe-area-left))` so it is safe on portrait. No further P0-P2 findings.", + "checks": "Local static inspection and visual review of DOM tree. Heavy tests were locked out by concurrent verification in `remediate-audit-system-issues`. Hosted CI tests will execute automatically on PR push. No provider actions were run." }, { - "date": "2026-08-13", - "ref": "work", - "head": "a9e7331cd0b4f72b4cc7251ddf135c590d936256", - "scope": "guide dialog UX, scrolling, answer verification preview, and mobile bottom action", - "outcome": "Implemented focused fixes; no unresolved high-confidence defects in changed scope", - "checks": "guide DOM 9 passed; Chromium guide smoke passed; typecheck passed; manual 390x844 screenshot and scroll check passed" + "date": "2026-07-17", + "ref": "codex/pwa-privacy-safe-20260717", + "head": "35fa8c929d44a9bd84b3f7f2b795354d3b6dae02", + "scope": "privacy-safe PWA shell and merge-readiness review", + "outcome": "No remaining high-confidence product defect in the changed scope. The pre-push browser gate found and fixed one P2 test defect: cleanup referenced `PWA_CACHE_PREFIX` without passing it into the browser context, and the cold installability flow now has a focused 120-second budget. The worker caches only the generic offline page and allow-listed public shell assets; navigations, APIs, auth, queries, documents, uploads, signed URLs, range requests, and cross-origin traffic remain network-only.", + "checks": "Current-main integration; focused Vitest 81/81; full uncached ESLint; TypeScript; scoped Prettier and diff checks; production Webpack build generated 1,043 pages and the client-bundle secret scan passed; full Vitest produced 2,506 passes plus six contention timeouts, with all affected files passing 24/24 serially; focused Chromium PWA 2/2. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-08-12", - "ref": "1815", - "head": "27ce96e1755055ceee2eeae02d6efdf11259fcde", - "scope": "babysit", - "outcome": "fixed", - "checks": "Unit coverage: targeted vitest passed: tests/shared-home-empty-state.dom.test.tsx (17 passed). PR required still blocked on pre-existing check failure at old remote head before sync." + "date": "2026-07-30", + "ref": "PR-1442", + "head": "35fc11a2665ecd0464a23949babbbddba8055dcd", + "scope": "PR #1442 documentation synchronization automation", + "outcome": "hook is fail-closed for mixed staged inputs and does not auto-stage; generated inventories remain deterministic; no findings", + "checks": "docs update/checks pass; focused Vitest 4 passed; issue and ledger guards pass" }, { - "date": "2026-08-12", - "ref": "1846", - "head": "e34a617d493d4ea89de49c089db3095e3f21fe31", - "scope": "full PR diff and unresolved review feedback", - "outcome": "P2 scope premise repaired with a production query that returns the displayed two-result subset", - "checks": "focused Vitest passed (1); focused ESLint passed" + "date": "2026-08-14", + "ref": "codex/account-setup-polish-20260814", + "head": "3606707b65a82f5ace23f8a162f9b229f83b7019", + "scope": "account setup responsive auth privacy UI", + "outcome": "No reproducible P0-P3 findings; local dev-server stale chunk was cleared by repository-safe restart and did not reproduce", + "checks": "live desktop and 390px phone review; axe WCAG A/AA 0 violations; focused DOM 17 passed; focused Chromium desktop and phone passed; typecheck, formatting, production-readiness passed; verify:pr-local timed out after 15 minutes without decisive output" }, { - "date": "2026-08-12", - "ref": "1848", - "head": "c65b9d91b760862c2ff9d5001974670219c5da02", - "scope": "full PR diff and unresolved review feedback", - "outcome": "P2 hint contrast and live-count width fixes applied", - "checks": "focused Vitest passed (81); focused ESLint passed; design-system contract passed" + "date": "2026-08-15", + "ref": "claude/capture-ongoing-drop-question", + "head": "367ef8e1414a3ebf81102884fa48298f16068093", + "scope": "docs/outstanding-issues-inbox — capture the unreconciled drift count", + "outcome": "Queued one P1 add request: check:drift reported missing_live 21 (2026-08-09) then 20 (2026-08-14) despite two indexes being restored between, so the expected figure was 19; the gap is consistent with an ongoing drop mechanism. Recorded as inference not fact. Carries a stop rule against beginning the restoration window until resolved. Filed as add rather than a #316 update to avoid colliding with the #316 update already queued in PR #1970.", + "checks": "verify:pr-local (11 completed, 0 failed)" }, { - "date": "2026-08-12", - "ref": "1849", - "head": "34e5581c4418ef8a08909dff9ecf91d4a8f622de", - "scope": "full PR diff and unresolved review feedback", - "outcome": "P1 setup-only PAT remained accessible through gh credential storage; removed agent-phase PAT persistence and retained safe base/shim changes", - "checks": "check:codex-cloud PASS; docs:check-inventory PASS; focused Vitest blocked by active repository lease" + "date": "2026-07-30", + "ref": "codex/review-pr1423", + "head": "369f9ac809a1a15acb0d7456a782f98a5ea7a297", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1423 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-12", - "ref": "1850", - "head": "a08a0f6794da6990aae0d3446c43eb37f51b7f84", - "scope": "PR #1850 full diff vs origin/main", - "outcome": "merge-conflict resolved cleanly; no remaining actionable findings", - "checks": "merge-tree clean; installed-lock-parity pass; focused in-page-nav DOM 34/34 pass (single worker); changed-file format pass; pre-merge audit pass; hosted CI pending" + "date": "2026-07-30", + "ref": "codex/review-pr1423", + "head": "369f9ac809a1a15acb0d7456a782f98a5ea7a297", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1423; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no open PR" }, { - "date": "2026-08-12", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "2553b64b2342b0ef2ebef0afde152e76c1252496", - "scope": "Ledger sweep round 2: open-PR cross-check plus clinical/answer-surface verification", - "outcome": "24 rows flagged IN FLIGHT against 7 open PRs (none had said so); 3 answer-surface rows archived (#166 #208 #216); #250 wave plan re-scoped; main-merge conflict resolved preserving both sides, 23 branch changes re-applied via the writer", - "checks": "verify:pr-local 10/10 green; check:outstanding-issues 121 open/180 archived, no ids deleted from base" + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "36c1bccd89f976bcae3dabf8f5787198db5df078", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in 36c1bccd89f976bcae3dabf8f5787198db5df078, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", + "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" }, { - "date": "2026-08-12", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "586012639565e4d3306b44361ebc5a3bdb3024ad", - "scope": "Land PR #1838 ledger sweep; close #147 mobile CLS by measurement", - "outcome": "Merge resolved as union (main renumbered #302/#303 to #306/#307 — not lost, correcting an earlier claim); #306/#307 archived as already-delivered. #147 archived on two identical offline Lighthouse runs: mobile CLS 0.035/0.000/0.013/0.081/0.000, all under 0.1, cause fixed by PR #1616 not this session. #118 updated (browser drift 141-vs-151, wider than recorded); new #308 for desktop /documents/search CLS 0.119", - "checks": "verify:pr-local 10/10 green; check:outstanding-issues 121 open/185 archived; verify:lighthouse x2 (gate ungraded on browser drift, measurements valid)" + "date": "2026-07-11", + "ref": "PR #483 / claude/differentials-page-review-a3daaf", + "head": "36cca1bf7c13718dcc60a61b75272c7c4fa5cd44", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "P2 fixed: authenticated diagnosis detail responses now derive related links, overlap links, and comparison presentation from the owner's current diagnosis and presentation rows rather than the bundled snapshot. Added an owner-only catalog regression test. No additional high-confidence defect was found in the changed scope.", + "checks": "Focused differentials route/catalog Vitest (26/26); TypeScript; focused Prettier; `git diff --check`. Production readiness ran fail-closed with provider variables cleared and reported only expected missing provider configuration." }, { - "date": "2026-08-12", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "970d39bc7023823d3283c660df090659a2f07aec", - "scope": "Full outstanding-issues ledger sweep: 47 rows individually verified against merged main", - "outcome": "19 archived (delivered or duplicate), 10 re-scoped with re-measured evidence, 1 refuted (#293), 4 machine-local rows annotated do-not-close-from-cloud; 98 rows bucketed by blocker, not individually verified", - "checks": "verify:pr-local 10/10 green; check:outstanding-issues 126 open/175 archived, no ids deleted from base" + "date": "2026-07-13", + "ref": "claude/differentials-page-review-a3daaf", + "head": "36cca1bf7c13718dcc60a61b75272c7c4fa5cd44", + "scope": "branch-cleanup", + "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/differentials-page-review-a3daaf; git diff --name-only reported 19 path(s)." }, { - "date": "2026-08-12", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "a6bfc6f2707975d9b9c649843e083965c80afb9c", - "scope": "Tier 1 design-issue re-verification: archive #171/#172/#174/#181/#273/#274/#302, correct #293", - "outcome": "docs-only; six rows verified delivered on main, min-h-tap finding refuted as deliberate sm: step-down", - "checks": "verify:pr-local (10/10 green); check:outstanding-issues 138 open/163 archived" + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138 merge-ready)", + "head": "36d86fd0", + "scope": "Babysit closeout", + "outcome": "CodeRabbit: stable RelatedDocuments callbacks, identity-based progressive reveal, clear differential LRU on 401, Sheet unmount focus-restore via layout flag, formulation/therapy clear. Bugbot: live therapy filters with deferred query text. CI PR required green; 0 unresolved threads.", + "checks": "Focused Vitest; hosted CI PR required PASS." }, { - "date": "2026-08-12", - "ref": "claude/design-issues-triage-wnr7k9", - "head": "e6eb4c64b28141654bf5eb38121e657f3c2ef77c", - "scope": "Capture two session findings into the ledger (#310 fuzzy drug-match, #311 loss-detector)", - "outcome": "docs-only; #310 records a measured cross-drug fuzzy match in open PR #1851 (fluoxetine->duloxetine at distance 2) with a tested one-line cap; #311 records promoting the derived ledger loss-detector to scripts/", - "checks": "verify:pr-local 10/10 green after npm ci; check:outstanding-issues 114 open/195 archived" + "date": "2026-08-14", + "ref": "codex/windows-tooling-followups-pr", + "head": "36ebe9feeb06d2da551b14cbf79930ba15f81b41", + "scope": "PR #1917 no-merge-base guard review", + "outcome": "pass", + "checks": "manual adversarial review; exact two-file diff reviewed; advanced-main scope PASS; fallback regression PASS; syntax PASS; POSIX fixture scoped explicitly; no canonical ledger edit" }, { - "date": "2026-08-12", - "ref": "claude/filter-contract-global", - "head": "a0add717c2521c7fdeba4da5b094377014383c3e", - "scope": "global filter contract: lens/facet kinds + docs/filter-contract.md (no rendered change)", - "outcome": "PR #1847 opened; additive only, zero call sites touched; fixed an accessible-name leak caught by the new DOM tests", - "checks": "verify:pr-local fully green (no failures), 4 new DOM tests, git diff over all 7 mode files empty" + "date": "2026-08-14", + "ref": "codex/windows-tooling-followups-pr", + "head": "36ebe9feeb06d2da551b14cbf79930ba15f81b41", + "scope": "PR #1917 no-merge-base guard review (supersedes 2026-08-14)", + "outcome": "pass", + "checks": "manual adversarial review; exact regression PASS; syntax PASS; hosted Prettier 3.9.6 identified one test-only format defect; canonical formatting applied; no canonical ledger edit" }, { - "date": "2026-08-12", - "ref": "claude/filter-facet-formulation", - "head": "9262d89701808c58e3812a60b982596bb3f2b218", - "scope": "filter contract PR B: formulation facet adoption (derive domains, union counts, evict query-replacing presets)", - "outcome": "PR #1858 opened; domain converted from 12 radios to 9 derived facet chips (Biological/Social/Cultural carried by 0 of 12 mechanisms, removed per derive-dont-declare); union counts verified monotonic and non-additive (Affect 9 OR Risk 4 = 10); zero-yield options render as focusable dead ends, never on an already-selected option; Pattern group evicted from the sheet to AnswerSuggestionChips (all 5 presets, old slice(0,4) left one unreachable); ResultFilterFacetChips exported so desktop rail and sheet share one renderer; desktop select of 13 retired. Shares result-filter-control.tsx with PR #1857 - land #1857 first, its accessible-name fix then covers these chips", - "checks": "verify:pr-local failed:(none) not reached:(none), all 15 steps green including build with the server stopped; full unit suite 558/558 files, 6101 passed 4 skipped, zero failures; formulation.test.ts 11 passed with 3 new contract tests; bundle-budget production 1296.1 KiB and mockups 285.1 KiB within tolerance on a freshness-verified build; browser proof 1440/390/320px, 0px overflow, 9 chips not 12, 0 selects, 5 suggestion chips, live dead-end-to-selectable transition on union widening, phone sheet radiogroup count 0" + "date": "2026-07-13", + "ref": "claude/icon-design-review-393584", + "head": "370cd7bdd6ca45484c14d04b66c51c3394472dd0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #519; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-12", - "ref": "claude/filter-lens-modes", - "head": "5cf8871ef122ec9e3d9b25ea65c4643d5a2cf2ba", - "scope": "filter contract PR A: lens adoption across differentials, medication, applications, specifiers", - "outcome": "PR #1857 opened; 4 bespoke aria-pressed rails converged onto SegmentedControl with one shared option array per mode; specifiers footerNote fixed (counted results+catalogueMatches while filters govern only results); ResultFilterSheet counted-option accessible name fixed (All8 -> All (8)) on both group kinds; SegmentedControl gained group-level ariaControls so the launcher keeps #launcher-results-panel; dead SpecifierFamilyFilterChips removed; scope segment deliberately deferred to services per filter-contract.md s4", - "checks": "verify:pr-local all steps green except build, which failed on the /issues #210 dev-types corruption and passed on a clean rebuild; unit suite 6100 passed/4 skipped with one 30s timeout (not an assertion failure) in design-sync-contract under parallel load, passing in isolation 7/7; bundle-budget production 1297.7 KiB and mockups 285.1 KiB both within tolerance on a verified-fresh build; browser proof at 1440/800/390/320px on all four modes, 0px overflow, 48px targets" + "date": "2026-07-13", + "ref": "origin/claude/icon-design-review-393584", + "head": "370cd7bdd6ca45484c14d04b66c51c3394472dd0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #519; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-12", - "ref": "claude/filter-popup-design-mockups-x6sbjv", - "head": "2f69b2346eced0a5dfc120b22ba9391e27367bb3", - "scope": "filter sheet restyle: 3 styles on formulation + scope segment", - "outcome": "PR #1846 opened; design-scratch only; documents 3 source-verifiable defects (0-match domains, unused formulationDomainGroups, preset slice)", - "checks": "verify:pr-local fully green (no failures), clean build, bundle-budget both baselines within tolerance, 320px 0px overflow measured and fixed" + "date": "2026-07-28", + "ref": "cursor/mode-secondary-navigation-dc4e", + "head": "3712edca0a4ea0638668d316c8696a695d180256", + "scope": "pr-1336", + "outcome": "nav-port-ready; UI chrome gate pending", + "checks": "vitest-51+58+4186,tsc,eslint" }, { - "date": "2026-08-12", - "ref": "claude/filter-popup-design-mockups-x6sbjv", - "head": "5e41d164e30e8f5a74b255fbeafd34123385dbb9", - "scope": "services filter: round-two options study (stop-the-bleed / recommended / presets-evicted)", - "outcome": "Pushed to PR #1828; merged babysit fixes to round-one facet semantics; design-scratch only", - "checks": "verify:pr-local (1 pre-existing root-uid failure only), build, check:rag:fixtures, bundle-budget mockups 286.8 KiB within 25% tolerance, counts re-verified vs snapshot, 320px 0px overflow" + "date": "2026-08-26", + "ref": "PR #2384", + "head": "37313af8b59c1a673fc1157c8a0ac738e92ffdb2", + "scope": "PR #2384 Ward Flow Phase 5 docs and sidebar changed scope", + "outcome": "Post-merge review: original head tree matches squash merge; two review threads fixed and resolved; nonblocking Advisory UI exposed exact-minute countdown test flake fixed in follow-up. CodeRabbit breakpoint-token nitpick dispositioned: the selector must remain coupled to the Ward sidebar's shared literal 64rem contract.", + "checks": "Hosted PR required aggregate passed; 94/96 advisory UI tests passed with one skipped and one exact-minute assertion failure; local focused rerun initially blocked by coordinator EPERM while queued behind an active exclusive Playwright lease." }, { - "date": "2026-08-12", - "ref": "claude/rag-canary-test-review-seprbt", - "head": "bcf357a96fde74d39fc4726ffabb5079a744ef28", - "scope": "eval-canary review: workflow, compare tooling, snapshot builder, alias tiering, rag-behaviour docs", - "outcome": "PR #1843 opened; no retrieval behaviour change; snapshot refresh handed off as /issues #304", - "checks": "verify:pr-local (green except env-only #296), eval:rag:offline 574/574, focused suites 40/40" + "date": "2026-08-13", + "ref": "claude/patient-interactions-drug-alerts-3tztvw", + "head": "378dc1b2c966d7765c086581245b86e4e810bc23", + "scope": "medication interaction lexicon review sheet + reverse-direction note wording", + "outcome": "ARB/carbapenem misclassification fixed; divergent duplicate Warfarin records reported; reverse-only alerts now carry their text", + "checks": "verify:pr-local 27/27 green (failed: none, not reached: none), 6326 unit tests" }, { - "date": "2026-08-12", - "ref": "claude/segmented-control-count", - "head": "d5ff3160242986d2fac80ed9a915390b5c69b6e1", - "scope": "SegmentedControl option hint slot (filter rollout prerequisite)", - "outcome": "PR #1848 opened; additive, no call site passes hint yet; fixed a concatenated accessible name (All62 -> All (62))", - "checks": "lint/typecheck/test green, 80 in ui-v2-components, 56 design-sync with no regen needed, clean build, bundle-budget within tolerance" + "date": "2026-07-25", + "ref": "cursor/codebase-indexing-optimize-7a2b (PR #1171)", + "head": "37a534fb4b89ba504bec00f4c91932a251f0739a", + "scope": "PR babysit: retrigger required CI", + "outcome": "Empty sync after main advanced; no product change.", + "checks": "No provider-backed checks." }, { - "date": "2026-08-12", - "ref": "claude/ui-smoke-flake-290", - "head": "e41ceaf9f885cf929b32b4d6e17c445b617cde1f", - "scope": "#290 ui-smoke flake reproduction attempt on current main; browser-preflight findings", - "outcome": "#290 archived not-reproducible: 3x full ui-smoke chromium runs 97 passed/0 failed/0 flaky each (291 executions) plus isolated repeat-each=5 on the named reproducer 5 passed at ~1.1s vs the ~11.5s failure signature; recorded as evidence not proof (row measured 2/5 and 3/5 failure rates) and resolved by drift past base 9ab3b73a. New #312 records that check:playwright-browser-revision OK means no root FORCED not browsers present, and that npx playwright install chromium + --project=chromium is a cheap first option", - "checks": "verify:pr-local 10/10 green; check:outstanding-issues 114 open/196 archived; 3 full ui-smoke runs captured to file with real exit codes" + "date": "2026-07-27", + "ref": "`codex/remaining-safe-fixes-20260727`", + "head": "37c1fd9a10fc953013ef9bdbcff9d2bad681dab4", + "scope": "Protected-main review of focused document-search timeout and reconciliation evidence", + "outcome": "APPROVE. The staging tenancy failure was reproduced against the 750 ms federated timeout, then fixed by restoring the historical 6,000 ms budget only when documents are the sole requested domain; multi-domain requests retain the 750 ms cap. The diff does not change retrieval, ranking, ordering, aliases, scores, ownership, or selected results. Current canary, production-content, staging-boundary, and migration-gap evidence is recorded without overstating the remaining browser or schema work. No P0-P3 finding remains. Residual operational risk is the exact 23-migration staging reconciliation and post-merge tenancy proof.", + "checks": "Red/green fake-timer contract PASS; focused search/RAG tests 77/77; offline RAG 36 cases / 309 tests PASS; production-readiness READY (8 PASS, two isolated-checkout file warnings); `verify:cheap` PASS (25 gates); `verify:pr-local` PASS (393 files, 3,526 passed / 2 skipped, production build/client-secret scan, 36 offline RAG fixtures); no new live RAG dispatch or OpenAI spend." }, { - "date": "2026-08-12", - "ref": "codex/chat-account-setup-elevate-account-setup-elevate-20260813", - "head": "eddac9fe2b1b87f9c31f995675091c92b19b58a1", - "scope": "account setup redesign and Apple OAuth wiring", - "outcome": "READY: no findings; live Apple provider activation remains operator-gated", - "checks": "focused auth DOM 24/24; targeted Chromium 2/2; lint/typecheck/build/design contracts passed; RAG fixtures 36/36; full Vitest blocked by baseline Windows hook failures; PDF isolated 9/9" + "date": "2026-07-24", + "ref": "codex/query-ribbon-search-headings (PR #1166)", + "head": "37cfa5553ccb784ee5e9f47ded1ad69914c053ed", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Final HEAD after merge origin/main + ledger bookkeeping. 0 unresolved threads; no Bugbot actionable findings; required CI re-running on this SHA.", + "checks": "merge origin/main; no provider-backed checks run." }, { - "date": "2026-08-12", - "ref": "codex/chat-ecg-pulse-optimisation-answer-ecg-animation", - "head": "6a8f940f3a1a2521b17e52f85218755e43046269", - "scope": "ECG pulse animation optimisation", - "outcome": "No findings; lightweight SVG/CSS animation confirmed", - "checks": "format; design contract; typecheck; focused Vitest 41/41; focused Chromium ECG journeys; production build; full suite environment failures; offline RAG fixtures 36/36" + "date": "2026-07-24", + "ref": "`codex/query-ribbon-search-headings` (PR #1166)", + "head": "37cfa5553ccb784ee5e9f47ded1ad69914c053ed + reviewed correction diff", + "scope": "Correction: universal Query Ribbon implementation and responsive search-heading review", + "outcome": "SUPERSEDES the earlier row that named non-existent pre-amend SHA `16ce57d9615708528e7924b41837210a24414722`. This resolvable reviewed tip contains functional commit `0b67944b0d2973d612833422fb4074aeacdb6c8c`, current-main syncs, and the append-only ledger correction. The prior APPROVE outcome and residual-risk statement are unchanged; no P0-P2 finding remains.", + "checks": "Query Ribbon DOM 4/4 after each main sync; exact-head hosted policy, static checks, unit coverage, build, advisory UI, Production UI, safety/config, Semgrep, Gitleaks, GitGuardian, and `PR required` passed before the final docs-only correction. No OpenAI, Supabase, Railway, deployment, production-data, or clinical provider workflow ran." }, { - "date": "2026-08-12", - "ref": "codex/codex-cloud-github-action-bridge", - "head": "c633b92ed5cecac6495a2292ff7b84b11348120d", - "scope": "credential-isolated Codex Run PR operator security and reliability review", - "outcome": "3 findings fixed: trusted base-merge accounting, fail-closed dispatch and mutation preflight, generated-comment and rerun verification hardening", - "checks": "npm run test:ci-workflows (274 passed, 11 skipped); npm run check:github-actions; YAML parse plus 8 bash and 2 github-script syntax checks; clean merge of origin/main" + "date": "2026-08-22", + "ref": "PR-2291", + "head": "37e46caac7b777517d61d56c30d3582d98963a8f", + "scope": "Run PR: main merge and six P1 review fixes", + "outcome": "main merged; six P1 fixes published; local runtime blocked before executable gates", + "checks": "git diff --cached --check PASS; unmerged=0; setup blocked npm 11.9.0 vs 11.17.0; format executor disconnected; no local tests" }, { - "date": "2026-08-12", - "ref": "codex/guide-centre", - "head": "39b4b9bb0a1352b2bc3fef7062a747e7330aacdf", - "scope": "Clinical KB Guide Centre UI and guided tour", - "outcome": "No findings; ready for PR after selected gates", - "checks": "focused guide unit and DOM 14/14; focused Chromium 4/4; typecheck and PR-local stages pending coordinator" + "date": "2026-07-31", + "ref": "claude/issues-133-evidence", + "head": "37f71f02f731175e4fed500f95529c3ef9eb568f", + "scope": "PR #1506 reopen prep: sync main, renumber hazard to #155, supersede #112 residual", + "outcome": "READY — conflict cleared vs origin/main; main #154 preserved; hazard=#155 with archived #112 residual cross-link; med-accent=#156; false #155 evidence clause removed; Codex P2 addressed; Bugbot P1/P2 fixed; PR left CLOSED", + "checks": "check:outstanding-issues 154 rows/46 open next-id=157; check:branch-review-ledger 277 live; merge-tree clean da0c63d0; format no-op" }, { - "date": "2026-08-12", - "ref": "codex/implement-process-safety-for-multi-agent-workflows", - "head": "06144a7fcde8fea5dca63348bcc968fe796b152e", - "scope": "full PR diff and unresolved review feedback", - "outcome": "Fixed cached-origin truthfulness, agent-safe approval gates, UI browser proof ordering, Added-date JSON, and foreign-index handoff safety; prior #240/#253 classifier feedback already fixed.", - "checks": "focused Vitest 31/31; outstanding-issues guard pass; gate-manifest pass; git diff --check" + "date": "2026-07-31", + "ref": "claude/sentry-agent-monitoring-eri94v", + "head": "38378ac78c0b288b6e93b638019653001f375042", + "scope": "Sentry AI agent monitoring (OpenAI wrap, gen_ai scrubber allowlist, conversation id)", + "outcome": "pass — metadata-only instrumentation; privacy boundary preserved", + "checks": "verify:pr-local,verify:cheap,typecheck,vitest 458 files green" }, { - "date": "2026-08-12", - "ref": "codex/implement-process-safety-for-multi-agent-workflows", - "head": "6d054c1fa02a988829def3274b32d31c13570851", - "scope": "full PR diff and unresolved review feedback", - "outcome": "Fixed cached-origin truthfulness, agent-safe approval gates, UI browser proof ordering, index handoff safety, and synced main", - "checks": "focused Vitest 31/31; tsc --noEmit pass; git status clean" + "date": "2026-08-09", + "ref": "cursor/differentials-four-page-nav-5ebf", + "head": "384a1bedd8dd1064fb2fcf26ac845224e2cafdc4", + "scope": "PR #1774 differentials four-page nav heavy review-and-fix", + "outcome": "fixed P1 ids+Playwright; ModeNav route gate; RSC queue clears bundle+shadow; Copilot ModeNav-on-detail dispositioned (info page); ledger reorder dispositioned (merge=ledger)", + "checks": "vitest nav 47p; design-system-contract; typecheck; lint; test 5897p; build+bundle-budget 1543.7 within tol; focused pw compare queue 1p" }, { - "date": "2026-08-12", - "ref": "codex/implement-verification-policy-changes-for-multiple-tasks", - "head": "2fed97c601948b959120ff73e88be54af1dc84ba", - "scope": "pr-review", - "outcome": "clean", - "checks": "check:pr-policy, verify:pr-local --dry-run" + "date": "2026-08-18", + "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", + "head": "38573e557430493651925d093ca3f462e41f1be9", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "CI already green at head (PR required: success, Static PR checks: success, Container build-and-verify: success) prior to sweep; 0 unresolved review threads (GitGuardian test-fixture secret + stale CI-triage comment, informational only, not review threads). Branch was 25 commits behind main with a clean merge-tree; local merge of origin/main (a9552eb4) succeeded with zero conflicts and npm ci passed, but git push was blocked both times by the local pre-push ledger-write guard (guard-push.mjs), which bases its ledger-transaction check on the OLD remote tip of this PR branch (an ancestor of the merge commit) rather than origin/main -- so ~47 outstanding-issues-inbox/applied/*.json files that main had already reconciled since this Dependabot branch was created were flagged as introduced-without-moving-pending. Confirmed the underlying check-ledger-write-discipline.mjs script itself passes cleanly against the correct base (merge-base HEAD origin/main = a9552eb4), which is also what CI's check:ledger-write-discipline runs -- so this is a local guard base-selection limitation specific to merging a stale branch across a large main-side ledger reconciliation, not a real ledger violation. Per hard guardrail (heed pre-push guard blocks, never override with SKIP_LEDGER_WRITE_GUARD=1 without explicit user instruction), stopped without pushing; PR head remains unchanged at 38573e55. No code fix attempted -- nothing failing belongs to the dependency bump itself.", + "checks": "git merge-tree --write-tree origin/main : clean (single hash, no conflicts). git merge origin/main: clean, 211 files, no conflicts. npm ci --include=dev: passed (772 packages, 0 vulnerabilities). node scripts/check-ledger-write-discipline.mjs (default base = merge-base HEAD origin/main): 'Ledger write discipline passed for a9552eb40b29..HEAD.' git push origin (x2): blocked both times by guard-push.mjs ledger-write guard (base = old remoteSha 38573e55, not origin/main) -- not overridden. No provider-backed checks run." }, { "date": "2026-08-12", - "ref": "codex/implement-verification-policy-changes-for-multiple-tasks", - "head": "8177129497eb95105cdd5bba80dbf72a9f88b066", - "scope": "pr-review", - "outcome": "resolved actionable Codex review findings; updated operational-risk patterns; removed outdated metadata from PR body and title", - "checks": "verify:cheap, pr-policy self-test" + "ref": "origin/pr/1850", + "head": "385a0795d6c6f36e69c60d3b5424873115ea3e99", + "scope": "PR #1850 full diff vs origin/main", + "outcome": "P2 and CI focus regression fixed", + "checks": "focused DOM and Chromium pending coordinator; prior CI static build and UI passed" }, { - "date": "2026-08-12", - "ref": "codex/pr-workflow-safety-230-296", - "head": "bc0a491fdf4146775629f9b2b03e2a2cc61bd7cb", - "scope": "pr-1830 unblock", - "outcome": "unblocked: merged origin/main (outstanding-issues conflict), PR body RAG impact + governance, resolved Copilot thread; merge-tree clean; required CI in progress", - "checks": "check:outstanding-issues pass; evaluatePullRequestPolicy ok; merge-tree clean; PR policy/mergeability/Change scope in progress" + "date": "2026-08-08", + "ref": "cursor/presentations-catalogue-tab-fb39", + "head": "3872ea0854da2ce4e3b99ec182bb94a4cb807958", + "scope": "differentials presentations catalogue ModeNav tab", + "outcome": "shipped Presentations catalogue at /differentials/presentations; Compare entry moved to /differentials/compare; verify:pr-local passed; UI smoke confirmed 4 tabs", + "checks": "verify:pr-local; vitest design-system-adoption; curl presentations+compare; browser ModeNav QA" }, { - "date": "2026-08-12", - "ref": "codex/services-detail-system-20260813", - "head": "0017ba4f2687381017bd34099031e0e0b5500e36", - "scope": "services detail redesign responsive UX and referral actions", - "outcome": "Three P2 findings fixed; no remaining high-confidence defects", - "checks": "DOM 40/40; typecheck; lint; design-system contract; production Chromium 11/11" + "date": "2026-08-13", + "ref": "claude/rag-incremental-delivery-lpw15e", + "head": "387a403a4bf802208420f6847771ada24e1e3eb1", + "scope": "#100 Phase 0 contract proof + flag-gated Phase 1 evidence preview (stream contract, answer-preview, rag.ts emission)", + "outcome": "PR #1909 opened; flag default off, no retrieval/generation behaviour change", + "checks": "verify:pr-local failed:(none); new contract tests 13/13; production-readiness expected demo-mode gap only" }, { - "date": "2026-08-12", - "ref": "codex/specifiers-results-polish-20260813", - "head": "3e82cca69a72a66c1be87c5b9357336c3a95b7b0", - "scope": "specifier result-card layout and interaction", - "outcome": "No findings after resolving reduced-motion, dark-mode, and focus-ring review items", - "checks": "focused Chromium 1/1; lint pass; typecheck pass; RAG fixtures 36/36; full unit suite has 17 unrelated Windows/tooling baseline failures" + "date": "2026-07-30", + "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", + "head": "387ffd07887f1160fca8fe98c1c4809e852531ae", + "scope": "process anti-conflict merge readiness", + "outcome": "READY after sync with main. Kept #1410 structural outstanding-issues gate; added merge=union + runtime attr check; retained #116 PR mergeability workflow and AGENTS anti-conflict playbook; dropped duplicate weaker checker/test. merge-tree clean vs origin/main.", + "checks": "merge-tree clean; check:outstanding-issues pass; check:pr-mergeability pass; check:gate-manifest pass; verify:pr-local pass" }, { - "date": "2026-08-12", - "ref": "codex/specifiers-results-polish-20260813", - "head": "bbdb8337c2784941664a88a0d35a96a8c96a2edb", - "scope": "specifier result-card layout and interaction", - "outcome": "Current-main sync introduced no changes to reviewed Specifiers scope; no findings after resolved review items", - "checks": "focused Chromium 1/1; lint pass; typecheck pass; RAG fixtures 36/36; full unit suite has 17 unrelated Windows/tooling baseline failures" + "date": "2026-07-30", + "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", + "head": "38ae07b989e6414026235debad0e429ba64cf462", + "scope": "process anti-conflict merge readiness", + "outcome": "READY at final tip. Same as prior READY plus this ledger append only; merge-tree still clean vs origin/main.", + "checks": "merge-tree clean; verify:pr-local on 387ffd07 parent (4480 passed); tip is ledger-only follow-up" }, { - "date": "2026-08-12", - "ref": "origin/pr/1850", - "head": "385a0795d6c6f36e69c60d3b5424873115ea3e99", - "scope": "PR #1850 full diff vs origin/main", - "outcome": "P2 and CI focus regression fixed", - "checks": "focused DOM and Chromium pending coordinator; prior CI static build and UI passed" + "date": "2026-07-29", + "ref": "claude/clinical-design-system-update-e34ca9", + "head": "38bc5682abc4ceca26eca9dfba63872e1cf032be", + "scope": "PR #1375 conflict fix + Bugbot", + "outcome": "FIXED Production UI flake: form-detail-page strict-mode double main during hydration; expectSingleSettledOwner on desktop+mobile form detail tests. Prior conflict fix retained. MERGEABLE; CI re-running.", + "checks": "local: form detail e2e 2/2 PASS; prior verify:cheap/typecheck/lint green. Hosted Production UI was fail on 0a3f7a6d; awaiting tip recheck." }, { - "date": "2026-08-12", - "ref": "PR #1595 / claude/ds-v2-adopt", - "head": "590eb6cfb229c5ae0f7a5025352fa871d8321521", - "scope": "Supersedes 2026-08-03 PR-J clinical-governance review at f9f73c707d9b6b6226fc04d172fef8e426513055; accepted delta through merged PR head", - "outcome": "SUPERSEDES the earlier PR-J clinical-governance row for merge evidence. The final delta added the answer-state projection, the two scoped review fixes, and the clinically approved #228 attribution wording. The user accepted that delta without a second clinical-governance review; this record preserves that explicit limitation rather than implying the earlier review covered the final tree.", - "checks": "Final PR head 590eb6cfb229c5ae0f7a5025352fa871d8321521; squashed to main as f4448f8c1 (historical mapping recorded in #232); no new provider or clinical review performed" + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "38cc02e042c10ff6b09fd14dc2fe96c5d784a5f1", + "scope": "PR #1441 Docker build-context follow-up", + "outcome": "approved after exact app-image log showed Dockerfile is intentionally absent from COPY context", + "checks": "Docker-isolation self-test pass with local Dockerfile; absent-file path guarded; format and diff pass" + }, + { + "date": "2026-07-22", + "ref": "PR #1062 / `codex/chat-supabase-rls-title-words-0ef3`", + "head": "38efe6d7ab8c3ea7c550f6c30bbcefd527a23a2a (merged as ae950de196b2a8e39e88226f41ef941be14e415d)", + "scope": "Backend-only title-word policy and live-drift review", + "outcome": "MERGED. Service-role-only RLS/ACL contract retained; browser roles remain revoked. Read-only live comparison found no unexpected drift and no migration apply was needed. Review thread resolved.", + "checks": "Focused schema 67/67; PostgreSQL replay/drift/grant/owner guards; production-readiness READY in the credential-bearing source checkout; live read-only drift clean." }, { - "date": "2026-08-12", - "ref": "PR #1815 / claude/spacing-icon-design-review-rxwh28", - "head": "9f266210f02081be54d407c70a85f52fed436128", - "scope": "babysit", - "outcome": "no remaining actionable findings; one pre-existing thread resolved as no-change (Dockerfile.worker follow-up needed)", - "checks": "required checks: Gitleaks PR policy PR required (all pass); targeted vitest passed: tests/document-frame-contract.test.ts + tests/in-page-nav-header.dom.test.tsx" + "date": "2026-07-19", + "ref": "work", + "head": "39378863a5d713bfdeb617377a90319ae75810d4", + "scope": "Repository-wide static review sweep across security/auth/privacy, RAG/clinical answers, database/RLS, UI/accessibility, CI/release automation, dependencies/build/runtime, and local verification hygiene.", + "outcome": "Findings recorded in docs/audit/repo-wide-review-sweep-2026-07-19.md. Highest severity: P1 summary-mode non-stream route contract drift; P1 release PR policy coverage gap.", + "checks": "npm run workflow:flightplan -- --write-evidence (pass); npm run format:check (failed existing formatting drift); npm run check:knip (failed missing node_modules); npm run typecheck (failed missing TypeScript binary); npm run lint (failed heavy-run lock because typecheck was active); npm run check:runtime (failed missing tsx/node_modules). Provider-backed checks skipped per confirmation boundary." }, { - "date": "2026-08-12", - "ref": "PR #1854 / codex/chat-differentials-results-design-differentials-results-design", - "head": "86f7d22c0b5d6204708547740fc44228853a9662", - "scope": "review-and-fix", - "outcome": "Fixed the append-only ledger conflict and added a truthful zero-count result-type empty state with reset action; synced current main.", - "checks": "focused Differentials DOM test passed; typecheck passed; fresh hosted CI required on final head" + "date": "2026-08-22", + "ref": "PR #2265", + "head": "393f114b0ca87dedaee93712b42d5e4098275c95", + "scope": "full PR merge-safety review", + "outcome": "FIXED: pre-push type error removed; loading inventory, mergeability contract, closure evidence, formatting, and current-main snapshot blockers repaired", + "checks": "typecheck PASS; check:pr-mergeability PASS; check:outstanding-issues PASS; check:design-system-contract PASS; format:changed PASS; full unit 7404 pass/14 Windows-environment failures; merge-tree clean" }, { - "date": "2026-08-12", - "ref": "PR #1870 / claude/design-issues-triage-wnr7k9", - "head": "6edfeceeb768b5714f98dad355361ad9148374b0", - "scope": "review-and-fix", - "outcome": "Merged current main; corrected #310's per-record fuzzy-trigger analysis and regression-test condition; preserved #311; removed the temporary self-mutating workflow; no additional P0-P2 findings in a distinct adversarial pass.", - "checks": "verify:pr-local -- --files docs/branch-review-ledger.md,docs/outstanding-issues.md; check:outstanding-issues; check:branch-review-ledger; exact-head hosted CI pending" + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "39423d88bced6494ad2eed30f43fb859ab6abefb", + "scope": "Calculators mode: final current-base merge", + "outcome": "Merged latest required base after prior focused review; no conflicts or new confirmed P0-P2 findings", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; calculator registration assertion" }, { - "date": "2026-08-12", - "ref": "PR #1888 (claude/filter-contract-factsheets-pr-d)", - "head": "95515078031b4bd29d90f05986dc5eb3a36ce660", - "scope": "factsheets category counts, filter-contract correction, desktop-rail exception decision", - "outcome": "Filter contract PR D — corrected the earlier false claim that factsheets' category presets discard the query and need eviction (searchHref preserves q); kept the desktop rail as real Link elements rather than converging to SegmentedControl because /factsheets/search is a genuine server-rendered searchParams route, recorded as a documented exception in filter-contract.md; added per-query category counts to both breakpoints from one shared options array. verify:pr-local full green pre- and post-merge; bundle budget within tolerance; UI proved with pinned-Chromium Playwright (11/11) and the updated ui-smoke.spec.ts factsheets test against a real build. /issues #170 updated to correct its own stale factsheets claim.", - "checks": "verify:pr-local (green), check:bundle-budget (within tolerance), lint, typecheck, full vitest (564/564 post-merge), targeted Playwright (1/1) + manual browser script (11/11)" + "date": "2026-08-17", + "ref": "claude/s1c-residuals-r2-r3-4pb1at", + "head": "3960c46a7322018f53ab79441234132f07657197", + "scope": "S1c follow-ups: use-theme transition-timer guard + issues:done ULID display-id fingerprint, tests", + "outcome": "PR #2063 open; both loose ends from the S1c babysit fixed; no RAG surface touched", + "checks": "focused vitest 20/20 + repo-hygiene 57/57; verify:pr-local (lint, typecheck, test, build) failed:(none); live-ledger fingerprint spot-check 3/3" }, { - "date": "2026-08-12", - "ref": "PR-1835", - "head": "fe46e5ade8018d21cf15d149711579b1b43c7fb8", - "scope": "full PR diff and unresolved review feedback", - "outcome": "P1/P2 findings fixed during fresh open-PR sweep; rename-only historical review comments dispositioned no-change", - "checks": "focused drift/docs/ledger/migration checks pass; verify:pr-local static+lint+typecheck pass, unrelated Windows unit baseline failures" + "date": "2026-08-18", + "ref": "claude/docling-gate-b-eval-5czgln", + "head": "397f40d96c4c08c5da61b8fcf07e166a93cf7aba", + "scope": "packet S6b: Gate B run + decision record (eval/docling harness fixes + docs/rag-improvement records)", + "outcome": "Gate B PASS recorded from evidence run 32176604314; four latent harness defects fixed (setuptools pin, libGL, torch.compile toolchain, HTML-entity scoring)", + "checks": "verify:pr-local selected plan green (lint, typecheck, docs/ledger contracts); npm run test 673 files / 7281 passed / 4 skipped; check:rag:fixtures 36 golden / 26 suites; check:docling-lab contract passed; gate-b record valid (final mode)" }, { - "date": "2026-08-12", - "ref": "PR-1836", - "head": "eef2e275b7d5944206f1a27e23fdd78d95b383d8", - "scope": "full PR diff and unresolved review feedback", - "outcome": "No P0-P2 findings; prior review feedback already fixed and dispositioned", - "checks": "focused ledger/docs/workflow guards pass after current-main merge" + "date": "2026-07-30", + "ref": "codex/review-pr1458-v2", + "head": "398660144d93aeefc2e5649c156948a68925cb64", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1458 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-12", - "ref": "PR-1837", - "head": "401aadc1d24a99067eb0472dc4419d85502e0caa", - "scope": "full PR diff and unresolved review feedback", - "outcome": "No P0-P2 findings after current review fixes; existing dispositions verified", - "checks": "focused workflow policy and ledger guards pass after current-main merge" + "date": "2026-07-31", + "ref": "claude/root-dir-coverage-gate-v2", + "head": "398660144d93aeefc2e5649c156948a68925cb64", + "scope": "docs:check-index repo-root coverage, stale script counts, ledger correction", + "outcome": "MERGED as PR #1458 (squash 907fd9f4a). Root-directory coverage pass for docs:check-index, red-then-green proven (flagged .cursor/.design-sync/.vscode, then 49 entries vs 31). Main landed an equivalent pass independently in #1480, so the two overlapped; no duplication reached main. Row not recorded at the time - appended retrospectively", + "checks": "verify:cheap exit 0, 435 test files / 4574 tests pass; codebase-index-coverage 10/10 incl 4 new root cases; eslint clean; docs gates green; prettier clean" }, { - "date": "2026-08-12", - "ref": "work", - "head": "517fd00c794cc969b073ed92089efb1ae2fa2203", - "scope": "DSM search results filters and layout", - "outcome": "Improved mobile category filtering and result spacing; no remaining scoped defects", - "checks": "typecheck; focused DSM DOM; focused Chromium DSM journeys" + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "39ac6fde537946d0dd94712a206725969689f056", + "scope": "PR #1377 latency findings — RAG canary gate is not lifted by ordering", + "outcome": "Codex P2 confirmed and fixed: the #102 queue row, the #102 detail row and the runbook bullet described the RAG-path index as canary-gated until/unless/or the unordered .limit(12) is ordered, implying ordering lifts the gate. An unordered LIMIT has no stable selection to preserve, so imposing an order can select a different twelve and is itself an ordering behaviour change on a retrieval surface requiring its own canary pair per AGENTS.md. All four sites now state two canary-gated changes rather than one unlockable gate. Docs only; no src/lib/rag change.", + "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" }, { "date": "2026-08-12", - "ref": "work", - "head": "be5c7f5a082ea4b865ff07ef7dd77330f3f86a1a", - "scope": "privacy page header and structure", - "outcome": "added direct tests and existing full UI smoke", - "checks": "no blockers" - }, - { - "date": "2026-08-11", - "ref": "1815", - "head": "be7461ef1f66357999995acefbeecaf95268e481", - "scope": "unblock", - "outcome": "local-build-pass", - "checks": "MergeTreeClean,UnitCoverage,StaticPRChecks,ContainerImages" + "ref": "codex/guide-centre", + "head": "39b4b9bb0a1352b2bc3fef7062a747e7330aacdf", + "scope": "Clinical KB Guide Centre UI and guided tour", + "outcome": "No findings; ready for PR after selected gates", + "checks": "focused guide unit and DOM 14/14; focused Chromium 4/4; typecheck and PR-local stages pending coordinator" }, { - "date": "2026-08-11", - "ref": "1820", - "head": "897ff11a4cdb13ae1c01f5eb149007847028f5aa", - "scope": "review-and-fix", - "outcome": "fixed", - "checks": "Semgrep:IN_PROGRESS, Gitleaks:IN_PROGRESS, Semgrep ingestion gate:IN_PROGRESS, Static PR checks:QUEUED, Safety and config checks:QUEUED, Unit coverage:QUEUED, Build:QUEUED, Production UI critical:QUEUED, Lighthouse budget:QUEUED" + "date": "2026-08-17", + "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", + "head": "39d4a783ca9311aa71ac0e9ba776360461e18588", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean (no conflicts). CI: rerunning codeload.github.com 429/503 infra flake (docker/build-push-action download) in progress at sweep end. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs queued on Container images job" }, { - "date": "2026-08-11", - "ref": "1821", - "head": "d76e90547dbdb104256b66a508c15c74302002fc", - "scope": "review-and-fix", - "outcome": "dispositioned", - "checks": "PR policy:success; PR mergeability:success; Gitleaks:success; Semgrep:success; Semgrep ingestion gate:success; Safety and config checks:success; Build:success; Production UI critical:success; Production UI (1):success; Production UI (2):success; Production UI (3):failure test not reproduced outside this PR; PR required:failure" + "date": "2026-08-08", + "ref": "claude/mode-routing-search-pages-jabe17", + "head": "3a0bdd62466080ad713873cdd690ae600635a979", + "scope": "mode routing: one shared home page at /, mode pill retargets the composer, /documents + /medications mode homes", + "outcome": "handoff — PR #1744 opened; 2 pre-existing failures verified at base bc33d41", + "checks": "test:e2e:pr 406 passed/2 failed (both fail at base); vitest 5608 passed/1 failed (pre-existing); lint clean; tsc clean; sitemap:check, docs:check-index, docs:check-inventory, check:design-system-contract, check:outstanding-issues pass; verify:pr-local and verify:ui blocked by pre-existing installed-lock-parity (playwright 1.62.0 vs locked 1.62.1)" }, { - "date": "2026-08-11", - "ref": "1822", - "head": "4fab267f52b72992745e1d2e6975fb4847af447a", - "scope": "review-and-fix", - "outcome": "clean", - "checks": "Build pass; Static PR checks pass; Change scope pass; PR mergeability pass; PR policy pass; Safety and config checks pass; Semgrep pass; Semgrep ingestion gate pass; Gitleaks pass; GitGuardian pass; Unit coverage pending; Production UI (1) pass; Production UI (2) pass; Production UI critical pending; Production UI (3) pending; Lighthouse budget pass; PR required pending" + "date": "2026-07-13", + "ref": "codex/pr-469-fixes", + "head": "3a252e7cd53b8a825aef5d4432ff0f7373618c56", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #469; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-11", - "ref": "1822", - "head": "4fab267f52b72992745e1d2e6975fb4847af447a", - "scope": "review-and-fix (supersedes 2026-08-11)", - "outcome": "clean", - "checks": "Build pass; Static PR checks pass; Change scope pass; PR mergeability pass; PR policy pass; Safety and config checks pass; Semgrep pass; Semgrep ingestion gate pass; Gitleaks pass; GitGuardian pass; Unit coverage pass; Production UI (1) pass; Production UI (2) pass; Production UI (3) pass; Production UI critical pass; Lighthouse budget pass; PR required pass" + "date": "2026-07-13", + "ref": "origin/claude/response-formatting-cleanup-b57a9c", + "head": "3a252e7cd53b8a825aef5d4432ff0f7373618c56", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #469; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-11", - "ref": "claude/codex-m4c-retire-shadow-nliak3", - "head": "448a0d084c4cd2cda6153dd7f03dcb67c43a8df0", - "scope": "DS Track A2 (#261): retire --shadow-focus; composer focus onto sanctioned outline; contract guard; baseline ratchet; design-system docs + ledger", - "outcome": "Approved — PR #1807. Token deleted in both themes; .chat-composer-shell-delta:focus-within uses outline 2px var(--focus) at offset 2px and no longer overrides box-shadow. Reach premise corrected: 0 of 37 production routes render the class (only /mockups/calculators-search). legacyShadowAliases 127->125, globals.css pin 3->1.", - "checks": "check:design-system-contract PASS; design-token-contract.test.ts PASS + mutation-verified both ways; verify:pr-local PASS except pre-existing tests/pr-handoff-stop.test.ts failure baselined on untouched base e8b61d8; build PASS; check:rag:fixtures PASS (36 cases); Chromium look both themes on the mockup route (inspection only, rev 1194 vs pinned 1234 #255); verify:ui/verify:phone-chrome NOT run — delegated to CI" + "date": "2026-07-25", + "ref": "cursor-indexing-ignore (PR #1171)", + "head": "3a4036580df", + "scope": "Babysit sweep: Cursor indexing ignore rules — squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-08-11", - "ref": "claude/filter-popup-design-mockups-x6sbjv", - "head": "7b64f2559741a9f353adcf939745831e0daff7db", - "scope": "services filter sheet redesign mockups (3 directions, desktop+phone)", - "outcome": "PR #1828 opened; design-scratch route only, no production behaviour change", - "checks": "verify:pr-local (1 pre-existing root-uid test failure, reproduced on origin/main 046feb3), build, check:rag:fixtures, check:bundle-budget both baselines within tolerance, 320px 0px overflow" + "date": "2026-07-25", + "ref": "cursor-indexing-ignore (PR #1171)", + "head": "3a4036580df", + "scope": "Babysit sweep: Cursor indexing ignore rules ? squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-08-11", - "ref": "claude/spacing-icon-design-review-rxwh28", - "head": "455bc198c077860fb1f830670a5fa9c1de08da52", - "scope": "pr-1815 heavy review-and-fix", - "outcome": "remote already merged main (shadow-tight Switch kept); cherry-picked privacy -mb-4 reclaim + calculators dock cancel; removed duplicate UniversalSearchAlsoMatches; rail-aware section-sheet focus restore; dispositioned CodeRabbit docs/ledger/gates nits and outdated Sentry skeleton gap", - "checks": "verify:cheap PASS prior tip; verify:pr-local PASS prior tip; vitest privacy+in-page-nav 28 passed on cherry-pick; merge-tree clean vs origin/main" + "date": "2026-07-25", + "ref": "cursor/codebase-indexing-optimize-7a2b (PR #1171)", + "head": "3a4036580df1f7701b600df26d368b66bcfc3251", + "scope": "PR babysit sweep + squash merge", + "outcome": "Retriggered CI via ledger note; squash-merged when PR required green.", + "checks": "Hosted PR required SUCCESS. No provider-backed checks." }, { - "date": "2026-08-11", - "ref": "claude/spacing-icon-design-review-rxwh28", - "head": "5b96281ee7da817d5ce7f1102004ebe6f861b920", - "scope": "pr-1815 heavy review-and-fix", - "outcome": "remote already merged main (shadow-tight Switch kept); cherry-picked privacy -mb-4 reclaim + calculators dock cancel; removed duplicate UniversalSearchAlsoMatches; rail-aware section-sheet focus restore; dispositioned CodeRabbit docs/ledger/gates nits and outdated Sentry skeleton gap", - "checks": "verify:cheap PASS prior tip; verify:pr-local PASS prior tip; vitest privacy+in-page-nav 28 passed on cherry-pick; merge-tree clean vs origin/main" + "date": "2026-08-15", + "ref": "codex/medication-info-header-20260814", + "head": "3a42e16a8d582174770740a9a8210f3eb2ae377b", + "scope": "Medication information navigation: final current-base merge", + "outcome": "Merged latest required base after prior focused alias correction; no conflicts or new confirmed P0-P2 findings", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; responsive shadow-alias assertion" }, { - "date": "2026-08-11", - "ref": "claude/spacing-icon-design-review-rxwh28", - "head": "f8701a524f0eb22decc64ce1f626bdafe91751af", - "scope": "mode-home hero spacing rhythm + icon scale (PR #1815)", - "outcome": "shipped: group copy reserve banded to measured wrap points, continuous hero medallion, phone composer glyph 1.1rem->icon-lg, surface glyphs onto size-icon-*, privacy link bottom-only negative margin (fixes 8px tap overhang on the APP-5 sentence), composer phone reserve 7.625->6.625rem", - "checks": "test 6043 passed/1 pre-existing root-perm failure; lint; typecheck; build; check:icon-scale; check:type-scale; check:design-system-contract; check:rag:fixtures; check:bundle-budget; prettier --check .; verify:ui NOT run (Playwright r1234 vs image r1194, #255 - delegate to CI Production UI)" + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "3a775d4fd9a44e97388c0041cb421f06265a7721", + "scope": "fresh final review (user-requested) + main sync (#937)", + "outcome": "No high-confidence P0–P2. Product delta unchanged vs prior merge-ready head; #933 reserve + #938 contentAlign remain complementary. Merged `origin/main` (#937) cleanly. Follow-up: dropped `PR_POLICY_BODY.md` when syncing #942 so this PR does not reintroduce the stale template; live PR description already correct. Residual: required human approving review.", + "checks": "Local: align+composer-reserve Vitest 9/9; focused Chromium overlap+fold+compare 14/14. Hosted CI green on prior tip." }, { - "date": "2026-08-11", - "ref": "codex/answer-ecg-animation-20260811", - "head": "12279a8309c225aa957ef1e65afc37545a0ce04c", - "scope": "answer ECG progress variants", - "outcome": "No high-confidence findings; physical Safari/PWA remains residual acceptance", - "checks": "design contract, typecheck, focused unit 8/8, trace token 33/33, Chromium 4/4, offline RAG 574/574; full suite baseline/platform failures" + "date": "2026-08-18", + "ref": "codex/chat-dictionary-ultimate-dictionary-ultimate", + "head": "3a8271bd7a9aa13b2a323cd29e84f294de211690", + "scope": "Dictionary mode: 8 production routes, 96-entry governed catalogue, shared search/filter lib, launcher/ModeNav/universal-search/tools-catalogue integration, design-system adoption manifests", + "outcome": "Approved for draft PR with one declared red gate — production bundle budget +10.5% (main alone is +7.8% of a 2026-08-13 baseline; this branch adds 33.9 KiB across 11 dictionary-exclusive chunks). Baseline deliberately not refreshed; decision left to review", + "checks": "verify:pr-local (lint, typecheck, docs/ledger guards passed); vitest 6990 passed / 2 failed, both cleared (private-access-routes passes in isolation 145/145; session-start-hook fails identically on untouched origin/main); next build compiled; check:client-bundle-secrets passed; check:bundle-budget FAIL on production bucket (documented in PR body), routes and mockups within tolerance; check:rag:fixtures 36 cases; medication interaction + lexicon checks passed; post-sync lint + typecheck exit 0" }, { - "date": "2026-08-11", - "ref": "codex/answer-loading-ui-20260811", - "head": "6758f8156f9d1b3e893981dfd7a1f6563aa90da0", - "scope": "answer creation loading UI", - "outcome": "No high-confidence findings", - "checks": "UI 3 passed; unit 8 passed; lint, typecheck, build, design-system and offline RAG passed; full suite 6022 passed with 16 unchanged baseline failures" + "date": "2026-08-15", + "ref": "codex/fix-documents-without-live-images", + "head": "3aad3e221fc146560578c8d78135435550f73166", + "scope": "Required base sync through main d301d8f4", + "outcome": "approved", + "checks": "git diff --check; script syntax; ledger and issue guards" }, { - "date": "2026-08-11", - "ref": "codex/chat-services-flow-redesign-20260812", - "head": "6f44b92defb91bcd77509bf10337b428be37619c", - "scope": "Services home, results, shortlist, comparison, and referral detail redesign", - "outcome": "No findings; changed-area UI, phone contracts, focused unit, build, and RAG fixtures passed; PR-local Windows baseline limitations documented.", - "checks": "78 focused tests passed post-merge; 185 changed-browser tests; 129 phone contracts; 7 phone-scroll tests; build and RAG fixtures passed" + "date": "2026-07-28", + "ref": "PR #1290 / `codex/search-performance-correctness-pr`", + "head": "3acf0ee3b6b1da10d6e0c76d20825d9eb0c76e48", + "scope": "CI fix + Bugbot", + "outcome": "Fixed P0 duplicate sourceSearchInputRef from tip 1e5ee645; restored sheet-safe Search-in-document focus; hardened openComposer with expectSingleSettledOwner for Production UI dual-composer race. Mergeable; 0 unresolved threads.", + "checks": "Bugbot; document-detail vitest 8/8; Playwright presentation/grouped typeahead 3/3; maintainability 1733/1734; no provider checks." }, { - "date": "2026-08-11", - "ref": "HEAD", - "head": "45fd05c8c3947835c0368666ff576c7a38b33ee4", - "scope": "answer sources sheet and extracted answer text", - "outcome": "Fixed raw PDF navigation/list artifacts and simplified source verification UX", - "checks": "answer-content unit; focused Chromium source flow; PR-local lint/typecheck reached full test" + "date": "2026-07-13", + "ref": "codex/privacy-link-only", + "head": "3ae36477f8a3b945870b545c2b0c048e597d2d29", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #557; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-11", - "ref": "work", - "head": "45fd05c8c3947835c0368666ff576c7a38b33ee4", - "scope": "mobile evidence sheet UX, accessibility, and feedback logic", - "outcome": "fixed unexplained claim marker, excess panel reserve, unclear purpose and feedback copy; no remaining high-confidence defects", - "checks": "focused DOM 7/7; Chromium evidence journey 1/1; offline RAG 23 suites/574 tests" + "date": "2026-07-13", + "ref": "origin/codex/privacy-link-only", + "head": "3ae36477f8a3b945870b545c2b0c048e597d2d29", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #557; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-11", - "ref": "work", - "head": "6dcd695076d630d16aae594577763e8004361893", - "scope": "Codex Cloud setup and local parity", - "outcome": "P2 fixed: cache-friendly locked Cloud npm install; parity limitations documented", - "checks": "check:codex-cloud; codex-cloud-setup 24/24; full suite 6059 pass, 7 unrelated timeout/state failures" + "date": "2026-07-30", + "ref": "PR #1441", + "head": "3b0dadf5d946af5b70984131dd5e243686c9dfaa", + "scope": "upload-limit parity and issue-ledger closure", + "outcome": "APPROVE after fixes: production dotenv precedence and checker-only Docker server limits are enforced; current-main issue rows are preserved.", + "checks": "upload parity self-test 150/150 and 50/50; Actions pins; docs, issue, and ledger guards; two review findings fixed" }, { - "date": "2026-08-10", - "ref": "codex/ci-perfected-rollout-20260809 (PR #1789)", - "head": "accbc7c6324b839112ff8df8f9b66d3557f2b98e", - "scope": "PR babysit", - "outcome": "unblocked; merged origin/main (false-DIRTY behind-but-clean); fixed Codex P2 ui_changed for Playwright runner helpers; thread replied+resolved", - "checks": "ci-change-scope --self-test pass; merge-tree clean; no provider gates" + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "3b152ed1f2f4f08b5672adaf0dc3b433f8ba8db1 + reviewed follow-up diff", + "scope": "final review-thread and release-readiness follow-up", + "outcome": "Confirmed and fixed one P1 maintenance-path tenancy defect: registry embedding metadata refreshes could re-private public registry documents. The refresh now preserves public/owner scope, keeps generated intent-label ownership aligned, is idempotent, and rejects foreign-owner documents. Three scoped P2 review items were also resolved: answer-owner ref mutation moved out of render, PDF page changes use router navigation without scroll reset, and the worker-free staging harness no longer enqueues a reindex job before cleanup. No other high-confidence issue remained in the reviewed follow-up diff.", + "checks": "GitHub review-thread inspection; bundled Next.js navigation guide; focused Vitest 38/38; scoped ESLint; Prettier; full TypeScript; `git diff --check`. Final-head hosted CI, staging evidence, and provider-free production governance gates remain required after push." }, { - "date": "2026-08-10", - "ref": "codex/ci-perfected-rollout-20260809 (PR #1789)", - "head": "bf437370441c43a35ec63353642b0180ba5beba6", - "scope": "PR babysit", - "outcome": "late sync: merged origin/main (#1793/#1794); behind-but-clean; prior tip CI green; no code fixes", - "checks": "merge-tree clean; format clean; prior tip PR required pass; no provider gates" + "date": "2026-09-01", + "ref": "PR-2504", + "head": "3b1dc7c8bc997a4ea4bac44dc7de01632e676e63", + "scope": "Resolve Codex P1: corpus-health table access", + "outcome": "Verified the authenticated role lacks table SELECT; the administrator-gated server-only service-role path scopes every documents and document_index_quality query to the verified owner, with current access-control documentation.", + "checks": "Focused corpus-health suite: 18 passed; Prettier check passed; schema grants verified; independent review found no runtime access-control defect." }, { - "date": "2026-08-10", - "ref": "codex/visual-baseline-advisory-pr", - "head": "6bc57714c36bc6d027561bb8f5f8b00bb92524b2", - "scope": "PR #1791 babysit unblock", - "outcome": "fixed Production UI formulation Clear→Draft flake settle; classified visual drift vs non-drift failures", - "checks": "test:ci-workflows 263; classify-visual-baseline-outcome+ci-cache-safety 40" + "date": "2026-08-04", + "ref": "claude/search-bar-decisions-doc", + "head": "3b4cd6e6bf1f36fb8aff098ce7d333641e0859d3", + "scope": "search-bar handoff doc replacement + review fixes", + "outcome": "Fixed CodeRabbit/Codex findings; Bugbot hosted stuck queued, local Bugbot-equivalent confirmed two P2 doc errors and rejected sheets-are-target finding. verify:pr-local PASS (docs scope). Decisive: prettier All matched files use Prettier code style!; outstanding-issues 228 rows next-id=231; docs link check passed: 1615; docs/codebase-index coverage OK", + "checks": "verify:pr-local (docs); prettier --check; check:outstanding-issues; docs:check-links; docs:check-index; check:branch-review-ledger" }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8", - "head": "a6a5e4cd59352244163a5d6d5439c2bc40a7ff95", - "scope": "Run PR sweep", - "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", - "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" + "date": "2026-07-30", + "ref": "codex/review-pr1492", + "head": "3b50cc310a444d64b3f28b62c3e96ed284ec0c75", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1492 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8", - "head": "b82ae6fe80cfc5e4dac139383230d5a8fcb62b68", - "scope": "Run PR sweep", - "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", - "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" + "date": "2026-08-16", + "ref": "PR-2000 / codex/chat-ledger-programme-ledger-programme", + "head": "3b544399aa4129c03e3362a16123f9cc9dfc84a3", + "scope": "PR #2000 post-fix base refresh review", + "outcome": "Required base refresh to 27f6b60429ab56a0e4a779b5b16c35e9cce630db reviewed; the base delta added only two unrelated branch-review records, a registry service-facets test, and an edge-ingestion planning document, with no overlap with this PR's outstanding-issue requests; the #098 correction remains valid", + "checks": "PR required, SAST, and secret scan passed at 3b544399aa4129c03e3362a16123f9cc9dfc84a3; fd3a100b9ad0d4c806c7083d01cb3a0bed601646-to-27f6b60429ab56a0e4a779b5b16c35e9cce630db compare reviewed; merge-tree verification" }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8", - "head": "e6eea4d9b677de6919165753b9ceae059bac1190", - "scope": "Run PR sweep", - "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", - "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" + "date": "2026-07-18", + "ref": "PR batch screenshot queue → #808 / cursor/pr-queue-land-bfe7", + "head": "3b54a785c7c6073024b6bae0182b6a9321154595", + "scope": "open-PR review + merge babysit", + "outcome": "Consolidated unique remaining work from screenshot PRs onto current main via #808 (Also matches placement, factsheets, audit metadata minimize with numeric storageRemoved, answer-progress UI gate, global-error role=alert). Superseded already-landed #800/#799/#801/#802 (via #798/#804). Closed conflicted/failing design-audit duplicates #789/#790/#803/#806/#807/#788 and older duplicates #748/#749/#751 without replaying Production UI regressions.", + "checks": "Hosted #808: required checks green (Static/Unit/Build/Production UI/Migration replay/PR required). Supabase Preview failed (non-blocking concurrent preview limit). Local focused Vitest audit+factsheets; sitemap:check; ci-change-scope self-test. verify:cheap PDF budget failures pre-existing on main. No OpenAI/live Supabase writes." }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8", - "head": "f0dc8e922d0cf05ff3d9f7c2c5f4d203c8449794", - "scope": "Run PR sweep", - "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", - "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" + "date": "2026-07-13", + "ref": "origin/claude/repo-task-recommendations-f32752", + "head": "3b54cc96113407203f73f41bf921d717a24dd8eb", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8", - "head": "f8d7ef3faa397de7c9aecc61a66ec5428a3eeed3", - "scope": "Run PR sweep", - "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", - "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" + "date": "2026-07-25", + "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", + "head": "3b5ef43f1825dd8cf11dd767069569ba1c701c45", + "scope": "Bugbot branch review: mobile Answer edge dock, synchronized hide/reveal, focus safety, reserve-collapse and fractional-clamp safeguards", + "outcome": "No bugs found. Highest residual risk is physical iOS Safari toolbar/visual-viewport behavior beyond Chromium emulation.", + "checks": "`npm run verify:cheap` (3,357 passed); `npm run verify:ui` (272 passed); focused clamp/reserve Vitest (28 passed); focused production Chromium regression passed; clean headed-phone video proof; no provider-backed checks run." }, { - "date": "2026-08-10", - "ref": "cursor/same-mode-focus-no-steal-6df8 (PR #1792)", - "head": "905caf2d8eeb5d74af4d8d90fef7e50f4cb78f13", - "scope": "PR #1792 babysit", - "outcome": "before: Production UI critical FAILED (TS5101 baseUrl in isolated Playwright tsconfig after Next 16.3 main sync); Lighthouse advisory ignored; merge-tree clean 0 behind. after: removed deprecated baseUrl from run-playwright + run-lighthouse-budget; root-relative @/* paths; regression guards in unit tests; no threads acted on", - "checks": "tsc isolated tsconfig: old baseUrl TS5101 exit 2, fixed exit 0; vitest test-runner-safety+check-lighthouse-budget 84/84 PASS; format; no provider-backed checks" + "date": "2026-08-13", + "ref": "claude/rag-canary-test-review-seprbt", + "head": "3b6a8a9e725f4d8d90d98e9b36b9ca72c6c831cc", + "scope": "ranking snapshot refresh from green weekly canary artifact run 31329507691", + "outcome": "PR #1932 opened; closes /issues #304 via inbox request; zero provider spend; no retrieval behaviour change", + "checks": "ranking-tuning+imputation 16/16, eval:rag:offline pass, ledger-write-discipline pass vs origin/main" }, { - "date": "2026-08-10", - "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", - "head": "5cb0e11e077a3aaf5b8e4ea37b26ac72b0328997", - "scope": "PR #1785 unblock/fix", - "outcome": "before: Production UI (3) failed on service-detail scroll endpoint (remaining 67px) at 38b3bd0c; GitHub DIRTY behind-but-clean vs #1791. after: merged origin/main + re-scroll toPass fix in ui-tools service-detail test; threads untouched; do not merge", - "checks": "CI Production UI (3) logs; git merge-tree clean; prettier ui-tools; product fix in same tip commit as this row" + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "3b896be3f5f6ea67df10c991257aeb05b41af619", + "scope": "Fix calculator regression tests from exact-head CI and merge main d301d8f4", + "outcome": "fixed", + "checks": "git diff --check; static ledger guards; focused tests blocked without node_modules" }, { - "date": "2026-08-10", - "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", - "head": "88dbdd80ede81ec6062ffebae79244703d495a99", - "scope": "PR #1785 unblock/fix", - "outcome": "before: BEHIND/MERGEABLE behind-but-clean (merge-tree clean, behind 2/ahead 9); tip 88dbdd80 required CI green; → after: late merged origin/main once (#1793/#1794); merge-tree clean; behind 0; no required-CI code fixes; no provider-backed checks", - "checks": "git merge-tree clean; npm run format; prior tip CI green; no provider-backed checks run" + "date": "2026-08-18", + "ref": "claude/patient-factsheets-search-regression-8iyvnd", + "head": "3cae468dbdcce99a686da84443ec8be2fae8e80c", + "scope": "src/components/factsheets/factsheets-home-page.tsx merge-conflict resolution", + "outcome": "resolved: kept PR's ModeHomeTemplate rewrite over main's now-superseded card restyle (PR #2060); verified removed exports (featuredFactsheets/categoryCount/factsheetCategoryGlyph) unused elsewhere", + "checks": "merge-tree clean after resolution; grep verified no dangling references" }, { - "date": "2026-08-10", - "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", - "head": "a4f57500f6b16a4616e1f84c126c2f787a40766b", - "scope": "PR #1785 unblock/fix", - "outcome": "before: DIRTY/CONFLICTING behind-but-clean (merge-tree clean, behind 3/ahead 8); prior tip a4f57500 CI green; 0 unresolved threads → after: merged origin/main once (sync-only); merge-tree clean; behind 0; no CI/thread code fixes; focused meds tests 201 passed", - "checks": "git merge-tree clean; npm run format; npm run test:focused meds/route/universal-search 201 passed; no provider-backed checks run" + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "3cb7c977", + "scope": "Conflict fix + Bugbot + local review", + "outcome": "Before: CONFLICTING (21 files). After: mergeable. Restored atomic upload RPC; aligned private-access tests (133/133). Bugbot 2 medium left open.", + "checks": "private-access-routes 133/133; no provider-backed checks" }, { - "date": "2026-08-10", - "ref": "PR #1788", - "head": "aaeb54630fde2c05efe9a90eda13fbb92cc933c0", - "scope": "Run PR sweep", - "outcome": "Static PR maintainability: extracted useAnswerThreadBootstrap (ClinicalDashboard 4144→4106); merged origin/main (#1794/#1795)", - "checks": "check:maintainability-budgets pass; vitest bootstrap+storage 17; tsc clean; CI pending after push" + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c", + "head": "3cf0ed99a1a90f46cb7c6aff7e8b7f7bfd6212b8", + "scope": "form-detail Confirm checklist polish", + "outcome": "shipped spacing/typography polish + DOM guard", + "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" }, { - "date": "2026-08-10", - "ref": "PR #1788", - "head": "cc64d8356ca964ef2e550f4493f17778965ada79", - "scope": "Run PR sweep", - "outcome": "merged origin/main (resolved in-page-nav ContextualBackLink+rail); fixed restore metadata/signature/guest clear, privacy copy, tap targets, medication pathname mock; threads dispositioned; tip follows", - "checks": "merge-tree clean; vitest answer-thread/privacy/nav/medication/in-page-nav pass; CI pending after push" + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c", + "head": "3cf0ed99a1a90f46cb7c6aff7e8b7f7bfd6212b8", + "scope": "form-detail Confirm checklist polish (supersedes 2026-08-08)", + "outcome": "shipped spacing/typography polish + DOM guard", + "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" }, { - "date": "2026-08-10", - "ref": "PR #1788 / codex/chat-contextual-back-answer-cache-05ea-1", - "head": "98dd877ab4bd41e169310004c3b91aa4780d3772", - "scope": "Run PR sweep", - "outcome": "before: Production UI (2) failed on Breadcrumb/Medications selector; after: use Back to medications aria-label + contract guard; disposition Codex/Sentry/CodeRabbit threads; merged origin/main", - "checks": "vitest in-page-nav-contract+answer-thread-storage 19p; format; merge-tree clean" + "date": "2026-08-04", + "ref": "codex/v2-design-system-adoption-root", + "head": "3cf2d792a1e660a87b0637044837d1c382ff223f", + "scope": "global V2 adoption truth and provenance", + "outcome": "approved locally; no P0-P2 findings", + "checks": "Vitest 49 passed; expected 14 declaration mismatches only" }, { - "date": "2026-08-10", - "ref": "PR #1797 / claude/codex-m4a-retire-dead-type-8wq9ta", - "head": "6bf3c7b2a0600021290e165302fd07d721af6592", - "scope": "retire the dead --text-2xl-compact type step (ledger #297): globals.css @theme, twMerge config, two test lists, the design-system-contract exemption, TOKENS.md/GATES.md", - "outcome": "Executed the recorded next action on outstanding-issues #297. The step had zero class-utility and zero var(--text-*) consumers, so the deletion renders identically; UNUSED_TYPE_STEP_EXEMPTIONS is now empty and the declared-but-unconsumed gate holds the line with no carve-out. One test fixture using the token as a synthetic var() consumer was repointed at --text-2xl-minus. GATES.md corrected to eight non-standard steps; the 705-consumer total is unchanged because this step contributed 0. No clinical, RAG-ranking or operational risk paths touched (classifyPullRequestFiles: all false).", - "checks": "check:design-system-contract PASS (705 production files); check:type-scale --strict PASS; lint exit 0; typecheck exit 0; npm run build after rm -rf .next exit 0 (Compiled successfully in 63s); check:outstanding-issues PASS; verify:pr-local completed through typecheck then failed at test on a PRE-EXISTING root-permission failure in tests/pr-handoff-stop.test.ts that reproduces on clean d812c76 (5993 passed, 1 failed); build and check:rag:fixtures run/assessed separately. No UI gate: no rendered output can change. No provider-backed check run." + "date": "2026-07-31", + "ref": "origin/cursor/pr1196-coalesce-fix-4711", + "head": "3d4fc7ca229b94826cd028d7655e99451ae72d39", + "scope": "branch-cleanup", + "outcome": "safe remote delete: coalesce patch is exact-equivalent to merged PR #1212; remaining audit family superseded by merged PR #1298; archived batch15", + "checks": "patch-id match to PR #1212; PR commit closeout; bundle verify" }, { - "date": "2026-08-10", - "ref": "PR #1800 / codex/enhance-search-function-with-fuzzy-matching", - "head": "93da84b063c9c3f956da7ef79710d2cd00159735", - "scope": "PR #1800 babysit", - "outcome": "Synced origin/main (merge-tree clean; GitHub DIRTY was staleness). Fixed CodeRabbit SSRI/SNRI fuzzy cross-match (floor 5 chars) in follow-on tip commit. Clinical Governance Preflight required for clinicalRisk body. Codex P2 field-aware/per-token fuzzy deferred. RAG surfaces untouched.", - "checks": "focused catalog-search+consumers 49 pass; pr-policy body local ok; merge-tree clean" + "date": "2026-08-14", + "ref": "work", + "head": "3d5cd7cb8b0d22fc95d3e04a495cfae8533bda17", + "scope": "document search image availability and loading", + "outcome": "Found and fixed cover audit skipping existing rows; live apply blocked by missing Supabase credentials", + "checks": "node --check; focused Vitest; format; live apply attempted (environment blocked)" }, { - "date": "2026-08-10", - "ref": "PR #1803 / claude/codex-m4b-shadow-tight-migration-53a8kn", - "head": "b778a56e9c3fa7642a783dde85e1130559d71e24", - "scope": "shadow-tight token migration onto the e1 elevation tier and alias retirement (#262 part 1)", - "outcome": "Migrated all 150 var(--shadow-tight) occurrences across 71 files to var(--e1) (90 gated production sites across 48 files, 60 mockup); deleted all three alias declarations (:root, .dark, forced-colors); pinned legacyShadowAliases 220 to 127 with exact per-path counts, closing 3 aliases of re-accumulated slack; added a whole-stylesheet absence assertion (mutation-verified); updated GATES.md section 3 plus a new section 6, TOKENS.md section 6, design-system.md, both redesign direction docs, .design-sync/conventions.md and ledger #262. Verified in Chromium that the ckb-v2 tier override is picked up by the alias substitution, so the change is value-preserving; that check is recorded as a prerequisite for the remaining six aliases.", - "checks": "npm run verify:cheap (30 static gates plus lint plus typecheck green; design-system contract passed, legacy shadow aliases 127; unit suite 553/554 files, 6024 tests passed, 1 pre-existing root-permission failure in tests/pr-handoff-stop.test.ts reproduced on untouched base a16dd26); npm run format:check whole tree; targeted Chromium computed-style measurement. verify:ui not run, Playwright browser revision drift #255, delegated to CI Production UI. No provider-backed gates." + "date": "2026-08-18", + "ref": "claude/refresh-therapy-visual-baseline", + "head": "3d74403292d3b340a01de24008d23ea91c71a755", + "scope": "Refresh all six Linux visual baselines from hosted-CI artifact visual-baseline-32189416778 (main @ 9b1e7248) plus provenance and regenerated adoption manifest", + "outcome": "Approved — all six actual renders opened and reviewed before adopting; no source changed; provenance reviewerType:human is overstated for an automated pass and is flagged in the PR for owner confirmation", + "checks": "adopt-visual-baselines --write (6/6 replaced, capture kind refresh); check:design-system-adoption (54 components, 82 roots); vitest tests/adopt-visual-baselines.test.ts 4 passed; prettier --check provenance.json clean. No broader gate: PNG/JSON-only diff with no changed source failure path" }, { - "date": "2026-08-10", - "ref": "work", - "head": "d812c7692505e9f68e7c428d26c67e53ef001046", - "scope": "non-answer mode search typo tolerance and closest-match behavior", - "outcome": "P2 exact-text-only catalogue matching fixed with conservative typo tolerance; answer RAG unchanged", - "checks": "5 focused Vitest files (49 tests), typecheck, changed-file ESLint" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR #1001: A-PR-2 measurement-floor completion)", + "head": "3d8f798 + 5b664f8 + e58c827", + "scope": "First provenance-stamped snapshot regeneration from a live canary artifact + alias tiering docs + fixture-length pin + lithium doc-gate — Phase A of ADDENDUM 4 functionally complete", + "outcome": "Artifact chain: user-authorized paid dispatch (canary #53, run 29763761133, 36/36 green, doc_recall 1.0 / content_recall 1.0 — first perfect content recall, ciwa alias confirmed live; mrr@10 0.8644, irrelevant@10 0.1083) emitted the first eval-canary-output artifact (51787 bytes, sha256 5af5b802… verified byte-identical after user transfer into the sandbox — this container cannot download run artifacts). Work: (1) two-tier alias documentation — investigation of the governance-review P3 showed src/lib/eval-document-matching.ts is a deliberately WIDER captured-case tier (e.g. \"Clozapine GP Shared Care\"); bulk-merge would loosen golden ground truth, so both files now carry cross-referencing do-not-merge headers instead; (2) snapshot case count pinned to live golden fixture length (regeneration instructions in failure message) — closes the coarse-floor P3; (3) snapshot regenerated via the alias-aware builder with --source-run-id provenance: agitation-im-po-options 0→5 graded positives (EMHS alias working on real data), flowchart-next-step confirmed sole zero-positive case; generatedAt promoted to validator-REQUIRED (closes the hand-edit P3); two stale data pins updated (missing-positives 2→1; broad_summary defaults-equality pin dropped — defaults' provenance was the retired snapshot, fresh recommendations are Phase B input); (4) artifact-grounded punctuation audit: 7 joined-token occurrences in top-5 previews — 3 ciwa-ar (alias-covered, incl. line-broken \"ciwa- ar\"), 4 ORDINARY-PROSE punctuation (\"treatment,\" / \"mood,\" / \"(opioid\" / \"ptsd.[35]\") — matcher word-boundary change proposed as its OWN reviewed follow-up per plan (systemic class, not bundled); (5) lithium-therapy-monitoring was the ONLY ungated case (rr@10 hardcoded 0.00 = measurement noise): expectedDocumentSubstrings [\"Lithium\"] added from live evidence (deliberately broad across the corpus's multiple legitimate lithium guidelines), snapshot rebuilt in lockstep from the same artifact, measured mrr@10 +~0.028 from de-noising. Deferred with reasons: NEW-query fixture cases (saturated-tie shapes, captured rag_query_misses) need live validation before they may gate — unlocked by Phase D-1 branch-eval dispatch or a dedicated validation dispatch; real ordering headroom for Phase B = flowchart 0.20, alcohol-ciwa 0.25, patient-safety 0.33, opioid 0.33, all text_fast_path.", + "checks": "Targeted vitest 76/76 ×3 (after each stage); npm run test 3019 passed / 1 known container-only pdf-budget artifact; prettier clean; freshness gate ACTIVE and green; no provider calls beyond the user-authorized dispatch (~$1-2, ADDENDUM 4 spend now ~$1-2 of ≤$10)" }, { - "date": "2026-08-09", - "ref": "claude/breadcrumb-header-mockups-cei6lw", - "head": "8effa5abe77e9008fb12f6ff996a51aa6d406ab5", - "scope": "mockups: breadcrumb header study (3 directions) + sitemap/README", - "outcome": "self-reviewed; design-scratch only, no production surface changed", - "checks": "typecheck, eslint(changed), prettier --check, sitemap:check, vitest(site-map/mockup-boundary/env-mockups/docs-inventory/route-reachability) 23 passed" + "date": "2026-07-31", + "ref": "origin/codex/search-label-pagination", + "head": "3d9c00b3bf8faefacaca968729d72782c3247329", + "scope": "branch-cleanup", + "outcome": "safe remote delete: current main has bounded stable-order label pagination, cancellation and boundary/fail-closed coverage; archived batch15", + "checks": "current source and focused tests inspection; bundle verify" }, { - "date": "2026-08-09", - "ref": "claude/breadcrumb-header-mockups-cei6lw", - "head": "ca5e4e7ae9b53af49b362ad11ca988fdd1c3a9d0", - "scope": "breadcrumb header shipped: InPageNavHeader breadcrumb shape + factsheet detail adoption", - "outcome": "self-reviewed; browser-verified at 390/700/834/1280; phone-chrome gate blocked by #255 playwright drift", - "checks": "typecheck, lint, test (5806 passed, 1 pre-existing unrelated fail), build, check:bundle-budget, check:design-system-contract, format:changed, sitemap:check, docs+ledger checks" + "date": "2026-07-18", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #826)", + "head": "3d9ee5f44dea9edb1ef5af28f5f265d88d8b9f29", + "scope": "PWA hardening implementation (plan Phase 1)", + "outcome": "Implemented the three open findings from the 2026-07-17 PWA setup review with zero cache-semantics change: committed the rule-6 retirement worker `public/sw-kill-switch.js` with a five-test lock (`tests/pwa-kill-switch.test.ts`), bound the `offline.html` sha256 to the sw.js `CACHE_VERSION` pairing in `tests/pwa-manifest.test.ts` (drift trap closed), added the `?pwa-dev=0` local teardown to `pwa-lifecycle.tsx` with a dom test proving foreign workers and caches stay untouched, and updated `docs/pwa.md` rules 1 and 6 plus the local-dev cleanup step. Phase 0 of the approved plan (pr-policy `base_ref` checkout fix + the Set-Cookie worker-test case) was found already merged to main and skipped.", + "checks": "Focused Vitest 53/53. `verify:cheap` and the `verify:pr-local` unit stage green except `tests/pdf-extraction-budget.test.ts`, which fails identically on clean main in this container (child-process semantics; baselined twice). `verify:ui` 218 passed with 2 container-baselined pre-existing failures: the `ui-pwa` installability test (Chromium `in-incognito` artifact, reproduced from a clean-main detached worktree with its own server) and the `ui-smoke` document-viewer PDF-canvas mobile test (also fails on clean main `54229f0`; flagged as possible upstream regression). `format:check` clean for repo files. Conditional build/bundle stages deferred to the blocking hosted CI Build job on PR #826. No provider-backed checks run." }, { "date": "2026-08-09", - "ref": "claude/disabled-button-accessibility-piclvr", - "head": "722abdb780c715c0a89df268ed48f6c741ffd569", - "scope": "disabled-placeholder buttons -> aria-disabled + inert handler (25 sites, 13 components); controlDisabled/therapy recipe aria-disabled styling; require-button-wiring redundantDisabledPair gate; wiring-conventions contract rewrite (settles #291)", - "outcome": "authored — PR #1778 opened", - "checks": "lint (uncached, exit 0); typecheck; test 5878 passed/1 pre-existing root-env failure in pr-handoff-stop; build; check:rag:fixtures 36 golden cases; prettier --check clean; verify:ui not run (no browser in container)" + "ref": "cursor/therapy-card-densify-e975", + "head": "3db839a6bb1f5b45fc55bb732d21b30551a506b0", + "scope": "therapy search ResultCard densify (gap, tags, favourite, actions, match cells)", + "outcome": "pass — denser cards; band gap fixed; single-row prioritized tags; heart top-right; 3-col actions; summarised cells", + "checks": "unit 35/35; verify:pr-local pass; ensure visual phone+desktop pass" }, { "date": "2026-08-09", - "ref": "claude/document-viewer-optimization-tu8tnj", - "head": "5a0d6be02bc92fa2615d2141b338ec8f7c1143b1", - "scope": "docs: document-viewer Phase 3 handover brief (PR #1765)", - "outcome": "Supersedes the earlier row, whose 'all ten gates completed' wording could read as all executable checks having run. Correct scope: verify:pr-local ran the ten gates APPLICABLE to docs-only changes (check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues); the risk router SKIPPED lint, typecheck, the full unit suite, RAG fixture validation, and build as recognised low-risk documentation scope. Also records the merge resolution: duplicate #286 (main's in-page-nav series vs this branch's authorizationHeader row) resolved by renumbering the branch row to #289, next-id 290, after the auto-merge silently dropped that detail row rather than conflicting. Review findings addressed: governance preflight now required by behaviour per AGENTS.md:257 rather than inferred from pr-policy path classification; API-route scope contradiction resolved; signed-URL warning corrected to state both identity bugs are already fixed on main with regression coverage.", - "checks": "verify:pr-local ten docs-scope gates passed, none failed; check:outstanding-issues 287 rows unique ids next-id=290 no ids deleted; ledger:dedupe 771 unique rows; git merge-tree vs origin/main exit 0; viewer line refs re-verified against 50ef12e" + "ref": "claude/planning-build-intelligence-9ot0nm", + "head": "3df3cb3993f73cda4dbbc4ac7549f84b3c6ea7ed", + "scope": "Node 24.15 engine floor: engines.node, preinstall hook, check:runtime, session-start provisioning, codex-cloud assertion", + "outcome": "Authored and handed off as PR #1771; closes #285; operationalRisk true, clinicalRisk/ragRanking false", + "checks": "test 5800 passed/1 pre-existing root-uid failure (pr-handoff-stop, confirmed on stashed clean tree); lint 0; typecheck 0; prettier --check . pass; check:runtime pass; check:codex-cloud pass; check:outstanding-issues pass; preinstall boundary proof 24.13/24.14.9 reject, 24.15/24.19 accept, 25.0.0 reject; contract test mutation-checked red" }, { - "date": "2026-08-09", - "ref": "claude/document-viewer-optimization-tu8tnj", - "head": "b8c94dff2345a7d50c7bbce0c9c344740e6b92b1", - "scope": "docs: document-viewer Phase 3 handover brief (PR #1765)", - "outcome": "Docs-only. Adds docs/plans/document-viewer-phase3-handover.md scoping Phase 3 to all capabilities except crop-to-page overlay (bbox absent from DocumentDetailImage; plumbing crosses src/lib/**document** and forces a governance preflight). Corrects ledger #279: measured playwright@1.62.1 expects Chromium 151.0.7922.34, container ships 141.0.7390.37, CI runs HeadlessChrome/151.0.0.0, and pdfjs-dist 6.2.108 needs Map.getOrInsertComputed which ships in 151 not 141 - so the raster failure is container-only and neither proposed remedy (bump Playwright / pin pdfjs down) is needed. Cited #286 for the authorizationHeader casing trap after initially writing #285.", - "checks": "verify:pr-local all ten gates completed, none failed; docs:check-links 1688 references resolve; line refs re-verified against main 8db1e53" + "date": "2026-08-04", + "ref": "codex/fix-mode-switching-and-loading-issues", + "head": "3e3b224a2ec13928d1e28173b1fc4c75d202d7d2", + "scope": "PR #1607 unblock/fix", + "outcome": "clean — behind 0, merge-tree clean, 0 unresolved threads, required CI in progress (no code fix)", + "checks": "merge-tree clean; behind_by 0; Unit/Build/Static/ProdUI in progress; no failing required" }, { - "date": "2026-08-09", - "ref": "claude/document-viewer-phase-3-bj5k5v", - "head": "0436c3b495bee05777efc2ea1709230044e26b42", - "scope": "document viewer Phase 3: page virtualization, rail windowing, signed-URL/decode priority, keyboard reading mode, first canvas browser gate", - "outcome": "PR #1772 opened. Self-reviewed during authorship; two real races found and fixed (route effect overriding reader scroll position when pdf.js reports its page count; in-flight scroll gate armed a frame too late). #279 closed by tests/ui-document-canvas.spec.ts; #283 batch-route deferral recorded with the measurement that should decide it; #290 added for the OffscreenCanvas number; #291 added for a pre-existing root-only pr-handoff-stop failure; #252 updated with measured bundle headroom (+9.4% of 10%). Crop-to-page overlay out of scope by design.", - "checks": "verify:pr-local (1 pre-existing root-only failure: pr-handoff-stop, reproduced on origin/main worktree; 5839 passed), build OK, eval:rag:offline 36 golden cases 574 tests, check:bundle-budget within tolerance, check:playwright-pr-shards 23 specs, canvas gate skip-with-reason verified locally and fail-closed verified with CI=1. Browser gates unrunnable here (Chromium 141 vs pdfjs-dist 6 needing 151) - delegated." + "date": "2026-07-30", + "ref": "codex/review-pr1448", + "head": "3e50d1364912c2296a3a681f595dd5b89880129e", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1448 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-09", - "ref": "claude/document-viewer-phase-3-bj5k5v", - "head": "156db63f1b60f09791e426b043ea90d427b789ab", - "scope": "post-#1772 test simplification: replace the viewer perf source-text grep with behavioural coverage; de-literalise rail window and keyboard label assertions", - "outcome": "PR #1777 opened. Self-review of #1772's own tests against an excessive-strictness challenge. Finding: the client-performance-boundaries grep for resolveLiveCanvasWindow / resolveRenderAheadPages / liveCanvasLimit / requestIdleCallback was not merely brittle, it was INEFFECTIVE - replacing the budget call with a hardcoded 3 leaves every identifier in the file, so it stayed green while the viewer retained three full-zoom canvases (measured both ways). Replaced by a DOM case that binds the budget (VIEWER_MAX_ZOOM at dpr 3 gives ~16.8M backing px against the 24M budget, window collapses to 1) and fails on exactly that substitution. Also exported RAIL_IMAGE_WINDOW so the rail test derives its counts (verified by tuning 6->8: all 7 still pass), and relaxed the keyboard aria-label assertions from exact prose to the key names. Pre-existing greps for disableAutoFetch / canvas.width = 0 / pageToCleanup left alone deliberately - two are now redundant but they are another author's guard.", - "checks": "verify:pr-local (1 pre-existing root-only failure: pr-handoff-stop #291; 5872 passed), build OK 80s + client bundle secret check, eval:rag:offline 36 golden cases / 574 tests, lint + typecheck clean. Sabotage-verified in both directions. Browser gates unrunnable here (#279) - unchanged by this diff." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "3e56dd910ff036fab8a3455bb85efa0c95143eeb", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "fixed Static PR exitProcess types + task-centred sk- escape mangling; modality CR out-of-scope; unresolved threads resolved", + "checks": "typecheck clean; vitest bundle-budget+escape+therapy-wiring+pathways 34/34; build-therapies-index --check: Therapy indexes are current (205 records)" }, { - "date": "2026-08-09", - "ref": "claude/document-viewer-phase-3-bj5k5v", - "head": "2cd72f111414935d4028a19932992c4ab475dcea", - "scope": "document viewer Phase 3 review-and-fix", - "outcome": "PR #1772 deep review+fix: merged origin/main (renumber OffscreenCanvas #290->#294, drop dup #291=#284); fixed key-repeat pageRef, maxObservedCanvasPixels budget, rail remount-via-key, reserved-slot shadow-inset for DS ratchet; dispositioned Bugbot/Codex/Copilot canvas+rotation as already fixed at 8397aeb; #252 tip-only wording; #294 aggregate budgets; CodeRabbit ledger nit deferred to this superseding row", - "checks": "verify:cheap: Test Files 545 passed (545), Tests 5856 passed | 4 skipped (5860); verify:pr-local completed check:runtime check:installed-lock-parity format:changed sitemap:check docs:check-index docs:check-inventory docs:check-scripts docs:check-links check:branch-review-ledger check:outstanding-issues lint typecheck test build eval:rag:offline failed:(none); focused vitest 47 passed (keyboard+rail+budget+virtualization); design-system-contract legacy shadow aliases 220; merge-tree vs origin/main exit 0; Production UI delegated (pdfjs Map.getOrInsertComputed needs Chromium 151)" + "date": "2026-07-28", + "ref": "PR #1306 / `claude/frontend-checklist-skills-ece5e6`", + "head": "3e6584413f15cdc2c201b8ab123191b38f5d8042", + "scope": "External skill precedence + evidence rules; CodeRabbit closeout", + "outcome": "MERGED (squash); remote branch auto-deleted. Added `External skill precedence` and `Evidence and calibration are never compressed` to AGENTS.md after installing 390 user-global Front-End Checklist skills plus the caveman output-style plugin. CodeRabbit raised 3 findings; its autofix landed 2 pre-merge (WCAG target-size citation corrected to 2.5.5 AAA 44x44 vs 2.5.8 AA 24x24; third-party ref verification deferred to the provider boundary). The summary-level precedence-scoping nitpick had no inline thread, was skipped by autofix, and landed separately in PR #1308.", + "checks": "prettier PASS; docs:check-links 1274 refs PASS; docs:check-index PASS; verify:cheap BLOCKED at check:installed-lock-parity (worktree next 16.2.10 vs locked 16.2.11) so lint/typecheck/test never ran; no provider-backed checks." }, { - "date": "2026-08-09", - "ref": "claude/documentviewer-nav-convergence-oddhjx", - "head": "1395d533cb13eadc705e47f76aa9f39a7a11c058", - "scope": "DocumentViewer / in-page-nav convergence (#288): non-adoption decision recorded in docs/search-chrome-behaviour.md; merged duplicated visible-element predicate into resolveVisibleElement; new convergence guard test", - "outcome": "Converged what was duplicated; DocumentReviewer header adoption declined on the merits with four blocking reasons recorded. No contract test edited.", - "checks": "verify:pr-local (546/547 files, 5883 tests pass; sole failure tests/pr-handoff-stop.test.ts reproduced on pristine origin/main), verify:phone-chrome (contracts 123 pass; focused Chromium 7 pass), contract set 12 files/151 tests pass, lint, typecheck, format" + "date": "2026-07-30", + "ref": "codex/next-local-task", + "head": "3e6d6d69c15fc056773657e15879ba2283fa2899", + "scope": "archive issues 129 and 132", + "outcome": "approved: documented constraints satisfy both explicit outcomes without overstating client-side enforcement", + "checks": "guard:push:self-test; focused vitest 24/24; check:github-actions; check:outstanding-issues; diff check" }, { - "date": "2026-08-09", - "ref": "claude/in-page-nav-pr-3-i6gi8n", - "head": "6651feef4fab63f1181fba57908cb22e2932df3c", - "scope": "in-page-nav PR 3: convert /medications/[slug] (panel-swap) and /factsheets/[slug] (anchors) onto InPageNavHeader; record the differentials-presentations exception; delete orphaned SecondaryNavigation (#271)", - "outcome": "converted 2 of 3 routes, 3rd recorded as a reasoned lasting exception; tocFor and SecondaryNavigation deleted; route-sections contract 7 -> 12 routes plus a panel-swap suite", - "checks": "verify:pr-local (1 pre-existing root-permission failure in pr-handoff-stop.test.ts, all else green); test 5932 passed; in-page-nav-route-sections 29 passed; verify:phone-chrome 3/4 stages (focused-browser blocked by #255 Chromium 1194 vs 1234); build + bundle-budget + rag:fixtures green; verify:ui not run (#255, delegated to CI)" + "date": "2026-08-18", + "ref": "claude/schema-work-mem-codify-6200f1", + "head": "3e73b8bd43a689b9c6f8c83b9cbfddede0bb231b", + "scope": "supabase migrations, schema.sql (PR #2106 Phase 3 codification review)", + "outcome": "Reviewed via supabase-schema-guardian: signatures, ordering, idempotency, schema.sql/migration consistency, RAG-impact claim, and guard-migration contract all verified correct against the diff. Fixed one concern (forensics runbook offered mark-applied-by-CLI as equal to db push for three migrations shipping no validation guard — narrowed to require db push and forbid migration repair) and added SET LOCAL lock_timeout/statement_timeout to the two migrations taking ACCESS EXCLUSIVE locks on hot tables (documents, ingestion_jobs, document_chunks), matching the 20260804110240 pattern. No schema.sql or function-body change from this review; no live Supabase access.", + "checks": "check:migration-role passed; vitest tests/migration-history-guards+hosted-migration-role-guard+supabase-schema+drift-detection+search-health-index-coverage+guard-push.test.ts 141/141 passed; prettier --check on the edited doc passed; npm run format whole-tree no-op; drift:manifest Docker replay not run (Docker daemon unavailable in this sandbox) — CI Migration replay + Unit coverage + Static PR checks + PR required all green on the prior head and these edits are additive SQL/prose only" }, { - "date": "2026-08-09", - "ref": "claude/inpage-nav-pr-2-6d32f9", - "head": "249526988ea3d65c54e69ee7ca05e514bff50ed8", - "scope": "in-page-nav PR 2: convert six information routes onto InPageNavHeader; delete the shell-owned pill rail", - "outcome": "Shipped as PR #1766. Seven components converted; actions API widened for Server Components; two DSM routes' missing anchors wired; rail and section kind removed; new per-route rendered-DOM section contract added.", - "checks": "verify:pr-local 527/530 files 5708 tests; verify:cheap 529/530 5710 tests; verify:phone-chrome escalated to full Chromium 398 passed then 13/13 updated specs pass; typecheck + prettier clean; Playwright production build compiled. Residual failures proven pre-existing on pristine base 9ab3b73a (issues #285, pr-handoff-stop env)." + "date": "2026-08-12", + "ref": "codex/specifiers-results-polish-20260813", + "head": "3e82cca69a72a66c1be87c5b9357336c3a95b7b0", + "scope": "specifier result-card layout and interaction", + "outcome": "No findings after resolving reduced-motion, dark-mode, and focus-ring review items", + "checks": "focused Chromium 1/1; lint pass; typecheck pass; RAG fixtures 36/36; full unit suite has 17 unrelated Windows/tooling baseline failures" }, { - "date": "2026-08-09", - "ref": "claude/m2-ds-gates-blocking", - "head": "8ed66a0570c95c2cc8597364467e67966b04854d", - "scope": "M2 design-system gates: #264 + gate 4 of #265", - "outcome": "ready-to-merge; gate 2 enumeration deliberately reverted as non-deterministic (#289)", - "checks": "ds-contract PASS (colour-only 4, numerals 2, inversions 0); mutation-verified x4; lint 0; tsc 0 errors; icon+type scale PASS; focused vitest 126p/3 files; verify:cheap 5777p with 10 pre-existing failures proven identical on pristine origin-main; format:check clean" + "date": "2026-08-13", + "ref": "PR #1903 / codex/dynamic-mode-header", + "head": "3e8c3ed85e1d052cc686fcbbbab9ba708bd89078", + "scope": "dynamic mode header exact-head CI repair and adversarial follow-up", + "outcome": "Fixed PR-introduced style-contract registry blocker by documenting mode-nav as a non-visual density-profile/query-container scope; no additional P0-P2 finding in changed scope.", + "checks": "Actions Unit coverage failure reproduced; latest-base merge reviewed; reconstructed source blob verified; TypeScript transpile and focused registry proof passed; fresh exact-head CI pending" }, { - "date": "2026-08-09", - "ref": "claude/m2-ds-gates-blocking", - "head": "d204c6f7c84a5e7de3f28061121fda68e7d28670", - "scope": "M2 design-system gates: #264 + gate 4 of #265", - "outcome": "ready-to-merge; supersedes the 8ed66a05 row — the tap-floor defect renumbered #289 to #291 after main claimed #289/#290, and main was merged in", - "checks": "post-merge ds-contract PASS (colour-only 4, numerals 2, inversions 0) against main's new #1765/#1766 component code; outstanding-issues guard PASS 289 rows next-id=292; ledger guard PASS 774 rows; format clean" + "date": "2026-08-18", + "ref": "claude/eval-canary-protocol-docs-01bb49", + "head": "3e9905d0ac9d88f22dc88d41639399ae69237cf0", + "scope": "docs/rag-behaviour/safeguards.md, docs/rag-improvement/README.md — eval-canary pair protocol trigger mechanics and bisection lessons (ledger #TYJ0XP)", + "outcome": "approved — docs-only, no code/behaviour change", + "checks": "verify:pr-local (docs-scoped: format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline) all passed" }, { - "date": "2026-08-09", - "ref": "claude/m2-ds-gates-blocking", - "head": "e8447b042088998d34af750df72a946b1f074b97", - "scope": "M2 design-system gates: #264 + gate 4 of #265", - "outcome": "ready-to-merge; supersedes the d204c6f7 row — seven review findings fixed, copilot-swe-agent commits merged keeping the safer numeral classifier, tap-floor defect renumbered #291 to #293 after main claimed #291/#292", - "checks": "ds-contract PASS (colour-only 4, numerals 2, inversions 0); 11 reviewer cases probe-verified; mutation-verified incl. opacity and arbitrary-filter forms; lint 0; tsc 0 errors; format clean; outstanding-issues guard PASS 291 rows next-id=294 no ids deleted; ledger guard PASS 775 rows" + "date": "2026-08-20", + "ref": "claude/repository-audit-review-o5vtp9", + "head": "3ed19320026b291a9cc94544bddf1589af24f7ff", + "scope": "repo-wide audit", + "outcome": "Findings: 2 P0/P1-critical (shared answer-cache key collision serving one clinical question's answer to another; documents.owner_id ON DELETE SET NULL republishes private documents), plus P1s on medication validation_status hardcoding, extractive review-fallback grounded flip, enrichment-artifact loss, and a topic denylist refusing in-corpus queries. No code changed.", + "checks": "verify:cheap (exit 1: 692/693 test files pass; tests/guard-push.test.ts fails on missing gh CLI); focused vitest repro; offline static review by 6 domain agents" }, { - "date": "2026-08-09", - "ref": "claude/m3-token-debt-262-261", - "head": "7bac3bd762b381cb25c9b2a15ef3bb7223d15b16", - "scope": "PR #1780 review-and-fix", - "outcome": "fixed P2 ratchet bypasses (arbitrary-property classes, CSS-consumer exemption anti-rot, modern CSS zero units); Bugbot clean; merge-tree clean; required CI was green on prior tip", - "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption fail→restore; verify:cheap PASS (549 files / 5933 tests); verify:pr-local stages PASS (test flake in design-system-adoption timed out once then 51/51 + full test 549/549 + check:rag:fixtures PASS); no provider gates" + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "3ed3a7a2df37d7d15143ab7606e5748ac7ecca09 + reviewed follow-up diff", + "scope": "offline dose-route latency follow-up", + "outcome": "The next isolated timeout was a short IM/PO agitation question receiving the same blanket ten-term AND expansion. Agitation dose/route retrieval now keeps only the dose and route signals present in the question; the exact case retrieves its expected source and five citations in 1.54 seconds without a model. All remaining RAG cases 23–44 passed individually, so no further deadline crash remains.", + "checks": "Focused clinical-search/retrieval Vitest 111/111; scoped ESLint; Prettier; `git diff --check`; live provider-free case 22 passed; live provider-free cases 23–44 passed individually." }, { - "date": "2026-08-09", - "ref": "claude/m3-token-debt-262-261", - "head": "95221ef4235abd9544158b07b8b8569f00c9ec78", - "scope": "PR #1780 review-and-fix", - "outcome": "fixed P2 ratchet bypasses (arbitrary-property classes, CSS-consumer exemption anti-rot, modern CSS zero units); Bugbot clean; merge-tree clean; required CI was green on prior tip", - "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption fail→restore; verify:cheap PASS (549 files / 5933 tests); verify:pr-local stages PASS (test flake in design-system-adoption timed out once then 51/51 + full test 549/549 + check:rag:fixtures PASS); no provider gates" + "date": "2026-07-27", + "ref": "`codex/fix-phone-bottom-edge-20260727`", + "head": "3f33b0b4b7c08dab74ba6685fbd6aa672a8e6c91", + "scope": "Final review of browser and standalone phone edge ownership", + "outcome": "APPROVE pending exact staging device acceptance. Supersedes the `2cfd7268` review after physical Safari and cold-launch PWA evidence disproved the fixed-root solution. Browser phones now use document scrolling so Safari can minimize its chrome and paint content through released top and bottom edges; standalone phones retain a bounded 100vh frame with page-owned calculator, DocumentViewer, and differential footers portaled outside the inner scroller. Hidden chrome releases reserve, opacity, hit testing, and last-pixel ownership without a backward scroll jump, while sm+ returns portal content inline. Independent final review found no P0-P3 issue.", + "checks": "`verify:cheap` PASS (393 files; 3526 passed / 2 skipped); focused static contracts PASS (43/43); exact new standalone and responsive production Chromium journeys PASS (4/4); `verify:ui` PASS (323/323); Prettier and `git diff --check` PASS; physical Safari and freshly relaunched Home Screen PWA staging proof pending; no live provider-backed verification." }, { - "date": "2026-08-09", - "ref": "claude/m3-token-debt-262-261", - "head": "c6e1fe7fc42ec6f286eb5a3d8f7ddad7dfad2724", - "scope": "design-system contract: raw padding/radius/line-height ratchets + type-step selection gate (#262 parts 2/3); closed #218/#270", - "outcome": "Authored and self-verified; PR #1780 open, auto-merge deliberately not armed (gate change). Baseline additive: all 15 pre-existing metrics and every debtByPath entry byte-identical; 94/94 new findings verified present at their cited line. Mutation-tested both halves of part 3 and three failure modes of part 2.", - "checks": "check:design-system-contract, check:icon-scale, check:type-scale, check:outstanding-issues, vitest design-system-contract-utils (31 passed), format:check whole-tree, verify:cheap (exit 1 from 5 pre-existing failures, none in this diff; 3 cleared by merging main, remaining 2 byte-identical to origin/main)" + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "3f56355a8eb6d60b4083495b74620960cc11400d", + "scope": "Babysit: re-sync after #1394 outstanding-issues collision", + "outcome": "FIXED CONFLICTING again: main #1394 claimed #115; kept it and renumbered phone-chrome gaps to #116/#117 (next-id=118). merge-tree clean; MERGEABLE expected. Prior babysit validations retained; no review threads; no Bugbot findings.", + "checks": "merge-tree clean vs origin/main; prior verify:cheap/typecheck/lint/contract on 2594d5e8; CI re-queued" }, { - "date": "2026-08-09", - "ref": "claude/m3-token-debt-262-261", - "head": "fe75e6acade008e68f953e235cc035f2e5d9d216", - "scope": "PR #1780 review-and-fix", - "outcome": "fixed P2 ratchet bypasses; synced origin/main (#1775); Bugbot clean; merge-tree clean", - "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption; verify:cheap PASS 549/5933; verify:pr-local stages PASS after adoption flake retest; check:rag:fixtures PASS; no provider gates" + "date": "2026-08-13", + "ref": "claude/ledger-sweep-inbox-requests", + "head": "3f7569ab652b5d5c7608b63f38ff8f7e3dcc9b61", + "scope": "PR #1920 full ledger-request review and fix", + "outcome": "two confirmed P1 reconciliation defects repaired: preserve one open post-restore DR survivor and update #169 with the complete #152/#236/#260 machine-local inventory; #253 dispositioned no-change because PR #1606 is already closed unmerged and MobileResultFilterControl has no production reference; no additional P0/P1/P2 finding in the distinct manual adversarial pass", + "checks": "all 46 changed files reviewed; request schemas, UUID filename/id parity, mutation-conflict set, required inventory tokens, review-record hash, and post-apply survivor semantics checked locally; pre-fix exact-head CI green (PR required, Static PR checks, SAST, Gitleaks); hosted exact-head CI required after push" }, { - "date": "2026-08-09", - "ref": "claude/planning-build-intelligence-9ot0nm", - "head": "3df3cb3993f73cda4dbbc4ac7549f84b3c6ea7ed", - "scope": "Node 24.15 engine floor: engines.node, preinstall hook, check:runtime, session-start provisioning, codex-cloud assertion", - "outcome": "Authored and handed off as PR #1771; closes #285; operationalRisk true, clinicalRisk/ragRanking false", - "checks": "test 5800 passed/1 pre-existing root-uid failure (pr-handoff-stop, confirmed on stashed clean tree); lint 0; typecheck 0; prettier --check . pass; check:runtime pass; check:codex-cloud pass; check:outstanding-issues pass; preinstall boundary proof 24.13/24.14.9 reject, 24.15/24.19 accept, 25.0.0 reject; contract test mutation-checked red" + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "3f7c89f5e2660ec1505719ab3208013e873dc79e", + "scope": "PR #1441 Docker upload parity follow-up", + "outcome": "approved after reproducing container env-validation failure and isolating the build argument from application env", + "checks": "exact CI ordinary build pass; app-image failure reproduced from logs; Docker contract self-test pass; focused rerun coordinator-blocked" }, { - "date": "2026-08-09", - "ref": "codex/chat-mode-home-copy-9d76", - "head": "1d32ce6f0a9f580eef55363de17e15723ae8d898", - "scope": "PR #1790 babysit", - "outcome": "MERGED via squash auto-merge as d812c769; same-mode focus fixed; Copilot aria dispositioned (drawer still Clinical Guide); CodeRabbit focus-steal follow-up in cursor/same-mode-focus-no-steal-6df8; reply API unavailable", - "checks": "PR required PASS; Production UI shards PASS; unit mode-menu-prefetch PASS" + "date": "2026-07-29", + "ref": "codex/search-composer-focus-pwa", + "head": "3f7cd1e4069b7ef8f8b18519adfb0dba0dc349a8", + "scope": "PR #1373 CircleCI lint remediation", + "outcome": "Deterministic unused locator warning removed", + "checks": "CircleCI format passed; lint root cause captured; focused Vitest 48/48; typecheck" }, { - "date": "2026-08-09", - "ref": "cursor/differentials-diagnosis-links-9f18", - "head": "0daa9e2f9fc84e879fd661da94203568309234a6", - "scope": "PR #1768 Autopilot+Bugbot review-and-fix", - "outcome": "Merged origin/main (DIRTY was ledger+detail-page staleness; merge-tree clean). Fixed SEGMENT_SPLIT to spaced-slash only so Delirium / medical psychosis links while alcohol/benzo, DVT/PE, food/fluid stay intact. Dispositioned: Copilot termLinks ??{} + Fragment key already fixed; CodeRabbit clean-keys moot (visibleSectionItems already cleans); CodeRabbit bare-slash split rejected (clinical harm). No Bugbot findings. Threads cleared on push. Merge left to user.", - "checks": "vitest differential-diagnosis-links+detail+route 49/49; verify:cheap exit 0 (543 files, 5828 passed/4 skipped); verify:pr-local exit 0 (lint/typecheck/test/build/rag-fixtures); merge-tree clean vs origin/main; no provider gates" + "date": "2026-07-13", + "ref": "claude/repo-next-steps-e53523", + "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-08-09", - "ref": "cursor/differentials-diagnosis-links-9f18", - "head": "0e77e7bc0842bef4ffc045c6dbea4626152490d1", - "scope": "differentials diagnosis term links", - "outcome": "implemented exact+alias termLinks chips on diagnosis+presentation pages; vitest 58/58; verify:pr-local green", - "checks": "vitest differential-diagnosis-links+detail+section-nav+route; verify:pr-local; ensure spot-check" + "date": "2026-07-13", + "ref": "origin/claude/repo-next-steps-e53523", + "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #513; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-09", - "ref": "cursor/differentials-diagnosis-links-9f18", - "head": "f784e81bcc0b53ef76b3da07a8e81f96d9bf0c71", - "scope": "pr-1768 unblock", - "outcome": "merged origin/main onto ba590f9; merge-tree clean; DIRTY mergeability cleared; push tip follows amend with this ledger", - "checks": "merge-tree clean; threads resolved; auto-merge was armed" + "date": "2026-07-14", + "ref": "claude/repo-next-steps-e53523", + "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", + "scope": "launch-readiness and RAG-performance follow-up", + "outcome": "Branch changes were already squash-merged by PR #513. Fresh review found one P1 governance inconsistency (Singapore app/worker processing omitted from the PIA's cross-border account) and three P2 follow-ups: degraded-answer SLO overcounting, a second blocking shared-cache miss diagnostic query, and stale launch/RAG backlog status. No source fix was applied in this review.", + "checks": "`git diff --check c3828ceb9f3812abeebc1b653361fc254dda9f5e..3f7d6d76f597f2a0311af1052480f84b68ecc259`; focused Vitest 92/92; `npm run eval:rag:offline` 36 fixtures and 59/59 contract tests; `npm run verify:cheap` passed runtime, action pins, sitemap, type scale, lint, typecheck, and 1,672 passed/1 skipped tests. Provider-backed Supabase/OpenAI, browser, release, drift, and live retrieval-quality checks were not run." }, { - "date": "2026-08-09", - "ref": "cursor/differentials-four-page-nav-5ebf", - "head": "384a1bedd8dd1064fb2fcf26ac845224e2cafdc4", - "scope": "PR #1774 differentials four-page nav heavy review-and-fix", - "outcome": "fixed P1 ids+Playwright; ModeNav route gate; RSC queue clears bundle+shadow; Copilot ModeNav-on-detail dispositioned (info page); ledger reorder dispositioned (merge=ledger)", - "checks": "vitest nav 47p; design-system-contract; typecheck; lint; test 5897p; build+bundle-budget 1543.7 within tol; focused pw compare queue 1p" + "date": "2026-08-13", + "ref": "PR #1894 / codex/fix-dsm5-search-bar-and-optimize-results-page", + "head": "3f81562621d59eb4ee15311ea5d484245656ac7e", + "scope": "Fresh exact-head PR review and DSM Playwright collection repair", + "outcome": "Found and fixed PR-introduced P2: the 1024px DSM geometry regression spec was excluded from Playwright collection and required PR shards; distinct manual adversarial pass found no additional P0-P2 defects", + "checks": "static collector and shard parity proof; production matcher regression assertion; source, filter-contract, merge-tree, and thread review; local npm and Playwright unavailable because github.com DNS failed and gh was absent; hosted CI pending" }, { - "date": "2026-08-09", - "ref": "cursor/differentials-four-page-nav-5ebf", - "head": "93ea437610c1f1b681c3a5cbdc72fe8b9b178710", - "scope": "differentials four-page nav", - "outcome": "implemented Search/Diagnoses/Presentations/Compare equal pages; compare queue; kind labels; Search q+run restore", - "checks": "vitest nav+differentials-navigation; typecheck; lint; full unit 5814 passed" + "date": "2026-08-04", + "ref": "pull/1593", + "head": "3fe6c4f02e996601422f805f7b83fef2e4d656dd", + "scope": "Run PR sweep full changed scope", + "outcome": "closed as superseded", + "checks": "Superseded by Dependabot replacement PR 1603 with the same four updates plus Playwright 1.62.1." }, { - "date": "2026-08-09", - "ref": "cursor/dsm-search-header-fix-15d6", - "head": "df088c766f1761496189ec09146aa54c23b1c012", - "scope": "dsm-search-header", - "outcome": "pass: removed catalogue page strip; ribbon + category filter match target", - "checks": "vitest dsm-search-empty-state; npm test 5857 passed; lint; typecheck; ensure phone /dsm/search?q=Delirium" + "date": "2026-07-28", + "ref": "PR #1295 / `fix/audit-remediation-from-main`", + "head": "3ff686e4957f5261c3d23d48e7a8195a60a8c800", + "scope": "Main sync + container-images RAM guard", + "outcome": "FIXED. GitHub CONFLICTING/DIRTY after main advanced 9 commits; real conflict only in `scripts/guard-next-build.mjs`. Kept main's `ALLOW_LOW_RAM_BUILD` / `evaluateNextBuildRamGuard` (+ Dockerfile/docker-image.yml wiring) which unblocks the container-images failure (Docker build lacked GITHUB_ACTIONS so the prior GITHUB_ACTIONS-only soften still hard-failed at 7.8 GiB).", + "checks": "Focused vitest guard-next-build+container-ci+therapy-compass 18/18; check:github-actions + ledger PASS; merge-tree CLEAN post-resolve; no provider checks." }, { - "date": "2026-08-09", - "ref": "cursor/fix-document-open-scroll-e5bf (PR #1782)", - "head": "86698228533ebe10452c10c1bd7a3e1610d891ae", - "scope": "PR #1782 unblock", - "outcome": "merged origin/main (behind-but-clean); fixed static-pr TS2322 on document-viewer-shell chunk fixture; fixed Production UI DSM compare remove stall via location.assign + DOM proof; prior adoption-manifest drift already fixed", - "checks": "tsc clean for changed files; vitest document-viewer-shell+dsm-compare-remove+design-system-adoption 59/59 PASS; check:design-system-adoption PASS; format; no provider-backed checks" + "date": "2026-07-22", + "ref": "PR #1076 / `codex/reconcile-therapy-mode`", + "head": "4008c62bea9496a1f597a9fc2c3142c69b937cfb (merged as 142646355a045314da85fa2b1582fdc45b2ac02e)", + "scope": "Therapy mode user-facing naming", + "outcome": "MERGED. Copy/metadata/navigation use Therapy mode while `/therapy-compass` and internal names remain. Review found sidebar and codebase-index gaps; both fixed and all threads resolved.", + "checks": "Focused 31/31; sitemap/index; identity-verified server; focused Chromium 2/2; `verify:cheap` 3,177 passed / 1 skipped; hosted Production/Advisory UI green." }, { - "date": "2026-08-09", - "ref": "cursor/fix-document-open-scroll-e5bf (PR #1782)", - "head": "98029875db7d640d3e699829249bb33892296bff", - "scope": "PR #1782 unblock", - "outcome": "before: static-pr+coverage failed on stale adoption-manifest (document-viewer-shell testFiles drift), merge-tree clean 0 behind, auto-merge armed, 1 advisory CodeRabbit waitFor thread; after: regenerated adoption-manifest, hardened scroll negative assertion, pre-commit+handoff adoption sync to prevent recurrence; CodeRabbit dispositioned as fixed by sync assert", - "checks": "check:design-system-adoption PASS; vitest design-system-adoption+document-viewer-shell+docs-inventory 63/63 PASS; format; no provider-backed checks" + "date": "2026-08-01", + "ref": "claude/ds-v2-tooling-loop", + "head": "40181192519fddc9405523d06bd3e691096cda6c", + "scope": "PR-0 tooling loop: Context7 + Chrome DevTools MCP wiring, design-sync and mockup-capture scripts, docs/env-example updates (11 files, +1005/-11, no clinical or RAG surfaces)", + "outcome": "gates green", + "checks": "verify:pr-local: format/lint/typecheck/lock-parity green; unit 4803 passed, 6 env-class WSL relay failures in ci-cache-safety.test.ts (Ubuntu distro stopped), focused rerun 13/13 green after WSL boot; check:rag:fixtures 36 golden cases green; build skipped by selector" }, { - "date": "2026-08-09", - "ref": "cursor/smarter-meds-search-9c1b", - "head": "74c3ea7706802925040b2c5603a7140a54dc9cd3", - "scope": "medications-catalog-search typos brands", - "outcome": "shipped catalog-local typo/brand search; no RAG", - "checks": "npm run test: 5899 passed" + "date": "2026-08-12", + "ref": "PR-1837", + "head": "401aadc1d24a99067eb0472dc4419d85502e0caa", + "scope": "full PR diff and unresolved review feedback", + "outcome": "No P0-P2 findings after current review fixes; existing dispositions verified", + "checks": "focused workflow policy and ledger guards pass after current-main merge" }, { - "date": "2026-08-09", - "ref": "cursor/smarter-meds-search-9c1b", - "head": "aced65e055892b0e2927b3999f95c6435102f610", - "scope": "medications-catalog-search typos brands", - "outcome": "main sync; catalog-local typo/brand search complete; no RAG", - "checks": "medications+route tests 49 passed; merge-tree clean" + "date": "2026-07-19", + "ref": "`origin/main` through PR #903 plus fixed 48-hour PR snapshot (`#689`–`#902`)", + "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6", + "scope": "whole-repository, all-lens regression and PR-activity review", + "outcome": "Changes requested. No P0. Confirmed five P1 defects: stale publication approvals are not bound to reviewed document state; invalid supplied credentials can become anonymous uploads; pooled duplicate uploads expose another uploader's metadata; readiness is fail-open for database usability errors; and settings promise clinical tailoring/alerts with no consumers. Eighteen P2 findings cover semantic rerank effectiveness/privacy, summary prompt trust, PDF resource limits, cancellation, auth-state loss, public storage-path exposure, query validation, provider-boundary/CI/test gaps, factsheet/Therapy behavior, Therapy startup cost, and the PR #903 ledger's incorrect claim that PR #901 has zero unresolved threads. GitHub GraphQL still reports two current unresolved P2 threads on merged PR #901.", + "checks": "Exact tree `68a58f6f..4034d2e60`: 217 commits, 566 files, +59,742/-8,242. Fixed snapshot inventory: 213 PRs created and 25 older PRs updated. On `a871dd765`, `verify:cheap` passed (317 files/2,879 tests), offline RAG passed (21 suites/294 tests), and production build plus required Chromium passed (1,682 pages; 239/239). PR #899 exact head `8242fa63d` has the same full local proof and green hosted checks; PR #903 is docs-only and passed `git diff --check`, docs links, and docs script references. Production-readiness CI, design-system, env parity, workflow guard, and offline audit passed. `docs:check-index` remains advisory-red and full-range `git diff --check` reports four intentional Markdown hard breaks plus three SQL whitespace lines. No OpenAI, Supabase, deployment, live clinical, or provider-backed release command ran." }, { - "date": "2026-08-09", - "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", - "head": "94dd432c0f64fd0593ea68d15aaa612240e7cd1d", - "scope": "PR #1785 unblock/fix", - "outcome": "synced origin/main (behind-but-clean); merge-tree clean; prior tip CI green except PR mergeability DIRTY; review threads already cleared", - "checks": "merge-tree clean; behind 0; prior abb827b1 PR required+Production UI green; focused meds tests to re-run after sync" + "date": "2026-07-19", + "ref": "codex/fix-p2-audit-20260719", + "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6 + reviewed working diff", + "scope": "full-repository remediation of audit findings P2-6 through P2-23 across RAG, cancellation, privacy/API validation, PDF extraction, auth durability, offline/CI verification, Factsheets, Therapy Compass, and review records", + "outcome": "Remediated all 18 recorded P2 findings with scoped code and regression tests. Semantic rerank signals and safety identifiers now survive answer ranking; source summaries reject embedded instructions; shared search/embedding/answer work respects per-caller cancellation; public search omits internal storage paths and document chunk validation fails closed; JS PDF extraction enforces dimensions and aggregate budgets before copying; transient auth validation outages retain local user data; offline release and CI PDF prerequisites are deterministic; Factsheet print/save state is honest and persistent; Therapy artifact actions are capability-aware and catalogue routes load a compact generated index; the prior PR #901 thread claim is corrected. No remaining high-confidence P2 was found in the reviewed working diff. Remote review-thread disposition was not attempted because GitHub API interaction requires separate confirmation.", + "checks": "`verify:cheap` passed 318 files / 2,891 tests / 1 skipped; final PR-local constituent run passed format, lint, typecheck, and 318 files / 2,892 tests / 1 skipped; production Next.js build generated 1,682 pages and the client-bundle secret scan passed; `verify:ui` passed 239/239 Chromium tests; offline RAG fixtures passed 36 cases / 21 suites and offline RAG eval passed 295 tests; focused changed-surface Vitest and DOM suites passed; CI-scope, Therapy index, offline-release dry-run, and `git diff --check` passed. The PR-local wrapper's first build attempt was correctly blocked by the identity-verified dev server; after stopping only that isolated server, the build and remaining RAG fixture step passed directly. No OpenAI, Supabase, GitHub, hosted-CI, deployment, or production-data workflow ran." }, { - "date": "2026-08-09", - "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", - "head": "b722c628ca05eb32190ac6355e8ee0537817621c", - "scope": "PR #1785 unblock/fix", - "outcome": "synced origin/main (#1782); behind-but-clean DIRTY cleared; merge-tree clean; review threads clear; prior tip product CI green", - "checks": "merge-tree clean; behind 0; test:focused meds after sync" + "date": "2026-07-19", + "ref": "main / `codex/supabase-database-review`", + "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6 + reviewed working diff", + "scope": "live `Clinical KB Database` security, migration, schema-drift, integrity, and performance review against current repo", + "outcome": "Confirmed and remediated a P1 privacy defect: 601 private-document title-vocabulary rows were reachable by the service-role query corrector; the live public-only sync/backfill now reports zero private or out-of-scope rows. Applied the committed retrieval-count bound, audit-metadata minimization, registry cleanup/index, public-title corrector, and atomic summary-rate-limit migrations. The missing FK and registry indexes are present and no invalid indexes remain. A second P1 was found in the untracked live `ingestion-worker`: gateway JWT verification accepted any project JWT before privileged direct-Postgres job processing. Recovered the deployed source into the repo, restricted it to POST plus a gateway-verified `service_role` claim, expanded the Deno checker to every tracked Edge Function, and deployed exact-matching v13 with JWT verification enabled. Review also exposed a repo mirror/test gap: the count-clamp migration was not reflected in `schema.sql`; the branch now mirrors it and locks both sources in the focused test. Remaining hosted blocker: `postgres` cannot assume managed `supabase_admin`, so the fail-closed default-ACL migrations and final title-word constraint/trigger migration remain unapplied; the intentional service-role-only table still produces one INFO no-policy advisor.", + "checks": "Supabase connector project identity, migration and Edge Function inventory, full drift snapshot comparison, security/performance advisors, catalog integrity/ACL/index queries, Vault JWT-role compatibility check, post-apply invariants, exact deployed-source hashes, and unauthenticated live rejection (401); focused retrieval/schema/drift Vitest 82/83 with only manifest freshness failing; Edge/retrieval auth 9/9; Deno check for both functions; offline RAG 36 cases / 294 tests; function-grant guard; scoped ESLint, Prettier, and `git diff --check`. `check:supabase-project` was attempted but stopped before provider contact because local project env vars are unset. `drift:manifest` was blocked because Docker Desktop could not start and was cleaned up. `verify:cheap`, `verify:pr-local`, production-readiness, OpenAI, hosted CI, broader deployment, and commit/push were not run." }, { - "date": "2026-08-09", - "ref": "cursor/therapy-card-densify-e975", - "head": "3db839a6bb1f5b45fc55bb732d21b30551a506b0", - "scope": "therapy search ResultCard densify (gap, tags, favourite, actions, match cells)", - "outcome": "pass — denser cards; band gap fixed; single-row prioritized tags; heart top-right; 3-col actions; summarised cells", - "checks": "unit 35/35; verify:pr-local pass; ensure visual phone+desktop pass" + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "4042bdd7af523746d4c9b7a9c6a732e36c886b7d", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty (real conflict in src/components/dsm/dsm-compare-chrome.tsx vs main's #2409 DSM redesign), CI red (Build/Static PR checks/Production UI x4/Lighthouse all failing on one root-cause TS2783 duplicate-prop typecheck error in the PR's own new test), 0 unresolved review threads (all 5 PR comments were bot noise: Codex/CodeRabbit/Bugbot usage-limit notices and a CI-triage bot comment). After: merged origin/main cleanly (dsm-compare-chrome.tsx conflict resolved by combining HEAD's phoneLayout/slotSummaryLabel props with main's onCommit, verified equivalent since idsCompareHref already null-filters internally), fixed the duplicate actionLabel JSX prop in tests/compare-ids-chrome.dom.test.tsx (removed the redundant explicit prop since chromeProps spread already supplies it and the test asserts nothing about its value), pushed 2 commits (13efa061 merge, 4042bdd7 fix). No review threads needed action. New CI run (33051244071) at 4042bdd7 still in_progress after 30+ min observation window (PR mergeability + PR policy + Safety and config checks + Caring Contacts database already green); Build/Static PR checks/Unit coverage/Production UI x3/Production UI critical/Lighthouse budget not yet settled — deferred to the user per babysit budget, run: https://github.com/BigSimmo/Database/actions/runs/33051244071", + "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts tests/dsm-comparison-page.dom.test.tsx -- 6 files / 53 passed; npm run typecheck -- passed after fix (5604 input files); npx eslint on touched files -- clean; no provider-backed checks run" }, { - "date": "2026-08-09", - "ref": "cursor/therapy-card-densify-e975", - "head": "52f07d49f89e6c786c624ccbd38ae552818a2071", - "scope": "PR 1783 babysit", - "outcome": "fixed review threads: TagRow +N clip, title/alias preview exclusion, preview field fallbacks; Copilot md grid kept; CI re-triggered after Copilot tip", - "checks": "npm test: 5958 passed / 4 skipped" + "date": "2026-07-18", + "ref": "origin/main framework and dependency modernization snapshot", + "head": "4057677c8b92a5e1d997ec44958764fa91f5d424", + "scope": "parallel build/infra, backend, and frontend modernization audit", + "outcome": "Changes requested. No P0. Confirmed two P1 defects: Supabase SSR 0.12 auth-cookie responses discard mandatory anti-cache headers, and reindex bypasses the server-only-aware TSX runner after mutation-capable setup. Five P2 blockers cover the Webpack-to-Turbopack production cutover, incomplete Railway image-build watch ownership, missing clean `next typegen`, Node 26 types over a Node 24 runtime, and App Router retry actions that reset without re-fetching. P3 removal-readiness debt remains in Zod and Next Image APIs. Manual rewrite zones are auth response ownership, bundler/CSP/artifact consumers, JSZip resource limits, OpenAI request typing, and React Compiler adoption in the stateful dashboard/viewer roots.", + "checks": "Parallel read-only source/config/test audit against the exact snapshot; Node 24.18.0/npm 11.17.0; exact-version Next 16.2.10 bundled upgrade, Turbopack, error-boundary, and codemod guidance; TypeScript 6 backend no-emit analysis and Node import probes via a separately installed exact-version local dependency tree; `git diff --check`. No install, registry outdated/audit, full repo lint/typecheck/test/build/browser/Docker, Supabase/OpenAI, deployment, or hosted CI run; this worktree had no `node_modules`." }, { - "date": "2026-08-09", - "ref": "origin/pr/1686", - "head": "a5cce760d73bd174dba200b53852568dcdb9be0d", - "scope": "PR #1686 CI testing perfection and merged rollout reconciliation", - "outcome": "Merged required CI was green, but hosted evidence confirmed P2 shard imbalance, duplicated critical coverage, net-negative 1.09 GB cache transport, inactive container revision enforcement, duplicated workflow/build/browser work, and missing local npm-ci selection. Fixed locally on current main; no P0/P1.", - "checks": "Hosted run 31285952061 inspected; focused Vitest 55 passed plus browser-preflight 12 passed; CI workflow suite 256 passed; typecheck passed; CI scope, verification plan, shard parity, gate manifest, action pins, npm-ci dry-run, docs and outstanding-issues guards passed; no Playwright/browser run or provider mutation." + "date": "2026-07-30", + "ref": "codex/review-pr1465", + "head": "405f75843edab2850af78750c844bc5c22ebd9d5", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1465 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-09", - "ref": "PR #1782 / cursor/fix-document-open-scroll-e5bf", - "head": "5709f2cc7a954197e02107c96d7896d8d13445c3", - "scope": "document-viewer open-at-top", - "outcome": "ship: remove chunk mount scrollIntoView so document opens stay at overview top", - "checks": "document-viewer-shell.dom 7 pass; document-section-summary.dom 8 pass; verify:pr-local dry-run" + "date": "2026-07-25", + "ref": "cursor/alias-slot-disjointness-guard-6273 (PR #1215)", + "head": "406cf21eb730809fb06df00b1a9299e3462c728a", + "scope": "prlanded — generalized #030 contracts + ledger #081", + "outcome": "LANDED. Squash `b2d794c532ea8b7e259751005165f69906fcd784`. Adds two table-independent guards to `tests/eval-document-matching.test.ts`: pairwise alias disjointness across every multi-slot eval case, and the structural rule that one document can never satisfy every slot of a multi-slot case. Also opened ledger item #081 for the then-open PR #1196 alias conflict. Content verified by tree comparison against the squash commit (identical); remote branch deleted at merge, local pruned.", + "checks": "`npm run verify:cheap` green; hosted `PR required` green; tree-identity check `git diff b2d794c5 406cf21e` empty. No provider-backed checks." }, { - "date": "2026-08-09", - "ref": "pull/1771", - "head": "466ec4216272c31c5f754db213dbdc529583b167", - "scope": "PR 1771 runtime floor enforcement", - "outcome": "P2: Cloud and Desktop setup paths remain major-only; do not merge until range-aware", - "checks": "static review; check:runtime PASS; check:codex-cloud PASS; ledger PASS; outstanding issues PASS; focused Vitest blocked by active Playwright lease" + "date": "2026-08-13", + "ref": "codex/sitemap-dom-fixes (PR #1919)", + "head": "4076d8034b61fbb3420efa398fab11d9e243b193", + "scope": "PR #1919 heavy review and fix", + "outcome": "Fixed crawler policy and added regression coverage; no other blocking finding", + "checks": "Focused contract and source checks passed" }, { - "date": "2026-08-08", - "ref": "claude/differentials-inpage-navigation-h2u8fq (PR #1715)", - "head": "c67c4927d8a088be267b8bd280a06f300aad60bc", - "scope": "differentials detail: adopt PR #1688 default in-page navigation template", - "outcome": "Header rebuilt to the four template slots (back / title + active-section chevron sheet / ellipsis actions / weighted segment track); new detail-section-index.ts shapes the five tabs as DocumentSections reusing DocumentSectionTrack + DocumentSectionList; labelled strip gated to sm+; max-sm:static -> relative so the absolutely-positioned track keeps a positioned ancestor; tab panel renamed via aria-label since the sm-hidden strip cannot label it; sheets kept as siblings of PhoneHeaderCollapsePortal; no scroll spy (discrete panels). Adoption manifest regenerated - the dropped Tabs/ui-tools association was a coincidental capital-T comment match, not lost coverage.", - "checks": "typecheck exit 0; lint clean --max-warnings 0; verify:pr-local 5557 passed, stops only at pre-existing pr-handoff-stop (confirmed by stashed re-run on clean base); verify:phone-chrome lock-parity+runtime PASS, contracts 119 passed, changed-browser ui-tools passed, focused-browser 7 passed; new differential-section-nav.dom 9 passed; 40 passed re-run post-format; live browser 0 h-overflow at 320/390/768, collapse matches DocumentViewer (data-scroll-hidden=true, stack bottom 0)" + "date": "2026-08-03", + "ref": "claude/ds-v2-adopt", + "head": "407c8e74a240fbc2e0469b5a8334f55afd61e60d", + "scope": "bugbot PR #1595", + "outcome": "findings: P2 empty-sources fallback fixed; no P0/P1; residuals #217/#224 EmptyState heading, clipboard metadata unwired, #216 AnswerCard deferred", + "checks": "npm test 5061 passed; vitest answer surfaces 112 passed; no cursor[bot] Bugbot threads on PR" }, { - "date": "2026-08-08", - "ref": "claude/differentials-inpage-navigation-h2u8fq (PR #1715)", - "head": "f0b27ec857a70130d1616ddc1ccae1c9952c697b", - "scope": "heavy review-and-fix PR #1715 differentials in-page navigation", - "outcome": "merge-blocker cleared (origin/main sync); no P0/P1 findings; phone-chrome + verify:pr-local green on f0b27ec8", - "checks": "merge-tree clean post-sync; verify:phone-chrome lock-parity+runtime PASS, contracts 119 passed, changed-browser ui-tools passed, focused-browser 7 passed (19.4s); verify:pr-local Test Files 523 passed (523), Tests 5547 passed | 4 skipped (5551); lint+typecheck+build+rag fixtures green; 0 unresolved review threads" + "date": "2026-08-18", + "ref": "claude/home-pages-cleanup-qeh5fr", + "head": "40b92d2d6f41d0f9fadc8c4840737ffae1f34c5d", + "scope": "mode home footers + dictionary command surface", + "outcome": "self-review clean; footers removed on user instruction, dictionary example ticket added", + "checks": "verify:pr-local pass (673 files / 7276 tests); verify:ui not run — playwright chromium 1234 vs installed 1194 (#255), delegated to CI" }, { - "date": "2026-08-08", - "ref": "claude/document-image-mobile-view-30xzw8", - "head": "2394d903a6ca1ba7a84e380c9ed5cada038fa5c0", - "scope": "document-viewer phone image layout + lightbox geometry (PR #1737)", - "outcome": "implemented: capped rail/body grid tracks, removed aspect-ratio min-height transfer, rebuilt phone image viewer (legible open scale, rotation re-fit, clamped pan, double-tap, footer controls)", - "checks": "lint, typecheck, test (5647 pass / 1 pre-existing fail), build, eval:rag:offline, check:bundle-budget, all verify:pr-local static steps by hand; browser gates blocked by #255" + "date": "2026-08-14", + "ref": "PR-1956", + "head": "40be0b6fd37beb39f2cd10599d5455a4ed74ceef", + "scope": "ledger reconciliation review, current-main merge, and duplicate-follow-up queueing", + "outcome": "FIXED: merged current main cleanly; preserved canonical-ledger discipline; queued the two confirmed duplicate consolidations with immutable cancellation records for later serial reconciliation.", + "checks": "offline: ledger write-discipline; outstanding-issues; branch-review-ledger; docs links; skills; pr-policy; ci-scope; merge-loss self-test; manual adversarial review" }, { - "date": "2026-08-08", - "ref": "claude/document-image-mobile-view-30xzw8", - "head": "d257df7e11913db1d367535171fac726f47e7f1c", - "scope": "PR #1737 document-viewer phone image review-and-fix", - "outcome": "fixed P1 expand fixture/threshold + P2 double-tap stage coords/pointer-up + resize re-clamp; Production UI timeout root cause cleared; merge-tree clean", - "checks": "verify:pr-local PASS (525 files/5653 tests); lint; typecheck; focused vitest 64/64; Production UI delegated to CI" + "date": "2026-07-27", + "ref": "PR #1270 / `codex/fix-phone-bottom-edge-20260727`", + "head": "40d7cb1e4e934b47e96e9d7d8cea6a956472c12c", + "scope": "Final automated-review follow-up for phone chrome scroll ownership", + "outcome": "APPROVE. Three valid minor review findings were fixed: the latest scroll reporter now uses the commit-synchronized event-callback abstraction instead of mutating a ref during render; the 1024px focus regression proves bounded `main` ownership before and after scrolling; and paired answer geometry reads are ordered instead of raced. The component remains within its no-growth budget, visible edge geometry is unchanged, and no P0-P3 finding remains.", + "checks": "`verify:cheap` PASS (25 gates; 393 files; 3532 passed / 2 skipped); focused scroll contracts PASS (32/32); exact affected production Chromium journeys PASS twice (4/4 each); scoped ESLint, maintainability budget, Prettier, and `git diff --check` PASS; no non-GitHub provider-backed checks." }, { - "date": "2026-08-08", - "ref": "claude/document-viewer-optimization-tu8tnj", - "head": "2359e158cb7bca5954e9c5ee84ca0766964ad901", - "scope": "PR #1741 document-viewer phone/PWA review-and-fix", - "outcome": "supersede: fixed Production UI phone Zoom/section-trigger; handlePdfLoadSuccess clamp; prior P1/P2 fixes retained; merge-tree clean", - "checks": "prior verify:cheap+pr-local green; ui-smoke selectors fixed for overflow Zoom + revealPhoneHeaderControl; no provider gates" + "date": "2026-08-20", + "ref": "claude/settings-portability-b38ea3", + "head": "411ed4c9a92b8d6060d55f696b1fd66f4ede42c5", + "scope": "Move project-specific autoMode allow/soft_deny/environment block from user settings to .claude/settings.json", + "outcome": "Clean — verbatim move, no behaviour change intended; 41 added lines, no removals", + "checks": "tests/claude-code-settings.test.ts + tests/session-start-hook.test.ts (2 files, 100 tests passed); prettier clean; pr-policy risk all false" }, { - "date": "2026-08-08", - "ref": "claude/document-viewer-optimization-tu8tnj", - "head": "98b799a372b1e341c86e8807d5cf37e987413e49", - "scope": "document viewer phone/PWA rework: CSP-blocked native reader removed, one toolbar, fit-mode pinch, canvas pixel budget, source-first phone order, in-window detail-refetch guard, pdf.js on-demand fetch + teardown, image/signed-URL wins", - "outcome": "ship: PR #1741", - "checks": "lint, typecheck, test 5625 pass (1 pre-existing root-container failure), build, check:rag:fixtures, check:bundle-budget 1499.8 KiB vs base 1500.0 KiB, check:runtime, check:installed-lock-parity, format:changed; verify:ui not run (container Chromium 141 cannot raster pdfjs 6, see #278)" + "date": "2026-07-25", + "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", + "head": "4138c0dd9ac0096787af47f7d86a9adc390eeb44", + "scope": "PR babysit sweep + squash merge", + "outcome": "Before: CONFLICTING on outstanding-issues + search-scope vs #1191; PR policy missing RAG/clinical checklist. After: kept loadScopeLabels batching, closed #030/#075, fixed PR body; squash-merged.", + "checks": "pr-required + PR policy + Gitleaks; focused search-scope/eval tests; no provider-backed checks." }, { - "date": "2026-08-08", - "ref": "claude/document-viewer-optimization-tu8tnj", - "head": "9a5f79ab133c6ab9ea2a47e93b0101df8db44607", - "scope": "docs-only: one outstanding-issues row (#285) recording the lowercase authorizationHeader trap surfaced by PR #1741 review", - "outcome": "ship: PR #1754", - "checks": "check:outstanding-issues (283 rows, unique ids, next-id above highest), prettier --check on the changed file; no source touched so lint/typecheck/test/build have no changed failure path" + "date": "2026-08-07", + "ref": "codex/consolidated-ledger-updates (PR #1683)", + "head": "413e679bb92cb19717d6d8301764df44694eb73e", + "scope": "review-and-fix PR #1683", + "outcome": "synced origin/main (behind-but-clean DIRTY cleared); restored main ledger order + sole seven-report row; Bugbot none; no P0/P1; merge-tree clean", + "checks": "verify:pr-local docs scope PASS (format:changed Prettier; check:branch-review-ledger 648; docs links 1650; outstanding-issues 258); merge-tree clean" }, { - "date": "2026-08-08", - "ref": "claude/document-viewer-optimization-tu8tnj (PR #1741)", - "head": "8d01991217f56d40666e31e13547202c2a8df8f2", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Production UI PDF position fail + DIRTY → merged main; removed redundant relative on document-frame-controls; CI re-running", - "checks": "test:focused document-frame 16 passed; playwright smoke PDF-first mobile 1 passed; no provider-backed checks" + "date": "2026-07-28", + "ref": "PR #1305 / `execute-audit-remediation-fixes`", + "head": "4141ca3a737cdea51fe948f6e03599d3755930fa", + "scope": "Ledger dedupe + CodeRabbit thread closeout", + "outcome": "FIXED Static PR ledger guard: removed 1 exact-duplicate #1306 row from merge=union. CodeRabbit autofix threads (outstanding-issues row, z-index matcher, CardTitle ref, OverlayProvider deps) replied and resolved; OverlayProvider context value memoized. Adopted main RAM-guard.", + "checks": "check:branch-review-ledger PASS; Build/Unit green on prior tip; no provider-backed checks." }, { - "date": "2026-08-08", - "ref": "claude/document-viewer-optimization-tu8tnj (PR #1754)", - "head": "41b4bccf7d7229920c33344bec0d46e0f2e48b97", - "scope": "heavy review-and-fix", - "outcome": "CONFLICT merge-tree on docs/outstanding-issues.md resolved: kept main #285 (Node/jsdom floor) + renumbered authorizationHeader trap to #286, next-id=287; merged origin/main; 1 unresolved review thread (comments 403 — skipped); no product code change", - "checks": "check:outstanding-issues PASS (284 rows, next-id=287); prettier --check docs/outstanding-issues.md PASS; ledger:dedupe none; no provider-backed checks" + "date": "2026-07-24", + "ref": "audit-remediation (PR #1153)", + "head": "4163069d49456d665fc7bfaf633e7012befa78b1", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING in scripts/test-run-lock.mjs. After: merged origin/main; kept main lock wait/backoff semantics.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-08-08", - "ref": "claude/ds-a4-component-defects", - "head": "a029a543f744eb80e608ec482aacdbdc5f5599c2", - "scope": "unblock PR #1712", - "outcome": "Merged origin/main (ef28960e) to clear dirty mergeable_state: real conflict in docs/branch-review-ledger.md auto-merged via merge=ledger driver. Prior tip 9ba483d3 was 1 behind main. Static PR and PR required failures were dirty-state blockers (GitHub could not build refs/pull/1712/merge). Proved post-merge: merge-tree clean, check:branch-review-ledger, check:design-system-contract.", - "checks": "merge-tree clean; ledger:dedupe; check:branch-review-ledger; check:design-system-contract" + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch-final", + "head": "416d8ea80c81bfdb64a40eaacbe1d49be5db38c2", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1480 head; inactive clean worktree archived in verified cleanup bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, batch1 bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-08", - "ref": "claude/ds-a4-component-defects", - "head": "d3a697aa8784c9cbdecfba24402cf2269bfe15d4", - "scope": "heavy review-and-fix PR #1712", - "outcome": "Lint blocker fixed (react-hooks/refs in Pagination); CodeRabbit threads dispositioned; synced main (4a9d81d3 Lighthouse pin); merge-tree clean; verify:cheap 5567 passed; verify:pr-local green; check:design-system-contract passed", - "checks": "lint; typecheck; prettier --check .; verify:cheap (5567 passed); verify:pr-local; check:design-system-contract; check:branch-review-ledger; vitest ui-v2-components.dom (75 passed)" + "date": "2026-07-30", + "ref": "codex/review-pr1480", + "head": "416d8ea80c81bfdb64a40eaacbe1d49be5db38c2", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1480 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-08", - "ref": "claude/ds-baseline-workflow (PR #1743)", - "head": "753898f4982be38c3b3d11495caf3d30236b16a3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "3 Codex threads (2 P1+1 P2) → partial refresh + refresh provenance + mask settle; threads disposition via later head", - "checks": "vitest adopt-visual-baselines 3 + design-system-adoption 51; no provider-backed checks" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "41956467ae96c64058d7c391fcbbc6803a3f8012", + "scope": "PR #1484 post-main RAG and ingestion sync", + "outcome": "Ready: merged current main cleanly; protected RAG files identical to origin/main and no retrieval behavior delta", + "checks": "focused 7 files/201 tests PASS; production-readiness READY; ledger guards and ci-scope PASS" }, { - "date": "2026-08-08", - "ref": "claude/ds-close-276 (PR #1724)", - "head": "4baa9a1b42fa05731a6f983b3e0d0ebbd37f5271", - "scope": "PR #1724 review-and-fix", - "outcome": "synced origin/main (#1725 conflict on outstanding-issues resolved by preferring main queue then re-applying #276 done + corrected #118 diagnosis); Codex P2 fixed; CodeRabbit #276 archive claim dispositioned false; merge-tree clean after sync", - "checks": "check:outstanding-issues pass; prettier --check docs/outstanding-issues.md pass; merge-tree clean vs origin/main; no provider-backed checks" + "date": "2026-08-15", + "ref": "claude/ds-ratchet-tighten", + "head": "41a1bd73749564954d7bf11143fd6541402f7691", + "scope": "Tighten seven design-system ratchets to measured values after the #1982-#1986 merges", + "outcome": "17 units of stale headroom removed; no metric relaxed", + "checks": "check:design-system-contract passed at the tightened values (sub-floor min-heights 40, edge conflicts 19, legacy shadow aliases 114); mutation-verified — min-h-9 on the shortlist Clear button now fails 'increased from 40 to 41' plus the per-path line, which the old pin of 43 allowed silently; check:gate-manifest OK; verify:pr-local 17 gates, unit suite 611 files / 6647 passed" }, { "date": "2026-08-08", - "ref": "claude/ds-close-276 (PR #1724)", - "head": "75c89993f3ea23b70a250f605b21437b4ea9aac8", - "scope": "PR #1724 review-and-fix", - "outcome": "fixed Codex P2 wrong #118 Lighthouse cause (150 overwrite vs 151 pin); dispositioned CodeRabbit #276 archive claim as false (issues:done move); merge-tree clean; required CI was green on prior tip 8ae8c48f; no Bugbot findings", - "checks": "check:outstanding-issues pass; prettier --check docs/outstanding-issues.md pass; no provider-backed checks" + "ref": "claude/document-viewer-optimization-tu8tnj (PR #1754)", + "head": "41b4bccf7d7229920c33344bec0d46e0f2e48b97", + "scope": "heavy review-and-fix", + "outcome": "CONFLICT merge-tree on docs/outstanding-issues.md resolved: kept main #285 (Node/jsdom floor) + renumbered authorizationHeader trap to #286, next-id=287; merged origin/main; 1 unresolved review thread (comments 403 — skipped); no product code change", + "checks": "check:outstanding-issues PASS (284 rows, next-id=287); prettier --check docs/outstanding-issues.md PASS; ledger:dedupe none; no provider-backed checks" }, { - "date": "2026-08-08", - "ref": "claude/ds-doc-corrections", - "head": "534405600dca67317b4d60266cda03ec95f028e7", - "scope": "M1 stranded doc corrections (docs/outstanding-issues.md #262/#266, docs/design-system/COMPONENTS.md TextField row + section 4)", - "outcome": "authored and handed off as PR #1719; every inherited figure re-measured against origin/main rather than copied forward, and the stranded version's 'eight shadow tokens, focus 2' claim was found wrong — LEGACY_SHADOW_ALIAS matches seven tokens and has never included focus", - "checks": "check:outstanding-issues pass (274 rows, unique ids, no ids deleted from base); prettier --check . pass whole-tree; legacyShadowAliases re-measured 228 via the contract's own analyzers; docs-only diff so no unit/lint/typecheck/browser gate applies" + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "41da30ed82eb1cb6685883b6afbaa1e3198ee37d", + "scope": "CI green closeout", + "outcome": "APPROVE. Hosted required aggregate green after diagnosis-detail S: clone locator scope + Prettier + main sync (#1275). Bugbot: 0 unresolved cursor[bot] threads; no P0/P1 on unique product delta (mockup h3→h2 + test locator). Mergeable; 0 behind main.", + "checks": "Hosted Static PR / Unit / Build / Safety / Advisory UI / Production UI / PR required PASS; focused Chromium diagnosis-detail PASS 1/1 earlier; no provider-backed checks." }, { - "date": "2026-08-08", - "ref": "claude/ds-doc-corrections", - "head": "b4051d21f38755f7d37dbc2b49994f689af801b5", - "scope": "M1 stranded doc corrections, final reviewed head (adds the review-response commit: COMPONENTS.md section 4 integration-vs-adoption split and the re-measured ui-primitives row)", - "outcome": "merged to main as 8cffad59a. Supersedes the 534405600 record, which was accurate at that head but predates the review pass. Three findings, all valid and all fixed: Codex caught four future-dated 2026-08-09 records (corrected to the 2026-08-08 authoring date by f3a91c67c, verified none remain); CodeRabbit caught 'Select/choice controls remain separate adoption work', wrong on both axes since select.tsx consumes FormField and Select has 2 production importers while SearchField has zero; CodeRabbit caught a stale '27 adopted', and re-measuring that row also corrected 686 to 698 lines and 200 to 157 production importers of ui-primitives (200 was close to the 202 mockup-inclusive figure)", - "checks": "prettier --check . pass whole-tree; check:outstanding-issues pass (274 rows, unique ids, no ids deleted from base); adoption figures read from the generated adoption-manifest.json; docs-only diff so no unit, lint, typecheck or browser gate applies to it" + "date": "2026-08-17", + "ref": "claude/s1d-final-gate-gap-recovery-dxgrn2", + "head": "42134f42b9fe8676af99cfb7dbe377ac1306c9e6", + "scope": "S1d final-gate gap recovery: finalizeRagAnswerQualityCore extractive recovery for fast strong_routine_retrieval gap-like answers (rag-extractive-answer.ts + tests + behaviour-map)", + "outcome": "PR #2054 open; behaviour change, post-merge canary pair owed (baseline 32039841070)", + "checks": "verify:pr-local heavy scope green (lint, typecheck, test, build, eval:rag:offline); focused vitest 227/227 + 91/91; check:rag:fixtures 36 golden; check:maintainability-budgets green; discriminating-fixture proof (2 fail without diff)" }, { - "date": "2026-08-08", - "ref": "claude/ds-tap-and-linkaction", - "head": "6916c80526603514d91bd29d224959dd420af59c", - "scope": "M5 LinkAction tone refusal plus re-measured corrections to outstanding-issues #270, #118 and #269 — final reviewed head, adds the tone?: never fix, its type-contract test and both regenerated manifests", - "outcome": "PR #1720, superseding the 824c1b74a record. Codex found the Omit form still accepted tone through a spread; verified with a focused tsc probe before changing anything (Omit accepted the spread with no diagnostic, tone?: never rejected it with TS2345), because excess-property checking only fires on object literals. Fixed with tone?: never plus a type-level contract test that stops compiling if the prop widens back. CodeRabbit's future-dated finding fixed in ff307cc5b. CodeRabbit's ledger-scope finding does not apply: that row records a different ref and head and was accurate as written, but a superseding row for the final #1719 head was appended anyway since its scope grew after the review pass", - "checks": "tsc -p tsconfig.typecheck.json --noEmit exit 0 zero diagnostics; lint exit 0; check:design-system-contract exit 0 (676 production files, legacy shadow aliases 228 confirming the #262 re-measure, adoption 53 components 55 roots, design-sync 53 components and 7 guidelines); check-icon-scale.mjs --strict exit 0; vitest threads pool 3 files 164 tests passed; check:outstanding-issues pass; check:branch-review-ledger pass; prettier --check . pass whole-tree; main merged in with merge-tree proven clean first and an id-set proof over both merge parents showing 274 ids each side, none lost, none invented" + "date": "2026-08-27", + "ref": "2398", + "head": "4228b6f91a1d130b6751fd60bdee86e673cb6ddd", + "scope": "pr-babysit sweep: merge conflicts, review threads, snapshot CI fix", + "outcome": "FIXED", + "checks": "merge-main, review-replies, thread-resolve, snapshot-regen" }, { - "date": "2026-08-08", - "ref": "claude/ds-visual-advisory-off-prs (PR #1755)", - "head": "e6d24190eb1e02c435003d429d88f2d293b14867", - "scope": "heavy review-and-fix", - "outcome": "merged origin/main; fixed Bugbot/Codex P2 merge_group exclusion via event allowlist; synced docs/testing.md + #118 note; CodeRabbit date nit dispositioned (owner +0800); threads unreplied (403)", - "checks": "vitest ci-cache-safety; check:github-actions; no provider-backed checks" + "date": "2026-07-28", + "ref": "PR #1310 / `claude/branch-review-ledger-fixes-42575f` (merged)", + "head": "422e43d86a69c88368454065c2b117f5982a43d6", + "scope": "prlanded", + "outcome": "LANDED as squash 422e43d86. Ledger repair + lookup/append tooling + hardened guard all present on main; guard PASS at 1107 records and repo-hygiene 25/25. Review improved the branch before merge and main is ahead of the authoring branch: findReviews now compares scope exactly (the original substring match would have let a branch-cleanup-deletion-pending row satisfy a branch-cleanup lookup and skip a branch that still needed cleanup), refTokens no longer false-hits on bare parenthetical prose, headMatches accepts an annotated 'sha (squash)' cell and rejects 'n/a - see ', and resolveHead now verifies full-length hex so a mistyped 40-char string cannot become an unmatchable HEAD. Authoring branch was deleted at merge; its unpushed local ledger-record commit was superseded by this row rather than pushed.", + "checks": "npm run check:branch-review-ledger PASS (1107 records) and vitest tests/repo-hygiene.test.ts 25/25 PASS, both run against origin/main after the merge. Pre-merge npm run verify:pr-local PASS on the merged tree (405 files / 4126 tests, build 3.7min). No provider-backed checks run." }, { - "date": "2026-08-08", - "ref": "claude/mode-routing-search-pages-jabe17", - "head": "3a0bdd62466080ad713873cdd690ae600635a979", - "scope": "mode routing: one shared home page at /, mode pill retargets the composer, /documents + /medications mode homes", - "outcome": "handoff — PR #1744 opened; 2 pre-existing failures verified at base bc33d41", - "checks": "test:e2e:pr 406 passed/2 failed (both fail at base); vitest 5608 passed/1 failed (pre-existing); lint clean; tsc clean; sitemap:check, docs:check-index, docs:check-inventory, check:design-system-contract, check:outstanding-issues pass; verify:pr-local and verify:ui blocked by pre-existing installed-lock-parity (playwright 1.62.0 vs locked 1.62.1)" + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-network-caching", + "head": "424ae6b045d9ec38443292a1569de4b04d6a295d", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-network-caching; git diff --name-only reported 44 path(s)." }, { - "date": "2026-08-08", - "ref": "claude/mode-routing-search-pages-jabe17", - "head": "468cc3fce85726a66098af0600d2b5d5951e3213", - "scope": "bug-hunt", - "outcome": "findings: P1 documents home autoRun on keystroke; P2 stale PWA /?mode=prescribing; P2 landing vs lastAppMode race; P2 /medications?q&run deep-link lost", - "checks": "vitest app-modes+search-route-ownership 36 pass; static ownership/ask-routing proof; no browser/UI/provider" + "date": "2026-07-14", + "ref": "claude/perf-r2-network-caching", + "head": "424ae6b045d9ec38443292a1569de4b04d6a295d", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-08", - "ref": "claude/mode-routing-search-pages-jabe17", - "head": "6d1099b479358caa05c92f236848117feb920d4e", - "scope": "shared-home mode-routed search navigation", - "outcome": "no high-confidence P0-P2 PR-introduced defects; prior bug-hunt P1/P2s appear fixed on tip; residual: prescribing submit-from-shared-home URL omits run=1 (pre-existing path), seed effect untested behaviourally, no browser/UI proof this pass", - "checks": "vitest app-modes+search-route-ownership+audit-navigation+pwa-manifest 61 pass; static read of focus files vs origin/main; ledger:lookup NOT REVIEWED; no provider/UI" + "date": "2026-07-31", + "ref": "origin/cursor/fix-p2-audit-clean-9957", + "head": "4265b3e97e132ea9d9e32135f2b04b1290914caf", + "scope": "branch-cleanup", + "outcome": "safe remote delete: tip is ancestor of exact merged PR #1298 head; archived batch14", + "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" }, { - "date": "2026-08-08", - "ref": "claude/mode-routing-search-pages-jabe17 (PR #1744)", - "head": "e7a6b44cf4488228129fb2f7285904f9e040dcaa", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Static maintainability 4205>4140 + DIRTY → merged main; extracted payloads+home-mode-seed to 4124 lines; CI re-running", - "checks": "check:maintainability-budgets pass; typecheck; vitest clinical-dashboard-merge+search-route-ownership 25; no provider-backed checks" + "date": "2026-08-14", + "ref": "PR-1959", + "head": "428fa8772198817e17ef6330c63f7f5e47e090b0", + "scope": "PR #1959 base-preserving reconciliation review", + "outcome": "Required base sync resolved the sole ledger conflict with main: all four inbox requests were already applied upstream; preserved main’s newer #231 evidence and retained the existing immutable historical record.", + "checks": "docs link check passed: 1776 repo path references resolve; Ledger inbox check passed: 12 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 92 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." }, { - "date": "2026-08-08", - "ref": "claude/mode-routing-search-pages-jabe17 (PR #1760)", - "head": "ce880f23f7ae5cbf9bc28a8a87f1de6585a4343e", - "scope": "home-mode seed navigation context, its contract test, and three outstanding-issues rows", - "outcome": "handoff: PR #1760 opened; carries focus/scope context through the cold-/ replaceState, repoints the contract test at behaviour, records #285/#286 and a third #255 reproduction", - "checks": "lint clean; tsc --noEmit clean; unit 5710 passed/1 pre-existing pr-handoff-stop failure (#286); maintainability budgets passed; check:outstanding-issues 284 rows unique; format committed; UI delegated to CI (mismatched Chromium, #255)" + "date": "2026-07-30", + "ref": "codex/chat-codex-cloud-setup-c1a2", + "head": "42971d502330f2a257a8c799e88b23c34c534457", + "scope": "branch-cleanup", + "outcome": "safe-delete: authenticated-live patch-id equals dec121d0, ancestor of merged PR #1448; archived batch13", + "checks": "git patch-id --stable; git merge-base --is-ancestor; git bundle verify" }, { - "date": "2026-08-08", - "ref": "claude/planning-build-intelligence-9ot0nm", - "head": "1ebc84bb288b516bb322c09cde2889e981d302a4", - "scope": "AGENTS.md reasoning-effort calibration section (docs-only)", - "outcome": "Authored and handed off as PR #1730; docs-only, pr-policy classifier returns clinicalRisk/operationalRisk/ragRanking false", - "checks": "prettier --check . (repo-wide, pass); docs:check-links (1665 refs resolve, pass); pr-policy classifyPullRequestFiles(AGENTS.md)" + "date": "2026-07-17", + "ref": "codex/mobile-search-phone-refresh-20260717 (supersedes PR #700)", + "head": "42a3e3ce65dc5a0e1dce386e0b91fccd23d13d6c + reviewed follow-up diff", + "scope": "phone universal-search command-panel recovery and merge-readiness review", + "outcome": "Recovered the still-useful behavior from PR #700 onto current `main`, including its hydration fix and wide-touch regression coverage. Hosted Production UI then exposed one desktop focus race: capability state intentionally initializes false for hydration safety, but an input could receive focus before the post-hydration effect synchronized the real browser state. The follow-up recomputes the same guarded predicate synchronously on focus; it requires the placement breakpoint plus either a fine pointer or a zero-touch desktop fallback, so wide touch devices remain suppressed while desktop keeps the first command-panel interaction. No remaining high-confidence P0-P2 defect was found in the scoped diff.", + "checks": "Focused Vitest 7/7; `npm run ensure` verified the project at `http://localhost:3751`; hosted static, safety, coverage, build, advisory UI, Semgrep, Gitleaks, and GitGuardian passed; the first hosted Production UI run isolated the nine desktop regressions. The focused browser proof reproduced the desktop race while the wide-touch regression passed, and exact-head hosted Production UI remains required after the focus fix. `format:changed -- --check` and `git diff --check` passed before the final follow-up. No Supabase/OpenAI/product-provider command ran." }, { - "date": "2026-08-08", - "ref": "claude/planning-build-intelligence-9ot0nm", - "head": "2b0ad7d41d841c13515f10de7c41e449470dfa78", - "scope": "pr-1730 review-and-fix", - "outcome": "Deep review + Bugbot: no P0/P1; fixed 2 scoped P2 clarity risks (version-bump under-planning; live-state vs provider boundary). Residual: OPENAI_*_REASONING_EFFORT vocab overlap. Merge-tree clean; required CI was green pre-push.", - "checks": "prettier --check AGENTS.md; docs:check-links (1667); verify:pr-local (docs route pass); verify:cheap (524 files / 5607 tests pass); pr-policy classify clinical/operational/rag false; Bugbot no P0-P2" + "date": "2026-07-30", + "ref": "PR-1498", + "head": "42b10ff54977d5835e31201f4dbd36cf9636fc07", + "scope": "PR #1498 advisory UI issue closure", + "outcome": "approved; current-main scope classifier and gate manifest satisfy issue #137, and the documentation-only archive move is consolidated into PR #1490", + "checks": "CI-scope, gate-manifest, outstanding-issues and diff checks passed" }, { - "date": "2026-08-08", - "ref": "claude/planning-build-intelligence-9ot0nm (PR #1730)", - "head": "fa616b11e8072ac3a94dd25e02c9c096983770f5", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY → CLEAN at current head (auto-merge/sync); local merge push blocked by armed auto-merge sentinel", - "checks": "no local gates; no provider-backed checks" + "date": "2026-08-17", + "ref": "claude/cls-regression-issue-log", + "head": "42c5c6194e21b0b9c5a10b9400a872bac19b5ac9", + "scope": "docs/outstanding-issues-inbox/d92786de-de31-4118-84cc-0a9098e7f2e0.json", + "outcome": "created PR #2059: queued /issues inbox request tracking a real mobile CLS regression on / found while investigating PR #2050's unrelated Lighthouse budget failure", + "checks": "npm run issues:add (request validated as merge-safe)" }, { - "date": "2026-08-08", - "ref": "codex/fix-cloud-diagnostic-context (PR #1745)", - "head": "f0fef29b33724096999335e6acd8726643528e23", + "date": "2026-08-07", + "ref": "cursor/clinician-workflow-mockups-2b63 (PR #1662)", + "head": "42ccad8ecc2889612e8f25ba79bb26a19e0a8baa", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Already CLEAN/green; accidental empty probe commit then recovered tip; no product change needed", - "checks": "no gates; no provider-backed checks" + "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-08-08", - "ref": "codex/lighthouse-hardening (PR #1746)", - "head": "038058ea63837e7c4a90e84b7f8f860aacc51e13", - "scope": "heavy review-and-fix", - "outcome": "CONFLICT merge-tree on lighthouse-budget.json resolved: kept main baseline measurements + this PR Lighthouse hardening (scripts/workflows/ci-change-scope); visual-baseline policy matches main; 3 unresolved threads (comments 403 — skipped)", - "checks": "ci-change-scope --self-test PASS; vitest check-lighthouse-budget+ci-cache-safety 84/84 PASS; no provider-backed checks" + "date": "2026-08-18", + "ref": "claude/header-redesign-mockups-3ms5kn", + "head": "430a58a98f9d8bedd21cbbf8e4e522381aa5c4c9", + "scope": "Dictionary browse header rebuilt on the selected direction (production /dictionary/browse)", + "outcome": "approved", + "checks": "verify:pr-local all 18 steps completed / none failed, check:bundle-budget within tolerance, Chromium 390px+1440px dark/light review; Playwright suite delegated to CI Production UI (browser-revision drift #255)" }, { - "date": "2026-08-08", - "ref": "codex/lighthouse-hardening (PR #1746)", - "head": "d4af6a6356de3327906936a237405e4e7ccba0cb", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY + 3 Codex P2 + Static contract fail → main sync; process-group kill; suite deadline; normalized samples; contract test updated; threads unreplied (API 403)", - "checks": "vitest live-web-vitals-inputs+check-lighthouse-budget 61; ci-cache-safety 32; no provider-backed checks" + "date": "2026-07-31", + "ref": "origin/claude/dazzling-blackwell-f348d0-ckwry8", + "head": "4336ab753a8165749edd6876facd1547ec9ab592", + "scope": "branch-cleanup", + "outcome": "safe remote delete: closed PR #1321 was an explicit duplicate of merged mockup PR #1311 plus verification-only cleanup; archived batch15", + "checks": "PR body/closure evidence; merged PR #1311; bundle verify" }, { - "date": "2026-08-08", - "ref": "cursor/compact-services-result-text-9b7d (PR #1731)", - "head": "bdaad2cc471e5b599205b2f1f265b2d8e1fdb43c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "2 Codex P2 → skip placeholders in compactBestUseTitle; gate subtitle compaction to services mode; threads unreplied (API 403)", - "checks": "vitest services-catalog+document-search-record-fault 20 passed; no provider-backed checks" + "date": "2026-07-30", + "ref": "codex/merge-pr1497-final", + "head": "4348390d2ae3f8c7e939c9587a33b413faf046a5", + "scope": "branch-cleanup", + "outcome": "safe-delete: final source superseded by merged PR #1497 head/current main; review row preserved; archived batch13", + "checks": "git diff PR-head/final/main; blob comparison; git bundle verify" }, { - "date": "2026-08-08", - "ref": "cursor/compact-services-result-text-9b7d (PR #1731)", - "head": "f07828041199458bd756090d04fb5105f41e3ca4", - "scope": "PR #1731 unblock", - "outcome": "before: MERGEABLE/BEHIND(1) merge-tree CLEAN tip 14fd8aa9; required CI green (PR required + Production UI 1/2/3 + critical); 0 threads; autoMerge SQUASH armed. after: late-synced origin/main (aa6cf68c from #1668/#1717) via worktree merge (update-branch 403); merge-tree clean; 0 behind; CI will re-run on sync tip; autoMerge left armed; no product code change", - "checks": "gh pr checks --watch: PR required SUCCESS; Production UI (1)(2)(3)+critical SUCCESS; merge-tree clean; ledger:dedupe none; no provider gates" + "date": "2026-07-14", + "ref": "codex/railway-deploy-filters", + "head": "435274bb2a567272b3abf0519fa45a82ba6d797d", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c", - "head": "32474bcd20d5fa39097a3f75b85d3af81b404320", - "scope": "form-detail Confirm checklist polish", - "outcome": "shipped spacing/typography polish + DOM guard", - "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" + "date": "2026-07-14", + "ref": "origin/codex/railway-deploy-filters", + "head": "435274bb2a567272b3abf0519fa45a82ba6d797d", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c", - "head": "3cf0ed99a1a90f46cb7c6aff7e8b7f7bfd6212b8", - "scope": "form-detail Confirm checklist polish", - "outcome": "shipped spacing/typography polish + DOM guard", - "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" + "date": "2026-08-25", + "ref": "claude/ward-flow-phase-4-spec", + "head": "436fb8a306299f29c6f972d31ff51ccb6674d007", + "scope": "PR #2373 CI failures, merge conflicts, and review-thread fixes", + "outcome": "fixed seven review findings, merge conflicts, and stale sandbox document links", + "checks": "focused 120 tests passed; design contract and docs link check passed; exact-head hosted static rerun pending" }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c", - "head": "3cf0ed99a1a90f46cb7c6aff7e8b7f7bfd6212b8", - "scope": "form-detail Confirm checklist polish (supersedes 2026-08-08)", - "outcome": "shipped spacing/typography polish + DOM guard", - "checks": "vitest form-confirm-callout.dom; visual Form 1A Confirm" + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "43795bcb00a55961b734813e78f74aef933beea3", + "scope": "Closeout after clean rebuild + policy sync", + "outcome": "MERGEABLE. Secret scanners green after history rebuild; PR policy green with Clinical Governance + RAG impact; 0 unresolved review threads (CodeRabbit + Codex P1 resolved). Unique delta retained. Residual: required human approving review / remaining hosted suite.", + "checks": "PR policy PASS; GitGuardian PASS; Gitleaks PASS on prior tip; focused Vitest 189/189 on clean rebuild; no provider checks." }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c", - "head": "89cc8711dd0536c32818cbbd493edff860763a61", - "scope": "PR #1734 unblock", - "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean); no product conflict; advisory lighthouse ignored", - "checks": "merge-tree clean vs origin/main; ledger:dedupe none" + "date": "2026-07-13", + "ref": "codex/lithium-answer-recovery-pr", + "head": "43a385d207399bc33010b8d7d34c0588d358d42d", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #607.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c", - "head": "96c4d3a3a1a46efedfa5b43c4bf1de227c1d19a6", - "scope": "PR #1734 confirm checklist", - "outcome": "clean; no P0/P1/P2 in ConfirmCalloutText/confirmCheckParts/Avoid row", - "checks": "diff vs main; form-1a catalog wiring; vitest form-confirm-callout.dom.test.tsx PASS" + "date": "2026-07-13", + "ref": "origin/codex/lithium-answer-recovery-pr", + "head": "43a385d207399bc33010b8d7d34c0588d358d42d", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #607.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-08-08", - "ref": "cursor/confirm-checklist-polish-195c (PR #1734)", - "head": "e1385d67ce42023f1293a652efa9799f3eb9eb2d", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY reported → already contained main; no code change this sweep", - "checks": "no gates; no provider-backed checks" + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch-final", + "head": "43de3c910ea1a361458586cfb0e5861e8e2d5ee6", + "scope": "post-main reconciliation merge readiness", + "outcome": "APPROVE: retained main's stronger #1441 upload guard, removed the duplicate checker/test, and preserved the six non-overlapping fixes; no unresolved findings.", + "checks": "Upload parity self-test/runtime, GitHub Actions, docs scripts, review ledger, outstanding issues, and diff checks pass; parent exact-head hosted suite fully green; final hosted rerun pending." }, { - "date": "2026-08-08", - "ref": "cursor/differentials-query-lit-stream-8bc0", - "head": "106124d8084a1eab2eddab828076d10f96d3cedc", - "scope": "differentials diagnoses query-lit stream", - "outcome": "implemented query-lit Diagnoses stream with match jump, related clusters, compare select, browse chapters; PR #1757", - "checks": "unit:pass;lint:pass;typecheck:pass;verify:ui:not-run" + "date": "2026-07-25", + "ref": "canary-comparison-preflight (PR #1180)", + "head": "43f261cf229", + "scope": "Babysit sweep: canary comparison preflight docs — squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-08-08", - "ref": "cursor/differentials-query-lit-stream-8bc0", - "head": "bed84986742ca85b3724dd3ccc0758d4b9649934", - "scope": "differentials diagnoses query-lit stream", - "outcome": "implemented query-lit Diagnoses stream with match jump, related clusters, compare select, browse chapters; PR #1757", - "checks": "unit:pass;lint:pass;typecheck:pass;verify:ui:not-run" + "date": "2026-07-25", + "ref": "canary-comparison-preflight (PR #1180)", + "head": "43f261cf229", + "scope": "Babysit sweep: canary comparison preflight docs ? squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-08-08", - "ref": "cursor/differentials-query-lit-stream-8bc0 (PR #1757)", - "head": "d76c4cc8b8633a65df66ea46b090c2864a2c1592", - "scope": "heavy review-and-fix", - "outcome": "CI fix on tip: type-scale text-3xs; presentations redirect lowercases+drops unknown while preserving valid cross-workflow ids; prior P1/P2 fixes retained", - "checks": "check:type-scale; vitest audit-nav+differentials-nav+stream; no provider" + "date": "2026-07-25", + "ref": "cursor/canary-artifact-comparison-8e05 (PR #1180)", + "head": "43f261cf229cbc0baf7e289bdbc3e5a534161543", + "scope": "PR babysit sweep + squash merge", + "outcome": "Synced main after #1171; squash-merged.", + "checks": "Hosted PR required SUCCESS. No provider-backed checks." }, { - "date": "2026-08-08", - "ref": "cursor/differentials-query-lit-stream-8bc0 (PR #1757)", - "head": "e7529dd2dd847b0bfd4b53daa723a8f5a329a50e", - "scope": "heavy review-and-fix", - "outcome": "synced main; fixed P1 compare id drop + P2 mobile threshold + P2 query normalize; 3 threads need reply (API 403)", - "checks": "vitest differential-stream+differentials-navigation+differentials 42 passed; no provider-backed checks" + "date": "2026-07-27", + "ref": "`codex/config-reconciliation-current-20260727`", + "head": "4400f59730fbd24efc5f4c54adda828506f3835b", + "scope": "Protected-main review of #054 production configuration reconciliation", + "outcome": "APPROVE. GitHub reads are repository-pinned; Railway reads are pinned to the live project, production environment and explicit app/worker services; each provider call has a 30-second bound; output is names-only even though Railway JSON is reduced from values in memory. Multiline Zod and `.env.example` drift are guarded. The correct primary checkout received only three generated gitignored local HMAC/probe values. No P0-P3 finding remains. Residual staging, webhook activation and legal/ZDR work remain #056, #025 and #053 rather than being overstated as complete.", + "checks": "Focused parity/local-presence 22/22 PASS; `verify:cheap` PASS (25 gates; 393 files; 3523 passed / 2 skipped); `verify:pr-local` PASS (same unit matrix + 36 offline RAG fixtures; build correctly skipped as unaffected); production-readiness READY (8 PASS, 2 checkout-file-location warnings); exact provider names-only GitHub/Railway parity PASS; Ops Digest active + latest schedule SUCCESS; Railway app/worker latest deploy SUCCESS; Supabase read-only cron/Vault-name proof; no OpenAI request or live RAG evaluation." }, { - "date": "2026-08-08", - "ref": "cursor/factsheets-compact-mockups-ad4c (PR #1728)", - "head": "541f68bd1bcd29daa05805d8fce22034b21d5076", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "BEHIND + 2 Codex P2 threads → synced main; full comfortable list + ComfortableCards density; threads unreplied (API 403)", - "checks": "vitest factsheets-compact-view-mockups.dom 3 passed; tsc; no provider-backed checks" + "date": "2026-07-18", + "ref": "PR batch screenshot queue → #808/#812/#814", + "head": "44555ab9e414f615981eb444f46a62333c28ec18", + "scope": "open-PR review + merge babysit", + "outcome": "Screenshot PRs #784–#789 closed as superseded. Unique residual work landed via #808 and #812. Design-audit/Playwright stack landed via #814 after Production UI fixes (Clinical Guide H1, service mocks, reduced-motion dock asserts), presentations empty-query fallback, and CodeRabbit thread resolution (RightRail remount, IS DISTINCT FROM, no-op dropped trigram migration). #783 already merged. Communication #17 inaccessible from this token.", + "checks": "Hosted #808/#812/#814 required checks green including Production UI; migration replay green on #814. No OpenAI/live Supabase writes." }, { - "date": "2026-08-08", - "ref": "cursor/fix-diagnosis-back-nav-cd3d", - "head": "5f637fcf6c4c4c42513f0dd79899eeff96f8cc9e", - "scope": "differentials diagnosis detail back nav", - "outcome": "fixed back to /differentials/diagnoses; phone-chrome green", - "checks": "test:focused 16p; verify:phone-chrome 21p+7p; verify:pr-local pending" + "date": "2026-07-13", + "ref": "codex/domain-1-governance-remediation", + "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", + "scope": "branch-cleanup", + "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/domain-1-governance-remediation; git diff --name-only reported 56 path(s)." }, { - "date": "2026-08-08", - "ref": "cursor/fix-diagnosis-back-nav-cd3d", - "head": "5f637fcf6c4c4c42513f0dd79899eeff96f8cc9e", - "scope": "differentials diagnosis detail back nav (supersedes 2026-08-08)", - "outcome": "fixed back to /differentials/diagnoses; phone-chrome + pr-local green", - "checks": "test:focused 16p; verify:phone-chrome ui-phone-scroll 21p + focused 7p; verify:pr-local 5704p" + "date": "2026-07-13", + "ref": "origin/codex/domain-1-governance-remediation", + "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", + "scope": "branch-cleanup", + "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/domain-1-governance-remediation; git diff --name-only reported 56 path(s)." }, { - "date": "2026-08-08", - "ref": "cursor/fix-differentials-compare-5c66", - "head": "fd4801b07309625780b06afef718f93799655885", - "scope": "differentials-compare-selection-handoff", - "outcome": "fixed: preserve cross-presentation compare ids via ad-hoc /differentials/compare; URL ids sync; ModeNav Compare wired", - "checks": "verify:pr-local:5709 passed; test:focused:255 passed" + "date": "2026-07-14", + "ref": "codex/domain-1-governance-remediation", + "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", + "scope": "branch-cleanup", + "outcome": "Retained (user decision): novel governance incident runbooks + clinical-production-posture lib + clinical-query-privacy-notice component never merged to main.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-08", - "ref": "cursor/fix-differentials-compare-5c66 (PR #1756)", - "head": "bd62d3a23b888d30112fdc11e86fe1811f1919bc", - "scope": "heavy review-and-fix", - "outcome": "merged origin/main (docs/adoption/sitemap regenerated); fixed P1 cold-load URL wipe (state-captured ids + defer sync while loading) + P2 unsupported criterion + lowercase ids; CodeRabbit empty-state/auto-seed left as intentional ModeNav handoff; threads unreplied (403)", - "checks": "vitest differentials+navigation+compare-selection DOM 37 pass; related nav tests 44 pass; eslint touched files clean; no provider-backed checks" + "date": "2026-08-11", + "ref": "claude/codex-m4c-retire-shadow-nliak3", + "head": "448a0d084c4cd2cda6153dd7f03dcb67c43a8df0", + "scope": "DS Track A2 (#261): retire --shadow-focus; composer focus onto sanctioned outline; contract guard; baseline ratchet; design-system docs + ledger", + "outcome": "Approved — PR #1807. Token deleted in both themes; .chat-composer-shell-delta:focus-within uses outline 2px var(--focus) at offset 2px and no longer overrides box-shadow. Reach premise corrected: 0 of 37 production routes render the class (only /mockups/calculators-search). legacyShadowAliases 127->125, globals.css pin 3->1.", + "checks": "check:design-system-contract PASS; design-token-contract.test.ts PASS + mutation-verified both ways; verify:pr-local PASS except pre-existing tests/pr-handoff-stop.test.ts failure baselined on untouched base e8b61d8; build PASS; check:rag:fixtures PASS (36 cases); Chromium look both themes on the mockup route (inspection only, rev 1194 vs pinned 1234 #255); verify:ui/verify:phone-chrome NOT run — delegated to CI" }, { - "date": "2026-08-08", - "ref": "cursor/fix-differentials-compare-5c66 (PR #1756)", - "head": "c739708981083b816843ceec5e50ea00818996b5", - "scope": "heavy review-and-fix", - "outcome": "merged origin/main (docs/adoption/sitemap regenerated); fixed P1 cold-load URL wipe + P2 unsupported criterion + lowercase ids; CodeRabbit empty-state/auto-seed left as intentional ModeNav handoff; threads unreplied (403)", - "checks": "vitest differentials+navigation+compare-selection DOM 37 pass; related nav tests 44 pass; eslint touched files; no provider-backed checks" + "date": "2026-07-30", + "ref": "codex/repair-pr1473", + "head": "4491b5669c8ae2f4ea0581c2a27e6a0816fd58fa", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1473 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-08", - "ref": "cursor/form-1a-priority-facts-dc36", - "head": "7040b850e655dc7ba9a23ad3e3db765cc1ad7755", - "scope": "Form 1A priority facts: condense cards + Act section detail sheets", - "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", - "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" + "date": "2026-07-13", + "ref": "claude/pia3-doc-residual-cache", + "head": "4494a830df6682ce5edcaf61d6a178af162b50d7", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #535; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-08", - "ref": "cursor/form-1a-priority-facts-dc36", - "head": "e965d96258cdd3d5ad6f520616de0f32bf02498e", - "scope": "Form 1A priority facts: condense cards + Act section detail sheets", - "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", - "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" + "date": "2026-07-13", + "ref": "origin/claude/pia3-doc-residual-cache", + "head": "4494a830df6682ce5edcaf61d6a178af162b50d7", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #535; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-08", - "ref": "cursor/form-1a-priority-facts-dc36", - "head": "e965d96258cdd3d5ad6f520616de0f32bf02498e", - "scope": "Form 1A priority facts: condense cards + Act section detail sheets (supersedes 2026-08-08)", - "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", - "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" + "date": "2026-08-20", + "ref": "PR #2201", + "head": "44d3cbb41aae5f1b7707d529347ee12dcc0cc44e", + "scope": "PR #2201 drift alignment window record — Codex P1 review-comment resolution", + "outcome": "Fixed: the status board's active 'Next dispatches' line, the D4 owner-decision entry, the 2026-08-19 'Resolved' paragraph and the pre-window forensics section still instructed coordinators that D4 is OFF and each migration needs its own db push, contradicting the same PR's finding that D4 is unresolved. All four now say to treat a merge as a production deployment until the dashboard toggle is re-verified. Docs only; no code, migration or fixture touched.", + "checks": "npm run verify:pr-local (docs scope): check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index/inventory/scripts/links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline — all completed, none failed" }, { - "date": "2026-08-08", - "ref": "cursor/forms-info-disclosure-68d6", - "head": "8f25e6c482d8e4cd879098d7cfd73b7f8603e478", - "scope": "forms-info-disclosure", - "outcome": "fixed Form information tick rows to expand via DisclosureGroup", - "checks": "verify:pr-local; forms-information-disclosure.dom.test; check:design-system-adoption" + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr6-ux-defaults", + "head": "44fa37dfcd252c21dd3f57fc97fe4a272ab91de6", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-08", - "ref": "cursor/forms-info-disclosure-68d6", - "head": "f5dd1dea495e8d6e9bd5106dcf0a4d062ee02292", - "scope": "forms-info-disclosure", - "outcome": "fixed Form information tick rows to expand via DisclosureGroup", - "checks": "verify:pr-local; forms-information-disclosure.dom.test; check:design-system-adoption" + "date": "2026-07-13", + "ref": "codex/repository-review-remediation", + "head": "452275824294564a1e08e6bec169bd4af744d09a", + "scope": "live migration apply and post-apply review", + "outcome": "Applied the four reviewed forward migrations to `Clinical KB Database`, aligned repository filenames to the generated production versions, and corrected the schema snapshot so the legacy unfenced commit overload remains inaccessible to `service_role`. Live drift is clean and no active ingestion/enrichment overlap or duplicate open ingestion group was found.", + "checks": "Ran `npm run check:drift`: passed clean. Ran `npm run check:production-readiness`: READY. Ran Docker schema replay: passed. Ran focused concurrency/retrieval Vitest: 166/166 passed. Ran offline RAG: 36 fixtures and 60/60 contract tests passed. Ran M13, retrieval-owner, schema-health, lexical-retrieval, concurrency, and ACL live probes: passed; lexical retrieval returned 12 truthfully scored results. Not completed: full provider retrieval-quality evaluation exceeded the local command window; deterministic live retrieval checks passed." }, { - "date": "2026-08-08", - "ref": "cursor/forms-info-disclosure-68d6 (PR #1735)", - "head": "9e1390d73ebbae0bbfc0f81bf3b3921dadf24577", - "scope": "heavy review-and-fix", - "outcome": "CONFLICT merge-tree on docs/design-system/adoption-manifest.json resolved by regenerating (DisclosureGroup form-detail import + main documents/medications routes); product forms DisclosureGroup intent preserved; 0 unresolved threads; no ambiguous clinical/auth conflicts", - "checks": "check:design-system-adoption PASS (53 components, 57 roots); vitest forms-information-disclosure.dom 2/2 PASS; no provider-backed checks" + "date": "2026-08-14", + "ref": "codex/medication-info-header-20260814", + "head": "4525fe42f74b7f16bb762d953d82e1ce7540bb76", + "scope": "medication information header expansion and desktop polish", + "outcome": "No P0-P2 findings; ready for PR handoff", + "checks": "DOM 38/38 and focused Chromium 1/1 passed; PR-local runtime, lock parity, formatting, and lint passed; remaining aggregate stages blocked by shared test-run contention" }, { - "date": "2026-08-08", - "ref": "cursor/forms-info-disclosure-68d6 (PR #1735)", - "head": "c8bbe0ee2dc7094bfea2a000320be4e8e7a00184", + "date": "2026-08-11", + "ref": "claude/spacing-icon-design-review-rxwh28", + "head": "455bc198c077860fb1f830670a5fa9c1de08da52", + "scope": "pr-1815 heavy review-and-fix", + "outcome": "remote already merged main (shadow-tight Switch kept); cherry-picked privacy -mb-4 reclaim + calculators dock cancel; removed duplicate UniversalSearchAlsoMatches; rail-aware section-sheet focus restore; dispositioned CodeRabbit docs/ledger/gates nits and outdated Sentry skeleton gap", + "checks": "verify:cheap PASS prior tip; verify:pr-local PASS prior tip; vitest privacy+in-page-nav 28 passed on cherry-pick; merge-tree clean vs origin/main" + }, + { + "date": "2026-08-07", + "ref": "cursor/run-pr-sweep-ledger-d56c (PR #1698)", + "head": "45b2975ca1c99d4f8784e834caa0b37eb859c9ce", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "CodeRabbit unique disclosure id fix landed (index+label); thread unreplied (API 403)", - "checks": "vitest forms-information-disclosure.dom 2 passed; check:design-system-adoption; no provider-backed checks" + "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability). Merged origin/main directly and pushed. No unresolved review threads. Docs-only ledger-append PR.", + "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts), npm run ledger:dedupe (no duplicates)" }, { - "date": "2026-08-08", - "ref": "cursor/forms-results-bar-documents-style-13dc", - "head": "0a3a5ab8e6d3e1dfd225cb4c6dc9f728344be794", - "scope": "forms-results-bar documents-filter-style", - "outcome": "PASS: Forms ribbon uses ResultFilterTrigger + coming-soon Sheet; ResultTabs removed; ui-tools forms case 1 passed; band DOM 46 passed; lint+typecheck green", - "checks": "lint,typecheck,search-results-header-band.dom,ui-tools:forms-filter" + "date": "2026-07-13", + "ref": "claude/tools-responsive-layout", + "head": "45f646e1fdf43bf1201007ec9a502eed2e42717b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #464; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-08", - "ref": "cursor/forms-results-bar-documents-style-13dc", - "head": "fd148ca931ab9c023619deed98bae5af787e4253", - "scope": "sync", - "outcome": "PR #1751 unblock: CONFLICTING→MERGEABLE; 11 behind main; merge-tree clean; merge commit fd148ca9 pushed; all static+unit+build+critical CI green; Production UI (1/2/3) pending", - "checks": "merge-tree:clean,static-pr:pass,unit-coverage:pass,build:pass,production-ui-critical:pass,safety:pass,pr-policy:pass,production-ui-1/2/3:pending" + "date": "2026-07-13", + "ref": "origin/copilot/database-ci-setup", + "head": "45fa392a24987e4b596d80fc81528912e62d95c9", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/database-ci-setup; git diff --name-only reported 16 path(s)." }, { - "date": "2026-08-08", - "ref": "cursor/more-modes-popup-2f4b", - "head": "04e6a80653c3ccf103577f6c3886b162498621ed", - "scope": "sidebar more-modes sheet popup", - "outcome": "pass", - "checks": "focused-pw tablet rail; test:focused ClinicalSidebar; favourites+therapy wiring; verify:pr-local stages+build+rag-fixtures" + "date": "2026-07-14", + "ref": "copilot/database-ci-setup", + "head": "45fa392a24987e4b596d80fc81528912e62d95c9", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-08", - "ref": "cursor/more-modes-popup-2f4b", - "head": "bea4b0c09b74368cf6d63e944bac9c1eec6b0c93", - "scope": "sidebar more-modes sheet popup", - "outcome": "pass", - "checks": "focused-pw tablet rail; test:focused ClinicalSidebar; favourites+therapy wiring; verify:pr-local stages+build+rag-fixtures" + "date": "2026-07-18", + "ref": "codex/main-merge-51278-final-20260718-late", + "head": "45fa3c6c7, 14a0a898c", + "scope": "merge integration of 51278a70d onto fresh origin/main", + "outcome": "Replayed the requested historical design-audit commit onto fresh `origin/main`. Kept current-main versions for five conflicts, including the regenerated drift manifest and current schema assertions. Fixed the duplicate sitemap-generator declaration, corrected redirect-section coverage, and restored the current `Clinical Guide` UI contract.", + "checks": "`git diff --check` and `npm run sitemap:check` passed. `npm run test` was attempted twice but blocked by the repository-wide heavy-command lock held by a separate Playwright worktree; no provider-backed checks ran." }, { - "date": "2026-08-08", - "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", - "head": "276a5cd02cfb8fb93d969e9e4db167576e054a42", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY/master-search-header conflict → merged origin/main; phone dense + desktop tall rows preserved; CI re-running", - "checks": "vitest header-scroll-hide+mode-nav 55 passed; lint master-search-header; no provider-backed checks" + "date": "2026-08-11", + "ref": "HEAD", + "head": "45fd05c8c3947835c0368666ff576c7a38b33ee4", + "scope": "answer sources sheet and extracted answer text", + "outcome": "Fixed raw PDF navigation/list artifacts and simplified source verification UX", + "checks": "answer-content unit; focused Chromium source flow; PR-local lint/typecheck reached full test" }, { - "date": "2026-08-08", - "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", - "head": "d2a0c8b12bcf3ea6b56c3d8291e4aa09da3e603e", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "post-merge Unit coverage: restored usesPhoneSearchLayout min-h ternary for audit-navigation contract; CI re-running", - "checks": "vitest audit-navigation+mode-nav+header-scroll-hide 66 passed; no provider-backed checks" + "date": "2026-08-11", + "ref": "work", + "head": "45fd05c8c3947835c0368666ff576c7a38b33ee4", + "scope": "mobile evidence sheet UX, accessibility, and feedback logic", + "outcome": "fixed unexplained claim marker, excess panel reserve, unclear purpose and feedback copy; no remaining high-confidence defects", + "checks": "focused DOM 7/7; Chromium evidence journey 1/1; offline RAG 23 suites/574 tests" }, { - "date": "2026-08-08", - "ref": "cursor/presentations-catalogue-tab-fb39", - "head": "3872ea0854da2ce4e3b99ec182bb94a4cb807958", - "scope": "differentials presentations catalogue ModeNav tab", - "outcome": "shipped Presentations catalogue at /differentials/presentations; Compare entry moved to /differentials/compare; verify:pr-local passed; UI smoke confirmed 4 tabs", - "checks": "verify:pr-local; vitest design-system-adoption; curl presentations+compare; browser ModeNav QA" + "date": "2026-08-26", + "ref": "codex/medication-risk-highlights (PR #2380)", + "head": "460057cced09015dce78b8960e9b21f1fbd1b7fa", + "scope": "PR #2380 full changed scope", + "outcome": "No P0-P2 findings; corrected the stale six-item governance body with the required Supabase-target attestation; merged current main cleanly; zero unresolved review threads.", + "checks": "Hosted CI at 2062e6563dbab390e4442ed42eaeb908bd509864: PR required success; post-sync medication Vitest 3 files/60 tests passed; installed-lock parity, outstanding-issues, and repo-awareness checks passed; provider-backed clinical gates not run." }, { - "date": "2026-08-08", - "ref": "cursor/presentations-catalogue-tab-fb39", - "head": "59dceae612315e95a1114a215d2d8319e439880d", - "scope": "differentials presentations catalogue ModeNav tab", - "outcome": "shipped Presentations catalogue at /differentials/presentations; Compare entry moved to /differentials/compare; verify:pr-local passed; UI smoke confirmed 4 tabs", - "checks": "verify:pr-local; vitest design-system-adoption; curl presentations+compare; browser ModeNav QA" + "date": "2026-07-14", + "ref": "copilot/rerun-all-ci-again", + "head": "4615e39557112515cc9e4938fb5dd397f19ff70d", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-08", - "ref": "cursor/run-pr-sweep-ledger-d56c (PR #1698)", - "head": "ccf7284cbbe2315e5dc6a1bf126403a8a2205fa7", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: DIRTY/CONFLICTING, PR mergeability fail, behind 33, 0 threads, fake single-parent merge tip → after: real merge origin/main (conflicts resolved: docs/outstanding-issues.md + lighthouse-budget.json took main), merge-tree clean, unique diff ledger-only, 0 threads", - "checks": "check:outstanding-issues pass; check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean; format; no provider-backed checks run" + "date": "2026-07-28", + "ref": "PR #1304 / `fix-test-run-lock`", + "head": "463e5c0adc77fe722e20376666f5991db3e288d9", + "scope": "CI babysit closeout", + "outcome": "MERGE-READY. Hosted PR required SUCCESS on exact tip; mergeable=MERGEABLE; 0 behind main; merge-tree CLEAN. Unique product delta: knip.json removes unused tailwindcss ignoreDependencies. Prior GitHub DIRTY labels during babysit were main-churn only.", + "checks": "Hosted CI run success on 463e5c0a; no provider-backed checks." }, { - "date": "2026-08-08", - "ref": "cursor/safety-plan-copy-timer-a650", - "head": "3142eb9a93275ce2c2435523560b4ed6624d8f53", - "scope": "PR #1717 unblock", - "outcome": "fixed parse + no-explicit-any from Copilot autofix; merged origin/main after #1668; merge-tree clean; 0 threads", - "checks": "local: vitest 8/8; eslint file clean; format ok; pending hosted CI" + "date": "2026-07-13", + "ref": "claude/pt-audit-pr4-trust-copy", + "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-08", - "ref": "cursor/safety-plan-copy-timer-a650", - "head": "cf57b34a36b768e150cd776f7e19acfd984245f7", - "scope": "PR #1717 unblock", - "outcome": "fixed missing it() closer from Copilot autofix; merged origin/main after #1668; merge-tree clean; no unresolved threads", - "checks": "local: vitest patient-safety-plan.dom.test.tsx (8/8); format ok; pending hosted CI after push" + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr4-trust-copy", + "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-08", - "ref": "cursor/safety-plan-phone-safe-area-624a (PR #1711)", - "head": "0aa81baf1260991f92dd8646bd9cd52b4077a39b", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY/ledger-only → merged origin/main via ledger driver; CI re-running", - "checks": "ledger merge driver; no provider-backed checks" + "date": "2026-07-14", + "ref": "claude/pt-audit-pr4-trust-copy", + "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-08-08", - "ref": "cursor/safety-plan-phone-safe-area-624a (PR #1711)", - "head": "ad1b1f5db24ed68ee4c0d5963620e4562829884e", - "scope": "heavy review-and-fix PR #1711", - "outcome": "fixed CodeRabbit sm:py guard parity; late-synced #1720 behind-but-clean; no P0/P1; Bugbot none; threads cleared; merge-tree clean; required CI green on 78c14205 pre-sync", - "checks": "vitest safety-plan+standalone 18p; verify:cheap 523/5582; verify:pr-local format+lint+typecheck+test+build+rag-fixtures; Production UI critical+(1)(2)(3)+PR required SUCCESS on 78c14205; no provider gates" + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138)", + "head": "46597a9b", + "scope": "Explicit performance + frontend-ui review of search/interactive surfaces; low-risk client deferral/cache/abort/progressive-reveal pass", + "outcome": "Prior document/universal search latency work retained (NDJSON stream, LRU, lazy PDF, content-first detail). New work: differential debounce+abort+LRU; useDeferredValue on catalogue ranking; document results Show more window; RelatedDocumentsPanel memo; universal LRU 100+TTL; deferred registry search extracted from ClinicalDashboard. No RAG/retrieval/ranking edits. No high-confidence P0–P2 defect found in the shipped scope; residual risk = deferred paint lag on large catalogues and progressive reveal missing deep cards until Show more.", + "checks": "Focused Vitest 10/10 (differential + universal + performance boundaries); verify:cheap exit 0 (3262 tests); typecheck clean; verify:ui exit 0 (Chromium). No provider calls." }, { - "date": "2026-08-08", - "ref": "cursor/safety-snapshot-mobile-4ab3", - "head": "63be5e932dc0410f172375edf779190c6a1aadae", - "scope": "differentials Safety Snapshot mobile density redesign", - "outcome": "ship; phone visual PASS at ~400px (compact labels, equal 3-col metrics, no redundant summary); unit 21/21; verify:pr-local tests+fixtures+format PASS; build PASS with ALLOW_BUILD_WITH_DEV_SERVER=1", - "checks": "test:differential-detail,verify:pr-local(partial-build-retry),phone-visual" + "date": "2026-07-13", + "ref": "claude/site-performance-speed-61d154", + "head": "46624913def3eaddaa1cc5aa4411f769e9c98b77", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #458; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-08", - "ref": "cursor/safety-snapshot-mobile-4ab3", - "head": "d7fcbc2095ae3cfbefabfad1333b85de0ca42a4b", - "scope": "differentials Safety Snapshot mobile density redesign", - "outcome": "ship; tightened Watch-for wrap; phone 390 screenshot + unit 21/21", - "checks": "test:differential-detail,phone-visual-390" + "date": "2026-08-09", + "ref": "pull/1771", + "head": "466ec4216272c31c5f754db213dbdc529583b167", + "scope": "PR 1771 runtime floor enforcement", + "outcome": "P2: Cloud and Desktop setup paths remain major-only; do not merge until range-aware", + "checks": "static review; check:runtime PASS; check:codex-cloud PASS; ledger PASS; outstanding issues PASS; focused Vitest blocked by active Playwright lease" }, { - "date": "2026-08-08", - "ref": "cursor/safety-snapshot-mobile-4ab3", - "head": "ef9a5ed85a3e16dd38bca39d5a6a7e0056c7d42d", - "scope": "differentials Safety Snapshot mobile density redesign", - "outcome": "ship; final tip after Watch-for tighten + ledger supersede; phone 390 PASS; unit 21/21", - "checks": "test:differential-detail,phone-visual-390,build" + "date": "2026-08-07", + "ref": "cursor/settings-features-mockups-97ac (PR #1657)", + "head": "4670a6b7bf50bbfda2c601c05364ee5fb267a6c0", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", + "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" }, { "date": "2026-08-08", - "ref": "cursor/services-content-cleanup-1c73", - "head": "1b62fdabbabcfbb05ccbbae08b070bf7740426d5", - "scope": "services content cleanup: compact catalogue fields + hide empty detail sections", - "outcome": "APPROVE pending required CI; verify:pr-local passed; UI spot-check recommended", - "checks": "verify:pr-local (lint/typecheck/test/build/rag-fixtures)" + "ref": "claude/mode-routing-search-pages-jabe17", + "head": "468cc3fce85726a66098af0600d2b5d5951e3213", + "scope": "bug-hunt", + "outcome": "findings: P1 documents home autoRun on keystroke; P2 stale PWA /?mode=prescribing; P2 landing vs lastAppMode race; P2 /medications?q&run deep-link lost", + "checks": "vitest app-modes+search-route-ownership 36 pass; static ownership/ask-routing proof; no browser/UI/provider" }, { - "date": "2026-08-08", - "ref": "cursor/services-content-cleanup-1c73 (PR #1733)", - "head": "af90c9017fd6c1c65fab0f40f96e155bd4f64f41", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY/ledger sync + 2 Copilot threads → placeholder ranking + multi-clause criteria; threads unreplied (API 403)", - "checks": "vitest services-catalog 16 passed; no provider-backed checks" + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch-final", + "head": "46ebd3f13a3e8b843026dd7d3d4024440970d7ae", + "scope": "upload-limit env regression type correction", + "outcome": "Reviewed the test-only ProcessEnv annotation; no unresolved finding.", + "checks": "Focused test and typecheck awaiting repository coordinator; prior exact-head static gates and lint passed." }, { - "date": "2026-08-08", - "ref": "cursor/site-testing-speed-08c1 (PR #1686)", - "head": "11e35727a6a9b3b776e890e6a63e43fea9b0a437", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "post-merge Unit coverage: added ui-phone-scroll-document-rail.spec.ts to playwright PR shard 1; CI re-running", - "checks": "vitest playwright-pr-shards 4 passed; playwright-pr-shards --validate OK; no provider-backed checks" + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-plan-cache-migration", + "head": "471099c3031520fc4a083f802af3c8f95a9c7d44", + "scope": "branch-cleanup", + "outcome": "Retained: 8 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-plan-cache-migration; git diff --name-only reported 52 path(s)." }, { - "date": "2026-08-08", - "ref": "cursor/site-testing-speed-08c1 (PR #1686)", - "head": "632958dd63e320b3c1ae911ca0b025aaab78a478", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "DIRTY (ledger+outstanding-issues+scripts-index) → merged origin/main with careful unions; CI re-running", - "checks": "check:outstanding-issues pass; ledger:dedupe; vitest playwright-revision+ci-cache-safety 33 passed; no provider-backed checks" + "date": "2026-07-14", + "ref": "claude/perf-r2-plan-cache-migration", + "head": "471099c3031520fc4a083f802af3c8f95a9c7d44", + "scope": "branch-cleanup", + "outcome": "Retained (user decision): preserves unmerged perf-r2 batch image signed-URL endpoint + client-fetch-cache absent from main; sibling perf-r2 dups pending deletion.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-08", - "ref": "cursor/specifiers-builder-mobile-f72a", - "head": "894677891e2793cadc721b106e5abb715ff918e3", - "scope": "specifiers-builder-pathway-mobile", - "outcome": "pass-pathway-strip-and-mobile-overflow", - "checks": "npm run test:e2e -- tests/ui-specifiers.spec.ts --project=chromium: 6 passed" + "date": "2026-07-13", + "ref": "origin/claude/gate-answer-persistence-flag-4b55da", + "head": "47206d8c2ab04f8a32fd64de8ba2f141999eb3e0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #537; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-08", - "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1", - "head": "072b83f79a70037a04a8412844c041db43c9ce48", - "scope": "PR #1668 unblock", - "outcome": "synced main; merge-tree clean; required CI was green on prior tip e9516021; js-yaml 4.3.1 + nanoid 3.3.18 preserved; no unresolved threads; CI re-run after sync", - "checks": "pre-sync PR required pass; Production UI skipped (deps); post-sync pending" + "date": "2026-07-25", + "ref": "`cursor/imp04-prune-dead-exports-01f2`", + "head": "4739510e8650e38e3c3a3cd2d8866dcf3abb8ab6", + "scope": "IMP-04 safe port from rejected #1188 tip", + "outcome": "READY. Ports dead-export prune for calculator/factsheet mockups + unused ui-primitives tokens. Deletes truly unused locals (not just unexport) so eslint max-warnings=0 stays green. Keeps Skeleton + commandInput focus shadow (tip incorrectly removed/changed those). Supersedes optional follow-up noted on #1188 branch-cleanup row.", + "checks": "typecheck; eslint on touched files. No provider calls." }, { - "date": "2026-08-08", - "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1", - "head": "a79943df33e653d2a65d4db2f192ee77c22ab75a", - "scope": "PR #1668 unblock", - "outcome": "late-synced main after CI green on f04a96c3; merge-tree clean (GitHub DIRTY was stale); js-yaml 4.3.1 + nanoid 3.3.18 preserved; no unresolved threads; CI re-run after push", - "checks": "pre-late-sync: PR required pass on f04a96c3; Production UI skipped; post-sync pending" + "date": "2026-07-25", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "477ec929", + "scope": "pr-ci-fix: Static PR checks / ESLint react-hooks/set-state-in-effect", + "outcome": "Two `useEffect` blocks in `master-search-header.tsx` called setState synchronously (lines 383-392). Fix: moved `heroComposerOwnsPhones`, `phoneBottomSearchDockActive`, `hideOnScrollEnabled` before `sharedChromePinned`; gated focus pins at consumer; removed both effects. Net -12 lines, budget OK (4133/4140).", + "checks": "ESLint on file: 0 errors; `npm run typecheck`: clean; `prettier --check`: clean; `check:maintainability-budgets`: PASS. No provider-backed checks." }, { - "date": "2026-08-08", - "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", - "head": "e95160210e7801c1f4e863648ed6b48c8fbee71f", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "BEHIND → merged origin/main; Safety audit failed on transitive nanoid→bumped lock to 3.3.18; CI re-running", - "checks": "npm audit --omit=dev --audit-level=high clean; no provider-backed checks" + "date": "2026-08-17", + "ref": "PR (branch claude/p1-318-lexicon-slug-and-guards, #318 follow-up)", + "head": "478f06b52f672fa2a01b0f5c54a5f8c5df67c656", + "scope": "src/lib/medication-interaction-lexicon.ts (tcas slug), scripts/build-medication-lexicon-report.ts (missedClassMembers), tests/medication-interaction-lexicon-coverage.test.ts, regenerated data/medication-interaction-index.json + docs/medication-interaction-lexicon-review.md, docs/medication-lexicon-review-worklist.md, one #318 inbox request (db498cc1). clinicalRisk true. Sign-off block untouched.", + "outcome": "Authored handoff, owner-approved scope (dead slug + guard blind spots only; no mapping needing a clinical answer was changed). DEAD SLUG: tcas selected 'dothiepin' where the catalogue keys the drug 'dosulepin' (same drug, current INN), so it matched zero records and Dosulepin - own record flags Toxicity in OD FATAL - fired none of the term's 20 CRITICAL/HIGH rows. Treated as restoring evident intent, not a new clinical determination: the author wrote dothiepin and the catalogue already filed it subclass TCA. Measured after regenerating the index: 22 rows now name dosulepin as counterparty, 20 CRITICAL/HIGH, up from 0; aggregate resolution unchanged (523/362/161/423) because those rows already resolved via other TCAs. Durable guard: coverage test now fails on any selector slug or denySlug resolving to no record - the pre-existing test only required a TERM to resolve to some drug, so tcas stayed green on five of six slugs. GUARD BLIND SPOTS: missedClassMembers skipped sub-4-char stems, so the check could not fire for tcas or arbs (ppis rescued by its long surface), and it never read tag. The sheet's printed 'checks ran clean' line was false for two terms. Floor now 3 and haystack includes tag; the sheet now raises the Celecoxib/Parecoxib gap itself (2 flagged, up from 1). First attempt was wrong and mutation testing caught it: whole-token matching for short acronyms did no protective work (the leading word boundary already blocks arb-in-Carbapenem) and would have missed a subclass spelled TCAs - kept as a prefix match, pinned by a pluralised-subclass test. STILL OPEN: sign-off block untouched, sheet still UNREVIEWED, and five clinical questions unanswered (coxibs, Moclobemide which the sheet structurally cannot surface because its tag is also RIMA, Loperamide, single-drug acei/arbs, antiplatelets in anticoagulants). Noted for a separate row: the lexicon source alone classifies clinicalRisk FALSE and only the generated index makes such a PR clinical-risk.", + "checks": "verify:pr-local 18 checks completed, failed: (none) - includes lint, typecheck, full unit suite, build, check:medication-interactions, check:medication-lexicon-report. Focused tests/medication-interaction-lexicon-coverage.test.ts 33 passed (was 30). check:production-readiness run for the clinical-risk scope: 2 PASS, 5 WARN, 2 FAIL, both FAILs the documented offline provider gap (absent NEXT_PUBLIC_SUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY/OPENAI_API_KEY), not regressions from this diff. Mutation-verified four ways: slug revert fails 2 tests; restoring the <4 stem floor fails 2; dropping tag fails 1; anchoring the stem tail fails 1. verify:ui NOT run and NOT runnable here - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed; no browser coverage claimed, none needed for this scope." }, { - "date": "2026-08-08", - "ref": "origin/main (PR #1722 follow-up)", - "head": "eda8fe872de040e304621bce49535e1dfebb091e", - "scope": "Lighthouse testing thorough review", - "outcome": "P1 fixed locally: stale Chrome 150 baseline, unbounded runner phases, and live input/process limits hardened; advisory policy retained", - "checks": "offline review; check:ci-scope PASS; test:ci-workflows 13 files 248 passed 11 skipped; check:github-actions PASS; verify:lighthouse dry-run PASS; no provider-backed checks run" + "date": "2026-08-26", + "ref": "claude/ward-flow-phase-5-p8rwcm", + "head": "47b51405bf3938096411895d28a4bba351d7d050", + "scope": "Ward Flow Phase 5 — bed availability lifecycle, leave beds, discharge board, capacity bands, freshness", + "outcome": "Whole-branch review: approved with findings, 0 P0, 0 P1, 7 P2 — all seven fixed and mutation-tested. Four earlier automated findings: three fixed, one rejected with reasons.", + "checks": "npm run test (3 pre-existing failures, identical on clean origin/main); npm run typecheck; npm run lint (eslint cache cleared); prettier --check on all changed files; chromium-mockups ward-management + ward-coordinator + ward-discharges; screenshots at 390/820/1440 on five screens, looked at" }, { - "date": "2026-08-08", - "ref": "PR #1740 / claude/inpage-nav-info-pages-v8rhnd", - "head": "b67f33f65e00529eb0dd1682d6925e708243ee93", - "scope": "Extract InPageNavHeader (default in-page nav template) + convert differentials detail; PR 1 of 3", - "outcome": "HANDOFF. Template extracted from the duplicated DocumentViewer/differential-detail markup into src/components/in-page-nav/ (InPageNavHeader, PageSection/toDocumentSections, usePageSectionWeights); differential-detail-page converted (-207 lines), behaviour-neutral. section-index.ts untouched so document tests unaffected. DocumentViewer deliberately NOT converged (owns h1, edge-glass-header, visual baselines) - follow-up. Anchor-offset hook generalisation deferred to PR 2 where it is consumed. 3 source-scanning contracts + addon-slot guard updated to follow the markup and additionally assert adoption; addon-slot scan widened to InPageNavHeader or it would go silent for every future adopter. Single failing test (pr-handoff-stop) is a root-uid artifact: chmod 0555 does not block root, reproduced with work stashed on clean tree.", - "checks": "verify:cheap 5618 passed/1 failed (root artifact); verify:pr-local same, short-circuits at test so build not reached; build run separately - Compiled successfully in 53s + client bundle secret check passed; verify:phone-chrome EXIT=0 (stage1 119 passed, stage2 7 passed 23.5s, full UI policy auto not selected); lint/typecheck/prettier --check . clean. No provider-backed gates. Deps installed with engine check relaxed (user-approved; Node 24.13.0 vs jsdom floor 24.15) - lockfile untouched." + "date": "2026-07-17", + "ref": "codex/design-audit-20260716", + "head": "47b58ddf95826231a6057b400e7f601c403a129d + reviewed working diff", + "scope": "exhaustive design, accessibility, UX, interaction, route, responsive, HTML/CSS/JS/TSX, and test-coverage audit with remediation", + "outcome": "No P0. Fixed two P1 trust/responsive defects and the confirmed P2/P3 set: false Favourites provenance/demo leakage/dead controls, Therapy phone reflow/load recovery/contrast, semantic tabs/search/filters, error focus/theme, deterministic Forms back navigation, honest unavailable actions, application dialog semantics, duplicate differential keys, skip-link target, Playwright project isolation, and route coverage. External visual-target fidelity remains unavailable.", + "checks": "Static 261-file/~67,944-line inventory; independent combined-diff review; focused Vitest 21/21; jsdom 24/24; architecture 6/6; accessibility browser 5/5; focused route/browser recovery; lint; TypeScript; runtime/workflow/sitemap/brand/type/icon checks; production build with 1,043 pages and client-secret scan; `git diff --check`. Canonical aggregate Vitest was Windows-runner inconclusive and full UI was not repeated after focused remediation. No provider/API checks." }, { "date": "2026-08-07", - "ref": "claude/answer-shell-ds-adoption (PR #1658)", - "head": "d9221389c5b11123e7d7bc882bda342a6fd9e11d", + "ref": "claude/new-session-6fz57i (PR #1647)", + "head": "47cffe5f65d9e1d74e4b97b8bb13fecd6b73aebc", "scope": "prlanded", - "outcome": "MERGED: AnswerCard on live answer shell; tip empty vs squash; remote branch deleted", + "outcome": "MERGED: mode-nav roll-out to DSM/Specifiers/Formulation/Differentials; tip 71edf468 empty vs squash 47cffe5f; remote branch deleted", "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "claude/ds-a4-component-defects (PR #1712)", - "head": "c6b2fbfd5ac45fe7f13fd786c40afa200a702051", - "scope": "design-system Track A4 - COMPONENTS section 0.4 open-defect rows (#263)", - "outcome": "Authored and self-verified, not an independent review. Eleven defects closed across ten registered components (Button ref+testId, Progress shimmer token, StageList step clamp and scoped live region, StatusMark app-type decoupling, PageHeader title floor, Disclosure print, AccessibleTable dense-header title and Button expander, Tabs invalid-value tab order, Pagination clamp/wrap/focus/announce, Links download and gap, Checkbox/RadioGroup raw dimensions). Three listed sub-defects re-measured as already fixed and were not work. Button left the reference-only adoption snapshot because AccessibleTable genuinely adopts it. Ratchets fell and none rose: edge conflicts 28 to 27, legacy shadow aliases 229 to 228; debt baseline deliberately not lowered. Merged origin/main (10 commits) and hand-resolved the docs/outstanding-issues.md conflict: id #273 had been taken on main, so the LinkAction finding was renumbered to #276; proved no id lost from either side and no duplicates. Auto-merge deliberately NOT armed - four surfaces change visibly and issue #118 means zero visual baselines, so CI compares no pixels; owner visual review requested before merge.", - "checks": "check:design-system-contract exit 0 (all three sub-checks); tsc --noEmit exit 0; lint exit 0 at --max-warnings 0; prettier --check . clean; verify:ui 407 passed (14.1m) exit 0 zero not-ok; 260 unit tests across 8 component/token suites plus 191 across 7 further suites; all re-run green after the main merge (135 passed). verify:pr-local aggregate NOT run - vitest fork workers would not start under box load; components run individually." + "date": "2026-08-20", + "ref": "claude/docling-shadow-extraction-runbook-942862", + "head": "47deb7c42e398c39c2337b5e1cd6a5529afc9e40", + "scope": "packet B4 docling shadow extraction Gate F operator runbook (docs only) — post-review pass", + "outcome": "two-codex-P2-findings-verified-against-code-and-fixed;search-delay-claim-was-wrong-status-set-at-commit;cohort-widening-needs-reindex-stated;two-coderabbit-nits-on-queued-request-fixed;coderabbit-ledger-entry-finding-rejected-invented-scope", + "checks": "check:outstanding-issues:pass;prettier:clean;code-verified:commit_document_index_generation-sets-status-before-shadow" }, { - "date": "2026-08-07", - "ref": "claude/ds-token-tracking-scale (PR #1663)", - "head": "82b6f5a4c02c163aba4391e7ca5a1ab77780e7ae", - "scope": "prlanded", - "outcome": "MERGED: name letterspacing scale and ratio tokens; tip ec0b03c3 empty vs squash 82b6f5a4; remote branch deleted", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/please-thoroughly-review-this-repo", + "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/please-thoroughly-review-this-repo; git diff --name-only reported 1 path(s)." }, { - "date": "2026-08-07", - "ref": "claude/ds-truth-fixes (PR #1655)", - "head": "cc349d1305df7cc0619d73a9487d8eb04d65acff", - "scope": "prlanded", - "outcome": "MERGED; squash tip empty vs branch tip 1ffa4be19ea91e4da686082aec832cba5eddb47f; design-system truth fixes + retire left/right knob", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-13", + "ref": "origin/codex/please-thoroughly-review-this-repo", + "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/please-thoroughly-review-this-repo; git diff --name-only reported 1 path(s)." }, { - "date": "2026-08-07", - "ref": "claude/handover-review-nlhuln", - "head": "4ff613c10fbf734b1e740a31611296c17c791ec7", - "scope": "mode nav remaining modes: vestigial strip removal (PR #1679)", - "outcome": "Removed the single-button action strip from answer/documents/services/forms/favourites/prescribing/tools; deleted the registry index-0 fallback (TS2493-forced) and the dead documents clause; stripped modeItems/onSearch/modeAriaLabel/stickyTop from PageSecondaryNavigation, keeping the empty-registry return below the information-section branch; kept the action kind with a no-live-consumer note. Completes the 13-mode navigation rollout.", - "checks": "lint exit 0; typecheck clean; focused 5 files 97 tests; test 518/519 files (pr-handoff-stop re-confirmed pre-existing on this base via stashed re-run); ui-mode-nav-density + ui-accessibility 71 passed (landmark scan green); branch-order guard mutation-checked (hoisting it fails 2 tests); format committed; verify:pr-local blocked at check:installed-lock-parity (playwright 1.62.0 vs 1.62.1)" + "date": "2026-07-14", + "ref": "codex/please-thoroughly-review-this-repo", + "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-07", - "ref": "claude/handover-review-nlhuln", - "head": "978623337c12dc1721fe5236eadbf9a5ad929f03", - "scope": "mode nav remaining modes: factsheets adoption (PR #1674)", - "outcome": "Adopted the shared ModeNav for factsheets (Topics + Search); replaced the action-only entry, added the activeId branch, q/category/run carry, BookOpenText icon; three pinned adopted-mode lists updated together; record-route protection pinned at render now the item-count protection has expired", - "checks": "lint clean; typecheck clean; test 518/519 files (pr-handoff-stop failure confirmed pre-existing via stashed re-run); focused 5 files 95 tests; ui-mode-nav-density 55 passed incl 7 new factsheets rows; two mutation checks confirmed red; format committed; verify:pr-local blocked at check:installed-lock-parity (playwright 1.62.0 vs 1.62.1)" + "date": "2026-07-24", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "47ebd3d20184875d80bf192144b614ec58d48e08", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: already contained origin/main. After: ledger-only record. Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "claude/handover-review-nlhuln", - "head": "de8b74e2fb94d1ec9b1982c15a2dea43421c3eee", - "scope": "outstanding-issues ledger capture after the mode-nav rollout (PR #1685)", - "outcome": "Confirmed #256's two remaining suspected section sets are dead (/forms/ and /differentials/presentations/ draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #261 (delete-or-keep the consumer-less action kind) and #262 (addon-slot single-owner rule held by two lists agreeing by coincidence). #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows.", - "checks": "check:outstanding-issues passed (260 rows, 119 open, unique ids, no ids deleted from base 1ff9ed206456); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff" + "date": "2026-08-02", + "ref": "claude/ds-v2-values", + "head": "48012d359b84daae347201697c82f3e433c182c5", + "scope": "PR #1571 review-and-fix (ds-v2-values tap/radius)", + "outcome": "fixed: Tools submit + account-setup close onto h-tap; phone composer input 44px pin; gate 2 demoted to implemented-partial; SPEC 407→426; short-runway/short-answer smoke pins retuned; verify:cheap + verify:pr-local + 2 smoke tests green; CI Production UI in progress", + "checks": "verify:cheap 471/4879; verify:pr-local build+fixtures; test:e2e 2 phone smoke passed; design-system-contract raw 2/0/0" }, { - "date": "2026-08-07", - "ref": "claude/handover-review-nlhuln", - "head": "de8b74e2fb94d1ec9b1982c15a2dea43421c3eee", - "scope": "outstanding-issues ledger capture after the mode-nav rollout (PR #1685) (supersedes 2026-08-07)", - "outcome": "Confirmed #256's two remaining suspected section sets are dead (/forms/ and /differentials/presentations/ draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #271 (delete-or-keep the consumer-less action kind) and #272 (addon-slot single-owner rule held by two lists agreeing by coincidence) — renumbered from this PR's original #261/#262 because main claimed #261-#270 via PR #1678 design-system tracks in the interim. #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows.", - "checks": "check:outstanding-issues passed (270 rows, 129 open, 141 archived, unique ids, next-id=273 above the highest, no ids deleted from base d32dd549a3dd); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff" + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "482d6f2489c9ca1ee4603f0013bd9b3190a2cc36", + "scope": "Superseding lifecycle resolution after concurrent branch merge", + "outcome": "APPROVE pending exact-head required CI. Merged the concurrently advanced lifecycle fix without force or rebase. The resolved tree uses a stable callback ref, explicit collapse-strategy ownership, active-element synchronization on attach, scoped subtree observation, and cleanup clearing. Kept separate browser cases for focus pinning and keyboard-navigation teardown so each contract fails independently. No unresolved code conflict or local finding remains.", + "checks": "Header-scroll contracts 15/15; TypeScript PASS; focused production Chromium lifecycle cases 2/2. Immediately preceding equivalent lifecycle tree: phone-scroll 39/39 and `verify:cheap` PASS; final exact-head cheap gate follows this record. No provider-backed checks." }, { - "date": "2026-08-07", - "ref": "claude/handover-review-nlhuln (PR #1685)", - "head": "e200e589938c8dac2d3f76ef42ed1639b3fde18e", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 1, checks green, 0 threads → after: merged origin/main (conflicts: none); PR required SUCCESS; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/review-pr1445", + "head": "483a1c6190dfbd1a5895ef2c419a73f0f2162f05", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1445 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + }, + { + "date": "2026-07-30", + "ref": "codex/review-pr1445", + "head": "483a1c6190dfbd1a5895ef2c419a73f0f2162f05", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1445; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" + }, + { + "date": "2026-07-30", + "ref": "codex/outstanding-local-batch", + "head": "4896dc99bd5bf4321d50c7fc7feb1ce2c8f90694", + "scope": "branch-cleanup", + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "superseded by merged PR #1480; 12 of 24 changed blobs exact and final PR strengthens upload parity and partial-result Retry behavior; clean worktree; batch12 bundle verified" + }, + { + "date": "2026-07-13", + "ref": "claude/code-review-42a2c3", + "head": "48cabd9b8754c06b34b006c544c7529b6f2f5400", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/code-review-42a2c3; git diff --name-only reported 65 path(s)." }, { - "date": "2026-08-07", - "ref": "claude/issues-256-section-nav-clean", - "head": "169323053db5c572d183d59c113ecd0c76e7aca5", - "scope": "issues #256: forms section anchors + differentials presentation set (PR #1697)", - "outcome": "Wired all six formSections anchors in form-detail-page.tsx (four direct ids, two breakpoint pairs via existing mobile wrappers and single-child desktop wrappers, no component signature change); deleted differentialPresentationSections and declared /differentials/presentations/ locally-owned instead, since three of its six sections declared a -mobile targetId ReviewPanels can never satisfy and the page owns MobileTabs below xl plus the xl review sidebar. Added a registered browser spec because source-text and jsdom guards both structurally cannot see breakpoint-variant resolution.", - "checks": "lint exit 0; typecheck clean; test 519/520 files (pr-handoff-stop confirmed pre-existing via stashed re-run); check:gate-manifest and check:ci-scope pass with the new spec in both playwright allowlists; ui-forms-section-nav + ui-accessibility 18 passed incl real-record nav with 6 links and exactly one variant per pair visible at 390px and 1280px; binding guard mutation-checked red on one removed id; browser spec observed failing when nav genuinely absent; format clean. Environment: npm ci blocked (main lockfile needs Node >=24.15, container has 24.13), tailwind-merge@3.6.0 materialised from tarball only" + "date": "2026-07-29", + "ref": "codex/chat-document-header-overlay-document-header-overlay-20260729", + "head": "48ed6cc95f886837f4ddbb369fdbc611a0958f17", + "scope": "document phone header overlay", + "outcome": "No high-confidence findings; physical iPhone acceptance remains", + "checks": "verify:pr-local unit 4373 pass; build PASS; focused Playwright 2 pass; phone gate contended" }, { - "date": "2026-08-07", - "ref": "claude/issues-256-section-nav-clean (PR #1697)", - "head": "2b99db1f00c42fd7c11c4bf8acbad904ef5003e1", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: DIRTY/PR mergeability fail, behind 3, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-07-24", + "ref": "codex/fix-merge-conflicts-and-ci-on-open-prs (PR #1170)", + "head": "48fcb485", + "scope": "Babysit sweep: CI fix", + "outcome": "Before: Static PR checks FAIL (docs:check-links missing legacy route paths). After: expanded check-docs-links allowlist for pre-(search-app) paths. Production UI re-running.", + "checks": "npm run docs:check-links PASS; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "claude/new-session-6fz57i (PR #1647)", - "head": "47cffe5f65d9e1d74e4b97b8bb13fecd6b73aebc", - "scope": "prlanded", - "outcome": "MERGED: mode-nav roll-out to DSM/Specifiers/Formulation/Differentials; tip 71edf468 empty vs squash 47cffe5f; remote branch deleted", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "4909d26afc45c5a1f330a69c5a5693264027b2de", + "scope": "PR #1377 CI/review babysit", + "outcome": "Synced #1375 (DIRTY=staleness, merge-tree clean). CI was green on prior tip 9f21672c. No unresolved threads; no Bugbot findings. Tip 4909d26a; CI re-running.", + "checks": "vitest preamble+server-timing+rag-cache-invalidation 17/17; typecheck exit 0; prior tip PR-required SUCCESS" }, { - "date": "2026-08-07", - "ref": "claude/pr-handoff-loop-prevention-54y5zr (PR #1670)", - "head": "dfe2946110e0ff93bd4acc571ae79c26b79a7a85", - "scope": "PR #1670 heavy review-and-fix", - "outcome": "synced origin/main (behind-but-clean DIRTY cleared); fixed CodeRabbit checks-cell to name exact #1649 gates + incomplete verify:pr-local/ui + no provider checks; Bugbot none; no P0/P1; #258/#ledger delta accurate; merge-tree clean; threads cleared", - "checks": "verify:cheap 519 files/5493 passed; verify:pr-local docs scope (format+docs+ledger+outstanding-issues); check:branch-review-ledger; check:outstanding-issues; no provider gates" + "date": "2026-07-13", + "ref": "codex/fix-48h-review-findings-current", + "head": "49735663370735a60870d065ed0de3b9d34e077f", + "scope": "last-48-hours PR remediation", + "outcome": "Revalidated the last-48-hours findings on current main after PRs #538 and #540; retained only unique fixes across auth/cache isolation, stale-response protection, upload/routing/UI behavior, RAG coalescing, telemetry, worktree tooling, and SAST enforcement. No remaining high-confidence local defect was found in the changed scope. The approved live drift check reported only the five differences already explained by unapplied migrations from #540.", + "checks": "Focused Vitest 107/107; `npm run verify:pr-local` (1,762 passed, 1 skipped; production build and client-bundle scan; offline RAG 60/60); critical Chromium 8/8; live `check:drift`; `git diff --check`. Full Chromium remains advisory after the earlier runner hang; the required critical subset passed on current main." }, { - "date": "2026-08-07", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "76169ebcea48ca5efd9859b9a1f8c579dcc8b834", - "scope": "PR #1649 pr-handoff-stop hook + AGENTS.md/handoff docs", - "outcome": "shipped and squash-merged as 76169eb; hook denies post-handoff PR/CI polling (shell gh, GitHub MCP pull_request/workflow/check/job_log/update_branch, Monitor/ScheduleWakeup/CronCreate) while leaving commit, push, ledger:append and PR create/merge allowed; anchored exemption keeps create_pull_request_review denied; known limit: .claude/settings.json binds Claude Code only, Codex/Cursor get AGENTS.md prose with no enforcement (captured as an outstanding issue). Row recorded late and against the merged squash commit because the branch tip 2ad32de9b is unreachable after branch deletion", - "checks": "named #1649 gates: check-docs-links PASS (1629 refs); ci-change-scope --self-test PASS; check-gate-manifest PASS; check-codex-cloud-setup PASS (static); check-branch-review-ledger PASS; check-outstanding-issues PASS; Prettier clean on AGENTS.md/.claude/settings.json/handoff SKILL; bash -n hook clean; classifyPullRequestFiles all risk flags false; ~20 hook payloads exercised; incomplete vs full handoff: verify:pr-local NOT run (no node_modules); verify:ui NOT run (no UI delta); no provider-backed checks run" + "date": "2026-08-18", + "ref": "claude/home-pages-cleanup-qeh5fr (PR #2139)", + "head": "49875287ead7a15069224174d68f57b44c220e3d", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Branch already current with origin/main (base sha a9552eb4 == main tip; PR includes its own 'Merge branch main' commit) — no drift/conflict, so the #2112 shared-mode-home/composer overlap did not materialize and no merge or resolution was needed. 0 unresolved review threads (only bot usage-limit/skip comments present, non-actionable). All completed required CI checks green as of last observation (Static PR checks, Build, Production UI critical, Safety and config checks, Change scope, Unit coverage all success; zero failures across 25 check runs); Production UI (1)/(2)/(3) and Lighthouse budget were still in_progress after ~25 min observation window with no failure signal — left running, no code changes needed or made. No commits pushed this sweep.", + "checks": "GitHub check-runs API polled for HEAD 4987528 (twice, ~5 min apart): no failing required job observed. No local gates run (nothing to fix/verify). No provider-backed checks run." }, { - "date": "2026-08-07", - "ref": "claude/search-bar-mobile-layout-buu0io", - "head": "9d64388c0ce530d0c20bb7efe8ffb32cd928319c", - "scope": "phone results-filter idiom: 7 modes off MobileResultFilterControl onto ResultFilterTrigger + ResultFilterSheet; band, docs, tests", - "outcome": "changes-shipped", - "checks": "typecheck; lint; test 5538 passed (1 pre-existing pr-handoff-stop failure, baselined on unmodified tree); build; check:rag:fixtures; check:bundle-budget +6.3% within tolerance; targeted Playwright: ui-accessibility 16, ui-specifiers+ui-formulation 12, ui-tools 5, ui-smoke 2, ui-stress 3" + "date": "2026-07-15", + "ref": "codex/documents-closed-default", + "head": "49f63791bced2b1764a11ab723aea94b45b026b6", + "scope": "documents viewer disclosure defaults and related defect hunt", + "outcome": "Fixed the inconsistent default-open document viewer sections by making indexed text, high-yield summary, tables/diagrams, and indexing details a native mutually exclusive closed disclosure group. The section navigation opens its requested disclosure and deep-linked evidence still reveals its target. The hunt also removed the explicitly open nested table-review queue, preserved printable summary content through the browser print lifecycle, and added cold-server readiness guards to the affected viewer tests. No other high-confidence default-open defect remains in the live Documents scope.", + "checks": "`npm run verify:cheap`; TypeScript; focused ESLint/Prettier; clean-worktree mocked Chromium coverage for deep-linked evidence, structured summary, closed/mutually-exclusive disclosures, navigation opening, and print state restore; `git diff --check`. Turbopack could not run through the local external `node_modules` junction, so clean browser verification used Next's supported Webpack dev mode. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-08-07", - "ref": "claude/search-bar-mobile-layout-buu0io (PR #1689)", - "head": "a152ffd89c962e3589509c0c3740dc429264063a", + "date": "2026-08-06", + "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", + "head": "49f82b831342e4666f76e307d5c61cba8db2a029", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 1, required CI green (advisory lighthouse fail ignored), 1 CodeRabbit lighthouse baseline thread (human disagreement in progress) → after: waited for CI settle, disabled automerge, merged origin/main, pushed, re-enabled automerge; thread left open for human", - "checks": "settled CI then merge+push; no provider-backed checks run; advisory lighthouse not chased" + "outcome": "before: Sentry+Devin threads (double-zoom, issues:done, TOKENS px) + stale queue renumber after deletes; after: fixed+pushed; 5 threads resolved; CI queued awaiting runners; merge-tree clean; no provider-backed checks", + "checks": "vitest gestures+hide-on-scroll 35 passed; outstanding-issues gate+writer self-test (incl. multi-queue prune) passed; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "claude/search-bar-mobile-regression-ober7w", - "head": "5fa1bedd69d948682ca2b381d49d30696e966781", - "scope": "results-band phone rail clipping + filter trigger parity", - "outcome": "Fixed: inline utilities were `shrink`, so an over-subscribed line clipped the sort group mid-glyph and masked its last option. Now `shrink-0` (query truncates instead, per the band's own contract), utilities wrap to their own row below 414px, sort options px-2.5 below sm, Filter wordmark hidden only 414-429px. Filter trigger stopped composing floatingControl through plain-join cn (font-semibold 600 and --border-lux were winning over the overrides), now uses the band's control recipe with mutually exclusive active/resting branches. Corrected the doc+test claim that the library button was the sole cause of rail overflow. PR #1672.", - "checks": "lint 0; typecheck 0; prettier --check . clean; band+scope DOM 52 passed; phone-chrome contracts 118 passed; ui-smoke+ui-tools chromium 185 passed 1 failed (pre-existing PDF-canvas, fails identically stashed on clean baseline, Chromium 1194 vs pinned); new rail sweep gate proven to fail at 414px (sortClipped 16, masked true) with shrink reinstated; verify:phone-chrome blocked at lock-parity (playwright 1.62.0 vs locked 1.62.1, pre-existing container drift)" + "date": "2026-07-30", + "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", + "head": "4a001efadedea6e8f8ad59ac7374ff9293cf7e14", + "scope": "CI/review closeout after format + main sync", + "outcome": "FIXED. Tip `66c5eb2c` failed Static PR / CircleCI solely on prettier padding in `#096` row; fixed on `61314887`. Main synced via `4a001efa` (shallow-clone inventory refusal from #1392). No open review threads; layout/`/tools` false-positive already fixed; `#115` remains deferred. No product-code change this pass.", + "checks": "format:check pass; Static PR pass; Unit coverage pass; PR required pass; CircleCI pass; vitest adoption 6/6; typecheck; Bugbot no open P0/P1; merge-tree clean vs main" }, { - "date": "2026-08-07", - "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", - "head": "7d3e62677ae178952aeca82048b492c4b84eaf05", - "scope": "prlanded", - "outcome": "MERGED; tip tree empty vs squash 7d3e6267; remote branch deleted", - "checks": "prlanded content verify; no provider-backed checks" + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "4a041fcd2ac8f12e4ebb0ab68e0151722db65bcf", + "scope": "PR #1490 main sync + #151 close", + "outcome": "merged origin/main (clean tree; GitHub DIRTY was ledger-driver staleness); archived #151 via #1494; #143 fully resolved; review threads already addressed", + "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" }, { - "date": "2026-08-07", - "ref": "claude/sidebar-closed-default-i6n2fk (PR #1637)", - "head": "2f881abf8524742984ece90cb631f78658c87a19", - "scope": "prlanded", - "outcome": "MERGED: desktop sidebar defaults collapsed; tip empty vs squash; remote branch deleted", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-30", + "ref": "PR-1456", + "head": "4a1771353313d9e33a2c8f7fb5f55c05d03e0216", + "scope": "PR #1456 dependency security diff vs origin/main", + "outcome": "no findings", + "checks": "focused Vitest: 5 passed; hosted safety/config: passed" }, { - "date": "2026-08-07", - "ref": "codex/combined-wip-backups-20260807 (PR #1701)", - "head": "d110f99e8eee87bf279c0eddd6a57837a8c64f5e", + "date": "2026-08-18", + "ref": "gemini/safe-ledger-resolutions-and-hardening (PR #2107)", + "head": "4a320d290fa1fac945c0b48b94a7853929b5c75c", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "NOT merged/synced -- aborted intentionally. Confirmed the CRITICAL Sentry privacy-leak finding (raw relatedDocuments, including unredacted labels/owner_id, sent to client via /api/search route's top-level relatedDocuments field and smartPanel.relatedDocuments instead of the already-computed clientRelatedDocuments projection) and replied with root-cause + fix location, but did not push a fix. While resolving this PR's docs/outstanding-issues.md conflict against main, found a second silent regression baked into the PR branch itself: scripts/outstanding-issues.mjs reverted to an old 10-cell row schema (vs current main's 7-cell schema), which produces NO merge conflict against main and would land invisibly. Given a 177-file diff (+3716/-14512) with two independent silent regressions already found, declined to push a partial fix and instead recommended the branch be rebuilt from current main per-commit rather than bulk-merged. Thread left open (blocker requires human decision on the branch).", - "checks": "raw branch-tip diff of scripts/outstanding-issues.mjs vs main (confirms schema revert, not merge-induced), git merge-tree (clean for the two files inspected, not exhaustively audited)" + "outcome": "Synced origin/main into behind-but-clean branch (no conflicts; f3ea973d -> 4a320d29). All required CI green (Change scope/Static PR checks/Safety/Unit coverage/Build). PR policy check genuinely FAILS and is unfixable within Run PR guardrails: PR touches RAG-ranking-protected src/lib/rag/rag-row-contracts.ts (nullable->nullish widening on source_metadata schema) with no RAG impact: line in the PR body, and the diff also lacks the required Clinical Governance Preflight section -- both are hard pr-policy.mjs blockers per AGENTS.md. Separately, trust/integrity spot-check: PR body claims 15 delivered resolutions but the diff (both commits combined) contains only 14 outstanding-issues-inbox JSON tickets; ticket #178 (PR policy clinical/operational bundling detection) is described in prose with a specific file:line citation but has no corresponding inbox JSON file in either commit -- it was never actually queued, unlike #098/#118 which appeared twice and were deduplicated in the second commit. The 14 tickets that do exist were spot-checked against origin/main (search-route-round-trip-budget.test.ts, guard-push.mjs prettier exact-lock logic, tests/helpers/source-contract.ts, scripts/ledger-inbox.mjs, pr-policy.mjs:335 bundling warning) and all matched their claimed outcomes -- unlike PR #2105, this is an omission/inflated count, not fabricated ledger content. No unresolved review threads (0). No CI job fixed by this session; PR policy failure and the missing RAG-impact declaration are left for a human, per guardrail against editing PR titles/bodies.", + "checks": "GitHub-side CI only (no local checks run -- worktree has no node_modules and only Node 22 available, repo requires Node 24; PR policy job log inspected directly via get_job_logs). No provider-backed gates run. update_pull_request_branch used for drift sync (GitHub-side merge, not a local git operation)." }, { - "date": "2026-08-07", - "ref": "codex/consolidated-ledger-updates (PR #1683)", - "head": "413e679bb92cb19717d6d8301764df44694eb73e", - "scope": "review-and-fix PR #1683", - "outcome": "synced origin/main (behind-but-clean DIRTY cleared); restored main ledger order + sole seven-report row; Bugbot none; no P0/P1; merge-tree clean", - "checks": "verify:pr-local docs scope PASS (format:changed Prettier; check:branch-review-ledger 648; docs links 1650; outstanding-issues 258); merge-tree clean" + "date": "2026-07-13", + "ref": "codex/anonymous-document-access-tests", + "head": "4a3d954553a8c0618bd9c41baaadedd84bbca821", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #559; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-07", - "ref": "codex/docker-delivery-hardening (PR #1656)", - "head": "fe339678ca23fc794238f458f0537a33f1b76c2c", - "scope": "prlanded", - "outcome": "MERGED; tip tree empty vs squash fe339678; remote branch deleted", - "checks": "prlanded content verify; no provider-backed checks" + "date": "2026-07-13", + "ref": "origin/codex/anonymous-document-access-tests", + "head": "4a3d954553a8c0618bd9c41baaadedd84bbca821", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #559; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-07", - "ref": "cursor/clinician-workflow-mockups-2b63 (PR #1662)", - "head": "42ccad8ecc2889612e8f25ba79bb26a19e0a8baa", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-08-26", + "ref": "codex/medication-risk-highlights", + "head": "4a6ca72858752cc59e99ba17c8a9f00baa603ac5", + "scope": "PR #2380 CI blocker: medication verdict signal", + "outcome": "fixed and independently reviewed", + "checks": "CI lint failure reproduced; focused ESLint pass; medication interaction DOM 27/27; full lint pass; typecheck pass; independent review clear" }, { - "date": "2026-08-07", - "ref": "cursor/clinician-workflow-mockups-2b63 (PR #1662)", - "head": "ac5c91c7f8cf4c47f87bb85a4d107b018c8c1d73", + "date": "2026-08-15", + "ref": "PR #1977", + "head": "4a94fb625c305159425366a7d9f59de4bd96425b", + "scope": "review-and-fix", + "outcome": "Verified issue-inbox requests; #293 closure is supported by merged PR #1962, #312 correctly remains open after PR #1965; no new defect; merged latest main", + "checks": "check:outstanding-issues; check:branch-review-ledger; check:ledger-write-discipline; diff-check; manual adversarial review (CodeRabbit rate-limited)" + }, + { + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "4af5895f48cca785333272ece41e25bcaccb7441", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", - "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" + "outcome": "Static PR checks failing (check:repo-awareness-snapshot: committed snapshot behind — review_state differs) -> merged origin/main@603da96 (clean, no conflicts) then regenerated snapshot via npm run snapshot:repo-awareness and committed; 0 unresolved review threads found (none to fix/reply/resolve). Local full gate now green. Note: main advanced again mid-sweep to be65b8a1b (PR #2415, same DSM/compare files) producing a real post-push content conflict — left unresolved for the user, not auto-resolved.", + "checks": "npm run verify:cheap equivalent set run piecewise: check:repo-awareness-snapshot (fail -> pass after regenerate), full static-pr check chain (34 gates, all pass), npm run lint (pass), npm run typecheck (pass), npm run test (893 files / 10824 tests passed, 4 skipped — two initially-failing tests (clinical-hazard-controls.test.ts, privacy-readiness-contract.test.ts) were a local shallow-clone ancestry artifact, confirmed pre-existing on plain origin/main and resolved by git fetch --deepen, not a code fix). No provider-backed checks run." }, { - "date": "2026-08-07", - "ref": "cursor/document-citation-landing-7bc3", - "head": "82378a2bb4b875f1b610ef60c0ec3c94ee461f10", - "scope": "document-viewer citation landing", - "outcome": "ship: PDF-first citation landing; excerpt chip; indexed text collapsed until inspect/search; phone overview condensed; rail pin removed", - "checks": "unit 5539 pass; playwright critical citation+mobile PDF-first 2 pass; browser QA desktop/phone pass; typecheck; lint; build ALLOW_BUILD_WITH_DEV_SERVER=1; eval:rag:offline 36 golden; verify:pr-local stages green (first run flaked design-system-adoption timeout, retry green)" + "date": "2026-08-02", + "ref": "codex/mcp-config-hardening-merge", + "head": "4b0d7b712b789e771643f2b7dce85673778a5a7d", + "scope": "MCP Cloud config hardening", + "outcome": "Supersedes prior review; parser bypasses fixed with separate metadata", + "checks": "check:codex-cloud; Cloud config tests" }, { - "date": "2026-08-07", - "ref": "cursor/document-citation-landing-7bc3 (PR #1705)", - "head": "8e62183dea5e07ac5ee4671d8d358937263c5de4", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Merged origin/main (clean, just behind). Fixed the real CI failure (ui-smoke 'document viewer content disclosures...'): jumpToSection set inspectRevealKey when navigating to source-text but never cleared it navigating away, so IndexedTextPanel's React-controlled open prop stayed true and, sharing the native exclusive accordion group, silently closed whatever section was just navigated to. Same root cause independently flagged by Sentry and CodeRabbit review threads on this PR -- fixed once, replied to both, resolved both plus a 3rd (already-fixed) copilot thread. Declined to fix a 4th P3 CodeRabbit nitpick (edit an existing ledger row) since the ledger is append-only; replied with reasoning and resolved.", - "checks": "eslint on DocumentViewer.tsx (clean); local Playwright build blocked by environment-wide missing tailwind-merge dependency (Node 24.13.0 vs jsdom's required >=24.15.0, npm ci blocked by engine-strict) -- relying on CI" + "date": "2026-07-30", + "ref": "codex/review-pr1467", + "head": "4b3200f9e37533541af70299559a159f9e28e196", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1467 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-08-07", - "ref": "cursor/document-cover-thumbnails-b74c (PR #1661)", - "head": "096ba3138fe4dda182d98cc2f9c4e0fe9a09132b", - "scope": "prlanded", - "outcome": "MERGED; squash tip empty vs branch tip 04934971711f2f7d346bbe6e0b9c0c8cd9776e43; first-page PDF cover thumbnails on document search cards", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-08-13", + "ref": "claude/patient-interactions-drug-alerts-3tztvw", + "head": "4b5f9b0da8351c752b8342155c70dd3e52c08a59", + "scope": "lexicon dead-term removal, evidence-bearing review flags, lithium name alias, coverage boundary section", + "outcome": "lithium reachable from 8 previously-silent HIGH rows (NSAIDs/thiazides); z-drugs retired as dead; antipsychotics and acei/arbs verified correct and their speculative flags replaced by a missed-class-member check", + "checks": "verify:pr-local 18/18 green on merged tree (failed: none, not reached: none), 6395 unit tests; check:production-readiness ran (2 FAILs are absent provider secrets in this container)" }, { - "date": "2026-08-07", - "ref": "cursor/fix-lighthouse-chrome-pin (PR #1703)", - "head": "621180854248fcc10982f3fd58762229fee999d0", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability). Merged origin/main directly and pushed. No unresolved review threads.", - "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts)" + "date": "2026-08-08", + "ref": "claude/ds-close-276 (PR #1724)", + "head": "4baa9a1b42fa05731a6f983b3e0d0ebbd37f5271", + "scope": "PR #1724 review-and-fix", + "outcome": "synced origin/main (#1725 conflict on outstanding-issues resolved by preferring main queue then re-applying #276 done + corrected #118 diagnosis); Codex P2 fixed; CodeRabbit #276 archive claim dispositioned false; merge-tree clean after sync", + "checks": "check:outstanding-issues pass; prettier --check docs/outstanding-issues.md pass; merge-tree clean vs origin/main; no provider-backed checks" }, { - "date": "2026-08-07", - "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", - "head": "2563b4adf4f0c0580ca371acfee94f9ae1ca3d0f", - "scope": "prlanded", - "outcome": "MERGED; squash tip empty vs branch tip 4655643770dba7ca4078f1586c0461fd91657bf9; Grok-safe quick wins (tokens, a11y, perf, gates)", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "4bb07845d5bb50e4eda7f78fc39e1e22dacda302", + "scope": "Cleanup+PR-body prep before merge", + "outcome": "Synced main; upgraded stub `check:assets` to themed-favicon marker gate (wired into verify:cheap/CI, no lockfile); removed redundant `/icon.svg` preload; matched non-PDF failure `aria-live` to SignedImage. Residuals previously cleared. NOT LANDED (OPEN).", + "checks": "check:assets/brand:check/gate-manifest/docs:check-scripts PASS; pwa-manifest+signed-image vitest 14/14. No provider checks." }, { - "date": "2026-08-07", - "ref": "cursor/inpage-nav-default-235a", - "head": "c6d72e406c03e205bac86d23e84813c41332c205", - "scope": "docs: default in-page nav DocumentViewer chrome + PhoneHeaderCollapsePortal", - "outcome": "docs-only; verify:pr-local passed (low-risk docs scope)", - "checks": "verify:pr-local --files AGENTS.md,docs/search-chrome-behaviour.md" + "date": "2026-08-26", + "ref": "codex/chat-document-viewer-workspace-document-viewer-workspace-20260826", + "head": "4bb642acd2a8240471a19d15304b7adc70fa5798", + "scope": "document detail viewer reliability, PDF workspace UI, and phone/PWA recovery", + "outcome": "No P0-P2 findings after fixes; ready with documented environment-only gate limitations", + "checks": "focused Vitest 219/219; PDF virtualization 9/9; production Chromium 2/2; typecheck, lint, formatting, design contracts, production build passed; verify:pr-local reached 10418 passes then failed six unrelated Claude cloud shell fixtures plus one isolated flake that passed on rerun" }, { - "date": "2026-08-07", - "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", - "head": "1091b17933beba655dac3e37f0e5c1bc4cdfb679", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", - "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" + "date": "2026-08-18", + "ref": "gemini/ui-favourites-polish-and-ledger-sync", + "head": "4be0f19a719427a1cbe4d588f1ae8898e585b064", + "scope": "merge-conflict-resolution", + "outcome": "merged (#2156, squash 42426f4bd)", + "checks": "npm run test (7345 passed, 2 pre-existing unrelated timeout failures); npm run lint; npm run typecheck; CI PR required aggregate green; auto-merge landed" }, { - "date": "2026-08-07", - "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", - "head": "4e0cca2ccbc19ed676765b029642da0afea6215a", + "date": "2026-07-18", + "ref": "codex/chat-audit-remediation-pr-0a27 / PR #873", + "head": "4bea60e9fc5c181fee33b2af27a4b6e3176eac27", + "scope": "CI auto-resolve risk-routing regression and PR handoff", + "outcome": "Confirmed the broader audit remediation was already merged through PR #814. Fixed the residual rename-routing gap by classifying both current and previous paths and explicitly covering `src/data`, reusable GitHub actions, and the action-pin/Codex guard scripts. Automated PR review then found one P2: an excluded old test path could still trigger high-risk routing when paired with a non-excluded new docs path. Fixed before handoff by deriving non-excluded paths first and using that same set for risk and complexity checks. No P0-P2 remained; no product runtime, clinical behavior, provider configuration, or production data changed.", + "checks": "Full `verify:pr-local` passed on the initial three-file patch: Node/npm runtime, changed-file format, ESLint, TypeScript, 301 Vitest files/2,788 tests, and 36 offline RAG fixtures; build skipped as unaffected. After the review fix, the Codex workflow guard, action-pin guard, Prettier, focused Vitest 54/54, and `git diff --check` passed. Hosted checks on the initial PR head passed; the review fix was also verified by the focused local checks before the final main merge. GitHub interactions were user-authorized; no Supabase/OpenAI/live-service command ran." + }, + { + "date": "2026-07-24", + "ref": "codex/audit-remediation-final (PR #1158)", + "head": "4bfaf2a77a5c8cc0e6c48ee27a72a2faad203dd3", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "outcome": "Before: behind main by 64. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", - "head": "574702a681cbb4d455151da023428d16c22fb460", - "scope": "review-and-fix", - "outcome": "late-synced origin/main after CI green (brought #1678 cn/tailwind-merge; remote merge 574702a6); prior sync cleared DIRTY; Bugbot mid-table finding dispositioned (tip-append before #1679; post-merge order correct); no P0/P1; 0 threads; no code fix; merge left to user", - "checks": "check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean; prior tip required CI green; format unchanged; no provider gates" + "date": "2026-08-22", + "ref": "work", + "head": "4c06617a4bac40dbafb9c07dc7468ea62adb559c", + "scope": "design-system live convergence programme plan and local handoff", + "outcome": "No P0-P2 defect in the plan. Six independently revertible tranches, adversarial gates, Cloud/local boundaries, clinical stop conditions, and an operator handoff packet are specified.", + "checks": "flightplan docsOnly; clinical-proof docsOnly; docs links passed; docs script refs passed; focused Prettier passed; diff check passed" }, { - "date": "2026-08-07", - "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", - "head": "89e25e97d442ebbbc7d33e87edec37ef42090486", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: DIRTY/PR mergeability fail, behind 1, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/docs-sync-automation", + "head": "4c27b50bccaf25ccbd0549ce8eb1e73b95afa345", + "scope": "branch-cleanup", + "outcome": "merged PR #1442 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1442 MERGED at exact final head 14ab262102bba4aa66a9c65e9d718db0394eda6d; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-08-07", - "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", - "head": "dec8f7489b4e5492e924af30dec85859932af3bb", - "scope": "review-and-fix", - "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean); Bugbot mid-table finding dispositioned (row was tip-append before #1679; post-merge order correct; ledger guard passed); no P0/P1; 0 threads; no code fix; merge left to user", - "checks": "check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean vs origin/main; format unchanged; no provider gates" + "date": "2026-07-13", + "ref": "origin/claude/type-scale-mode-home-tokens", + "head": "4c55b94f15a15f7c8b418d8dba776b007fb458a3", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #512; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-07", - "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", - "head": "fddf495b5176f570a5238b5c17326f64f333ecff", - "scope": "review-and-fix", - "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean; main advanced with #1684/#1666); 0 review threads; no P0/P1; no code fix; merge left to user", - "checks": "merge-tree clean vs origin/main; ledger:dedupe none; prior tip required CI green except stale PR mergeability; format unchanged; no provider gates" + "date": "2026-08-14", + "ref": "PR-1951", + "head": "4c55ec05875dcf063555e71021adb9d1f1a42f5c", + "scope": "PR #1951 full review and unblock", + "outcome": "fixed", + "checks": "workflow permission-map parser; GitHub Issue API owner/repo assertions; node scripts/check-docs-links.mjs; node scripts/ledger-inbox.mjs check; node scripts/check-ledger-write-discipline.mjs --self-test; Vitest unavailable: node_modules absent" }, { - "date": "2026-08-07", - "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", - "head": "7dd4ea9b1ce17777f2d0ac6bd95bb916cd69758f", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: DIRTY/PR mergeability fail, behind 2, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-08-15", + "ref": "codex/fix-ecg-animation-on-mobile-devices", + "head": "4c789e7449613bbae0701610414214586fee177a", + "scope": "ECG SVG repaint on Mobile WebKit", + "outcome": "Confirmed the focused WebKit paint-containment correction; no additional P0-P2 findings. Merged the latest required base.", + "checks": "git diff --check; ledger inbox/outstanding-issues/branch-ledger/discipline guards; direct ECG CSS regression assertion; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" }, { - "date": "2026-08-07", - "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", - "head": "f596f641867b4f16f5d512c792a43833ebad0f25", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability, main had advanced past a prior bot pass). Merged origin/main directly and pushed. No unresolved review threads (all PR comments were bot status noise).", - "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts), npm run ledger:dedupe (no duplicates)" + "date": "2026-08-06", + "ref": "cursor/mode-nav-pr-1647-a5eb", + "head": "4c8d70612f3be4a1267ed16b81e926a9f2e1ef50", + "scope": "PR #1647 mode-nav", + "outcome": "no high-confidence defects; medium: record pages lose mode destinations after Subnav removal (section-nav early return); addon-slot guard still coincidence-tested not runtime; includes() activeId fragile for future slugs", + "checks": "read mode-nav/*, page-secondary-navigation, mode-secondary-navigation, specifier/formulation record anchors + tests; catalog slug collision scan (0 hits); test:focused blocked (test paths changed)" }, { - "date": "2026-08-07", - "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", - "head": "f63eba10f5e9b6db047302c34412ea5261cd410b", - "scope": "PR #1676 unblock", - "outcome": "before: PR policy fail (missing Clinical Governance Preflight; privacy* mockup paths trip clinicalRisk), behind-but-clean then main advanced; after: PR body preflight completed (policy green), tip synced to main via merge f63eba10 (duplicate local merge discarded), merge-tree clean, 0 unresolved threads, required CI in progress on synced tip; no code fix needed", - "checks": "local evaluatePullRequestPolicy ok after body; PR policy run 31172248093/31172327100 success; merge-tree clean; no provider-backed checks run" + "date": "2026-08-01", + "ref": "claude/ds-v2-therapy-teardown", + "head": "4c96b90aa3e99f3e3aec81a005a1da6bf7a8792f", + "scope": "PR-T therapy-compass CSS teardown: delete therapy-compass.css, migrate tc-* to design-system control recipes, resolve #205/#016(e); focusRing local after ui-primitives rename", + "outcome": "gates green", + "checks": "check:design-system-contract green; docs-surface (links/scripts/inventory/index) green; test:e2e:critical 15/15; verify:ui 344 passed; verify:pr-local green (build+client-bundle+rag fixtures 36/36); tip includes ledger append" }, { - "date": "2026-08-07", - "ref": "cursor/remove-specifiers-back-arrow-f1c4", - "head": "095791235d58a6309b21b139911a1aad9fe9086b", - "scope": "specifiers-search-results-breadcrumb", - "outcome": "removed lone ← Specifiers crumb from search results; deep pages unchanged", - "checks": "format,typecheck,lint,ensure+phone-spot-check" + "date": "2026-07-25", + "ref": "PR #1209 / `cursor/pr1186-audit-remediation-c94c`", + "head": "4cb22e45dfe46b1975fa15ddd028c7e14ceb5fab", + "scope": "Close #1186 + babysit #1209 CI", + "outcome": "DONE. Closed #1186 as superseded. Synced origin/main (MERGEABLE/CLEAN). Fixed PR-policy RAG impact line. Hosted PR required SUCCESS (Static/Safety/Unit/Build/Production UI/Advisory UI/containers) on pre-ledger tip; docs-only follow-up pushed. Ready to merge; auto-merge not enabled.", + "checks": "gh pr checks; local policy ok; no provider/eval runs." }, { - "date": "2026-08-07", - "ref": "cursor/run-pr-sweep-ledger-d56c (PR #1698)", - "head": "45b2975ca1c99d4f8784e834caa0b37eb859c9ce", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability). Merged origin/main directly and pushed. No unresolved review threads. Docs-only ledger-append PR.", - "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts), npm run ledger:dedupe (no duplicates)" + "date": "2026-07-31", + "ref": "codex/reduce-catalogue-json-bundle-weight", + "head": "4d1f776ae77c26b2b323caad2eb43651f5b823bd", + "scope": "PR #1468 review+bugbot+fix+heavy", + "outcome": "PASS heavy: synced main (DIRTY→clean); no PR-introduced P0/P1/P2; Production UI #146 Services settle flake dispositioned as pre-existing (not cache-caused); required CI expected after sync push", + "checks": "merge-tree clean; verify:cheap 445 files/4659 passed; verify:pr-local + rag fixtures; check:github-actions prior; bugbot+diff review" }, { - "date": "2026-08-07", - "ref": "cursor/settings-features-mockups-97ac (PR #1657)", - "head": "4670a6b7bf50bbfda2c601c05364ee5fb267a6c0", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", - "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" + "date": "2026-07-13", + "ref": "origin/claude/de-fly-staging-doc", + "head": "4d39fe85f1f5d946e39d4b52bcc301b7e523d729", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #516; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-07", - "ref": "cursor/settings-features-mockups-97ac (PR #1657)", - "head": "d64288ce0f2f111b1838ded31a23d0020b38da8b", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-08-25", + "ref": "claude/ward-flow-phase-4-spec", + "head": "4d945ef7395a1e457d5d92ce10ec7f1dda328862", + "scope": "PR #2373 CI failures, merge conflicts, and review-thread fixes", + "outcome": "fixed seven review findings and merge conflicts", + "checks": "focused 120 tests passed before sidebar merge; design contract passed after sidebar merge; final focused rerun admission-deferred" }, { - "date": "2026-08-07", - "ref": "cursor/ship-first-redesign-mockups-2398 (PR #1654)", - "head": "9d9eb0be47073a7f051a5885359b82f2ff978a85", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/coverage-scope-policy", + "head": "4da2a003bc2254507662d1b8b6e9768e94371abd", + "scope": "issue 139 coverage scope policy post-sync", + "outcome": "approved: late main sync preserves deliberate workflow coverage and static-only skill policy", + "checks": "check:ci-scope; check:outstanding-issues; check:branch-review-ledger; diff check" }, { "date": "2026-08-07", - "ref": "cursor/ship-first-redesign-mockups-2398 (PR #1654)", - "head": "d6610b20a6b51bcfda266e1645fe695014c4b627", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", - "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" + "ref": "PR #1686 / cursor/site-testing-speed-08c1", + "head": "4dca89079dbfb5bb676ccc385d7dbafcd8ab90f5", + "scope": "testing-speed: phone-chrome keep-root, pr-local #167, explicit UI shards, viewport trim, playwright revision #255", + "outcome": "implemented; focused + ci-workflow contracts green; Production UI wall-time confirmation pending first CI run", + "checks": "vitest focused+ci-workflows; playwright-pr-shards --validate; check:playwright-browser-revision; check:outstanding-issues" }, { - "date": "2026-08-07", - "ref": "cursor/site-testing-speed-08c1", - "head": "91bac89827ae2f4f0e59aeed7de6344fe8779a95", - "scope": "PR #1686 Autopilot+Bugbot review-and-fix: conflicts, threads, Static PR checks, CI/testing selection", - "outcome": "fixed: merged origin/main (outstanding-issues #167/#255 archive + #256 keep); removed unused pathToFileURL; added ui-forms-section-nav to PR UI shards (21 specs); no unresolved threads; Bugbot unavailable (usage limit). Local: eslint file max-warnings0, vitest 36/36 focused, shard --validate OK, check:outstanding-issues OK. verify:cheap/pr-local blocked by foreign worktree heavy lock (PID 26228).", - "checks": "eslint scripts/playwright-pr-shards.mjs --max-warnings 0; vitest 36 passed; playwright-pr-shards --validate 21; check:outstanding-issues; verify:cheap/pr-local lock-blocked" + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "4de7ec8901b555f11badc8d08c6b57cdf88c386e", + "scope": "CI green closeout after main merge", + "outcome": "MERGE-READY for required checks. Hosted PR required / Build / Unit / Production UI / Static / Safety / PR policy / Semgrep / Gitleaks / GitGuardian PASS. Unresolved review threads: 0. Bugbot requested via `@cursor review`. Unique delta vs main: clinical-search (brand aliases, escalation class, neuroleptic query anchor, clozapine blood tokens), sheet Tab trap, Playwright serviceWorkers block, retrieval-variants WCC, formulation UI flake, supporting tests. Residual: human approving review.", + "checks": "Hosted required checks PASS on `4de7ec89`; no provider-backed app checks." }, { - "date": "2026-08-07", - "ref": "cursor/site-testing-speed-08c1 (PR #1686)", - "head": "71b57ea5ce0c46c16c42c07e66933836ae609b6a", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: DIRTY + Static PR fail (docs inventory stale) + PR required fail, merge-tree CLEAN → after: merged origin/main, docs:update inventory, pushed; CI re-running; 0 threads", - "checks": "docs:check-inventory fail→docs:update; format via Prettier; no provider-backed checks run" + "date": "2026-08-17", + "ref": "claude/form-names-design-rjw40t", + "head": "4dfe2b229269ec55a6ebbfc9493317c2e05670fd", + "scope": "src/components/forms/form-detail-page.tsx", + "outcome": "PR #2041 opened (BigSimmo/Database). User-requested UI relabel of the forms detail page's source-file card: dropped the synthetic 'Form {code}.pdf' heading (a made-up filename) in favour of the form's own title (form.title), moved the form code into a small kicker badge, and turned the 'Password protected'/'Check source' text into a proper tone-pill status badge on both breakpoints. Static MHA-2014 forms reference catalogue only; no form content, availability data, or source URLs changed. classifyPullRequestFiles: not clinicalRisk, not operationalRisk, not RAG-ranking, so no Clinical Governance Preflight or RAG impact line required.", + "checks": "Verification not run: session environment has Node 22 with no node_modules installed (repo requires Node >=24.15.0 <25, engine-strict); npm ci was not attempted (no install/network side effects requested). Reviewed diff by hand: balanced JSX tags/braces across the file (git diff + brace-count check), every Tailwind class/token used (text-3xs, text-2xs, tracking-label, toneWarning, toneNeutral) already defined/used elsewhere in the repo. Grepped tests/** for the changed copy ('Password protected', the .pdf-suffixed heading, formShortTitle) - no test pins it. PR body asks the merger to run npm run verify:pr-local and a quick Chromium/phone check of /forms/* before merge." }, { - "date": "2026-08-07", - "ref": "cursor/site-testing-speed-08c1 (PR #1686)", - "head": "ee58563208055cc5a610852b0f65e42ab5cb8118", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Real merge conflict in docs/outstanding-issues.md resolved content-aware (kept both sides' entries, took main's newer text for one row that referenced a since-resolved issue); lighthouse-budget.json conflict resolved by taking main's regenerated baseline. Merge surfaced 2 real TS typecheck errors from main's stricter tsconfig (NODE_ENV missing in partial env objects; non-const array losing literal type for object indexing) in this PR's own new test files -- fixed both, verified via eslint clean + targeted vitest (25/25 passed). No unresolved review threads.", - "checks": "npm run check:outstanding-issues (passed), eslint on 3 fixed files (clean), vitest on 3 fixed files (25 passed), npm run ledger:dedupe (no duplicates)" + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "4e069df4c8c47b385a4fb1f04753c09319c925fa", + "scope": "CI babysit follow-up + main sync + Bugbot", + "outcome": "GitHub labeled CONFLICTING/DIRTY while `git merge-tree` was clean (11 behind main). Merged `origin/main` with no content conflicts. CI was already green on prior tip; no failing product tests. Bugbot: zero reviewThreads / zero inline findings; product claim-cap fail-closed scan clean. No comments to resolve (issue comments are rate-limit/status only). Residual: human approving review after exact-head CI.", + "checks": "Local merge-tree clean; Bugbot empty threads; awaiting hosted checks on merge tip. No providers." }, { - "date": "2026-08-07", - "ref": "cursor/site-testing-speed-08c1 (PR #1686)", - "head": "ee58563208055cc5a610852b0f65e42ab5cb8118", - "scope": "Run PR sweep: CI fix + threads + drift (supersedes 2026-08-07)", - "outcome": "Correction: prior row wrongly mentioned lighthouse-budget.json, which was not part of this PR's conflict. Real merge conflict in docs/outstanding-issues.md only, resolved content-aware (kept both sides' entries, took main's newer text for one row that referenced a since-resolved issue). Merge surfaced 2 real TS typecheck errors from main's stricter tsconfig (NODE_ENV missing in partial env objects; non-const array losing literal type for object indexing) in this PR's own new test files -- fixed both, verified via eslint clean + targeted vitest (25/25 passed). No unresolved review threads.", - "checks": "npm run check:outstanding-issues (passed), eslint on 3 fixed files (clean), vitest on 3 fixed files (25 passed), npm run ledger:dedupe (no duplicates)" + "date": "2026-07-13", + "ref": "origin/copilot/29199485110", + "head": "4e09b838bda6a774f067b8e13717af2103502857", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/29199485110; git diff --name-only reported 16 path(s)." }, { - "date": "2026-08-07", - "ref": "cursor/tools-search-mockups-72e1 (PR #1653)", - "head": "1df72ba6119226aee92b203db8188f58851a6d3c", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", - "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" + "date": "2026-07-14", + "ref": "copilot/29199485110", + "head": "4e09b838bda6a774f067b8e13717af2103502857", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { "date": "2026-08-07", - "ref": "cursor/tools-search-mockups-72e1 (PR #1653)", - "head": "a7fbc26a917b347d90c6bab1e6c1b2ede6422263", + "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", + "head": "4e0cca2ccbc19ed676765b029642da0afea6215a", "scope": "Run PR sweep: CI fix + threads + drift", "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-08-07", - "ref": "cursor/viewer-phase0-gesture-a11y-1db8 (PR #1660)", - "head": "097dfd245f798f8105eeb6c1cf4fc077f969496f", - "scope": "prlanded", - "outcome": "MERGED; squash tip empty vs branch tip 810cfc9b4a1c476a0dcc995bffb00d7329a85686; Phase 0 gesture INP, preview a11y, image decode", - "checks": "content tree empty vs squash; no provider-backed checks run" + "date": "2026-07-28", + "ref": "PR #1295 / `fix/audit-remediation-from-main`", + "head": "4e10b1c017e40ee00649735dc4a771b720db193b", + "scope": "CodeRabbit workflow hardening + bundle-size RAM flake", + "outcome": "FIXED. bundle-size paths+permissions; nightly-drift secret scoping + main-only live steps; GITHUB_ACTIONS warn-only for guard-next-build RAM check; audit-plan Batch 2/approval-gate text repaired. mode-home max-sm separator already on tip (dispositions CodeRabbit border thread).", + "checks": "check:github-actions PASS; prior verify:cheap PASS; no provider checks." }, { - "date": "2026-08-07", - "ref": "cursor/viewer-phase1-shell-extract-1db8 (PR #1665)", - "head": "bd46a39ac02e604eb45178b5ed38d39f06cc6830", - "scope": "prlanded", - "outcome": "MERGED; remote branch deleted; squash tip on main", - "checks": "prlanded; no provider-backed checks" + "date": "2026-07-30", + "ref": "pr/1465", + "head": "4e34d97bb9eb5122b9d8f8e54c42793c727f5085", + "scope": "issues: record fresh #133 evidence", + "outcome": "approved; duplicate-ID race and Prettier prerequisite accurately recorded", + "checks": "issue/ledger; docs inventory/links; Prettier; diff-check" }, { - "date": "2026-08-07", - "ref": "cursor/viewer-phase2a-frame-controls-1db8 (PR #1687)", - "head": "5c10730be1641a386ee8c8476778933588a822fc", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: up to date with main, Static PR fail (format:changed pdf-canvas-viewer), 1 outdated CodeRabbit thread (ref sync) already fixed on head → after: prettier format fix pushed; thread left open (no review-write API as cursor[bot]); CI re-running", - "checks": "format:changed fail→prettier --write pdf-canvas-viewer.tsx; format:changed PASS locally; no provider-backed checks run" + "date": "2026-08-05", + "ref": "claude/review-open-prs-fewxlh", + "head": "4e384f4cef1a0c3f15bc8ca3d907920b7c097541", + "scope": "Run PR sweep", + "outcome": "merged main; fixed 3 Devin findings (busy heuristic, typecheck excludes, scripts-index)", + "checks": "vitest: tests/guard-push.test.ts 23 passed; self-test passed" }, { - "date": "2026-08-07", - "ref": "cursor/viewer-phase2c-rail-filmstrip-1db8 (PR #1707)", - "head": "af52b592bd22794f5cf96cbca0fb27f2d6bbb3e3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Not behind main, no merge needed (mergeable_state 'blocked' was just the failing required check). Fixed the real Unit coverage CI failure: tests/document-image-filmstrip.dom.test.tsx still asserted the stale aria-current='true' after the component was already fixed to emit 'page' for an earlier a11y review finding -- exactly matched an unresolved CodeRabbit finding, applied its suggested fix. Also fixed an unresolved LOW-severity Sentry finding (image metadata line could start with a leading ' · ' separator when image_type is falsy) by collecting parts into an array and filter+join instead of individually prefixing. All 4 review threads now resolved (2 new fixes + 2 already-fixed-on-branch copilot threads).", - "checks": "eslint on both fixed files (clean); local vitest blocked by environment-wide missing tailwind-merge dependency -- relying on CI" + "date": "2026-08-20", + "ref": "claude/ledger-reconciliation-docs-truth-b0a2e9", + "head": "4e9e31279d16de7fcf1465b31274c47fe4d9c15a", + "scope": "docs/outstanding-issues.md, docs/outstanding-issues-inbox/**, docs/rag-improvement/COORDINATION.md", + "outcome": "PR #2206 opened: reopens #343 (re-filed as #S19JRT) and #318 (reopened as #1YPV51), reconciles 4 pending ledger requests, corrects stale RAG coordination section 7 state. verify:pr-local, check:branch-review-ledger, check:ledger-write-discipline all green.", + "checks": "verify:pr-local,check:branch-review-ledger,check:ledger-write-discipline,format" }, { - "date": "2026-08-07", - "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", - "head": "7f69fb05fb569f2da34d916db7b4f4153dc676c3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Synced behind-but-clean branch via update_pull_request_branch (dependabot bot branch, no drift issues); no unresolved review threads.", - "checks": "git merge-tree (clean), update_pull_request_branch (success)" + "date": "2026-07-30", + "ref": "codex/ledger-rotation-q3", + "head": "4eaf0374fb7c841cd7f2956e9a7f24f1adb01f19", + "scope": "branch-cleanup", + "outcome": "un-checked-out local branch head is ancestor of origin/main; archived in verified batch4 bundle", + "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" }, { - "date": "2026-08-07", - "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", - "head": "a7dde7e6101ed69fb43f004981be9500ba773105", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", - "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/pr-547-fix", + "head": "4f0160b26ff9c9f24817a9972e11d5d77310a3f3", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-07", - "ref": "PR #1686 / cursor/site-testing-speed-08c1", - "head": "4dca89079dbfb5bb676ccc385d7dbafcd8ab90f5", - "scope": "testing-speed: phone-chrome keep-root, pr-local #167, explicit UI shards, viewport trim, playwright revision #255", - "outcome": "implemented; focused + ci-workflow contracts green; Production UI wall-time confirmation pending first CI run", - "checks": "vitest focused+ci-workflows; playwright-pr-shards --validate; check:playwright-browser-revision; check:outstanding-issues" + "date": "2026-07-13", + "ref": "origin/dependabot/npm_and_yarn/eslint-10.7.0", + "head": "4f0160b26ff9c9f24817a9972e11d5d77310a3f3", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-06", - "ref": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", - "head": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", - "scope": "PR #1614 post-merge RAG index restoration audit", - "outcome": "Pass - guard-only migration, no DDL, no ranking/RPC change; pr-policy ragRanking=false so no eval-canary required; 1 P3 doc nit (#248 renumber note says 237->246, row is #248)", - "checks": "check:migration-role; npx vitest run tests/supabase-schema.test.ts (74 passed); check:outstanding-issues" + "date": "2026-07-17", + "ref": "codex/chat-audit-remediation-port-20260717", + "head": "4f41093ba01f88e6d04a53f0782e8676806e3f6f", + "scope": "audit-findings remediation and local merge-readiness review", + "outcome": "No remaining high-confidence P0-P2 defect in the reviewed diff. The review fixed two integration issues before handoff: transactional delete moved `rag_response_cache` cleanup out of the API route but left the explicit route-table guard stale, and upstream added a migration after the intentionally final fail-closed ACL assertion. The guard now matches direct route queries and the unapplied ACL migration is renumbered last. Publication requires explicit approved manifests, delete/reindex is serialized transactionally with upload compensation, PDF extraction is bounded, search ignores staged generations, and unsafe effective default ACLs block.", + "checks": "Rebasing and regenerated drift manifest against local `origin/main` 220de891; disposable Docker schema replay; publication/delete/ACL SQL fixtures; Python 4/4; focused Vitest 237/237 plus post-sync schema/retrieval 66/66; docs guards; offline RAG 290/290; production-readiness CI ready; `verify:cheap` 2602/2602 before final upstream sync; exact-head `verify:pr-local` formatting, lint, typecheck, 2628/2628 tests, production build (1043 pages), client-secret scan, and RAG fixtures; `git diff --check`. No live Supabase/OpenAI/GitHub/hosted-CI/provider checks, deployment, or live migration apply." }, { - "date": "2026-08-06", - "ref": "claude/ds-truth-fixes", - "head": "7a9c41a971aa9111f050cd39d4429ada1b3f4409", - "scope": "PR #1655 heavy review-and-fix", - "outcome": "fixed DownloadLink tone DOM leak + stale ToggleSwitch/Links §9 docs; merge-tree clean; verify:cheap+verify:pr-local green; CI re-queued after push", - "checks": "bugbot+deep-review; vitest ui-primitives+ui-v2 60p; verify:cheap 5448p; verify:pr-local format+lint+typecheck+test+build+rag-fixtures; no provider gates" + "date": "2026-08-01", + "ref": "claude/top-search-design-mockups-w53znc", + "head": "4f4440fd6776742f5de203ee15295f372205321d", + "scope": "search results bar: scope-system deletion, filter shelf, bar anatomy", + "outcome": "Handoff for PR #1555. Deleted the inert command-scope system (voided props, six modes' scope config, three matchers, four no-op call sites, the original shelf) — behaviour-preserving because every matcher early-returned true on a permanently-empty array. Rebuilt the applied-filter shelf prop-driven on live facet data, scoped to documents and therapy-compass. Landed the bar anatomy: tile spinner and funnel states, Filter to the right edge, Sort inboard. Study step 6 (remove the library button) deliberately declined — the nav route clears the query via onSearchModeChange. Ledger #182 closed.", + "checks": "verify:pr-local exit 0 (460 files / 4796 tests, production build, client-bundle secret scan, RAG fixtures 36 cases / 23 suites); ui-tools 87 passed; ui-smoke + ui-accessibility 108 passed 1 failed (pre-existing PDF-canvas test, fails identically stashed, Chromium 1194 vs pinned 1228); mutation-tested the shelf's survives-loading guard" }, { - "date": "2026-08-06", - "ref": "claude/implement-97vpz7", - "head": "00ab7bfd34684bc854d15a3f28987674098a7130", - "scope": "PR #1646 soft-tail answer-cache skip + soft-tail test hardening", - "outcome": "fixed — answer-path soft-tail skip via rag-query-guard helpers; soft-tail fixture pins; duplicate memo test removed; in-corpus assert narrowed; budget 4362", - "checks": "test:rag-query-guard+unsupported-cache+classifier-memo 22/22,check:maintainability-budgets 4362/4362" + "date": "2026-07-30", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "4f498b66a56b2a7eddde6c841a79621f23b59cc7", + "scope": "PR #1398 babysit", + "outcome": "BLOCKER CLEARED: CONFLICTING due to docs/outstanding-issues.md vs main (#115 band-adoption follow-up). Kept main #115 + next-id=116; preserved PR #109 single-branch/refspec update. Prior tip had no GitHub CI suite (only PR Policy/CircleCI) — push retriggered full CI. 0 review threads; 0 Bugbot findings.", + "checks": "verify:cheap PASS (432 files, 4467 passed | 4 skipped); repo-hygiene 38/38; sweep:branch-ledger --no-fetch exit 0; format:changed PASS; Bugbot none; hosted CI re-triggered on tip" }, { - "date": "2026-08-06", - "ref": "claude/implement-97vpz7", - "head": "5ffa042d686a542de3333ebccbd903b6422124a7", - "scope": "src/lib/rag/rag.ts, src/app/api/search/route.ts, tests/rag-unsupported-short-circuit-cache.test.ts (RAG soft-tail unsupported-short-circuit cache fix + corpus_grounding telemetry exposure)", - "outcome": "PR #1646 opened (draft); no retrieval/ranking behaviour change; verified: lint, typecheck, full unit suite (513 files/5413 tests), eval:rag:offline, build, check:bundle-budget", - "checks": "lint,typecheck,test,eval:rag:offline,build,check:bundle-budget" + "date": "2026-07-30", + "ref": "PR-1431", + "head": "4f54d7e73061b737fd07a726b223adc662cc2776", + "scope": "PR #1431 visual baseline seed guidance", + "outcome": "approved after correcting candidate-copy and AWAITING_BASELINE instructions; unique README content consolidated into PR #1490 to avoid ledger churn", + "checks": "docs links passed; Prettier passed; documentation-only diff reviewed" }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "057a5579e538fcacc15feb8a0ac7fa580b3decb4", - "scope": "PR #1649 review-and-fix", - "outcome": "fixed: Bugbot cross-session prune disarm + marker-write fail-open context + deny gh pr comment/review; superseded dead Run PR ledger HEADs; merge-tree clean vs main; threads cleared; CI re-trigger on push", - "checks": "vitest:pr-handoff-stop 11/11; verify:cheap 516 files/5457 tests; verify:pr-local pass (format+lint+typecheck+test+rag-fixtures); bash -n hook OK; security-review: no P0/P1; no provider gates" + "date": "2026-07-30", + "ref": "codex/sync-ci-anti-churn", + "head": "4f99c6d6dbcd4d2c16d5ec58183003c64d989ac8", + "scope": "issue 145 anti-churn guidance", + "outcome": "approved: guidance now covers both pushes and sync mutations without weakening cancellation", + "checks": "check:outstanding-issues; prettier AGENTS; diff check" }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "057a5579e538fcacc15feb8a0ac7fa580b3decb4", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "supersede: prior stacked Run PR rows used unresolvable HEADs (fff524d7/f67e5c91/3403126b); reviewed product tip is this SHA (ledger bookkeeping may sit one commit above); Bugbot prune+context+comment/review fixes landed", - "checks": "vitest:pr-handoff-stop 11/11; verify:cheap pass; verify:pr-local pass" + "date": "2026-07-13", + "ref": "codex/openai-gpt56-rag-upgrade", + "head": "4fa4c35e98d60fc104639089494b271a5f1951fd", + "scope": "OpenAI and RAG review remediation", + "outcome": "Remediated all recorded findings: clinical SSE is final-only across mixed-version deployments; buffered generation cannot silently replace a partial stream; answer caches are generation/retrieval fingerprinted; GPT-5.6 model, prompt-cache, workload routing, parsed-output, usage, safety-identifier, and error handling are capability-aware; and table-fact UUIDs fail with the shared 400 contract. Added rollout and governance documentation. Independent final review found no remaining high-confidence issue after the mixed-version client guard was added.", + "checks": "Replaced the external `node_modules` junction with a clean `npm ci`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (211 files passed, 1 skipped; 1,941 tests passed, 1 skipped); focused cache/stream tests, offline RAG preflight, production-readiness CI, changed-file Prettier/ESLint, and `git diff --check` passed before the current `origin/main` integration. Provider and post-merge checks are recorded separately when complete." }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "3403126bc6cd86145d6921a3fe4d081181e8a113", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in 3403126bc6cd86145d6921a3fe4d081181e8a113, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", - "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" + "date": "2026-08-11", + "ref": "1822", + "head": "4fab267f52b72992745e1d2e6975fb4847af447a", + "scope": "review-and-fix", + "outcome": "clean", + "checks": "Build pass; Static PR checks pass; Change scope pass; PR mergeability pass; PR policy pass; Safety and config checks pass; Semgrep pass; Semgrep ingestion gate pass; Gitleaks pass; GitGuardian pass; Unit coverage pending; Production UI (1) pass; Production UI (2) pass; Production UI critical pending; Production UI (3) pending; Lighthouse budget pass; PR required pending" }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "36c1bccd89f976bcae3dabf8f5787198db5df078", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in 36c1bccd89f976bcae3dabf8f5787198db5df078, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", - "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" + "date": "2026-08-11", + "ref": "1822", + "head": "4fab267f52b72992745e1d2e6975fb4847af447a", + "scope": "review-and-fix (supersedes 2026-08-11)", + "outcome": "clean", + "checks": "Build pass; Static PR checks pass; Change scope pass; PR mergeability pass; PR policy pass; Safety and config checks pass; Semgrep pass; Semgrep ingestion gate pass; Gitleaks pass; GitGuardian pass; Unit coverage pass; Production UI (1) pass; Production UI (2) pass; Production UI (3) pass; Production UI critical pass; Lighthouse budget pass; PR required pass" }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "f67e5c9103c3e1483ad8e034fe7a6757c2362d74", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in f67e5c9103c3e1483ad8e034fe7a6757c2362d74, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", - "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/sync-ci-anti-churn", + "head": "4fdc4ba99f94a369702c747b104fa4eaf48cb53e", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1492 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-08-06", - "ref": "claude/pr-handoff-stop-hook (PR #1649)", - "head": "fff524d73ebfafeef7bdc50752a6d14f253ebc2e", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in fff524d73ebfafeef7bdc50752a6d14f253ebc2e, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", - "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" + "date": "2026-07-30", + "ref": "PR-1492", + "head": "4fdc4ba99f94a369702c747b104fa4eaf48cb53e", + "scope": "PR #1492 exact-head branch-sync anti-churn review", + "outcome": "approved after P2 repair; current helper fails closed on Actions lookup errors and defers only behind branches with queued or running exact-head CI; operator guidance and tests match", + "checks": "focused Vitest 9 tests passed on reviewed implementation; hosted static checks passed; exact-head coverage in progress at review; merge-tree audit clean" }, { - "date": "2026-08-06", - "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", - "head": "c31827e63c20788c5dabb22b96ddbf239c65f893", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: mergeable/BLOCKED, 0 unresolved threads, 0 behind main; prior CI reds were infra (npm ECONNRESET; cancelled Set up job). after: product fix d4ecd2b5 (ResizeObserver pin-clamp distance reset) + ledger row; all review threads resolved; merge tree clean; hosted CI pending on GitHub Actions major_outage (no product failure)", - "checks": "local typecheck PASS; local lint (settings-dialog) PASS; no provider-backed checks run; hosted CI awaiting Actions recovery" + "date": "2026-07-26", + "ref": "PR #1244 / `implement-motion-audit-fixes`", + "head": "4fec4f8830bac3b0e95a2b5255aba9fbc72e6e7e", + "scope": "Open-PR hygiene: close contaminated Antigravity motion tip", + "outcome": "CLOSED. `faa50e6e3` ancestor; 497 behind/1 ahead; tip strips conflict markers from answer/upload while deleting private-access governed-summary test + outstanding-issues rows; merge-tree conflicts include answer/upload/evidence-panels. Motion-only re-derive on fresh main if still wanted.", + "checks": "Marker/ancestry/grep; merge-tree conflict list; tip `git show` on API/tests. No provider calls." }, { - "date": "2026-08-06", - "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", - "head": "d4ecd2b5fc48a8d8f37f081cac2d80beb749df01", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: mergeable/BLOCKED, 0 unresolved threads, 0 behind main; prior CI reds were infra (npm ECONNRESET on Unit coverage; e7f380f3 cancelled at Set up job). after: pushed d4ecd2b5 ResizeObserver pin-clamp distance reset; all review threads remain resolved; CI re-triggered but GitHub Actions major_outage — runs pending/queued, no product failure to fix; merge tree clean", - "checks": "local typecheck PASS; local lint (settings-dialog) PASS; format unchanged; no provider-backed checks run; hosted CI awaiting Actions recovery (run 31120931239)" + "date": "2026-08-07", + "ref": "claude/handover-review-nlhuln", + "head": "4ff613c10fbf734b1e740a31611296c17c791ec7", + "scope": "mode nav remaining modes: vestigial strip removal (PR #1679)", + "outcome": "Removed the single-button action strip from answer/documents/services/forms/favourites/prescribing/tools; deleted the registry index-0 fallback (TS2493-forced) and the dead documents clause; stripped modeItems/onSearch/modeAriaLabel/stickyTop from PageSecondaryNavigation, keeping the empty-registry return below the information-section branch; kept the action kind with a no-live-consumer note. Completes the 13-mode navigation rollout.", + "checks": "lint exit 0; typecheck clean; focused 5 files 97 tests; test 518/519 files (pr-handoff-stop re-confirmed pre-existing on this base via stashed re-run); ui-mode-nav-density + ui-accessibility 71 passed (landmark scan green); branch-order guard mutation-checked (hoisting it fails 2 tests); format committed; verify:pr-local blocked at check:installed-lock-parity (playwright 1.62.0 vs 1.62.1)" }, { - "date": "2026-08-06", - "ref": "codex/docker-delivery-hardening", - "head": "9f9e34ccffe3fe7c4bf5798b4d9697181a77180d", - "scope": "Docker pipeline hardening, worker graceful shutdown, Python lockfile, CI SBOMs", - "outcome": "REVIEWED, findings fixed", - "checks": "format, docs:update, unit (test lock active)" + "date": "2026-07-24", + "ref": "PR #1135 / `cursor/sitewide-design-ux-review-6176`", + "head": "4ff92ea76f1b4d7962adc47ce88bcb153989c9ba + post-comment docs", + "scope": "babysit: main merge, CI, CodeRabbit thread disposition", + "outcome": "MERGE-READY after prior conflict resolution with `origin/main`. Product UX honesty fixes retained with main answer-relevance trust gating. CodeRabbit MD028 + ledger token fixed; native-`disabled` request declined as it conflicts with the focusable coming-soon placeholder contract. Auto-merge enabled.", + "checks": "Hosted required checks green on that tip. Focused Vitest mobile-interaction + visual-evidence tabs green. No provider-backed gates." }, { - "date": "2026-08-06", - "ref": "codex/docker-delivery-hardening", - "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", - "scope": "branch", - "outcome": "clean", - "checks": "diff review" + "date": "2026-07-13", + "ref": "claude/rag-optimization-phase-2-748178", + "head": "501b949e33ea1ac35abef7644a3cdc0aeb18cefd", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #526; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-06", - "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", - "head": "49f82b831342e4666f76e307d5c61cba8db2a029", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: Sentry+Devin threads (double-zoom, issues:done, TOKENS px) + stale queue renumber after deletes; after: fixed+pushed; 5 threads resolved; CI queued awaiting runners; merge-tree clean; no provider-backed checks", - "checks": "vitest gestures+hide-on-scroll 35 passed; outstanding-issues gate+writer self-test (incl. multi-queue prune) passed; no provider-backed checks run" + "date": "2026-07-13", + "ref": "origin/claude/rag-optimization-phase-2-748178", + "head": "501b949e33ea1ac35abef7644a3cdc0aeb18cefd", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #526; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-06", - "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", - "head": "5d625d3e64752df0655c071b061642cfbbe4ea5f", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: Sentry+Devin threads (double-zoom, issues:done, TOKENS px) + stale queue renumber; after: fixed in 38b7f8e4+5d625d3e; 5 threads resolved; CI queued on runners; merge-tree clean", - "checks": "vitest gestures+hide-on-scroll 35 passed; outstanding-issues gate+writer self-test passed; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/fix-registry-indexing-health", + "head": "5046c72731d476ca3a025be8e14ece1f837c5456", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-06", - "ref": "cursor/mode-nav-pr-1647-a5eb", - "head": "4c8d70612f3be4a1267ed16b81e926a9f2e1ef50", - "scope": "PR #1647 mode-nav", - "outcome": "no high-confidence defects; medium: record pages lose mode destinations after Subnav removal (section-nav early return); addon-slot guard still coincidence-tested not runtime; includes() activeId fragile for future slugs", - "checks": "read mode-nav/*, page-secondary-navigation, mode-secondary-navigation, specifier/formulation record anchors + tests; catalog slug collision scan (0 hits); test:focused blocked (test paths changed)" + "date": "2026-07-13", + "ref": "origin/codex/fix-registry-indexing-health", + "head": "5046c72731d476ca3a025be8e14ece1f837c5456", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-06", - "ref": "PR #1614 / codex/restore-rag-indexes-20260804", - "head": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", - "scope": "PR #1614 post-merge RAG index restoration audit", - "outcome": "Pass - guard-only migration, no DDL, no ranking/RPC change; pr-policy ragRanking=false so no eval-canary required; 1 P3 doc nit (#248 renumber note says 237->246, row is #248); supersedes 2026-08-06 row (ref column mistakenly held commit SHA instead of PR ref, breaking ledger:lookup per Devin/Sentry review on PR #1636)", - "checks": "check:migration-role; npx vitest run tests/supabase-schema.test.ts (74 passed); check:outstanding-issues" + "date": "2026-07-13", + "ref": "claude/medspacy-assertion-eval", + "head": "5098fe32e7c091c09fb1d36b5d0a0f767fc009cd", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-08-06", - "ref": "temp-rebase", - "head": "868a8a2800351ce85a2ad13e14d80550cbc3e668", - "scope": "Merge conflict resolution and CI fixes", - "outcome": "Verified and ready for PR", - "checks": "verify:pr-local" + "date": "2026-07-14", + "ref": "copilot/fix-database-actions", + "head": "50cf0744df83708405d0bd215e22f19dc1f27815", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-05", - "ref": "claude/design-system-1616-colors-aw538h", - "head": "98b65ae9f222e621da8b5bca75d0b0f25d05ca09", - "scope": "prlanded", - "outcome": "merged, squash 98b65ae verified content-identical to branch tip e66ecaa (empty diff)", - "checks": "vitest ckb-v2-token-contract (26 passed), vitest pwa-manifest (11 passed), live Playwright render check, CI green (pr-required)" + "date": "2026-07-30", + "ref": "codex/docs-sync-automation-pr", + "head": "50e20faa4e83236a9dda1a5480090457fec9853a", + "scope": "documentation synchronization automation review", + "outcome": "APPROVE after deletion-path and current-main gate-count fixes; no remaining P0-P2 findings", + "checks": "patch-id matches reviewed implementation; sitemap/inventory/index/script/link checks; gate-manifest; ledger guard; node/sh syntax; Prettier; diff check; focused Vitest admission blocked after 3 attempts" }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "0fbb5686ace5368f6a21b07089db886e639c095a", - "scope": "PR #1621 babysit standalone-shell review fixes", - "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", - "checks": "ledger:append correction; merge-tree clean vs main" + "date": "2026-07-13", + "ref": "claude/mode-home-composer-hero-fix", + "head": "50fa59812a84081bc9b2c8cbac79aa3b089c7031", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #470; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "a3967f8f0ee05b9a3ab922cd4a9feeebdf7efbbc", - "scope": "PR #1621 babysit standalone-shell review fixes", - "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", - "checks": "ledger:append correction; merge-tree clean vs main" + "date": "2026-07-13", + "ref": "origin/codex/result-sorting-design-polish", + "head": "51028464fe8ac671923ee739e81649ee1d9e1ab3", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #560; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "dba8c9f72fdb84495736b7c8a5c723f4153b3612", - "scope": "PR #1621 babysit standalone-shell review fixes", - "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", - "checks": "ledger:append correction; merge-tree clean vs main" + "date": "2026-07-13", + "ref": "origin/claude/fix-scroll-row-mask-mobile", + "head": "51198244b8990a1e43b8952fc0a0dad9a4495d87", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #498; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "dba8c9f72fdb84495736b7c8a5c723f4153b3612", - "scope": "Run PR sweep", - "outcome": "merged main (stale DIRTY); superseded unresolvable ledger HEAD per Devin; no product threads open", - "checks": "merge-tree clean" + "date": "2026-07-29", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "5145dc990af47fba8b4c68f2b4537f21406535b6", + "scope": "PR #1383 babysit", + "outcome": "Hosted CI green on prior tip bebc6c02 (PR required / Unit coverage / Static / Safety / Migration replay / CircleCI all PASS). Synced one more clean main commit (ledger-only). MERGEABLE; 0 unresolved threads; 0 Bugbot findings; no code defects.", + "checks": "hosted: PR required PASS, Unit coverage PASS 4m41s, Static PR PASS, Safety PASS, Migration replay PASS, CircleCI verify PASS; local prior: verify:cheap + test:coverage PASS; Bugbot none" }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "ef92d628683cc6a47c07b1a901b73f22d9474149", - "scope": "PR #1621 babysit standalone-shell review fixes", - "outcome": "fixed: shared searchPageShellStandalone + min-h-tap + contract; main synced; CI green CLEAN; Bugbot clean; no open threads; ledger closeout tip", - "checks": "test:5331-pass; build:pass; lint:pass; typecheck:pass; rag-fixtures:pass; CI#31025767142:pr-required-success; bugbot:no-bugs" + "date": "2026-07-30", + "ref": "PR #1462", + "head": "5146ae94e226a6e55968d80ecefa53c7cd5df9c3", + "scope": "bounded inactive-work cleanup documentation", + "outcome": "APPROVE after fix: both cleanup batches remain deferred behind the primary-checkout lease, and the resume instruction now names the executable repository command.", + "checks": "outstanding-issues guard; ledger guard; diff review; one review finding fixed" }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "efc29559ede819daeec99d46e9147fe08a73bdb0", - "scope": "PR #1621 babysit standalone-shell review fixes", - "outcome": "fixed: shared searchPageShellStandalone + min-h-tap + contract; main synced; CI green CLEAN; Bugbot clean; no open threads", - "checks": "test:5331-pass; build:pass; lint:pass; typecheck:pass; rag-fixtures:pass; CI#31025767142:pr-required-success; bugbot:no-bugs" + "date": "2026-08-12", + "ref": "work", + "head": "517fd00c794cc969b073ed92089efb1ae2fa2203", + "scope": "DSM search results filters and layout", + "outcome": "Improved mobile category filtering and result spacing; no remaining scoped defects", + "checks": "typecheck; focused DSM DOM; focused Chromium DSM journeys" }, { - "date": "2026-08-05", - "ref": "claude/privacy-notch-safe-area", - "head": "fe352adb18d3260f0646f64ef992376e1449b0de", - "scope": "Run PR sweep", - "outcome": "merged main (stale DIRTY); superseded unresolvable ledger HEAD per Devin; no product threads open", - "checks": "merge-tree clean" + "date": "2026-08-18", + "ref": "claude/db-remediation-phase-2-a0c20b", + "head": "523f8a55b36f7ef1a7b2d149d3030cb768f95dc6", + "scope": "Phase 2 staging parity replay (#056): 28-migration chain replayed onto Clinical KB Staging via authorized MCP connector with md5 byte-verification; scripts/check-drift.ts staging-key fix; check:drift run against staging (red, 19 findings); forensics Phase 2 section; two #056 inbox requests (one cancel, one update)", + "outcome": "Self-review passed. Replay proven: 194/194 parity, zero statements IS NULL, all 28 rows md5-identical to repo files, staging corpus untouched (0 documents). Drift check red with 19 findings, correctly interpreted as chain-vs-schema.sql divergence rather than staging staleness; nothing patched. No migration, schema.sql or drift-manifest changed. Production never a mutation target. Known scope limit: measured at base ed43a64f2; origin/main has since advanced to 195 migrations including a schema_drift_snapshot history probe, so a re-measure is owed and is stated in the PR body.", + "checks": "verify:pr-local (green through lint+typecheck); npm run test 2 pre-existing unrelated failures with disjoint run-to-run sets; check:outstanding-issues, check:ledger-write-discipline, docs:check-links green on tip; check:drift exit 1 by design (the finding)" }, { - "date": "2026-08-05", - "ref": "claude/review-open-prs-fewxlh", - "head": "4e384f4cef1a0c3f15bc8ca3d907920b7c097541", - "scope": "Run PR sweep", - "outcome": "merged main; fixed 3 Devin findings (busy heuristic, typecheck excludes, scripts-index)", - "checks": "vitest: tests/guard-push.test.ts 23 passed; self-test passed" + "date": "2026-08-17", + "ref": "claude/regrade-322-warfarin", + "head": "5259f388992a1ed5f9d3ab757ccf40b21705326d", + "scope": "docs/outstanding-issues-inbox — #322 re-grade to P1 on traced evidence", + "outcome": "Traced data/medication-interaction-index.json and src/lib/medication-interactions.ts. The row's 'ZERO in common' claim is wrong - rows 0 and 2 are shared. Real defect is complementary incompleteness: warfarin-vka holds the CRITICAL CYP2C9 inducers row (carbamazepine, St John's Wort) and warfarin-anticoagulant holds the HIGH NSAID/Aspirin/SSRI row (12 counterparties, 6 SSRIs); neither holds the other's. Resolution is per-slug via INDEX.bySlug with no union (medication-interactions.ts:207,241), so which record is opened determines the warnings shown, and both display as Warfarin. Re-graded P2 to P1. Structural finding only; clinical correctness and the merge/delete/relabel decision left to the clinician.", + "checks": "verify:pr-local (11 completed, 0 failed)" }, { - "date": "2026-08-05", - "ref": "claude/top-search-design-mockups-fbbfuf", - "head": "7eb723b097afadae010b57d66f4a4313b6d952a7", - "scope": "results-bar redesign: shared band anatomy, applied-filter shelf, documents filter sheet, filtered-to-zero empty state", - "outcome": "Implemented + self-reviewed; all twelve review findings resolved. Deviations from the mockup taken deliberately: fault state keeps three non-chromatic channels (mockup used colour alone, contradicting a recorded decision); 48px tap floor not the mockup's 44px (min-h-11 flake); one-line layout opt-in per mode because six pass a w-full select. Two pinned tests re-pointed, never deleted.", - "checks": "vitest 488 files/5107 passed; verify:ui run 1 348 passed 1 failed (ui-smoke Library pin) -> fixed 7eb723b, focused re-run 1 passed; browser sweep 320/390/430/768/1024/1440 light+dark+forced-colors, no h-overflow; lock parity restored first (playwright 1.62.1, node 24.19.0)" + "date": "2026-07-24", + "ref": "`codex/universal-ledger-main-final`", + "head": "527988c2ccabc98b4d0673d33360c971df65fa0e + reviewed working diff", + "scope": "Current-main universal-ledger reconciliation after PR #1106 superseded PR #1109", + "outcome": "READY. Kept PR #1106's current-main ledger and IDs, carried forward only non-duplicate recommended work from the superseded branch, and fixed the confirmed SessionStart empty-open defect. Every active recommendation now has a durable open ID; exposed-GitHub-token containment is the first A1 item; the Safety Plan privacy contract, absent-relevance fail-closed rule, stranded-upload recovery, threshold-conflict design, catalogue-toolbar convergence, and Current Clinical Work brief are retained without duplicating #1106's legal/config/release/staging/seed packages. Resolved #014/#034 claims stay archived, and PR #1110's scheduled-diagnostics priority remains intact. Highest residual risk is manual queue/open-table drift.", + "checks": "Empty-open fixture and real-ledger Bash execution passed; 33 contiguous recommendations reference tracked open IDs; 43 open items; no duplicate queued IDs; `docs:check-links`, `docs:check-index`, `docs:check-scripts`, `check:skills`, Prettier, and `git diff --check` passed. No OpenAI, Supabase, Railway, production, deployment, live-app, or credential action." }, { - "date": "2026-08-05", - "ref": "codex/editable-search-pins", - "head": "18c3069c7ad19b7e92e3ec9e0b65b5d845afe9c1", - "scope": "editable search pins menu production integration and mockups", - "outcome": "no findings; ready for draft review", - "checks": "verify:pr-local; focused pin tests; typecheck; responsive browser QA; phone-chrome contracts and journey" + "date": "2026-08-17", + "ref": "claude/ledger-reconcile-issues-c1trbj", + "head": "527fd43796dfbaf76905671452aaa27f994b6871", + "scope": "issues:reconcile after #2023/#2024", + "outcome": "22 requests applied (8 requested: #212 correction, #J912J9 governance question P1, #DP6M3G R1 P1, #6BG9X2 R2+R3 P2, #BTVMVK Sentry search error P2, #ND10QT source_metadata pin P3, #TYJ0XP canary protocol note P3, #0MSNT8 G1 P3; plus 14 other queued requests: #056, #098, #265, #314, #316, #318, #322, #237, #330, #331, #192, #162, #238, #324)", + "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass" }, { - "date": "2026-08-05", - "ref": "codex/editable-search-pins", - "head": "193afe637481c0ed2fa82dbe9bb1f1d1c8bcc4d8", - "scope": "editable search pins menu review follow-up", - "outcome": "fixed remaining review defects; unresolved threads cleared; auto-merge armed", - "checks": "vitest:search-pins 18/18; tsc clean on touched surfaces; review threads 0 unresolved" + "date": "2026-07-13", + "ref": "main", + "head": "528a1752f41cd29a518ca9341c93c724030173ae", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained and synchronized with origin/main.", + "checks": "Local main was unattached, its old tip was an ancestor, and the ref was fast-forwarded to origin/main." }, { - "date": "2026-08-05", - "ref": "codex/editable-search-pins", - "head": "67f2c71e8376fbc44615f765a73cb6a37c4ddb40", - "scope": "editable search pins menu review follow-up", - "outcome": "merged main; review threads cleared; auto-merge armed", - "checks": "vitest search-pins+mode-action+command-surface: Test Files 4 passed (4); Tests 33 passed (33); eslint max-warnings 0 on touched surfaces" + "date": "2026-07-13", + "ref": "origin/main", + "head": "528a1752f41cd29a518ca9341c93c724030173ae", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained.", + "checks": "Final refreshed origin/main snapshot before the ledger PR." }, { - "date": "2026-08-05", - "ref": "codex/editable-search-pins", - "head": "a0e2801fb291a672274c9a723108637d3cdb43f9", - "scope": "editable search pins menu review follow-up", - "outcome": "fixed remaining review defects; lint setState-in-effect; unresolved threads cleared; auto-merge armed", - "checks": "vitest:search-pins 18/18; eslint touched surfaces; review threads 0 unresolved" + "date": "2026-08-18", + "ref": "claude/db-remediation-board-refresh-2026-08-18b", + "head": "52a2cdfe9c4968e805080906e868f219a1c37b77", + "scope": "docs/database-remediation-coordination.md board refresh after #2093/#2098 (#316)", + "outcome": "coordinator self-review: docs-only, verified against main 2c311c7ed", + "checks": "prettier --check pass; docs:check-links 1881 refs resolve" }, { - "date": "2026-08-05", - "ref": "codex/v2-design-system-completion", - "head": "1ea30c19c48b3791519659abf85b20c9e8c7faab", - "scope": "PR #1616 review feedback disposition", - "outcome": "COMPLETED: fixed mode-home empty composer reserve + chip category v2 tokens; dispositioned remaining Devin analysis findings to outstanding-issues; unresolved threads 0", - "checks": "vitest search-route-ownership 12/12; ckb-v2-token-contract+related green; CI in progress on tip" + "date": "2026-08-09", + "ref": "cursor/therapy-card-densify-e975", + "head": "52f07d49f89e6c786c624ccbd38ae552818a2071", + "scope": "PR 1783 babysit", + "outcome": "fixed review threads: TagRow +N clip, title/alias preview exclusion, preview field fallbacks; Copilot md grid kept; CI re-triggered after Copilot tip", + "checks": "npm test: 5958 passed / 4 skipped" }, { - "date": "2026-08-05", - "ref": "codex/v2-design-system-completion", - "head": "2f9471efaf6596dbb10876f9dc2b865062cdda98", - "scope": "V2 design-system completion exact-head review", - "outcome": "Approved locally; hosted Linux baselines and remote publication remain approval-gated", - "checks": "typecheck pass; lint pass; adoption tests 49 pass; table tests 8 pass; verify:pr-local pass; verify:phone-chrome 116+182+7+349 pass; adoption check expected 14 declaration mismatches" + "date": "2026-08-08", + "ref": "claude/ds-doc-corrections", + "head": "534405600dca67317b4d60266cda03ec95f028e7", + "scope": "M1 stranded doc corrections (docs/outstanding-issues.md #262/#266, docs/design-system/COMPONENTS.md TextField row + section 4)", + "outcome": "authored and handed off as PR #1719; every inherited figure re-measured against origin/main rather than copied forward, and the stranded version's 'eight shadow tokens, focus 2' claim was found wrong — LEGACY_SHADOW_ALIAS matches seven tokens and has never included focus", + "checks": "check:outstanding-issues pass (274 rows, unique ids, no ids deleted from base); prettier --check . pass whole-tree; legacyShadowAliases re-measured 228 via the contract's own analyzers; docs-only diff so no unit/lint/typecheck/browser gate applies" }, { - "date": "2026-08-05", - "ref": "codex/v2-design-system-completion", - "head": "8863cea53bf4df59e8795dcaab1fa420b5109516", - "scope": "PR #1616 v2 design system CI+reviews", - "outcome": "fixed typecheck + review defects; baselines remain not-committed by design", - "checks": "tsc; vitest ui-v2/accessible-table/ui-primitives/design-system-adoption" + "date": "2026-07-22", + "ref": "PR #1086 / `codex/reconcile-xlsx-budgets`", + "head": "5376880a40749b6526fd7e4603a7be9d04bc9624 (merged as 2963fba46eacd644618a588fa283f7597faa2644)", + "scope": "XLSX resource-boundary review", + "outcome": "MERGED. Enforces worksheet, non-empty-row, rendered-cell and UTF-8 output ceilings before result fragments are appended; sparse-column output is preserved. No actionable review threads.", + "checks": "Red 257-sheet reproducer; focused 4/4; `verify:cheap` 3,218 passed / 1 skipped; PR-local build/scan/offline RAG; hosted required/security/policy green." + }, + { + "date": "2026-07-24", + "ref": "PR #1176 / `cursor/pdf-crop-malformed-repro-9b3e`", + "head": "5391bf185cd5dffd00a31eb1d282ccfc93277a73", + "scope": "#076 page-edge table crop geometry fix + fixture regression", + "outcome": "APPROVE. No P0-P1. Fix is narrowly scoped to post-find_tables candidate extension from contiguous cell drawings; title/footer inflation avoided by ignoring text during geometry growth; incompleteness warning retained when content continues past the page. Highest residual risk: text-grid tables without cell drawings still will not edge-extend; left/right/top paths are symmetric but fixture-proven only for bottom. Broad PR #1129 retention/padding/storage changes remain out of scope.", + "checks": "Python page-edge + budget 6/6; Vitest pdf-extractor 3 passed / 1 skipped; offline only." }, { - "date": "2026-08-05", - "ref": "codex/v2-design-system-completion", - "head": "8b49bfa2b66ed78577b08e1a50414db55898f2df", - "scope": "PR #1616 v2 design system CI+reviews", - "outcome": "fixed typecheck + review defects; baselines remain not-committed by design", - "checks": "tsc; vitest ui-v2/accessible-table/ui-primitives/design-system-adoption" + "date": "2026-08-14", + "ref": "claude/fetch-stream-catch-cleanup", + "head": "53ed54137fde3cb5ee7f8e177d85ba0f177593c6", + "scope": "empty catch disposition (src/lib/theme.ts, src/app/layout.tsx) + new tests/empty-catch-disposition.test.ts contract guard + issues:done request for #213", + "outcome": "Approved — 3 bare catches dispositioned with inline comments; no behaviour change. Finding: all 3 were inline-script storage/cookie reads, not fetch/stream swallowing as #213 described; the genuine fetch/stream catches were already dispositioned. New raw-source-text contract test guards the population (0 bare, 21 total).", + "checks": "verify:pr-local (all gates pass except pre-existing check:medication-lexicon-report, inputs byte-identical to origin/main); npm run test 602 files / 6511 passed / 4 skipped; new contract test 2 passed" }, { - "date": "2026-08-05", - "ref": "codex/v2-design-system-completion", - "head": "f12da8239817ae2d6bf99b51d57cb42ad835b6f7", - "scope": "V2 design-system post-main-sync PR handoff", - "outcome": "Approved locally after main sync; hosted Linux evidence remains pending", - "checks": "format pass; diff check pass; protected RAG paths 0; verify pr-local reached full suite with one unchanged timeout; focused timeout rerun 1 pass; prior full UI 349 pass" + "date": "2026-07-13", + "ref": "origin/railway/code-change-MTk6ya", + "head": "540b07816b4f0f804e4270566fb3b757b852cf06", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #462; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-05", - "ref": "codex/v2-text-soft-contrast", - "head": "6bdda4cee6d702b6bcb7a92899b123595dc42457", - "scope": "V2 text-role contrast migration", - "outcome": "approved locally; no P0-P2 findings", - "checks": "Vitest 85 passed; direct checker 658 files; consumers 0" + "date": "2026-08-08", + "ref": "cursor/factsheets-compact-mockups-ad4c (PR #1728)", + "head": "541f68bd1bcd29daa05805d8fce22034b21d5076", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "BEHIND + 2 Codex P2 threads → synced main; full comfortable list + ComfortableCards density; threads unreplied (API 403)", + "checks": "vitest factsheets-compact-view-mockups.dom 3 passed; tsc; no provider-backed checks" }, { - "date": "2026-08-05", - "ref": "cursor/context7-refresh-22b5", - "head": "9479401744191292002f689a07a2cb5308cedc97", - "scope": "Run PR sweep", - "outcome": "no unresolved threads; merged origin/main", - "checks": "merge-tree clean" + "date": "2026-08-15", + "ref": "1976", + "head": "54327591bb89f6f9f25f6834fbefc277a9bff80b", + "scope": "review-and-fix", + "outcome": "P2 fixed: native install prompt now avoids hero reflow, composer overlap, and prompt-induced CLS", + "checks": "pwa DOM 10/10; PWA Chromium 5/5; format; exact-head merge-tree" }, { - "date": "2026-08-05", - "ref": "cursor/ledger-fastest-wins-capture-1479", - "head": "b03b51d7b22671f2734115b5fef469bd2e932ae3", - "scope": "prlanded PR #1624", - "outcome": "MERGED squash b03b51d7; 118/118 open↔queue, A1 #226 at order 5, #249–#251; orphaned #250 acuity clarify → fix-forward", - "checks": "check:outstanding-issues PASS on merge head; Bugbot clean after clarify" + "date": "2026-07-26", + "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", + "head": "547d3a100c73333895554cf66eb0efd8d8dde8da", + "scope": "Late unresolved review-thread verification and fix", + "outcome": "APPROVE pending final hosted required CI. Confirmed the open P2 despite a bot summary claiming it was fixed: opaque phone `.edge-glass-header` / `.universal-header` still inherited `backdrop-blur-xl`. Added standard and WebKit `backdrop-filter: none` overrides and static/computed-style guards.", + "checks": "Prettier, ESLint and `git diff --check` pass; focused local Vitest/browser reruns blocked by consecutive legitimate shared-lock owners, so hosted Static/Unit/Production UI remain the merge gate." }, { - "date": "2026-08-05", - "ref": "cursor/phone-mode-sheet-yes-05c0", - "head": "9152e239076ff823ad3bf812d282ffc87c3295b7", - "scope": "Run PR sweep", - "outcome": "threads already resolved; merged origin/main; CI was green pre-sync", - "checks": "CI: PR required SUCCESS pre-sync; merge-tree clean" + "date": "2026-07-24", + "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", + "head": "54ab9f8498751ef7e96815dd2496b8137f29dad7", + "scope": "Review + follow-up hardening of #030/#075 search-correctness fixes", + "outcome": "Findings fixed: (P2) one combo-titled source could still make multi-slot allHit true via substring alias hits — `expectedFileCoverage` now assigns each retrieved top-file to at most one expected slot; (P2) label pagination could loop forever on a stuck full-page API — fail-closed page budget added; (P2 process) stale `PR_POLICY_BODY.md` from search-performance leftover was overwriting this PR body via Sync PR policy body — corrected then deleted. No remaining high-confidence P0–P1 in product scope. Residual: human approving review; Unit coverage CI still finishing on later heads. RAG impact: no retrieval behaviour change — eval matching / label pagination only.", + "checks": "Focused Vitest 32/32; `verify:cheap` green; `verify:pr-local` green (lint/typecheck/3326 unit/build/client-bundle/offline RAG fixtures 36/36). No OpenAI/live Supabase/provider-backed canary." }, { - "date": "2026-08-05", - "ref": "cursor/phone-mode-sheet-yes-05c0", - "head": "b579d68491980388ff3e4ce8aba85530e87a9d84", - "scope": "Run PR sweep", - "outcome": "threads already resolved; synced main via update-branch; CI was green pre-sync", - "checks": "CI: PR required SUCCESS pre-sync" + "date": "2026-07-25", + "ref": "cursor/fix-mode-switch-lag-22f6", + "head": "54d45f687e3723f51fa3d7e9940692c9a6e3b52c", + "scope": "Same-class bug hunt: mode-switch/layout thrash after reserve-flip fix", + "outcome": "No P0. Branch fix mitigates pathname∧searchMode gate, shell changeMode optimistic setSearchMode, selectSearchMode leaving dashboard, and always-on padding-bottom transitions. Still open P2s: (1) ClinicalDashboard.crossModeSearch still setSearchMode before router.push without isDashboardModeHref guard; (2) dashboard-internal Answer↔/?mode=* still eager setSearchMode → overlay/collapse + heroBreakpoint + portal rebind; (3) standalone shell persists #main-content scrollTop + phoneScrollHide across mode homes; (4) ClinicalDashboard↔GlobalStandaloneSearchShellClient remount + grid-template-columns transition; (5) hero portal null gap while slot/MutationObserver rebinds; (6) ModeHomeRouteLoading phone min-h 13.5rem vs idle-reserve mode homes; (7) /tools vs /?mode=tools dual shell (#007). P3: services/forms contentAlign center→startOnPhone after registry load.", + "checks": "Static source audit of shell/dashboard/header/reserve/CSS/app-modes/skeletons; no browser/provider checks." }, { - "date": "2026-08-05", - "ref": "cursor/privacy-page-mockups-2ff6", - "head": "32c4406cb728176933b669779d4f16fd245534bb", - "scope": "Run PR sweep", - "outcome": "supersede: desktop index sticky top tracks measured StickySignalChrome height; prior row checks lacked decisive prettier output", - "checks": "prettier --check mockup+ledger: All matched files use Prettier code style!; ResizeObserver sticky chrome height for desktop index" + "date": "2026-07-11", + "ref": "PR #466 / claude/search-timeout-failure-s6aiuj", + "head": "54d52292eeb9e1c7856b3dad89d1b72e0d49fd53", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "P2 fixed: SSE progress/token/error emission now tolerates a client cancellation racing an enqueue, so the catch path cannot throw while reporting the original stream error. No additional high-confidence defect was found in the six-file diff.", + "checks": "Focused SSE and search utility Vitest (13/13); TypeScript; focused Prettier. Hosted advisory browser failure was shared stale assertion drift and is rerun after this push." }, { - "date": "2026-08-05", - "ref": "cursor/privacy-page-mockups-2ff6", - "head": "7c82f92a447986178ba12d6f8b7a447bb63e91ef", - "scope": "Run PR sweep", - "outcome": "resolved privacy/page conflict with #1621 standalone shell; fixed Devin double scroll-pad + scrollIntoView yank", - "checks": "merge resolved; prettier" + "date": "2026-07-14", + "ref": "codex/rag-performance-followups", + "head": "5502fd498ea2069f810795a8659f98ab3abf8c80", + "scope": "release-readiness review", + "outcome": "The local release review found no P0-P2 defect after correcting one stale PIA statement; the later hosted review follow-up is recorded below. The scoped RAG round-trip, SLO, retention, privacy, and documentation changes were ready for PR handoff. Highest residual risk is the known live hybrid-RPC latency tail; model experiments remain blocked by provider quota and legal execution remains operator/counsel work.", + "checks": "Rebased onto `origin/main`; runtime and full Prettier check; ESLint; TypeScript; Vitest 2,213 passed/1 skipped; Next.js production build (636 pages) plus client-bundle secret scan; offline RAG 36 fixtures and 277/277 contract tests; `git diff --check`. Live retention jobs 13/16 were already verified during this workstream." }, { - "date": "2026-08-05", - "ref": "cursor/soft-mark-ungrounded-copy-ec26", - "head": "fa5b1bef1294ec57aa1003bd9c24a58f418869e0", - "scope": "Run PR sweep", - "outcome": "follow-up for Devin soft-mark copy drift left out of #1605 squash", - "checks": "local: prettier" + "date": "2026-07-14", + "ref": "codex/release-blocker-remediation", + "head": "550e0588866c38583bd9445fc109ea7832a98211", + "scope": "working-tree release remediation review", + "outcome": "Reconciled the remediation onto current main after three retained-stash fast-forward syncs, preserving the extracted RAG and document-viewer architecture and main's Sentry removal. Review confirmed and fixed the Windows offline-release launcher failure, the offline Railway health-check blocker, and shared staging-test passwords. No remaining high-confidence issue was found in the changed local scope. Provider-backed production and staging evidence remains a post-PR gate.", + "checks": "`npm ci` and `npm ls --depth=0` passed; focused registry/offline/RAG/viewer/tenancy Vitest 207/207 plus health/config follow-up 15/15; `npm run format:check`; `npm run check:github-actions`; `npm run check:ci-scope`; `npm run verify:cheap` passed runtime, generated guards, lint, TypeScript, and full Vitest (254 files passed, 1 skipped; 2,325 tests passed, 1 skipped); `git diff --check`." }, { - "date": "2026-08-05", - "ref": "HEAD", - "head": "2a8881afad230880166de60a533e17588d9920ec", - "scope": "seven-report repo-wide audit", - "outcome": "P2 confirmed: live drift and live-only migration; mobile CLS; ACL runner; OOXML declared-size robustness; assertion false positives. Numerous report claims stale, narrowed, or unsafe.", - "checks": "verify:cheap (5088 pass, 3 skip, 1 timeout); focused retry 21/21 pass; build pass; bundle budget pass; offline RAG 574/574; assertions 98%; live drift 34; browser CLS 0.228/0.218" + "date": "2026-07-13", + "ref": "origin/claude/phone-blackout-fix-nuxnt3", + "head": "551b07b44e9572d141118866271af27c67d50370", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #570; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-04", - "ref": "claude/ds-v2-empty-state-heading", - "head": "5c1c1b32c8efb030a8603ac281c59108b842798d", - "scope": "PR #1612 — EmptyState headingLevel (#217), /dsm/search heading (#224), document-search empty-state adoption, ledger #230", - "outcome": "self-review clean; no findings raised", - "checks": "typecheck 0; lint 0; vitest 5085 passed/3 skipped; verify:ui 347 passed; prettier whole-tree clean; verify:pr-local exit 0" + "date": "2026-07-28", + "ref": "PR #1286 / `fix-test-run-lock`", + "head": "5532e928ad18a1d451732f6b0323009d9198dc48", + "scope": "Final merge-conflict + CI + Bugbot closeout", + "outcome": "APPROVE. Conflicts cleared vs current main; Bugbot clean on unique product delta; favourites-hub hydration settle guard landed; hosted PR required + Production UI green. Unique product delta: forced-colors:border, literalShadowClasses 0, diagnosis-map shadow token.", + "checks": "Hosted Static/Unit/Build/Safety/Advisory/Production UI/PR required PASS on tip; local verify:cheap PASS earlier; no provider-backed checks." }, { - "date": "2026-08-04", - "ref": "claude/search-bar-decisions-doc", - "head": "3b4cd6e6bf1f36fb8aff098ce7d333641e0859d3", - "scope": "search-bar handoff doc replacement + review fixes", - "outcome": "Fixed CodeRabbit/Codex findings; Bugbot hosted stuck queued, local Bugbot-equivalent confirmed two P2 doc errors and rejected sheets-are-target finding. verify:pr-local PASS (docs scope). Decisive: prettier All matched files use Prettier code style!; outstanding-issues 228 rows next-id=231; docs link check passed: 1615; docs/codebase-index coverage OK", - "checks": "verify:pr-local (docs); prettier --check; check:outstanding-issues; docs:check-links; docs:check-index; check:branch-review-ledger" + "date": "2026-07-25", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "555213fcf4dec82c6dbb445630e59e0d5465149a", + "scope": "Open-PR maintenance: persisted-state hydration coverage", + "outcome": "Before: the browser guard covered only an empty-storage dashboard load. After: it seeds theme localStorage plus cookie, sidebar state, and document-viewer PDF mode before navigation, while retaining the default case.", + "checks": "Repository Playwright runner built the isolated production app and passed 3/3 Chromium hydration scenarios; Prettier and diff checks pass; no provider-backed checks run." }, { - "date": "2026-08-04", - "ref": "claude/search-bar-decisions-doc", - "head": "7fc0dbbf48070b2944af0c632ea9aa1f0121be77", - "scope": "search-bar handoff doc replacement + issues #230", - "outcome": "Docs-only: stale handoff deleted, decisions doc added, ledger row captured. verify:cheap did not complete; prettier/outstanding-issues/docs-links/docs-index passed with quoted output", - "checks": "prettier --check . ; check:outstanding-issues ; docs:check-links ; docs:check-index" + "date": "2026-07-13", + "ref": "claude/repo-task-recommendations-f32752", + "head": "556487e08524d7f3095b76fce55add3e677fdc59", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-04", - "ref": "claude/search-bar-decisions-doc", - "head": "a7dea7f777255ade72878820a636413aaf9588af", - "scope": "search-bar handoff doc replacement + review fixes", - "outcome": "Docs-only review fixes: mode/shelf accounting, Sort consumers, #230/#170 precision; removed unquoted-output claim from prior row", - "checks": "prettier --check . ; check:outstanding-issues ; docs:check-links ; docs:check-index" + "date": "2026-08-17", + "ref": "claude/mobile-bottom-toggle-cutoff-efo7mv (PR #2042)", + "head": "558c78eab5d1c8aad24aad0d70e3a457a1169c06", + "scope": "Run PR sweep: main sync + CI fix", + "outcome": "Behind main -> synced twice (main advanced mid-sweep via merged #2047/#2048, fast-forward, no rewrite of pushed history). Fixed a real check:design-system-contract regression: max-sm:pb-[0.75rem] arbitrary Tailwind value flagged as a new raw padding literal; replaced with max-sm:pb-3 (Tailwind default spacing scale already has 3 = 0.75rem, identical 12px result), updated the matching test assertion in tests/clinical-dashboard-merge-artifacts.test.ts. Verified typecheck/lint/format/focused-vitest/design-system-contract all pass, pushed 558c78ea. No review threads existed.", + "checks": "npm run check:design-system-contract: passed; node scripts/run-vitest.mjs run tests/clinical-dashboard-merge-artifacts.test.ts: 8 passed; npx tsc/eslint/prettier: clean; commit 558c78ea pushed" }, { - "date": "2026-08-04", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "b432448e4893a42d07558aff0dc04be797971231", - "scope": "PR #1611 — results-band shelf Clear filter-only, memo deps, restored tests", - "outcome": "Fixed two Qodo findings from merged #1555; mutation-tested guard added", - "checks": "tsc 0; eslint 0; vitest 4 files/59 tests; verify:pr-local blocked by lock parity (node 24.13 vs jsdom@30)" + "date": "2026-08-22", + "ref": "codex/implement-mode-aware-clinical-ask-feature", + "head": "559683d7cede06731413a9a9a24d3fb9435b06c5", + "scope": "pr-ci-fix", + "outcome": "fixes-applied", + "checks": "clinical-ask tests 129/129 pass; check:migration-role pass; check:design-system-contract pass; check:maintainability-budgets pass (ClinicalDashboard.tsx 4131/4140); pr-policy local eval pass against PR_POLICY_BODY.md; merged origin/main (design-system baseline + status-semantics)" }, { - "date": "2026-08-04", - "ref": "codex/docker-delivery-hardening", - "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", - "scope": "repo audit P0/P1/P2", - "outcome": "found 2 P1 and 4 P2 defects", - "checks": "typecheck, docs:check-scripts, docs:check-index, check:worker-python-lock, owner-scope, pr-policy, ledger-check" + "date": "2026-08-01", + "ref": "codex/cloud-connected-profile-boundary", + "head": "55b08496a5ee3495eed8a7436e8f69ae7b6612d8", + "scope": "Cloud connected profile credential boundary", + "outcome": "Reviewer findings fixed: cross-tenant service-role credential scrubbed and duplicate Supabase MCP parameters rejected", + "checks": "Cloud static PASS; focused Vitest 15/15; Bash syntax PASS; targeted Prettier PASS" }, { - "date": "2026-08-04", - "ref": "codex/docker-delivery-hardening", - "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", - "scope": "repo audit P0/P1/P2 (supersedes 2026-08-04)", - "outcome": "found 3 P1 and 4 P2 defects", - "checks": "typecheck, vitest (1 failed: token contract), docs:check-scripts, docs:check-index, check:worker-python-lock, owner-scope, pr-policy, ledger-check" + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "55cc3f91de5d14960081806910633fe2eaf0c0c2", + "scope": "branch-cleanup", + "outcome": "safe-delete: ancestor of merged PR #1490 head 9a356b4f; archived batch13", + "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" }, { - "date": "2026-08-04", - "ref": "codex/fix-manual-workflow-service-role-key-exposure / PR #1572", - "head": "6cc0b6ffdae3b515a05a17f2a87e5f51e5347263", - "scope": "PR review + fix (ingestion-autopilot service-role exposure) (supersedes 2026-08-02)", - "outcome": "Supersedes the earlier row to record decisive gate results; historical review outcome otherwise unchanged.", - "checks": "PASS: npm run test:ci-workflows — 206/206 passed; PASS: focused ci-cache-safety + ingestion-autopilot-workflow — 21/21 passed; PASS: npm run check:github-actions — GitHub Actions pin check passed; PASS: prettier --check — all matched files use Prettier code style; PASS: git diff --check — clean. No provider calls." + "date": "2026-08-17", + "ref": "claude/differentials-design-refinement-xh1znl", + "head": "56048e6700044e062e236318a97655d70d279e12", + "scope": "src/components/differentials/differential-compare-queue-page.tsx", + "outcome": "created PR #2050: simplified compare-queue hero card (removed eyebrow label + helper paragraph, tightened search-query chip)", + "checks": "test:focused (3 passed); manual Playwright visual check at phone/desktop viewports" }, { - "date": "2026-08-04", - "ref": "codex/fix-mode-switching-and-loading-issues", - "head": "3e3b224a2ec13928d1e28173b1fc4c75d202d7d2", - "scope": "PR #1607 unblock/fix", - "outcome": "clean — behind 0, merge-tree clean, 0 unresolved threads, required CI in progress (no code fix)", - "checks": "merge-tree clean; behind_by 0; Unit/Build/Static/ProdUI in progress; no failing required" + "date": "2026-07-28", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "562bce2b3c90bf1790da9683077915cd3f8fdb17", + "scope": "Main sync + conflict repair + Bugbot closeout", + "outcome": "FIXED. Real CONFLICTING vs advanced main was `docs/outstanding-issues.md` only (ledger/ui-smoke auto-merged). Resolution keeps `#012` in Resolved with this PR's outcome while retaining main's newer open/archive rows. CI on prior tip was fully green (Static/Production UI/PR required); re-runs after sync. Review threads already dispositioned (resolved-graph guard, ledger residuals, attribution).", + "checks": "merge-tree CLEAN; focused vitest index+boundaries 10/10; `check:cross-mode-index` PASS; `prettier --check` on touched tests PASS; Bugbot pass pending agent; no provider-backed checks." }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-adoption-root", - "head": "3cf2d792a1e660a87b0637044837d1c382ff223f", - "scope": "global V2 adoption truth and provenance", - "outcome": "approved locally; no P0-P2 findings", - "checks": "Vitest 49 passed; expected 14 declaration mismatches only" + "date": "2026-09-02", + "ref": "claude/instruction-tiering-n9vs14", + "head": "563896ea8b430830f0297e5f9ec6ae0644d88f99", + "scope": "Instruction tiering: AGENTS.md/CLAUDE.md always-loaded core plus docs/agents reference files", + "outcome": "No findings. Reorganisation only: all 662 non-blank AGENTS.md lines verified byte-identical across the post-change tree; the 48 removed CLAUDE.md lines are restatements whose canonical text was located in the rules layer. Gate-parsed sections quarantined in place; every heading retained as a pointer so external section-name references still resolve. Two guards repaired that the move would otherwise have weakened (docs/agents added to workflow scope maps and userFacingProductSurfaces).", + "checks": "verify:cheap (12050 passed; 2 pre-existing shallow-clone failures reproduced on unmodified origin/main); 10 doc-parsing test files 151 passed; check:gate-manifest; check:skills; docs:check-links; docs:check-scripts; check:repo-awareness-snapshot; check:migration-role; check:pr-policy; check:codex-cloud; ci-change-scope self-test; format:check; CI green (Static PR checks + PR required)" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase1-accessibility", - "head": "7e19964973f38c769ca725d6d53aff088ed182b3", - "scope": "V2 Phase 1 Lane B accessibility tables announcements document preview", - "outcome": "approved after rapid retry announcement identity fix", - "checks": "focused Vitest 35p + follow-up 15p; typecheck PASS; independent review clean" + "date": "2026-08-14", + "ref": "codex/calculators-mode", + "head": "563ce4195512b9e623df6ba98762f4a3dc1b9e8e", + "scope": "calculators first-class mode", + "outcome": "P1: calculator composer invokes universal-search API despite local-only boundary", + "checks": "source diff review; local verification evidence inspected; verify:pr-local dry-run; provider checks not run" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase1-primitives", - "head": "7e48bcc4c4b395623fbb5334879bdea5480df74d", - "scope": "phase1 lane c primitive maturity and overlays", - "outcome": "approved after five bounded fixes; primitive semantics, density, overlays and Tooltip accessibility verified", - "checks": "17 files/162 tests; follow-up 8/80 and 3/53; Tooltip 41/41; typecheck; design-system/type/icon contracts; independent exact-head review" + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "56405fd722e1f652b68051f1f40808815a30d12c", + "scope": "User ask: resolve comments + apply fixes + merge conflicts", + "outcome": "No open conflicts (MERGEABLE, merge-tree clean). All 8 review threads already resolved. Codex P1s already on tip (CSS seed + useLayoutEffect; resting transform-free + portal). CodeRabbit invariant-6/docs + ledger dups addressed; disagreed zero-reserve-on-hide. Removed one more union-merge exact ledger duplicate (#1398 row). Contract 29/29.", + "checks": "check:branch-review-ledger PASS; header-scroll-hide-contract 29/29; merge-tree clean" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase1-publication", - "head": "58c64f512c8ecfe9faa0c3b37e5a01df09cea597", - "scope": "Phase 1 publication and adoption truth", - "outcome": "Approved locally; no P0-P2 findings. Remote publication remains unverified.", - "checks": "real preview tsc; 3 files/84 tests; design-sync 53/7; adoption 53/55; aggregate DS 657 files" + "date": "2026-07-28", + "ref": "PR-1298", + "head": "56536a4d00a5fc799025522d2dbe98377721837e", + "scope": "PR #1298 final remediation vs current origin/main", + "outcome": "APPROVE after exact-head CI; unvalidated retrieval behaviour removed, remaining changes are UI/test hardening", + "checks": "Protected clinical-search and retrieval-variant production files match origin/main byte-for-byte; merge-tree clean; ledger guard PASS; diff check PASS; verify:pr-local dry-run selected full local gate; local execution unavailable because node_modules is absent; RAG impact no retrieval behaviour change" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase1-truth", - "head": "1980f155f9467707574a45c6338a22f3457b0d7e", - "scope": "V2 Phase 1 Lane A adoption truth design-sync parity documentation contracts", - "outcome": "approved after dynamic-root lexical analyzer hardening", - "checks": "adoption 14p; design-system/adoption/design-sync/typecheck PASS; independent review clean" + "date": "2026-08-18", + "ref": "claude/advisory-tools-spec-repair (PR #2115)", + "head": "5664a4f6a861060693a8c0611ce5d8bfba487fe7", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Synced behind branch to origin/main via GitHub update-branch (clean fast-mergeable, no conflicts); no code changes pushed. Pre-sync head d553b2c4 had PR required failing on Unit coverage; post-sync head 5664a4f6 reproduced the same Unit coverage failure (all 671 test files / 7173 tests pass; job fails on an unhandled post-teardown ReferenceError: document is not defined from an uncleared window.setTimeout in src/components/caring-contacts/mockups/caring-contact-shell-frame.tsx:92, triggered while tests/caring-contact-product-redesign.dom.test.tsx runs) -- confirmed unrelated to this PR's 6-line diff in tests/ui-tools-search-mode-mockup.spec.ts, left unfixed as out-of-scope and flagged for a human. 0 unresolved review threads at both heads, none to action.", + "checks": "GitHub-hosted CI only (no local reproduction attempted): Static PR checks pass, Safety and config checks pass, Production UI critical pass, PR policy/PR mergeability pass, Gitleaks/Semgrep/GitGuardian pass, Advisory UI pass (non-required); Unit coverage fails (pre-existing, diff-unrelated); PR required aggregate still failing as a result. No provider-backed checks run." }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase2-documents", - "head": "1657231ffb5a3f0b3bc0948d778e3fd970b9dbc3", - "scope": "Phase 2 DocumentFrame", - "outcome": "approved locally; no open P0-P2; route ensure identity blocked in reviewer worktree", - "checks": "focused 8/8; Chromium geometry 1/1; production build TypeScript; diff check" + "date": "2026-07-29", + "ref": "codex/document-reader-condensed-view", + "head": "5678e878d4fe681d33bb58df5b5b3468a138a1c8", + "scope": "pr-1380-ci-green-resync", + "outcome": "hosted CI green on 7150899a (Static/Build/Unit/Advisory/Production UI/PR required/CircleCI); CodeRabbit density fallback + summary keys + search/plain compact tests landed; unresolved review threads none; resynced main after tip went BEHIND by 1", + "checks": "hosted CI success on 7150899a; merge-tree clean; bugbot no P0/P1" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase2-performance", - "head": "fbe48e9a91616d7be4cc853be69158f92877a759", - "scope": "phase2 phone overlay reserve CLS", - "outcome": "approved after quiet-window stabilization; transient 200px publication is blocked", - "checks": "2 files/33 tests; independent exact-head review; browser CLS and anchor proof pending integration" + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "567d7b74c49a9a1f4f4d195bb5538813f63e8b2e", + "scope": "Build CI RAM-guard fix", + "outcome": "FIXED. After main sync, Build failed because guard-next-build exit(1) on private GHA ~7.8 GiB hosts; guard is a local/Docker rail. CI/GITHUB_ACTIONS now warn-and-continue; local still fail-closed. Unique product delta unchanged. Bugbot: 0 threads.", + "checks": "Focused vitest guard-next-build-contract 2/2; prior Production UI green on `10157dec`; no provider-backed checks." + }, + { + "date": "2026-08-21", + "ref": "claude/specifiers-dead-exports", + "head": "569c8fe11192f29728bf9e436e52bd10270f4640", + "scope": "src/lib/specifiers-content.ts dead-export removal + outstanding-issues inbox request", + "outcome": "Approved — 9 deleted lines of unreferenced code, no behaviour change; AGENTS.md context-load finding filed as inbox request", + "checks": "typecheck exit 0; test:focused src/lib/specifiers-content.ts 2 files / 60 tests passed; prettier --check clean; verify:pr-local NOT run (worktree removed mid-session, no node_modules)" }, { "date": "2026-08-04", @@ -11545,7540 +11209,7644 @@ "checks": "5 files/69 tests; typecheck; 64 paired screenshots/0 contract failures; Therapy production CLS 0.000; Windows Lighthouse produced 10 reports with Chrome cleanup EPERM" }, { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase2-therapy", - "head": "6cffb3daffaca523e9c159126845dcb10c2b07c7", - "scope": "Phase 2 Therapy LCP #117", - "outcome": "approved; no open P0-P2 after stale-error fix", - "checks": "therapy data recovery 7/7; therapy focused 27/27; typecheck" - }, - { - "date": "2026-08-04", - "ref": "codex/v2-design-system-phase3-enforcement", - "head": "62bb876f3e9e93234a6fe65a1c602d28068fad65", - "scope": "Phase 3 design-system enforcement", - "outcome": "approved locally; no P0-P2 findings", - "checks": "Vitest 26 passed; direct checker 658 files; debt baseline exact" - }, - { - "date": "2026-08-04", - "ref": "origin/main", - "head": "ea9d7f642b26aff1bbda0effb86e2c72754ff974", - "scope": "design-system adoption audit", - "outcome": "P1/P2: v2 shell unmounted; stale adoption docs; phone runway and component/accessibility residuals", - "checks": "exact-ref static audit; ancestor design contracts 83/83; no browser or providers" - }, - { - "date": "2026-08-04", - "ref": "origin/main", - "head": "f57203bed761f0b782aeffe92883f7b608a80f94", - "scope": "Codex Cloud environment readiness", - "outcome": "P2 incomplete provider-variable scrub; live parity and provider acceptance unverified", - "checks": "local static inspection only; no provider or runtime calls" + "date": "2026-08-09", + "ref": "PR #1782 / cursor/fix-document-open-scroll-e5bf", + "head": "5709f2cc7a954197e02107c96d7896d8d13445c3", + "scope": "document-viewer open-at-top", + "outcome": "ship: remove chunk mount scrollIntoView so document opens stay at overview top", + "checks": "document-viewer-shell.dom 7 pass; document-section-summary.dom 8 pass; verify:pr-local dry-run" }, { - "date": "2026-08-04", - "ref": "pull/1572", - "head": "f3b99dc01b85ae38eb2643d1ae534b59305ae23b", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed and merged", - "checks": "PASS: focused workflow test 1/1; GitHub Actions pin check; hosted CI, SAST, Secret Scan, container and PR required." + "date": "2026-07-23", + "ref": "work", + "head": "570a507d099c64fcf9db1d27ddbef5f5e1f142d3", + "scope": "Quick follow-up review of issues raised in the 2026-07-19 repository-wide review sweep, plus local static checks requested in chat.", + "outcome": "Several prior findings remain reproducible in the current tree: non-stream /api/answer still accepts summaryMode without a summary branch; stream summaryMode can still scope documentIds separately from summarized documentId; PR policy still targets only main while CI targets main and release/**; action pin checker still scans only workflow YAML files; local shell remains Node 20 with node_modules absent; Prettier drift still reports 27 files. check:github-actions and check:pr-policy self-tests pass but do not cover the remaining coverage gaps.", + "checks": "node/npm/dependency presence probe; static source inspection of answer request/routes, CI/PR policy triggers, action pin checker, UI/accessibility remnants, .npmrc/package engines; npm run check:github-actions && npm run check:pr-policy && git diff --check (pass); npm run format:check (failed existing formatting drift). No provider-backed checks run." }, { - "date": "2026-08-04", - "ref": "pull/1573", - "head": "093fad2fb471d9e8e58ce5ae18f8eed2c12824da", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed and merged", - "checks": "PASS: eval-canary contract tests 6/6; RAG lab offline evidence; GitHub Actions pin check; hosted CI, SAST, Secret Scan, container and PR required. No live eval." + "date": "2026-07-14", + "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "clinical governance + RAG full-repo audit (source governance/citations, answer verification/clinical safety, privacy/query-privacy/private-search-scope, generation failure modes/degradation, retrieval/ranking/selection, ingestion/OCR index quality)", + "outcome": "No high-confidence P0/P1. Fail-closed governance chokepoint (`buildGovernedAnswerClientResponse`) applies to both `/api/answer` and `/api/answer/stream`; numeric/quote/citation verification, prompt-injection neutralization, owner-scope tenancy, and query/answer redaction all conservative. Two P3 observations: (1) `secondStageScore` demotion penalties can be floored away by `Math.max(hybrid_score, boosted)` at the tail of the list (rag.ts:663); (2) `outdatedPenalty` default-ON uses governance metadata to weight ranking (eval-gated, demotion-only) — in tension with the \"no governance weighting\" principle but conservative. D4/D5 (#649) levers verified default-OFF with tests.", + "checks": "Pure review, no mutations except this ledger append. Offline: focused Vitest governance/verification/privacy/scope suites 79/79 + 98/98 passed. Provider-backed (Supabase/OpenAI), browser, release, and live retrieval-quality checks not run (confirmation boundary)." }, { - "date": "2026-08-04", - "ref": "pull/1578", - "head": "245c2a63252ab4e03c9534f9aff2d7632b887cff", - "scope": "Run PR sweep full changed scope", - "outcome": "closed as superseded", - "checks": "Superseded by fixed and verified PR 1579 at the same Settings scope." + "date": "2026-07-14", + "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "frontend/UI/accessibility audit — global-search-shell, master-search-header, composer, answer surfaces, document viewer, clinical dashboard modules; design-token usage, reduced-motion/forced-colors, icon aria, focus traps, composer/header placement", + "outcome": "No P0. P2: (1) `aria-describedby`+`aria-hidden=\"true\"` conflict in `mode-action-popup.tsx:622,651` makes menu descriptions invisible to AT; (2) ~25 dynamic `` render sites missing `aria-hidden` across dashboard modules — ESLint `require-lucide-icon-aria` rule gap for LucideIcon-typed variables; (3) Mode menu (`role=\"menu\"` in header) does not close on Tab — keyboard users can Tab away from an open menu without dismissing it; (4) No live region on streaming `NaturalLanguageAnswer` — screen reader users not notified of incremental answer content. P3: (5) `--surface-glass`/`--panel-gloss` not remapped in `@media (forced-colors: active)` block — image-lightbox and PDF toolbar control bars could become invisible in high-contrast; (6) `bg-black/45` on Sheet backdrop instead of `var(--overlay-backdrop)` token; (7) `active:scale-[0.99]` on action-popup buttons without `motion-safe:` — still fires as a visual jump under reduced-motion; (8) Microsoft/Google brand hex squares not `forced-color-adjust:none` — lose brand identity in high-contrast mode.", + "checks": "Pure static review, no mutations. Files read: `master-search-header.tsx`, `global-search-shell.tsx`, `globals.css`, `sheet.tsx`, `mode-action-popup.tsx`, `image-lightbox.tsx`, `answer-content.tsx`, `ClinicalDashboard.tsx` (partial), `use-dismissable-layer.ts`, `layout.tsx`, `eslint-rules/require-lucide-icon-aria.mjs`, `ui-accessibility.spec.ts`, `process-hardening.md`. Browser/live checks not run (confirmation boundary)." }, { - "date": "2026-08-04", - "ref": "pull/1579", - "head": "0a7cca783a9f96846c6647a74e2a9619e5ae7ac4", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed and merged", - "checks": "PASS: focused Settings DOM suite 8/8; hosted build, coverage, Production UI shards, critical UI, Lighthouse, scans and PR required." + "date": "2026-07-14", + "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "full repo-structure audit (broken imports, dead files, redundant config, module dependency, structural debt)", + "outcome": "No P0/P1. P2: `RAG_TEXT_WEAK_OR_RELAXATION=true` in `.env.example` contradicts `default(\"false\")` in `env.ts` (process-hardening hardened this to off); `reindex-eval-gate.ts` (488 lines) has no production importer — test-only orphan; `bundle-budget.json` still has `enforce: false` + `totalGzipBytes: null` after first production build window passed. P3: `client-env.ts` duplicates `isLocalNoAuthMode`/`publicUploadsEnabled` from `env.ts` using raw `process.env` (intentional server-only split, but divergent implementations); `OPENAI_PRICE_*`, `SPEND_ALERT_DAILY_USD` env vars undocumented in `.env.example`; `rag.ts` → extracted-module architecture still has acknowledged runtime back-edges in `rag-extractive-answer` but no import cycles detected by `architecture-boundaries.test.ts`; several `mockup`-named component files not removed from `src/components/` (production use gated via `mockupsEnabled()`).", + "checks": "`npm run verify:cheap` green (2,290 passed/2 skipped, 0 lint errors, typecheck clean, sitemap aligned, type-scale 0 hits, runtime Node 24/npm 11). `npm run check:env-parity` clean. `npm run docs:check-scripts` passed 266 refs. Architecture-boundaries suite (no cycles, server modules isolated, scripts not imported). Provider-backed (Supabase/OpenAI), browser, release, and live-eval checks not run (confirmation boundary)." }, { - "date": "2026-08-04", - "ref": "pull/1584", - "head": "cf53491531ee48125e95832fd094b58d8db13273", - "scope": "Run PR sweep full changed scope", - "outcome": "closed as incompatible", - "checks": "BLOCKED AS DESIGNED: proposed Node 26 violates repository engines Node 24.x and npm 11.x; CI reported actual Node v26.5.1." + "date": "2026-07-14", + "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "RAG retrieval/ranking/selection/answer-generation audit (fresh scoped pass; PR #649 D4/D5 governance levers safe-by-default focus, token/effort waste, provider routing)", + "outcome": "No P0/P1. Both #649 levers verified safe-by-default and fail-safe: D4 `unknownCurrentnessPenalty` default 0 (no-op, clamped non-negative, activated only via `RAG_RANKING_CONFIG`); D5 `NEXT_PUBLIC_RAG_TRUST_CAP_ALL_CLAIMS` unset=false (only tightens display trust high→medium, never exposes more; `NEXT_PUBLIC` correct as `buildAnswerRenderModel` runs client-side in `ClinicalDashboard.tsx`). Reasoning-effort defaults correct (`OPENAI_STRONG_REASONING_EFFORT`=medium, fast=low; `strongReasoningEffortForQueryClass` never raises, caps routine at medium, keeps dose/threshold at configured). Provider mode default `auto`. P3 (reaffirmed): (1) `Math.max(hybrid_score, boosted)` floor at rag.ts:663 can nullify demotion penalties (outdated/unknown/poor/lowIndex) at the list tail, making D4 partly inert when activated; (2) `document_status` defaults to `\"unknown\"` (source-metadata.ts:34) for unenriched docs, so activating D4 penalizes the corpus-wide fallback status, not a curated signal — same mechanism that dropped selection doc-recall@5 1.0→0.76 (retrieval-selection.ts:340) — eval gate is the safeguard.", + "checks": "Pure review, no mutations except this ledger append. Offline focused Vitest: answer-render-policy + ranking-config + answer-responsiveness-gate 54/54 passed. Provider-backed (Supabase/OpenAI), `eval:retrieval:quality`, browser, and release checks not run (confirmation boundary)." }, { - "date": "2026-08-04", - "ref": "pull/1585", - "head": "7015655b0b97b8d86dae513925da46dac04f1a92", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed and merged", - "checks": "PASS: lock audit found 0 vulnerabilities; hosted build and bundle budget passed at 1407.9 KiB versus refreshed 1406.4 KiB baseline; coverage, static, Lighthouse, container, scans and PR required passed." + "date": "2026-07-14", + "ref": "main", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "branch alignment", + "outcome": "Fast-forwarded local `main` to latest `origin/main` commit.", + "checks": "Verified main and origin/main revisions and updated ref locally." }, { - "date": "2026-08-04", - "ref": "pull/1587", - "head": "69b838fe7f56ed85ed6aaef206e9084c2e3260d9", - "scope": "Run PR sweep full changed scope", - "outcome": "merged", - "checks": "PASS: typecheck, build, unit coverage, Lighthouse, static checks, container verification, scans and PR required. No live OpenAI call." + "date": "2026-07-14", + "ref": "main / 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "repo-wide multi-skill audit (repo-auditor, security, clinical-governance, RAG, ingestion-worker, API, frontend-ui, release-readiness, testing/code-quality)", + "outcome": "Highest code P1: anonymous public catalogs bypass rate limits while serving multi-MB payloads (medications 3.4 MB, services 894 KB, differentials 1.2 MB; `shouldResolvePublicCatalogAccess()` early-return in registry/medications/differentials routes skips `consumeSubjectApiRateLimit()` for requests without session cookie or bearer token). Active OPERATOR/LEGAL launch blockers: PIA-1 APP 8 overseas processing (Railway SG + OpenAI US), PIA-2 Railway `RAG_QUERY_HASH_SECRET` verify, unrun `verify:release`/golden evals, staging soak, Eval Canary trust, operator-backlog staleness vs runbooks. Confirmed code P2 cluster: public-doc DTO leaks (`storage_path`), single-layer service-role tenancy, commit-RPC unreachable fallback (`worker/main.ts:545-547`), recovery plan pending+failed unique-index crash, unwired `decideReindexGate`, CI scope misses (`src/lib/app-modes.ts`/`clinical-safety.ts` skip UI/RAG gates), a11y describedby/icon/Tab/live-region gaps, soft `@critical` safety UI assert, unenforced bundle budget, `.env.example` weak-OR flag. Residual risk: OCR quality upstream labels + hybrid-RPC latency tail.", + "checks": "Specialist audits + `ci-change-scope` probe; structure `verify:cheap` (2,290/2 skipped); focused Vitest governance/RAG/ingestion suites; no provider/live Supabase/OpenAI/`verify:release`/`check:drift` (confirmation boundary)." }, { - "date": "2026-08-04", - "ref": "pull/1588", - "head": "d79d19c97a918edf785c5a066e691435a3f31518", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed; exact-head CI required", - "checks": "PASS: conflict resolved from current main; combined lock regenerated with 0 vulnerabilities; prior jsdom exact-head build, coverage, static, Lighthouse, container and scans passed. Final merged-tree CI required." + "date": "2026-07-15", + "ref": "HEAD detached 570e6ba56 + WIP tree", + "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", + "scope": "thorough multi-lens review: WIP RAG/schema + clinical design/UI + architecture/bug-hunt", + "outcome": "Changes requested: no P0. Confirmed P1s in WIP — registryCorpusDetailHref typecheck break; ChunkLoadCache error/null poisoning across parallel hydrations; registry cleanup `::uuid` cast abort; corrector GIN unused by query path; new table-facts trgm index expression mismatch vs trgm_matches. Design: production clinical shell stays token/a11y-aligned; favourites nav multi-gradient bars and mockup hex drift fight clinical density. Residual: concurrent cache race, SECURITY DEFINER revoke gaps, schema/migration lifecycle drift, accidental pnpm-lock.yaml.", + "checks": "`npm run typecheck` (red: registry link callers + stale .next apps types); static SQL/expr/diff review; architecture + bug-hunt agents; design-system grep (tokens, reduced-motion, forced-colors). Not run: vitest, verify:*, ensure/browser screenshots, live Supabase/OpenAI. frontend-ui-reviewer subagent blocked by usage limit — design pass done inline." }, { - "date": "2026-08-04", - "ref": "pull/1593", - "head": "3fe6c4f02e996601422f805f7b83fef2e4d656dd", - "scope": "Run PR sweep full changed scope", - "outcome": "closed as superseded", - "checks": "Superseded by Dependabot replacement PR 1603 with the same four updates plus Playwright 1.62.1." + "date": "2026-07-28", + "ref": "PR #1295 / `fix/audit-remediation-from-main`", + "head": "5714bf6ceb9d85e18e895b34ec71dcca64837797", + "scope": "Separator pairing follow-up after sm grid", + "outcome": "FIXED. Coherent follow-up to the sm:grid-cols auto-fit change: stack separators are now `max-sm:border-t` (was unconditional `border-t`), matching the phone-only stack and avoiding double borders once `lg:border` card chrome applies. Contract asserts sm grid + max-sm separator and rejects stale lg grid token.", + "checks": "Focused vitest therapy-compass-responsive-contract 10/10; verify:cheap PASS (405 files / 4114 passed); merge-tree CLEAN; Bugbot 0 findings; no provider checks." }, { - "date": "2026-08-04", - "ref": "pull/1597", - "head": "82ecd3d8fa64ae4e5f1e30eb9f1192d0d53d93f7", - "scope": "Run PR sweep full changed scope", - "outcome": "closed as superseded", - "checks": "Superseded by merged PR 1599 and current main cacheKey-scoped mounts." + "date": "2026-08-18", + "ref": "claude/db-phase3-staging-proof-bodies", + "head": "57385d00559ad6d9ec072b01cf97342cb9a2d1cf", + "scope": "db remediation Phase 3 follow-up: staging proof (110000/111000/112000 applied to ikoiolksxqxfxgiyqpnu, md5-verified) + 20260818113000 forward-codify three hybrid RPC bodies verbatim from schema.sql; forensics 3.5; #316 combined update (PR #2111, follows merged #2106)", + "outcome": "Reviewed and handed off; staging drift residual after apply = trgm index + three chain-stale bodies, the latter fixed by 20260818113000 (staging apply pending owner permission); no canonical body changed; production window list in PR body", + "checks": "vitest 6 schema/drift files 109 passed; check:migration-role passed; check:outstanding-issues passed; docs:check-links passed; verify:pr-local not re-run for the one-migration follow-up (green on #2106)" }, { - "date": "2026-08-04", - "ref": "pull/1600", - "head": "2eddf7df0de19dc1f6010119d97f5848c8bf7706", - "scope": "Run PR sweep full changed scope", - "outcome": "fixed and merged", - "checks": "PASS: focused Cloud setup suite 21/21; hosted build, coverage, static, production-readiness-safe, container, scans and PR required. No provider login." + "date": "2026-07-30", + "ref": "claude/frosty-mayer-2c6167", + "head": "57443a694438112a92155d2675d199116de60b65", + "scope": "PR #1451 final reconciliation review", + "outcome": "PASS - no P0-P2 findings; product diff unchanged after main reconciliation", + "checks": "outstanding-issues, ledger guard, prettier, diff-check" }, - { - "date": "2026-08-04", - "ref": "pull/1601", - "head": "26debb07ff24b0245ccc998aa572f7ccb2ebcea5", - "scope": "Run PR sweep full changed scope", - "outcome": "merged", - "checks": "PASS: hosted dependency audit, build, coverage, static checks, container verification, SAST, Secret Scan and PR required." + { + "date": "2026-08-07", + "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", + "head": "574702a681cbb4d455151da023428d16c22fb460", + "scope": "review-and-fix", + "outcome": "late-synced origin/main after CI green (brought #1678 cn/tailwind-merge; remote merge 574702a6); prior sync cleared DIRTY; Bugbot mid-table finding dispositioned (tip-append before #1679; post-merge order correct); no P0/P1; 0 threads; no code fix; merge left to user", + "checks": "check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean; prior tip required CI green; format unchanged; no provider gates" }, { - "date": "2026-08-04", - "ref": "pull/1602", - "head": "9b2c45c3f10ee7440e7450da7179a390dfbdf4c0", - "scope": "Run PR sweep full changed scope", - "outcome": "merged", - "checks": "PASS: dependency audit, build, coverage, static, Lighthouse, provider-free container smoke, HIGH/CRITICAL scan, SAST, Secret Scan and PR required." + "date": "2026-07-31", + "ref": "origin/cursor/mode-secondary-navigation-dc4e", + "head": "5794c5a08645717d99beb61feb1c971c975b4b7c", + "scope": "branch-cleanup", + "outcome": "safe remote delete: PR #1336 merged; only post-head change is its preserved CI ledger row; archived batch15", + "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" }, { - "date": "2026-08-04", - "ref": "pull/1603", - "head": "dab117d474224964da40af2a1edc016e5dd7ffdf", - "scope": "Run PR sweep full changed scope", - "outcome": "merged", - "checks": "PASS: dependency audit, Knip check, typecheck, build, full unit coverage, Lighthouse, provider-free container verification, scans and PR required." + "date": "2026-08-26", + "ref": "codex/chat-image-preview-reliability-image-preview-reliability", + "head": "57ab01cbe28977ed3e0db830c45a00749977e351", + "scope": "PR #2391", + "outcome": "fixes-applied", + "checks": "PR policy body canonicalized; cover in-flight keyed by credential; vitest use-document-cover 9/9; snapshot regenerated; threads resolved; CI watching" }, { - "date": "2026-08-03", - "ref": "claude/ds-v2-adopt", - "head": "407c8e74a240fbc2e0469b5a8334f55afd61e60d", - "scope": "bugbot PR #1595", - "outcome": "findings: P2 empty-sources fallback fixed; no P0/P1; residuals #217/#224 EmptyState heading, clipboard metadata unwired, #216 AnswerCard deferred", - "checks": "npm test 5061 passed; vitest answer surfaces 112 passed; no cursor[bot] Bugbot threads on PR" + "date": "2026-07-27", + "ref": "`codex/settings-ux`", + "head": "57b64668835269e7931b81ef9bbab5a8c7494c87", + "scope": "Protected-main release-readiness review of responsive settings UX", + "outcome": "APPROVE. The settings sheet now keeps clinical fields stacked through phone and tablet widths, uses one responsive dismiss control, consolidates account context, and replaces repeated inactive copy with shared accessible section notes. Focused review found no P0-P3 issue and no retrieval, ranking, clinical-output, or provider behavior change. Residual risk is physical iOS Safari rendering, which was not available locally.", + "checks": "`workflow:design-sweep -- --write-evidence` PASS; focused ESLint and typecheck PASS; targeted settings production Chromium PASS; `verify:cheap` PASS (25 gates; 393 files; 3,538 passed / 2 skipped); exact integrated-head `verify:pr-local` PASS (runtime, formatting, lint, typecheck, 3,538 passed / 2 skipped, production build/client scan, offline RAG fixtures); `verify:ui` 322/323 PASS with one unrelated desktop stress timeout, then the exact failed stress journey PASS 1/1 in isolation; `git diff --check` PASS; no non-GitHub provider-backed checks." }, { - "date": "2026-08-03", - "ref": "claude/ds-v2-adopt", - "head": "cb898bec11082c533aae5f42fbd415de1ff0f5e4", - "scope": "review-and-fix PR #1595", - "outcome": "fixed P1 stale Open source nav + P2 clipboard metadata + RadioGroup id; dispositioned #225 favourites triple live; merge-tree clean", - "checks": "vitest 111 passed (answer-copy, cited-href, clipboard-product, ui-v2-components, ui-v2-answer-safety)" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: coverage tie-break follow-up)", + "head": "57ec880b306a8e2b31c5f20dacc47256fc93b4e2", + "scope": "Post-merge live-eval finding on #982 + corrective fix: saturated-tie key rankScore → query-term coverage", + "outcome": "Post-#982 golden dispatch (eval-canary run #50, 29735004222, main b9057f0 + deps) came back 35/36: the three verifiable July-19 failures (lithium-therapy-monitoring, clozapine-anc-threshold, patient-safety-plan-include) all PASS live, but alcohol-ciwa-threshold flipped pass→FAIL vs the same-morning pre-#982 run #49 (29731533081, 36/36) — failing top-3 ordered by descending rankScore (1.85/1.75/1.53, all finalScore-saturated, releaseRankScore 1.09/1.086/1.07), i.e. #982's tie-break let generic clinicalSignalBoost stacking outvote the ciwa/score/threshold-bearing chunk; #982 is the only retrieval-path delta in the window. Fix: contentRankScore → contentCoverageScore sourced from lexicalCoverageScore (query-term coverage, immune to boost stacking; ties still fall to chunk id); saturated-tie contract test re-pinned so coverage beats a HIGHER rankScore (discriminating — old key fails it); fast-path CIWA guard gains the run-#50 screening-chunk shape + content-term assertion. Live validation: tonight's 18:00 UTC scheduled canary (dispatch cap 2/2 spent ≈$2-4). Separately: ci.yml dispatch 4012 survived 30+ min of main churn under #979's per-run concurrency group (fix working); duplicate dispatch 4017 cancelled.", + "checks": "Targeted vitest 38/38; npm run test 3012 passed / 1 known container-only pdf-budget artifact; verify:cheap green to the same artifact; build + client-bundle scan + check:rag:fixtures PASS; check:production-readiness expected missing-secret FAILs only (no secrets in container)" }, { - "date": "2026-08-03", - "ref": "claude/ds-v2-adopt", - "head": "f9f73c707d9b6b6226fc04d172fef8e426513055", - "scope": "PR-J design-system adoption", - "outcome": "clinical-governance-reviewer: net-additive, nothing on origin/main weakened, dropped or narrowed; src/lib/rag untouched (0 files); patient-profile null commit path byte-identical through the FormField fold; ready unreachable over a not-source-backed answer. Three P2: source-count disagreement between notice and banner (FIXED 08e8b6be7), answerClipboardText attribution missing a sourceOnly flag (FIXED 08e8b6be7), notice can claim AI-generated above the Source-only chip (RECORDED as #228, needs approved wording). frontend-ui-reviewer: DSM icon tile lost its mobile-hidden treatment (FIXED b978d4c7b via max-sm:hidden) and the eyebrow moved beside the icon (RECORDED as #229); use-client removal on page-header confirmed a real fix; Breadcrumb href rule correct for every caller; no tap-target, hex, z-index or raw-anchor violations.", - "checks": "typecheck 0; lint 0 (max-warnings 0); unit 5048 passed / 2 known Windows codex-cloud path-mangling failures; verify:ui 346 passed 1 failed (ui-smoke:2056, re-pin from CI per finding L); eval:rag:offline 574/574 zero failures, better than the J4 baseline; verify:pr-local run over 35 changed files" + "date": "2026-08-12", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "586012639565e4d3306b44361ebc5a3bdb3024ad", + "scope": "Land PR #1838 ledger sweep; close #147 mobile CLS by measurement", + "outcome": "Merge resolved as union (main renumbered #302/#303 to #306/#307 — not lost, correcting an earlier claim); #306/#307 archived as already-delivered. #147 archived on two identical offline Lighthouse runs: mobile CLS 0.035/0.000/0.013/0.081/0.000, all under 0.1, cause fixed by PR #1616 not this session. #118 updated (browser drift 141-vs-151, wider than recorded); new #308 for desktop /documents/search CLS 0.119", + "checks": "verify:pr-local 10/10 green; check:outstanding-issues 121 open/185 archived; verify:lighthouse x2 (gate ungraded on browser drift, measurements valid)" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-answer-safety", - "head": "8ad91e3f0104b89b83a54255687408cae574ee88", - "scope": "DS V2 PR-E slices 6+7+8: answer safety, form foundation, announcements", - "outcome": "Clinical governance review: no P0; 8 findings fixed in-branch; P1-1 strengthened; #208/#209/#210 deferred and recorded. Zero product imports - nothing adopted.", - "checks": "verify:pr-local exit 0 (475 files / 4960 passed, offline RAG 23 suites / 574 passed); verify:ui 342 passed / 5 failed not attributable (no product import); e2e:critical 15 passed" + "date": "2026-08-24", + "ref": "PR #2346", + "head": "586ee8182c7bee69385f47dc215ee0ddcfd5d9da", + "scope": "answer page redesign handover", + "outcome": "Reviewed the handover and the perfected mockup against the live answer surface. Two core decisions (one-colour mark, one source per drawer) confirmed sound and kept. Seven findings; four are defects: overlapping mark tap targets can open the wrong source, box-shadow ring plus background wash both drop in forced-colors, the streaming frame draws a shape the stream contract excludes by name, and the verification line contradicts the placement answer-result-surface records (#207/#227/#228). Three gaps: only 1 of 5 AnswerState kinds drawn (source_only was ~2/3 of the cited sample), supportLevel needs four treatments not two, no citation-feedback control. Corrections landed in handover section 12 plus new section 2b; corrected design built at /mockups/answer-chat-perfected-v2 in PR #2356. No production surface changed.", + "checks": "lint, typecheck, test (831 files / 10011 passed), verify:pr-local, build, check:bundle-budget (mockups 522.0 KiB vs 487.6 KiB baseline, within tolerance), Chromium browser check at 390px and 1440px, Chromium forcedColors active" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-architecture", - "head": "157373700281f81f136275c56c9a82fb22776d99", - "scope": "PR-Arch Wave4 motion/z/overlays/print", - "outcome": "local gates green; frontend-ui-reviewer API-limited — glance required before auto-merge", - "checks": "unit 4972p; e2e:critical 15p; verify:ui 347p; verify:pr-local 0; eval:rag:offline pass" + "date": "2026-07-13", + "ref": "origin/claude/generation-token-starvation-fix", + "head": "5874814cd3e448dfa358a6e500115094cb3124cf", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-architecture", - "head": "649389ba7223f67281c8f3836dd542997c5cbd83", - "scope": "PR #1583 review-and-fix", - "outcome": "fixed Devin --ease-out Tailwind collision as --ease-out-keyword; synced main; Codex ledger-squash note outdated vs tip", - "checks": "vitest overlay+ckb-v2 34p; npm run test 4973p; merge-tree clean" + "date": "2026-08-16", + "ref": "codex/tools-universal-footer-search", + "head": "58821ca016b39933eaa9bf2a756672a71171923f", + "scope": "PR #1993 Tools phone footer ownership against main 0b95d063b44712ce409d9fbfe5bf8e706b10ccaf", + "outcome": "Confirmed and fixed dashboard Tools phone composer ownership, aligned stale responsive contracts, removed the temporary repair workflow, and kept the branch current with main.", + "checks": "Prettier; ESLint on changed files; TypeScript; targeted Vitest; immutable ledger validation" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-architecture", - "head": "84147ee123bde50fceefad627d8c89791b27a713", - "scope": "PR #1583 review-and-fix", - "outcome": "fixed Devin --ease-out Tailwind collision as --ease-out-keyword; synced main; Codex ledger-squash note outdated vs tip", - "checks": "vitest overlay+ckb-v2 34p; npm run test 4973p; merge-tree clean" + "date": "2026-07-14", + "ref": "PR #634 / codex/global-answer-reliability", + "head": "588c34c3d455c367e6aa38dc9fce64191678631b", + "scope": "review-followup", + "outcome": "One late P2 quota-bypass defect was confirmed: streamed full-document summaries consumed only the general answer quota. Fixed the route to enforce the stricter `document_summarize` quota before starting the stream or provider work while retaining the general answer ceiling.", + "checks": "GitHub connector review-thread inspection; focused private-access route suite 116/116; ESLint; TypeScript; Prettier; `git diff --check`." }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-architecture", - "head": "93bb4b4756a7fad22f93008325f2c0f72471b0db", - "scope": "PR-Arch Wave4 motion/z/overlays/print", - "outcome": "local gates green; frontend-ui-reviewer API-limited — glance required before auto-merge", - "checks": "unit 4972p; e2e:critical 15p; verify:ui 347p; verify:pr-local 0; eval:rag:offline pass" + "date": "2026-07-28", + "ref": "PR-1296", + "head": "58a6fe241de122c81822a5f60064cc2c49b2f245", + "scope": "PR #1296 full diff vs origin/main", + "outcome": "FIXED P1 z-index ladder bypass; approve after exact-head CI", + "checks": "Removed semantic z-index utilities that lowered established overlay rungs and bypassed main lint; diff check pending; prior exact-head PR required and Production UI passed; refreshed exact-head CI pending" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-values", - "head": "48012d359b84daae347201697c82f3e433c182c5", - "scope": "PR #1571 review-and-fix (ds-v2-values tap/radius)", - "outcome": "fixed: Tools submit + account-setup close onto h-tap; phone composer input 44px pin; gate 2 demoted to implemented-partial; SPEC 407→426; short-runway/short-answer smoke pins retuned; verify:cheap + verify:pr-local + 2 smoke tests green; CI Production UI in progress", - "checks": "verify:cheap 471/4879; verify:pr-local build+fixtures; test:e2e 2 phone smoke passed; design-system-contract raw 2/0/0" + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "58c4a3d5294ded839f7ff78c4bc18d6ece7522eb", + "scope": "PR #1944 CI format fix", + "outcome": "Formatted two merge-loss review files", + "checks": "Prettier 3.9.6; audit self-test; JSON parse; docs:check-links" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-values", - "head": "d2a29198415292a28ed1dbf1c740c94f6c12ddb3", - "scope": "PR #1571 review-and-fix (ds-v2-values tap/radius)", - "outcome": "fixed+clarified: gate2 objective acknowledges h-10/unwired audit not blocked; overlay 430px assertion scoped to media block; prior tip 48012d35 Production UI+PR required green", - "checks": "verify:cheap; verify:pr-local; 2 smoke; UI overlay contract; CI Production UI (1)(2)(3)+PR required SUCCESS on 48012d35" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase1-publication", + "head": "58c64f512c8ecfe9faa0c3b37e5a01df09cea597", + "scope": "Phase 1 publication and adoption truth", + "outcome": "Approved locally; no P0-P2 findings. Remote publication remains unverified.", + "checks": "real preview tsc; 3 files/84 tests; design-sync 53/7; adoption 53/55; aggregate DS 657 files" }, { - "date": "2026-08-02", - "ref": "claude/ds-v2-values", - "head": "d33721b436c05014e8ef1f362a945fe9574e676e", - "scope": "DS V2 PR-V values", - "outcome": "Wave 2 self-verified before push: 5a close-out (no value deltas remain after decision J2; contract metrics unchanged at rawColorLiterals 2 / literalShadowClasses 0 / legacyTapClasses 0), 5b tap knob 2.75rem to 3rem in @theme with --tap-min reduced to var(--spacing-tap) across 426 *-tap sites and three pins flipped in-commit, 5c --radius-md 8px to 10px across 243 rounded-md sites with the 4px-grid pin naming both half-steps and 14 arbitrary radius literals absorbed. Two carve-outs recorded in SPEC 4.10/4.6: the phone composer stays 44px below 431px, and the 2px mode-nav hairline stays off the ladder. An offline.html tap bump was reverted before push because it would have forced a service-worker CACHE_VERSION bump. Known-red local gate: tests/ui-smoke.spec.ts:2221 phone runway pin fails on unmodified origin/main here too (maxOffset 99 at base vs 111 at this head, reproduced in a pristine capture worktree) while CI run 30720360137 is green on the same tree - plan finding L, CI binding.", - "checks": "typecheck exit 0; verify:pr-local PASS with 4880 passed 3 skipped (4883) in 471 files, production build compiled, client-bundle secret scan passed, eval:rag:offline fixture line plus 574/574 (better than the J4 known-red baseline); verify:ui 346 passed 1 failed (the known-red phone runway pin); verify:phone-chrome --full=never contracts 116/116 and ui-tools 87/87 with the same single known-red test; test:e2e:critical 15/15; design-system contract, branch-review-ledger, outstanding-issues, sitemap, docs link/index/inventory/scripts all exit 0" + "date": "2026-07-15", + "ref": "PR #656 / claude/specifiers-v2-design-r55baf", + "head": "58ce935758c31672a0a051c5b3e6b888a7d8d153", + "scope": "full DSM/ICD specifier catalogue and clinical-content gate review", + "outcome": "No remaining high-confidence code defect after the review sequence corrected source provenance, verified-content wording, search ranking/deduplication, empty-state behavior, and neutral mixed-source labelling. The 494 unverified definitions remain withheld from display and ranking. Residual risk is the PR-declared qualified-clinician and TGA classification review before broader clinical deployment.", + "checks": "GitHub review-thread inventory (0 unresolved); exact-head hosted required CI, build, critical UI, UI regression, coverage, static, and security checks green. No live Supabase/OpenAI or provider-backed clinical workflow run." }, { - "date": "2026-08-02", - "ref": "codex/cloud-python-self-diagnosis", - "head": "2de7b7abbdea9a1286b198e14eecb021fff32693", - "scope": "Cloud Python lock and self-diagnostics", - "outcome": "PASS: no actionable findings", - "checks": "verify:pr-local PASS; focused Vitest 21/21; Python 3.11 and 3.12 lock reproduction PASS" + "date": "2026-07-31", + "ref": "origin/fix/clear-signed-url-cache-on-auth", + "head": "58d0e8251e1b1929b869672be1b0b4048a9c60d1", + "scope": "branch-cleanup", + "outcome": "safe remote delete: signed-URL cache invalidation landed more strongly in merged PR #1374 with pre-publish identity clearing and extra tests; archived batch18", + "checks": "current auth source/test inspection; origin/main pickaxe history; redundant cherry-pick proof; bundle verify" }, { - "date": "2026-08-02", - "ref": "codex/cloud-python-self-diagnosis", - "head": "32cb80020bf1a63628dbf805f54f393aee5af528", - "scope": "Cloud Python lock and self-diagnostics", - "outcome": "PASS: review findings fixed; fail return claim refuted by Bash execution proof", - "checks": "verify:pr-local PASS; focused Vitest 22/22; Bash ERR trap proof PASS" + "date": "2026-07-22", + "ref": "PR #1075 / `codex/reconcile-route-reachability-ast`", + "head": "58e57a79b4e7766aebd3d0404a6c431f3a286bbe (merged as 46f143d135afcd2f449ae6bedd05332a7af35f4d)", + "scope": "Binding-aware route-reachability AST", + "outcome": "MERGED. Recognizes bound Next navigation APIs and allowlisted `ModeHomeTemplate.actions`; raw anchors, prefetch, shadowed identifiers and arbitrary href metadata do not count. Both review findings fixed/resolved.", + "checks": "Focused 5/5; full unit 3,172 passed / 1 skipped; `verify:cheap`; offline RAG; hosted required/security/policy green." }, { - "date": "2026-08-02", - "ref": "codex/docker-delivery-hardening", - "head": "ccdc8ff801056c7318cd0ecc99b461861f83cff4", - "scope": "Figma MCP OAuth npm registry and Codex Cloud access", - "outcome": "No P0/P1. Fixed P2 Cloud Figma credential scrub gap and removed unavailable duplicate desktop MCP; private registry auth and fresh Cloud acceptance remain external.", - "checks": "codex-cloud test 15/15; static Cloud PASS; targeted Prettier PASS; diff check PASS; Figma MCP read/write PASS; registry ping E401" + "date": "2026-08-12", + "ref": "PR #1595 / claude/ds-v2-adopt", + "head": "590eb6cfb229c5ae0f7a5025352fa871d8321521", + "scope": "Supersedes 2026-08-03 PR-J clinical-governance review at f9f73c707d9b6b6226fc04d172fef8e426513055; accepted delta through merged PR head", + "outcome": "SUPERSEDES the earlier PR-J clinical-governance row for merge evidence. The final delta added the answer-state projection, the two scoped review fixes, and the clinically approved #228 attribution wording. The user accepted that delta without a second clinical-governance review; this record preserves that explicit limitation rather than implying the earlier review covered the final tree.", + "checks": "Final PR head 590eb6cfb229c5ae0f7a5025352fa871d8321521; squashed to main as f4448f8c1 (historical mapping recorded in #232); no new provider or clinical review performed" }, { - "date": "2026-08-02", - "ref": "codex/fix-manual-workflow-service-role-key-exposure / PR #1572", - "head": "6cc0b6ffdae3b515a05a17f2a87e5f51e5347263", - "scope": "PR review + fix (ingestion-autopilot service-role exposure)", - "outcome": "Reviewed secret-hardening: workflow/job-level SUPABASE_SERVICE_ROLE_KEY removed, manual dispatch limited to default branch, checkout pinned to default_branch, secret scoped to Preflight + Run autopilot only. Fixed CI blockers: merged origin/main (branch was ~1144 behind; Gitleaks needed run-gitleaks-pinned.mjs), registered tests/ingestion-autopilot-workflow.test.ts in test:ci-workflows, Prettier + stronger step-only secret assertions. No P0/P1 residual in the hardened workflow; residual risk is intentional inability to dry-run workflow_dispatch from non-default branches until merge.", - "checks": "npm run test:ci-workflows 206/206; focused ci-cache-safety + ingestion-autopilot-workflow 21/21; check:github-actions; prettier --check; git diff --check. No OpenAI/Supabase/provider calls." + "date": "2026-07-13", + "ref": "origin/copilot/fix-failing-ci-another-one", + "head": "59207b23fe88a23b0e2f3a6d7f1a288e0cca5132", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci-another-one; git diff --name-only reported 36 path(s)." }, { - "date": "2026-08-02", - "ref": "codex/mcp-config-hardening-merge", - "head": "020cbfaab3257c8bb873b31d1617f9f17a9361b3", - "scope": "MCP Cloud config hardening", - "outcome": "No findings; write approvals and fail-closed validation verified", - "checks": "check:codex-cloud; focused MCP config test" + "date": "2026-07-14", + "ref": "copilot/fix-failing-ci-another-one", + "head": "59207b23fe88a23b0e2f3a6d7f1a288e0cca5132", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-02", - "ref": "codex/mcp-config-hardening-merge", - "head": "30aac79e655225f41006d5739fc4e91ef7791514", - "scope": "MCP Cloud config hardening", - "outcome": "Supersedes prior review; synced main and retained parser hardening with Windows Cloud test coverage", - "checks": "check:codex-cloud; Cloud/Python tests 22 passed" + "date": "2026-07-17", + "ref": "PR #737 / claude/therapy-compass-display-6kisnw", + "head": "594584dc79d9d6c14018dcce088357a251504d4f", + "scope": "open-PR review + merge babysit", + "outcome": "No high-confidence P0-P2. Display rename Therapy Compass -> Therapy only (nav/sidebar/page/sitemap). Merged to main.", + "checks": "Hosted required checks + Production UI green." }, { - "date": "2026-08-02", - "ref": "codex/mcp-config-hardening-merge", - "head": "4b0d7b712b789e771643f2b7dce85673778a5a7d", - "scope": "MCP Cloud config hardening", - "outcome": "Supersedes prior review; parser bypasses fixed with separate metadata", - "checks": "check:codex-cloud; Cloud config tests" + "date": "2026-07-26", + "ref": "execute-audit-remediation-fixes", + "head": "599cc563d7ff9df3aaff605f392a3d57d483ef40", + "scope": "Deep review and bug hunt across Phase 1 & Phase 2 audit remediation changes, git conflict resolutions, RAG UI governance fail-closed checks, privacy routing mocks, and offline RAG evaluation suites.", + "outcome": "Discovered and remediated a fail-closed governance defect in `src/components/clinical-dashboard/evidence-panels.tsx`, where a loose `isSourceBacked !== false` check allowed untrusted answers with missing relevance evaluations to pass through, and where `ClinicalNotesChecklistPanel` and `clinicalNotesDisplayCountForAnswer` were not trust-gating visual evidence before rendering tables or calculating tab counts. Replaced with explicit `=== true` check and wired `trustGatedAnswerForClinicalNotes` into the components and helpers. Also confirmed merge conflict resolutions in `service-catalog-mapper.ts` and `api/answer/route.ts` are spotless, and `privacy-ui.test.ts` static Next router mocks are functioning correctly.", + "checks": "`npx vitest run tests/visual-evidence-tabs.dom.test.tsx` (6/6 passed); `npm run eval:rag:offline` (21/21 suites passed, 308 tests passed). No provider-backed checks run." }, { - "date": "2026-08-02", - "ref": "codex/mcp-config-hardening-merge", - "head": "a4a6a584f2ced6ffcd3a0fe0cb2471bbe71db7be", - "scope": "MCP Cloud config hardening", - "outcome": "Supersedes prior review; no findings after Windows shell-test guard", - "checks": "check:codex-cloud; Cloud tests 16 passed, 2 Windows-skipped" + "date": "2026-07-13", + "ref": "codex/deep-memory-live-reconcile", + "head": "59a976be639e1dede8acec65c1c14166ca71cadb", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #569; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-correctness", - "head": "1aa9822978668a10447ef3246bd60cda6f1208cb", - "scope": "ds-v2 PR-A correctness (HCM/contrast/prop-unions)", - "outcome": "ready-to-merge", - "checks": "unit 4878p; verify:ui 344p; style-contract HCM 5p; verify:pr-local green (eval:rag:offline 574/574; fixture 36/23); typecheck+ds-contract green" + "date": "2026-07-13", + "ref": "origin/codex/deep-memory-live-reconcile", + "head": "59a976be639e1dede8acec65c1c14166ca71cadb", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #569; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-therapy-teardown", - "head": "4c96b90aa3e99f3e3aec81a005a1da6bf7a8792f", - "scope": "PR-T therapy-compass CSS teardown: delete therapy-compass.css, migrate tc-* to design-system control recipes, resolve #205/#016(e); focusRing local after ui-primitives rename", - "outcome": "gates green", - "checks": "check:design-system-contract green; docs-surface (links/scripts/inventory/index) green; test:e2e:critical 15/15; verify:ui 344 passed; verify:pr-local green (build+client-bundle+rag fixtures 36/36); tip includes ledger append" + "date": "2026-07-14", + "ref": "claude/filter-layout-search-prominence-kwrbwl", + "head": "59ced590a932e1c7fe28f26a94eb05105ce0e4dd", + "scope": "branch-cleanup", + "outcome": "Retained: newly pushed active work (feat(dsm) compact category filter); single unique commit, no PR yet.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-therapy-teardown", - "head": "f9cf75fefcf78a2049fa756322265ecb64845254", - "scope": "PR-T therapy-compass CSS teardown: delete therapy-compass.css, migrate tc-* to design-system control recipes, resolve #205/#016(e); focusRing local after ui-primitives rename", - "outcome": "gates green", - "checks": "check:design-system-contract green; docs-surface (links/scripts/inventory/index) green; test:e2e:critical 15/15; verify:ui 344 passed; verify:pr-local green (build+client-bundle+rag fixtures 36/36)" + "date": "2026-08-08", + "ref": "cursor/presentations-catalogue-tab-fb39", + "head": "59dceae612315e95a1114a215d2d8319e439880d", + "scope": "differentials presentations catalogue ModeNav tab", + "outcome": "shipped Presentations catalogue at /differentials/presentations; Compare entry moved to /differentials/compare; verify:pr-local passed; UI smoke confirmed 4 tabs", + "checks": "verify:pr-local; vitest design-system-adoption; curl presentations+compare; browser ModeNav QA" }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-tooling-loop", - "head": "40181192519fddc9405523d06bd3e691096cda6c", - "scope": "PR-0 tooling loop: Context7 + Chrome DevTools MCP wiring, design-sync and mockup-capture scripts, docs/env-example updates (11 files, +1005/-11, no clinical or RAG surfaces)", - "outcome": "gates green", - "checks": "verify:pr-local: format/lint/typecheck/lock-parity green; unit 4803 passed, 6 env-class WSL relay failures in ci-cache-safety.test.ts (Ubuntu distro stopped), focused rerun 13/13 green after WSL boot; check:rag:fixtures 36 golden cases green; build skipped by selector" + "date": "2026-08-09", + "ref": "claude/document-viewer-optimization-tu8tnj", + "head": "5a0d6be02bc92fa2615d2141b338ec8f7c1143b1", + "scope": "docs: document-viewer Phase 3 handover brief (PR #1765)", + "outcome": "Supersedes the earlier row, whose 'all ten gates completed' wording could read as all executable checks having run. Correct scope: verify:pr-local ran the ten gates APPLICABLE to docs-only changes (check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues); the risk router SKIPPED lint, typecheck, the full unit suite, RAG fixture validation, and build as recognised low-risk documentation scope. Also records the merge resolution: duplicate #286 (main's in-page-nav series vs this branch's authorizationHeader row) resolved by renumbering the branch row to #289, next-id 290, after the auto-merge silently dropped that detail row rather than conflicting. Review findings addressed: governance preflight now required by behaviour per AGENTS.md:257 rather than inferred from pr-policy path classification; API-route scope contradiction resolved; signed-URL warning corrected to state both identity bugs are already fixed on main with regression coverage.", + "checks": "verify:pr-local ten docs-scope gates passed, none failed; check:outstanding-issues 287 rows unique ids next-id=290 no ids deleted; ledger:dedupe 771 unique rows; git merge-tree vs origin/main exit 0; viewer line refs re-verified against 50ef12e" }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-tooling-loop (PR #1568)", - "head": "b76bcc9fbc39f2f986a52869c810ba3cb89994f2", - "scope": "PR #1568 review-thread resolve", - "outcome": "fixed and resolved all 13 review threads (fail-closed project identity, inventory exit code, provenance demo id, buildCmd execution, chrome pin, context7 rollback); ledger row for superseded 93d41c1 dispositioned", - "checks": "node --check scripts; design-sync --dry-run; no provider-backed checks" + "date": "2026-08-15", + "ref": "codex/fix-documents-without-live-images", + "head": "5a2530ee107a1c849dafb716deca462bcaca848e", + "scope": "Document cover thumbnail audit and repair", + "outcome": "Preserved generation fences and storage cleanup P2 fixes while merging the latest base; reconciled the archived repair-script path and verified no new P0-P2 finding.", + "checks": "git diff --check; node --check archive script; ledger inbox/outstanding-issues/branch-ledger/discipline guards; cover repair/archive static contracts; focused Vitest attempted but unavailable because the isolated worktree has no node_modules" }, { - "date": "2026-08-01", - "ref": "claude/ds-v2-tooling-loop (PR #1568)", - "head": "f6317ea48355c26e080ce45b6f574159e8397e24", - "scope": "PR #1568 unblock/fix", - "outcome": "merged origin/main (behind-but-clean; merge-tree was clean); cleared GitHub DIRTY/CONFLICTING; advisory review threads left open (not merge/CI blockers); auto-merge remains armed", - "checks": "merge-tree clean; ahead 7 behind 0; no provider-backed checks; no product code fix needed" + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-payload-trim", + "head": "5a6ce71153198c746fab96859d5895374ac05bb9", + "scope": "branch-cleanup", + "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-payload-trim; git diff --name-only reported 50 path(s)." }, { - "date": "2026-08-01", - "ref": "claude/sentry-agent-monitoring-eri94v", - "head": "86983f344b45e42310e9f167a5adb0a56e46ddb5", - "scope": "pr-1551", - "outcome": "merge-ready-pending-ci: merged origin/main; fixed outstanding-issues blank-line/#183 orphan + renumbered npm row to #204; kept worker+wizard error-tracking sections; qodo claim-spam thread already fixed on prior tip and resolved", - "checks": "check:outstanding-issues pass; merge-tree clean vs origin/main; prior tip Static PR failed on outstanding-issues; push 86983f344" + "date": "2026-07-14", + "ref": "claude/perf-r2-payload-trim", + "head": "5a6ce71153198c746fab96859d5895374ac05bb9", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-01", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "4f4440fd6776742f5de203ee15295f372205321d", - "scope": "search results bar: scope-system deletion, filter shelf, bar anatomy", - "outcome": "Handoff for PR #1555. Deleted the inert command-scope system (voided props, six modes' scope config, three matchers, four no-op call sites, the original shelf) — behaviour-preserving because every matcher early-returned true on a permanently-empty array. Rebuilt the applied-filter shelf prop-driven on live facet data, scoped to documents and therapy-compass. Landed the bar anatomy: tile spinner and funnel states, Filter to the right edge, Sort inboard. Study step 6 (remove the library button) deliberately declined — the nav route clears the query via onSearchModeChange. Ledger #182 closed.", - "checks": "verify:pr-local exit 0 (460 files / 4796 tests, production build, client-bundle secret scan, RAG fixtures 36 cases / 23 suites); ui-tools 87 passed; ui-smoke + ui-accessibility 108 passed 1 failed (pre-existing PDF-canvas test, fails identically stashed, Chromium 1194 vs pinned 1228); mutation-tested the shelf's survives-loading guard" + "date": "2026-07-25", + "ref": "audit-remediation (PR #1153)", + "head": "5a731df5c25fed9b07fd2321a0ad4b6519471f4b", + "scope": "PR babysit: CodeRabbit thread fixes + merge", + "outcome": "Before: MERGEABLE/BLOCKED on required_review_thread_resolution + pending CI; 6 CodeRabbit threads. After: fixed sync-skills pad/YAML escape, PDF temp cleanup, squash-aware rollback wording; dispositioned ledger mid-table + retained false-positive; approved CI; merged to main `191b17d2f` (merge commit); branch deleted; tip is ancestor of main.", + "checks": "Hosted CI green on tip; no provider-backed checks." }, { - "date": "2026-08-01", - "ref": "codex/cloud-connected-profile-boundary", - "head": "55b08496a5ee3495eed8a7436e8f69ae7b6612d8", - "scope": "Cloud connected profile credential boundary", - "outcome": "Reviewer findings fixed: cross-tenant service-role credential scrubbed and duplicate Supabase MCP parameters rejected", - "checks": "Cloud static PASS; focused Vitest 15/15; Bash syntax PASS; targeted Prettier PASS" + "date": "2026-07-14", + "ref": "claude/therapy-compass-pages-rz0m5l", + "head": "5a89a521add5a02dc4f6dd640b393c5bdd690183", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-08-01", - "ref": "codex/cloud-connected-profile-boundary", - "head": "6fddcfc780b237b6b2cd524dbebd7b1de70d9701", - "scope": "Cloud connected profile credential boundary", - "outcome": "No high-confidence issues after least-privilege MCP hardening and portable Git fixture fix", - "checks": "Cloud static PASS; focused Vitest 15/15; full format PASS; Bash syntax PASS; PR-local dry-run" + "date": "2026-08-19", + "ref": "gemini/safe-workflow-guards-and-motion-contracts", + "head": "5ad1f0d687bb4999c25ae96194f467c542569fac", + "scope": "release-readiness", + "outcome": "MERGE_READY", + "checks": "audit:final-merge, check:design-system-contract, check:outstanding-issues, check:branch-review-ledger, check:ledger-write-discipline, tsc, Vitest (140 tests)" }, { - "date": "2026-08-01", - "ref": "codex/review-latency-and-lazy-loading-optimizations", - "head": "5f069a7fec4e6ada47a0074aa5f2ea2c9dc97830", - "scope": "pr-1562 unblock", - "outcome": "unblocked: merge-tree was clean behind-by-4; merged origin/main; no unresolved threads; prior tip CI green including Production UI + PR required", - "checks": "merge-tree clean vs origin/main; gh mergeable was CONFLICTING/DIRTY (staleness); unresolved threads 0; auto-merge off" + "date": "2026-07-26", + "ref": "`codex/phone-footer-glass`", + "head": "5ad4f8b28", + "scope": "Final phone footer glass and scroll-stability review", + "outcome": "APPROVE. Replaced the opaque phone footer/safe-area slab with localized translucent glass across shared docks and page-owned calculator/document composers; hidden chrome releases paint, pointer ownership, and reserve. Final review found and fixed calculator reserve under-budgeting plus Chromium scroll anchoring feedback, with insufficient-runway collapse refusal and sufficient-runway frame-monotonic hide/reveal. No P0-P3 findings remain. Highest residual risk is physical iOS/WebKit safe-area and momentum compositing beyond simulated Chromium.", + "checks": "`verify:cheap` PASS (393 files; 3518 passed / 2 skipped); focused Services/Calculators and calculator transition Chromium PASS; `verify:ui` production build 312/313 with the sole unchanged Answer short-runway geometry outlier immediately passing exact rerun 1/1; final diff review APPROVE; no provider-backed checks." }, { - "date": "2026-08-01", - "ref": "work", - "head": "d4a4463172671cff3fd333feb685fa397e4f95d0", - "scope": "latency, lazy loading, React and Next.js frontend performance", - "outcome": "P2 eager document administration bundle boundary fixed; no P0/P1 findings", - "checks": "lint; typecheck; 463 files/4811 tests; production build; bundle budget" + "date": "2026-07-25", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "5b5ecf4057b54f1b689935f8cb876a2ed1cbdb3a", + "scope": "Bugbot triage after 0c2b60a REQUEST CHANGES: verify prior P1/P2 on 8b812b116 and fix remaining defects", + "outcome": "P1 confirmed: `composerChromeFocused` still latched after phone dock teardown (`shouldAutoFocusComposer` only covers answer autofocus). Fixed by clearing focus pins when dock inactive / hide-on-scroll disabled. P2 confirmed: reserve-only hide gate still ignored offset (118/191 material-clamp frames); fixed with `offset <= postCollapseMaxOffset + tol`. Compact answer hide retained; material clamps ? 0. Prior autofocus/retainTarget mitigations kept.", + "checks": "Node stress before/after; vitest use-hide-on-scroll + mobile-composer-reserve 28/28; no provider/UI browser matrix." }, { - "date": "2026-07-31", - "ref": "1489", - "head": "67d5cb91083f9b0e9d3017816cbf68abab102688", - "scope": "PR 1489 review — Therapy startup/sidebar perf, catalogue split, bundle-budget, phone-chrome", - "outcome": "approved with follow-ups; merged 945148251. No P0/P1. Findings fixed on claude/pr-1489-review-786e01: inferred modality mislabelled ECT/rTMS as ACT and Psychoanalysis as CBT (pre-existing on main); hashed catalogue assets never pruned (2 stranded in-PR); classifyPullRequestFiles returned clinicalRisk:false for 205 clinical records; viewportHeightChanged guard outranked topRevealOffset; guard keyed innerHeight not visualViewport; sk-proj- keys unescaped; bundle-budget step timeout 3m too tight. Bundling note: operationalRisk+clinicalRisk in one squash, so no per-item revert.", - "checks": "verify:cheap static gates pass; lint pass; typecheck exit 0; vitest 449 files/4700 pass; verify:phone-chrome contracts 116 pass + focused browser 13 pass; verify:ui 342 pass/2 fail, both pass isolated (composer hero-vs-dock hydration race, no position: assignment in use-hide-on-scroll)" + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "5b616da1f84ffde127473e327e3ab63369244749", + "scope": "PR babysit: ledger duplicate clarification", + "outcome": "Clarifies the CodeRabbit duplicate-ledger thread without rewriting append-only history: the later `b3b1eb7e7084859cd18c05152be1b9f8968592ff` row at prior line 1072 is a superseding clarification of the earlier same-commit #1254 row, not a second independent sweep. PR body metadata and review-thread reply/resolve still require GitHub write tooling unavailable in this run, so DO NOT MERGE until those are completed and hosted required CI is green.", + "checks": "`npm run check:branch-review-ledger` required after this append; no provider-backed checks run." }, { - "date": "2026-07-31", - "ref": "claude/ci-testing-review-2l8klp", - "head": "fa304a5332443f544a676bdf35d813797154f87c", - "scope": "PR #1466 reopen-prep", - "outcome": "READY: main merged (clean), phoneContract sibling arm fixed+pinned, Codex Cloud origin inspect uses configured URL (insteadOf-safe), prior Codex/Copilot/CodeRabbit threads resolved, no cursor[bot] Bugbot findings, PR left CLOSED", - "checks": "verify:cheap PASS (444 files / 4652 passed, 4 skipped); prettier --check . PASS; check:ci-scope PASS; verify-phone-chrome+codex-cloud-setup+test-runner-safety+playwright-project-isolation 59/59; merge-tree clean before merge; Bugbot none" + "date": "2026-07-25", + "ref": "information-page-shell (PR #1148)", + "head": "5b9574af480", + "scope": "Babysit sweep: unify information-page structure — squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-31", - "ref": "claude/clinical-kb-design-system-333a69", - "head": "d51b2b7ac8969e21aae9c328c525ae22dccbcccd", - "scope": "v2 design-system layer: tokens+26 components, C1 reconciliation, cascade port, HCM block, danger contrast, AsyncButton type", - "outcome": "handoff: PR opened, squash auto-merge armed on green", - "checks": "vitest contracts 67/67 pre-merge, 74/74 post-merge; export baseline tsc/lint/verify:ui 344 recorded" + "date": "2026-07-25", + "ref": "information-page-shell (PR #1148)", + "head": "5b9574af480", + "scope": "Babysit sweep: unify information-page structure ? squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-31", - "ref": "claude/fable-implementation-fc937c", - "head": "14e3c3773d8be0a771673248e898c9bcde08b8dc", - "scope": "pr-1531 review-and-fix", - "outcome": "fixed-sentry-privacy-blockers; merge-tree-clean; threads-cleared", - "checks": "vitest:error-tracking+env-sentry 6/6; tsc --noEmit 0" + "date": "2026-08-11", + "ref": "claude/spacing-icon-design-review-rxwh28", + "head": "5b96281ee7da817d5ce7f1102004ebe6f861b920", + "scope": "pr-1815 heavy review-and-fix", + "outcome": "remote already merged main (shadow-tight Switch kept); cherry-picked privacy -mb-4 reclaim + calculators dock cancel; removed duplicate UniversalSearchAlsoMatches; rail-aware section-sheet focus restore; dispositioned CodeRabbit docs/ledger/gates nits and outdated Sentry skeleton gap", + "checks": "verify:cheap PASS prior tip; verify:pr-local PASS prior tip; vitest privacy+in-page-nav 28 passed on cherry-pick; merge-tree clean vs origin/main" }, { - "date": "2026-07-31", - "ref": "claude/fable-implementation-fc937c", - "head": "2147572428271278462db2aac169a5c3c0a2bcc7", - "scope": "pr-1531 unblock", - "outcome": "reverted CodeRabbit autofix (next.config env import broke build; prettier docs); merged origin/main behind-but-clean; merge-tree-clean", - "checks": "prettier design-system+next.config; eslint next.config --max-warnings 0; merge-tree clean vs origin/main" + "date": "2026-07-13", + "ref": "codex/pr-592-fix", + "head": "5bab36c456f57b32437d6c01f0ce30b32244fec4", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-31", - "ref": "claude/fable-implementation-fc937c", - "head": "8401138cf7fc2c02d2fad54a7960bbb66d1fd7ae", - "scope": "design-system doc set (SPEC/TOKENS/COMPONENTS/DECISIONS/GATES) + sentry-merge repair (instrumentation syntax, ui-primitives icon revert, sentry options, formatting)", - "outcome": "handoff: PR opened for review; auto-merge not armed (clinical-risk paths)", - "checks": "tsc 0 errors; vitest ui-primitives.dom+icon-button.dom 7/7; token contracts 47/47 (design branch); prettier whole-tree; docs:check-links 1486; eslint 0 errors" + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr7-ci-hardening", + "head": "5bab36c456f57b32437d6c01f0ce30b32244fec4", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #592.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { "date": "2026-07-31", - "ref": "claude/fable-implementation-fc937c", - "head": "e87d4e583cec7277f6c1ff2fc5c3a08b2d1b37aa", - "scope": "pr-1531 unblock", - "outcome": "fixed static-pr eslint anon-export + build bundle-budget (-client Sentry); merge-tree-clean; 0 blocking threads", - "checks": "eslint next.config --max-warnings 0; check:bundle-budget within tolerance (1394.0/1278.6 KiB gzip); vitest error-tracking+env-sentry 6/6" + "ref": "claude/issues-133-evidence", + "head": "5bb1bc8d8b1d3ba8aebdce5c348887c596f6b8e6", + "scope": "docs/outstanding-issues.md: re-land #154 (id-allocation hazard) and #155 (--med-accent-soft) after PR #1506 closed unmerged", + "outcome": "Recorded. Branch synced to origin/main; main had since taken #151 so the hazard row moved to #154 and --med-accent-soft landed as #155 (its fifth renumber) - both self-demonstrating the row's own claim. PR #1506 to be reopened by the user.", + "checks": "check:outstanding-issues exit 0 (153 rows, 45 open, 108 archived, unique ids, next-id=156, no ids deleted from base); verified zero origin/main ids lost after taking main's table as canonical; pre-push guard passed on pushed commit" }, { - "date": "2026-07-31", - "ref": "claude/frosty-mayer-2c6167", - "head": "9106c8f379f13d01428484463385d3d5f27c964e", - "scope": "PR #1451 review+bugbot+fix", - "outcome": "clean; merged main; archived #161; mockup already on main; no threads", - "checks": "merge-tree clean; check:outstanding-issues; 0 unresolved threads" + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "5bb39ac21b8b28a48287699bb6f7c27de1119786", + "scope": "PR #1482 final corrected current-main review", + "outcome": "No findings; #105 remains open per #1459 and three resolved rows are archived", + "checks": "current-main merge complete; outstanding guard PASS at next-id 149; deployment-input scope self-test PASS" }, { - "date": "2026-07-31", - "ref": "claude/frosty-mayer-2c6167", - "head": "aa3d2b7f52771f0d5397c0629dc62ac224f6a6ee", - "scope": "PR #1451 reopen readiness", - "outcome": "clean; merge conflict resolved; bugbot none; NOTES attribution fixed; keep closed", - "checks": "check:outstanding-issues; design-token-contract 31/31; merge-tree clean; pr-bugbot no comments" + "date": "2026-07-14", + "ref": "codex/lithium-answer-recovery-pr", + "head": "5bc19c665b1d9d9069485bb871d7ddb566858ccd", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; the inactive clean worktree was removed without deleting the ref.", + "checks": "Local cherry-pick-aware comparison and reachability check." + }, + { + "date": "2026-07-14", + "ref": "origin/codex/lithium-answer-recovery-pr", + "head": "5bc19c665b1d9d9069485bb871d7ddb566858ccd", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-07-31", - "ref": "claude/frosty-mayer-2c6167", - "head": "ce8f61ff96f78b8d0df4b79004490370d13db945", - "scope": "PR #1451 review+bugbot+fix", - "outcome": "clean; merged main; archived #161; mockup already on main; no threads", - "checks": "merge-tree clean; check:outstanding-issues; 0 unresolved threads" + "date": "2026-08-17", + "ref": "https://github.com/BigSimmo/Database/pull/2023", + "head": "5bcce8927e60ce8271473823460aa281d79fca1f", + "scope": "src/app/api Zod row contracts (ledger #212 tranche 3) + 2 ledger inbox requests", + "outcome": "Approved -- 4 unchecked structure-asserting casts on inbound DB/RPC data replaced with constraint-backed Zod assertions in new src/lib/validation/row-contracts.ts; 3 outbound Json telemetry casts audited and deliberately left; no src/lib/rag/** edit so ragRanking is false; 4 unrealistic document_labels test fixtures corrected without weakening assertions", + "checks": "verify:pr-local 13 steps green (format:changed, lint, typecheck, check:ledger-write-discipline); npm run test 6699 passed with only 2 pre-existing failures proved identical on a clean worktree at merge base d02767184; build exit 0; check:rag:fixtures 36 golden cases; api-row-contract 27/27; pr-policy evaluator 0 errors 0 warnings" }, { - "date": "2026-07-31", - "ref": "claude/frosty-mayer-2c6167", - "head": "da0b7d5ab1b39e0f57ec33309a8876289324f1d4", - "scope": "PR #1451 review+bugbot+fix", - "outcome": "clean; re-synced #1521; archived #161; docs-only unique delta; no threads", - "checks": "merge-tree clean; check:outstanding-issues; 0 threads" + "date": "2026-07-30", + "ref": "PR-1497", + "head": "5bcf26b12b89e89539a3dfc903155cc49475a68b", + "scope": "PR #1497 append-only ledger reconciliation", + "outcome": "APPROVE: existing ledger order restored; exact PR diff is three append-only review rows; no remaining findings", + "checks": "typecheck PASS on repaired code; parent unit coverage PASS; branch-review-ledger PASS; unresolved threads 0; fresh hosted CI required" }, { - "date": "2026-07-31", - "ref": "claude/frosty-mayer-2c6167", - "head": "edc237718eeca9890e05d0cfcd075cb52fae4a2a", - "scope": "PR #1451 reopen readiness", - "outcome": "clean; re-synced main #1511; renumbered med-accent-soft #154->#155; keep closed", - "checks": "check:outstanding-issues; merge-tree clean; bugbot none" + "date": "2026-08-18", + "ref": "claude/settings-development-section (PR #2109)", + "head": "5bda0941ea2b257af23f569a25e7659bcebcdf40", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: Static PR checks failing (design-system-contract ratchet — legacyShadowAliases at settings-dialog.tsx increased 3 -> 4 via var(--shadow-soft) in the new Development section), 0 unresolved review threads, branch 1 commit behind main (clean merge-tree). After: synced origin/main into the branch via update_pull_request_branch (no conflicts, base now 5ae2bb6e), fixed the shadow-alias regression by switching to shadow-[var(--e2),var(--shadow-inset)] (same pattern as account-setup-dialog.tsx), pushed b1f9dac6..5bda0941. No review threads existed to action.", + "checks": "npm run check:design-system-contract -> 'Design-system contract passed'; node scripts/run-vitest.mjs run tests/settings-dialog-actions.dom.test.tsx tests/client-secret-surface.test.ts -> 'Test Files 2 passed (2) / Tests 13 passed (13)'; npx tsc -p tsconfig.typecheck.json --noEmit -> exit 0 no diagnostics; npx eslint settings-dialog.tsx -> exit 0; npx prettier --check settings-dialog.tsx -> 'All matched files use Prettier code style!'; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "claude/issues-133-evidence", - "head": "37f71f02f731175e4fed500f95529c3ef9eb568f", - "scope": "PR #1506 reopen prep: sync main, renumber hazard to #155, supersede #112 residual", - "outcome": "READY — conflict cleared vs origin/main; main #154 preserved; hazard=#155 with archived #112 residual cross-link; med-accent=#156; false #155 evidence clause removed; Codex P2 addressed; Bugbot P1/P2 fixed; PR left CLOSED", - "checks": "check:outstanding-issues 154 rows/46 open next-id=157; check:branch-review-ledger 277 live; merge-tree clean da0c63d0; format no-op" + "date": "2026-08-07", + "ref": "cursor/viewer-phase2a-frame-controls-1db8 (PR #1687)", + "head": "5c10730be1641a386ee8c8476778933588a822fc", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: up to date with main, Static PR fail (format:changed pdf-canvas-viewer), 1 outdated CodeRabbit thread (ref sync) already fixed on head → after: prettier format fix pushed; thread left open (no review-write API as cursor[bot]); CI re-running", + "checks": "format:changed fail→prettier --write pdf-canvas-viewer.tsx; format:changed PASS locally; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "claude/issues-133-evidence", - "head": "5bb1bc8d8b1d3ba8aebdce5c348887c596f6b8e6", - "scope": "docs/outstanding-issues.md: re-land #154 (id-allocation hazard) and #155 (--med-accent-soft) after PR #1506 closed unmerged", - "outcome": "Recorded. Branch synced to origin/main; main had since taken #151 so the hazard row moved to #154 and --med-accent-soft landed as #155 (its fifth renumber) - both self-demonstrating the row's own claim. PR #1506 to be reopened by the user.", - "checks": "check:outstanding-issues exit 0 (153 rows, 45 open, 108 archived, unique ids, next-id=156, no ids deleted from base); verified zero origin/main ids lost after taking main's table as canonical; pre-push guard passed on pushed commit" + "date": "2026-08-15", + "ref": "claude/services-search-redesign-163", + "head": "5c1befa6bc7947381b707efaa50daa6e86ca9a88", + "scope": "review-and-fix", + "outcome": "P2 fixes published: serialize result-row favourite mutations and keep failed loads state-neutral and unavailable", + "checks": "focused services DOM tests 8/8; typecheck; lint; format:changed; branch-review-ledger; outstanding-issues; git diff --check" }, { - "date": "2026-07-31", - "ref": "claude/issues-writer-cli (PR #1524)", - "head": "83dec1f5a36d577c87ee9a5382ef8431d197d93d", - "scope": "PR #1524 review+bugbot+fix", - "outcome": "before: dirty/CONFLICTING vs main (outstanding-issues.md + scripts-index.md), missing pull_request CI, 0 review threads, NOT REVIEWED. after: merged origin/main (prefer main queues; renumbered this PR collision-free-ids note #159→#168, next-id=169); fixed wrong skill/writer cite #154→#156/#168; no other P0–P2 writer defects; 0 threads. Residual: concurrent id RMW (#156/#168) still open.", - "checks": "check:outstanding-issues pass (166 rows, next-id=169); outstanding-issues.mjs --self-test pass; vitest tests/outstanding-issues-writer.test.ts 8/8; merge-tree clean vs origin/main; format clean; no provider-backed checks" + "date": "2026-08-04", + "ref": "claude/ds-v2-empty-state-heading", + "head": "5c1c1b32c8efb030a8603ac281c59108b842798d", + "scope": "PR #1612 — EmptyState headingLevel (#217), /dsm/search heading (#224), document-search empty-state adoption, ledger #230", + "outcome": "self-review clean; no findings raised", + "checks": "typecheck 0; lint 0; vitest 5085 passed/3 skipped; verify:ui 347 passed; prettier whole-tree clean; verify:pr-local exit 0" }, { - "date": "2026-07-31", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "7056a3e73c568c0dd4cf8d43ab98f47eb9a63acc", - "scope": "PR #1505 docs #147 CLS attribution", - "outcome": "ready-for-reopen: main synced, CI was green on prior head, no Bugbot threads; fixed P2 mis-attribution of /therapy-compass to overlay reserve (collapse-motion exception); left PR closed", - "checks": "check:outstanding-issues; prettier --check docs/outstanding-issues.md; git merge-tree clean; bugbot-style review no prior threads; diff-review P2 fixed" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "5c2816d1dc2e7a99c37d27310b487bcac5232db3", + "scope": "Production UI CI fix: differentials-home hydration strict-mode", + "outcome": "FIXED. Hosted Production UI failed solely on `dashboard differentials mode param redirects…`: `getByTestId(differentials-home)` hit 2 nodes (server+client overlap). Applied `expectSingleSettledOwner` before the visibility assert. No product change.", + "checks": "Focused production Playwright journey PASS 1/1 via `npm run test:e2e` (system Chrome); no provider-backed checks." }, { - "date": "2026-07-31", - "ref": "claude/ledger-relanding", - "head": "30ec06964e4235d9f0b4bb782f357e6b4fb59430", - "scope": "re-land the three session findings lost when PR #1490 was closed", - "outcome": "MERGED as PR #1508 (squash 7b551abc4). Ledger-only: #151 corrects the claim that CI is unreadable (PAT has Actions:read though not Checks:read), #152 re-lands the at-risk worktree inventory with the four preservation snapshots, #153 archives the hook fix. Verified landed by content on main, not by PR state or row id", - "checks": "CI, PR Policy, PR mergeability, SAST, Secret Scan all completed/success via the Actions API; check:outstanding-issues 151 rows 45 open unique ids next-id=154; docs:check-links 1414 refs; prettier clean" + "date": "2026-07-29", + "ref": "codex/search-composer-focus-pwa", + "head": "5c6a75c21833dc31d4f8658cec15154f58918a36", + "scope": "PR #1373 unresolved review comment remediation", + "outcome": "P2 test race and keyboard/scrollbar intent gaps fixed", + "checks": "focused Vitest 48/48; typecheck; diff check" }, { - "date": "2026-07-31", - "ref": "claude/pre-commit-fail-open", - "head": "7b96a09b8500adc917cf5549b1c61142b2244b39", - "scope": "pre-commit hook fail-open when the inventory script is absent", - "outcome": "MERGED as PR #1494 (squash 387c3b653). Resolves ledger #153: core.hooksPath is absolute to the primary checkout, so the hook ran in worktrees lacking scripts/update-docs-inventory.mjs and aborted with MODULE_NOT_FOUND. Guard drops the inventory task and re-checks the all-tasks-empty exit; grep carries || true because set -e treats a fully-filtering grep as failure", - "checks": "isolated-repo probe with the script genuinely absent: prints skipping inventory sync, commit succeeds; sh -n clean; no-op when the script is present; prettier does not parse shell so format:check skips it" + "date": "2026-07-30", + "ref": "origin/audit-remediation", + "head": "5c6cef2fec5f4457dc46c0dc0e758d259e0c1dc8", + "scope": "branch-cleanup", + "outcome": "RETAIN. PR #1153 merged earlier but tip still differs from main on test-run-lock wait semantics, PDF extractor empty-stderr path, and related tests. Unique content not absorbed; keep until ported or rejected.", + "checks": "ledger lookup; cherry-pick+blob equality vs main; gh PR #1153 MERGED; open=0; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { "date": "2026-07-31", - "ref": "claude/root-dir-coverage-gate-v2", - "head": "398660144d93aeefc2e5649c156948a68925cb64", - "scope": "docs:check-index repo-root coverage, stale script counts, ledger correction", - "outcome": "MERGED as PR #1458 (squash 907fd9f4a). Root-directory coverage pass for docs:check-index, red-then-green proven (flagged .cursor/.design-sync/.vscode, then 49 entries vs 31). Main landed an equivalent pass independently in #1480, so the two overlapped; no duplication reached main. Row not recorded at the time - appended retrospectively", - "checks": "verify:cheap exit 0, 435 test files / 4574 tests pass; codebase-index-coverage 10/10 incl 4 new root cases; eslint clean; docs gates green; prettier clean" + "ref": "origin/audit-remediation", + "head": "5c6cef2fec5f4457dc46c0dc0e758d259e0c1dc8", + "scope": "branch-cleanup (supersedes 2026-07-30)", + "outcome": "safe-delete superseding prior retain: coordinator replaces old lock wait loop; current PDF signal/code handling and focused tests supersede stale patch; archived batch15", + "checks": "fresh current coordinator/PDF/test inspection; merged audit history; bundle verify" }, { - "date": "2026-07-31", - "ref": "claude/search-results-mockups-iz7owo (PR #1514)", - "head": "1daa6b3d7979f2aed8e50b8a4661690bde5c1073", - "scope": "closed-PR reopen prep", - "outcome": "Synced origin/main (behind 68, merge-tree clean, no conflicts). No unresolved Codex/Bugbot/Copilot/human threads. Tip review: no P0-P2 (phone forms presentation only; clinicalRisk false, not RAG). Pathway guard narrowed intentionally; page-level exact guard intact. Ready for reopen; leave CLOSED. Fresh mergeability/CI count only after reopen.", - "checks": "ledger:lookup NOT REVIEWED; git fetch origin/main; merge-tree clean; git merge origin/main; gh reviewThreads=0; classifyPullRequestFiles clinicalRisk=false ragRanking=false; tip-vs-base review (no local suites; closed-PR CI treated stale; no provider-backed checks)" + "date": "2026-07-28", + "ref": "PR-1297", + "head": "5c7c4ff8cc92a3af1cd0a65898067272f332809e", + "scope": "PR #1297 full diff vs origin/main", + "outcome": "APPROVE after main sync; no high-confidence P0-P2 defects", + "checks": "Local diff review and merge-tree clean; prior exact-head PR required, build, unit coverage, and Production UI passed; new exact-head CI pending" }, { - "date": "2026-07-31", - "ref": "claude/sentry-agent-monitoring-eri94v", - "head": "38378ac78c0b288b6e93b638019653001f375042", - "scope": "Sentry AI agent monitoring (OpenAI wrap, gen_ai scrubber allowlist, conversation id)", - "outcome": "pass — metadata-only instrumentation; privacy boundary preserved", - "checks": "verify:pr-local,verify:cheap,typecheck,vitest 458 files green" + "date": "2026-07-30", + "ref": "codex/archive-completed-ci-tasks", + "head": "5c902f422ceee78ef68132900fda734c1d5bc1f8", + "scope": "archive issues 133 and 135", + "outcome": "approved: both rows were already resolved on current main and focused guards prove their contracts", + "checks": "check:ci-scope; check:outstanding-issues; check:branch-review-ledger; diff check" }, { - "date": "2026-07-31", - "ref": "claude/sentry-agent-monitoring-eri94v", - "head": "d521fe9dc4ce50e94273a77ee819332afc5bc7e1", - "scope": "Ingestion-worker Sentry error reporting (worker/observability.ts, SAFE_TAGS worker keys, @sentry/node direct dep, docs + ledger #183)", - "outcome": "pass — additive capture only; privacy scrubbers reused, worker events pinned by tests", - "checks": "verify:pr-local exit 0 (460 files/4794 tests, build, eval:rag:offline),build:worker,npm ci --dry-run,check:outstanding-issues" + "date": "2026-08-18", + "ref": "claude/patient-factsheets-search-regression-8iyvnd", + "head": "5c93cffd7e4cfa876e3926d8b40c4ae9bb0a84da", + "scope": "src/components/factsheets/factsheets-home-page.tsx,src/components/factsheets/factsheets-data.ts,src/components/factsheets/factsheets-icons.ts,tests/mode-home-loading-contract.test.ts", + "outcome": "approved", + "checks": "verify:pr-local (all 10 checks passed), live Playwright screenshot check at 390x844" }, { - "date": "2026-07-31", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "c09eb64918ae2956968d35f3253c405ed9b915d5", - "scope": "therapy-compass filter sheet + documents review fixes (C2)", - "outcome": "Therapy Compass's phone Topics/availability selects were faking multi-select (value pinned to \"\", literal check-prefix in option text, a Clear-filters action among the options); replaced with one sheet of aria-pressed toggles matching the wide viewport, in the tc- idiom. Also lands two CodeRabbit findings from merged PR #1542: sheet footer primary action to sm:min-h-12, and the dialog test now pins aria-expanded/aria-controls. Third finding (unmount skips focus restore) dispositioned no-change with a test pinning the scroll lock is not leaked.", - "checks": "verify:cheap exit 0 (458 files / 4785 tests); ui-accessibility.spec.ts 15 passed chromium incl. the rewritten Therapy Compass case; ui-smoke documents journey 1 passed chromium" + "date": "2026-08-18", + "ref": "claude/issues-capture-h5a-residual-ulid-lookup", + "head": "5c9b69a7e6bd2a3f2a1f5abac1a19a71a1cd153b", + "scope": "two immutable outstanding-issues inbox requests (P3 issue: H5a residual after G1; P3 rec: ledger writer id-scheme test gap) — no product code", + "outcome": "approved — inbox-request files only; canonical ledger untouched, applied later by issues:reconcile", + "checks": "verify:pr-local light docs scope, all 11 selected stages green (format:changed, docs link/index/inventory/scripts, branch-review-ledger, outstanding-issues, ledger-write-discipline); build/test correctly skipped as non-build-affecting; request JSON content verified incl. escaping" }, { - "date": "2026-07-31", - "ref": "claude/warning-consolidation-mockups-09jyj7", - "head": "7b41fcf581085872da76270b109e2795c6940677", - "scope": "PR #1437 warning consolidation mockups reopen prep", - "outcome": "ready-closed: main merged clean; follow-ups renumbered #155-#157; bugbot P2s fixed; origin insteadOf false-positive fixed; verify:pr-local green (444/4646)", - "checks": "verify:pr-local;check:outstanding-issues;merge-tree:clean;pr-bugbot;diff-review" + "date": "2026-08-13", + "ref": "claude/fable-tasks-issues-49hnvp", + "head": "5c9e1b6a6766efee147af97ff1ef2a53729f56e9", + "scope": "PR #1906 failing CI conflict repair", + "outcome": "Resolved the main-sync ledger conflict by preserving main #312 and converting the PR closure and follow-up into merge-safe inbox requests; removed numeric-ID assumptions from the remediation docs.", + "checks": "Latest GitHub Actions mergeability log inspected; decisive output lines for format, sitemap, documentation, link, and outstanding-issues checks were not captured in this record, so no pass status is claimed for them" }, { - "date": "2026-07-31", - "ref": "claude/warning-consolidation-mockups-09jyj7", - "head": "b02cfc9258446f6f46bb6acfadd4e978950865c2", - "scope": "PR #1437 warning consolidation mockups reopen prep", - "outcome": "ready-closed at tip (ledger row + prior fixes); PR remains CLOSED; body update attempted", - "checks": "verify:pr-local@7b41fcf5;merge-tree:clean" + "date": "2026-08-10", + "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", + "head": "5cb0e11e077a3aaf5b8e4ea37b26ac72b0328997", + "scope": "PR #1785 unblock/fix", + "outcome": "before: Production UI (3) failed on service-detail scroll endpoint (remaining 67px) at 38b3bd0c; GitHub DIRTY behind-but-clean vs #1791. after: merged origin/main + re-scroll toPass fix in ui-tools service-detail test; threads untouched; do not merge", + "checks": "CI Production UI (3) logs; git merge-tree clean; prettier ui-tools; product fix in same tip commit as this row" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "3e56dd910ff036fab8a3455bb85efa0c95143eeb", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "fixed Static PR exitProcess types + task-centred sk- escape mangling; modality CR out-of-scope; unresolved threads resolved", - "checks": "typecheck clean; vitest bundle-budget+escape+therapy-wiring+pathways 34/34; build-therapies-index --check: Therapy indexes are current (205 records)" + "date": "2026-07-30", + "ref": "codex/playwright-container-alignment", + "head": "5ce50f64993a43efb00c4f8cfa86c26c895b8532", + "scope": "issue 121 container browser fallback", + "outcome": "approved: managed browser remains preferred; immutable-container fallback is explicit, newest-compatible, logged, unit-pinned, and launch-proven", + "checks": "verify:cheap 443 files/4631 pass; focused vitest 37/37; fallback Chromium launch; focused Playwright 1/1; check:rag:fixtures; outstanding guard; diff check" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "7ecc4e189287a987e49a8c82cdab56986b354969", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "reviewed+stress-tested bundle-budget hang fix; main sync (RAG extract already on main); try/catch exit hardening; no P0-P2 remaining in fix delta", - "checks": "vitest bundle-budget 14/14; stress real-x40 p95~112ms max~119ms; concurrent-x10 max~338ms; failsafe-x100 0 misses; blocked-stdout/npm-run/over-budget/large-800 ok; check:github-actions; merge-tree clean 0 behind" + "date": "2026-08-12", + "ref": "claude/filter-lens-modes", + "head": "5cf8871ef122ec9e3d9b25ea65c4643d5a2cf2ba", + "scope": "filter contract PR A: lens adoption across differentials, medication, applications, specifiers", + "outcome": "PR #1857 opened; 4 bespoke aria-pressed rails converged onto SegmentedControl with one shared option array per mode; specifiers footerNote fixed (counted results+catalogueMatches while filters govern only results); ResultFilterSheet counted-option accessible name fixed (All8 -> All (8)) on both group kinds; SegmentedControl gained group-level ariaControls so the launcher keeps #launcher-results-panel; dead SpecifierFamilyFilterChips removed; scope segment deliberately deferred to services per filter-contract.md s4", + "checks": "verify:pr-local all steps green except build, which failed on the /issues #210 dev-types corruption and passed on a clean rebuild; unit suite 6100 passed/4 skipped with one 30s timeout (not an assertion failure) in design-sync-contract under parallel load, passing in isolation 7/7; bundle-budget production 1297.7 KiB and mockups 285.1 KiB both within tolerance on a verified-fresh build; browser proof at 1440/800/390/320px on all four modes, 0px overflow, 48px targets" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "82ab8e1bc2677dd6f35a880a8c294cd140e22a7e", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "fixed Production UI (1) Services viewport-shrink flake: viewportHeightChanged preserves hide-on-scroll; supersedes f3cd6db5 product tip after CI red on 2d3d4e82", - "checks": "vitest use-hide-on-scroll 23/23; playwright Services viewport journey 1 passed (2.2s); prior Production UI (1) job 91091393220 failed on ui-phone-scroll-page-owned:577 re-settle timeout" + "date": "2026-07-24", + "ref": "mobile-ergonomics-fixes (PR #1156)", + "head": "5cff1cd0cf69539f18307fdeabbe87fc8a0fb13c", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "986446f64cdfdbb780fc49ec62cbd90d08132f00", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "fixed Static PR exitProcess types + task-centred sk-escape mangling at 3e56dd91; modality CR out-of-scope; threads resolved; ledger tip", - "checks": "typecheck clean; vitest 34/34; build-therapies-index --check: Therapy indexes are current (205 records)" + "date": "2026-07-24", + "ref": "PR #1106 / `codex/task-ledger-final-11318f`", + "head": "5d128a2844c2298d0da36df64e5e2f7dda11e14b + reviewed follow-up diff", + "scope": "Universal task-ledger workflow and protected-main merge readiness", + "outcome": "APPROVE after follow-up. `docs/outstanding-issues.md` is the single durable task ledger, with retained work carrying order, acuity, timing, capability, effort, dependencies, success criteria, verification and stop rules. Four actionable review findings were fixed: filtered `/issues` reads now apply the filter to open items before rendering queued and non-queued results; the session hook excludes queued IDs from its priority summary; `#030` is consistently P2/A2 in the canonical open table and queue; and the sole A1/P1 blocker is first while `#052` is explicitly the first code task. No other actionable review thread remains in the reviewed scope.", + "checks": "Protected CI at the initial reviewed head passed policy, static, safety/config, unit coverage, Semgrep, Gitleaks, GitGuardian and the required aggregate; UI, build, migration replay and release browser matrix were correctly skipped for the docs/workflow scope. Follow-up proof: scoped Prettier; hook syntax/runtime plus exact ID-deduplication, P2-count and A1-first assertions; docs links (1,136 references); canonical skill catalog (32 skills, 8 aliases); `git diff --check`. Exact-head hosted CI remains required after the follow-up push. No OpenAI, Supabase, Railway, deployment or production-data operation ran." }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "a861c9680e283fee9fcc43828e7c7a5fc818eef3", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "synced origin/main (d766d53a mockups); merge-tree clean; GitHub DIRTY was behind-but-clean; supersedes 82ab8e1b/ef5e9e91 after main sync", - "checks": "merge-tree --write-tree exit 0; check:outstanding-issues passed (165 rows); ledger:dedupe no duplicates; 0 behind main" + "date": "2026-07-17", + "ref": "final historical branch/worktree cleanup against `origin/main`", + "head": "5d195d7ca8752b2ae4006725c6b145c5662bb687", + "scope": "branch-cleanup", + "outcome": "Merged PRs #716 and #717, closed superseded PR #700, and removed the three clean task worktrees. Deleted exact remote refs for `codex/mobile-search-phone-fix-20260717` (`590f32b73`), `claude/audit-findings-review-phgz92` (`ea3b8f95b8`), `codex/chat-forms-import-6914` (`b05da82f82`), `codex/chat-supabase-migration-preflight-b463` (`1ef0faee95`), and `codex/dsm-diagnosis-mode` (`f6cda83ca6`); the merged #716/#717 branches were deleted automatically. Deleted 14 unregistered local refs only after direct-main ancestry, exact ledger deletion-pending proof, or exact merged-PR commit provenance. Final inventory found zero remote branches without an open PR or registered worktree, zero locally merged or exact deletion-pending orphan refs, and no retired target refs or paths. Thirteen non-ancestor local refs and 25 registered worktrees remain preserved because they are backups, patch-unique/unresolved, open-PR-owned, or ownership could not be safely disproved.", + "checks": "Fresh fetch/prune; exact GitHub PR/head/merge associations; cherry-pick-aware logs; DSM PR #661 exact commit/file provenance; exact leased remote deletes; exact-old-value local `update-ref` deletes; clean-worktree and path/process checks; worktree prune; final zero-orphan inventory. The Codex task registry lookup timed out, so ambiguous registered worktrees were conservatively retained. No Supabase, OpenAI, production-data, or live clinical workflow ran." + }, + { + "date": "2026-08-18", + "ref": "claude/db-remediation-phase4-indexes-a1661a", + "head": "5d3dca4dd7a0593a35e6d639144092dee6609256", + "scope": "Phase 4 index restoration: 20 concurrent index builds + 2 concurrent drops on production, 3 fail-fast guard migrations, search_schema_health required_indexes 22->30, schema.sql mirror, regenerated drift manifest, staging parity, forensics evidence", + "outcome": "PASS — 20/20 indexes rebuilt indisvalid+indisready with canonical definitions, 2 orphans dropped per the repo chain, live-drift 32171070287 shows missing_live 20->0 and unexpected_live 2->0, staging drift green (was 19). Two escalations recorded not absorbed: PITR is not enabled on production, and no migration_history allowlist entry was earned (empty intersection with the 15 no-statements versions)", + "checks": "check:migration-role; vitest supabase-schema + search-health-index-coverage + migration-history-guards + drift-detection + migration-history-placeholders + hosted-migration-role-guard (6 files, 109 tests); drift:manifest; check:rag:fixtures (36 golden cases); check:medication-interactions; check:medication-lexicon-report; verify:pr-local all stages pass except two load-induced timeouts (codex-cloud-setup, document-viewer-page-virtualization) that pass in isolation and are unrelated to this diff" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "aa8c2dfb1406a7a3f74745d20f2b370c75b55719", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "synced main (#1478 behind-but-clean); fixed docs inventory + #117 stale hashed paths; verify:cheap 4683 passed; verify:pr-local build+bundle-budget+RAG fixtures green; typecheck clean", - "checks": "verify:cheap: 448 files / 4683 passed; verify:pr-local: Client bundle secret surface check passed + Offline RAG fixture validation passed (36 golden cases); check:bundle-budget: within tolerance + done; format:check: All matched files use Prettier code style!; merge-tree origin/main clean" + "date": "2026-08-18", + "ref": "gemini/clinical-medication-graph-dedup", + "head": "5d46dc32a4667c87f9c3c9d844ad1a4a824e0ea7", + "scope": "Clinical medication graph & deduplication (#322, #323)", + "outcome": "READY", + "checks": "npm run check:medication-lexicon-report; npx vitest run tests/medication-interaction-lexicon-coverage.test.ts; npm run typecheck:internal; npm run lint:internal; npm run format" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "caced05a1bd9f0047e14ce5ab21d56f03f8ce0ec", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "fixed Build bundle-budget post-success hang (CI timeout→cancelled); stream measure + exitProcess failsafe + 3m step timeout; supersedes a861c968/2257c221", - "checks": "vitest bundle-budget 14/14; check:bundle-budget done; check:github-actions passed" + "date": "2026-08-21", + "ref": "claude/clever-bohr-w87uiz", + "head": "5d4aedb86809debbc277f534eae35fe015e9f5a1", + "scope": "tests/claude-cloud-profile.test.ts — sandbox HOME for every provisioner spawn so the suite stops reading the machine's real marker/lock directory", + "outcome": "Fixes a false red that landed via PR #2236: the held-lock test planted its fixture in the real ~/.cache/clinical-kb-claude-cloud, so a completed-tier marker short-circuited the deno tier before the code under test ran. Failed on any provisioned container, passed on CI's clean runners, which is how it reached main. HOME override suffices because the provisioner is a shell script; the applier still needs CLAUDE_CONFIG_DIR for the Windows os.homedir() reason. No production code changed. Adds a guard test pinning the isolation", + "checks": "vitest tests/claude-cloud-profile.test.ts in all three states with a real deno.marker on the container — before 1 failed 22 passed, after with marker present 24 passed, after with marker absent 24 passed; full offline suite 695 files 7726 passed 1 skipped exit 0; lint gate-receipts pass 4365 files; typecheck gate-receipts pass 4365 files; format:changed all files pass" }, { "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "d65141d47132e5f7d4efeb02fd908fb0562bf255", - "scope": "PR #1489 reopen prep: merge conflict + bugbot", - "outcome": "mergeable vs origin/main; no unresolved review threads; no P0-P2 product defects; added alias must-revalidate headers and deleted dead sidebar transition helper", - "checks": "merge-tree clean; check:outstanding-issues; build-therapies-index --check; therapy Vitest 21/21; format; typecheck" + "ref": "origin/claude/issues-upload-limit-sync-123366", + "head": "5d51f2d75dcd3070ec5667c21debb9ac1d9b630b", + "scope": "branch-cleanup", + "outcome": "safe remote delete: PR #1291 merged; only post-head change is its preserved exact-head CI ledger row; archived batch15", + "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "e2a470b6767c6a1537cfc0a606548b90efba8f38", - "scope": "merge-conflict-review #146 hide-on-scroll", - "outcome": "resolved: combined main range-change hold + viewportHeightChanged rebase; no remaining complicated conflicts", - "checks": "vitest use-hide-on-scroll+header-contract 53/53; format" + "date": "2026-08-06", + "ref": "cursor/grok-quick-wins-a2c0 (PR #1651)", + "head": "5d625d3e64752df0655c071b061642cfbbe4ea5f", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: Sentry+Devin threads (double-zoom, issues:done, TOKENS px) + stale queue renumber; after: fixed in 38b7f8e4+5d625d3e; 5 threads resolved; CI queued on runners; merge-tree clean", + "checks": "vitest gestures+hide-on-scroll 35 passed; outstanding-issues gate+writer self-test passed; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "f3cd6db568d4c1b39d01c50e03eeca76504bbd2c", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "supersedes ff189000 after second main sync (behind-but-clean); product fixes unchanged; merge-tree clean; no new P0-P2", - "checks": "post-sync: merge-tree origin/main clean; build-therapies-index --check: Therapy indexes are current (205 records); prior heavy gates on ff189000: verify:cheap 4661 passed; verify:pr-local client-bundle+RAG fixtures; format:check Prettier OK" + "date": "2026-07-30", + "ref": "codex/review-pr1444", + "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1444 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-31", - "ref": "codex/address-performance-issues-in-package", - "head": "ff189000487128b94ef1362d1334e97068553779", - "scope": "PR #1489 review+bugbot+fix+heavy", - "outcome": "clean product delta; fixed generator missing-source/manifest errors + exact hash filename check; #117 Source += PR #1489; dispositioned CR ledger/#1514 nits as out-of-scope; Production UI reds on prior tip unrelated to therapy assets (doc-viewer smoke + services phone-scroll); main sync merge-tree clean; no P0-P2 product defects", - "checks": "build-therapies-index --check: Therapy indexes are current (205 records); vitest therapy-compass 21/21; verify:cheap: 445 files / 4661 passed; verify:pr-local: Client bundle secret surface check passed + Offline RAG fixture validation passed (36 golden cases); format:check: All matched files use Prettier code style!; check:outstanding-issues passed; merge-tree origin/main clean" + "date": "2026-07-30", + "ref": "codex/review-pr1444", + "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1444; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-07-31", - "ref": "codex/chat-frontend-skill-selection-0978", - "head": "7cf0505be4423f6856e45a6a87e9433fcae72462", - "scope": "PR #1460 review+bugbot+fix", - "outcome": "no findings; sync cleared GitHub DIRTY (merge-tree was behind-but-clean); tip delta ledger-only; product brace-expansion already on main via #1456; no Bugbot/actionable threads", - "checks": "merge-tree clean; check:branch-review-ledger PASS; required CI pending after sync push; prior missing checks while DIRTY not green" + "date": "2026-07-30", + "ref": "review/pr1444", + "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1444 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-07-31", - "ref": "codex/chat-frontend-skill-selection-0978", - "head": "c436387c49d37e65bca49429d2b74fffe61c0bfd", - "scope": "PR #1460 review+bugbot+fix", - "outcome": "no findings; second sync after main advanced mid-pass; merge-tree clean; tip delta ledger-only; product already on main via #1456; no Bugbot/actionable threads", - "checks": "merge-tree clean; check:branch-review-ledger PASS; required CI expected after sync push" + "date": "2026-07-13", + "ref": "codex/branch-cleanup-2026-07-13", + "head": "5daa779e75f7224b512c9788554c31dee5f654c5", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-31", - "ref": "codex/chat-frontend-skill-selection-0978", - "head": "cf9ed2d12a68f0577b755d540bdd8dde0ff6ddc1", - "scope": "PR #1460 reopen readiness", - "outcome": "READY for reopen as conflict-free tip; product brace-expansion patch already on main via #1456; remaining unique delta is one historical ledger row; no Bugbot findings; no P0-P2 findings", - "checks": "merge-tree clean; check:branch-review-ledger PASS; installed-lock-parity PASS; vitest installed-lock-parity 6/6; brace-expansion@1.1.18 maxLength present; npm audit not re-run; PR left CLOSED" + "date": "2026-07-30", + "ref": "codex/document-results-mockup-20260730", + "head": "5dbd9f965fba29541bdefc09f218675d0d14a7ec", + "scope": "branch-cleanup", + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "superseded by merged PR #1433 production result-card design; scratch route and showcase were intentionally absent from current main; clean worktree; batch12 bundle verified" }, { - "date": "2026-07-31", - "ref": "codex/chat-ledger-triage-d344", - "head": "b7eae51a42a48b4e1e95e5a4388eefba7303de9e", - "scope": "branch cleanup reconciliation", - "outcome": "superseded WIP issue snapshot; every changed issue remains on current main with later disposition; archived and removed", - "checks": "issue-row map against current main; clean worktree; no process; batch19 bundle" + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "5de2f4cdfa707ed53145b2e39a7f283995887f85", + "scope": "Authorized babysit sweep", + "outcome": "Threads: 1 CodeRabbit ledger rewrite request dispositioned (append-only policy; hosted CI already green). Merged `origin/main` (mechanical). 0 unresolved left.", + "checks": "Hosted required CI previously SUCCESS on prior tip; no provider-backed checks." }, { - "date": "2026-07-31", - "ref": "codex/chat-prompt-skill-review-e608", - "head": "e7b2b9ae864e4ca280761dc5e1dd23ea65afb520", - "scope": "PR #1439 review+bugbot+fix", - "outcome": "FIXED CONFLICTING: GitHub DIRTY was behind-but-clean; merged origin/main twice to current tip. Product delta: POSIX secondary-worktree bootstrap + consolidated skill contracts on main Cloud/status-hash verifier. Review+Bugbot: no P0/P1; 0 unresolved threads; no new Bugbot findings. Restored append-only ledger vs main (no historical row rewrite).", - "checks": "merge-tree clean; MERGEABLE; PR mergeability/policy/gitleaks success; Static/Unit/Safety in progress; isolation self-test 14/14; 0 unresolved threads" + "date": "2026-07-30", + "ref": "codex/document-results-option1-20260730", + "head": "5df012b1c2cd6dc56635b41469a6f8cd96103515", + "scope": "branch-cleanup", + "outcome": "merged PR #1433 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1433 MERGED at exact final head 716b0acc21ccaa367900335799dec1647f38caa6; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-31", - "ref": "codex/cloud-github-connector-policy", - "head": "0213d15db355f5da721546513ed0493ad32fadac", - "scope": "PR #1447 review+bugbot+fix", - "outcome": "no P0-P2; behind-but-clean synced; Bugbot/Codex threads none; merge-tree clean; docs-only additive connector policy", - "checks": "merge-tree,check:codex-cloud,prettier:AGENTS+codex-cloud,bugbot:none,ci:awaiting-after-sync" + "date": "2026-07-30", + "ref": "PR-1507", + "head": "5e22b89f7bdb73335d12a0cf4091915615b20dd7", + "scope": "PR #1507 remote ancestry reconciliation", + "outcome": "APPROVED — identical-tree remote merge ancestry reconciled without content change; no remaining findings.", + "checks": "focused Vitest 2 files/40 tests PASS on identical tree; issue and ledger guards PASS; diff check PASS; merge-tree d6594063a4aa2c5f8b7a9ec72c1c41c94e6937fa" }, { - "date": "2026-07-31", - "ref": "codex/cloud-github-connector-policy", - "head": "6b2e90851d418bf1f778fb6a1e0fe9c31256a08e", - "scope": "PR #1447 reopen prep", - "outcome": "no P0-P2; Cursor shell-git wording clarified; merge-clean vs main; Bugbot none; PR left closed", - "checks": "check:codex-cloud,format:check,merge-tree,bugbot:none,diff-review" + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "5e22eb4c4c7f717f94e32b545f31c0d0f6374a96", + "scope": "Final merge-readiness after perfection", + "outcome": "APPROVE / MERGE-READY. Product: typography delta + Sheet late-autofocus upgrade. Hosted tip green: PR policy, Static, Unit, Build, Safety, Production UI, PR required, SAST, Secret Scan. mergeStateStatus CLEAN. Residual: human approving review if branch protection requires it.", + "checks": "Hosted CI success on `5e22eb4c4c7f717f94e32b545f31c0d0f6374a96`; Sheet DOM 5/5; no provider-backed evals." }, { - "date": "2026-07-31", - "ref": "codex/cloud-github-connector-policy", - "head": "fc42cf0c5d7b68c055abade44682cb1c1a600608", - "scope": "PR #1447 reopen prep", - "outcome": "no high-confidence P0-P2; residual: Cursor shell-git vs connector-gap wording", - "checks": "ledger:lookup NOT REVIEWED; git diff origin/main...HEAD (AGENTS.md+docs/codex-cloud.md); check:codex-cloud PASS (prior+rerun); format:check PASS (prior); merge-tree clean (prior); no Bugbot; no GitHub mutate" + "date": "2026-07-13", + "ref": "claude/beautiful-hamilton-5df54c", + "head": "5e2e90f0a3af4039c7e15515151569228476a60c", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 5e2e90f0a3af4039c7e15515151569228476a60c origin/main`." }, { - "date": "2026-07-31", - "ref": "codex/cloud-readiness-consolidation-20260730", - "head": "b29136d415b7777e648b7cc06f60c934c264d096", - "scope": "branch cleanup reconciliation", - "outcome": "superseded by merged PR #1497 with stronger provider-safe Cloud repair; archived and removed", - "checks": "git range-diff b29136d^! c0f0a30^!; PR #1497 merged; clean worktree; no process; batch19 bundle" + "date": "2026-07-14", + "ref": "claude/beautiful-hamilton-5df54c", + "head": "5e2e90f0a3af4039c7e15515151569228476a60c", + "scope": "branch-cleanup", + "outcome": "Deleted local redundant ref; exact head was already represented on `origin/main`.", + "checks": "Local cherry-pick-aware comparison and prior exact-head ledger evidence." }, { - "date": "2026-07-31", - "ref": "codex/complete-and-merge-p2-tasks-to-main", - "head": "1761a100464992486fc7979a448c7a9773bd3e55", - "scope": "PR #1471 review+bugbot+fix+heavy", - "outcome": "PASS: synced origin/main (behind-but-clean); deep review+Bugbot no P0-P2; 0 threads; therapy index contracts OK; verify:cheap + verify:pr-local green; PR body RAG impact accurate", - "checks": "merge-tree clean; 0 behind; therapy --check 205; vitest therapy 14 passed; verify:cheap 445 files/4661 tests; verify:pr-local runtime+lint+typecheck+test+build+rag fixtures; prior tip ea92b37 CI pr-required green" + "date": "2026-08-12", + "ref": "claude/filter-popup-design-mockups-x6sbjv", + "head": "5e41d164e30e8f5a74b255fbeafd34123385dbb9", + "scope": "services filter: round-two options study (stop-the-bleed / recommended / presets-evicted)", + "outcome": "Pushed to PR #1828; merged babysit fixes to round-one facet semantics; design-scratch only", + "checks": "verify:pr-local (1 pre-existing root-uid failure only), build, check:rag:fixtures, bundle-budget mockups 286.8 KiB within 25% tolerance, counts re-verified vs snapshot, 320px 0px overflow" }, { - "date": "2026-07-31", - "ref": "codex/complete-and-merge-p2-tasks-to-main", - "head": "212271e216af52769cbd05a18c3ae18f3627c61c", - "scope": "PR #1471 review+bugbot+fix", - "outcome": "PASS: synced origin/main (behind-but-clean; GitHub DIRTY was staleness); no Bugbot/Codex/Copilot/human threads; no P0-P2 in Therapy Compass browse-payload delta; PR body RAG impact still accurate", - "checks": "merge-tree clean; 0 unresolved threads; therapy product delta reviewed; no required CI on pre-sync dirty tip; hosted CI expected after push" + "date": "2026-07-13", + "ref": "origin/dependabot/npm_and_yarn/typescript-7.0.2", + "head": "5e7ff09e9b24f54b719a36876ae6dad2283a6232", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #545.", + "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-07-31", - "ref": "codex/complete-and-merge-p2-tasks-to-main", - "head": "7e0e54879723bde8073ba146e9bddd4a1f5b1edb", - "scope": "PR #1471 review+bugbot+fix", - "outcome": "PASS: re-synced after mid-work main advance (still behind-but-clean); no actionable threads; no P0-P2 in Therapy browse-payload delta; RAG impact body accurate", - "checks": "merge-tree clean; 0 behind; 0 unresolved threads; product review unchanged; hosted required CI after push" + "date": "2026-08-18", + "ref": "fix-316-pending (PR #2118)", + "head": "5ee29730b4173a6228d6c84a18811aa96c3bea14", + "scope": "docs/outstanding-issues-inbox/5bff7294-a329-4fda-a36b-25489e36660d.json, docs/outstanding-issues-inbox/503c3553-6caf-4c12-9520-03acb283d142.json", + "outcome": "Queues a cancel of stale request 22946f19 (duplicate #316 target, already-cancelled sibling 10e480da handled by original batch) plus a freshly-fingerprinted reissue of its content, as ordinary pending inbox requests. Landing this on main lets PR #2110's reconciliation branch pick them up as genuine base-pending entries on its next resync, satisfying check:ledger-write-discipline's requirement that applied content have existed as pending at the PR's base commit -- content invented directly on a reconciliation branch can never satisfy that check regardless of commit ordering.", + "checks": "check:outstanding-issues passed (74 pending, 251 applied, guard passed); docs:check-links passed (1902 references resolve, full batch-apply simulation); prettier clean; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "codex/complete-and-merge-p2-tasks-to-main", - "head": "bec88721b04054eda59372cf3e0c14c771e25e3b", - "scope": "PR #1471 Therapy Compass browse payload", - "outcome": "PASS: origin/main synced (clean merge-tree; GitHub DIRTY was staleness); no Bugbot/CodeRabbit actionable threads; no P0-P2 findings; pathways compact-index fetch guard added; PR left CLOSED for reopen", - "checks": "node scripts/build-therapies-index.mjs --check (205); vitest therapy files 14 passed; typecheck passed; merge origin/main clean; no unresolved review threads" + "date": "2026-08-01", + "ref": "codex/review-latency-and-lazy-loading-optimizations", + "head": "5f069a7fec4e6ada47a0074aa5f2ea2c9dc97830", + "scope": "pr-1562 unblock", + "outcome": "unblocked: merge-tree was clean behind-by-4; merged origin/main; no unresolved threads; prior tip CI green including Production UI + PR required", + "checks": "merge-tree clean vs origin/main; gh mergeable was CONFLICTING/DIRTY (staleness); unresolved threads 0; auto-merge off" }, { - "date": "2026-07-31", - "ref": "codex/complete-repository-maturity-programme", - "head": "84fdfd72a5d23e79798be85ffee2dda4f6f6e94a", - "scope": "PR #1472 reopen prep", - "outcome": "approved-with-notes", - "checks": "supersede cb07a6c3: tip is ledger-only after approved reopen prep; branch ready; PR remains CLOSED (GitHub freezes closed PR head until reopen)" + "date": "2026-07-13", + "ref": "origin/copilot/fix-ci-issues", + "head": "5f1c6f64a544705df9df970e09da3b85f0d90efa", + "scope": "branch-cleanup", + "outcome": "Retained: 8 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-ci-issues; git diff --name-only reported 7 path(s)." }, { - "date": "2026-07-31", - "ref": "codex/complete-repository-maturity-programme", - "head": "cb07a6c3698bc5683a0783555032490cbf09b674", - "scope": "PR #1472 reopen prep", - "outcome": "approved-with-notes", - "checks": "verify:pr-local green (444 files / 4645 tests); maintainability 4336/4351; focused RAG 730; bugbot none; CodeRabbit baseline fixed; main merged clean; PR left CLOSED" + "date": "2026-07-14", + "ref": "copilot/fix-ci-issues", + "head": "5f1c6f64a544705df9df970e09da3b85f0d90efa", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-31", - "ref": "codex/fix-header-behavior-on-medium-screens", - "head": "e3764d3f71615f9e8b644501704f81f39abd85d1", - "scope": "PR #1435 review+bugbot+fix", - "outcome": "READY: synced main (content conflict resolved + behind-but-clean cleared); Bugbot 0; no P0/P1; no actionable threads", - "checks": "merge-tree clean 0 behind; header-scroll-hide-contract 29/29; Bugbot/reviewThreads empty" + "date": "2026-07-13", + "ref": "codex/release-blocker-remediation", + "head": "5f220f953a6ee9c4efba020b255c804b94fbf9d1", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-31", - "ref": "codex/fix-header-behavior-on-medium-screens", - "head": "f1083c808473904152eaf92b78ad03a3213782aa", - "scope": "PR #1435 review+bugbot+fix", - "outcome": "READY: merged main (real conflict in search-chrome-behaviour resolved); Bugbot 0; no P0/P1; no actionable threads", - "checks": "merge-tree clean; header-scroll-hide-contract 29/29; prior tip CI blocked by dirty; Bugbot/reviewThreads empty" + "date": "2026-07-13", + "ref": "claude/perf-r2-plan-cache-migration", + "head": "5f36914c0440f1dba6044c8d9ed6c9dc069e66d0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #484; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-31", - "ref": "codex/fix-header-behavior-on-medium-screens", - "head": "f5c83aeb77b6fd65c8b10a8c2793ce1d4c5a817c", - "scope": "PR #1435 review+bugbot+fix", - "outcome": "READY: synced main twice (content conflict in search-chrome-behaviour then behind-but-clean); Bugbot 0; no P0/P1; no actionable threads", - "checks": "merge-tree clean 0 behind; header-scroll-hide-contract 29/29; Bugbot/reviewThreads empty" + "date": "2026-07-30", + "ref": "codex/fix-brace-expansion-cve", + "head": "5f55e20d89b9ae8a9443fe4dc08e21edaeb5fc34", + "scope": "branch-cleanup", + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "parent is exact merged PR #1456 head; only unique ledger record copied; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-07-31", - "ref": "codex/fix-header-behavior-on-medium-screens (PR #1435)", - "head": "2cea044352dd67e2fde9784178272f423db1c8dc", - "scope": "PR #1435 tablet search header readiness", - "outcome": "READY closed; mergeable vs main; Bugbot none; fixed tablet page-slot assert + stale sticky comments; no P0/P1", - "checks": "vitest header contracts 61/61; playwright ui-chrome-scroll 17/17; composer ownership 15/15; verify:cheap 2 env-only codex-cloud origin insteadOf fails; prior head CI green" + "date": "2026-07-30", + "ref": "codex/review-pr1441", + "head": "5f59c295ee3a9f266f3a7569ff444433463b7e3e", + "scope": "branch-cleanup", + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "merged PR #1441 retains two exact blobs and strengthens Docker/env validation in the other two files; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-07-31", - "ref": "codex/fix-search-retrieval-issues-and-run-canary", - "head": "c45cd227be6d852865eb111a2a06486d1f2c62a0", - "scope": "pr-1503 reopen-ready", - "outcome": "approved: #098 next-action (b) prohibits wholesale collapse; main synced clean; docs-only delta; PR stays closed", - "checks": "format:check; check:outstanding-issues; check:branch-review-ledger; merge-tree clean; bugbot+codex P2 fixed" + "date": "2026-08-14", + "ref": "PR #1966", + "head": "5f5d4d141d07753b5c3882e65c0dea5de0a68804", + "scope": "completed-PR ledger queue", + "outcome": "fixed", + "checks": "Prettier JSON; ledger inbox check; outstanding-issues guard; ledger write discipline; independent Codex adversarial review: #098 false completion removed; stale #210/#215 corrections superseded" }, { - "date": "2026-07-31", - "ref": "codex/fix-search-retrieval-issues-and-run-canary", - "head": "c45cd227be6d852865eb111a2a06486d1f2c62a0", - "scope": "pr-1503-review", - "outcome": "re-reviewed: Codex P2 fixed; merge-tree clean vs origin/main; docs-only; no Bugbot/P0-P1; PR remains CLOSED (GitHub headRefOid may lag closed PR)", - "checks": "merge-tree+diff-vs-main+#098-text; no push/reopen" + "date": "2026-08-08", + "ref": "cursor/fix-diagnosis-back-nav-cd3d", + "head": "5f637fcf6c4c4c42513f0dd79899eeff96f8cc9e", + "scope": "differentials diagnosis detail back nav", + "outcome": "fixed back to /differentials/diagnoses; phone-chrome green", + "checks": "test:focused 16p; verify:phone-chrome 21p+7p; verify:pr-local pending" }, { - "date": "2026-07-31", - "ref": "codex/fix-search-retrieval-issues-and-run-canary", - "head": "e8de1aebd1b32d5e901853a3473a792a66aa82cf", - "scope": "pr-1503 reopen-ready", - "outcome": "approved: #098 collapse ban kept after main sync; merge-tree clean; docs-only; PR stays closed", - "checks": "format:check; check:outstanding-issues; merge-tree clean; codex P2 fixed; bugbot clean" + "date": "2026-08-08", + "ref": "cursor/fix-diagnosis-back-nav-cd3d", + "head": "5f637fcf6c4c4c42513f0dd79899eeff96f8cc9e", + "scope": "differentials diagnosis detail back nav (supersedes 2026-08-08)", + "outcome": "fixed back to /differentials/diagnoses; phone-chrome + pr-local green", + "checks": "test:focused 16p; verify:phone-chrome ui-phone-scroll 21p + focused 7p; verify:pr-local 5704p" }, { - "date": "2026-07-31", - "ref": "codex/merge-privacy-safe-error-tracking-implementation", - "head": "fab9a9ec5181eb6ef3f8f43f303c39fa87cc1f6c", - "scope": "bugbot-review", - "outcome": "no-p0-p1; empty/partial-meta-neutralized; sentry-init-failopen; gitleaks+pr-policy-body; merge-tree-clean; PR-left-closed", - "checks": "vitest:46-pass-focused; typecheck:pass; gitleaks-range:clean; merge-tree:clean; verify:pr-local:codex-cloud-fixed" + "date": "2026-08-14", + "ref": "PR-1953", + "head": "5f6ecbd554f91a692965f7f876807d4e9e9c2c26", + "scope": "PR #1953 full review and required base sync", + "outcome": "no PR-introduced P0-P2 defect; existing P2 verified-correct; merged latest main", + "checks": "manual adversarial review; current thread verification; git merge-tree; git diff --check; base-sync native ledger/docs checks; focused Playwright/Next build not run (node_modules absent)" }, { - "date": "2026-07-31", - "ref": "codex/moderate-batch-20260730", - "head": "d582c49fe3a2f01bad179d06f84484754b639458", - "scope": "PR #1485 accordion/catalogues", - "outcome": "APPROVE after Bugbot/CodeRabbit triage; fixed differential LRU soft-success on Retry and credential/error pulses; no open review threads; merge-tree clean vs main", - "checks": "vitest catalog DOM 12/12; check:outstanding-issues; merge-tree clean; Bugbot: no cursor[bot] threads; CodeRabbit threads resolved" + "date": "2026-07-30", + "ref": "origin/css-layout-audit-report", + "head": "5fa061a32b0c56c447d3bd7f444869eadbfc434e", + "scope": "branch-cleanup", + "outcome": "RETAIN. Related CSS layout work merged via #1296, but tip blobs still differ from main on globals.css, AccessibleTable, source-preview-popover, settings-search mockup. Not empty; keep.", + "checks": "ledger lookup; cherry-pick; per-file blob equality vs main; gh related #1296 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { "date": "2026-07-31", - "ref": "codex/reduce-catalogue-json-bundle-weight", - "head": "251d89f29e27607486c2560648984329a5481621", - "scope": "PR #1468 Playwright build-cache reopen prep", - "outcome": "ready-for-reopen at tip after ledger commit; branch merge-tree clean vs origin/main; closed PR metadata still shows stale head 1b9d4ab3 until reopen; body/comment edits 403 while closed", - "checks": "push 251d89f2; merge-tree clean 0 behind; PR left closed; ManagePullRequest unavailable for closed PR; gh pr edit/comment 403" + "ref": "origin/css-layout-audit-report", + "head": "5fa061a32b0c56c447d3bd7f444869eadbfc434e", + "scope": "branch-cleanup (supersedes 2026-07-30)", + "outcome": "safe-delete superseding prior retain: tip is ancestor of merged PR #1296 head; proposed z-index tokens conflict with current explicit ladder and no-token contract; archived batch14", + "checks": "fresh PR-head fetch and ancestry; current globals/design-system contract inspection; bundle verify" }, { - "date": "2026-07-31", - "ref": "codex/reduce-catalogue-json-bundle-weight", - "head": "4d1f776ae77c26b2b323caad2eb43651f5b823bd", - "scope": "PR #1468 review+bugbot+fix+heavy", - "outcome": "PASS heavy: synced main (DIRTY→clean); no PR-introduced P0/P1/P2; Production UI #146 Services settle flake dispositioned as pre-existing (not cache-caused); required CI expected after sync push", - "checks": "merge-tree clean; verify:cheap 445 files/4659 passed; verify:pr-local + rag fixtures; check:github-actions prior; bugbot+diff review" + "date": "2026-08-07", + "ref": "claude/search-bar-mobile-regression-ober7w", + "head": "5fa1bedd69d948682ca2b381d49d30696e966781", + "scope": "results-band phone rail clipping + filter trigger parity", + "outcome": "Fixed: inline utilities were `shrink`, so an over-subscribed line clipped the sort group mid-glyph and masked its last option. Now `shrink-0` (query truncates instead, per the band's own contract), utilities wrap to their own row below 414px, sort options px-2.5 below sm, Filter wordmark hidden only 414-429px. Filter trigger stopped composing floatingControl through plain-join cn (font-semibold 600 and --border-lux were winning over the overrides), now uses the band's control recipe with mutually exclusive active/resting branches. Corrected the doc+test claim that the library button was the sole cause of rail overflow. PR #1672.", + "checks": "lint 0; typecheck 0; prettier --check . clean; band+scope DOM 52 passed; phone-chrome contracts 118 passed; ui-smoke+ui-tools chromium 185 passed 1 failed (pre-existing PDF-canvas, fails identically stashed on clean baseline, Chromium 1194 vs pinned); new rail sweep gate proven to fail at 414px (sortClipped 16, masked true) with shrink reinstated; verify:phone-chrome blocked at lock-parity (playwright 1.62.0 vs locked 1.62.1, pre-existing container drift)" }, { - "date": "2026-07-31", - "ref": "codex/reduce-catalogue-json-bundle-weight", - "head": "7221cbfbeb97053e639490599bb11ee60cb995f3", - "scope": "PR #1468 review+bugbot+fix", - "outcome": "synced main (behind-but-clean); fixed P2 publish gating critical job; no P0/P1; no actionable threads", - "checks": "merge-tree clean; check:github-actions; vitest test-runner-safety targeted; bugbot P2 fixed with continue-on-error on publish" + "date": "2026-08-22", + "ref": "claude/post-drift-ledger-tidy", + "head": "5ff3f0419d6696f59eb638cfbbf4f28c2f964ba6", + "scope": "post-drift ledger tidying: close #M54C4N/#056/#3514B7, re-scope #47M1XD, escalate #M6JNR8; read-only staging+production verification", + "outcome": "pass — three rows closed with quoted evidence (live-drift run 32514326022; staging 211-row parity), #47M1XD advanced with a second production window that strengthened the zero-scan retraction and showed the proposed ANALYZE experiment cannot discriminate (n_mod_since_analyze=0 on four of five tables); owner chose to skip ANALYZE so no production mutation. #231 queue row could NOT be corrected: hand edit and same-PR reconcile both empirically refused by check:ledger-write-discipline, escalated as #M6JNR8 P1", + "checks": "check:ledger-write-discipline, check:outstanding-issues, check:branch-review-ledger, prettier --check on changed files" }, { - "date": "2026-07-31", - "ref": "codex/reduce-catalogue-json-bundle-weight", - "head": "a226fdafd8b203e20eb79887ea2d8b90dd1cc72f", - "scope": "PR #1468 Playwright build-cache reopen prep", - "outcome": "ready-for-reopen: merged main; switched to run-scoped artifacts with include-hidden-files; no P0/P1 product bugs; residual risk is artifact transfer vs 34s build save", - "checks": "merge-tree clean; check:github-actions; check:outstanding-issues; vitest test-runner-safety+github-action-pins+ci-cache-safety 48/48; lint changed; bugbot+diff review applied include-hidden-files fix; PR left closed" + "date": "2026-08-06", + "ref": "claude/implement-97vpz7", + "head": "5ffa042d686a542de3333ebccbd903b6422124a7", + "scope": "src/lib/rag/rag.ts, src/app/api/search/route.ts, tests/rag-unsupported-short-circuit-cache.test.ts (RAG soft-tail unsupported-short-circuit cache fix + corpus_grounding telemetry exposure)", + "outcome": "PR #1646 opened (draft); no retrieval/ranking behaviour change; verified: lint, typecheck, full unit suite (513 files/5413 tests), eval:rag:offline, build, check:bundle-budget", + "checks": "lint,typecheck,test,eval:rag:offline,build,check:bundle-budget" }, { - "date": "2026-07-31", - "ref": "cursor/ci-followups-093-138-1bf5", - "head": "299698480cb120483ea16895b9265ad2abf5d595", - "scope": "closed-PR reopen prep", - "outcome": "ready-for-reopen; merge-clean vs origin/main after resolving outstanding-issues; no open review threads; no P0-P2 findings; PR left CLOSED", - "checks": "check:outstanding-issues,check:ci-triage,check:github-actions,merge-tree-clean" + "date": "2026-08-18", + "ref": "issues-reconcile-fresh (PR #2119)", + "head": "5ffe76652feb32a1b7840dbdb69502cce228b772", + "scope": "docs/outstanding-issues.md, docs/outstanding-issues-inbox/**", + "outcome": "Replaces PR #2110, whose reconciliation had permanently baked two applied records (a #316 update, a cancellation of 22946f19) whose pending predecessors never existed on any base commit -- structurally unfixable via forward-only commits because the ledger tool forbids ever cancelling a cancel-type request and the one valid cancellation slot for 22946f19 was already claimed by a different request landed via PR #2118. Rebuilt fresh from current main (ddc7e899, already including #2118's corrections): reconciled all 74 pending requests in one clean pass, no manual duplicate-target resolution needed, confirming #2118 left main's inbox internally consistent. #2110 can be closed once this merges.", + "checks": "issues:reconcile: 74 applied, 10 cancellation decisions, no manual resolution needed; check:outstanding-issues passed (0 pending, 325 applied, guard passed, no ids deleted from base); docs:check-links passed (1902 references resolve, full batch simulation); check:ledger-write-discipline passed for ddc7e8998267..HEAD with no override; prettier clean; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "cursor/mode-page-redesign-handoff-7830", - "head": "0ae080b618c7f8c802083520ec3dee28bd56504d", - "scope": "mode-page-redesign-comps-handoff", - "outcome": "pass-with-findings", - "checks": "check:outstanding-issues; comps+issues #160-162; PR #1521; no production UI change" + "date": "2026-07-25", + "ref": "codex/document-clinical-summary-20260725 (PR #1169)", + "head": "605a47b551a03774fab41416bf980dfbc9610221", + "scope": "Open-PR maintenance: malformed persisted profile guard", + "outcome": "Before: one actionable thread showed non-array or malformed persisted summary groups could throw during render. After: every priority group is normalized through an array/item guard and malformed values are ignored while valid items still render.", + "checks": "Focused Vitest 7/7 pass; Prettier and diff checks pass; no provider-backed checks run." }, { - "date": "2026-07-31", - "ref": "cursor/sentry-db-query-tracing-0546", - "head": "0dfb7a35a3a2623794a2d3e4c657268018604d18", - "scope": "pr-1540-unblock", - "outcome": "fixed static-pr knip unlisted @sentry/core; merge-tree clean; no blocking threads", - "checks": "check:knip:pass; vitest:error-tracking:5/5; tsc:pass; merge-tree:clean" + "date": "2026-07-24", + "ref": "cursor/comprehensive-repo-review-ledger-d9a1 (PR #1150)", + "head": "60a3c3a83a31e65ec2759540629687e7113e2489", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed 60a3c3a83. Threads: none. Residual: CI re-running.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "origin/agent/document-topbar-actions", - "head": "ab0e8f9d31dd7dfdb5754b46e0110c5184166ba6", - "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1381 merged; only later change is its already-preserved CI review row; archived batch14", - "checks": "GitHub PR state; PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" + "date": "2026-08-17", + "ref": "claude/rag-d3-s5-followups", + "head": "60e61bb9b89e2a62cefa7e89e8f6497c09e8a900", + "scope": "docs/rag-improvement S5 follow-ups: HANDOVER S5/S2 rows, COORDINATION §7, 4 inbox requests (docs-only)", + "outcome": "docs-only; S5 landed; follow-ups queued", + "checks": "verify:pr-local docs scope" }, { - "date": "2026-07-31", - "ref": "origin/agent/formulation-disabled-contrast", - "head": "ee51467cb1b937e01dd2dbdd416a3c7b37a03da7", - "scope": "branch-cleanup", - "outcome": "safe remote delete: production disabled styling and service-worker isolation are on current main; private React-props polling workaround intentionally not retained; archived batch15", - "checks": "current source/test inspection; repo test-contract comparison; bundle verify" + "date": "2026-08-13", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "615893b24fa2be21e245ef1e47ae2fa1e2e12981", + "scope": "docs/outstanding-issues-inbox — #210 correction", + "outcome": "Corrected #210: typecheck half already fixed by tsconfig.typecheck.json; the prescribed tsconfig.json include edit is reverted by Next (type-paths.js:34-36 + writeConfigurationDefaults.js:305-315). Remaining Playwright-isolated-tsconfig half recorded as not proven end-to-end. Queued as immutable inbox request.", + "checks": "verify:pr-local (all 11 completed, 0 failed)" }, { - "date": "2026-07-31", - "ref": "origin/audit-remediation", - "head": "5c6cef2fec5f4457dc46c0dc0e758d259e0c1dc8", - "scope": "branch-cleanup (supersedes 2026-07-30)", - "outcome": "safe-delete superseding prior retain: coordinator replaces old lock wait loop; current PDF signal/code handling and focused tests supersede stale patch; archived batch15", - "checks": "fresh current coordinator/PDF/test inspection; merged audit history; bundle verify" + "date": "2026-08-17", + "ref": "claude/correct-056-staging-gap", + "head": "6188086e6056c23aa0f7fe1655345c47e0068784", + "scope": "docs/outstanding-issues-inbox — #056 staging migration gap correction", + "outcome": "Remeasured read-only: staging ikoiolksxqxfxgiyqpnu holds 166 migrations (latest 20260719055623) against 192 repo files with 16 after that version, so the gap is 26 not 24 and the post-cutoff count is 16 not 14. Delta is new work landing on main, not a new defect, but the chain grows while the row stays open. Row now instructs re-measuring at window start rather than trusting its own figures.", + "checks": "verify:pr-local (11 completed, 0 failed)" }, { - "date": "2026-07-31", - "ref": "origin/claude/clinical-design-system-update-e34ca9", - "head": "7c7a5263ee44f4a4a2bfa2b0381b76d7d9a9c3b1", - "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1375 merged; unique post-head commit is its preserved review row and later merge only imports main; archived batch15", - "checks": "PR-head ancestry; first-parent inspection; bundle verify" + "date": "2026-07-25", + "ref": "cursor/canary-artifact-comparison-8e05 (PR #1180)", + "head": "618d8640fa528de4a94b0d3e2599bcfe0df3f6f5", + "scope": "PR babysit: retrigger required CI", + "outcome": "Empty sync after main advanced; no product change.", + "checks": "No provider-backed checks." }, { - "date": "2026-07-31", - "ref": "origin/claude/close-knip-false-positive", - "head": "664b8fa141fdc622b3f1ad56eaef5b651f0a0554", + "date": "2026-07-13", + "ref": "claude/site-formatting-polish-b91374", + "head": "619dd99845beb02aa93f30377011b89d70fcb814", "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1340 merged; only later change is its already-preserved CI review row; archived batch14", - "checks": "GitHub PR state; PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #494; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, - { - "date": "2026-07-31", - "ref": "origin/claude/dazzling-blackwell-f348d0-ckwry8", - "head": "4336ab753a8165749edd6876facd1547ec9ab592", - "scope": "branch-cleanup", - "outcome": "safe remote delete: closed PR #1321 was an explicit duplicate of merged mockup PR #1311 plus verification-only cleanup; archived batch15", - "checks": "PR body/closure evidence; merged PR #1311; bundle verify" + { + "date": "2026-08-14", + "ref": "claude/live-drift-routing-lnhvja", + "head": "61b53680ad49196a392dea91e1a4a7345d88c522", + "scope": "live-drift workflow failure routing + post-migration trigger (#316 phase 0)", + "outcome": "PR #1939 open", + "checks": "check:github-actions pass; verify:pr-local failed:(none); test:ci-workflows pass" }, { "date": "2026-07-31", - "ref": "origin/claude/issues-upload-limit-sync-123366", - "head": "5d51f2d75dcd3070ec5667c21debb9ac1d9b630b", - "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1291 merged; only post-head change is its preserved exact-head CI ledger row; archived batch15", - "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" + "ref": "PR-1510", + "head": "61d25fd7727c2345fabb9631d604b1632bc0df6d", + "scope": "post-1513 concurrency-note reconciliation", + "outcome": "no actionable findings; preserved main 155, renumbered withdrawn guard to 158, and advanced next-id to 159", + "checks": "outstanding-issues, branch-review-ledger, design-system-contract, changed-format, diff-check" }, { - "date": "2026-07-31", - "ref": "origin/claude/outstanding-issues-triage-24c8ow", - "head": "d3c2a17a848be5458664355de4fd41d0933d2705", - "scope": "branch-cleanup", - "outcome": "safe remote delete: merged PR #1428 content and post-merge #122 disposition are superseded by later current-main issue records; archived batch19", - "checks": "PR #1428 merged; post-merge tail inspection; current issue-row comparison; no local worktree; exact ls-remote SHA match; bundle verify" + "date": "2026-07-17", + "ref": "PR #699 / codex/test-reliability-hardening", + "head": "6202835ab1cf3703af311b9afdf372f74c63e040", + "scope": "branch-cleanup-superseded", + "outcome": "Closed as fully superseded by merged PR #705 (`e5caaa46c`). Range-diff maps the original implementation commit to #705's first integration commit; #705 then adds seven focused reliability fixes, while #699's remaining commit is merge-only and contributes no unique relevant patch. The exact-SHA remote ref and the unregistered local predecessor ref (`b518c1de9`) were deleted after final rechecks.", + "checks": "Fresh GitHub PR/head/status inventory; exact `ls-remote` and local-ref checks; cherry-pick-aware log; range-diff against PR #705's merged head; merge-parent verification; exact leased remote deletion and exact-old-value local `update-ref` deletion. No Supabase/OpenAI/product-provider checks run." }, { - "date": "2026-07-31", - "ref": "origin/codex/bugbot-audit-pr-review-ledger", - "head": "dc8cc93baa1d7dd5bc3a56d7196972c1555bd30c", - "scope": "branch-cleanup", - "outcome": "safe remote delete: ledger-only high-risk review history normalized into central ledger; archived batch16", - "checks": "commit-row extraction; archive lookup; bundle verify" + "date": "2026-08-22", + "ref": "claude/ed-care-plans-impl-7f44cd (PR #2291)", + "head": "620743d434dfcc158811720ca53d09caf9c4b750", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty (main-sync merge conflict never attempted — hard-stopped and reported per clinical-content-conflict policy since the PR branch and main both independently built the care-plan feature after PR #2274 landed), PR mergeability + PR policy both failing, 0 of 6 unresolved P1 review threads addressed, real CI (pr-required) never triggered. After: PR owner (BigSimmo) resolved the main-sync merge conflict live and independently fixed all 6 P1 Codex findings on the branch while this sweep was in progress; this session's own independent fixes for the same 6 findings were reconciled against the owner's landed versions (kept the owner's naming/implementation where duplicated, kept this session's unique patient-plan-print-stale-in-subtree fix which the owner's merge did not touch, removed this session's now-dead-code duplicate blocks e.g. two near-identical withdrawal stale-trigger blocks and two approve-patient-plan-version refusal blocks left by concurrent independent 3-way merges, added 3 new regression tests). mergeable_state now blocked (not dirty) — no more content conflict. PR mergeability: success. PR policy: still failing (only blocker: PR body Clinical Governance Preflight all 7 boxes unchecked plus advisory warnings on blank Summary/Verification/Risk sections — PR body left untouched per this sweep's explicit instruction not to edit it). Real CI (pr-required aggregate) triggered for the first time on this PR and was still in progress after 25 minutes of observation (Build, Unit coverage, Static PR checks, Production UI x4, Advisory UI, Lighthouse budget all in_progress; Change scope/Gitleaks/Semgrep/Safety and config checks/GitGuardian all green) — not yet settled at end of this sweep's observation window. All 6 review threads already resolved by BigSimmo before this session's push landed; nothing left to reply/resolve. 3 commits pushed: 61c6b562 (own fixes), 70e700db (merge #1, resolving owner's first live main-sync push), 620743d4 (merge #2, resolving owner's second live push that independently fixed the exact same contact-guard finding).", + "checks": "Local only, no provider-backed checks run: npm run typecheck (clean, 4695 files), npm run lint (clean, 4695 files), node scripts/run-vitest.mjs run tests/care-plan-patient-plan.test.ts tests/care-plan-linked-routes.dom.test.tsx tests/care-plan-prototype-state.test.ts tests/care-plan-domain.test.ts tests/care-plan-route-files.test.ts (440 passed), npm run test full suite (8476 passed, 1 skipped, 1 unrelated pre-existing async-timer-after-teardown flake in caring-contact-shell-frame.tsx unrelated to this diff), npx prettier --check on touched files (clean). No eval:rag, eval:quality, eval:retrieval:quality, verify:release, check:supabase-project, or test:live run." }, { - "date": "2026-07-31", - "ref": "origin/codex/recommended-task-ledger-0e8b1e", - "head": "6c7571b160fdf60484cbb2375e43191a7c0eeea0", - "scope": "branch-cleanup", - "outcome": "safe remote delete: experimental task-ledger variant superseded by merged PR #1106 canonical outstanding-issues ledger; archived batch16", - "checks": "PR #1106 contract/history; current task-ledger architecture; bundle verify" + "date": "2026-08-07", + "ref": "cursor/fix-lighthouse-chrome-pin (PR #1703)", + "head": "621180854248fcc10982f3fd58762229fee999d0", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability). Merged origin/main directly and pushed. No unresolved review threads.", + "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts)" }, { - "date": "2026-07-31", - "ref": "origin/codex/search-label-pagination", - "head": "3d9c00b3bf8faefacaca968729d72782c3247329", - "scope": "branch-cleanup", - "outcome": "safe remote delete: current main has bounded stable-order label pagination, cancellation and boundary/fail-closed coverage; archived batch15", - "checks": "current source and focused tests inspection; bundle verify" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase3-enforcement", + "head": "62bb876f3e9e93234a6fe65a1c602d28068fad65", + "scope": "Phase 3 design-system enforcement", + "outcome": "approved locally; no P0-P2 findings", + "checks": "Vitest 26 passed; direct checker 658 files; debt baseline exact" }, { - "date": "2026-07-31", - "ref": "origin/codex/shared-task-ledger-265ea1", - "head": "f02d3e6e331ffdf68bd05b8bc5f5d9a6740af5ed", - "scope": "branch-cleanup", - "outcome": "safe remote delete: precursor task-ledger work reconciled into merged PR #1106 and follow-up #1114; archived batch16", - "checks": "archived PR #1106/#1114 review records; current canonical ledger; bundle verify" + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "62ddd24dc8ad223cde67373ea35e18aee6065057", + "scope": "CI green closeout", + "outcome": "APPROVE. Hosted Production UI + PR required PASS on product tip `e5543dc6`. Codex/CodeRabbit threads resolved (0 open). Unique delta: diagnosis-detail S: locator + heading hierarchy contract. RAM-guard owned by main #1307.", + "checks": "Hosted Static/Unit/Safety/Advisory/Production UI/PR required PASS; Build/Container skipped (unchanged); Bugbot clean; no provider-backed checks." }, { - "date": "2026-07-31", - "ref": "origin/codex/sidebar-test-fix-20260723", - "head": "cd54e68fbf7b07b5dffe3220e36af2caa528da54", + "date": "2026-07-13", + "ref": "origin/codex/indexing-health-scan", + "head": "62e1f6abc9d1090c38b6ee861cb9dfb9bf3bac45", "scope": "branch-cleanup", - "outcome": "safe remote delete: tip is ancestor of exact merged PR #1174 head; archived batch14", - "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #572; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-31", - "ref": "origin/codex/task-ledger-6d217f", - "head": "8fedb6c03f6ed70deb02266b86a2e790736a2481", + "date": "2026-07-13", + "ref": "codex/lithium-answer-recovery", + "head": "62e91f9209ca9e67b5b9edf3dc49e93677a2bf72", "scope": "branch-cleanup", - "outcome": "safe remote delete: standalone docs/task-ledger proposal superseded by merged PR #1106 canonical outstanding-issues ledger; archived batch16", - "checks": "PR #1106 contract/history; current task-ledger architecture; bundle verify" + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-31", - "ref": "origin/codex/universal-ledger-active-20260724", - "head": "d788e79134bd059a8a448fb3bb91804dc42909b2", + "date": "2026-07-30", + "ref": "claude/pre-commit-fail-open", + "head": "62ed282ddac0525bf5d851aff28985098489429e", "scope": "branch-cleanup", - "outcome": "safe remote delete: tip is ancestor of exact merged PR #1114 head; archived batch14", - "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" + "outcome": "safe-delete: ancestor of merged PR #1494 head 7b96a09b; archived batch13", + "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" }, { - "date": "2026-07-31", - "ref": "origin/css-layout-audit-report", - "head": "5fa061a32b0c56c447d3bd7f444869eadbfc434e", - "scope": "branch-cleanup (supersedes 2026-07-30)", - "outcome": "safe-delete superseding prior retain: tip is ancestor of merged PR #1296 head; proposed z-index tokens conflict with current explicit ladder and no-token contract; archived batch14", - "checks": "fresh PR-head fetch and ancestry; current globals/design-system contract inspection; bundle verify" + "date": "2026-07-28", + "ref": "PR #1304 / `fix-test-run-lock`", + "head": "6300b0218b2911fcdd6bc09c51db34dc9bed765b", + "scope": "Babysit closeout tip", + "outcome": "MERGE-READY for knip-only product delta. Supersedes prior #1304 row at `352eedfe` after ledger append. Hosted PR required SUCCESS on exact tip; mergeable=MERGEABLE; 0 review threads; Bugbot empty. Unique vs main: knip.json drops unused `ignoreDependencies: [\"tailwindcss\"]`. Original test-run-lock/phone-chrome work superseded by main during conflict resolve.", + "checks": "Hosted CI run 30328907503 PR required SUCCESS; verify:cheap PASS earlier; no provider-backed checks." }, { - "date": "2026-07-31", - "ref": "origin/cursor/codebase-indexing-optimize-7a2b", - "head": "354468584ba7b6bf41f1fad36fcbd96a7da80e31", - "scope": "branch-cleanup", - "outcome": "safe remote delete: tip is ancestor of exact merged PR #1171 head; archived batch14", - "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" + "date": "2026-08-14", + "ref": "codex/visual-layout-polish", + "head": "63195ba3f145a08691151ed4e86c69f5d05db486", + "scope": "PR #1949 review-and-fix", + "outcome": "reviewed PWA decoding hint and desktop CLS attribution; no PR-introduced defect found; merged latest main", + "checks": "offline: git diff --check; check-outstanding-issues; ledger-inbox check; ledger-write-discipline; Prettier changed files; targeted Vitest unavailable (isolated worktree has no node_modules); independent manual adversarial pass" }, { - "date": "2026-07-31", - "ref": "origin/cursor/fix-p2-audit-clean-9957", - "head": "4265b3e97e132ea9d9e32135f2b04b1290914caf", + "date": "2026-07-13", + "ref": "claude/production-deployment-setup-d83ef8", + "head": "631f0a35fc3b2ca2e198c1aff81ddf6fbbf0e673", "scope": "branch-cleanup", - "outcome": "safe remote delete: tip is ancestor of exact merged PR #1298 head; archived batch14", - "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/production-deployment-setup-d83ef8; git diff --name-only reported 13 path(s)." }, { - "date": "2026-07-31", - "ref": "origin/cursor/merge-sweep-ledger-2026-07-28", - "head": "ed3ec604c52f27443645ca810f72b4b71f9c6e31", - "scope": "branch-cleanup", - "outcome": "safe remote delete: tip is ancestor of exact merged PR #1372 head; archived batch14", - "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" + "date": "2026-08-08", + "ref": "cursor/site-testing-speed-08c1 (PR #1686)", + "head": "632958dd63e320b3c1ae911ca0b025aaab78a478", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY (ledger+outstanding-issues+scripts-index) → merged origin/main with careful unions; CI re-running", + "checks": "check:outstanding-issues pass; ledger:dedupe; vitest playwright-revision+ci-cache-safety 33 passed; no provider-backed checks" }, { - "date": "2026-07-31", - "ref": "origin/cursor/mode-secondary-navigation-dc4e", - "head": "5794c5a08645717d99beb61feb1c971c975b4b7c", - "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1336 merged; only post-head change is its preserved CI ledger row; archived batch15", - "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "632e84c9436f1f28be9d7aaadbbe942f72618199", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: CONFLICTING + PR policy FAIL + unresolved Codex P1 (conflict markers in answer/route.ts). after: conflict markers removed and pushed (80212dd91, 632e84c94); merge origin/main aborted (non-trivial conflicts: privacy/page.tsx, answer-render-policy.ts, source-authority-metadata.ts, upload/route.ts, supabase/drift-manifest.json, settings-dialog, validation/answer-request, plus UI/docs/tests); PR policy still FAIL (Clinical Governance Preflight missing — body edit forbidden this sweep); thread reply/resolve needs parent (comment 3644028277 / thread PRRT_kwDOSh5Fis6Tfkev) — ManagePullRequest/GitHub write MCP unavailable", + "checks": "typecheck:internal pass; vitest clinical-dashboard-merge-artifacts + visual-evidence-tabs pass (9); no provider-backed checks run" }, { - "date": "2026-07-31", - "ref": "origin/cursor/pr1185-bugbot-review-1c1e", - "head": "76933d4006a97e741383cc13b6728a858e6b2a99", + "date": "2026-07-13", + "ref": "claude/scroll-icon-design-8b7675", + "head": "636630a035df2da70353e4b7601d97744cdf0819", "scope": "branch-cleanup", - "outcome": "safe remote delete: closed PR #1185 review branch superseded by merged typography PRs #1200 and #1294; archived batch15", - "checks": "GitHub PR history; current-main commit search; bundle verify" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #467; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-31", - "ref": "origin/cursor/pr1196-coalesce-fix-4711", - "head": "3d4fc7ca229b94826cd028d7655e99451ae72d39", - "scope": "branch-cleanup", - "outcome": "safe remote delete: coalesce patch is exact-equivalent to merged PR #1212; remaining audit family superseded by merged PR #1298; archived batch15", - "checks": "patch-id match to PR #1212; PR commit closeout; bundle verify" + "date": "2026-08-17", + "ref": "claude/differentials-design-refinement-xh1znl (PR #2050)", + "head": "63808d6bc8cdb80852882d61faec2f219ab90d5f", + "scope": "Run PR sweep: main sync + CI in progress", + "outcome": "New PR opened mid-sweep. Synced clean (no conflicts). CI in progress at sweep end: Static PR checks, Safety and config checks, Build, GitGuardian, PR mergeability/policy all green; Production UI x3, Lighthouse budget, and Unit coverage still running with no failures observed so far. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch; partial CI green, remainder in progress at sweep end" }, { - "date": "2026-07-31", - "ref": "origin/fix/clear-signed-url-cache-on-auth", - "head": "58d0e8251e1b1929b869672be1b0b4048a9c60d1", - "scope": "branch-cleanup", - "outcome": "safe remote delete: signed-URL cache invalidation landed more strongly in merged PR #1374 with pre-publish identity clearing and extra tests; archived batch18", - "checks": "current auth source/test inspection; origin/main pickaxe history; redundant cherry-pick proof; bundle verify" + "date": "2026-08-08", + "ref": "cursor/safety-snapshot-mobile-4ab3", + "head": "63be5e932dc0410f172375edf779190c6a1aadae", + "scope": "differentials Safety Snapshot mobile density redesign", + "outcome": "ship; phone visual PASS at ~400px (compact labels, equal 3-col metrics, no redundant summary); unit 21/21; verify:pr-local tests+fixtures+format PASS; build PASS with ALLOW_BUILD_WITH_DEV_SERVER=1", + "checks": "test:differential-detail,verify:pr-local(partial-build-retry),phone-visual" }, { - "date": "2026-07-31", - "ref": "origin/fix/focus-token-and-internal-link-wiring", - "head": "342052fadde853c5cbaea1e4583559fc45b32734", - "scope": "branch-cleanup", - "outcome": "safe remote delete: internal Link wiring and canonical focus token landed with stronger current markup in merged PR #1374; archived batch18", - "checks": "current source inspection; origin/main pickaxe history; redundant cherry-pick proof; bundle verify" + "date": "2026-08-18", + "ref": "claude/ci-main-verification-blindspot", + "head": "63fb976bf9862160a04b9b784cbdec79e4f3f11f", + "scope": "CI concurrency: exempt base-branch pushes from cancel-in-progress", + "outcome": "shipped", + "checks": "test:ci-workflows 326 passed; ci-cache-safety 50 passed; check:github-actions passed; check:ci-scope passed; prettier clean" }, { - "date": "2026-07-31", - "ref": "origin/fix/system-audit-remediation-pr", - "head": "7293c8a94064ceaff92987e2c037faad326aa3dc", - "scope": "branch-cleanup", - "outcome": "safe remote delete: current coordinator supersedes lock loop; duplicate migration is absent; unvalidated RAG guard exception was intentionally removed and is not carried; archived batch17", - "checks": "RAG behavior docs read; current protected-source history; migration absence; merged audit replacements; bundle verify" + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "647dd6a1c4fe418e23cd566bc717067e57f91178", + "scope": "CI babysit: merge conflicts + GitGuardian + PR policy", + "outcome": "FIXED. Merged origin/main (~790 behind, 33 content conflicts). Preferred main for superseded remediations (secret scanner masking, babel parser 8, RAG module layout, coalesce abort, join-constructed offline DB URL). Retained unique clinical-search/neuroleptic+clozapine monitoring, sheet focus-trap, Playwright serviceWorkers block, and aligned regression tests to current main APIs/alias tiering. Restored GitGuardian-safe DB URL construction (literal postgres URI was a tip regression). PR body updated for Clinical Governance + RAG impact.", + "checks": "Focused Vitest 218/218 on unique delta; merge-tree clean vs origin/main after sync; no provider-backed checks." }, { - "date": "2026-07-31", - "ref": "origin/motion-audit-fixes-clean", - "head": "6aa7e4f0e842cfc16ebaf1a19b3dc22128b5ba65", - "scope": "branch-cleanup", - "outcome": "safe remote delete: PR #1297 merged; post-head tip adds only preserved review history; archived batch15", - "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" + "date": "2026-07-10", + "ref": "codex/quality-testing-typescript-fixes", + "head": "648abfa3f", + "scope": "code-quality + testing + TypeScript", + "outcome": "17 confirmed P2/P3 issues fixed; no P0/P1 findings; residual large-module complexity noted.", + "checks": "Focused Vitest and Playwright; full Vitest 1427 passed/1 skipped; coverage; lint; typecheck; production-readiness CI" }, { - "date": "2026-07-31", - "ref": "PR #1536", - "head": "f92ad5ea35a9c68c2382fd94c56cfbb3deffb185", - "scope": "documents filter panel + library naming", - "outcome": "Handoff. Made the smart-tag facet panel reachable (its only mount was gated on a selection nothing could make), merged source-type filtering into it, and renamed the library control off 'Open source filters'. Kept the ribbon library button after a browser run showed the action-menu route clears the query via onSearchModeChange. Ledger #176 filed for the separately-inert command-scope system.", - "checks": "verify:cheap exit 0 (450 files / 4710 tests); ui-smoke.spec.ts chromium 93 passed 1 failed, the failure pre-existing under Chromium 1194 vs pinned 1228; mutation-tested (old gate fails all 6 new DOM tests)" + "date": "2026-07-10", + "ref": "codex/architecture-review-fixes", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "architecture-review", + "outcome": "Seven findings fixed in the working tree: three runtime cycles, unbounded owner caches, a client/server env boundary breach, reversed runtime-to-scripts ownership, and architecture-doc drift.", + "checks": "`npm run test -- tests/architecture-boundaries.test.ts tests/bounded-ttl-cache.test.ts tests/rag-score.test.ts tests/rag-cache-utils.test.ts tests/rag-cache-invalidation.test.ts tests/evidence-panels.test.ts tests/clinical-dashboard-merge-artifacts.test.ts`; `npm run verify:cheap`; `npm run check:production-readiness:ci`" }, { - "date": "2026-07-31", - "ref": "PR #1542", - "head": "c028450b31441e272a04471292cd162f9c8c826b", - "scope": "documents filter sheet (C1)", - "outcome": "Handoff. Moved the documents filter panel into ui/sheet.tsx: bottom sheet below sm, centred dialog above, header/footer split into the sheet slots, trigger upgraded to a dialog opener with aria-controls via Sheet's new id prop. Branch restarted from origin/main after PR #1536 merged and its branch was deleted; C1 cherry-picked on top rather than stacked on merged history.", - "checks": "verify:cheap exit 0 (457 files / 4780 tests); document-filter-panel.dom.test.tsx 9 passed incl. new dialog+Escape cases; ui-smoke documents journey 1 passed chromium; verify:phone-chrome stages green except the pre-existing PDF-canvas failure, focused-browser stage run directly 7 passed" + "date": "2026-07-10", + "ref": "codex/architecture-review-fixes", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "frontend-architecture-review", + "outcome": "Shared cycle/env findings confirmed and fixed; three additional findings fixed for defeated lazy boundaries, duplicate shell/dashboard subscriptions, and unstable search-context values.", + "checks": "`npm run test -- tests/architecture-boundaries.test.ts tests/evidence-panels.test.ts tests/clinical-dashboard-merge-artifacts.test.ts`; `npm run verify:cheap`; UI gate deferred pending explicit local-API approval" }, { - "date": "2026-07-31", - "ref": "PR-1138", - "head": "f01dcb61bad1f10ab3aa99cfc108cbe255ead386", - "scope": "Bugbot high-risk PR review", - "outcome": "Already merged; UI search deferral scope only with no protected RAG surface change", - "checks": "GitHub files/merge inventory and protected-surface filter" + "date": "2026-07-10", + "ref": "codex/design-ux-review-fixes", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "design-system + UX + design", + "outcome": "Five issue groups confirmed; scoped fixes applied in the worktree.", + "checks": "`npm run check:type-scale`; focused Vitest (19/19); `npm run typecheck`; `npm run lint`; `npm run sitemap:check`; browser/API-backed checks awaiting approval" }, { - "date": "2026-07-31", - "ref": "PR-1153", - "head": "818f9efd551c69971e717b7937d75ead40a4795a", - "scope": "Bugbot high-risk PR review", - "outcome": "No P0; P2 passWithNoTests could mask empty suites; proxy/PDF handling otherwise sound", - "checks": "diff versus main; PR policy/body checks; no provider calls" + "date": "2026-07-13", + "ref": "claude/cranky-swirles-619a39", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1158", - "head": "e35fa15df5c6a3376bcb9f628dbdf99f8fb6809c", - "scope": "Bugbot high-risk RAG review", - "outcome": "P1 short-query broad-summary routing change and P2 low-RAM build hard-stop recorded; live canary not rerun", - "checks": "diff versus main; CI build evidence; no provider call" + "date": "2026-07-13", + "ref": "claude/edit-tools-responsive-layout-a2dd0b", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1159", - "head": "b547b0ccaa5b4259b4ffcf6bb2e117f7cf447a32", - "scope": "Bugbot high-risk post-merge review", - "outcome": "P2 cost-null drift and destructive clean-worktree pathspec risk recorded after merge", - "checks": "pre-delete diff and current-main spot-check; no provider calls" + "date": "2026-07-13", + "ref": "claude/favourites-page-redesign-5a9c1b", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1160", - "head": "fe0588b86e45385bf36969e35cbed725d8178b91", - "scope": "Bugbot high-risk review and CI fix", - "outcome": "P1 sitemap formatter regression fixed; residual orphan-child and lock-wait risks recorded", - "checks": "CI logs; local sitemap generator restore; PR-branch-only push" + "date": "2026-07-13", + "ref": "claude/git-workflow-prompt-970dd4", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1485", - "head": "f4f42fbc5b4a73d0037c8c275a358d265727e0fc", - "scope": "post-review document accordion and catalogue sync", - "outcome": "APPROVE; post-review changes limited to differential refetch memoization and current-main sync; no remaining findings", - "checks": "installed-lock parity; focused catalogue/document suites 3 files 19 tests PASS; typecheck PASS; issue and review-ledger guards PASS; zero unresolved threads" + "date": "2026-07-13", + "ref": "claude/github-pr-testing-review-dde615", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1510", - "head": "2e8821c77fcadaa283d8a0033b1a6af815458d79", - "scope": "PR #1510 CodeRabbit + evidence reopen-ready", - "outcome": "FIXED: CodeRabbit computed-value-time wording, unique #033 queue order, deduped #098 Done block; prior false canary attribution already corrected", - "checks": "check:outstanding-issues PASS; format:changed PASS; contains origin/main" + "date": "2026-07-13", + "ref": "claude/magical-bouman-0a04a4", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1510", - "head": "61d25fd7727c2345fabb9631d604b1632bc0df6d", - "scope": "post-1513 concurrency-note reconciliation", - "outcome": "no actionable findings; preserved main 155, renumbered withdrawn guard to 158, and advanced next-id to 159", - "checks": "outstanding-issues, branch-review-ledger, design-system-contract, changed-format, diff-check" + "date": "2026-07-13", + "ref": "claude/missing-search-bar-a1b3d5", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1510", - "head": "9a52fc6c01ee681ef9608b4f4fb37b30b1314683", - "scope": "remaining reviewed session follow-ups after PR-1511 sync", - "outcome": "no actionable findings; retained PR-1511 lesson and renumbered colliding token finding to 157", - "checks": "outstanding-issues, branch-review-ledger, design-system-contract, docs links/scripts/index, changed-format, diff-check, typecheck, focused eslint" + "date": "2026-07-13", + "ref": "claude/prompt-improvement-skill-2e87bd", + "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." }, { - "date": "2026-07-31", - "ref": "PR-1510", - "head": "d49b65f4bf80962481dcf0a9c9d99c04547c5977", - "scope": "PR #1510 post-1511 exact changed scope", - "outcome": "APPROVE after current-main reconciliation and append-only ledger normalization; no remaining P0-P2 findings", - "checks": "issues, review ledger, design-system contract, docs links/scripts/index, changed-format and diff checks PASS; prior exact-head typecheck and focused ESLint retained; fresh hosted CI required" + "date": "2026-08-13", + "ref": "claude/viewer-ledger-truth-pass", + "head": "648b86ad079e563c7be830ef07dedf63a1ff91a5", + "scope": "document-viewer ledger truth pass: queue five inbox requests (crop-overlay row, #278 done, #215 restated, #280 third acceptance item, stale-runtime provisioning gap) plus one plan-doc correction", + "outcome": "PR #1930 opened. Inventory of remaining document-viewer work found four ledger rows stating things no longer true; every claim re-verified against main 2d270392 rather than the four-day-stale base the inventory began on. Crop to page overlay had NO row at all despite being the one unbuilt Phase 3 capability - its geometry is SELECTed at document-detail.ts and dropped before DocumentDetailImage and ImageRow. #294 and #283 left alone as deliberate deferrals. Queued as inbox requests under the new intake contract, canonical ledger untouched; an earlier attempt on the stale base had allocated #295, which is now taken on main by an unrelated row - reconciliation assigns ids instead. Opened from a fresh branch with user agreement: the designated branch holds dead #1777 history, force-push was blocked by check:ledger-write-discipline diffing against that stale tip, and remote branch deletion is refused by this session's transport.", + "checks": "verify:pr-local COMPLETE, failed: (none) - all 11 selected checks passed (check:runtime, installed-lock-parity, format:changed, sitemap:check, four docs checks, branch-review-ledger, outstanding-issues, ledger-write-discipline). Docs-only scope so build/lint/typecheck/unit/RAG skipped by risk routing, confirmed via --dry-run first. Gate only became runnable after provisioning Node 24.19.0 by hand - queued as its own finding." }, { - "date": "2026-07-31", - "ref": "PR-1510", - "head": "eed59358ffdb588c3015ef317de4587d14ea00cf", - "scope": "PR #1510 reopen-ready evidence correction", - "outcome": "FIXED: removed false #098 canary attribution; NOTES #154->#157 and restored 7/4/3 token accounting; mockup tokens unchanged", - "checks": "check:outstanding-issues PASS; check:branch-review-ledger PASS; check:design-system-contract PASS; format:changed PASS; canary ancestry vs origin/main/work verified" + "date": "2026-08-02", + "ref": "claude/ds-v2-architecture", + "head": "649389ba7223f67281c8f3836dd542997c5cbd83", + "scope": "PR #1583 review-and-fix", + "outcome": "fixed Devin --ease-out Tailwind collision as --ease-out-keyword; synced main; Codex ledger-squash note outdated vs tip", + "checks": "vitest overlay+ckb-v2 34p; npm run test 4973p; merge-tree clean" }, { - "date": "2026-07-31", - "ref": "PR-1515", - "head": "239a2ce6d708f8e1a6ac891c997baefec67cd9ab", - "scope": "PR #1515 CI triage and visible Playwright roots", - "outcome": "No high-confidence defects; default-enabled trusted CI triage and visible-owner Playwright helper reviewed", - "checks": "check:installed-lock-parity; check:ci-triage; check:github-actions; check:outstanding-issues; check:branch-review-ledger; typecheck" + "date": "2026-07-25", + "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", + "head": "64b13fba5d8c7c97dac553d02a8dd4c2b5522e1e", + "scope": "Safe land handoff after #1188 close", + "outcome": "#1188 CLOSED superseded. Tip was bot-merge-only so hosted CI sat in action_required; pushing agent commit to re-trigger non-bot CI before squash-merge to main. merge-tree clean vs main; intentional rebuild (notices/lazy/utils) intact.", + "checks": "gh run list action_required on bot tip; merge-tree clean; no provider calls." }, { - "date": "2026-07-31", - "ref": "PR-1518", - "head": "2fb0996e0208d3da04f941fdc1c1b4ab14d440d6", - "scope": "PR #1518 archive validated issue 146 and add duplicated-list finding", - "outcome": "APPROVE after current-main conflict repair; stale unvalidated claim corrected and unique issue 159 preserved", - "checks": "check:outstanding-issues PASS 157 rows 44 open 113 archived next-id 160; check:branch-review-ledger PASS; installed-lock parity PASS; diff check PASS" + "date": "2026-07-28", + "ref": "PR #1371 / cursor/document-viewer-ci-guards-eac3 (merged)", + "head": "64be97b96b46617e63f7d004fef4f9bcb14bf710", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED. Useful Production UI drift guards (document-overview id ownership + phone section sheet selectors). Draft→ready; sync main; squash+delete-branch.", + "checks": "hosted-pr-required,static,unit,circleci,merge-tree-clean" }, { - "date": "2026-07-31", - "ref": "PR-1520", - "head": "6e6998464a6996a66fdaaadcd482388e39af611e", - "scope": "PR #1520 branch and worktree reconciliation records", - "outcome": "APPROVE; 146 historical cleanup dispositions retained as ledger-only evidence with no repository mutation", - "checks": "check:branch-review-ledger PASS 444 live 1206 archived; diff check PASS; current-main merge clean" + "date": "2026-07-28", + "ref": "PR #1302 / `claude/maturity-ledger-entry`", + "head": "64da2c1b34ae101590b8676af12ec6b49c14f0ad", + "scope": "CI/conflict babysit + Codex threads + Bugbot", + "outcome": "FIXED. Real content conflict with main: `#085` already claimed by upload-limit rec (#1291). Merged origin/main; renumbered maturity backlog to `#086`, bumped `issues:next-id` to `087`, added recommended-queue order 29 with go-ahead/RAG/provider stop rules. X7/M1 work orders arrived via main #1299. Codex P2 threads replied + resolved. Bugbot: zero cursor[bot] findings. CircleCI stub from main clears prior \"no configuration\" status error.", + "checks": "merge-tree CLEAN; prettier + docs:check-links + docs:check-scripts PASS; awaiting exact-head hosted CI; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "018673ff5cadadbd799815cea8d742de28922754", - "head": "018673ff5cadadbd799815cea8d742de28922754", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant clean detached review base already on origin/main; removal deferred by primary-dirty lease", - "checks": "clean status; merge-base ancestor of origin/main; no open PR" + "date": "2026-07-24", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "6528aec920eb3cda84149980bdd26a20845227ec", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "0b01c56fe539598279b9393db5e207bc78fa41c9", - "head": "0b01c56fe539598279b9393db5e207bc78fa41c9", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant clean detached head already on origin/main; removal deferred by primary-dirty lease", - "checks": "clean status; merge-base ancestor of origin/main; no open PR" + "date": "2026-07-19", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #905; commits b2afe66 visuals + 6531178 policy + this ledger follow-up)", + "head": "6531178c1a3427dfd58c4bfcf8e29020c5731179", + "scope": "PWA install/update notice redesign (all breakpoints) + review-follow-up policy fix", + "outcome": "Redesigned the five PWA notices (install, update, iOS hint, offline, restored) as glass lux cards: per-type semantic icon tiles, heading-ink titles, corner dismiss buttons, reduced-motion-safe 280ms entrance. Deliberate placement per screen size: phones keep the bottom card above the fixed composer (thumb zone, safe areas); ≥640px floats a 25rem card bottom-right; ≥1280px moves the stack to a top-right toast under the header (same 4.25rem+safe-area offset constant as the mode-menu popover) with the animation direction flipped. Copy, roles, and button names unchanged. Plus the outline-aware pr-policy section parser fix from the same-session review (see the review row above).", + "checks": "Focused vitest pwa-lifecycle.dom 9/9 + pwa-manifest 8/8; `check:pr-policy` self-test green incl. new sub-heading case; `verify:cheap` 2828/2831 (sole fail = known container-only pdf-extraction-budget artifact); `test:e2e:pwa` privacy/offline green (installability fail = known container `in-incognito` artifact); `verify:ui` 236 passed/2 failed (the two long-baselined container artifacts); production build + client-bundle secret scan + bundle budget within tolerance (1293.4 vs 1278.6 KiB baseline); visual evidence at 390/768/1440 light+dark+offline in session scratchpad. Dev caveat recorded: Turbopack persistent `.next` cache served stale globals.css across restarts twice; fixed by setting the cache aside. No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "archive/branch-worktree-cleanup-20260731/ancestor-c723-0b01c56fe539", - "head": "0b01c56fe539598279b9393db5e207bc78fa41c9", - "scope": "branch-cleanup", - "outcome": "clean detached inactive worktree head is ancestor of origin/main; archived in verified batch4 bundle", - "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" + "date": "2026-08-21", + "ref": "claude/phase-5-closeout", + "head": "653712cbeda0059979e71131e828241f921f17da", + "scope": "PR #2250 review-thread sweep: Codex P1/P2 + CodeRabbit findings on the Phase 5 close-out docs and ledger inbox", + "outcome": "Fixed and resolved. P1 db-push contradiction removed (db push reserved for authorised staging/recovery); plan-flip and index-units deliverables left explicitly OPEN; never-reset claim qualified to database-wide only; Perth/UTC boundary made explicit; four MD040 fences labelled. Supersedes the c3ca68fa record, whose checks cell compressed the gate output.", + "checks": "verify:pr-local decisive line — \"PR-local verification summary: - completed: check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline / - failed: (none) / - not reached: (none)\"; format (whole tree, committed)" }, { "date": "2026-07-30", - "ref": "archive/branch-worktree-cleanup-20260731/detached-guard-format-ifjyhe-2f26a53b5aeb", - "head": "2f26a53b5aeb3df451cf7b1d04f80b07edf0d6fe", - "scope": "branch-cleanup", - "outcome": "inactive detached formatter worktree; exact tip preserved; safe ephemeral checkout cleanup", - "checks": "clean status; no Git operation or process owner; head contained in merged PR #1458; batch7 bundle verified" + "ref": "codex/reopen-issue-105", + "head": "65635235c91527c57d33dd8311d062d28ccff6d9", + "scope": "PR #1483 current-main reconciliation", + "outcome": "No findings; #105 remains open and main's #136 archival is preserved", + "checks": "issues PASS 146 rows 68 open 78 archived next-id 149; ledger PASS 161 live 1206 archived" }, { - "date": "2026-07-30", - "ref": "archive/branch-worktree-cleanup-20260731/detached-guard-format-t52pqy-2fe571a1ad14", - "head": "2fe571a1ad14b63f15404d6ab51a50efb88e0bd1", - "scope": "branch-cleanup", - "outcome": "inactive detached formatter snapshot; active PR branch preserved; safe ephemeral checkout cleanup", - "checks": "clean status; no Git operation or process owner; associated PR #1451 branch retained; batch7 bundle verified" + "date": "2026-07-17", + "ref": "PR #733 / claude/follow-up-design-sizing-250cop", + "head": "6565815b3bd000cb0224e52f8d0e4d84ae28371d", + "scope": "open-PR review + merge babysit", + "outcome": "No high-confidence P0-P2. Follow-up chip row margin-bottom -0.125rem -> 0.4375rem stops overlap with composer pill. Merged to main.", + "checks": "Hosted required checks + Production UI green." }, { - "date": "2026-07-30", - "ref": "archive/branch-worktree-cleanup-20260731/pr-ancestor-1469-a2e64bb7b53b", - "head": "a2e64bb7b53b981679b08419c89a399454a2288a", + "date": "2026-07-13", + "ref": "claude/audit-ci-browser-gate-2026-07-13", + "head": "65a8a0c9e7c3a165b09a1ad79e893af8c2c6973b", "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1469 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "archive/branch-worktree-cleanup-20260731/pr1479-22cea1b40132", - "head": "22cea1b4013229907ea80b50214e49c599f47e02", + "date": "2026-07-13", + "ref": "claude/generation-token-starvation-fix", + "head": "65a8a0c9e7c3a165b09a1ad79e893af8c2c6973b", "scope": "branch-cleanup", - "outcome": "exact merged PR #1479 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" - }, - { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "4a041fcd2ac8f12e4ebb0ab68e0151722db65bcf", - "scope": "PR #1490 main sync + #151 close", - "outcome": "merged origin/main (clean tree; GitHub DIRTY was ledger-driver staleness); archived #151 via #1494; #143 fully resolved; review threads already addressed", - "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "55cc3f91de5d14960081806910633fe2eaf0c0c2", + "date": "2026-07-14", + "ref": "codex/specifiers-design", + "head": "65d8f533f23ca59190b1f7ed0ad86fd050381805", "scope": "branch-cleanup", - "outcome": "safe-delete: ancestor of merged PR #1490 head 9a356b4f; archived batch13", - "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "6bd0c3f85743c5406d49474bb7a92956fa44c0d2", - "scope": "PR #1490 merge conflict", - "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", - "checks": "check:outstanding-issues,docs:check-links" + "date": "2026-07-14", + "ref": "origin/codex/specifiers-design", + "head": "65d8f533f23ca59190b1f7ed0ad86fd050381805", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "7954c044dd16e0669d417e09d6b6192a4df0e72d", - "scope": "PR #1490 main sync", - "outcome": "merged origin/main 9af15e1f (clean tree; GitHub DIRTY was merge=ledger staleness); kept #152/#153 and clarified #153 snapshot wording; #151/#143 remain archived", - "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" + "date": "2026-07-13", + "ref": "origin/coderabbitai/docstrings/d5ab4c3", + "head": "65e5575c4f6ff364b5bc52f7698de7d75986e871", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #521; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "a026c0bfe70f0e9fe290abbdd3660f4c458e4115", - "scope": "PR #1490 #143/#151/#149 reconciliation", - "outcome": "corrected archived #143 fail-open claim; #151 owns remaining half; #149 separates Checks:Read from missing-gh; merged main #1491", - "checks": "check:outstanding-issues; docs:check-links" + "date": "2026-07-14", + "ref": "copilot/fix-ci-test-to-pass", + "head": "660e5789f56a0a54f68616392fb456e1ad10e48c", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "adc4e2e86edce33849ec9c8080b8f0be86155734", - "scope": "PR #1490 main sync after #1496 id collision", - "outcome": "merged c8e53d57; kept main #149/#150; archived #151 via #1494; renumbered this PR's open rows to #152/#153; #143 fully resolved", - "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "662a93f826ea6ba34df9d15677ef5ae2446a2e40", + "scope": "Static PR Format check fix", + "outcome": "FIXED. Hosted `static-pr` Format check failed on Prettier for `tests/cross-mode-differentials-index.test.ts` after the resolved-graph guard. Reformatted; no behaviour change. Mergeable vs main (merge-tree CLEAN, 0 behind). Prior review threads already dispositioned.", + "checks": "`prettier --check` local PASS for the file; vitest index test 3/3; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "bbc5d4625adcbdc32aee2f9b4fb4b0d4365d0e99", - "scope": "outstanding-issues capture: unreadable CI token, at-risk worktree work, unpushed hook fix", - "outcome": "PR #1490 opened. Ledger-only: adds #149 (PAT lacks Checks: Read so no PR verdict is readable; the working status endpoint returns total:0 rather than erroring), #150 (four already-merged worktrees hold uncommitted work existing in no branch or PR, largest +395/-200 over 19 files incl CI config), #151 (the #143 pre-commit fail-open d2fd16d54 lives only on a never-pushed branch, 17 behind main, conflicting on the file main's docs:update generator now owns). Also records that PR #1458 is superseded by #1480 and should be closed after owner confirmation", - "checks": "check:outstanding-issues 149 rows 60 open unique ids next-id=152; docs:check-links 1415 refs resolve; docs:check-index 49 roots/modules/routes; prettier clean" + "date": "2026-07-31", + "ref": "origin/claude/close-knip-false-positive", + "head": "664b8fa141fdc622b3f1ad56eaef5b651f0a0554", + "scope": "branch-cleanup", + "outcome": "safe remote delete: PR #1340 merged; only later change is its already-preserved CI review row; archived batch14", + "checks": "GitHub PR state; PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "bdd27597e9b9d72d56940cd9a55c8000f9bbe1fc", - "scope": "PR #1490 merge conflict", - "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", - "checks": "check:outstanding-issues,docs:check-links" + "date": "2026-07-11", + "ref": "codex/architecture-review-integration", + "head": "665103250ccc33b5870862b8d8467607a1ae5d23", + "scope": "coderabbit-followup", + "outcome": "Fixed POSIX project-root identity collisions and closed dynamic-import and self-cycle gaps in the architecture regression guard.", + "checks": "Local-server Vitest passed; architecture-boundaries Vitest passed (6 tests); `npm run typecheck`; focused Prettier; `git diff --check`" }, { - "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "e47c9d410a2eaaffd73af9e41dc57113f8cc9ef1", - "scope": "PR #1490 merge conflict", - "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", - "checks": "check:outstanding-issues,docs:check-links" + "date": "2026-08-09", + "ref": "claude/in-page-nav-pr-3-i6gi8n", + "head": "6651feef4fab63f1181fba57908cb22e2932df3c", + "scope": "in-page-nav PR 3: convert /medications/[slug] (panel-swap) and /factsheets/[slug] (anchors) onto InPageNavHeader; record the differentials-presentations exception; delete orphaned SecondaryNavigation (#271)", + "outcome": "converted 2 of 3 routes, 3rd recorded as a reasoned lasting exception; tocFor and SecondaryNavigation deleted; route-sections contract 7 -> 12 routes plus a panel-swap suite", + "checks": "verify:pr-local (1 pre-existing root-permission failure in pr-handoff-stop.test.ts, all else green); test 5932 passed; in-page-nav-route-sections 29 passed; verify:phone-chrome 3/4 stages (focused-browser blocked by #255 Chromium 1194 vs 1234); build + bundle-budget + rag:fixtures green; verify:ui not run (#255, delegated to CI)" }, { "date": "2026-07-30", - "ref": "claude/capture-session-followups", - "head": "f18dc1fb25f4687006be897f2c11a4bb1f583f41", - "scope": "PR #1490 #143/#151/#149 reconciliation", - "outcome": "reconciled after parallel remote main-sync; #143 corrected; #151 owns fail-open; #149 separates Checks vs missing-gh", - "checks": "check:outstanding-issues; docs:check-links" + "ref": "PR-1490", + "head": "6662711234f97281dd3d0811059a068202fb1274", + "scope": "PR #1490 consolidated final current-main review", + "outcome": "APPROVE; preserved current-main canonical #151-#153 rows, retained unique #154-#156 findings, folded #1509 style-contract closure, and kept the richer #098 refutation evidence; no remaining P0-P2 findings.", + "checks": "installed-lock parity PASS; tsc --noEmit PASS; single-file ESLint PASS; issue/ledger/docs/format/diff guards PASS; focused Vitest coordinator-blocked" }, { - "date": "2026-07-30", - "ref": "claude/ci-testing-review-2l8klp", - "head": "2e2160bc8b9d2d824209c217c67cb9cac1be3a8d", - "scope": "open PR changed-scope review", - "outcome": "APPROVE: three-way UI sharding, critical-first gating, measured drag travel, and gate-manifest updates preserve required-check aggregation and deterministic Playwright settings.", - "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; ledger guards PASS; exact-head sharded Production UI required" + "date": "2026-07-11", + "ref": "codex/responsive-accessibility-audit", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", + "scope": "responsive and accessibility audit", + "outcome": "P2 fixed: the mobile expandable clinical table no longer wraps semantic table content in a duplicate ARIA button, and its full-screen dialog now traps keyboard focus while preserving Escape dismissal and focus return. Added responsive ARIA and focus regression coverage. No additional high-confidence responsive or accessibility defect was reproduced across audited primary app modes and 320px-1440px widths.", + "checks": "Multi-width DOM/geometry/contrast audit; a11y media (2/2); overlap (12/12); table Vitest (6/6); TypeScript; lint/static checks; full Vitest (1,598 passed, 1 skipped); `npm run verify:ui` (132/132); Prettier; `git diff --check`. Provider checks skipped." }, { - "date": "2026-07-30", - "ref": "claude/design-sync-db0a54", - "head": "c5091e9606ca2a7e26978a94f82c7e826d7f92a7", + "date": "2026-07-13", + "ref": "codex/api-review-fixes", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", "scope": "branch-cleanup", - "outcome": "merged PR #1443 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1443 MERGED at exact final head a1819d8a59b66efe6c5eed37a237ead443bc7569; git merge-base --is-ancestor passed; batch6 bundle verified" + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/design-visual-baselines", - "head": "31204552b23c760a9ca12dbf76d71e331e3c5293", + "date": "2026-07-13", + "ref": "codex/performance-deployment-review", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", "scope": "branch-cleanup", - "outcome": "merged PR #1431 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1431 MERGED at exact final head f82ab2319a9478c7ac04d32be9b3dbd4d6512d6a; git merge-base --is-ancestor passed; batch6 bundle verified" + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/design-visual-baselines", - "head": "b57432facb7ded1e9605d1076e0d8c9d661efa2c", - "scope": "open PR changed-scope review", - "outcome": "APPROVE after fix: platform-scoped baseline guidance matches the candidate-path and AWAITING_BASELINE adoption contract.", - "checks": "Prettier PASS; docs:check-links PASS; check:ci-scope PASS; review thread resolved; exact-head visual CI required" + "date": "2026-07-13", + "ref": "codex/performance-prompt-audit", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/frosty-mayer-2c6167", - "head": "57443a694438112a92155d2675d199116de60b65", - "scope": "PR #1451 final reconciliation review", - "outcome": "PASS - no P0-P2 findings; product diff unchanged after main reconciliation", - "checks": "outstanding-issues, ledger guard, prettier, diff-check" + "date": "2026-07-13", + "ref": "codex/review-findings-fixes", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/frosty-mayer-2c6167", - "head": "c6cebb50c1edea2dc2b465ea02a6b43c73ea6d8d", - "scope": "design-sync [TOKENS_MISSING] repair: 3 undefined CSS custom-property refs (answer-status.tsx, favourites mockups), .design-sync/NOTES.md false-positive docs, issues #094 update + #141", - "outcome": "Fixed: --clinical-accent-strong -> --clinical-accent; --primary-hover -> --primary-strong; --success-hover -> hover:brightness-110. --med-accent* confirmed false positive (runtime-injected by medicationAccentStyle). PR #1451", - "checks": "verify:pr-local exit 0 (4570 passed/3 skipped, build 1694/1694, offline RAG 36 golden/21 suites); verify:cheap exit 0 (434 files, 4564 passed); verify:ui 339 passed + 3 pre-existing hydration-race flakes all green on isolated re-run; prettier --check . exit 0; Playwright computed-style probe proved fix in light+dark" + "date": "2026-07-14", + "ref": "codex/performance-prompt-audit", + "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", + "scope": "branch-cleanup", + "outcome": "Deleted local redundant ref after confirming no patch-unique content remained.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-30", - "ref": "claude/global-search-mockups-mrgmzl", - "head": "e79e499839e56bff66aecc37d1c915ac3127e995", - "scope": "prlanded", - "outcome": "merged and verified by content", - "checks": "verify:cheap exit 0 (437 files, 4576 passed); verify:pr-local exit 0; CI pr-required green on a6f2281; squash e79e499 content diff vs branch tip empty; late aria-live/role=alert commit confirmed present on main" + "date": "2026-07-13", + "ref": "claude/observability-alerts-rollback-8d9b79", + "head": "67144fe56b776fb58d2518d057d41612399f65b6", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #536; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "claude/issues-133-evidence", - "head": "6bac6311e1642ceeb0d78896ace11f4d17ace1f7", - "scope": "docs/outstanding-issues.md: open #151 (residual id-allocation hazard after #133's resolution)", - "outcome": "Recorded. #133 resolved conflict frequency (#1444 driver, #1479 Prettier exclusion) but not read-modify-write id allocation; PR #1451 renumbered one row five times, and GitHub Update-branch produced duplicate #141 rows with a stale marker. PR #1506", - "checks": "check:outstanding-issues exit 0 (149 rows, 51 open, 98 archived, unique ids, next-id=152, no ids deleted from base); pre-push Prettier guard passed on pushed commit, not bypassed; file is .prettierignore-excluded per #1479" + "date": "2026-07-13", + "ref": "origin/claude/observability-alerts-rollback-8d9b79", + "head": "67144fe56b776fb58d2518d057d41612399f65b6", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #536; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "8bec95559bd2333516560e336e3244c0a9504583", - "scope": "PR #1396 phone header overlay motion + dock portal", - "outcome": "Reported choppiness traced to the collapse mechanism itself: a 1fr->0fr header grid plus chrome-safe-area-top height transition plus reserve-pad padding transition handed layout back to the scroller on every hide. Switched phones to the already-proven overlay motion (translate, zero released top geometry) and added a constant measured top reserve (--phone-overlay-chrome-h). The switch regressed the shell phone bottom dock: the overlay translate makes a containing block for position:fixed descendants, so bottom:0 resolved against the 72px header (form bottom 772px off at 390x844); fixed by portalling the dock to the footer layer per invariant 21. Two new guards, both proven against the broken shapes.", - "checks": "verify:cheap Test Files 432 passed / Tests 4452 passed | 4 skipped; focused Chromium phone-chrome 13 passed; typecheck+lint+prettier clean; verify:ui NOT run (container Playwright build mismatch, see #113)" + "date": "2026-07-14", + "ref": "claude/observability-alerts-rollback-8d9b79", + "head": "67144fe56b776fb58d2518d057d41612399f65b6", + "scope": "branch-cleanup", + "outcome": "Deleted local ref using prior exact-head squash-merge evidence; newer remote work remained untouched.", + "checks": "Prior PR #536 exact-source-head ledger evidence and fresh ref scan." }, { - "date": "2026-07-30", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "e7ff5e933ba1f34d5adbd46dd77c38aced11ed44", - "scope": "open PR changed-scope review", - "outcome": "APPROVE: ordering-risk documentation is accurate and the near-bottom refusal guard now proves its geometry is non-vacuous before asserting no hide.", - "checks": "diff check PASS; focused test review; no unresolved threads; exact-head Production UI required" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "671b0b99f7fdd33e83e5fa55a29470690c9243f2", + "scope": "RAG row-contract tranche 2 P2: unconstrained JSON provenance acceptance", + "outcome": "Fixed P2 — index-unit source_span and metadata accept all JSON allowed by the database; non-object provenance is safely omitted from record-only downstream consumers", + "checks": "manual adversarial review; focused scalar/array contract regression added; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; targeted Vitest blocked: node_modules/vitest absent" }, { - "date": "2026-07-30", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "fd3753b4c8cc041889c39f74a0f763edc358c183", - "scope": "PR #1459 final docs issue review", - "outcome": "PASS - no P0-P2 findings; restores open issue 105 and records deletion-guard gap", - "checks": "outstanding-issues, ledger guard, docs links, diff-check" + "date": "2026-07-26", + "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", + "head": "6721ca449 + short-runway determinism hunk", + "scope": "Production UI failure root-cause + focused fix", + "outcome": "Failing check pair (Production UI + PR required aggregate) traced to ui-smoke short-runway test racing PageDown smooth-scroll against the near-bottom reserve guard (hide only fired when a frame sampled the 32-40px intent window). Replaced with deterministic scrollPrimarySurface path: bottom-jump refusal asserted, then floored post-collapse-offset hide. App code unchanged.", + "checks": "Focused Playwright chromium repeat-each=3 pass (2 runs, 6/6) on isolated prod build; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "claude/organize-local-worktree-d22bc3", - "head": "2f26a53b5aeb3df451cf7b1d04f80b07edf0d6fe", - "scope": "docs organisation: dated-record filing, docs index gaps, orientation maps", - "outcome": "PR #1436 opened — 5 dated docs filed into docs/audit and docs/archive, root codex-cloud-review moved under docs/prompts, 17 docs README index gaps closed, root data/ documented in CLAUDE.md + codebase-index; no product code, schema or RAG surface touched", - "checks": "docs:check-links 1368 refs pass; docs:check-scripts 378 pass; docs:check-index OK; format:check whole-tree clean; verify:cheap 26 static gates + lint + typecheck pass, unit 4562 pass / 1 pre-existing Windows path-separator failure in tests/repo-hygiene.test.ts" + "date": "2026-07-13", + "ref": "claude/pt-audit-pr3-storage-unification", + "head": "6758a6c2a30f1479e742c6224ef886ef47726902", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-30", - "ref": "claude/outstanding-issues-triage-24c8ow", - "head": "8d2710fd6cbdc84e8c50a6c9bc0a1e1a0cd612c8", - "scope": "open PR changed-scope review", - "outcome": "APPROVE: completed items 095, 096, 104, 109, and 115 move to archive with no deletion, duplicate ID, or stale next-id.", - "checks": "check:outstanding-issues PASS; check:branch-review-ledger PASS; diff review; no unresolved threads" + "date": "2026-08-11", + "ref": "codex/answer-loading-ui-20260811", + "head": "6758f8156f9d1b3e893981dfd7a1f6563aa90da0", + "scope": "answer creation loading UI", + "outcome": "No high-confidence findings", + "checks": "UI 3 passed; unit 8 passed; lint, typecheck, build, design-system and offline RAG passed; full suite 6022 passed with 16 unchanged baseline failures" }, { - "date": "2026-07-30", - "ref": "claude/pre-commit-fail-open", - "head": "62ed282ddac0525bf5d851aff28985098489429e", - "scope": "branch-cleanup", - "outcome": "safe-delete: ancestor of merged PR #1494 head 7b96a09b; archived batch13", - "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" + "date": "2026-08-18", + "ref": "claude/dictionary-mode-ui-updates-uwoicy", + "head": "67a290f393702f36021a470e6b00b0d1aa335227", + "scope": "Dictionary UI: topics/compare copy removal, sources page rebuild + composer suppression, search route header", + "outcome": "approved", + "checks": "lint, typecheck, test (670 files/7149 tests), ui-dictionary + ui-mode-nav-density + ui-route-coverage Chromium (70 passed)" }, { - "date": "2026-07-30", - "ref": "claude/remove-circleci", - "head": "21e7a4a8f84975295649589356cc63288e2bcb86", - "scope": "Remove CircleCI (persistent non-required red check)", - "outcome": "Opened PR #1412. Diagnosed ci/circleci:verify red on both PR #1401 and main's own tip; proved via faithful shallow-clone repro that the docs-only classifier (ci-change-scope.mjs) is not the cause; stopped local repro test run per explicit user request; user chose to remove CircleCI outright rather than keep debugging", - "checks": "format:check PASS, lint PASS, typecheck PASS (all against main tip in a fresh worktree); npm test not run (stopped early); grepped repo for other CircleCI references - none found; no provider-backed checks" + "date": "2026-07-29", + "ref": "cursor/recent-pr-bugfixes-f30d", + "head": "67c992274abae9a6d73117ff9b7ea096b92be4c3", + "scope": "pr-1374-ci-fix", + "outcome": "FIXED: Production UI strict-mode locator; merged main (DIRTY was staleness); Codex P1 example-guard + mounted signed-URL paint; threads resolved", + "checks": "vitest patient-safety-plan+auth-signed-url 8/8; playwright safety-plan export 1/1; eslint changed files; merge-tree clean" }, { - "date": "2026-07-30", - "ref": "claude/root-dir-coverage-gate", - "head": "20e0fa5b2f091be9fb25535ba3586186ff2ce8ab", - "scope": "branch-cleanup", - "outcome": "un-checked-out local branch head is ancestor of origin/main; archived in verified batch4 bundle", - "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" + "date": "2026-08-17", + "ref": "claude/pr-auto-merge-safety-tpxupu (PR #2028)", + "head": "67d587f73f915ae5f9c8a43ddae42201b8f94595", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno download) once. No review threads. Only advisory GitGuardian false-positive (known canary-token pattern in tests/rag-adversarial-fixtures.test.ts).", + "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs; PR required: success" }, { - "date": "2026-07-30", - "ref": "claude/root-dir-coverage-gate-v2", - "head": "aad7b20662edbc6d89960d353a6944a6d5a50f5a", - "scope": "branch-cleanup", - "outcome": "safe-delete: ancestor of merged PR #1458 head 39866014; archived batch13", - "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" + "date": "2026-07-31", + "ref": "1489", + "head": "67d5cb91083f9b0e9d3017816cbf68abab102688", + "scope": "PR 1489 review — Therapy startup/sidebar perf, catalogue split, bundle-budget, phone-chrome", + "outcome": "approved with follow-ups; merged 945148251. No P0/P1. Findings fixed on claude/pr-1489-review-786e01: inferred modality mislabelled ECT/rTMS as ACT and Psychoanalysis as CBT (pre-existing on main); hashed catalogue assets never pruned (2 stranded in-PR); classifyPullRequestFiles returned clinicalRisk:false for 205 clinical records; viewportHeightChanged guard outranked topRevealOffset; guard keyed innerHeight not visualViewport; sk-proj- keys unescaped; bundle-budget step timeout 3m too tight. Bundling note: operationalRisk+clinicalRisk in one squash, so no per-item revert.", + "checks": "verify:cheap static gates pass; lint pass; typecheck exit 0; vitest 449 files/4700 pass; verify:phone-chrome contracts 116 pass + focused browser 13 pass; verify:ui 342 pass/2 fail, both pass isolated (composer hero-vs-dock hydration race, no position: assignment in use-hide-on-scroll)" }, { - "date": "2026-07-30", - "ref": "claude/section-spy-browser-coverage", - "head": "d949859c3f446ea94774848cbf29a1060f607e32", + "date": "2026-07-13", + "ref": "codex/pr-556-sync", + "head": "67e396f553d098156ae9de693f021fb9ed73fd94", "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "rejected WIP test: collapsed-disclosure predicate is vacuous and hidden phone header is clicked without reveal; no production change; clean worktree; batch12 bundle verified" + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-30", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "4f498b66a56b2a7eddde6c841a79621f23b59cc7", - "scope": "PR #1398 babysit", - "outcome": "BLOCKER CLEARED: CONFLICTING due to docs/outstanding-issues.md vs main (#115 band-adoption follow-up). Kept main #115 + next-id=116; preserved PR #109 single-branch/refspec update. Prior tip had no GitHub CI suite (only PR Policy/CircleCI) — push retriggered full CI. 0 review threads; 0 Bugbot findings.", - "checks": "verify:cheap PASS (432 files, 4467 passed | 4 skipped); repo-hygiene 38/38; sweep:branch-ledger --no-fetch exit 0; format:changed PASS; Bugbot none; hosted CI re-triggered on tip" + "date": "2026-07-13", + "ref": "origin/coderabbitai/utg/3f739cd", + "head": "67e396f553d098156ae9de693f021fb9ed73fd94", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #556.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-07-30", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "d5842e62238237ff5c47da0b32ef8d9f12819714", - "scope": "PR #1398 babysit", - "outcome": "COMPLETE for tip: cleared main conflict; fixed Codex P2 (reject refs/*→origin/* nesting); prior Codex P2 (destination check) already fixed in de594186 and resolved; 0 unresolved threads; merge-tree clean. Hosted CI re-running.", - "checks": "repo-hygiene 40/40; verify:cheap earlier PASS on pre-tip; format:changed PASS; Bugbot none; Codex P2 resolved" + "date": "2026-07-24", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "67f1d7aee5f9f43295482b2a877c9cb691d774e6", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed 67f1d7aee. Threads: none. Residual: CI re-running.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "7577a1ea60ab5f0918885f90e849bbac754234b1", - "scope": "PR #1394 search-results-band-adoption + #096/#115", - "outcome": "No P0/P1. Disposition1 partial: isAlwaysStandaloneShellPath fixes services/etc; /tools still layout-false-positive (P2). Disposition2 verified: import-as-rendered deferred as #115 (P3). #096 closure text accurate for root-path; row still open with stale Still-live clause.", - "checks": "vitest tests/search-results-band-adoption.test.ts 6/6; offline gutting repro tools vs services; static read search-route-ownership + outstanding-issues" + "date": "2026-08-05", + "ref": "codex/editable-search-pins", + "head": "67f2c71e8376fbc44615f765a73cb6a37c4ddb40", + "scope": "editable search pins menu review follow-up", + "outcome": "merged main; review threads cleared; auto-merge armed", + "checks": "vitest search-pins+mode-action+command-surface: Test Files 4 passed (4); Tests 33 passed (33); eslint max-warnings 0 on touched surfaces" }, { - "date": "2026-07-30", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "939d5799b9999f3f63928e1b2c95d097f07eff90", - "scope": "open PR changed-scope review", - "outcome": "APPROVE: PR 1400 closeout and issue IDs 131-134 are unique, internally consistent, and preserve the append-only ledgers.", - "checks": "check:branch-review-ledger PASS; check:outstanding-issues PASS; diff review; no unresolved threads" + "date": "2026-07-13", + "ref": "origin/copilot/fix-issue-with-database-connection", + "head": "67f5bb2744939922ceb280fab8785ee0259b26f2", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-issue-with-database-connection; git diff --name-only reported 1 path(s)." }, { - "date": "2026-07-30", - "ref": "claude/white-element-positioning-t607pk", - "head": "b82ff088436cd936d219a4eb54a54d09a88fbd7c", - "scope": "pr-babysit", - "outcome": "Product tip sound; no code fix. Hosted CI fully green once at e7a27bbf (Production UI+PR required). Recurring blocker: repeated Merge main into PR cancels Production UI mid-run so PR required fails with production-ui=cancelled. merge-tree clean / MERGEABLE when left alone. No review threads. Bugbot: no cursor[bot] findings; suite stays queued. Local A/B: 3 Playwright fails identical on --surface/--background.", - "checks": "verify:cheap:pass; hosted:e7a27bbf:PR-required+Production-UI:pass; A/B-playwright:env-flake; bugbot:no-findings; churn:main-merges-cancel-ui" + "date": "2026-07-14", + "ref": "copilot/fix-issue-with-database-connection", + "head": "67f5bb2744939922ceb280fab8785ee0259b26f2", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "claude/white-element-positioning-t607pk", - "head": "db341491b0d94cf11641eb98aa8726629580a652", - "scope": "bugbot", - "outcome": "pr-bugbot: no cursor[bot] Bugbot findings on PR #1393 head. Hosted Cursor check suite 82712209672 stuck queued (0 check-runs) since 2026-07-30T02:33:11Z; rerequest 403. Local Bugbot-equivalent: no P0/P1 confirmed.", - "checks": "gh-graphql-threads:empty; gh-review-comments:0; pr-bugbot-agent; rerequest:403; no-fixes" + "date": "2026-07-22", + "ref": "PR #1077 / `codex/reconcile-migration-role-guardrails`", + "head": "6845f238f54a095f9a9a81f8ebdde0c2ed8fe1ce (merged as bf9a50836a445441f4d224686c54f1c4af257b6a)", + "scope": "Hosted migration-role and Docker-owner guardrails", + "outcome": "MERGED. Reserved-role references are rejected in active surfaces; the sole immutable historical exception is checksum-pinned; replay discovers the storage owner dynamically.", + "checks": "Red six-reference proof; focused 15/15; PostgreSQL 17.6 replay; `verify:cheap` 3,182 passed / 1 skipped; PR-local/hosted migration and image checks green." }, { "date": "2026-07-30", - "ref": "claude/white-element-positioning-t607pk", - "head": "db341491b0d94cf11641eb98aa8726629580a652", - "scope": "phone-chrome safe-area paint fix", - "outcome": "APPROVED — no P0/P1. One P2 pre-existing residual (spacer/bar mismatch on notched tablet sm+ in PWA mode — worse before, slightly better after; no action needed). P3: contract test slice brittleness (indexOf '/>') and invariant-6 prose length. No defects introduced.", - "checks": "vitest header-scroll-hide-contract 27/27 green; source read: master-search-header.tsx, globals.css forced-colors block, tests/header-scroll-hide-contract.test.ts, docs/search-chrome-behaviour.md" + "ref": "codex/pr1469-sweep", + "head": "6881331dbd9ed3a8d1898dbae217dd5d3857d7cb", + "scope": "branch-cleanup", + "outcome": "merged PR #1469 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1469 MERGED at exact final head 0784c150d5c6888bec172bf5c0d4472a66452071; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-30", - "ref": "claude/white-element-positioning-t607pk", - "head": "db341491b0d94cf11641eb98aa8726629580a652", - "scope": "pr-diff-review", - "outcome": "No P0/P1. Phone chrome-safe-area-top paint fix from --background to --surface is correct for collapse-strategy modes; overlay answer path unchanged (no spacer). Scroll-hide h-0 release untouched. Residual: sm+ translucent glass vs opaque spacer (pre-existing, improved); hosted Cursor Bugbot suite stuck queued with 0 runs.", - "checks": "vitest:header-scroll-hide-contract:27-pass; frontend-ui-reviewer; local-bug-hunt; gh-threads:0; no-provider-gates" + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "68b3d1de343ef1164d389925a9f45d4dc1106de2", + "scope": "Review-thread disposition", + "outcome": "RESOLVED Codex P2 (shimmer already wired) + CodeRabbit reduced-motion shimmer kill (explicit `animation: none` on `::after`). Threads replied + resolved.", + "checks": "prior tip PR required SUCCESS; awaiting exact-head recheck; no provider checks." }, { - "date": "2026-07-30", - "ref": "claude/white-element-positioning-t607pk", - "head": "e7a27bbfb2fca907aa235c36f8966164e1ad9e27", - "scope": "pr-babysit", - "outcome": "No product fix needed. Prior PR-required failures were production-ui cancelled by repeated main merges superseding runs. Current head: merge-tree clean, 0 behind main, hosted CI success including Production UI + PR required. No unresolved review threads. Bugbot: no cursor[bot] findings; Cursor suite still queued. Local A/B proved 3 Playwright failures identical on --surface and --background (env flake).", - "checks": "verify:cheap:4451-pass; format:check:pass; phone-contracts:82-pass; hosted:PR-required:pass; hosted:Production-UI:pass; A/B-playwright:same-3-fail; bugbot:no-findings" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "690204f669db3be9995b6c658ad2eb35befbdace", + "scope": "PR #1981 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-07-30", - "ref": "claude/x3-rag-coverage-gate-qx9j7d (PR #1454, squashed as 102bb1f)", - "head": "102bb1f5edf09e666d1be5934ff5dfb2aa5abcf0", - "scope": "X3/#086 evidence coverage gate extraction from rag.ts into rag-coverage-gate.ts", - "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 5030->4780, budget ratcheted to 4780, no back-edge, public re-export preserved; squash captured 100% of branch content, nothing orphaned", - "checks": "workflow:rag-lab, focused vitest 81/81, check:maintainability-budgets 4780/4780, check:rag:fixtures 36 golden, eval:rag:offline 567/567, typecheck, lint, check:knip, format:check, verify:cheap 4569 passed, npm test 4569 passed, verify:pr-local build+bundle-scan, post-merge npm test on main 4574 passed" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "690204f669db3be9995b6c658ad2eb35befbdace", + "scope": "PR #1981 retrieval row contract formatter follow-up", + "outcome": "Collapsed a formatter-stable candidate-source import after the exact-head changed-file format gate failed; retained the validated row-shape assertions.", + "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/rag-retrieval-row-contract.test.ts unavailable: node_modules/vitest/vitest.mjs absent." }, { - "date": "2026-07-30", - "ref": "claude/x3-rag-coverage-gate-qx9j7d (PR #1463, squashed as dba7356f)", - "head": "dba7356fc8dc926d951d6de6f019d5b8e000be21", - "scope": "X3/#101 per-request hydration extraction from rag.ts into rag-hydration.ts", - "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 4780->4543, budget ratcheted to 4543, no back-edge (cluster referenced zero rag.ts-local symbols), both public re-exports preserved; squash captured 100% of branch content", - "checks": "typecheck, lint, check:knip, check:maintainability-budgets 4543/4543, focused vitest 83/83 incl rag-query-concurrency, eval:rag:offline 572/572 36 golden, format:check, verify:cheap, verify:pr-local build+bundle-scan, post-merge content verification on main" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "690204f669db3be9995b6c658ad2eb35befbdace", + "scope": "RAG signal-row formatter follow-up", + "outcome": "Formatted the signal-row regression assertion reported by changed-file formatting. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", + "checks": "node --check tests/rag-retrieval-row-contract.test.ts; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-07-30", - "ref": "codex/address-performance-issues-in-package", - "head": "1641f6a8d07746db3858c4dace0db3430545ca1d", - "scope": "bugbot", - "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note", - "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" + "date": "2026-08-08", + "ref": "claude/ds-tap-and-linkaction", + "head": "6916c80526603514d91bd29d224959dd420af59c", + "scope": "M5 LinkAction tone refusal plus re-measured corrections to outstanding-issues #270, #118 and #269 — final reviewed head, adds the tone?: never fix, its type-contract test and both regenerated manifests", + "outcome": "PR #1720, superseding the 824c1b74a record. Codex found the Omit form still accepted tone through a spread; verified with a focused tsc probe before changing anything (Omit accepted the spread with no diagnostic, tone?: never rejected it with TS2345), because excess-property checking only fires on object literals. Fixed with tone?: never plus a type-level contract test that stops compiling if the prop widens back. CodeRabbit's future-dated finding fixed in ff307cc5b. CodeRabbit's ledger-scope finding does not apply: that row records a different ref and head and was accurate as written, but a superseding row for the final #1719 head was appended anyway since its scope grew after the review pass", + "checks": "tsc -p tsconfig.typecheck.json --noEmit exit 0 zero diagnostics; lint exit 0; check:design-system-contract exit 0 (676 production files, legacy shadow aliases 228 confirming the #262 re-measure, adoption 53 components 55 roots, design-sync 53 components and 7 guidelines); check-icon-scale.mjs --strict exit 0; vitest threads pool 3 files 164 tests passed; check:outstanding-issues pass; check:branch-review-ledger pass; prettier --check . pass whole-tree; main merged in with merge-tree proven clean first and an id-set proof over both merge parents showing 274 ids each side, none lost, none invented" }, { - "date": "2026-07-30", - "ref": "codex/address-performance-issues-in-package", - "head": "6cde3c0b60de85da345e386b21e6b9b51a826601", - "scope": "bugbot", - "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note; supersedes befd1d9e after amend into merge tip", - "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" + "date": "2026-07-25", + "ref": "cursor/search-performance-review-4ee9 (PR #1134)", + "head": "692834a86e612cc8b311dc6895e007f182f5c5b8", + "scope": "Open-PR maintenance: superseded docs-link thread and clean main sync", + "outcome": "Before: branch was behind current main with one outdated docs-link thread; its product tree already matched main. After: merged current main cleanly and verified the route-group-aware docs-link fix now covers legacy route references. RAG impact: no retrieval behaviour change — history sync and docs tooling verification only.", + "checks": "`node scripts/check-docs-links.mjs` pass (1154 references); clean merge-tree; no live RAG canary or provider-backed check run." }, { - "date": "2026-07-30", - "ref": "codex/address-performance-issues-in-package", - "head": "befd1d9ebd6dec575d51a507cba230cb8de58cd0", - "scope": "bugbot", - "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note", - "checks": "build-therapies-index --check; vitest therapy-compass suites; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" + "date": "2026-07-25", + "ref": "PR #1162 / `execute-audit-code-remediation`", + "head": "692eb248c095d64443a5f9ed0ab7b02394f0ed4b", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "CONDITIONAL after rebase. Substantive upload RPC + batch signed-URL work looks sound (service_role-only SECURITY DEFINER; batch auth equivalent to single-image). Still CONFLICTING vs main (ClinicalDashboard, global-search-shell, mode-home-template, search-scope, tests, pdf extractor). P2: batch rate-limit amplification ×100; mobile back `push` vs `back` semantics; duplicate-hash match via plpgsql message text. CI red on Static/Safety/Unit/UI/Migration.", + "checks": "merge-tree conflict list; static auth/RPC review. No provider/migration replay." }, { - "date": "2026-07-30", - "ref": "codex/address-performance-issues-in-package", - "head": "cff469310f90279cf60e746e3b0f6703a9886be9", - "scope": "bugbot", - "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict resolved (main open queue + PR #117 hashed asset note)", - "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage" + "date": "2026-08-22", + "ref": "work", + "head": "697c74cade73c1cc670a1b82d1392959a2d8598d", + "scope": "adversarial review of design-system title fix and live shared-home UI", + "outcome": "P2 client-side mode switches left document.title stale; fixed with shared title owner and browser regression. Corrected stale design-gate evidence/counts; no P0/P1 findings.", + "checks": "focused Vitest 45 pass; focused Playwright 1 pass; accessibility Chromium 17 pass; design-system contract pass; 320/390/639/768/1440/1920 overflow and forced-colors sweep" }, { - "date": "2026-07-30", - "ref": "codex/archive-advisory-ui-scope", - "head": "c8d50c7ac275212cbebf5c53fe859d863e800bbf", - "scope": "archive issue 137 after current-main verification", - "outcome": "approved: implementation and fail-open self-tests remain green on current main", - "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; diff check" + "date": "2026-07-24", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "69af1e5db0d3fff45214b1cc17f37b0fbd5fffb2", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Run PR babysit: Codex P2 density assertion fixed + thread resolved. Before: CI mostly green (Production UI in progress), 1 unresolved Codex P2 (3644978153). After: scoped per-button density assertions + count=2; reply+resolve PRRT_kwDOSh5Fis6TiJPl. Not behind main.", + "checks": "npx vitest run tests/mobile-interaction-regressions.test.ts PASS (5/5). No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/archive-advisory-ui-scope", - "head": "f1d3f9ec5908b50544b7e9e054e254b5826a349c", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1498 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "date": "2026-08-04", + "ref": "pull/1587", + "head": "69b838fe7f56ed85ed6aaef206e9084c2e3260d9", + "scope": "Run PR sweep full changed scope", + "outcome": "merged", + "checks": "PASS: typecheck, build, unit coverage, Lighthouse, static checks, container verification, scans and PR required. No live OpenAI call." }, { - "date": "2026-07-30", - "ref": "codex/archive-completed-ci-tasks", - "head": "5c902f422ceee78ef68132900fda734c1d5bc1f8", - "scope": "archive issues 133 and 135", - "outcome": "approved: both rows were already resolved on current main and focused guards prove their contracts", - "checks": "check:ci-scope; check:outstanding-issues; check:branch-review-ledger; diff check" + "date": "2026-07-25", + "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", + "head": "69dc0dbfb46586f54f5934199d4a65b9f6a0aba8", + "scope": "User-requested Bugbot review of current PR head after geometry-aware clamp handling and CI formatting fix", + "outcome": "No bugs found.", + "checks": "Bugbot branch review; prior focused unit/Chromium/manual proofs retained; no provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/archive-completed-ci-tasks", - "head": "6fc6a75325a235881ecd0e38b07c784bc9c7b10a", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1500 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "6a0086732a5cfaaa17977ee0c568d6f326f4c059", + "scope": "CI babysit + Bugbot", + "outcome": "FIXED. Merged origin/main cleanly (behind/mergeable). Production UI failed on strict getByTestId(differential-detail-page) matching live page + hidden Next streaming S: clone; scoped locator to mobile-composer-reserve-pad (same class as presentation/service detail). Prettier-fixed Static PR. Bugbot: 0 unresolved cursor[bot] threads; no P0/P1 on unique diff.", + "checks": "Focused Chromium diagnosis-detail journey PASS 1/1; format:check PASS on touched file; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/authenticated-live-tests", - "head": "dec121d05643a204399519e8869a6cda4e319574", - "scope": "branch-cleanup", - "outcome": "safe-delete: ancestor of merged PR #1448 head 3e50d136; archived batch13", - "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" + "date": "2026-07-14", + "ref": "codex/universal-search-mode-ranking", + "head": "6a0c37f8e3b4b23fa52c49fec28dcbc8d635b80f", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "codex/chat-codex-cloud-setup-c1a2", - "head": "42971d502330f2a257a8c799e88b23c34c534457", - "scope": "branch-cleanup", - "outcome": "safe-delete: authenticated-live patch-id equals dec121d0, ancestor of merged PR #1448; archived batch13", - "checks": "git patch-id --stable; git merge-base --is-ancestor; git bundle verify" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "6a1ef9ef020ff41165a9d02245367052a68bd7b3", + "scope": "PWA mobile root CLS budget remediation", + "outcome": "Narrowed install-sheet root-content repositioning from all phone widths to the documented <=359px compact layout, preserving the 320px overflow safeguard while avoiding the confirmed mobile-root shift.", + "checks": "git diff --check; Lighthouse CI log diagnosis: mobile-root CLS +0.105 confirmed in 3/3 samples; local Lighthouse intentionally not run" }, { - "date": "2026-07-30", - "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", - "head": "2aee8c74e64bd09954fe1b474c73b25805063de0", - "scope": "open PR changed-scope review", - "outcome": "APPROVE: setup action description now matches clean npm install with npm-download caching; no behavior change.", - "checks": "check:github-actions PASS; diff review; no unresolved threads" + "date": "2026-08-12", + "ref": "codex/chat-ecg-pulse-optimisation-answer-ecg-animation", + "head": "6a8f940f3a1a2521b17e52f85218755e43046269", + "scope": "ECG pulse animation optimisation", + "outcome": "No findings; lightweight SVG/CSS animation confirmed", + "checks": "format; design contract; typecheck; focused Vitest 41/41; focused Chromium ECG journeys; production build; full suite environment failures; offline RAG fixtures 36/36" }, { - "date": "2026-07-30", - "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", - "head": "6dd67737d931963e977e18e1a5aca76047e0256a", + "date": "2026-07-31", + "ref": "origin/motion-audit-fixes-clean", + "head": "6aa7e4f0e842cfc16ebaf1a19b3dc22128b5ba65", "scope": "branch-cleanup", - "outcome": "merged PR #1429 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1429 MERGED at exact final head a91ed88d095c9ea00b46f9b09138d3c48051eec9; git merge-base --is-ancestor passed; batch6 bundle verified" + "outcome": "safe remote delete: PR #1297 merged; post-head tip adds only preserved review history; archived batch15", + "checks": "PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" }, { - "date": "2026-07-30", - "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", - "head": "6dd67737d931963e977e18e1a5aca76047e0256a", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant commit contained by merged PR 1429 head; removal deferred by primary-dirty lease", - "checks": "clean status; ancestor of exact merged PR head; no open PR" + "date": "2026-07-13", + "ref": "origin/coderabbitai/docstrings/faac19b", + "head": "6aba3a54370fca45af926ac98e6457b24d617dc1", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #554; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "codex/chat-frontend-skill-selection-0978", - "head": "0fa79cd69a7e4374de653a0d92145d6ff569af10", + "date": "2026-07-13", + "ref": "claude/audit-remediation-2026-07-13", + "head": "6b24b66c844c08ac78f992380914c05e15ecef7c", "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "dependency blobs byte-identical to merged PR #1456; unique review record copied; clean inactive worktree; batch10 bundle verified" + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #582.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-30", - "ref": "codex/chat-frontend-skill-selection-0978", - "head": "26da021dbbd38f83f03a5dc8e073a57036e90609", - "scope": "dependency security update vs origin/main", - "outcome": "no findings; compatible patched maintenance releases", - "checks": "runtime, installed-lock parity, format, lint, typecheck, 434/435 test files, production audit, CVE guard, 36 RAG fixtures; local build lock timeout" + "date": "2026-07-13", + "ref": "origin/claude/audit-remediation-2026-07-13", + "head": "6b24b66c844c08ac78f992380914c05e15ecef7c", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #582.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-30", - "ref": "codex/chat-issue-ledger-triage-c77e", - "head": "f661dfe56ac5b0769491f1cd4cc1319be52f4050", - "scope": "branch-cleanup", - "outcome": "safe-delete: ancestor of merged PR #1441 head dbfd3068; archived batch13", - "checks": "GitHub associated-PR API; git merge-base --is-ancestor; git bundle verify" + "date": "2026-07-14", + "ref": "codex/universal-search-domain-exclusions", + "head": "6b2c4ffbc81b9a35746ee2fa8795c73a2f65d4fc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "codex/chat-prompt-skill-review-e608", - "head": "1611d5ee157f3444e08b5e1ccf5c316e8a319490", - "scope": "branch-cleanup", - "outcome": "closed PR #1439 duplicate superseded by merged PR #1434; safe local cleanup", - "checks": "maintainer closure states stronger replacement; SKILL.md and openai.yaml blob equality confirmed; verifier/workflow/tests replaced; batch8 bundle verified" + "date": "2026-07-31", + "ref": "codex/cloud-github-connector-policy", + "head": "6b2e90851d418bf1f778fb6a1e0fe9c31256a08e", + "scope": "PR #1447 reopen prep", + "outcome": "no P0-P2; Cursor shell-git wording clarified; merge-clean vs main; Bugbot none; PR left closed", + "checks": "check:codex-cloud,format:check,merge-tree,bugbot:none,diff-review" }, { - "date": "2026-07-30", - "ref": "codex/chat-prompt-skill-review-e608", - "head": "9d0a51671e2fa808fda7026865530825c2db9fed", - "scope": "Codex prompt-perfector skill", - "outcome": "P1 unsupported isolation mechanism; P2 implicit evaluation lacks authority controls; P2 prompt handling and output contract drift from the repo prompt workflow", - "checks": "Static current-tree review; npm run check:skills PASS (33 canonical, 8 aliases); no provider-backed checks" + "date": "2026-08-16", + "ref": "codex/tools-show-all-20260816", + "head": "6b67263c9d41a598bda3329e40846425071ddf20", + "scope": "PR #2008 compact Show all tools launcher review and latest-main merge", + "outcome": "No P0/P1/P2 defects confirmed; preserved the focused launcher-to-directory control and merged latest main without conflict; PR description placement wording is stale but not a proven code defect", + "checks": "Manual adversarial merged-tree review; targeted source-contract assertions passed; exact pre-sync head PR required wrapper, lint, typecheck, SAST and secret scan passed" }, { "date": "2026-07-30", - "ref": "codex/close-issue-105", - "head": "05008bb3937a646043c40cda8b78eca70271f342", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1488 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "ref": "pr/1467", + "head": "6b84090a7c4a57a19521a820bf4c488090fb6062", + "scope": "docs: close rejected Playwright cache proposal", + "outcome": "approved; measured rejection archived on current main", + "checks": "check:outstanding-issues; check:branch-review-ledger; docs inventory/links/scripts; Prettier; diff-check" }, { "date": "2026-07-30", - "ref": "codex/close-issue-105", - "head": "09950abc8cf2d23455a6cbab3521bdec921ef272", - "scope": "archive issue 105 after driven browser proof", - "outcome": "approved: specific lazy fallback observed in driven desktop and phone Chromium", - "checks": "browser chunk-delay proof; check:outstanding-issues; prettier check; diff check" + "ref": "claude/issues-133-evidence", + "head": "6bac6311e1642ceeb0d78896ace11f4d17ace1f7", + "scope": "docs/outstanding-issues.md: open #151 (residual id-allocation hazard after #133's resolution)", + "outcome": "Recorded. #133 resolved conflict frequency (#1444 driver, #1479 Prettier exclusion) but not read-modify-write id allocation; PR #1451 renumbered one row five times, and GitHub Update-branch produced duplicate #141 rows with a stale marker. PR #1506", + "checks": "check:outstanding-issues exit 0 (149 rows, 51 open, 98 archived, unique ids, next-id=152, no ids deleted from base); pre-push Prettier guard passed on pushed commit, not bypassed; file is .prettierignore-excluded per #1479" }, { - "date": "2026-07-30", - "ref": "codex/close-issue-127", - "head": "953ba8c0dfda026400b674aead04a37a45733954", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1487 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "date": "2026-07-25", + "ref": "codex/document-clinical-summary-20260725 (PR #1169)", + "head": "6bbce2b97477cb4497624abe2a37c74864e872c8", + "scope": "Open-PR maintenance: review-thread verification", + "outcome": "Before: 2 unresolved Codex threads; branch current with main and required CI running. After: both persisted-profile/placeholder-summary fixes confirmed on the exact head and ready for reply-then-resolve; no further code change required.", + "checks": "`node scripts/run-vitest.mjs run tests/document-clinical-summary.test.ts tests/document-clinical-summary.dom.test.tsx --reporter=dot` pass (5/5); `git diff --check` pass; no provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/close-issue-127", - "head": "9bbb8486d399ed31b9bf43364579f466a4e66c67", - "scope": "archive issue 127 after post-fix runs", - "outcome": "approved: close condition satisfied with no post-fix recurrence", - "checks": "check:outstanding-issues; prettier check; diff check" + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "6bc05690a966e3e8aebdc8ea0460b60899201c52", + "scope": "Explicit merge-readiness review (typography supersede of #1185)", + "outcome": "NOT READY. Clean 5-file product delta vs main (font-stack + mockups). Confirmed P2: answer-evidence sheet/modal titles promoted h3->h2 while nested under Section h2 (hierarchy regression). P2 process: PR body describes unrelated audit-remediation work. Process blockers: draft; tip CI/SAST/Secret Scan `action_required` (green only on older `3cc6fa0cd`). No P0/P1 product defects. Font-stack/min-w-0/tabular-nums OK.", + "checks": "`origin/main...HEAD` 6 files; merge-tree clean; marker scan clean; no provider/UI matrix." }, { - "date": "2026-07-30", - "ref": "codex/close-issue-127", - "head": "d5fd28f75b404046f13507aa3705d55898d7669c", - "scope": "review finding wording correction", - "outcome": "approved: causal wording now matches PR 1427 implementation", - "checks": "check:outstanding-issues; prettier check; diff check" + "date": "2026-08-10", + "ref": "codex/visual-baseline-advisory-pr", + "head": "6bc57714c36bc6d027561bb8f5f8b00bb92524b2", + "scope": "PR #1791 babysit unblock", + "outcome": "fixed Production UI formulation Clear→Draft flake settle; classified visual drift vs non-drift failures", + "checks": "test:ci-workflows 263; classify-visual-baseline-outcome+ci-cache-safety 40" }, { "date": "2026-07-30", - "ref": "codex/close-pr1480-issues", - "head": "a2c7ee12a49a8dd8f51703b2a6ecb070f2960bf3", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1486 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "ref": "claude/capture-session-followups", + "head": "6bd0c3f85743c5406d49474bb7a92956fa44c0d2", + "scope": "PR #1490 merge conflict", + "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", + "checks": "check:outstanding-issues,docs:check-links" }, { - "date": "2026-07-30", - "ref": "codex/close-pr1480-issues", - "head": "bf8ac88b024642eb45d1fead86f4ee30fce3f98d", - "scope": "archive PR 1480 issue resolutions", - "outcome": "approved: five resolved rows moved intact to archive", - "checks": "check:outstanding-issues; prettier check; diff check" + "date": "2026-08-05", + "ref": "codex/v2-text-soft-contrast", + "head": "6bdda4cee6d702b6bcb7a92899b123595dc42457", + "scope": "V2 text-role contrast migration", + "outcome": "approved locally; no P0-P2 findings", + "checks": "Vitest 85 passed; direct checker 658 files; consumers 0" }, { - "date": "2026-07-30", - "ref": "codex/cloud-environment-repair-20260731", - "head": "0dc8c3d65ffc8d6932275b3c3d6f6d5c41656f45", - "scope": "Cloud environment repair full diff vs origin/main", - "outcome": "No high-confidence defects; safe for CI", - "checks": "verify:pr-local pass (442 files, 4636 tests); focused Cloud tests pass (45 tests); static/effective Cloud and provider-free readiness pass" + "date": "2026-08-10", + "ref": "PR #1797 / claude/codex-m4a-retire-dead-type-8wq9ta", + "head": "6bf3c7b2a0600021290e165302fd07d721af6592", + "scope": "retire the dead --text-2xl-compact type step (ledger #297): globals.css @theme, twMerge config, two test lists, the design-system-contract exemption, TOKENS.md/GATES.md", + "outcome": "Executed the recorded next action on outstanding-issues #297. The step had zero class-utility and zero var(--text-*) consumers, so the deletion renders identically; UNUSED_TYPE_STEP_EXEMPTIONS is now empty and the declared-but-unconsumed gate holds the line with no carve-out. One test fixture using the token as a synthetic var() consumer was repointed at --text-2xl-minus. GATES.md corrected to eight non-standard steps; the 705-consumer total is unchanged because this step contributed 0. No clinical, RAG-ranking or operational risk paths touched (classifyPullRequestFiles: all false).", + "checks": "check:design-system-contract PASS (705 production files); check:type-scale --strict PASS; lint exit 0; typecheck exit 0; npm run build after rm -rf .next exit 0 (Compiled successfully in 63s); check:outstanding-issues PASS; verify:pr-local completed through typecheck then failed at test on a PRE-EXISTING root-permission failure in tests/pr-handoff-stop.test.ts that reproduces on clean d812c76 (5993 passed, 1 failed); build and check:rag:fixtures run/assessed separately. No UI gate: no rendered output can change. No provider-backed check run." }, { - "date": "2026-07-30", - "ref": "codex/cloud-readiness-consolidation-20260730", - "head": "8ff0a7ec309c80379bd8a9a76ab107a65ac7b837", - "scope": "PR #1434 Codex Cloud setup and isolation tooling", - "outcome": "approved after current-main sync, helper typing repair, static Cloud contracts, and isolation review", - "checks": "codex-cloud, skills, docs, maintainability, issues, ledger, format, isolation 14/14 pass; focused Vitest coordinator-blocked; shell runtime acceptance deferred to hosted Linux" + "date": "2026-07-28", + "ref": "PR #1305 / `execute-audit-remediation-fixes`", + "head": "6c089f2fa5ce5a0e6057dc99ff0199fce136d105", + "scope": "CI/conflict babysit + Bugbot + PR policy body", + "outcome": "FIXED. Merged origin/main (was CONFLICTING); restored fail-closed clinical-notes `answer:\"\"` wipe; fixed upload merge hazard (undefined canonicalAuthority → 500); restored phone chrome viewport breakpoints; kept ClinicalDashboard under 4140-line budget via settingsState handle + memoized provider; updated account-access source contract; completed Clinical Governance Preflight in PR body. Zero unresolved review threads; zero cursor[bot] Bugbot findings.", + "checks": "`npm run verify:cheap` PASS (4115 tests); local pr-policy evaluate ok; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/computed-style-assertions", - "head": "1f431caa8d80660b8f6d90f557e4b8ea5d82560c", - "scope": "post-sync archive completed rendered-style contract task #094", - "outcome": "APPROVED — no findings after exact current-main sync; archive move and prior review record only.", - "checks": "check:outstanding-issues PASS (151 rows; 44 open, 107 archived); branch-review-ledger PASS (254 live, 1206 archived); git diff --check PASS; merge-tree 9ab802e9ec73132e4a7231b9060bf95be090b9d2" + "date": "2026-07-24", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "6c093e927d7b4f7261fb78160d85bdc407853001", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: already contained origin/main. After: ledger-only record. Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { "date": "2026-07-30", - "ref": "codex/computed-style-assertions", - "head": "229b0d396decd0ad7f7779b57631ae1f137752d7", - "scope": "archive completed rendered-style contract task #094", - "outcome": "APPROVED — no findings; docs-only archive move matches landed computed-style, forced-colors, tap-size, and unlayered-class registry evidence.", - "checks": "check:outstanding-issues PASS (148 rows; 42 open, 106 archived); git diff --check PASS; implementation commits verified ancestral to origin/main" + "ref": "PR #1480", + "head": "6c1e76f53aee87be8408cebc295744fbdce05367", + "scope": "PR #1480 bounded outstanding reliability fixes", + "outcome": "Fixed both review findings: documented the dark accent role and added partial favourites retry without hiding valid counts; no other actionable defects found.", + "checks": "focused Vitest 119 passed; docs index; issue and ledger guards; Actions and Codex workflow guards; Prettier; diff check; typecheck coordinator-blocked" }, { - "date": "2026-07-30", - "ref": "codex/computed-style-assertions", - "head": "a18085a15339f280fff76cad15fafcf1a80084fe", - "scope": "post-#1490 sync archive rendered-style task #094", - "outcome": "APPROVED — no findings; current-main issue additions are preserved and #094 is the sole state change.", - "checks": "outstanding-issues PASS (151 rows; 43 open, 108 archived); branch-review-ledger PASS (271 live, 1206 archived); diff check PASS; merge-tree ab18c4319fcca6c915d340bdea286481caa8ea43" + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "6c544c16", + "scope": "Implemented review follow-up", + "outcome": "Prefetch contract now requires both `openModeMenuWithFocus` and `toggleModeMenu` bodies. Prior tip already restored ledger + synced main.", + "checks": "Focused Vitest prefetch contract PASS; no provider checks." }, { - "date": "2026-07-30", - "ref": "codex/computed-style-assertions", - "head": "a8ee3315f2c9959025b7d652c0b7ea45432ca6be", - "scope": "post-#121 sync archive rendered-style task #094", - "outcome": "APPROVED — no findings; #121 main merge preserved and #094 remains the only issue-state change.", - "checks": "outstanding-issues PASS (151 rows; 43 open, 108 archived); branch-review-ledger PASS (261 live, 1206 archived); diff check PASS; merge-tree 2c567bcbb60f5d3f36eb18b6f7d7f6ee2a7a788b" + "date": "2026-07-31", + "ref": "origin/codex/recommended-task-ledger-0e8b1e", + "head": "6c7571b160fdf60484cbb2375e43191a7c0eeea0", + "scope": "branch-cleanup", + "outcome": "safe remote delete: experimental task-ledger variant superseded by merged PR #1106 canonical outstanding-issues ledger; archived batch16", + "checks": "PR #1106 contract/history; current task-ledger architecture; bundle verify" }, { - "date": "2026-07-30", - "ref": "codex/coverage-scope-policy", - "head": "4da2a003bc2254507662d1b8b6e9768e94371abd", - "scope": "issue 139 coverage scope policy post-sync", - "outcome": "approved: late main sync preserves deliberate workflow coverage and static-only skill policy", - "checks": "check:ci-scope; check:outstanding-issues; check:branch-review-ledger; diff check" + "date": "2026-08-02", + "ref": "codex/fix-manual-workflow-service-role-key-exposure / PR #1572", + "head": "6cc0b6ffdae3b515a05a17f2a87e5f51e5347263", + "scope": "PR review + fix (ingestion-autopilot service-role exposure)", + "outcome": "Reviewed secret-hardening: workflow/job-level SUPABASE_SERVICE_ROLE_KEY removed, manual dispatch limited to default branch, checkout pinned to default_branch, secret scoped to Preflight + Run autopilot only. Fixed CI blockers: merged origin/main (branch was ~1144 behind; Gitleaks needed run-gitleaks-pinned.mjs), registered tests/ingestion-autopilot-workflow.test.ts in test:ci-workflows, Prettier + stronger step-only secret assertions. No P0/P1 residual in the hardened workflow; residual risk is intentional inability to dry-run workflow_dispatch from non-default branches until merge.", + "checks": "npm run test:ci-workflows 206/206; focused ci-cache-safety + ingestion-autopilot-workflow 21/21; check:github-actions; prettier --check; git diff --check. No OpenAI/Supabase/provider calls." }, { - "date": "2026-07-30", - "ref": "codex/coverage-scope-policy", - "head": "94f97cdb1d0543724de408f19e79d64e61c8b31a", - "scope": "issue 139 coverage scope policy", - "outcome": "approved: workflow coverage breadth is deliberate and test-pinned; docs-like skills remain static-only", - "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; prettier; diff check" + "date": "2026-08-04", + "ref": "codex/fix-manual-workflow-service-role-key-exposure / PR #1572", + "head": "6cc0b6ffdae3b515a05a17f2a87e5f51e5347263", + "scope": "PR review + fix (ingestion-autopilot service-role exposure) (supersedes 2026-08-02)", + "outcome": "Supersedes the earlier row to record decisive gate results; historical review outcome otherwise unchanged.", + "checks": "PASS: npm run test:ci-workflows — 206/206 passed; PASS: focused ci-cache-safety + ingestion-autopilot-workflow — 21/21 passed; PASS: npm run check:github-actions — GitHub Actions pin check passed; PASS: prettier --check — all matched files use Prettier code style; PASS: git diff --check — clean. No provider calls." }, { - "date": "2026-07-30", - "ref": "codex/coverage-scope-policy", - "head": "f69828a0a3315b60857443e71f207ec19449021b", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1499 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "date": "2026-08-15", + "ref": "claude/ledger-review-triage-yi63ao", + "head": "6cd9a8547714543aee7b6864c2b7c427309bc4c2", + "scope": "PR #1977 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { "date": "2026-07-30", - "ref": "codex/docs-sync-automation", - "head": "1c80a938f27af80df323fb1d6063ef9077f55fdf", - "scope": "PR #1442 hosted gate-count follow-up", - "outcome": "approved after static CI exposed and corrected verify:cheap count drift", - "checks": "gate manifest, docs inventory, format, diff pass" + "ref": "codex/address-performance-issues-in-package", + "head": "6cde3c0b60de85da345e386b21e6b9b51a826601", + "scope": "bugbot", + "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note; supersedes befd1d9e after amend into merge tip", + "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation", - "head": "4c27b50bccaf25ccbd0549ce8eb1e73b95afa345", - "scope": "branch-cleanup", - "outcome": "merged PR #1442 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1442 MERGED at exact final head 14ab262102bba4aa66a9c65e9d718db0394eda6d; git merge-base --is-ancestor passed; batch6 bundle verified" + "date": "2026-08-14", + "ref": "PR-1955", + "head": "6cdf22cb0ce058c827c489b512b47d5e6084da4e", + "scope": "PR #1955 CI repair and current-base sync (supersedes prior non-decisive review records)", + "outcome": "fixed the CI-blocking legacy 44px brand-tile classes with the shared tap token; merged current main", + "checks": "account setup tap-token source contract passed; git diff --check passed; docs link check passed: 1776 repo path references resolve.; Ledger inbox check passed: 12 pending request(s), 138 applied.; ledger write discipline self-test passed.; Branch review ledger guard passed: 880 live table records + 1206 archived + 87 immutable; npm run format unavailable: prettier: not found (exit 127); check:design-system-contract unavailable locally: node_modules is absent; exact CI required" }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation", - "head": "76d7372d8aa886008e2fb637e5911e9c00bb33e3", - "scope": "documentation synchronization automation review", - "outcome": "APPROVE after deletion-path fix; no remaining P0-P2 findings", - "checks": "docs/update and static gates pass; focused Vitest admission blocked" + "date": "2026-07-24", + "ref": "`main`", + "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", + "scope": "Search performance across modes (load + typeahead + submit; local ensure)", + "outcome": "CHANGES REQUESTED / findings. No P0. P1: Prescribing `useMedicationCatalog(query)` refetches the full ~2.5–2.9 MB medication catalogue on every keystroke without debounce, abort, or `fields=index` (~25× larger than index). P2: differentials catalogue + evidence `/api/search` lack abort/debounce; universal typeahead `tookMs` dominated by empty live documents domain (~130–340 ms); cross-namespace mode switches remount the search shell; Answer submit returns 503 `rate_limit_unavailable` when durable limiter is down (fail-closed). Mode HTML load medians ~40–75 ms; typeahead wall ~160–180 ms (`ssri`) / ~350–400 ms (`agitation im lorazepam`) + 250 ms client debounce; catalogue submits (differentials) ~45 ms; document `/api/search` demo-degraded ~230–430 ms. Highest residual live risk: cold hybrid RPC tails (docs #25), not re-measured with soak/eval.", + "checks": "`npm run ensure` → http://localhost:4461; `/api/local-project-id` Clinical KB; paced universal typeahead across 13 modes × 2 queries (Server-Timing); `/api/search` + `/api/medications` (+`fields=index`) + differentials APIs + registry payload sizes; NDJSON vs JSON first-byte; browser walkthrough of 13 mode homes; static review of ClinicalDashboard / universal-search / medication+differential hooks. No OpenAI generation, no `eval:retrieval:latency`, no soak, no hosted CI. Environment had Supabase secrets so universal ran live (`publicAccess`); `/api/search` degraded to demo (`supabase_api_key_configuration_unavailable`)." }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation", - "head": "e1c514f289a864bc741841accae5352a419fbb59", - "scope": "PR #1442 sync after PR #1459", - "outcome": "approved; issue-evidence correction and docs automation closures preserved", - "checks": "issues, ledger, inventory, gate manifest, diff pass" + "date": "2026-07-24", + "ref": "`main`", + "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", + "scope": "Supabase interface / performance / schema guardian audit", + "outcome": "COMPLETED. No P0/P1 live security hole. Confirmed service-role + app-layer ownership model, fail-closed `retrieval_owner_matches`, and project-ref pinning. P2 findings: duplicate unscoped `correct_clinical_query_terms` block in `schema.sql` (safe definition wins at replay); reindex routes miss fresh enrichment-lease gate (`#052`); upload crash can strand `queued` without a job (`#062`); table-facts RPC still `LANGUAGE sql` + `force_custom_plan` (byte-identical plpgsql+EXECUTE remains the latency win). P3: base match RPC execute revokes rely on roles.sql; `invoke_ingestion_worker` hardcodes URL; cold multi-RPC fan-out. Remediation continues on `cursor/database-interface-audit-0883`.", + "checks": "Static schema/RLS/RPC/grant/owner-scope/auth/client inspection; upload/reindex wiring; scale/SLO/deploy docs; outstanding-issues `#052`/`#062`. Provider-gated skipped: `check:supabase-project`, live `check:drift`, `check:indexing`, `profile:retrieval`, `eval:retrieval*`, migration apply. Notion MCP unavailable (`needsAuth`)." }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation", - "head": "fba8ab4af465c96b8aa318f25d792fefd10e9ada", - "scope": "PR #1442 documentation synchronization automation", - "outcome": "approved after current-main conflict resolution, generated inventory refresh, and dirty-output preservation review", - "checks": "docs inventory 194/209; focused 5/5; index, links 1417, scripts 405, issues, ledger, format, diff pass; pre-commit executed successfully" + "date": "2026-07-24", + "ref": "`origin/main`", + "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", + "scope": "sitewide design/UX review (production pages)", + "outcome": "FINDINGS CAPTURED. No P0. Confirmed defects later archived as `#070`–`#074` after ID collision with main `#068`/`#069`. Updated `#010` for Compact/Detailed selected-but-disabled look. Deduped against `#007`/`#016`/`#038`–`#041`/`#063`–`#066`. Residual: large mobile PWA install sheet density; compare URL-state sync; axe coverage beyond home (`#040`). No product code fixes in this pass.", + "checks": "Offline: design-system-contract, type-scale, icon-scale, brand:check, design-sweep evidence. Live: `npm run ensure` → `http://localhost:4461` identity OK; mode-home/detail HTTP 200 + no document overflow at 390/1280; presentation href + forced Overview navigation proof; Tools Sort/More DOM proof; `test:e2e:accessibility` 12/12. Screenshots under `/opt/cursor/artifacts/screenshots/`. No OpenAI/Supabase/GitHub/hosted CI/provider calls." }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation-pr", - "head": "50e20faa4e83236a9dda1a5480090457fec9853a", - "scope": "documentation synchronization automation review", - "outcome": "APPROVE after deletion-path and current-main gate-count fixes; no remaining P0-P2 findings", - "checks": "patch-id matches reviewed implementation; sitemap/inventory/index/script/link checks; gate-manifest; ledger guard; node/sh syntax; Prettier; diff check; focused Vitest admission blocked after 3 attempts" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase2-therapy", + "head": "6cffb3daffaca523e9c159126845dcb10c2b07c7", + "scope": "Phase 2 Therapy LCP #117", + "outcome": "approved; no open P0-P2 after stale-error fix", + "checks": "therapy data recovery 7/7; therapy focused 27/27; typecheck" }, { - "date": "2026-07-30", - "ref": "codex/docs-sync-automation-pr", - "head": "d2fd16d547df557ffcf13219ff96d437cafe445a", - "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "merged PR #1494 strengthens the hook fix; unique documentation review record copied; clean inactive worktree; batch10 bundle verified" + "date": "2026-08-12", + "ref": "codex/implement-process-safety-for-multi-agent-workflows", + "head": "6d054c1fa02a988829def3274b32d31c13570851", + "scope": "full PR diff and unresolved review feedback", + "outcome": "Fixed cached-origin truthfulness, agent-safe approval gates, UI browser proof ordering, index handoff safety, and synced main", + "checks": "focused Vitest 31/31; tsc --noEmit pass; git status clean" }, { - "date": "2026-07-30", - "ref": "codex/document-results-mockup-20260730", - "head": "5dbd9f965fba29541bdefc09f218675d0d14a7ec", - "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "superseded by merged PR #1433 production result-card design; scratch route and showcase were intentionally absent from current main; clean worktree; batch12 bundle verified" + "date": "2026-08-08", + "ref": "claude/mode-routing-search-pages-jabe17", + "head": "6d1099b479358caa05c92f236848117feb920d4e", + "scope": "shared-home mode-routed search navigation", + "outcome": "no high-confidence P0-P2 PR-introduced defects; prior bug-hunt P1/P2s appear fixed on tip; residual: prescribing submit-from-shared-home URL omits run=1 (pre-existing path), seed effect untested behaviourally, no browser/UI proof this pass", + "checks": "vitest app-modes+search-route-ownership+audit-navigation+pwa-manifest 61 pass; static read of focus files vs origin/main; ledger:lookup NOT REVIEWED; no provider/UI" }, { - "date": "2026-07-30", - "ref": "codex/document-results-option1-20260730", - "head": "5df012b1c2cd6dc56635b41469a6f8cd96103515", + "date": "2026-07-13", + "ref": "claude/supabase-postgres-practices-3eeeb0", + "head": "6d26f87c245eeb5e57c564cddbdd6a4680d7862f", "scope": "branch-cleanup", - "outcome": "merged PR #1433 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1433 MERGED at exact final head 716b0acc21ccaa367900335799dec1647f38caa6; git merge-base --is-ancestor passed; batch6 bundle verified" + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 6d26f87c245eeb5e57c564cddbdd6a4680d7862f origin/main`." }, { "date": "2026-07-30", - "ref": "codex/fix-brace-expansion-cve", - "head": "5f55e20d89b9ae8a9443fe4dc08e21edaeb5fc34", + "ref": "codex/ledger-next-20260730", + "head": "6d386e79969c122a456d70bdc6917b0a6fa8ad3c", "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "parent is exact merged PR #1456 head; only unique ledger record copied; clean inactive worktree; batch10 bundle verified" - }, - { - "date": "2026-07-30", - "ref": "codex/fix-p2-audit-20260719", - "head": "6d59b038514a92566e986d302b0c75707f13ea30", - "scope": "full-repository audit review, regression check, RAG safety validation, and bundle security refinement", - "outcome": "PASS. Reviewed working diff at descendant 8c8e661706dfedafb5380af1b2a9b6c817a7c7c0 found no remaining high-confidence P0-P2 defects; current main retains the architecture parser and secret-surface safeguards.", - "checks": "Full verify:pr-local passed in the source review: 319 Vitest files, 2910 unit tests, Next production build, client bundle scan, and 36 offline RAG golden cases; no live provider commands ran." + "outcome": "merged PR #1484 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1484 MERGED at exact final head 6d386e79969c122a456d70bdc6917b0a6fa8ad3c; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-30", - "ref": "codex/fix-p2-audit-20260719", - "head": "8c8e661706dfedafb5380af1b2a9b6c817a7c7c0", + "date": "2026-07-14", + "ref": "cursor/audit-remediation-plan-0411", + "head": "6d4b946e981a9251aaeb12097b6edc9e9dab2b60", "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "merged PR #1298 is final delivery; current main retains secret redaction and ImportExpression safeguards; normalized review record copied; clean worktree; batch12 bundle verified" + "outcome": "Retained: open PR #673 (audit remediation plan docs).", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "codex/fix-p2-audit-20260719", - "head": "8c8e661706dfedafb5380af1b2a9b6c817a7c7c0", - "scope": "branch-cleanup-deletion-pending", - "outcome": "superseded by merged PR 1298; retained safe fixes landed and unvalidated retrieval residue was explicitly rejected; removal deferred by primary-dirty lease", - "checks": "clean status; PR 1298 body and final head inspected; protected diff reviewed; no open PR" + "date": "2026-07-25", + "ref": "PR #1196 / codex/fix-p2-audit-20260719", + "head": "6d59b038514a92566e986d302b0c75707f13ea30", + "scope": "closeout: superseded by #913 / current main", + "outcome": "CLOSED without merge. Content proof: tip ~680 behind, CONFLICTING; remediation family already on main via #913 (01040d2c). Tip would regress docs admin gate, factsheet governance, PDF/RAG/auth advances. Live residual coalesce/PDF bugs fixed-forward in PR #1212. Remote branch retained (no delete).", + "checks": "Content diff vs origin/main + #913 path overlap; no provider-backed checks; no branch delete." }, { - "date": "2026-07-30", - "ref": "codex/ingestion-fixes-current-main-20260731", - "head": "059c33198657e1e58848675c222939885e49db10", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1493 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-25", + "ref": "PR #1196 / codex/fix-p2-audit-20260719", + "head": "6d59b038514a92566e986d302b0c75707f13ea30", + "scope": "fresh bug/regression review + Bugbot (clinical/RAG/search/auth/privacy)", + "outcome": "Changes requested. Not merge-ready. No P0. P1: search/embedding last-waiter abort leaves dying inflight map entry so healthy same-key retry can coalesce onto aborted work (HTTP 500 / AbortError); also present on main — fixed forward in cursor/pr1196-coalesce-main-4711 / PR #1212. P2: fractional PDF render dimensions rejected by Number.isSafeInteger(pixels), aborting JS fallback — also fixed in #1212. Cleared after inspection: public storage_path omission, document chunk UUID fail-closed schema, factsheet save persistence, therapy capability flags, extractive section-dedup exemption, auth definitive-vs-retryable handling. Blockers: GitHub mergeable CONFLICTING; ~680 commits behind main; ~23 content conflicts including openai.ts, rag.ts, semantic-rerank, supabase client, package.json, therapies-index. PR body RAG impact understates clinical-search / answer-ranking / retrieval-variant edits. prlanded: state OPEN, not merged.", + "checks": "Bugbot + offline static/diff review + pure-JS race/fractional-pixel proofs; focused Vitest on #1212 fix (163 passed). Full PR #1196 Vitest/UI not re-run on stale tip. No OpenAI/Supabase/provider writes. Hosted CI for #1196 only showed PR policy pass + GitGuardian fail; required suite not green on this head." }, { "date": "2026-07-30", - "ref": "codex/ingestion-fixes-current-main-20260731", - "head": "fe68a0a817213ef33ddeee35b45034656986d089", - "scope": "ingestion fixes replacement release readiness", - "outcome": "ready after fixing unreachable partial-batch handling and invalid recovery owner lookup", - "checks": "4 focused files 183 tests passed; typecheck passed; production-readiness READY; git diff --check passed" + "ref": "codex/fix-p2-audit-20260719", + "head": "6d59b038514a92566e986d302b0c75707f13ea30", + "scope": "full-repository audit review, regression check, RAG safety validation, and bundle security refinement", + "outcome": "PASS. Reviewed working diff at descendant 8c8e661706dfedafb5380af1b2a9b6c817a7c7c0 found no remaining high-confidence P0-P2 defects; current main retains the architecture parser and secret-surface safeguards.", + "checks": "Full verify:pr-local passed in the source review: 319 Vitest files, 2910 unit tests, Next production build, client bundle scan, and 36 offline RAG golden cases; no live provider commands ran." }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "140d04415747e568ed3f799c9b9ed7b97d331346", - "scope": "PR #1441 upload limit parity and production build contract", - "outcome": "approved after production-env precedence, scoped Docker build parity, duplicate ARG repair, and current-main sync", - "checks": "self-test pass; explicit 150/150 pass; ci-cache 13/13 pre-final two-line Docker repair; actions/docs/issues/ledger/format/diff pass; final focused rerun coordinator-blocked" + "date": "2026-08-15", + "ref": "PR #1970 / claude/capture-drift-phase1-evidence", + "head": "6d977b02331c04398daf930acc773743355b68f5", + "scope": "unblocking PR review-and-fix", + "outcome": "Corrected four P2 forensic claims and cancelled the two unsafe queued ledger mutations; merged current main cleanly.", + "checks": "ledger write discipline; ledger-inbox check; forensic claim scan; diff --check" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "38cc02e042c10ff6b09fd14dc2fe96c5d784a5f1", - "scope": "PR #1441 Docker build-context follow-up", - "outcome": "approved after exact app-image log showed Dockerfile is intentionally absent from COPY context", - "checks": "Docker-isolation self-test pass with local Dockerfile; absent-file path guarded; format and diff pass" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "6da4774b8adcfe7bad3e9e60505d6d36105afe5f", + "scope": "current-main merge conflict resolution and CI repair", + "outcome": "resolved regenerated snapshot conflict while synchronising current main; previous focused validation retained and snapshot generator passed", + "checks": "snapshot generator; staged diff check; earlier Vitest 121/121; TypeScript source check" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "3f7c89f5e2660ec1505719ab3208013e873dc79e", - "scope": "PR #1441 Docker upload parity follow-up", - "outcome": "approved after reproducing container env-validation failure and isolating the build argument from application env", - "checks": "exact CI ordinary build pass; app-image failure reproduced from logs; Docker contract self-test pass; focused rerun coordinator-blocked" + "date": "2026-08-14", + "ref": "PR-1955", + "head": "6daa3a56f5d5e20ca9f8b8fe35c33a2cc708ef60", + "scope": "src/components/clinical-dashboard/account-setup-dialog.tsx; docs/branch-review-records", + "outcome": "fixed design-system contract violations and merged latest main", + "checks": "manual adversarial review; source-token contract assertion; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; check-design-system-contract unavailable (node_modules absent)" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "af0e46ddc9916750094d0c0960f9a82c0ad64ad2", - "scope": "branch-cleanup", - "outcome": "merged PR #1441 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1441 MERGED at exact final head dbfd3068f8c47b5fb6465ae0b24015835fd50adb; git merge-base --is-ancestor passed; batch6 bundle verified" + "date": "2026-08-18", + "ref": "claude/db-remediation-316-d4-capture", + "head": "6dbe0da05c33ed0a7d002db07bbfaa7f8c2f9840", + "scope": "inbox requests #316 close-out/D4 and #Q5JHBJ re-scope", + "outcome": "coordinator self-review: inbox-only, verified against forensics 3.7 and main 0216f18e9", + "checks": "check:outstanding-issues pass; check:ledger-write-discipline pass" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "dc8068590d5be469ff30789b8b345896a3f1cdb9", - "scope": "PR #1441 sync after PR #1470", - "outcome": "approved; catalogue payload disposition and upload-limit closures both preserved", - "checks": "upload self-test, issues, ledger, diff pass" + "date": "2026-08-11", + "ref": "work", + "head": "6dcd695076d630d16aae594577763e8004361893", + "scope": "Codex Cloud setup and local parity", + "outcome": "P2 fixed: cache-friendly locked Cloud npm install; parity limitations documented", + "checks": "check:codex-cloud; codex-cloud-setup 24/24; full suite 6059 pass, 7 unrelated timeout/state failures" }, { "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "f121a2b069f3ae109d0add5433c5fbef9c50adc1", - "scope": "PR #1441 issue closures, upload-limit parity, production env precedence, and current-main merge", - "outcome": "No unresolved P0-P2 findings. Review fixed the missing Docker server-side build value and made the guard load Next production environment precedence. Main's #116 implementation and no-merge-driver issue-ledger policy are preserved.", - "checks": "Full verify:pr-local passed on code head 727ed55a7: 435 files, 4570 passed/3 skipped, build 1694 pages, client scan, RAG 36/21. Current reviewed head: upload parity self-test/default/50-vs-40 negative; outstanding ledger 144 rows/66 open/78 archived/next-id 147; branch ledger 130+1206; GitHub Actions pins; CI scope; gate manifest; docs links/scripts; formatting and diff check. Exact-head full rerun output unavailable after wrapper timeout; no provider or new browser run." + "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", + "head": "6dd67737d931963e977e18e1a5aca76047e0256a", + "scope": "branch-cleanup", + "outcome": "merged PR #1429 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1429 MERGED at exact final head a91ed88d095c9ea00b46f9b09138d3c48051eec9; git merge-base --is-ancestor passed; batch6 bundle verified" }, { "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity", - "head": "f35a4ca178724ff59e7a876c4d819bed0b786662", - "scope": "PR #1441 final current-main sync", - "outcome": "approved after merging #1457 without overlap; upload parity and repository guards remain green", - "checks": "upload self-test pass; issues 141; ledger 141+1206; actions pin, format, diff pass" + "ref": "codex/chat-dependency-pr-review-dependency-pr-review-20260730", + "head": "6dd67737d931963e977e18e1a5aca76047e0256a", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant commit contained by merged PR 1429 head; removal deferred by primary-dirty lease", + "checks": "clean status; ancestor of exact merged PR head; no open PR" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "0a074d9b2572ee06f663d8bbee3b50fb6d4fbd9a", - "scope": "PR #1482 final current-main ledger-only review", - "outcome": "No findings; current main preserved and PR diff is ledger-only", - "checks": "three-dot diff two docs files; issue and review ledger guards PASS; four resolutions verified against merged main" + "date": "2026-08-17", + "ref": "claude/s1-rag-mitigation-231-86c182", + "head": "6ddd45e5fd0725638c55684ca85833ddf78560c4", + "scope": "RAG answer-verification faithfulness fixes (#231 S1): markdown-emphasis atom folding + claim-support wrap reflow, tests, HANDOVER S1 row", + "outcome": "PR #2022 open — rung 1 mitigation; residuals recorded (unbudgeted strong retry timeout, directive-normativity, topic dilution)", + "checks": "eval:rag:offline 583/583; check:production-readiness READY; verify:pr-local heavy scope green except 2 pre-existing host-env unit failures reproduced at merge-base d02767184; 8 pre-fix + 5 post-fix owner-approved live probes" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "5bb39ac21b8b28a48287699bb6f7c27de1119786", - "scope": "PR #1482 final corrected current-main review", - "outcome": "No findings; #105 remains open per #1459 and three resolved rows are archived", - "checks": "current-main merge complete; outstanding guard PASS at next-id 149; deployment-input scope self-test PASS" + "date": "2026-08-15", + "ref": "claude/ds-gates-265", + "head": "6de09c409645cd854438c819250aa668b661568e", + "scope": "DS gate 2: interactiveTapFloorDeclarations ratchet closing the h-10 case, plus GATES.md figure corrections (#265)", + "outcome": "Gate 2 closed for new use; gate 8 stopped deliberately with the reason recorded; gate 7 untouched", + "checks": "verify:pr-local all 17 selected gates passed — unit suite 607 files / 6585 passed, 4 skipped; check:design-system-contract mutation-verified (interactiveTapFloorDeclarations increased from 41 to 42 plus the per-path line); check:gate-manifest OK at 35 gates / 32 static; no Chromium available (chromium-1194 vs pinned 1234, #255/#312) so no browser gate was claimed" }, { "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "7e549d5f8d7f8f6517abe909dc52c1779459677c", - "scope": "PR #1482 final shared-branch reconciliation", - "outcome": "No findings; concurrent remote and current main reconciled without force-push", - "checks": "five focused guards PASS; #105 open exactly once; next-id 149; deployment-input fix retained" + "ref": "PR-1475", + "head": "6de5c321beac55860cc4b6fc7d26ef5a7e088f38", + "scope": "PR #1475 ingestion behavioral extraction", + "outcome": "PASS after current-main reconciliation; extracted decisions preserve entrypoint behavior and replace the matching source-grep assertion with executable coverage", + "checks": "focused Vitest 3 files, 27 tests passed; typecheck passed; outstanding-issues and branch-review-ledger guards passed; provider-backed ingestion not run" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "95b0e289f03afc46d45def9ed1a165cd614684fd", - "scope": "Replacement PR: issue closures, upload-limit parity, production env precedence", - "outcome": "No findings; intended replacement scope preserved on current main", - "checks": "verify:pr-local PASS pre-rebase; exact-head runtime/install/format/lint PASS; focused guards PASS; typecheck rerun blocked by unrelated Playwright lease" + "date": "2026-08-22", + "ref": "codex/ward-management-design (PR #2289)", + "head": "6e1300fa6dcb31ba63727b9d5b3b52cab0b05cb5", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty (PR mergeability + PR policy both failing; real CI never triggered), 3 unresolved P1 review threads. After: all 6 review threads resolved (3 fixed with regression tests + pushed commit 6e1300fa; 3 pre-existing already resolved). mergeable_state remains dirty and was deliberately left unresolved: git merge-tree shows 34 conflicts (14 content, 20 add/add) against origin/main, all traced to PR #2140 (\"Add Ward Flow: synthetic ward/bed-management coordination prototype\", already merged to main) independently re-implementing the same ward-management/legal-detention-workflow feature this PR builds from a much older, unrelated base (zero common history until git fetch --deepen=5000 recovered a real merge-base 752 commits back). This is a genuine duplicate-feature conflict on clinical workflow content (Mental Health Act detention forms, bed/patient placement), not staleness — hard-stopped per policy rather than resolved with ours/theirs. Real CI (static-pr/pr-required/build/etc.) cannot run until a human resolves this at the product level.", + "checks": "Local only, no provider-backed checks: npx vitest run on 9 touched/related ward-flow test files (84 passed, including 2 new regression tests — one for the reducer closure/capacity-release fix, one for the provider clock-monotonicity fix, both confirmed to fail against pre-fix code), npx tsc --noEmit -p tsconfig.json (0 errors, full project), npx eslint on all 6 changed files (0 findings), npx prettier --check on all 6 changed files (all formatted). No verify:cheap/verify:pr-local/verify:ui run (diff too large and blocked on unrelated merge conflict; would not have exercised anything beyond the focused tests already run). No eval:rag, eval:quality, eval:retrieval:quality, verify:release, check:supabase-project, test:live, or any other provider-backed gate was run." }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "9867f72eddf51e25322028af6ff232dba3560871", - "scope": "PR #1482 post-#1441 ledger-only salvage", - "outcome": "No findings; duplicate implementation dropped and only four resolved issue records remain", - "checks": "diff vs origin/main two docs files; outstanding-issues PASS; branch-review-ledger PASS; main implementation byte-identical" + "date": "2026-08-27", + "ref": "codex/dsm-search-ux-elevation (PR #2415)", + "head": "6e5531ce7724c63b8c29bd880141ea87c7cd5fd8", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty (main advanced 5 commits past merge base to a DSM comparison-page redesign #2409 that conflicted with this PR's DSM search/compare changes); 0 unresolved review threads (5 PR comments were all bot rate-limit/housekeeping noise, no actionable findings); CI had not yet run on a clean merge. After: merged origin/main resolving real content conflicts in 5 files (dsm-compare-chrome.tsx, dsm-comparison-page.tsx, dsm-page-header.tsx, mode-secondary-navigation.ts, tests/ui-route-coverage.spec.ts) by combining both sides' intent (kept main's compact-header redesign and null-id-filter fix, kept this PR's dsmSearchHref routing, compact compare starters, and showEmptyState/slotLayout opt-ins) rather than blanket ours/theirs; pushed merge commit 6e5531ce. No review threads needed action. CI re-triggered on the new head (run 33051601015) and was still in progress (Lint/Unit coverage/Build/4x Production UI shards/Lighthouse running) after ~34 minutes of observation with no new job-log progress in the final two snapshots; left for a human or a later session to confirm green.", + "checks": "npm run typecheck (clean, gate-receipts recorded pass), npm run lint (clean, gate-receipts recorded pass), npx vitest run tests/mode-secondary-navigation.test.ts tests/dsm-compare-chrome.dom.test.tsx tests/dsm-comparison-page.dom.test.tsx tests/dsm-search-empty-state.dom.test.tsx tests/app-modes.test.ts tests/information-page-shell.dom.test.tsx (75 passed), npm run format (no changes needed). No provider-backed checks run; hosted CI run 33051601015 still in progress as of last observation." }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "9dff07f85bcce7822eb2b2701b82a80d1e0a145e", - "scope": "PR #1482 Docker-context CI repair", - "outcome": "No findings; hosted ENOENT fixed without weakening effective parity", - "checks": "hosted app-image log inspected; normal 150/150 PASS; Docker-context 50/50 PASS; Docker-context 50/40 rejected" + "date": "2026-07-31", + "ref": "PR-1520", + "head": "6e6998464a6996a66fdaaadcd482388e39af611e", + "scope": "PR #1520 branch and worktree reconciliation records", + "outcome": "APPROVE; 146 historical cleanup dispositions retained as ledger-only evidence with no repository mutation", + "checks": "check:branch-review-ledger PASS 444 live 1206 archived; diff check PASS; current-main merge clean" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "b4e68aa9e4892d4031479240f7783b7c22bd4bbb", - "scope": "PR #1482 final current-main review", - "outcome": "PASS - no P0-P2 findings; ledger archives preserved and deployment inputs repaired", - "checks": "issues, ledger, docs links/scripts, ci-scope self-test, diff-check; hosted full unit pending" + "date": "2026-07-13", + "ref": "codex/production-migration-history-final", + "head": "6e8eab2533df7ab2352b51223447f2dff1951a2a", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #565; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "c0e23ecbc555436bd8d87e9a1f555b259837c399", + "date": "2026-07-13", + "ref": "origin/codex/production-migration-history-final", + "head": "6e8eab2533df7ab2352b51223447f2dff1951a2a", "scope": "branch-cleanup", - "outcome": "safe-delete: source landed in merged PR #1482; post-merge review rows preserved; archived batch13", - "checks": "git diff merged-head..tip; ledger row set comparison; git bundle verify" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #565; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "ca57a7151c8ba82f9b70284572bffb90d4df62d5", - "scope": "PR #1482 concurrent reconciliation and #105 preservation", - "outcome": "No findings; concurrent repair retained, invalid #105 archive removed, main open #105 restored", - "checks": "outstanding guard PASS 146 rows/next-id 149; ledger guard PASS; three deployment-input contracts reviewed" + "date": "2026-07-24", + "ref": "cursor/pr-babysit-bugbot-agents-6c52 (PR #1167)", + "head": "6ec7a852", + "scope": "Babysit sweep: CI fix + Codex/CodeRabbit threads", + "outcome": "Before: mergeable, PR required green, 8 unresolved agent-guidance threads. After: fixed pr-babysit/pr-bugbot agents (fetch origin/main, no Run PR live-gate auth, pin target head SHA, exact bot identity, ledger-after-every-sweep). Thread reply/resolve 403 on this token — fixes pushed.", + "checks": "typecheck on agent files; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "codex/issue-ledger-upload-parity-v3", - "head": "fc116cfa0cf06d359548c1bc00d383b872fb1a48", - "scope": "PR #1482 upload-parity deployment-input repair", - "outcome": "No findings; checker changes now trigger build, container, and Railway app paths", - "checks": "check:ci-scope PASS with single-file assertion; upload parity PASS; Railway config test queued behind primary live-provider lease" + "date": "2026-08-14", + "ref": "PR-1951", + "head": "6ed1fb871c7e16e89ed111a9576d502d90a765b1", + "scope": "PR #1951 final base sync after formatting fix", + "outcome": "Merged the current main including the #1959 ledger reconciliation after the targeted Prettier repair; merge tree is clean and the run-scoped workflow regression suite remains green.", + "checks": "All matched files use Prettier code style; Test Files 1 passed; Tests 15 passed; docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 22 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 98 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." }, { - "date": "2026-07-30", - "ref": "codex/issues-028-033", - "head": "d1794901192128a8202d004ad9a005025bff82e9", - "scope": "privacy-safe error tracking and prompt source governance", - "outcome": "No findings; provider remains opt-in and prompt metadata is non-ranking", - "checks": "verify:pr-local; focused privacy/governance tests; npm audit --omit=dev" + "date": "2026-08-12", + "ref": "PR #1870 / claude/design-issues-triage-wnr7k9", + "head": "6edfeceeb768b5714f98dad355361ad9148374b0", + "scope": "review-and-fix", + "outcome": "Merged current main; corrected #310's per-record fuzzy-trigger analysis and regression-test condition; preserved #311; removed the temporary self-mutating workflow; no additional P0-P2 findings in a distinct adversarial pass.", + "checks": "verify:pr-local -- --files docs/branch-review-ledger.md,docs/outstanding-issues.md; check:outstanding-issues; check:branch-review-ledger; exact-head hosted CI pending" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "011a3713fb2dde1900260f2c8ebd2b0d7c540efc", - "scope": "PR #1484 closure-preservation repair", - "outcome": "Ready: restored eleven verified archive dispositions lost during concurrent main sync; preserved #145 archive transition", - "checks": "outstanding-issues 146 rows, 44 open/102 archived PASS; only #145 state changed from prior verified candidate; focused offline 2 files/4 tests PASS" + "date": "2026-07-24", + "ref": "PR #1137 / `codex/review-search-bar-behavior-and-establish-rules`", + "head": "6ee0484cc97b087c0e4f3661a49493f24a3ea9ba", + "scope": "Targeted review of search bar/header/footer chrome behaviour after the edge-to-edge phone dock fix, plus durable repo rules for page-adaptive search chrome.", + "outcome": "No new P0/P1 search chrome defect found in the static review. Fixed one regression hazard: a stale ClinicalDashboard comment still instructed a 0.75rem hidden dock pad despite the implementation/tests requiring 0rem. Added durable search chrome behaviour rules in AGENTS.md and docs/search-chrome-behaviour.md, with a static guard tying the remembered rules to the hidden-reserve contract.", + "checks": "dependency shortcut section count; git diff --check; targeted rg for stale 0.75rem hidden-pad source wording (only negative test assertions remain); targeted Vitest command attempted but blocked by missing node_modules/vitest under Node 20.20.2 in this container. No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "039b43a5e163c0f622a327ef50c36cf5249296cc", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1448 and #1488. No remaining P0-P2 findings; #105 is archived from driven Chromium evidence and the authenticated-live workflow remains explicitly provider-gated.", - "checks": "GitHub Actions pin guard PASS; outstanding ledger 146 rows / 46 open / 100 archived PASS; branch-review ledger PASS; focused authenticated-live test deferred by repository coordinator; fresh hosted Unit coverage required" + "date": "2026-08-24", + "ref": "claude/therapy-comparison-mobile-design-z0dagr (PR #2339)", + "head": "6ef5b3617956ba8e0a4fa69a1953ec51cba1336f", + "scope": "Run PR sweep: branch sync", + "outcome": "Already fully green (PR required success) before sweep; only action was syncing origin/main in (clean merge-tree, no conflicts) via update_pull_request_branch. All 5 review threads were already resolved by the author. Post-sync CI reconfirmed green (PR required success at run 32741127269).", + "checks": "No local gates run — no code change, only a merge-from-main sync; CI (Static PR checks, Lint, Typecheck, Unit coverage, Build, Production UI x3, Production UI critical, Lighthouse budget, PR policy, PR required) reran green on GitHub. No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "072051eb83e0b8317880d6167d06b3865b4a6ff7", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1477. No remaining P0-P2 findings; the implemented #131 fail-closed Codex delivery contract replaces the earlier accepted-limitation wording, and all other resolved/open dispositions remain intact.", - "checks": "main reconciliation + ledger:dedupe PASS; outstanding, branch-review, and Codex autofix guards PASS; prior exact-head hosted CI all green before base moved; fresh CI required for this head" + "date": "2026-08-13", + "ref": "codex/ci-iteration-speed-current2-20260813", + "head": "6f13e8068ae97a89f7f8bbb9fff6c400e181b8c0", + "scope": "CI iteration performance and reliability implementation", + "outcome": "No P0-P2 findings at committed implementation head", + "checks": "PR-local passed 23 stages through lint and typecheck then hit known Windows MSYS cloud-shim baseline; filtered full suite 6387 passed 27 skipped; build and CI contracts passed" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "14508ca0406c29f3f7a31dc72db1e1d1d626c595", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1481 and #1487. No remaining P0-P2 findings; #127 remains archived with the later exact-head evidence and #146 retains both new shard-1 flake data points.", - "checks": "docs-only main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 49 open / 97 archived PASS; branch-review ledger PASS; prior exact-head hosted CI all green before base moved" + "date": "2026-08-17", + "ref": "claude/pr-auto-merge-safety-tpxupu (PR #2028)", + "head": "6f1624386306abbf52b327a7abb8922b3a7778eb", + "scope": "Run PR sweep: babysit", + "outcome": "No action needed. CI was mid-run at first snapshot (Unit coverage in progress); left to settle rather than mutating. Re-checked: all required checks (PR required, Static PR checks, Unit coverage, Safety and config checks, PR policy) now green. Not behind main. No review threads.", + "checks": "No local checks run — nothing to fix, CI already green." }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "1ee749bd71da45be2d6b9d3eb4913331696996a6", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes the prior review after cleanly merging current main. No remaining P0-P2 findings; current-main #079 was retained, verified closures remained archived, and no product behavior changed during sync.", - "checks": "merge reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; whole-tree format PASS; prior static, lint, typecheck, unit, build, RAG fixture, and focused Chromium evidence retained" + "date": "2026-08-13", + "ref": "claude/ledger-tasks-fable-xhl7xb", + "head": "6f1cd23a34dca2fa3ae9d676d4dace46fd779d3a", + "scope": "ledger intake: merge-loss capture (4 inbox requests)", + "outcome": "clean — additive JSON intake only, no canonical ledger edit", + "checks": "verify:pr-local (all 11 gates, none failed); dry-apply of 23 pending requests against origin/main" + }, + { + "date": "2026-07-29", + "ref": "PR #1378 / codex/remove-source-overlays (squash)", + "head": "6f2f1aa259ad7b554b3bac4e6c24adf2f8d28436", + "scope": "PR #1378 babysit", + "outcome": "MERGED via squash auto-merge. Supersedes prior closeout row that recorded pre-squash tip c3feb4cea34dd1a0d0d675df3e063c95174f2504 (unreachable after squash). Hosted required checks green; unresolved threads 0; Bugbot no open findings.", + "checks": "Hosted PR required/Production UI/Static/Unit/Build/Safety/PR policy SUCCESS; verify:cheap 4273 pass; squash SHA 6f2f1aa2 resolvable" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "226ab1508e4a4eecd42fb473b9e19fb190fe5f0d", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PRs #1475 and #1458. No remaining P0-P2 findings; #106 and #143 are archived from implemented executable worker/indexing coverage and durable hook tracking.", - "checks": "focused worker/indexing suite 3 files / 27 tests PASS; CI-safe production-readiness READY; outstanding ledger 146 rows / 47 open / 99 archived PASS; branch-review ledger PASS" + "date": "2026-08-11", + "ref": "codex/chat-services-flow-redesign-20260812", + "head": "6f44b92defb91bcd77509bf10337b428be37619c", + "scope": "Services home, results, shortlist, comparison, and referral detail redesign", + "outcome": "No findings; changed-area UI, phone contracts, focused unit, build, and RAG fixtures passed; PR-local Windows baseline limitations documented.", + "checks": "78 focused tests passed post-merge; 185 changed-browser tests; 129 phone contracts; 7 phone-scroll tests; build and RAG fixtures passed" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "23572a4ad4a6f1520d86715c647ad9d40ff6bb01", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current main. No remaining P0-P2 findings; #105 was correctly reopened on withdrawn evidence, current-main #090 and #125 were retained, and verified closures remained archived.", - "checks": "post-CI main reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior hosted exact-head CI all green before base moved; fresh CI required for this head" + "date": "2026-07-29", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "6f476b5f741627cb622af57d1b4665e3989789ca", + "scope": "PR #1383 babysit", + "outcome": "CLOSEOUT at tip after ledger bookkeeping commit. Merge conflict cleared; coverage follow-ups live as #106/#107; local gates green; awaiting hosted CI on tip.", + "checks": "same as prior tip 0922d7f5 plus ledger append only; no product code change" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "268b201a1dbaed7cca6dff4a146b0319a5275216", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. No remaining P0-P2 findings. Reconciled current main row by row, retained current-main #105 and #136 dispositions, rejected the unsafe Playwright cache, and fixed favourites partial-source masking plus the indexed-search hydration race.", - "checks": "format PASS; static gates, lint, typecheck PASS; unit 4597 PASS, 3 SKIP, 1 stale donor failure repaired by exact-lock dependency; brace cap direct PASS; focused Chromium 1 PASS; production build PASS; ledger guards PASS" + "date": "2026-08-17", + "ref": "claude/rag-r0-reconcile-inbox (PR #2043)", + "head": "6f5503f906f77eee12d3932a9e74f537bb960d89", + "scope": "Run PR sweep: diagnosis only, no sync", + "outcome": "SKIPPED sync/merge - main already carries commit 14421fba 'docs(issues): reconcile 28 inbox requests into the outstanding-issues ledger (#2045)', which appears to be the same 28-request reconciliation this PR is attempting, and the inbox on main is now empty. This PR's own body explicitly says not to use Update branch and to close+re-run a fresh reconcile if main gains new inbox requests before merge - main didn't gain new pending requests, it received a duplicate full reconcile via a different PR (#2045). CI (PR required) is green and there are no review threads, but merging this now risks double-applying or conflicting with the already-landed ledger transaction. Flagged for human decision: close as superseded by #2045, or verify no unique content remains.", + "checks": "no local checks run; diagnosis via git log or docs/outstanding-issues-inbox tree on origin/main" }, { "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "2a590d8c56b04ce6202fa1c7814e9858363151c0", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1480. No remaining P0-P2 findings; current main's canonical partial-favourites implementation replaces the branch's duplicate notice helper, while the branch's ledger, CI, and indexed-source hydration changes remain intact.", - "checks": "focused overlap suite 7 files / 130 tests PASS; verify:cheap 32 gates PASS; unit 439 files / 4612 PASS / 3 SKIP; ledger guards and merge reconciliation PASS" + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "6f75bba54684c104a9bd70b36c401f04ca4c57b5", + "scope": "Babysit: sync main after Claude pre-paint fix", + "outcome": "Synced origin/main (ledger-only #1399). MERGEABLE; merge-tree clean. Claude tip added pre-hydration overlay reserve fix. No unresolved threads. Bugbot still empty on prior tips. Contract 28/28.", + "checks": "header-scroll-hide-contract 28/28; merge-tree clean; prior verify:cheap/typecheck/lint retained" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "41956467ae96c64058d7c391fcbbc6803a3f8012", - "scope": "PR #1484 post-main RAG and ingestion sync", - "outcome": "Ready: merged current main cleanly; protected RAG files identical to origin/main and no retrieval behavior delta", - "checks": "focused 7 files/201 tests PASS; production-readiness READY; ledger guards and ci-scope PASS" + "date": "2026-07-24", + "ref": "PR #1153 / audit-remediation", + "head": "6f87e0ec88ac0cf2d45f0771e00f86039eaedd6a", + "scope": "Audit remediation diff review", + "outcome": "1 P1, 1 P2, 1 P3 finding. P1: Heavy Run Lock can be stolen from long-running commands (test-run-lock.mjs). P2: Tautological assertions in skill catalog tests (database-skills.test.ts). P3: Useless multiline flag in provider failure regex (semantic-rerank.ts).", + "checks": "Local static review of PR diff." }, { "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "6d386e79969c122a456d70bdc6917b0a6fa8ad3c", + "ref": "codex/review-pr1430", + "head": "6fb093b39d45f487d6abb6e8cbcc82f38eab7610", "scope": "branch-cleanup", - "outcome": "merged PR #1484 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1484 MERGED at exact final head 6d386e79969c122a456d70bdc6917b0a6fa8ad3c; git merge-base --is-ancestor passed; batch6 bundle verified" - }, - { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "71d5ad7376167ff6f81f1e1f69dedb658c1db3ac", - "scope": "PR #1484 post-main offline-budget sync", - "outcome": "Ready: preserved branch ledger and current-main #098/#121 corrections row-by-row; no ranking behavior change", - "checks": "search budget/contract 2 files/4 tests PASS; outstanding-issues 146 rows PASS" + "outcome": "exact merged PR #1430 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "7238475c16576928a251c7a3d6de6134e6a72a4e", - "scope": "close verified ledger and CI follow-ups", - "outcome": "No remaining findings after current-main sync; retained richer canonical #133/#135 dispositions from merged #1500.", - "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; check:branch-review-ledger; git diff --check" + "ref": "codex/review-pr1430", + "head": "6fb093b39d45f487d6abb6e8cbcc82f38eab7610", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1430; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "7d6a341b1ac0efdf001bf06146a297bd2cb2cb4c", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1486. No remaining P0-P2 findings; #141 and #144 are archived from the implemented PR #1480 evidence, and current-main outcomes for #091, #128, and #134 are retained without changing source behavior.", - "checks": "docs-only main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 50 open / 96 archived PASS; branch-review ledger PASS; prior combined-tree verify:cheap 32 gates PASS" + "ref": "codex/archive-completed-ci-tasks", + "head": "6fc6a75325a235881ecd0e38b07c784bc9c7b10a", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1500 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "85a6bdf74629096fba1b476e52b76e241665fd15", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1469. No remaining P0-P2 findings; #107 is archived with executing jsdom state-matrix coverage, and the branch's existing changes remain intact.", - "checks": "focused current-main state-matrix suite 2 files / 10 tests PASS; outstanding ledger 146 rows / 49 open / 97 archived PASS; branch-review ledger PASS; prior combined-tree verify:cheap 32 gates PASS" + "date": "2026-08-01", + "ref": "codex/cloud-connected-profile-boundary", + "head": "6fddcfc780b237b6b2cd524dbebd7b1de70d9701", + "scope": "Cloud connected profile credential boundary", + "outcome": "No high-confidence issues after least-privilege MCP hardening and portable Git fixture fix", + "checks": "Cloud static PASS; focused Vitest 15/15; full format PASS; Bash syntax PASS; PR-local dry-run" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "9511c615bf94adf8c7ceee5cb1630c9a168b71c0", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1479. No remaining P0-P2 findings; all 146 IDs and 100 resolved dispositions are retained while main's file-wide Prettier exclusion and measured #133 evidence are incorporated.", - "checks": "main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 46 open / 100 archived PASS; branch-review ledger PASS; authenticated-live workflow test 1 file / 3 tests PASS" + "date": "2026-08-13", + "ref": "codex/skill-system-hardening", + "head": "700c797d647fce4beb6612c859704565d9e4db97", + "scope": "PR #1904 current-head review and fix", + "outcome": "FIXED P2 inventory and staging defects; no additional high-confidence findings", + "checks": "node --check; inventory fixture red/green; commit-only staging reproduction" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "a278acad1ca88c28e45619b6a28e3f245c49d786", - "scope": "PR #1484 post-main reconciliation", - "outcome": "Ready: merged ee34b4d2a row-by-row; preserved all 146 issue IDs and archived #148", - "checks": "verify:cheap PASS (442 files, 4626 passed, 3 skipped); ledger guards and ci-scope PASS" + "date": "2026-08-04", + "ref": "pull/1585", + "head": "7015655b0b97b8d86dae513925da46dac04f1a92", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed and merged", + "checks": "PASS: lock audit found 0 vulnerabilities; hosted build and bundle budget passed at 1407.9 KiB versus refreshed 1406.4 KiB baseline; coverage, static, Lighthouse, container, scans and PR required passed." }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "ade61bab0ef8d2d35e0fec7e81c08e0a850cf58e", - "scope": "close verified ledger and CI follow-ups", - "outcome": "No remaining findings after #1501 sync; retained canonical #133/#135 rows and added non-overlapping #129/#132 dispositions from main.", - "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; check:branch-review-ledger; git diff --check" + "date": "2026-08-08", + "ref": "cursor/form-1a-priority-facts-dc36", + "head": "7040b850e655dc7ba9a23ad3e3db765cc1ad7755", + "scope": "Form 1A priority facts: condense cards + Act section detail sheets", + "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", + "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "b43817f6243faac8ba22de85a461324b1612ad72", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current-main #133 evidence. No remaining P0-P2 findings; PR #1451 and the concurrent #141 race are incorporated into the resolved compact-table outcome, with scoped Prettier protection verified.", - "checks": "main reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior hosted CI green before base moved; fresh CI required for this head" + "date": "2026-08-17", + "ref": "claude/rag-plan-review-guide-vhrls9", + "head": "704f8aebe0ca9df115b3b2b87fea735c847c8e88", + "scope": "docs: coordination-chat handover (COORDINATION.md, HANDOVER status corrections, catalogue)", + "outcome": "clean", + "checks": "verify:pr-local docs-focused scope green (format, docs gates, ledger checks)" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "bfbfe2cab8ae28e38e5b1090b5c83f8e024ac0f0", - "scope": "PR #1484 final main decision sync", - "outcome": "Ready: current main contained; #130 archived by owner decision; #149/#150 added open; all prior closures preserved", - "checks": "outstanding-issues 148 rows, 45 open/103 archived PASS; branch ledger PASS; whole-tree format PASS; diff check PASS" + "date": "2026-08-31", + "ref": "codex/answer-surface-compact-20260830", + "head": "705561dd1f9b1ac8f72c7a4858e3819b9ee5a40e", + "scope": "compact answer source safety and library UI", + "outcome": "No P0-P2 findings; compact source status, answer utilities, safety row, and library placement ready for PR", + "checks": "13 focused DOM tests passed; targeted Chromium 1/1 passed; lint and typecheck passed; build passed 1998 routes; design contracts passed; production-readiness CI READY; offline RAG 628/628 and adversarial 25/25 passed; full unit 11656 passed with 6 unrelated Windows Claude Cloud harness exit-127 failures; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "codex/ledger-next-20260730", - "head": "ee66a39b63fd7e39448ab13a5a5b72441f5321be", - "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", - "outcome": "FIXED. Supersedes prior reviews after merging current main answer-delivery design. No remaining P0-P2 findings; current-main #100 governance text was retained exactly, verified closures remained archived, and the sync added documentation only.", - "checks": "merge reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior format, static, lint, typecheck, unit, build, RAG fixture, and focused Chromium evidence retained" + "date": "2026-07-31", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "7056a3e73c568c0dd4cf8d43ab98f47eb9a63acc", + "scope": "PR #1505 docs #147 CLS attribution", + "outcome": "ready-for-reopen: main synced, CI was green on prior head, no Bugbot threads; fixed P2 mis-attribution of /therapy-compass to overlay reserve (collapse-motion exception); left PR closed", + "checks": "check:outstanding-issues; prettier --check docs/outstanding-issues.md; git merge-tree clean; bugbot-style review no prior threads; diff-review P2 fixed" }, { - "date": "2026-07-30", - "ref": "codex/ledger-rotation-q3", - "head": "4eaf0374fb7c841cd7f2956e9a7f24f1adb01f19", - "scope": "branch-cleanup", - "outcome": "un-checked-out local branch head is ancestor of origin/main; archived in verified batch4 bundle", - "checks": "current origin/main ancestry, no open PR claim, no active owner, batch4 bundle verify ok SHA256 FF182C2A45FA90C2AB3EBBF3EA8DB379F88A9B80038B744607253CB1EDE21623" + "date": "2026-08-13", + "ref": "codex/specifier-map-compare-20260813 (PR #1912)", + "head": "7074d65af36ee662450e6dcf340a77d3cc404209", + "scope": "PR #1912 heavy review follow-up: explicit section intent ownership", + "outcome": "Production UI trace proved the phone chrome transition could emit a later geometry result after an explicit jump, so frame-count reassertions were inherently timing-dependent. Replaced the animation-frame workaround with a scoped explicit-fragment override: deliberate click/history navigation remains authoritative through programmatic scrolling, while wheel, touchmove, or non-editable scroll-key intent returns ownership to the geometry spy. History fragment changes replace the override directly.", + "checks": "Fresh Playwright trace reproduced Course and onset briefly becoming active before Episode features overwrote it; deterministic hook regressions cover incidental spy rerenders, user-scroll release, editable keyboard input, and popstate replacement; TypeScript transpile PASS for the hook and both test files; exact-head CI pending; no manual provider-backed or production gate run." }, { "date": "2026-07-30", - "ref": "codex/merge-pr1497-final", - "head": "4348390d2ae3f8c7e939c9587a33b413faf046a5", - "scope": "branch-cleanup", - "outcome": "safe-delete: final source superseded by merged PR #1497 head/current main; review row preserved; archived batch13", - "checks": "git diff PR-head/final/main; blob comparison; git bundle verify" + "ref": "codex/playwright-container-alignment", + "head": "70a603087ae7ea9c0e6db0701aa13ffdddb79081", + "scope": "preinstalled Chromium fallback", + "outcome": "P2 fixed: Linux fallback now filters by process architecture, preventing an x64-only shell from being selected on arm64. No remaining findings.", + "checks": "2 files/38 tests; Prettier; ESLint; git diff --check" }, { - "date": "2026-07-30", - "ref": "codex/merge-privacy-safe-error-tracking-implementation", - "head": "2bf6e8ac87194e1dcccc19e08f67ff2c30988af3", - "scope": "bugbot-review", - "outcome": "P1: empty/index-only docs.metadata still rendered as clinical validation unverified in RAG prompts after claimed null-preservation fix; Sentry privacy scrub OK; package-lock merge-tree CONFLICT vs origin/main", - "checks": "vitest:error-tracking+rag-source-governance:4/4; empty-meta proof {}+index-only->unverified; merge-tree:package-lock CONFLICT; no provider gates" + "date": "2026-07-25", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "70abb74f7ceee5a50748c4c1e6baa730d7225cf4", + "scope": "User-requested /review + Bugbot + /debug + /prlanded on current tip", + "outcome": "APPROVE with notes. Prior P1 focus latch and P2 near-bottom reserve-only clamp confirmed fixed on `5b5ecf405` and retained through main merge. No new P0/P1. Residual P2s: PR body was wrong audit-remediation paste (fixing); non-answer `focus=1` autofocus still broad; earlier document-detail double-header findings unchanged/out of Answer-dock scope. /prlanded: still OPEN, not merged. GitHub CONFLICTING was staleness (merge-tree clean) — merged origin/main.", + "checks": "Bugbot; focused Vitest use-hide-on-scroll + mobile-composer-reserve 28/28 before and after main merge; merge-tree clean; no provider/UI browser matrix this pass." }, { - "date": "2026-07-30", - "ref": "codex/moderate-batch-20260730", - "head": "1addcece5a2b7122c5898584830109f617421a3a", - "scope": "document accordion, auth-safe catalogue refetch, comparison contract, operator preflight", - "outcome": "P1 late identity response race fixed; no remaining findings", - "checks": "verify:cheap static through owner-scope; lint; typecheck; full Vitest; Chromium UI; production-readiness" + "date": "2026-08-18", + "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", + "head": "70bc5c7a4d7973edd6f0ad39ecfb6d7952dfacb3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", + "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "codex/next-local-task", - "head": "08eb1455bc5ec388e1d5e452b1513e95794232d9", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1501 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "date": "2026-07-29", + "ref": "main", + "head": "70e5101c320088a79cdffaac7be82ec9534d4ac7", + "scope": "last-100-prs-bug-review", + "outcome": "FINDINGS+FIXES: P1 safety-plan example shareable; P1 signed-url cache after logout; P2 diagnostics query leak; P2 search non-indexed fallback; P2 not-found copy; RAG P1/P2 deferred (needs approval). Fixes in PR #1374.", + "checks": "focused-vitest 1415 pass; static review via 5 subagents; no provider/RAG canary" }, { "date": "2026-07-30", - "ref": "codex/next-local-task", - "head": "3e6d6d69c15fc056773657e15879ba2283fa2899", - "scope": "archive issues 129 and 132", - "outcome": "approved: documented constraints satisfy both explicit outcomes without overstating client-side enforcement", - "checks": "guard:push:self-test; focused vitest 24/24; check:github-actions; check:outstanding-issues; diff check" + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "70e810b66881e17aa9f58126fdad970986bda911", + "scope": "User ask: resolve comments + Production UI phone-scroll + main sync", + "outcome": "FIXED: synced main (DIRTY was staleness); removed union ledger dup; adapted phone-scroll asserts for Answer strategy-overlay + overlay/reserve-only calculator budget + focus pre-scroll inside 8px reveal band. Codex P1s already on tip; 0 unresolved threads. Focused Chromium phone-scroll 9/9 green (system Chrome).", + "checks": "phone-scroll focused 9/9; check:branch-review-ledger PASS; merge-tree clean; prior Codex P1s retained" }, { - "date": "2026-07-30", - "ref": "codex/organize-inactive-20260730", - "head": "e7b248e215714fbf823c784857f521f89d86fa3d", - "scope": "branch-cleanup", - "outcome": "merged PR #1462 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1462 MERGED at exact final head f99bb06030780efab7c98806cbb0b2171d1a4284; git merge-base --is-ancestor passed; batch6 bundle verified" + "date": "2026-07-11", + "ref": "codex/repository-review-remediation", + "head": "70ec6409a11a85e1678eb4b320519624673a94a0", + "scope": "comprehensive repository report remediation", + "outcome": "Revalidated all 17 findings from the 2026-07-09 comprehensive review. Remediated the current workflow injection, document scope, numeric faithfulness, ingestion lease/ownership, transactional enrichment replacement, request and upload budgets, browser identity isolation, PHI retention, public DTO, cache cancellation/versioning, evidence labelling, modal focus, misleading controls, telemetry, orphan-module issues, and two server/client loading-boundary failures exposed during browser QA. The runbook filename was already fixed on the reviewed head.", + "checks": "TypeScript, lint, focused Vitest (68/68), full offline Vitest (1,607/1,607; 1 skipped), production build, client-bundle secret scan, Docker schema replay and regenerated drift manifest, isolated full migration reset, local lease-reclaim concurrency proof, cache/enrichment SQL smoke, configured production-readiness (`READY`), Chromium document-scope/modal QA (4/4), manual disabled-control accessibility snapshots, and `git diff --check` passed. Read-only live drift found 26 unexpected differences, including the three unapplied remediation functions; no live mutation was performed." }, { - "date": "2026-07-30", - "ref": "codex/organize-inactive-20260730", - "head": "e7b248e215714fbf823c784857f521f89d86fa3d", - "scope": "PR #1462 changed-scope review", - "outcome": "PASS - no P0-P2 findings; exact-lock formatter resolution fails closed", - "checks": "guard-push self-test and focused contracts previously green; issues, ledger, docs, diff-check; hosted full unit pending" + "date": "2026-07-13", + "ref": "claude/review-chats-cleanup-83b6f5", + "head": "70ec6409a11a85e1678eb4b320519624673a94a0", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 70ec6409a11a85e1678eb4b320519624673a94a0 origin/main`." }, { - "date": "2026-07-30", - "ref": "codex/outstanding-deletion-guard", - "head": "0bfd548d77bccfb79c0cf01b8c648c1a3e4a79a3", + "date": "2026-07-13", + "ref": "codex/report-remediation", + "head": "70ec6409a11a85e1678eb4b320519624673a94a0", "scope": "branch-cleanup", - "outcome": "exact merged PR #1491 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 70ec6409a11a85e1678eb4b320519624673a94a0 origin/main`." }, { - "date": "2026-07-30", - "ref": "codex/outstanding-deletion-guard", - "head": "da1bed4bcb05f2b975823c76bab0913278cfaea6", - "scope": "issue 148 deletion guard", - "outcome": "approved: no P0-P2 findings; base comparison is fail-closed in CI and preserves archive moves", - "checks": "verify:cheap; deletion self-test; unreadable-base proof; CI scope; GitHub Actions pin guard" + "date": "2026-07-21", + "ref": "main", + "head": "71059eba98bc6e335c2c82cb9ab542aad44dfae8", + "scope": "database audit, drift analysis, and data contract review (/drift /data /audit)", + "outcome": "Completed offline audit of database schema, migrations, generated drift manifest, function grants, owner-scope API boundaries, therapy data indexes, and data ingestion logic. Verified drift-manifest byte-identical match to schema.sql (schema_sha256: 50da0978a164...). Found one P2 static check failure: orphaned test tests/check-july8-live-batch.test.ts references deleted script scripts/check-july8-live-batch.ts, causing npm run check:knip and verify:cheap to fail. Live Supabase schema comparison and live ingestion audits were approval-gated and skipped per provider boundary rules.", + "checks": "Local offline checks run: Vitest 339/339 test files passed (3,053/3,054 tests passed, 1 skipped); tests/drift-detection.test.ts (10/10 passed); check:function-grants (28/28 SECURITY DEFINER functions revoked); check:owner-scope (40 API routes clean against 25 owner tables); check:therapy-data-index (205 records OK); check:design-system-contract (520 files clean); strict check:type-scale & check:icon-scale; check:runtime; check:github-actions; check:ci-scope; check:ci-triage; check:pr-policy; check:gate-manifest; check:codebase-index-coverage. Provider checks skipped (approval-gated): check:drift, check:supabase-project, check:migration-history, audit:source-governance." }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch", - "head": "4896dc99bd5bf4321d50c7fc7feb1ce2c8f90694", - "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "superseded by merged PR #1480; 12 of 24 changed blobs exact and final PR strengthens upload parity and partial-result Retry behavior; clean worktree; batch12 bundle verified" + "date": "2026-08-17", + "ref": "claude/s1b-rag-dosing-routing-6u1mik", + "head": "713df7a6128f0a8d9e63fd2c46e62c269aaaee9b", + "scope": "RAG answer routing: medication_dose_risk pre-deadline strong route (S1b/R1, #231) + extractive-first short-circuit signatures + golden allowedRoutes", + "outcome": "PR #2035 open; behaviour change awaiting owner merge + post-merge canary pair", + "checks": "verify:pr-local heavy scope (lint, typecheck, full test, build, eval:rag:offline 586/586, medication checks) exit 0; focused vitest 103/103; rag-answer-fallback 90/90; check:rag:fixtures 36 golden cases; check:production-readiness offline-expected" }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "112ac9ba71f78df6e8d05d0e3fa2e3adf6ba4705", - "scope": "PR #1480 Docker upload-limit review finding", - "outcome": "FIXED P1: the Docker build now receives both server and browser limits, and container CI proves a matched lowered 50 MB pair.", - "checks": "check:upload-limits and check:github-actions passed; focused/typecheck/container rerun pending exact head." + "date": "2026-07-13", + "ref": "claude/pt-audit-pr1-retrieval-dualpath", + "head": "7142bc41e6c570def1ece5903fdd923f7a953165", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "330d964a04406a9e123c674409f167746f7b9a28", - "scope": "outstanding local task batch merge readiness", - "outcome": "Reviewed changed scope; fixed the env-file bypass in the upload-limit parity guard. No unresolved findings.", - "checks": "Focused Vitest: 7 files, 125 tests passed; exact-head verify:cheap static gates and lint passed; typecheck/full unit pending coordinator availability." + "date": "2026-07-13", + "ref": "claude/rag-review-improvements-f1bf84", + "head": "7154493e5e7c5ed1e2bd484503bfdbca94c23756", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #514; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "416d8ea80c81bfdb64a40eaacbe1d49be5db38c2", + "date": "2026-07-13", + "ref": "origin/claude/rag-review-improvements-f1bf84", + "head": "7154493e5e7c5ed1e2bd484503bfdbca94c23756", "scope": "branch-cleanup", - "outcome": "exact merged PR #1480 head; inactive clean worktree archived in verified cleanup bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, batch1 bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #514; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "43de3c910ea1a361458586cfb0e5861e8e2d5ee6", - "scope": "post-main reconciliation merge readiness", - "outcome": "APPROVE: retained main's stronger #1441 upload guard, removed the duplicate checker/test, and preserved the six non-overlapping fixes; no unresolved findings.", - "checks": "Upload parity self-test/runtime, GitHub Actions, docs scripts, review ledger, outstanding issues, and diff checks pass; parent exact-head hosted suite fully green; final hosted rerun pending." + "ref": "codex/review-pr1433", + "head": "716b0acc21ccaa367900335799dec1647f38caa6", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1433 head; inactive clean worktree archived in verified cleanup bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, batch2 bundle verify ok SHA256 D887CB844F2955F7E8183D95D4B8A74156CFE123C7446FE8A99E84FC9C3AA5D8" }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "46ebd3f13a3e8b843026dd7d3d4024440970d7ae", - "scope": "upload-limit env regression type correction", - "outcome": "Reviewed the test-only ProcessEnv annotation; no unresolved finding.", - "checks": "Focused test and typecheck awaiting repository coordinator; prior exact-head static gates and lint passed." + "date": "2026-08-30", + "ref": "codex/smart-natural-search-current-main", + "head": "7190c2ccd87dfc25e49e488b22705fb6b7b60931", + "scope": "Smart natural search CI reconciliation exact-tree review", + "outcome": "No open P0/P1/P2 findings; maintainability blocker fixed by cohesive extraction", + "checks": "maintainability budgets; 86 focused Vitest; provider-free Chromium Smart suite; lint; typecheck; formatting; diff check" }, { - "date": "2026-07-30", - "ref": "codex/outstanding-local-batch-final", - "head": "7b63c28ca6ff9ab2f3599197ee6811292958e2c2", - "scope": "final upload env fixture correction", - "outcome": "Reviewed the contextual ProcessEnv construction after hosted readonly-property failure; no unresolved finding.", - "checks": "Prior hosted Build, Unit coverage, Production UI critical, containers and lint passed; exact-head typecheck rerun pending." + "date": "2026-08-07", + "ref": "cursor/site-testing-speed-08c1 (PR #1686)", + "head": "71b57ea5ce0c46c16c42c07e66933836ae609b6a", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: DIRTY + Static PR fail (docs inventory stale) + PR required fail, merge-tree CLEAN → after: merged origin/main, docs:update inventory, pushed; CI re-running; 0 threads", + "checks": "docs:check-inventory fail→docs:update; format via Prettier; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "codex/playwright-container-alignment", - "head": "5ce50f64993a43efb00c4f8cfa86c26c895b8532", - "scope": "issue 121 container browser fallback", - "outcome": "approved: managed browser remains preferred; immutable-container fallback is explicit, newest-compatible, logged, unit-pinned, and launch-proven", - "checks": "verify:cheap 443 files/4631 pass; focused vitest 37/37; fallback Chromium launch; focused Playwright 1/1; check:rag:fixtures; outstanding guard; diff check" + "date": "2026-07-27", + "ref": "`codex/publish-document-nav-20260727` (PR #1278)", + "head": "71d442e7921c36fe036128207c9925484a908fd0", + "scope": "Protected-main review of preserved cleanup records, reusable review prompts, and document navigation mockups", + "outcome": "APPROVE pending final exact-head hosted required checks. The unique preserved work was transplanted onto current `origin/main`; stale phone-chrome and unsafe 15-minute lock-expiry patches were excluded. The first hosted static run found arbitrary mockup font sizes, which were replaced with the established named type-scale tokens. Review found no remaining P0-P3 issue and no retrieval, clinical-output, provider, or production-route behavior change.", + "checks": "Flight plan, Prettier, docs index/scripts/links, sitemap, branch-ledger, type-scale, icon-scale, brand, design-system, and `git diff --check` PASS; hosted build, static, unit coverage, advisory mockup UI, safety, policy, Semgrep, and secret checks PASS on reviewed head; Production UI pending at ledger append; local heavy gates deferred behind legitimate shared exclusive owners; no non-GitHub provider-backed checks." }, { "date": "2026-07-30", - "ref": "codex/playwright-container-alignment", - "head": "70a603087ae7ea9c0e6db0701aa13ffdddb79081", - "scope": "preinstalled Chromium fallback", - "outcome": "P2 fixed: Linux fallback now filters by process architecture, preventing an x64-only shell from being selected on arm64. No remaining findings.", - "checks": "2 files/38 tests; Prettier; ESLint; git diff --check" + "ref": "codex/ledger-next-20260730", + "head": "71d5ad7376167ff6f81f1e1f69dedb658c1db3ac", + "scope": "PR #1484 post-main offline-budget sync", + "outcome": "Ready: preserved branch ledger and current-main #098/#121 corrections row-by-row; no ranking behavior change", + "checks": "search budget/contract 2 files/4 tests PASS; outstanding-issues 146 rows PASS" }, { - "date": "2026-07-30", - "ref": "codex/playwright-container-alignment", - "head": "936cab24f00202081aad780f8712152409a212d3", - "scope": "container browser fallback review fixes", - "outcome": "approved: automated P2s fixed by architecture filtering and designated /opt/pw-browsers root; generic stale caches fail closed", - "checks": "focused vitest 11/11; ESLint; Prettier; outstanding guard; diff check" + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "71db10c41de872fca6e400626704a549f145c66c", + "scope": "latency audit implementation (PR #1377)", + "outcome": "SUPERSEDES the 78e2beb record: its 'scope-vs-ratelimit overlap with abort' description is stale and describes behaviour that was REVERTED. Codex review raised it P1 and it was correct — an AbortSignal cannot un-execute a statement Postgres already began, and resolveSearchScope only skips the database when there are no filters and no explicit ids (search-scope.ts:242,253), so a throttled caller kept spending DB capacity while collecting 429s. Shipped behaviour is rate-limit admission BEFORE scope evaluation, with request.signal threaded so a client disconnect still cancels scope's paginated queries, pinned by tests/answer-route-preamble.test.ts. Also retracted on this head: the L2-3 'recall is byte-identical' claim, since fetchDocumentTitleAliasRows applies .limit(12) with no ORDER BY.", + "checks": "verify:cheap exit 0 (423 files, 4278 passed/4 skipped); check:branch-review-ledger pass; focused preamble + server-timing suites pass" }, { - "date": "2026-07-30", - "ref": "codex/pr1469-sweep", - "head": "6881331dbd9ed3a8d1898dbae217dd5d3857d7cb", - "scope": "branch-cleanup", - "outcome": "merged PR #1469 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1469 MERGED at exact final head 0784c150d5c6888bec172bf5c0d4472a66452071; git merge-base --is-ancestor passed; batch6 bundle verified" + "date": "2026-08-18", + "ref": "claude/drift-probe-comment-pointers", + "head": "71dea17b3574e4d9bfba8c5770497c8b01ecb6ad", + "scope": "follow-up to #2058: stale comment pointers + RPC-missing hint name the v2 probe migration; doc bullet wording, PR #2090", + "outcome": "self-review: comment/doc-only, no SQL/manifest/test change", + "checks": "vitest drift-detection + migration-history-guards 25 passed; docs:check-links 1838 resolve; prettier unchanged" }, { - "date": "2026-07-30", - "ref": "codex/reconcile-immediate-20260730", - "head": "748ef018f5c30d5bc9a4508ddb9a3ae29416ef81", - "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "WIP snapshot superseded by merged PR #1480 final review path; earlier partial-source notice replaced by reviewed Retry recovery; clean worktree; batch12 bundle verified" + "date": "2026-07-28", + "ref": "PR #1305 / execute-audit-remediation-fixes", + "head": "71ed5083616acff5b820069f2fd9835eab92ec88", + "scope": "CI/conflict babysit + Bugbot + ledger merge residue", + "outcome": "FIXED. Merged origin/main (#1310 ledger repair); converted 4 merge-residue heading records into table form (unique 2026-07-26 review kept as six-cell row). PR MERGEABLE + PR required PASS on this tip. Unresolved review threads 0. Bugbot-equivalent product-diff review: no P0/P1/P2; @cursor review requested. Trust gating + upload fail-closed + SettingsStateProvider + phone chrome viewport breakpoints retained.", + "checks": "check:branch-review-ledger PASS; focused vitest 41/41; hosted PR policy/Static/Build/Unit/Safety/Advisory/Production UI/PR required PASS; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/reopen-issue-105", - "head": "65635235c91527c57d33dd8311d062d28ccff6d9", - "scope": "PR #1483 current-main reconciliation", - "outcome": "No findings; #105 remains open and main's #136 archival is preserved", - "checks": "issues PASS 146 rows 68 open 78 archived next-id 149; ledger PASS 161 live 1206 archived" + "date": "2026-08-15", + "ref": "claude/services-search-redesign-163", + "head": "720e7027a9f08e518eb6344e74dfde35d78d5981", + "scope": "Fix service bookmark readiness and mutation race; merge current main", + "outcome": "fixed", + "checks": "git diff --check; focused DOM test blocked without node_modules; ledger and issue guards" }, { - "date": "2026-07-30", - "ref": "codex/reopen-issue-105", - "head": "a94c6590c7d4e486166ad79e6482471308bec615", - "scope": "branch-cleanup", - "outcome": "merged PR #1483 contains this exact local tip; recovery preserved; safe local cleanup", - "checks": "GitHub PR #1483 MERGED at exact final head 75253f8fbc1660c5234447e03a758879bfa7bcca; git merge-base --is-ancestor passed; batch6 bundle verified" + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "720fd19879f6463a87ad61309b91148f90efa23e", + "scope": "PR babysit: sync main, supersede stale READY row, close review thread", + "outcome": "APPROVE pending hosted required CI. `git merge-tree --write-tree origin/main ba799d4a3cfdcb20eb1e040b5d6e328e2fbbc147` was clean, so GitHub DIRTY/CONFLICTING was stale branch drift after main advanced to `a9920e3fc29fce9ad2ffb547811e085a708680b9`; merged `origin/main` with no content conflicts. This supersedes the older 2026-07-25 READY row rather than editing append-only history; the remaining CodeRabbit ledger-check thread is dispositioned by this row and the final merge remains gated on exact-head required CI.", + "checks": "`npm run check:branch-review-ledger` PASS; hosted PR required, PR policy, and GitGuardian to be waited on exact pushed head; no provider-backed evals/checks." }, { - "date": "2026-07-30", - "ref": "codex/reopen-issue-105", - "head": "b94a8f5a693cc44e8aaa0fe3ec5bb65a7c313a3b", - "scope": "Correct #105 status after PR #1482", - "outcome": "No findings; restores the withdrawn verification evidence and leaves the task open", - "checks": "outstanding issues PASS 146 rows 69 open 77 archived next-id 149; docs links and scripts PASS" + "date": "2026-07-31", + "ref": "codex/reduce-catalogue-json-bundle-weight", + "head": "7221cbfbeb97053e639490599bb11ee60cb995f3", + "scope": "PR #1468 review+bugbot+fix", + "outcome": "synced main (behind-but-clean); fixed P2 publish gating critical job; no P0/P1; no actionable threads", + "checks": "merge-tree clean; check:github-actions; vitest test-runner-safety targeted; bugbot P2 fixed with continue-on-error on publish" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1416", - "head": "9f5c32270ecc2d606c3a483ddfbeebe3081d3b5d", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1416 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-09", + "ref": "claude/disabled-button-accessibility-piclvr", + "head": "722abdb780c715c0a89df268ed48f6c741ffd569", + "scope": "disabled-placeholder buttons -> aria-disabled + inert handler (25 sites, 13 components); controlDisabled/therapy recipe aria-disabled styling; require-button-wiring redundantDisabledPair gate; wiring-conventions contract rewrite (settles #291)", + "outcome": "authored — PR #1778 opened", + "checks": "lint (uncached, exit 0); typecheck; test 5878 passed/1 pre-existing root-env failure in pr-handoff-stop; build; check:rag:fixtures 36 golden cases; prettier --check clean; verify:ui not run (no browser in container)" }, { "date": "2026-07-30", - "ref": "codex/repair-pr1416", - "head": "9f5c32270ecc2d606c3a483ddfbeebe3081d3b5d", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1416; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no open PR" + "ref": "codex/ledger-next-20260730", + "head": "7238475c16576928a251c7a3d6de6134e6a72a4e", + "scope": "close verified ledger and CI follow-ups", + "outcome": "No remaining findings after current-main sync; retained richer canonical #133/#135 dispositions from merged #1500.", + "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; check:branch-review-ledger; git diff --check" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1418", - "head": "20ba05abe5908cc69357a4101323c18d38a68d53", + "date": "2026-07-31", + "ref": "origin/fix/system-audit-remediation-pr", + "head": "7293c8a94064ceaff92987e2c037faad326aa3dc", "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "ledger merge-driver scripts byte-identical on origin/main and rotation regression remains covered; clean inactive worktree; batch10 bundle verified" + "outcome": "safe remote delete: current coordinator supersedes lock loop; duplicate migration is absent; unvalidated RAG guard exception was intentionally removed and is not carried; archived batch17", + "checks": "RAG behavior docs read; current protected-source history; migration absence; merged audit replacements; bundle verify" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1418", - "head": "20ba05abe5908cc69357a4101323c18d38a68d53", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant merged PR 1418 content plus tip patch already present on origin/main; removal deferred by primary-dirty lease", - "checks": "clean status; PR head is ancestor of tip; reverse patch check on origin/main passed" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "72adf4032cc60b329629bcbadf5348a2510c2720", + "scope": "CI repair", + "outcome": "refreshed outstanding-issues snapshot after latest-main sync", + "checks": "outstanding-issues snapshot; outstanding-issues integrity; staged diff check" + }, + { + "date": "2026-08-22", + "ref": "PR #2292 / claude/dev-hub-phase-2-plan", + "head": "73477b2a9b3aa92c351f6e3a9a15cced0f2f3859", + "scope": "PR #2292 CI repair for ledger page router harness", + "outcome": "Fixed the second CI failure: the developer-ledger DOM suite renders PanelPageShell after its back link became contextual, so the test now supplies the App Router mock required by ContextualBackLink. The 14 reported failures were all cascading mount errors.", + "checks": "CI run 32595099042 log inspected; focused developer-ledger + panel + back-navigation + cleanup + repo-awareness Vitest 91/91; tsc --noEmit; Prettier --check; git diff --check" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1421", - "head": "339c75046e7a6d1cf8555b77b04e3c76de455dfe", - "scope": "branch-cleanup", - "outcome": "merged PR #1421 contains the local review content; safe local cleanup", - "checks": "tree-identical to exact merged PR head; clean inactive worktree; batch9 bundle verified" + "date": "2026-07-28", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "734931960175afa12359e84c030290396c381bb5", + "scope": "CI babysit closeout", + "outcome": "Final tip after main sync + Clinical Governance Preflight body fix for ready PR.", + "checks": "Awaiting exact-head PR policy/required CI." }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1421", - "head": "339c75046e7a6d1cf8555b77b04e3c76de455dfe", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant patch-equivalent content merged in PR 1421; removal deferred by primary-dirty lease", - "checks": "clean status; no left-only cherry-pick commits versus exact merged PR head" + "date": "2026-08-24", + "ref": "codex/platform-performance-infrastructure", + "head": "736325d2f5f2c5b7f7e91a62ef50e9ae1389d698", + "scope": "Run PR sweep", + "outcome": "fixes-applied: merged origin/main + regenerated snapshot; HMAC secret fail-closed; admin revalidation fail-closed; proxy matcher always includes /api; private-access upload tests cover persistent non-admin mock and proxy-admin + failed live lookup; resolved threads 3842011276 and 3842011288", + "checks": "check:outstanding-issues-snapshot:pass,vitest-private-access-proxy-auth-rate-limit:154/154" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1459", - "head": "7ec5bd0199e96e4e6afd77c6bed1d64235c11da1", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1459 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-17", + "ref": "codex/guide-search-chrome-20260815", + "head": "7365c7f36751b15f155b5228bdce075d9c4e09ec", + "scope": "PR #2007 CI fix: prettier format, design-sync contract regen, guide-centre scroll-hide race, ui-smoke scroll threshold + a11y (bodyTabIndex)", + "outcome": "Fixed 4 CI failures (Static PR checks, Unit coverage x2, Production UI) so PR is ready to merge once CI reruns", + "checks": "npx vitest run (design-sync-contract, design-sync-visual-exports, guide-centre.dom, guide-centre-design-contract.dom); npx eslint on touched files; npx prettier --check; local Playwright production build+run of tests/ui-smoke.spec.ts guide centre test (3 iterations to isolate/fix/verify) and tests/guide-centre-chrome.spec.ts (found unmatched by testMatch, noted not fixed)" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1462", - "head": "f99bb06030780efab7c98806cbb0b2171d1a4284", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1462 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "737bef6599b0a3ff78e82f4f57f46c0c2978d2c1", + "scope": "merge conflict resolution, review threads, and CI repair", + "outcome": "resolved current-main conflict; verified existing review threads were resolved; focused offline checks passed", + "checks": "Vitest 121/121; TypeScript source check; codebase-index coverage; site-map; design-system adoption" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1470", - "head": "ef79b4c79da04070030b92cc057b92936c57677b", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1470 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-25", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "73e87da63f5a9eca4162534074755891f952a4ee", + "scope": "CORRECTION/supersede: final head after Bugbot fixes + main sync + review ledger push", + "outcome": "APPROVE with notes retained from prior row. Product fixes from `5b5ecf405` still present; branch now 0 behind / mergeable (BLOCKED on CI). Wrong audit-remediation PR body corrected. /prlanded: still OPEN — do not delete branch.", + "checks": "Focused Vitest 28/28 on pre-sync tip; merge-tree clean; CI re-queued on tip; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1473", - "head": "4491b5669c8ae2f4ea0581c2a27e6a0816fd58fa", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1473 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-28", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "742b0d154f7058800c945b3ec6e720eef24ce4c0", + "scope": "Bugbot P2: finish #012 recommended-queue closeout", + "outcome": "FIXED. After main-sync conflict repair, `#012` was correctly Resolved/Open-clean but the Recommended execution queue still listed it (order 20 composite + #017 Before hint). Applied `/issues done` queue rewrite: order 20 is now `#013`, `#016`; #017 timing is Before `#013`/`#016`.", + "checks": "Bugbot review on `1b31607b`; queue/Open/Resolved audit; focused vitest previously green; no provider-backed checks." }, { "date": "2026-07-30", - "ref": "codex/repair-pr1474-v2", - "head": "05f1feedf2d3f42cb2d4a9c198f67092c57f0b7a", + "ref": "codex/reconcile-immediate-20260730", + "head": "748ef018f5c30d5bc9a4508ddb9a3ae29416ef81", "scope": "branch-cleanup", - "outcome": "exact merged PR #1474 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "WIP snapshot superseded by merged PR #1480 final review path; earlier partial-source notice replaced by reviewed Retry recovery; clean worktree; batch12 bundle verified" }, { - "date": "2026-07-30", - "ref": "codex/repair-pr1482", - "head": "b7016f62cde87407dea9a64a9d499a486a2a9bbd", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1482 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-14", + "ref": "codex/visual-layout-polish", + "head": "7490ac090fc1577c72bbf5db943126b1ceb47770", + "scope": "PR #1949 CLS ledger corrective review and base-current verification", + "outcome": "fixed the confirmed issue-update overwrite of canonical CLS measurement and stop conditions; no other high-confidence PR defect found", + "checks": "offline: JSON parse; ledger update semantic assertion; check-outstanding-issues; ledger-write-discipline self-test; git diff --check; manual adversarial pass" }, { "date": "2026-07-30", - "ref": "codex/review-pr1423", - "head": "369f9ac809a1a15acb0d7456a782f98a5ea7a297", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1423 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "ref": "PR #1432", + "head": "74adc5aa3f8a4dad659c7a40490288ef8efcb82e", + "scope": "Playwright browser preflight and phone-sheet focus repair", + "outcome": "APPROVE after current-main sync: browser-project resolution fails closed, phone-sheet focus is stable, and no stale issue-ledger state remains.", + "checks": "3 focused files 45 passed; phone-chrome dry-run; installed-lock parity; docs and ledger guards; formatting" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1423", - "head": "369f9ac809a1a15acb0d7456a782f98a5ea7a297", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1423; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no open PR" + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "74c370d81342dd729398dc2b40ba3158ea30f1db", + "scope": "follow-up review + residual polish (policy body, align API, UI flake)", + "outcome": "Prior residuals closed: `PR_POLICY_BODY.md` rewritten for #938 (Sync PR policy body was overwriting with stale #932 text); `withoutJustifyUtilities` strips prefixed utilities; Chip uses exclusive `density` type scale; DSM/forms/services use `startOnPhone`; Best Answer fold bound uses header+240px; `ui-overlap` waits for a single `header#search`. No remaining high-confidence P0–P2 in the ModeHomeMain/differentials mobile scope.", + "checks": "`npx vitest run tests/mode-home-main-align.test.ts` 5/5; Prettier on touched files. Playwright focused rerun and hosted Production UI expected after push." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1424", - "head": "b5e822e3c4232f0d9a1461eb19b16ecc2b2e67a5", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1424 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-09", + "ref": "cursor/smarter-meds-search-9c1b", + "head": "74c3ea7706802925040b2c5603a7140a54dc9cd3", + "scope": "medications-catalog-search typos brands", + "outcome": "shipped catalog-local typo/brand search; no RAG", + "checks": "npm run test: 5899 passed" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1424", - "head": "b5e822e3c4232f0d9a1461eb19b16ecc2b2e67a5", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1424; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no open PR" + "date": "2026-08-17", + "ref": "claude/remove-specifiers-nav-gamiom", + "head": "74c4bc0faa6d47c6e2f2554251f61fabdbb04cfd", + "scope": "src/components/specifiers/specifier-map-nav-header.tsx,tests/mode-nav-addon-slot.dom.test.tsx,tests/in-page-nav-route-sections.dom.test.tsx", + "outcome": "PASS", + "checks": "typecheck,vitest:focused(46),verify:phone-chrome(contracts 130 passed; full-ui blocked by pre-existing sandbox Playwright browser-revision gap, not a code regression),manual-playwright-screenshot" }, { "date": "2026-07-30", - "ref": "codex/review-pr1426", - "head": "92a78af92d421d1f6b36356448a3fe0bf4f09f78", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1426 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "ref": "pr/1431", + "head": "74e10087eb20a81279fb56d18f28a2475d895fab", + "scope": "docs: visual baseline platform layout", + "outcome": "approved; candidate adoption and Linux baseline guidance match implementation", + "checks": "runtime/install parity; ledger; CI scope; docs inventory/links; Prettier; diff-check" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1426", - "head": "92a78af92d421d1f6b36356448a3fe0bf4f09f78", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1426; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-08-16", + "ref": "PR-2008 / codex/tools-show-all-20260816", + "head": "74f618c8c6b3a5ec2099ab070cd198ddf70a3f1c", + "scope": "PR #2008 content-address repair and latest-base refresh", + "outcome": "Corrected the malformed review-record filename to the repository-derived SHA-256 path without changing its row bytes; merged main 3f33068da16ef8a3235359ff974c9314cf79d758, whose API response-parsing changes and two review records do not overlap this PR's launcher or focused UI test; no new P0/P1/P2 defects confirmed", + "checks": "Exact-head CI reproduced the ledger guard failure; canonical path b50552bc27edf96d286fcb2c582831863c1893c66a80b3dc38988a8ef6ef5dc0 derived from reviewRecordPath; 4c52fe1dbbc921be769c31b36efbcdba798ba11b-to-3f33068da16ef8a3235359ff974c9314cf79d758 compare reviewed; prior b089bf262b1aff99f57b22e45cbd941e815175c1 exact-head required CI passed; final head requires rerun" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1427", - "head": "9e660ae4b523b43cefe38194f226860769964755", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1427 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-16", + "ref": "PR-2008 / codex/tools-show-all-20260816", + "head": "75028ebb9d48ae06ccd99621b3f7881af50b91f4", + "scope": "PR #2008 latest-base shared UI test merge after green exact-head CI", + "outcome": "Merged main 54585e98df133c0b49cf32cc878473ea0beba46d; kept its low-confidence AccessibleTable 320px mockup journey in the shared suite and moved this PR's Show all launcher regression to dedicated tests/ui-tools-show-all.spec.ts; no new P0/P1/P2 defects confirmed", + "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, advisory UI, CI-managed Lighthouse budget, SAST, and secret scans passed at 4db291a50e7aad2239fe85303b886ab248978c3f; fb8c71c94f8a45028df36aa669e3653c4f75cd2a-to-54585e98df133c0b49cf32cc878473ea0beba46d compare reviewed; merged source and test contracts reviewed" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1427", - "head": "9e660ae4b523b43cefe38194f226860769964755", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1427; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-08-18", + "ref": "claude/search-recovery-rail", + "head": "7510216c672f293d26b8fdfe04a9ed3fd286b7f6", + "scope": "SearchResultsEmptyState rail restyle + desktop tap floor restore (PR #2147)", + "outcome": "approved — presentation-only; no copy, testid, heading-level, live-region or handler change; band untouched", + "checks": "typecheck 0 errors; eslint+prettier+format:changed clean; 10 DOM files/168 tests passed; chromium ui-accessibility 16 passed; full verify:ui not completed (lock contention + host exit)" }, { "date": "2026-07-30", - "ref": "codex/review-pr1428", - "head": "1831cd244ed12bd0b6eca06e9b1c5e83f066fd20", + "ref": "codex/review-pr1483", + "head": "75253f8fbc1660c5234447e03a758879bfa7bcca", "scope": "branch-cleanup", - "outcome": "exact merged PR #1428 head; inactive clean worktree archived in verified batch1 bundle", + "outcome": "exact merged PR #1483 head; inactive clean worktree archived in verified batch1 bundle", "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1428", - "head": "1831cd244ed12bd0b6eca06e9b1c5e83f066fd20", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1428; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-08-14", + "ref": "PR-1955", + "head": "752d1af54f0cbfdef70390af913693671fbf95b7", + "scope": "PR #1955 full review, design-system fix, and required base sync", + "outcome": "fixed CI-blocking design-system contract regressions; merged latest main", + "checks": "git diff --check; native design-system remediation assertion; node scripts/check-docs-links.mjs; node scripts/ledger-inbox.mjs check; node scripts/check-ledger-write-discipline.mjs --self-test; full design-system/Vitest/UI checks unavailable (node_modules absent)" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1429", - "head": "a91ed88d095c9ea00b46f9b09138d3c48051eec9", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1429 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-21", + "ref": "claude/patient-profile-input-bounds-123366 (PR #1045: FV-03 fail-safe input bounds)", + "head": "75303e8b8", + "scope": "Clinical-governance verification of FV-03 (patient-profile numeric fields → medication-safety alert engine). 4-agent adversarial workflow (consumer map + suppression audit + physiological bounds + synthesis).", + "outcome": "ADJUST→implemented. Consumer map: evaluatePatientAlerts is the ONLY numeric consumer, no dose arithmetic, sanitize() is the sole guaranteed chokepoint. Suppression audit found naive null-routing UNSAFE via the bare-renal both-null hole (medication-patient-alerts.ts:286) — nulling one out-of-range renal input while the other is present-normal → false all-clear; fixed with &&→|| (0 bare-renal contraindication rows in corpus → no-op on current data). Bounds VALIDATED (age 0-130, egfr 0-250, crcl 0-400, qtc 240-800, scr µmol/L 15-3000 unit-aware): never reject a legitimate clinical extreme. Reject-to-null (never clamp).", + "checks": "typecheck, lint, format:check, full unit+jsdom 349 files/3120 passed/0 failed (incl. 38 new/updated FV-03 tests), design-system-contract (baselines unchanged), type-scale, icon-scale, check:production-readiness READY. verify:ui in CI. No provider calls." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1429", - "head": "a91ed88d095c9ea00b46f9b09138d3c48051eec9", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1429; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-08-08", + "ref": "claude/ds-baseline-workflow (PR #1743)", + "head": "753898f4982be38c3b3d11495caf3d30236b16a3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "3 Codex threads (2 P1+1 P2) → partial refresh + refresh provenance + mask settle; threads disposition via later head", + "checks": "vitest adopt-visual-baselines 3 + design-system-adoption 51; no provider-backed checks" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1430", - "head": "6fb093b39d45f487d6abb6e8cbcc82f38eab7610", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1430 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-13", + "ref": "codex/rag-review-followup", + "head": "755ac9e517a3b81f8e12a119f80f3769dd58ae4e", + "scope": "PR #575 post-merge review finding remediation", + "outcome": "Fixed the P1 path that could combine a medication amount and route from separate chunks, expanded the shared explicit amount/route/frequency intent detector, corrected route-only failure classification, and added microgram-symbol coverage. Requested attributes must now be co-located with the medication subject before the text fast path is accepted. No additional high-confidence defect was found in the changed scope after integrating the production answer-budget fix from PR #580.", + "checks": "Focused Vitest 143/143; `npm run eval:rag:offline` (21 files, 265/265); `npm run typecheck`; targeted ESLint; full `npm test` (211 files passed, 1 skipped; 1,946 tests passed, 1 skipped); PR-local dry-run selected runtime, format, lint, typecheck, full tests, build, and offline RAG; `git diff --check`. `verify:cheap` passed all pre-test stages but its 10-minute host bound expired during the full suite; the same suite then passed independently with a longer bound." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1430", - "head": "6fb093b39d45f487d6abb6e8cbcc82f38eab7610", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1430; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-07-17", + "ref": "PR #736 / claude/phone-touch-optimization-673ur4", + "head": "755da28c29bf37e39fe2ab3d355f141a8f6eda35", + "scope": "open-PR review + merge babysit", + "outcome": "No high-confidence P0-P2. Touch floors reuse min-h-tap/size-tap; Therapy Compass phone overflow via tc-stack-sm/tc-scroll-sm. Merged to main.", + "checks": "Hosted required checks + Production UI green; globals.css auto-merges with #733." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1431", - "head": "111291f3ed23164ab9b43690e0ae7e47553de47c", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1431 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: Phase C saturation-tail primaries)", + "head": "7572c7f", + "scope": "ADDENDUM 4 Phase C (user-authorized): per-candidate discriminative primaries for saturated fast-path ties — design-agent planned (consumer map + dead-band envelope proof), red-proven, tie-conservation guarded", + "outcome": "Mechanism: min(text_rank,1) collapses all tr≥1 candidates to byte-identical imputed primaries; ordering fell to chunk id at release. Fix: saturationTailUnit (pure, monotone, SET-INDEPENDENT — rejected per-query min-max + rank-tier designs for set-dependence/#118 authority risk; rejected full-range log rescale for moving sub-knee values across the 0.62-0.82 gate ladder) scales the excess into DEAD cap bands only: S2 table-fact similarity (0.92, 0.94) with hybrid byte-identical (gates/triggers/selection provably unchanged; similarity = the release tie-break key), S1 lexical-chunk hybrid (0.48, 0.5) behind the truthful-contract signature (sub-0.5 bars hold). Sub-knee byte-identical (fixtures now DERIVE from the helper; 0.45→0.755/0.795 pinned). Discriminating test verified RED on old formulas (2 fail: discriminating + envelope) → green with tail; equal-tr tie-conservation pins the #987 coverage comparator; second-stage-engaged pools documented out of scope (position-derived releaseRankScore sorts first there) — matches live evidence that non-engaged pools (patient-safety, opioid, flowchart) are where id-order decided. S3/S4 = C-PR-2 candidates, evidence-gated on the post-merge canary vs #54 baseline (doc/content recall MUST stay 1.0, zero per-case regressions; success signal = rr lift on the headroom cases). Rollback: single revert (helpers + 2 expression sites + 1 map call; no schema/config/cache surface).", + "checks": "Targeted vitest 121/121 (fast-path 11/11 incl. 6 new, retrieval-selection, rag-routing, rag-answer-fallback, ranking-tuning, second-stage); npm run test 3025 passed / 1 known container pdf-budget artifact; lint + typecheck + prettier clean; red-proof executed and recorded; live validation = post-merge canary dispatch (~$1-2)" }, { "date": "2026-07-30", - "ref": "codex/review-pr1432", - "head": "cda13602d3dc65f1933943d31695f82b161ad6de", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1432 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "ref": "claude/top-search-design-mockups-w53znc", + "head": "7577a1ea60ab5f0918885f90e849bbac754234b1", + "scope": "PR #1394 search-results-band-adoption + #096/#115", + "outcome": "No P0/P1. Disposition1 partial: isAlwaysStandaloneShellPath fixes services/etc; /tools still layout-false-positive (P2). Disposition2 verified: import-as-rendered deferred as #115 (P3). #096 closure text accurate for root-path; row still open with stale Still-live clause.", + "checks": "vitest tests/search-results-band-adoption.test.ts 6/6; offline gutting repro tools vs services; static read search-route-ownership + outstanding-issues" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1432-v2", - "head": "277333c2e0db9f4dcbef9489ccdf1d57524e169b", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1432 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-28", + "ref": "PR #1353 / cursor/pr-1336-ledger-closeout-dc4e (merged)", + "head": "7581cfcb29197449fd728995a4b47a0ec46b9824", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED. Ledger-only prlanded for #1336 was missing on main; fold/sync+squash. Row retained.", + "checks": "hosted-pr-required,static,circleci,merge-tree-clean" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1433", - "head": "716b0acc21ccaa367900335799dec1647f38caa6", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1433 head; inactive clean worktree archived in verified cleanup bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, batch2 bundle verify ok SHA256 D887CB844F2955F7E8183D95D4B8A74156CFE123C7446FE8A99E84FC9C3AA5D8" + "date": "2026-08-08", + "ref": "claude/ds-close-276 (PR #1724)", + "head": "75c89993f3ea23b70a250f605b21437b4ea9aac8", + "scope": "PR #1724 review-and-fix", + "outcome": "fixed Codex P2 wrong #118 Lighthouse cause (150 overwrite vs 151 pin); dispositioned CodeRabbit #276 archive claim as false (issues:done move); merge-tree clean; required CI was green on prior tip 8ae8c48f; no Bugbot findings", + "checks": "check:outstanding-issues pass; prettier --check docs/outstanding-issues.md pass; no provider-backed checks" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1434", - "head": "c30049fae3562adadb6b4df9a733458c1e842cc8", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1434 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-07", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "76169ebcea48ca5efd9859b9a1f8c579dcc8b834", + "scope": "PR #1649 pr-handoff-stop hook + AGENTS.md/handoff docs", + "outcome": "shipped and squash-merged as 76169eb; hook denies post-handoff PR/CI polling (shell gh, GitHub MCP pull_request/workflow/check/job_log/update_branch, Monitor/ScheduleWakeup/CronCreate) while leaving commit, push, ledger:append and PR create/merge allowed; anchored exemption keeps create_pull_request_review denied; known limit: .claude/settings.json binds Claude Code only, Codex/Cursor get AGENTS.md prose with no enforcement (captured as an outstanding issue). Row recorded late and against the merged squash commit because the branch tip 2ad32de9b is unreachable after branch deletion", + "checks": "named #1649 gates: check-docs-links PASS (1629 refs); ci-change-scope --self-test PASS; check-gate-manifest PASS; check-codex-cloud-setup PASS (static); check-branch-review-ledger PASS; check-outstanding-issues PASS; Prettier clean on AGENTS.md/.claude/settings.json/handoff SKILL; bash -n hook clean; classifyPullRequestFiles all risk flags false; ~20 hook payloads exercised; incomplete vs full handoff: verify:pr-local NOT run (no node_modules); verify:ui NOT run (no UI delta); no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1436", - "head": "804780b2eddb171f9cf0506ffade7f2b2e7d6b87", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1436 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-07-23", + "ref": "PR #1090 / `cursor/fix-phone-dock-edge-1b1d`", + "head": "761de7e9ad623b6bd8d634d849a9eb465d622e48 (merged as 09028ef217209fceb53f1122ac7738b509bce323)", + "scope": "Phone safe-area and edge-to-edge search-dock UI review", + "outcome": "MERGED. No P0-P2 finding. The branch was three commits behind, so current `origin/main` was merged before landing; the actual merge tree matched the reviewed synthetic tree. The dock remains flush to the viewport with safe-area padding inside the form, and the phone shell no longer retains the `dvh` clamp that created the Safari toolbar band. Zero actionable review threads.", + "checks": "`npm run ensure`; focused `ui-tools.spec.ts` phone-home and edge-to-edge scenarios: Chromium 2/2 and WebKit 2/2; refreshed hosted policy, security, unit, build, advisory UI, Production UI and required aggregate checks green; exact-head ancestry and local-main tree equality proved after merge." }, { "date": "2026-07-30", - "ref": "codex/review-pr1436", - "head": "804780b2eddb171f9cf0506ffade7f2b2e7d6b87", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant local review head contained by merged PR 1436 head; removal deferred by primary-dirty lease", - "checks": "clean status; ancestor of exact merged PR head; no active process" + "ref": "pr/1483", + "head": "76393b9a0c6603e2551898c89a33396f52949da3", + "scope": "docs: reopen issue 105 after withdrawn verification", + "outcome": "approved; restores pending LoadingPanel verification without disturbing PR 1462", + "checks": "runtime/install parity; issue/ledger; docs inventory/links/scripts; Prettier; diff-check" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1438", - "head": "f13c261ee96405dc338db184ec74009bcd3699a3", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1438 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-28", + "ref": "PR #1305 / `execute-audit-remediation-fixes`", + "head": "7662c94cf85fac19925debb567035c2e3717a20f", + "scope": "pr-bugbot proactive (zero cursor[bot] Bugbot threads)", + "outcome": "FIXED P1 phone-chrome regression: reverted ClinicalDashboard `@container`/`@max-sm:fixed`/`@md:` migration to viewport `sm:`/`md:`/`max-sm:` (search-chrome #20 + reserve contracts). FIXED P2 privacy notice stacking: restored `z-[5]` and allowed rung 5 in z-index ladder. Validated merge-sensitive: trustGatedAnswer clears `answer:\"\"`; upload has no `canonicalAuthority`; SettingsStateProvider wired; no conflict markers.", + "checks": "Vitest chrome/clinical 31/31; eslint touched files clean; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1438", - "head": "f13c261ee96405dc338db184ec74009bcd3699a3", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1438; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; zero cherry-pick-unique commits" + "date": "2026-07-31", + "ref": "origin/cursor/pr1185-bugbot-review-1c1e", + "head": "76933d4006a97e741383cc13b6728a858e6b2a99", + "scope": "branch-cleanup", + "outcome": "safe remote delete: closed PR #1185 review branch superseded by merged typography PRs #1200 and #1294; archived batch15", + "checks": "GitHub PR history; current-main commit search; bundle verify" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1439", - "head": "1611d5ee157f3444e08b5e1ccf5c316e8a319490", - "scope": "branch-cleanup", - "outcome": "closed PR #1439 duplicate superseded by merged PR #1434; safe local cleanup", - "checks": "maintainer closure states stronger replacement; SKILL.md and openai.yaml blob equality confirmed; verifier/workflow/tests replaced; batch8 bundle verified" + "date": "2026-08-14", + "ref": "codex/medication-info-header-20260814", + "head": "76a67c8cbd3e94f9a292dafeca7d17738ddee53b", + "scope": "medication information header expansion and desktop polish", + "outcome": "Supersedes the pre-rebase review record; no P0-P2 findings and ready for PR handoff", + "checks": "DOM 38/38 and focused Chromium 1/1 passed; PR-local runtime, lock parity, formatting, and lint passed; remaining aggregate stages blocked by shared test-run contention" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1440", - "head": "03694d379d4c9ee1cbef6e9bea8c2a8ac5ae3a2f", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1440 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-24", + "ref": "`cursor/search-performance-review-4ee9` / PR #1134", + "head": "76d47871c44c607f942a683351378230173dcbe3", + "scope": "Search performance findings remediation (prescribing, differentials, typeahead docs timeout, shared shell, answer rate-limit fallback)", + "outcome": "FIXED. P1 prescribing catalogue now debounces (250 ms), aborts in-flight fetches, and uses `fields=index`. Differentials catalogue + evidence search abort/debounce. Universal documents typeahead timeout 6 s→750 ms (RAG impact: no retrieval behaviour change — typeahead timeout only). Shared `(search-app)` layout keeps GlobalSearchShell mounted across mode homes. Answer rate-limit fails closed only in production; development uses in-memory fallback when durable RPC is unavailable.", + "checks": "Focused Vitest 362 via test:focused; api-rate-limit/search-shell/universal/route/site-map suites green; `npm run ensure` smoke 200 on mode homes; `/api/answer/stream` 200 after fallback. No OpenAI spend beyond local answer stream smoke; no live eval/soak." }, { "date": "2026-07-30", - "ref": "codex/review-pr1440", - "head": "03694d379d4c9ee1cbef6e9bea8c2a8ac5ae3a2f", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1440; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "ref": "codex/docs-sync-automation", + "head": "76d7372d8aa886008e2fb637e5911e9c00bb33e3", + "scope": "documentation synchronization automation review", + "outcome": "APPROVE after deletion-path fix; no remaining P0-P2 findings", + "checks": "docs/update and static gates pass; focused Vitest admission blocked" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1441", - "head": "5f59c295ee3a9f266f3a7569ff444433463b7e3e", - "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "merged PR #1441 retains two exact blobs and strengthens Docker/env validation in the other two files; clean inactive worktree; batch10 bundle verified" + "date": "2026-07-26", + "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", + "head": "771683af + main 584b8045", + "scope": "Reconcile against the #1222 cross-breakpoint header and run the gates the branch never re-ran", + "outcome": "APPROVE. The bot's earlier sync of #1222 into this branch resolved correctly: `useScrollHideReporter(false, true[, searchMode])`, `useDocumentScrollHideReporter`, `wide: \"collapse\" | \"sticky\"`, `sm:contents` and the hidden-only `sm:-translate-y-full` are all intact, every `readChromeCollapseBudget` caller migrated to `readChromeCollapseMetrics`, and the two models compose: `collapseKind` only refines the in-flow path, while the sticky path still reports a zero budget because `readChromeCollapseMetrics` keeps the `display === \"grid\"` test. One real blocker found and fixed: merging main let the union driver re-append two records both sides already held (940 rows / 938 unique), failing `check:branch-review-ledger`; the later copy of each was dropped after proving zero records lost and all non-record text byte-identical.", + "checks": "`npm run verify:cheap` pass except pre-existing `tests/pdf-extractor.test.ts` SIGKILL case, which needs local Python OCR prerequisites and whose subject is absent from this diff (3437/3439 otherwise). `npm run verify:ui` 285/285 Chromium on the production build. Focused: `ui-chrome-scroll` + `ui-phone-scroll` 30/30; `use-hide-on-scroll` + `header-scroll-hide-contract` + `mobile-composer-reserve` 39/39; `npm run typecheck` clean. No provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1441-v2", - "head": "c27e4dd89ef6560805e760fb964075b5cfcc2e6b", - "scope": "branch-cleanup", - "outcome": "merged PR #1441 contains the local review content; safe local cleanup", - "checks": "no unique non-merge patch beyond exact merged PR head; clean inactive worktree; batch9 bundle verified" + "date": "2026-08-24", + "ref": "2360", + "head": "772de6562ac06ba31f60a34ca67fc7403f72b4fb", + "scope": "PR #2360 current changed scope", + "outcome": "No P0-P2 findings; merge conflicts resolved while preserving removal of Clinical Ask composer controls", + "checks": "GitHub metadata/comments/threads and failed mergeability log; exact diff review; npm run format; npm run format:changed; git diff --check; focused Vitest admission blocked by active coordinator owner" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1441-v3", - "head": "dbfd3068f8c47b5fb6465ae0b24015835fd50adb", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1441 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-18", + "ref": "PR #868 / codex/private-title-privacy-20260718", + "head": "77482fc9e (privacy implementation + rollout-order follow-up)", + "scope": "title-vocabulary privacy, migration safety, and merge-readiness review", + "outcome": "Fixed the historical private/non-indexed `document_title_words` exposure with a forward purge, exact indexed-public-title invariant, concurrency-safe `FOR SHARE` guard, constraint/ACL/RLS hardening, and a fail-closed postcondition. Review then found and fixed a P1 rollout interval by purging inside `20260717171000` before its table-backed corrector is installed, while retaining the forward migration for already-applied environments. The review thread was resolved; merged as `0df01d88ac36616a3f47e2e94e758432ef27999c` and verified on fresh `origin/main`.", + "checks": "Disposable Postgres replay and drift-manifest regeneration; focused schema Vitest 66/66 before the final docs-only sync; function-grant check; scoped ESLint; diff/manifest proof. Exact-head hosted Static, Unit coverage, Safety/config, Migration replay, PR required, policy, Semgrep, Gitleaks, and GitGuardian passed. Non-required Supabase Preview failed against a separate preview target and was not touched or rerun. No live Supabase/OpenAI/product-provider command or production migration apply ran." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1442", - "head": "14ab262102bba4aa66a9c65e9d718db0394eda6d", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1442 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-25", + "ref": "`cursor/fix-mode-switch-lag-22f6` / PR #1187", + "head": "775d15adef8155aba68e43f0e9354adf60f1ea8d", + "scope": "Same-class thrash fixes lint closeout", + "outcome": "Supersedes b9484396 row for lint follow-up: pathname bottomComposerHidden reset moved to render-time; removed unused desktopHomeComposerFallback. verify:cheap green. Residual unchanged (dashboard↔standalone remount; #007 Tools dual entry).", + "checks": "verify:cheap 3345 passed / 3 skipped; focused ownership tests; eslint clean on touched shell/header. No provider checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1443", - "head": "00e87040db22d5870f60abc52535ec5d945bd3ab", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1443 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-08-17", + "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", + "head": "7793c76822748ed87e14d534aa4545435d779486", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean twice (no conflicts, main advanced mid-sweep). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (docker/setup-buildx-action download) once. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch x2; rerun_failed_jobs on Container images job; PR required: success" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1443", - "head": "00e87040db22d5870f60abc52535ec5d945bd3ab", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant local review head contained by merged PR 1443 head; removal deferred by primary-dirty lease", - "checks": "clean status; ancestor of exact merged PR head; no active process" + "date": "2026-08-17", + "ref": "claude/fix-theme-transition-timer-race", + "head": "77a631e960b55ef1c563ad85f6d4fc5551e1c98c", + "scope": "theme-transition timer race in use-theme.ts causing Vitest unhandled-error failures", + "outcome": "Fixed: guarded the 200ms theme-transitioning callback against a torn-down document and tracked/cleared the timer handle so rapid switches cannot end a later transition early", + "checks": "verify:pr-local exit 0 (649 files/6968 tests, no Errors line); red-green proved — new spec reproduces ReferenceError: document is not defined against the unfixed file (2 failed), passes 3/3 with the fix" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1444", - "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1444 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-17", + "ref": "claude/pr-auto-merge-safety-tpxupu", + "head": "786a0558bc676f7b7b175ae50b84f9db3d309b3d", + "scope": "scripts/guard-push.mjs, tests/guard-push.test.ts, AGENTS.md, .claude/skills/run-pr/SKILL.md, .claude/skills/handoff/SKILL.md, .cursor/agents/pr-babysit.md", + "outcome": "authored: allow ordinary fast-forward push/commit to a PR branch while auto-merge is armed; force-push and disabling auto-merge remain hard-blocked", + "checks": "verify:pr-local full run green (Test Files 635 passed, Tests 6775 passed/4 skipped, failed: none); guard-push.mjs self-test passed; tests/guard-push.test.ts 33/33 passed" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1444", - "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1444; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-07-27", + "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", + "head": "78c7d1c7766c081d886f1abbd14fa7b3018a0d44", + "scope": "CI fix: Production UI Loading-answer strict-mode race", + "outcome": "FIXED. Hosted Production UI failed once on `answer search URL opens chat without the answer home copy` when `getByLabel(\"Loading answer\")` matched the live skeleton plus a hidden Suspense `S:` clone (search-chrome invariant 17). Assertion now uses the suite-standard `:visible` locator. Not a product regression from the results-band rebuild.", + "checks": "Exact journey PASS 3/3 with system Chrome after the harden; hosted CI rerunning on this head; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1445", - "head": "483a1c6190dfbd1a5895ef2c419a73f0f2162f05", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1445 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "78e2beb89b646c3d5c2d4745e3f2f692f9ba61a0", + "scope": "latency audit implementation (PR #1377)", + "outcome": "Implemented the free/flag-gated findings of docs/audit/latency-audit-2026-07-28.md after PR #1312 closed unmerged: Server-Timing preamble on answer/stream/search, scope-vs-ratelimit overlap with abort, deferred shared-cache-hit write, narrowed table-facts projections, medication catalogue memo, 10 loading fallbacks, Supabase preconnect. L2-3/L2-5 authored as operator SQL only; supabase/ untouched. L4-2 retracted as deliberate. Remainder filed as ledger 098-105.", + "checks": "verify:cheap exit 0; verify:pr-local exit 0 (418 files, 4244 passed/4 skipped, build compiled 59s, client bundle scan passed, 36 golden cases validated)" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1445", - "head": "483a1c6190dfbd1a5895ef2c419a73f0f2162f05", - "scope": "branch-cleanup-deletion-pending", - "outcome": "redundant exact head merged in PR 1445; removal deferred by primary-dirty lease", - "checks": "clean status; GitHub merged exact head; no active process" + "date": "2026-07-18", + "ref": "PR #865 / codex/docs-migration-runbook-safety-20260718", + "head": "78ea2ccd6", + "scope": "migration runbook, rollback safety, and clinical-governance review", + "outcome": "Replaced stale sole-pending-migration guidance, prohibited restoring the unscoped corrector, added forward-only rollback and exact migration ordering, and marked the historical WIP report superseded. Review uncovered the pre-existing private title-word P1, so the runbook now blocks live rollout until a forward purge/invariant migration is merged and verified. The review thread was resolved; merged as `ec9142628752e6d11531e20a6ebf2e95cf39f865` with exact changed blobs verified on `origin/main`.", + "checks": "Documentation links 915, documented scripts 299, affected Markdown Prettier, static migration-order/rollout-blocker assertions, and `git diff --check` passed. Hosted Static, PR required, policy, Semgrep, Gitleaks, and GitGuardian passed; docs-irrelevant jobs skipped. No Supabase/OpenAI/database migration/deployment/provider call ran." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1446", - "head": "fb580a8e2ed456e727c1c8db289ca21398f6eedb", - "scope": "branch-cleanup", - "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", - "checks": "tip is ledger-only and its exact review row is already on current main; clean worktree; batch12 bundle verified" + "date": "2026-07-24", + "ref": "codex/audit-remediation-final (PR #1158)", + "head": "78fab6be0c43cf5e92361315399d393ee7742f2e", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean (no RAG conflict markers). NOTE: PR still intentionally adds deterministic broad_summary queryClass shortcut in src/lib/rag/rag.ts (+17) — RAG impact behaviour change, not dropped during merge.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1448", - "head": "3e50d1364912c2296a3a681f595dd5b89880129e", + "date": "2026-07-13", + "ref": "origin/dependabot/github_actions/actions/checkout-7", + "head": "791b3cc27c43651bdecca3f154c506f51d110d8d", "scope": "branch-cleanup", - "outcome": "exact merged PR #1448 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "outcome": "Retained for open PR #541.", + "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1455", - "head": "308eed587e643876e0a121dc3dd1a9f22d5f07a8", - "scope": "branch-cleanup", - "outcome": "useful review result now present on current main; safe local cleanup", - "checks": "merged PR #1507 resolves the container browser issue under #121; obsolete #145 identity was reused and current main is authoritative; clean inactive worktree; batch11 bundle verified" + "date": "2026-07-20", + "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", + "head": "792142c88191e201311238984b1530f784430f0e", + "scope": "exact-head merge-ready CI", + "outcome": "No remaining high-confidence product defect. Hosted required checks green on tip after Prettier format fix. Residual: branch protection still needs a human approving review (`mergeStateStatus=BLOCKED`, empty `reviewDecision`).", + "checks": "Hosted exact-head: PR policy, Sync PR policy body, Static, Safety, Unit, Build, Production UI, Advisory UI, PR required all SUCCESS. Local Mode Playwright 5/5 + route-coverage hydration 3/3. No OpenAI/live Supabase writes." }, { "date": "2026-07-30", - "ref": "codex/review-pr1455-v2", - "head": "c222606b977c2b0e145f6fab872094e62f2f18f6", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1455 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "ref": "claude/capture-session-followups", + "head": "7954c044dd16e0669d417e09d6b6192a4df0e72d", + "scope": "PR #1490 main sync", + "outcome": "merged origin/main 9af15e1f (clean tree; GitHub DIRTY was merge=ledger staleness); kept #152/#153 and clarified #153 snapshot wording; #151/#143 remain archived", + "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1457", - "head": "33087a26ea337f41023d00ad327c63153c4ec39d", - "scope": "branch-cleanup", - "outcome": "useful review result now present on current main; safe local cleanup", - "checks": "current main has assertive failure alert, polite in-flight status, focused DOM test, and copied review ledger record; clean inactive worktree; batch11 bundle verified" + "date": "2026-08-13", + "ref": "PR-1845", + "head": "795ce38e165ce44e167038839a914b2efdb77dae", + "scope": "current-main merge, CI repair, and open-comment review", + "outcome": "preserved the current-main ledger; canonicalized whitespace-only q to the non-empty legacy query; replaced the stale clear-filter Playwright locator; no unresolved review threads remained", + "checks": "pending fresh GitHub CI" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1458", - "head": "f275fddcb0e2b91806f1badee3287d3bbe79964c", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1458 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "797165eda58d6534024aa0d73ff78ead56a3c1cc", + "scope": "CI repair", + "outcome": "replaced a legacy shadow alias with the canonical elevation token to restore the design-system contract", + "checks": "check-design-system-contract; staged diff check" }, { "date": "2026-07-30", - "ref": "codex/review-pr1458-v2", - "head": "398660144d93aeefc2e5649c156948a68925cb64", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1458 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "ref": "pr/1476", + "head": "79822031e696cd3906ce01284ec9736938c40a74", + "scope": "docs: record ESLint 10 ecosystem blocker", + "outcome": "approved; blocker matches installed peer ranges and current main", + "checks": "runtime/install parity; issue/ledger; docs inventory/links/scripts; Prettier; diff-check" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1462", - "head": "b5044fb057e5a7fef28f782060c3f41205651895", - "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "current main retains a stronger #079 cleanup instruction; unique review record copied; clean inactive worktree; batch10 bundle verified" + "date": "2026-08-17", + "ref": "claude/packet-s6-docling-lab-d6foa6", + "head": "798725d04c85070f90c7496c5c7808713dd2d2a5", + "scope": "eval/docling isolated Docling lab benchmark harness + Gate B decision-record template (packet S6/B3, PR #2057)", + "outcome": "PR #2057 open — harness only, no benchmark verdict; hard boundaries respected (worker/extractors/database untouched)", + "checks": "verify:pr-local heavy plan failed:(none); check:docling-lab passed (36 fixtures/10 hostile/6 canaries); docling-lab-contract test 20/20; check:github-actions passed; legacy engine smoke 46 docs 10/10 hostile contained canary-clean" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1462-v2", - "head": "af7b4f21fa2a0f6dba58b5df9e67e036c4bd58a2", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1462 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: ci.yml concurrency)", + "head": "79aaacf04e64f753c480dd957a81ac9be6acbb43", + "scope": "CI workflow concurrency: stop main churn cancelling dispatch/schedule runs", + "outcome": "One-line group expression: workflow_dispatch/schedule events now get a per-run concurrency group (github.run_id) while push/PR keep the shared ref group with cancel-in-progress — fixes the release-browser-matrix livelock (cancelled twice on 2026-07-19/20 by main merges mid-run; the weekly Sunday 18:00 UTC scheduled run was subject to the same cancellation). release-browser-matrix is not a required branch-protection check; pin/scope checkers do not constrain the concurrency block. Accepted side effect: deliberate runs can overlap push runs. Rollback: plain revert.", + "checks": "check:github-actions PASS; check:ci-scope PASS; format:check PASS (repo files; local-only .claude/settings.local.json warning is gitignored)" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1465", - "head": "405f75843edab2850af78750c844bc5c22ebd9d5", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1465 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-18", + "ref": "claude/issues-reconcile-2026-08-18-evening", + "head": "79b4d8df0c37a580935904bdeed04e14aa23b0d8", + "scope": "issues ledger reconciliation (88 queued inbox requests: database-remediation set + PR #2105 done resolutions)", + "outcome": "clean — reconciler applied all 88 queued requests with 10 cancellation decisions, refused none; no request adjudicated, edited or deleted by hand; diff is 1 canonical file + 88 renames", + "checks": "verify:pr-local (11/11 gates, 0 failed, 0 unreached); check:outstanding-issues (365 rows, 48 open, 0 pending / 339 applied); check:ledger-write-discipline (ce702ba68c12..HEAD); docs:check-links (1901 refs); format (whole tree, unchanged)" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1467", - "head": "4b3200f9e37533541af70299559a159f9e28e196", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1467 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-22", + "ref": "PR #1081 / `codex/reconcile-publication-approval`", + "head": "79dadbc46e5694ad7ea2232cdc14329632d40943 (merged as a00638af2e1116896bedf493af0dbb591a707567)", + "scope": "Publication reviewed-state digest, locks and migration", + "outcome": "MERGED. Approval binds canonical document/metadata/artifact/generation state and publication locks relevant rows/rejects active work. New forward migration used; stale archived timestamp rejected.", + "checks": "Focused 72/72; 181-migration disposable replay; schema/types/drift regeneration; grant/owner/migration guards; PR-local 3,201 passed / 1 skipped; hosted migration/required checks green. No live apply." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1469-v2", - "head": "0784c150d5c6888bec172bf5c0d4472a66452071", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1469 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-19", + "ref": "claude/docling-worker-shadow-mode-b6fa17", + "head": "7a30ec3f8b17b97aeb7f17efa003f25c3ea6a61c", + "scope": "Packet B4 docling worker shadow mode (PR #2170): worker/shadow-extraction.ts, worker/python/shadow_docling_extract.py, worker/main.ts post-commit shadow call, worker/prerequisites.ts, worker/validate-runtime.ts, src/lib/env.ts B4 envs, Dockerfile.worker docling venv + models, railway.worker.json, docs (HANDOVER S7 row, worker runbook, ingestion state machine)", + "outcome": "ingestion-worker-reviewer: approve-with-nits (docling_version regex end-anchored in this head; post-commit reclaim window disclosed in runbook). Shadow runs only after commitDocumentIndexGeneration, aggregate numbers-only record via existing metadata merge, no chunk/embedding/index/table-fact/document_index_quality writes, fail-open, bounded 120s/40 pages/1 process, rollback WORKER_DOCUMENT_EXTRACTOR_MODE=legacy; Gate B caveats carried in the PR body", + "checks": "verify:pr-local heavy plan exit 0 (Test Files 673 passed | 2 skipped, Tests 7292 passed | 29 skipped, lint+typecheck+build green); focused vitest 9 files 117/117; python unittest 7/7; tsc exit 0; check:production-readiness schema green (only absent local secrets fail); pr-policy offline evaluate ok:true; Docker build not run locally (CI contract)" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1475", - "head": "814bb1cfbe05ce136d1ec4319f396be18fc932f8", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1475 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-27", + "ref": "PR #1268 / `dependabot/npm-production/...`", + "head": "7a433befca9d", + "scope": "Bugbot review", + "outcome": "HOLD then MERGE after approval + green CI (highest Dependabot risk). Patch bumps next/react/supabase/openai/lucide; lockfile integrity-only; no engine break.", + "checks": "package.json/lock diff scan; merge-tree CLEAN; no provider checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1476", - "head": "f3fdc68175566635fc00a5f46e19fd9602c72a31", + "date": "2026-07-13", + "ref": "claude/database-rag-image-visibility-d6b809", + "head": "7a51b109df0575f570cc3351d18552d43e2f1e9f", "scope": "branch-cleanup", - "outcome": "exact merged PR #1476 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #515; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1477", - "head": "87bc83e1ec3ba781b87af7536bcb4e0a551815b8", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1477 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-14", + "ref": "claude/ledger-merge-loss-finding", + "head": "7a8d57da01b3221c61c87d2f14ace392ab33fb67", + "scope": "ledger merge-loss finding", + "outcome": "PR #1937 — one immutable inbox request (P2 issue) recording that a queued outstanding-issues request was created on a branch and never reached main through that branch's squash. Verified before writing: the request's own remedies had already shipped on main independently (hook guards CLAUDE_ENV_FILE; check:runtime names the hook), so the request was NOT re-queued verbatim — a re-queue would have opened an already-resolved row. The row filed instead is about the undetected loss itself. Docs-only; no source changes.", + "checks": "npm run verify:pr-local — failed: (none), 11 checks completed; ledger inbox check passed: 76 pending request(s), 19 applied" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1480", - "head": "416d8ea80c81bfdb64a40eaacbe1d49be5db38c2", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1480 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-11", + "ref": "PR #488 / claude/code-review-42a2c3", + "head": "7a8ea145013444f7cc29631499f48a8b0454937a", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "Confirmed the remaining public error-code finding was already fixed at the reviewed head. Added the two focused advisory UI assertion stabilizations required by the hosted failure logs; no additional high-confidence defect was found in the changed scope.", + "checks": "`tests/http-error-response.test.ts` (3/3); Prettier check on affected files; `git diff --check`; hosted required CI passed before the test-only fix. Browser rerun deferred to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1481", - "head": "f408bba957acf8903b29b6575971c9d77e0441b5", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1481 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "7a94877745c652b7bb7144cf9be02a22a9a0dbdf", + "scope": "Autofocus fix published", + "outcome": "Awaiting exact-head Production UI green.", + "checks": "Sheet DOM 5/5; pushed." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1481-v2", - "head": "9eb2e740f33364a66ae50ec3bfda39bbd4cbf1dc", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1481 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-06", + "ref": "claude/ds-truth-fixes", + "head": "7a9c41a971aa9111f050cd39d4429ada1b3f4409", + "scope": "PR #1655 heavy review-and-fix", + "outcome": "fixed DownloadLink tone DOM leak + stale ToggleSwitch/Links §9 docs; merge-tree clean; verify:cheap+verify:pr-local green; CI re-queued after push", + "checks": "bugbot+deep-review; vitest ui-primitives+ui-v2 60p; verify:cheap 5448p; verify:pr-local format+lint+typecheck+test+build+rag-fixtures; no provider gates" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1483", - "head": "75253f8fbc1660c5234447e03a758879bfa7bcca", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1483 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-07-28", + "ref": "`codex/search-performance-correctness-20260727`", + "head": "7ae4eb49339fc334540912c173a7d2bed4dd5a8b", + "scope": "Local integration review of Documents and shared-search correctness and latency fixes", + "outcome": "APPROVE. Removed the sequential document typeahead enrichment query, deferred narrow-screen cross-mode requests until expansion, prefetched only the mode a user targets, separated in-document search from answer generation, keyed results to their response query, and made document matching boundary-aware. Local `main` was one disjoint documentation/mockup commit ahead; `git merge-tree --write-tree` and the no-commit merge were clean with no overlapping feature paths. No P0-P3 finding remains. Residual risk is live Supabase/OpenAI behavior, which was intentionally not exercised.", + "checks": "Feature `verify:cheap` PASS (25 gates; 393 files; 3,543 passed / 2 skipped); feature `verify:pr-local` PASS including production build/client-secret scan and 36 offline RAG fixtures; full feature Chromium 321/323 exposed two follow-ups, then exact final production Chromium PASS 3/3; feature final TypeScript PASS; focused search regressions PASS 186/186 before commit and again on the integrated tree. Integrated primary typecheck was not completed: its stale generated `.next/dev/types` cache was malformed, then coordinator leases blocked clean reruns; no tracked-source typecheck failure occurred. No provider-backed checks." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1488", - "head": "e202238f7005b23e6b72a25102e5c87efc3293d3", + "date": "2026-07-13", + "ref": "codex/pr-488-fixes", + "head": "7afb4d06c8127341cc91ed178b79b059935fea05", "scope": "branch-cleanup", - "outcome": "useful content consolidated or superseded; safe local cleanup", - "checks": "ledger-only unique PR #1488 review record copied to consolidation branch; clean inactive worktree; batch10 bundle verified" + "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-488-fixes; git diff --name-only reported 65 path(s)." }, { - "date": "2026-07-30", - "ref": "codex/review-pr1492", - "head": "3b50cc310a444d64b3f28b62c3e96ed284ec0c75", - "scope": "branch-cleanup", - "outcome": "local worktree HEAD is contained in final merged PR #1492 head; archived in verified batch5 bundle", - "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" + "date": "2026-08-18", + "ref": "claude/clinical-guide-footer-search-4l54hp", + "head": "7b2aee6aeaee99c8ab56112af1f3d5dda34d3cb8", + "scope": "prlanded", + "outcome": "approved", + "checks": "squash 7b2aee6 content diff vs branch tip ea132c1 empty - nothing orphaned. CI run 32181431013 all green including Production UI 1 2 3 and critical, Unit coverage, Lighthouse budget, PR required. Browser contract in guide-centre-chrome.spec.ts executed and passed for the first time" }, { - "date": "2026-07-30", - "ref": "codex/review-pr1494", - "head": "7b96a09b8500adc917cf5549b1c61142b2244b39", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1494 head; inactive clean worktree archived in verified batch1 bundle", - "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + "date": "2026-08-25", + "ref": "claude/settings-page-review-optimize-bicxn9", + "head": "7b35bb382ea52ed5aadc85845ed25409475f7b52", + "scope": "PR #2364 Codex P2 preference sync + main merge", + "outcome": "Supersedes accf3563 record after ledger-commit tip. Same preference-sync fixes; HEAD includes immutable review record. Three Codex P2 threads resolved (reply API 403). mergeable MERGEABLE; CI in flight on 7b35bb38.", + "checks": "vitest 9 passed preference tests; typecheck pass; maintainability budgets pass; CI subscribed" }, { - "date": "2026-07-30", - "ref": "codex/sync-ci-anti-churn", - "head": "4f99c6d6dbcd4d2c16d5ec58183003c64d989ac8", - "scope": "issue 145 anti-churn guidance", - "outcome": "approved: guidance now covers both pushes and sync mutations without weakening cancellation", - "checks": "check:outstanding-issues; prettier AGENTS; diff check" + "date": "2026-07-31", + "ref": "claude/warning-consolidation-mockups-09jyj7", + "head": "7b41fcf581085872da76270b109e2795c6940677", + "scope": "PR #1437 warning consolidation mockups reopen prep", + "outcome": "ready-closed: main merged clean; follow-ups renumbered #155-#157; bugbot P2s fixed; origin insteadOf false-positive fixed; verify:pr-local green (444/4646)", + "checks": "verify:pr-local;check:outstanding-issues;merge-tree:clean;pr-bugbot;diff-review" }, { "date": "2026-07-30", - "ref": "codex/sync-ci-anti-churn", - "head": "4fdc4ba99f94a369702c747b104fa4eaf48cb53e", - "scope": "branch-cleanup", - "outcome": "exact merged PR #1492 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "ref": "codex/outstanding-local-batch-final", + "head": "7b63c28ca6ff9ab2f3599197ee6811292958e2c2", + "scope": "final upload env fixture correction", + "outcome": "Reviewed the contextual ProcessEnv construction after hosted readonly-property failure; no unresolved finding.", + "checks": "Prior hosted Build, Unit coverage, Production UI critical, containers and lint passed; exact-head typecheck rerun pending." }, { - "date": "2026-07-30", - "ref": "cursor/ci-hygiene-gates-1bf5", - "head": "0d70de480f370fec3e7f3774f13d906318a09b3c", - "scope": "pr-1413-merge-readiness", - "outcome": "READY: synced with main/#1409; tip CI success incl PR required; draft; deferred #093 + CI_TRIAGE_ENABLED", - "checks": "merge-tree:clean;ci-cache-safety:13/13;hosted:30520195863:success;PR-required:pass" + "date": "2026-08-11", + "ref": "claude/filter-popup-design-mockups-x6sbjv", + "head": "7b64f2559741a9f353adcf939745831e0daff7db", + "scope": "services filter sheet redesign mockups (3 directions, desktop+phone)", + "outcome": "PR #1828 opened; design-scratch route only, no production behaviour change", + "checks": "verify:pr-local (1 pre-existing root-uid test failure, reproduced on origin/main 046feb3), build, check:rag:fixtures, check:bundle-budget both baselines within tolerance, 320px 0px overflow" }, { - "date": "2026-07-30", - "ref": "cursor/ci-hygiene-gates-1bf5", - "head": "8f3283d00da274dee507a1b8e9b611321d1f35be", - "scope": "pr-1413-merge-readiness", - "outcome": "READY after main sync + cancel-to-green fix; draft until tip CI green; deferred #093 + CI_TRIAGE_ENABLED confirm", - "checks": "verify:cheap:4481-pass;format:outstanding-issues;merge-tree:clean;cancelled:!cancelled();hosted:awaiting-tip" + "date": "2026-07-22", + "ref": "PR #1084 / `codex/reconcile-bulk-reindex`", + "head": "7b7737bd63b9dcd3ba820379a54cfc11595d6e98 (merged as 589fb9b99e18061782b0c7b3fa6b14fa0e8388d5)", + "scope": "Bulk reindex partial-success contract", + "outcome": "MERGED. Completed mixed batches return HTTP 200 with successful, failed and missing results; preflight-wide conflicts retain non-2xx behavior; UI reports counts and refreshes successful work.", + "checks": "Red deletion-race proof; focused 127/127; `verify:cheap` 3,207 passed / 1 skipped; PR-local build/scan/offline RAG; hosted green." }, { - "date": "2026-07-30", - "ref": "cursor/ci-hygiene-gates-1bf5", - "head": "ad9da6a6f8ba3884b389fa78e678bb88ee72d9d1", - "scope": "ci-hygiene-gates", - "outcome": "implemented matrix unblock, scope narrow, cancelled≠failure, pinned gitleaks, critical-first UI, eval:rag:offline; skipped #093; verify:cheap 4471 pass", - "checks": "verify:cheap,check:ci-scope,check:gitleaks-pinned,check:gate-manifest,eval:rag:offline" + "date": "2026-07-28", + "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", + "head": "7b968d695c4545e1677c2e7f136172ef686d0012", + "scope": "CI/review closeout: loadError split + adoption mode homes", + "outcome": "FIXED new Codex P2s. Separated account loadError from mutation error; expanded band adoption to mode href pages + 2-hop reach; prior #024/favourites-counts/therapy-retry threads already resolved. Merge-tree clean vs main (0 behind). Bugbot earlier pass had no P0/P1 on prior WIP.", + "checks": "vitest favourites-account-retry + adoption + hub (10); typecheck; full suite 4232/4 prior tip" }, { "date": "2026-07-30", - "ref": "cursor/ci-hygiene-gates-1bf5", - "head": "b660dbc5a10d7ca3da03541028017f0abc6b5bd3", - "scope": "ci-hygiene-gates merge-readiness", - "outcome": "findings", - "checks": "check:ci-scope;check:gitleaks-pinned;scope-classify PR files ui_changed=false;sim cancelled-as-neutral" + "ref": "codex/review-pr1494", + "head": "7b96a09b8500adc917cf5549b1c61142b2244b39", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1494 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-30", - "ref": "cursor/ci-hygiene-gates-1bf5", - "head": "b660dbc5a10d7ca3da03541028017f0abc6b5bd3", - "scope": "ci-hygiene-gates-merge-readiness", - "outcome": "NOT READY: cancel-to-green behavior still allowed required PR CI to pass incorrectly; fixed at subsequent head 8f3283d00da274dee507a1b8e9b611321d1f35be", - "checks": "check:ci-scope; check:gitleaks-pinned; scope-classify PR files ui_changed=false; cancelled-as-neutral simulation exposed #095" + "date": "2026-07-31", + "ref": "claude/pre-commit-fail-open", + "head": "7b96a09b8500adc917cf5549b1c61142b2244b39", + "scope": "pre-commit hook fail-open when the inventory script is absent", + "outcome": "MERGED as PR #1494 (squash 387c3b653). Resolves ledger #153: core.hooksPath is absolute to the primary checkout, so the hook ran in worktrees lacking scripts/update-docs-inventory.mjs and aborted with MODULE_NOT_FOUND. Guard drops the inventory task and re-checks the all-tasks-empty exit; grep carries || true because set -e treats a fully-filtering grep as failure", + "checks": "isolated-repo probe with the script genuinely absent: prints skipping inventory sync, commit succeeds; sh -n clean; no-op when the script is present; prettier does not parse shell so format:check skips it" }, { - "date": "2026-07-30", - "ref": "cursor/ci-testing-review-1bf5", - "head": "13c16cf07c854b50daa35a2ef2a2ea76d5e059e1", - "scope": "ci-testing-approach", - "outcome": "Corrects the ref cell from the unresolved placeholder \"HEAD\" to the actual branch name, so ledger:lookup can match this review by branch (Codex P2 finding on PR #1406).", - "checks": "node scripts/branch-review-ledger.mjs lookup cursor/ci-testing-review-1bf5 --scope ci-testing-approach" + "date": "2026-08-09", + "ref": "claude/m3-token-debt-262-261", + "head": "7bac3bd762b381cb25c9b2a15ef3bb7223d15b16", + "scope": "PR #1780 review-and-fix", + "outcome": "fixed P2 ratchet bypasses (arbitrary-property classes, CSS-consumer exemption anti-rot, modern CSS zero units); Bugbot clean; merge-tree clean; required CI was green on prior tip", + "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption fail→restore; verify:cheap PASS (549 files / 5933 tests); verify:pr-local stages PASS (test flake in design-system-adoption timed out once then 51/51 + full test 549/549 + check:rag:fixtures PASS); no provider gates" }, { - "date": "2026-07-30", - "ref": "cursor/pr-1394-ledger-closeout-c2bf", - "head": "f734dc4d4c8b19d5fec43bbd388c2a421e47668a", - "scope": "PR #1399 babysit / CI+Bugbot closeout", - "outcome": "MERGE-READY. No failing CI, no unresolved review threads, merge-tree clean vs origin/main, Bugbot no bugs. Docs-only ledger append for merged #1394; no code fix required.", - "checks": "hosted PR required SUCCESS; Static PR SUCCESS (lint/typecheck/format/ledger); CircleCI verify SUCCESS; local check:branch-review-ledger PASS; prettier PASS; lint PASS; Bugbot pr-bugbot no findings" + "date": "2026-08-17", + "ref": "gemini/test-infra-tooling-hardening (PR #2030)", + "head": "7bcd354401fb2cd4f5b3f328c3f61765db03cace", + "scope": "Run PR sweep: threads + drift", + "outcome": "Fixed 5 of 6 CodeRabbit review threads (3 Major, 2 Minor): (1) findBranchTouchedRowIds() in check-ledger-stamp-retention.mjs only iterated commit-side rows and compared 3 of 7 fields, so a deleted ledger row was never marked touched — now iterates the union of base/commit IDs and compares raw+section. (2) checkLedgerStampRetention() silently reported ok:true/0-touched on an unresolvable merge-base instead of failing closed — now returns an explicit error, and the CLI path prints it before touching lostCount/lost. (3) readExpectedBrowserRevisions() in check-playwright-browser-revision.mjs silently omitted a browser family missing a revision instead of failing — now fails closed for chromium/firefox/webkit, with a new regression test. (4) tests/search-route-round-trip-budget.test.ts's non-vacuity guard asserted counter.total()>0 (also counts rate-limit/metadata/telemetry RPCs) instead of the two actual retrieval RPC names. (5) Added the missing check-ledger-stamp-retention.mjs entry to docs/scripts-index.md. Declined 1 finding (--filter option) as a false positive — no docstring, --help text, doc, or test anywhere advertises a --filter option for this script; replied asking the reviewer/owner to point at the source if one exists, left that thread open. CI was mid-run at first snapshot (Container images + 2 Production UI jobs in progress); pushed once assembled rather than mutating mid-run. Not behind main.", + "checks": "node scripts/check-ledger-stamp-retention.mjs --self-test passed; live run + deliberately-bad --base ref confirmed fail-closed behavior. node scripts/check-docs-links.mjs and update-docs-inventory.mjs --check passed. Vitest additions (2 new tests) not locally run (no Node 24/vitest install in this sandbox) — left for CI to verify. No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", - "head": "2a31fcee0ef2e330a4901481c0810103d89c96cf", - "scope": "process anti-conflict merge readiness", - "outcome": "NOT READY. CI green on stale head, but merge-tree vs current main is CONFLICTING in ci.yml, package.json, and add/add on check-outstanding-issues.mjs after #1410 landed a stronger #112 gate. Keep unique value: AGENTS anti-conflict procedure, #116 PR mergeability workflow, merge=union on outstanding-issues (explicitly still open after #1410). Drop duplicate weaker outstanding-issues checker; re-verify after sync.", - "checks": "ledger:lookup NOT REVIEWED; merge-tree dirty vs origin/main; ManagePullRequest CI SUCCESS (15 ok / 0 fail, Production UI skipped as non-UI); local verify:pr-local earlier on pre-conflict head 4467 passed" + "date": "2026-07-26", + "ref": "PR #1187 / `cursor/fix-mode-switch-lag-22f6`", + "head": "7bceebf562dc6700091964996a6e2749b0d63df6", + "scope": "Open-PR hygiene: close unfixed P1 + heavy conflicts", + "outcome": "CLOSED. Prior P1 still present (`isDashboardModeHref` Documents early-return). 177 behind; conflicts in globals.css/ClinicalDashboard/search chrome. Re-implement on fresh main if mode-switch thrash still needed.", + "checks": "Confirmed guard still on head; merge-tree conflicts; close+comment. No provider calls." }, { - "date": "2026-07-30", - "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", - "head": "387ffd07887f1160fca8fe98c1c4809e852531ae", - "scope": "process anti-conflict merge readiness", - "outcome": "READY after sync with main. Kept #1410 structural outstanding-issues gate; added merge=union + runtime attr check; retained #116 PR mergeability workflow and AGENTS anti-conflict playbook; dropped duplicate weaker checker/test. merge-tree clean vs origin/main.", - "checks": "merge-tree clean; check:outstanding-issues pass; check:pr-mergeability pass; check:gate-manifest pass; verify:pr-local pass" + "date": "2026-08-18", + "ref": "claude/database-drift-remeasure-phase2-7c4215", + "head": "7bde7002369b40828694019951994b596ee3ef8c", + "scope": "Phase 2 re-measure: staging migration parity + check:drift against current main (#056)", + "outcome": "Applied the single missing migration 20260818090000 to staging by the Phase 2 execute_sql+explicit-history-row method (md5 839bed0b741cb75b79f6eb0c46ed0a50, byte-identical; staging now 195 rows, latest 20260818090000, zero statements IS NULL, empty two-way diff, documents/chunks still 0). check:drift against staging with the current manifest exits 1 with the SAME 19 findings as Phase 2 - same categories, keys and hash pairs. Two new non-finding observations: snapshot v2 migration_history probe reports ok with zero rows (0 findings), and five production-scoped migration_history allowlist entries report stale against staging, so --prune-stale must not be run there. schema_drift_snapshot itself is absent from the mismatches, confirming PR #2058's migration and its schema.sql mirror agree. Measurement only: no drift fixed, no vault secret seeded, production sjrfecxgysukkwxsowpy never a target. Docs+inbox only; #056 update queued, #316 untouched.", + "checks": "verify:pr-local (11/11 completed, none failed); docs:check-links 1881 refs; format repo-wide + prettier --check clean; ledger inbox check 2 pending/251 applied; outstanding-issues guard 361 rows; ledger write discipline passed" }, { - "date": "2026-07-30", - "ref": "cursor/process-anti-conflict-speed-1edf / PR #1416", - "head": "38ae07b989e6414026235debad0e429ba64cf462", - "scope": "process anti-conflict merge readiness", - "outcome": "READY at final tip. Same as prior READY plus this ledger append only; merge-tree still clean vs origin/main.", - "checks": "merge-tree clean; verify:pr-local on 387ffd07 parent (4480 passed); tip is ledger-only follow-up" + "date": "2026-08-25", + "ref": "backup/pr-2333-prelinear-20260824", + "head": "7c5bb84e45d6925c6950cf5b96fff3a8cc479a7b", + "scope": "pr-ci-fix", + "outcome": "Fixed: prettier format:changed; PR_POLICY_BODY sync for Clinical Governance Preflight; empty commit retriggered PR Policy after body sync race. Review threads already resolved (fb8adf92). Required checks green (PR policy, Static PR, PR required). mergeStateStatus BEHIND vs moving main — merge-tree clean.", + "checks": "vitest:54/54; prettier:pass; pr-policy:pass; static-pr:pass; pr-required:pass" }, { - "date": "2026-07-30", - "ref": "cursor/safe-branch-cleanup-78a8", - "head": "c5190f38834ef2e928edc4876d971aa9d5d69fe7", - "scope": "open PR changed-scope review", - "outcome": "APPROVE after fixes: cleanup refs are discoverable, provider evidence is accurate, and issue 108 closure is preserved against current main.", - "checks": "check:branch-review-ledger PASS; check:outstanding-issues PASS; two review threads resolved" + "date": "2026-07-31", + "ref": "origin/claude/clinical-design-system-update-e34ca9", + "head": "7c7a5263ee44f4a4a2bfa2b0381b76d7d9a9c3b1", + "scope": "branch-cleanup", + "outcome": "safe remote delete: PR #1375 merged; unique post-head commit is its preserved review row and later merge only imports main; archived batch15", + "checks": "PR-head ancestry; first-parent inspection; bundle verify" }, { "date": "2026-07-30", - "ref": "dba7356fc8dc926d951d6de6f019d5b8e000be21", - "head": "dba7356fc8dc926d951d6de6f019d5b8e000be21", - "scope": "X3 hydration unit: per-request hydration extraction from rag.ts into rag-hydration.ts (PR #1463)", - "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 4780->4543, budget ratcheted to 4543, no back-edge, both public re-exports preserved. Supersedes the earlier row for this HEAD, which was keyed only to the slash-form branch token and so returned NOT REVIEWED on a landed-SHA lookup; it also mislabelled the unit as #101, which is the unrelated open canary-gated retrieval-parallelisation recommendation", - "checks": "typecheck, lint, check:knip, check:maintainability-budgets 4543/4543, focused vitest 83/83, eval:rag:offline 572/572 36 golden, format:check, verify:cheap 442 files 4625 passed, verify:pr-local, post-merge content verification on main" + "ref": "PR-1432", + "head": "7c7b63cf40d59652954e539ce1b3027005916bf1", + "scope": "PR #1432 Playwright browser preflight final exact-head review", + "outcome": "fixed existing project-isolation contract after preflight refactor; no remaining findings", + "checks": "preflight and isolation Vitest 9/9; typecheck pass; Prettier and diff checks pass" }, { - "date": "2026-07-30", - "ref": "HEAD", - "head": "13c16cf07c854b50daa35a2ef2a2ea76d5e059e1", - "scope": "ci-testing-approach", - "outcome": "findings: UI-load flake #093 dominates PR reds; schedule full-sentinel blocks release-browser via audit; UI scope overfires on src/app/api; ~40% PR runs cancelled wasting ~12 UI-hrs; CI_TRIAGE inert; eval:rag:offline claimed-in-CI but only fixtures run", - "checks": "gh-ci-500-runs,ci.yml,ci-change-scope,testing.md,process-hardening,outstanding-issues-093-095-097-023,flake-ledger-empty" + "date": "2026-08-05", + "ref": "cursor/privacy-page-mockups-2ff6", + "head": "7c82f92a447986178ba12d6f8b7a447bb63e91ef", + "scope": "Run PR sweep", + "outcome": "resolved privacy/page conflict with #1621 standalone shell; fixed Devin double scroll-pad + scrollIntoView yank", + "checks": "merge resolved; prettier" }, { - "date": "2026-07-30", - "ref": "main", - "head": "8b27cb4b69b41948a64f91cbbf4b487e5f789b39", - "scope": "maturity-tests-packages-audit", - "outcome": "high-maturity; recommend targeted account-route tests + python packaging + #040 visual baselines; avoid new framework packages", - "checks": "read-only inventory of package.json, vitest.config.mts, tests/, worker/python, docs/audit/2026-07-20-repository-maturity.md, docs/maturity-backlog-workorders.md, docs/outstanding-issues.md; no provider checks" + "date": "2026-07-28", + "ref": "PR #1310 / claude/branch-review-ledger-fixes-42575f", + "head": "7c870c139211a419fe8b4dfacae3195a7a7caa2b", + "scope": "PR babysit: CI + Codex P2s + Bugbot-equivalent", + "outcome": "Hosted PR required SUCCESS on 7c870c13. Fixed 3 Codex P2s (exact scope match, supersede mints distinct scope, verify full SHAs via git rev-parse) plus n/a-embedded hex and parenthetical ref-token false matches. 3 review threads replied+resolved. Mergeable; 0 behind main. Hosted Cursor Bugbot check not produced — bot-authored bugbot run/cursor review comments ignored; local Bugbot-style review done and defects fixed.", + "checks": "check:branch-review-ledger PASS; vitest repo-hygiene 25/25; lint; typecheck; full vitest 4133 pass; hosted Static/Unit/Build/Safety/PR-required SUCCESS. No provider-backed gates." }, { - "date": "2026-07-30", - "ref": "origin/apply-audit-remediation-protocol", - "head": "046cb38ad45411c5f539636d4c976b25195f7bbd", - "scope": "branch-cleanup", - "outcome": "RETAIN. Closed PR #1338; tip still has unique files main lacks (motion-tokens.ts, use-overlay-presence.ts) plus stale sheet/globals diffs. Not empty vs main; do not delete.", - "checks": "ledger lookup; cherry-pick+three-dot; blob existence on main; gh PR #1338 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-07-19", + "ref": "cursor/pr-policy-body-cleanup-f46b (PR #942) + PR #933 closeout", + "head": "7c8e6aadf0890b143372fb96f13d9de47a416db9", + "scope": "post-merge CI triage for #933 PR-policy red check", + "outcome": "PR #933 product merge (`bd864de0`) already on main with green post-merge main CI (Static/Unit/Build/Production UI/SAST/Docker). Sole remaining red check on #933 was post-ready PR policy against a stale synced body with unchecked governance boxes (from leftover `PR_POLICY_BODY.md` introduced by #932). Token cannot edit merged PR bodies (403). Removed the stale template via #942 so Sync PR policy body no longer reapplies unchecked governance. Local composer regression 6/6 on main; reserve unit 11/11. No product regression.", + "checks": "Hosted #933 pre-merge + main push green; #942 required checks green then squash-merged; focused Chromium composer 6/6; reserve Vitest 11/11. No OpenAI/Supabase provider calls." }, { - "date": "2026-07-30", - "ref": "origin/audit-remediation", - "head": "5c6cef2fec5f4457dc46c0dc0e758d259e0c1dc8", - "scope": "branch-cleanup", - "outcome": "RETAIN. PR #1153 merged earlier but tip still differs from main on test-run-lock wait semantics, PDF extractor empty-stderr path, and related tests. Unique content not absorbed; keep until ported or rejected.", - "checks": "ledger lookup; cherry-pick+blob equality vs main; gh PR #1153 MERGED; open=0; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-07-28", + "ref": "PR #1304 / `fix-test-run-lock`", + "head": "7cc32c053c752bef19f3de408a1376428e54af74", + "scope": "CI babysit: sync main", + "outcome": "FIXED. GitHub CONFLICTING/DIRTY was staleness only (`git merge-tree` CLEAN; 7 behind). Merged origin/main. Required CI was already SUCCESS on prior tip `e6b826ed`; no product conflicts. Unique vs main remains knip.json (+ ledger). Bugbot/review threads: none unresolved.", + "checks": "merge-tree CLEAN; merge origin/main; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "origin/circleci-project-setup", - "head": "9a55990053e26c02703b1ec9f2523a7c85e21e14", - "scope": "branch-cleanup", - "outcome": "REJECTED and deleted remote. Unique tip only changed trailing newline on obsolete .circleci hello-world config; CircleCI removed from main in PR #1412. No open PR.", - "checks": "fetch --prune; three-dot + tip inspect; gh pr list open=0; main has no .circleci; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-07-28", + "ref": "PR #1304 / fix-test-run-lock", + "head": "7cc32c053c752bef19f3de408a1376428e54af74", + "scope": "CI babysit: sync main", + "outcome": "SUPERSEDED (documenting stale-CI ledger error). Prior row for this HEAD incorrectly treated hosted required-CI SUCCESS on earlier tip e6b826ed9150f312c2e7a957f715019e73a7f0be as verification of this later merge commit 7cc32c05. No hosted required-CI result exists for this exact SHA. This ref has since advanced; the later row at 463e5c0adc77fe722e20376666f5991db3e288d9 recorded exact-tip hosted CI SUCCESS, so this commit's status is historical/superseded.", + "checks": "No hosted CI run on this exact HEAD; prior row reused results from e6b826ed; corrective ledger entry only." }, { - "date": "2026-07-30", - "ref": "origin/codex/document-reader-condensed-view", - "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", + "date": "2026-07-13", + "ref": "origin/claude/production-deployment-setup-d83ef8", + "head": "7cca301849908889f963c361980c378e3aaff07f", "scope": "branch-cleanup", - "outcome": "safe to delete — tip tree identical to merge-base tree (855aa291), so the branch nets zero content change vs main; --cherry-pick shows 13 commits, a squash-merge false positive", - "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #511; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "origin/codex/document-reader-condensed-view", - "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", - "scope": "branch-cleanup (supersedes 2026-07-30)", - "outcome": "safe to delete — merge-base 855aa291 is an ANCESTOR of main and tree(tip)==tree(855aa291), so every byte at the tip exists in main's history; the 13 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", - "checks": "git merge-base --is-ancestor 855aa291 origin/main = YES; tree(tip)==tree(855aa291); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" + "date": "2026-07-24", + "ref": "implement-audit-recommendations-fix (PR #1141)", + "head": "7cd9d428a9c2c8c1ba22af2c1d6c4725334221c8", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "origin/css-layout-audit-report", - "head": "5fa061a32b0c56c447d3bd7f444869eadbfc434e", - "scope": "branch-cleanup", - "outcome": "RETAIN. Related CSS layout work merged via #1296, but tip blobs still differ from main on globals.css, AccessibleTable, source-preview-popover, settings-search mockup. Not empty; keep.", - "checks": "ledger lookup; cherry-pick; per-file blob equality vs main; gh related #1296 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-07-28", + "ref": "claude/navigation-pane-mockups-0600af", + "head": "7cde973ac8983daef4b274618e83a706bcb9a22a", + "scope": "PR #1311 CI/review fix", + "outcome": "Supersedes prior: merged main (clean), fixed CodeRabbit section-spy test harness/assertions; 0 unresolved threads; mergeable; Static/CircleCI previously green on prettier head", + "checks": "vitest document-section-nav 8/8; merge-tree clean vs origin/main; format:check prior PASS; verify:cheap prior PASS" }, { - "date": "2026-07-30", - "ref": "origin/cursor/page-anchored-search-composer-30ee", - "head": "7ff134ca7f614db527b8d142676640305533669d", + "date": "2026-07-13", + "ref": "claude/perf-r2-network-caching", + "head": "7cea28560ae57777e449d672a265a20b4c11b44f", "scope": "branch-cleanup", - "outcome": "safe to delete — tip tree identical to merge-base tree (79d1c879), so the branch nets zero content change vs main; --cherry-pick shows 6 commits, a squash-merge false positive", - "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" + "outcome": "Redundant: exact source HEAD was squash-merged by PR #479; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "origin/cursor/page-anchored-search-composer-30ee", - "head": "7ff134ca7f614db527b8d142676640305533669d", - "scope": "branch-cleanup (supersedes 2026-07-30)", - "outcome": "safe to delete — merge-base 79d1c879 is an ANCESTOR of main and tree(tip)==tree(79d1c879), so every byte at the tip exists in main's history; the 6 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", - "checks": "git merge-base --is-ancestor 79d1c879 origin/main = YES; tree(tip)==tree(79d1c879); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" + "date": "2026-07-11", + "ref": "PR #473 / claude/mobile-search-bar-popup-bx163m", + "head": "7cef01852a9713ec51184578868212df5805adbf", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "P1 merge-conflict markers removed from the shared search header while retaining the all-viewport hero portal and inline fallback. P2 fixed: phone-hidden command results can no longer open, report expanded state, receive keyboard navigation, or execute an invisible selection. The launcher and global-shell conflict findings were already resolved at the reviewed head.", + "checks": "No conflict markers; TypeScript; focused Prettier; app-mode/search/universal-search Vitest (37/37); `git diff --check`. Browser proof delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." }, { - "date": "2026-07-30", - "ref": "origin/cursor/pr-1379-babysit-ledger-9365", - "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", - "scope": "branch-cleanup", - "outcome": "safe to delete — tip tree identical to merge-base tree (b2740480), so the branch nets zero content change vs main; --cherry-pick shows 4 commits, a squash-merge false positive", - "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" + "date": "2026-07-29", + "ref": "codex/document-reader-condensed-view", + "head": "7cefb24e99f9745a61843c7e48c4889f7324ec42", + "scope": "pr-1380-main-merge-coderabbit-density", + "outcome": "merged origin/main; resolved source-panels conflict (kept condensed details + tracking-eyebrow); density in-memory fallback when storage blocked; summary keys + search/plain compact tests; local vitest/lint/typecheck/format/playwright condensed pass; awaiting hosted CI", + "checks": "vitest document suites 20/20; lint; typecheck; format:check; playwright condensed 4/4; merge-tree clean" }, { - "date": "2026-07-30", - "ref": "origin/cursor/pr-1379-babysit-ledger-9365", - "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", - "scope": "branch-cleanup (supersedes 2026-07-30)", - "outcome": "safe to delete — merge-base b2740480 is an ANCESTOR of main and tree(tip)==tree(b2740480), so every byte at the tip exists in main's history; the 4 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", - "checks": "git merge-base --is-ancestor b2740480 origin/main = YES; tree(tip)==tree(b2740480); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" + "date": "2026-07-31", + "ref": "codex/chat-frontend-skill-selection-0978", + "head": "7cf0505be4423f6856e45a6a87e9433fcae72462", + "scope": "PR #1460 review+bugbot+fix", + "outcome": "no findings; sync cleared GitHub DIRTY (merge-tree was behind-but-clean); tip delta ledger-only; product brace-expansion already on main via #1456; no Bugbot/actionable threads", + "checks": "merge-tree clean; check:branch-review-ledger PASS; required CI pending after sync push; prior missing checks while DIRTY not green" }, { - "date": "2026-07-30", - "ref": "origin/execute-audit-code-remediation", - "head": "3470279fba23ad442d59d34552eb576e87f24141", + "date": "2026-07-13", + "ref": "claude/search-page-redesign-d50902", + "head": "7d077a1d5fc3cbd7238bc8dc3f33733000684261", "scope": "branch-cleanup", - "outcome": "REJECTED and deleted remote. PR #1162 already merged; sole unique commit was a ledger CI-green row already present on main (edcd17a1…). No open PR; no unique product content.", - "checks": "fetch --prune; cherry-pick log; tip-to-tip/three-dot; grep ledger for edcd17a1; gh pr 1162 MERGED; open=0; GitHub reads explicitly authorized; no non-GitHub provider checks." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #501; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "origin/execute-audit-remediation-fixes", - "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", - "scope": "branch-cleanup", - "outcome": "RETAIN. Closed PR #1352 (earlier #1305 merged from same name). Tip still has 33-file unique three-dot diff vs main; several added paths now exist on main via other merges but residual patch remains. Keep.", - "checks": "ledger lookup; cherry-pick+name-status; path existence on main; gh #1352 CLOSED #1305 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-08-07", + "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", + "head": "7d3e62677ae178952aeca82048b492c4b84eaf05", + "scope": "prlanded", + "outcome": "MERGED; tip tree empty vs squash 7d3e6267; remote branch deleted", + "checks": "prlanded content verify; no provider-backed checks" }, { - "date": "2026-07-30", - "ref": "origin/execute-audit-remediation-plan", - "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", + "date": "2026-07-14", + "ref": "claude/pt-audit-monitor-marker-fix", + "head": "7d41cbe5a42b9a7f90d15ad3e80cdca6596548e0", "scope": "branch-cleanup", - "outcome": "RETAIN at new HEAD (prior branch-cleanup deletion was a different tip). Closed PRs #1255/#1188; tip still has 30-file unique three-dot content vs main. Keep until ported or explicitly rejected.", - "checks": "ledger lookup (earlier DELETED at 8b863911); cherry-pick; gh CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`; clean worktree removal." }, { - "date": "2026-07-30", - "ref": "origin/execute-audit-remediation-tasks", - "head": "bdcf8d5c1f14c927bf5b71aaacd34d006856da4f", + "date": "2026-07-14", + "ref": "origin/claude/pt-audit-monitor-marker-fix", + "head": "7d41cbe5a42b9a7f90d15ad3e80cdca6596548e0", "scope": "branch-cleanup", - "outcome": "RETAIN. Closed PR #1347; tip adds check-answer-quality-thresholds.ts and check-cost-cap-preflight.ts that main lacks, plus other diffs. Keep.", - "checks": "ledger lookup; cherry-pick; MAIN_LACKS path check; gh #1347 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; local ref and worktree were removed." }, { - "date": "2026-07-30", - "ref": "origin/execute-typography-audit-fixes", - "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", - "scope": "branch-cleanup", - "outcome": "RETAIN. Closed PR #1185 (clean successor #1294 merged); tip blobs still differ from main on globals.css and mockup typography tweaks. Not empty; keep.", - "checks": "ledger lookup; cherry-pick; blob equality; gh #1185 CLOSED #1294 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "date": "2026-08-24", + "ref": "dependabot/docker/docker-images-263a700181 (PR #2326)", + "head": "7d57ac89d4f96fd7bb8d2044b41962c6a39d457f", + "scope": "Run PR sweep: diagnosis only", + "outcome": "before: PR required failing. Root cause confirmed via job logs: Docker image bump from node:24-bookworm-slim to node:26-bookworm-slim breaks the repo's engine-strict Node 24 pin (package.json engines >=24.15.0 <25) -- npm ci fails with EBADENGINE (Actual node v26.7.0). This is a genuine incompatibility, not a fixable CI flake: bumping past Node 24 needs a coordinated change across package.json engines, CI runner Node version, and setup scripts, which is out of scope for an automated dependency-bump sweep. No fix attempted per explicit task instruction; recommend the PR owner close or defer this PR until the repo is ready to move off Node 24. No unresolved review threads. No branch drift action taken (mergeable_state was 'behind' but fixing it would not change the outcome).", + "checks": "diagnosed via mcp__github__get_job_logs on the failing Container images / build-and-verify job; no local reproduction attempted (would require building a node:26 image against this repo's Node-24-pinned toolchain, which is the exact incompatibility being reported, not verification); no provider-backed checks run" }, { "date": "2026-07-30", - "ref": "origin/implement-audit-design-fixes", - "head": "dda4a42baa34e28f12d1e676fcabdbdfaef820c8", - "scope": "branch-cleanup", - "outcome": "RETAIN. Closed PR #1263; tip still carries unique not-found/error route files and a large three-dot diff vs main. Keep.", - "checks": "ledger lookup; cherry-pick; path existence; gh #1263 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." + "ref": "codex/ledger-next-20260730", + "head": "7d6a341b1ac0efdf001bf06146a297bd2cb2cb4c", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1486. No remaining P0-P2 findings; #141 and #144 are archived from the implemented PR #1480 evidence, and current-main outcomes for #091, #128, and #134 are retained without changing source behavior.", + "checks": "docs-only main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 50 open / 96 archived PASS; branch-review ledger PASS; prior combined-tree verify:cheap 32 gates PASS" }, { - "date": "2026-07-30", - "ref": "origin/main", - "head": "3569e7888bba5d11f143f27c11eb9bfa58800e4f", - "scope": "dependency installation and CI reproducibility", - "outcome": "no P0-P2 findings; corrected stale setup-ui-e2e cache description", - "checks": "manifest-lock parity; Actions pins; merge-marker scan; merged PR 1360 diff" + "date": "2026-08-14", + "ref": "PR-1951", + "head": "7d70c74cc5449d577df3895aa766ad31f3204045", + "scope": "tests/live-drift-workflow.test.ts; docs/outstanding-issues-inbox; docs/branch-review-records", + "outcome": "preserved prior test fixes; merged latest main; cancelled superseded #331/#333 ledger mutations to restore deterministic queue application", + "checks": "manual adversarial review; current thread verification; docs links passed; ledger inbox passed; ledger guards passed; git merge-tree; git diff --check; focused Vitest unavailable (node_modules absent)" }, { - "date": "2026-07-30", - "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", - "head": "0d47141fc030684299dcb265e3d853c93b9e2a91", - "scope": "CI/review closeout — merged", - "outcome": "MERGED as squash `0d47141f`. Prior tip `4a001efa` had required CI green after prettier fix `61314887` (Static PR/CircleCI red on `#096` padding) and main sync. Layout/`/tools` false-positive fixed; `#115` deferred; review threads resolved. Post-merge ledger-only follow-up.", - "checks": "hosted Static/Unit/PR-required/CircleCI pass on pre-merge tip; vitest adoption 6/6; typecheck; Bugbot no open P0/P1; merge-tree clean" + "date": "2026-08-07", + "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", + "head": "7dd4ea9b1ce17777f2d0ac6bd95bb916cd69758f", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: DIRTY/PR mergeability fail, behind 2, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", - "head": "4a001efadedea6e8f8ad59ac7374ff9293cf7e14", - "scope": "CI/review closeout after format + main sync", - "outcome": "FIXED. Tip `66c5eb2c` failed Static PR / CircleCI solely on prettier padding in `#096` row; fixed on `61314887`. Main synced via `4a001efa` (shallow-clone inventory refusal from #1392). No open review threads; layout/`/tools` false-positive already fixed; `#115` remains deferred. No product-code change this pass.", - "checks": "format:check pass; Static PR pass; Unit coverage pass; PR required pass; CircleCI pass; vitest adoption 6/6; typecheck; Bugbot no open P0/P1; merge-tree clean vs main" + "date": "2026-08-17", + "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", + "head": "7df44e5c19c904247e0d0d1de40d338223820a95", + "scope": "Run PR sweep: drift sync", + "outcome": "CI already green (Static PR checks/Unit coverage/Build/Container images all success). Was behind main by 6 commits; synced via authenticated update-branch. No code fix needed, no review threads.", + "checks": "No local checks run — dependency-bump PR, CI already validated before sync; no provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", - "head": "8c39158d99876338613d5bb3195847fd253ef5ff", - "scope": "CI/review closeout: /tools page-only roots + thread disposition", - "outcome": "FIXED. Layout false-positive for `/tools` closed via `isStandaloneModeHomePath` in reachabilityRoots. Import-as-rendered finding left as `#115` (pre-existing; lint catches the plausible slip). Both Codex threads dispositioned. Merge clean vs main.", - "checks": "vitest adoption 6/6; full unit 4451 passed / 4 skipped; typecheck; prettier; Bugbot pr-bugbot" + "date": "2026-07-13", + "ref": "claude/session-skills", + "head": "7df745420b8178df0101a35b75f1af07fea2d558", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/session-skills; git diff --name-only reported 3 path(s)." }, { - "date": "2026-07-30", - "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", - "head": "d658f120253ac0a2dbfe1c9b1a14c6a0744af14d", - "scope": "CI/review closeout tip (supersedes 8c39158d row)", - "outcome": "FIXED layout `/tools` false-positive; `#115` deferred with human disposition; threads resolved; merge-tree clean; CI settling", - "checks": "vitest adoption 6/6; full unit 4451/4; typecheck; Bugbot" + "date": "2026-07-28", + "ref": "PR #1309 / `claude/gates-skill`", + "head": "7dfe103bfa408052c9e899211b8373c7ccb708d3", + "scope": "Conflict sync + Codex/CodeRabbit + Bugbot", + "outcome": "FIXED. GitHub CONFLICTING/DIRTY was main-staleness only (`merge-tree` clean); merged `origin/main`. Codex P2: skill wrongly claimed `verify:ui` exits 0 under heavy-lock contention — corrected to 15m queue then exit 1 via `run-playwright.mjs`; mirrored in AGENTS.md. CodeRabbit: marked `${PIPESTATUS[0]}` as Bash-specific. Bugbot: zero `cursor[bot]` findings; confirmed same P2. No CI failures on prior tip.", + "checks": "`prettier --check` PASS; `docs:check-links` 1287 PASS; no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "03b652bf6ed67e74d18bdc11d088e053584f0f78", - "scope": "Babysit: Static PR ledger dup + CodeRabbit overlay docs", - "outcome": "FIXED Static PR: removed exact union-merge duplicate ledger rows for #1394/#1399 (contract allows). Classified use-phone-overlay-chrome-reserve as shared foundation. Aligned invariant 6 with overlay constant-reserve exception. Disagreed CodeRabbit major to zero reserve on hide (would reintroduce the shift). MERGEABLE; 0 Codex unresolved; no Bugbot findings.", - "checks": "check:branch-review-ledger PASS; verify-phone-chrome+header-scroll-hide 36/36; typecheck; lint; merge-tree clean" + "date": "2026-07-31", + "ref": "codex/complete-and-merge-p2-tasks-to-main", + "head": "7e0e54879723bde8073ba146e9bddd4a1f5b1edb", + "scope": "PR #1471 review+bugbot+fix", + "outcome": "PASS: re-synced after mid-work main advance (still behind-but-clean); no actionable threads; no P0-P2 in Therapy browse-payload delta; RAG impact body accurate", + "checks": "merge-tree clean; 0 behind; 0 unresolved threads; product review unchanged; hosted required CI after push" }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "0d1b9439fc5e8da8c188a396b2e7e4c95c7998b5", - "scope": "Babysit: main sync + Codex overlay-scope P1 disposition", - "outcome": "FIXED CONFLICTING on docs/search-chrome-behaviour.md (merged #1393 surface paint with overlay carve-out; docs match isCollapseMotionPhoneRoute). Resolved Codex P1 via scoping (therapy/diff keep collapse). Static PR ledger dups fixed earlier. Residual: Claude notes ~5 ui-phone-scroll overlay-route assertions still need migration for Production UI. No Bugbot findings.", - "checks": "header-scroll-hide+verify-phone-chrome 37/37; check:branch-review-ledger PASS; merge-tree clean" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase1-accessibility", + "head": "7e19964973f38c769ca725d6d53aff088ed182b3", + "scope": "V2 Phase 1 Lane B accessibility tables announcements document preview", + "outcome": "approved after rapid retry announcement identity fix", + "checks": "focused Vitest 35p + follow-up 15p; typecheck PASS; independent review clean" }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "21731239300059daab9c01f5192841ce93ac89b2", - "scope": "Babysit: re-sync after #1394 outstanding-issues collision", - "outcome": "SUPERSEDE prior row at 3f56355a: tip is this ledger commit. MERGEABLE; merge-tree clean; #116/#117 phone-chrome gaps retained; no unresolved threads; no Bugbot findings. Waiting hosted CI on this SHA.", - "checks": "merge-tree clean; MERGEABLE; CI queued on tip" + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138 follow-up)", + "head": "7e2ccee0", + "scope": "Bugfix pass on search interactive performance diff", + "outcome": "Fixed P1 auth-stale differential matches; P2 progressive-reveal hiding selected card; P2 deferred empty/full-catalogue flash on services/forms/formulation/therapy-compass; Prettier CI failure on universal-search test. No remaining high-confidence P0–P2 in scoped diff. Residual: differential debounce skeleton flicker; RelatedDocumentsPanel memo limited by unstable callbacks.", + "checks": "Focused Vitest 11/11; typecheck; format:check; maintainability budgets. No provider calls." }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "2594d5e8e5f6756866897829348596d262f7db53", - "scope": "Babysit: merge conflict + CI + Bugbot", - "outcome": "FIXED CONFLICTING: real content conflict in docs/outstanding-issues.md (main claimed #112-#114; renumbered this PR phone-chrome gaps to #115/#116, next-id=117). MERGEABLE. No unresolved review threads. No cursor[bot] Bugbot findings on tip. Offline chrome scan: no actionable P0/P1. Residual: #115/#116 verification-infra; hosted Production UI re-running after tip cancel of prior SHA.", - "checks": "verify:cheap 4460 passed; header-scroll-hide-contract 28/28; typecheck; lint; prettier; merge-tree clean; Bugbot empty on tip" + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase1-primitives", + "head": "7e48bcc4c4b395623fbb5334879bdea5480df74d", + "scope": "phase1 lane c primitive maturity and overlays", + "outcome": "approved after five bounded fixes; primitive semantics, density, overlays and Tooltip accessibility verified", + "checks": "17 files/162 tests; follow-up 8/80 and 3/53; Tooltip 41/41; typecheck; design-system/type/icon contracts; independent exact-head review" }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "3f56355a8eb6d60b4083495b74620960cc11400d", - "scope": "Babysit: re-sync after #1394 outstanding-issues collision", - "outcome": "FIXED CONFLICTING again: main #1394 claimed #115; kept it and renumbered phone-chrome gaps to #116/#117 (next-id=118). merge-tree clean; MERGEABLE expected. Prior babysit validations retained; no review threads; no Bugbot findings.", - "checks": "merge-tree clean vs origin/main; prior verify:cheap/typecheck/lint/contract on 2594d5e8; CI re-queued" + "date": "2026-07-14", + "ref": "codex/openai-gpt56-rag-upgrade", + "head": "7e4b535fc53fe61ace561facdb8c7a224c18d86f", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and an idle Codex task owns the worktree.", + "checks": "Local patch comparison plus Codex task-registry scan." }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "56405fd722e1f652b68051f1f40808815a30d12c", - "scope": "User ask: resolve comments + apply fixes + merge conflicts", - "outcome": "No open conflicts (MERGEABLE, merge-tree clean). All 8 review threads already resolved. Codex P1s already on tip (CSS seed + useLayoutEffect; resting transform-free + portal). CodeRabbit invariant-6/docs + ledger dups addressed; disagreed zero-reserve-on-hide. Removed one more union-merge exact ledger duplicate (#1398 row). Contract 29/29.", - "checks": "check:branch-review-ledger PASS; header-scroll-hide-contract 29/29; merge-tree clean" + "date": "2026-07-14", + "ref": "origin/codex/openai-gpt56-rag-upgrade", + "head": "7e4b535fc53fe61ace561facdb8c7a224c18d86f", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and an idle task owns the local worktree.", + "checks": "Offline remote-tracking comparison plus Codex task-registry scan." + }, + { + "date": "2026-07-26", + "ref": "`codex/phone-footer-glass`", + "head": "7e4fd1a23", + "scope": "Review-follow-up and CI hydration-race review", + "outcome": "APPROVE. Scoped the expanded collapse runway only to combined in-flow header plus reserve owners, cleared the calculator dock focus latch after sheet teardown, and made mode-home UI assertions wait for one settled owner during production hydration. Both automated review threads were addressed and resolved. No P0-P3 findings remain; physical iOS/WebKit compositing remains the only material unverified surface.", + "checks": "`verify:cheap` PASS; focused scroll-hide/static contracts 25/25 PASS; focused calculator teardown/geometry Chromium 3/3 PASS; affected mode-home production Chromium 5/5 PASS; no provider-backed checks." }, { "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "6f75bba54684c104a9bd70b36c401f04ca4c57b5", - "scope": "Babysit: sync main after Claude pre-paint fix", - "outcome": "Synced origin/main (ledger-only #1399). MERGEABLE; merge-tree clean. Claude tip added pre-hydration overlay reserve fix. No unresolved threads. Bugbot still empty on prior tips. Contract 28/28.", - "checks": "header-scroll-hide-contract 28/28; merge-tree clean; prior verify:cheap/typecheck/lint retained" + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "7e549d5f8d7f8f6517abe909dc52c1779459677c", + "scope": "PR #1482 final shared-branch reconciliation", + "outcome": "No findings; concurrent remote and current main reconciled without force-push", + "checks": "five focused guards PASS; #105 open exactly once; next-id 149; deployment-input fix retained" }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "70e810b66881e17aa9f58126fdad970986bda911", - "scope": "User ask: resolve comments + Production UI phone-scroll + main sync", - "outcome": "FIXED: synced main (DIRTY was staleness); removed union ledger dup; adapted phone-scroll asserts for Answer strategy-overlay + overlay/reserve-only calculator budget + focus pre-scroll inside 8px reveal band. Codex P1s already on tip; 0 unresolved threads. Focused Chromium phone-scroll 9/9 green (system Chrome).", - "checks": "phone-scroll focused 9/9; check:branch-review-ledger PASS; merge-tree clean; prior Codex P1s retained" + "date": "2026-08-17", + "ref": "codex/filter-system-overhaul", + "head": "7e55c066e20be34beca8441b2e0f9c40be5fcb95", + "scope": "pr #1998 clinical filter overhaul", + "outcome": "PASS", + "checks": "typecheck, vitest (filters, sheets, search band, dom panels), prettier" }, { - "date": "2026-07-30", - "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", - "head": "9d03b84f1a32a056f74727b4e6bdd5558c346bf0", - "scope": "Babysit: resolve outstanding-issues after #1402/#1398", - "outcome": "FIXED CONFLICTING: took main open-table (widened cols + #109 refspec) and kept #116/#117 phone-chrome gaps (next-id=118). MERGEABLE expected. Codex P1s already fixed on tip and threads resolved. No Bugbot findings.", - "checks": "merge-tree clean; contract 28/28 earlier; verify:cheap on prior tip" + "date": "2026-07-13", + "ref": "claude/icon-glyph-refinements", + "head": "7e807c1c7346ae998557911421500dce70fe3cd0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #523; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "PR #1400", - "head": "e869cb9d7ab20939361b277d1c6fcc07bbb6ca45", - "scope": "pr-1400-guard-push-band-adoption", - "outcome": "MERGED — 17 review findings across guard-push.mjs and the band-adoption gate, all fixed and thread-resolved; each fix confirmed by reverting it and watching the guard fail. Guard now checks the pushed SHA in a git worktree (config, dynamic config, policy escalation incl. removal, lockfile Prettier parity); adoption gate replaced presence-matching with per-module reachability, closing six false greens of one root cause plus type-position edges found in self-review. Merge verified: all 8 commits ancestors of main, 4 changed files byte-identical.", - "checks": "verify:cheap 432 files / 4470 passed 4 skipped; format:check clean; PR required success; services+tools page gutting reports orphans; 6 push-guard scratch-repo cases with real exit codes; every fixture mutation-verified" + "date": "2026-07-13", + "ref": "origin/claude/icon-glyph-refinements", + "head": "7e807c1c7346ae998557911421500dce70fe3cd0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #523; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "PR #1427 / claude/ci-testing-review-2l8klp", - "head": "b9de34d40d2dc5ab164bb1eb582db1cfcd1009c3", - "scope": "ci-testing-review", - "outcome": "SUPERSEDES the 2026-07-30 db8209be record, which asserted a root cause now REFUTED. That record claimed dragScrollBy clamping made the ui-phone-scroll red; main's #127 carries trace evidence (PR #1404 run 30521269873) that the drag delivered in full (scrollTop 1272 = 552+720) with ~1300px runway spare and a 10s non-flip is a latched state. The change is a diagnostic and guard, NOT a fix, and is now labelled so in the docstring, commit, PR body and #127. Remaining candidates: scrollHidden false vs sharedChromePinned latched; they are indistinguishable from the DOM because only the composite data-scroll-hidden is exposed. Prime suspect in source: composerFocusPinsChrome has a still-the-active-owner guard, headerFocusPinsChrome has none (master-search-header.tsx:397-398). ALSO: this PR ran zero pull_request workflows for ~2h (no CI/Gitleaks/Semgrep, only pull_request_target) because a real conflict blocked refs/pull/1427/merge - issue #116, caught by main's new PR mergeability check. Merging main fixed it and CI ran green first try.", - "checks": "CI run 30530618838 SUCCESS (13m39). MEASURED shard result, correcting the ~7min prediction: Production UI (1) 121 tests 9m36, (2) 111 tests 6m54, (3) 110 tests 6m20 - per-test cost is NOT uniform, shard 1 holds the slow specs, so the largest shard is 9m36 not the predicted 6.8min. ui-critical-fast 3m14. PR required SUCCESS. verify:cheap on merged tree PASS (434 files / 4563 passed, 4 skipped); prettier --check . PASS; ui-phone-scroll ran locally 1x via PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH: 56 passed (5.3m) - three-run protocol NOT completed and not applicable, since this is not a flake fix." + "date": "2026-07-13", + "ref": "codex/openai-gpt56-rag-upgrade", + "head": "7e95daf221c171515b1eb501fbbc04129aaa5342", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-30", - "ref": "PR #1427 / claude/ci-testing-review-2l8klp", - "head": "db8209be707b79142d1d228d8c4e04120f9cdeaa", - "scope": "ci-testing-review", - "outcome": "Measured PR CI from the Actions API: Production UI is 15m26-16m31 of a 16.8-18.6min run (83-89% of wall clock; Playwright itself 339 passed (13.5m)), every other job done by minute 4; 25/60 completed runs in an 83min window were cancelled (42%). FIXED: sharded ui-critical across 3 runners (count measured - N=4 gives the same 121-test critical path, N=5/N=8 give empty shards which would go red without --pass-with-no-tests); root-caused the real red (ui-phone-scroll dragScrollBy clamped silently and returned nothing, so a 720px request could deliver a fraction and the correct assertion failed 10s later) and made the drag prove its delivery with assertions byte-identical; browser-cache restore-keys; codex-autofix job timeouts; visual config serialised; gate-count guard added and mutation-proven. DEFERRED as #125-#129: ui_changed over-firing on src/app/api, cold Next cache in the Playwright build, advisory-UI cost vs zero quarantine tests, inert CI_TRIAGE, dead changes outputs.", - "checks": "verify:cheap PASS (431 files / 4493 passed, 4 skipped); verify:pr-local PASS (same); prettier --check . PASS; check-gate-manifest PASS + mutation-proven red at stale count; shard balance measured via playwright --list; verify:ui NOT RUN - container cannot launch Chromium (issue #121, build 1234 vs 1194) so the phone-scroll fix and the sharded job are unexecuted, PR CI is first execution" + "date": "2026-07-13", + "ref": "origin/codex/domain2-remediation", + "head": "7ea33b20d230f65eb5ac5f6a7386ebd0db92a6ef", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #533; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-30", - "ref": "PR #1430", - "head": "a9ae22ac4915e86d51ee05787059382a39bd8ba8", - "scope": "phone chrome diagnostics and merge repair", - "outcome": "fixed and ready for CI", - "checks": "issues guard; ledger guard; 37 focused tests; phone-chrome dry-run" + "date": "2026-08-05", + "ref": "claude/top-search-design-mockups-fbbfuf", + "head": "7eb723b097afadae010b57d66f4a4313b6d952a7", + "scope": "results-bar redesign: shared band anatomy, applied-filter shelf, documents filter sheet, filtered-to-zero empty state", + "outcome": "Implemented + self-reviewed; all twelve review findings resolved. Deviations from the mockup taken deliberately: fault state keeps three non-chromatic channels (mockup used colour alone, contradicting a recorded decision); 48px tap floor not the mockup's 44px (min-h-11 flake); one-line layout opt-in per mode because six pass a w-full select. Two pinned tests re-pointed, never deleted.", + "checks": "vitest 488 files/5107 passed; verify:ui run 1 348 passed 1 failed (ui-smoke Library pin) -> fixed 7eb723b, focused re-run 1 passed; browser sweep 320/390/430/768/1024/1440 light+dark+forced-colors, no h-overflow; lock parity restored first (playwright 1.62.1, node 24.19.0)" }, { - "date": "2026-07-30", - "ref": "PR #1432", - "head": "74adc5aa3f8a4dad659c7a40490288ef8efcb82e", - "scope": "Playwright browser preflight and phone-sheet focus repair", - "outcome": "APPROVE after current-main sync: browser-project resolution fails closed, phone-sheet focus is stable, and no stale issue-ledger state remains.", - "checks": "3 focused files 45 passed; phone-chrome dry-run; installed-lock parity; docs and ledger guards; formatting" + "date": "2026-07-20", + "ref": "Credentialed release-gate checkpoint closeout (workflow_dispatch on main `7ec25d9`; user-authorized ≤$10, single dispatch each)", + "head": "7ec25d9675dea13635fa4a895af88c93da694a42", + "scope": "Credentialed half of the release gate: CI dispatch + live eval canary", + "outcome": "CI dispatch: 9/10 jobs green (unit coverage, build, Chromium production journeys, migration replay on local Supabase emulator, production-readiness CI-safe, policy self-tests, static/safety/scope). `release-browser-matrix` (WebKit/Firefox) CANCELLED twice by main-churn: ci.yml `concurrency: CI-${ref}, cancel-in-progress: true` kills in-flight dispatch runs on every main push and this repo merges every few minutes — livelock confirmed at the 2-attempt cap; WebKit/iOS verification remains outstanding with three human options (quiet-window dispatch, the weekly scheduled run, or a one-line dedicated concurrency group for the matrix job — operational-risk change, not applied). Eval canary: golden retrieval eval FAILED 4/36 (document_recall@5 0.944, ndcg@10 0.923, force_embedding_failure_count 0, no 429s — vector layer healthy, NOT the documented vector-ptsd transient class); the July 17 dispatch PASSED this step pre-#901, so the regression window implicates #901's deterministic semantic reranking (lithium-therapy-monitoring shows three unrelated documents with byte-identical rerank scores burying the lithium guideline; two other failures add fixture-vs-corpus identity components; answer-quality subset — the July 17 failure — never ran). NO canary re-run per plan (deterministic, not transient); retrieval is clinical-path and deferred to a human decision. Provider spend ≈ $1–2 (one canary run's embeddings); matrix/CI runs $0.", + "checks": "actions_run_trigger dispatches + rerun_failed_jobs (attempt 2); job-level conclusions and log excerpts from runs 29675875530 (both attempts), 29675878737 (July 19 canary), and 29567502452 (July 17 baseline). No local provider calls; secrets never left GitHub Actions." }, { "date": "2026-07-30", - "ref": "PR #1432", - "head": "a2b53c815b3c060dec2619af2855a63f9f496858", - "scope": "Playwright browser preflight review and repair", - "outcome": "fixed; focused tests pending coordinator", - "checks": "Prettier PASS; issues guard PASS; focused Vitest blocked by active Playwright lease" + "ref": "codex/repair-pr1459", + "head": "7ec5bd0199e96e4e6afd77c6bed1d64235c11da1", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1459 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-30", - "ref": "PR #1432", - "head": "f85995ade3a19513a531713724813adc742c360d", - "scope": "Playwright browser preflight verification", - "outcome": "focused tests pass; typecheck lease-blocked", - "checks": "16 focused tests PASS; Prettier PASS; typecheck admission blocked" + "date": "2026-07-13", + "ref": "claude/design-sync-78bad6", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "PR #1441", - "head": "0b17e849406a03b87af20e627da6500a7cd03c2e", - "scope": "PR readiness: issue ledger, upload parity, CircleCI cleanup", - "outcome": "FIXED: review repaired Docker build-time server parity, archived stale CircleCI row #119, and made the #095 aggregate harness portable; no remaining P0-P2 findings in scope.", - "checks": "verify:pr-local PASS on parent code tree 727ed55a7: 435 files, 4570 passed, build 1694 pages, client scan pass, RAG 36 cases/21 suites; latest-main docs, issue, review-ledger, and upload guards pass" + "date": "2026-07-13", + "ref": "claude/github-repos-discovery-a49873", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Deleted after the exact HEAD was proven an ancestor of origin/main.", + "checks": "git merge-base --is-ancestor succeeded; no worktree or open PR referenced the branch." }, { - "date": "2026-07-30", - "ref": "PR #1441", - "head": "3b0dadf5d946af5b70984131dd5e243686c9dfaa", - "scope": "upload-limit parity and issue-ledger closure", - "outcome": "APPROVE after fixes: production dotenv precedence and checker-only Docker server limits are enforced; current-main issue rows are preserved.", - "checks": "upload parity self-test 150/150 and 50/50; Actions pins; docs, issue, and ledger guards; two review findings fixed" + "date": "2026-07-13", + "ref": "claude/pt-audit-pr7-ci-hardening", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "PR #1441", - "head": "d8bd22192ce974d4d2340ff26959ee41480218e9", - "scope": "PR readiness: issue ledger, upload parity, CircleCI cleanup", - "outcome": "FIXED: review found the Docker build lacked MAX_UPLOAD_MB input and open issue #119 still requested obsolete CircleCI investigation; both are repaired, with no remaining P0-P2 findings in scope.", - "checks": "upload parity default and 50/50 pass; 50/40 mismatch fails; outstanding-issues, branch-review-ledger, and gate-manifest guards pass" + "date": "2026-07-13", + "ref": "claude/repo-productivity-ideas-2e8b98", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "PR #1446 / claude/ci-testing-review-2l8klp", - "head": "11e7e8653c4742108feee4e9164ba066a92fc18a", - "scope": "ci-testing-review-capture", - "outcome": "Captures #141, the one finding from the PR #1427 session that was never recorded: ui-phone-scroll.spec.ts:973 Services result anchor jumped on viewport shrink (run 30534158395 shard 1, :1133, 120 passed). Distinct from #127 and not fixed by #1427 - that head already carried #1427's runway poll and travel assertion, the journey is the Services result canvas not the document route, and the assertion is anchor stability across a resize not a chrome hide. Narrowing recorded: the sibling documentScrollTop assertion at :1137 did NOT fail, so the scroll position held while the element moved, ruling out the scroll-restoration class. Branch restarted from origin/main because #1427 merged as 040ce97 (verified by content not ancestry: shard matrix, dragScrollUntilHidden and the gate-count guard all present on main). NOTE for #127: its updated row shows the trace-based refutation of the short-drag hypothesis was itself misread (maxOffset 2753 read at a different trace moment than the failing drag; pre-runway value was 1153), so the root cause withdrawn during the #1427 session was in fact correct - a third-party refutation needs the same verification as a third-party fix claim.", - "checks": "verify:cheap PASS (Test Files 435 passed; Tests 4569 passed, 4 skipped, exit 0); check:outstanding-issues PASS (139 rows, unique ids, next-id=142 above highest); prettier --check . PASS. Docs-only: ui_changed should be false and the Chromium shards should skip." + "date": "2026-07-13", + "ref": "codex/branch-cleanup-2026-07-13", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "PR #1446 / claude/ci-testing-review-2l8klp", - "head": "8be4f703d5729b4aa10e73ee8fbc77e03f400b8b", - "scope": "ci-testing-review-capture", - "outcome": "Withdraws an invalid inference from the earlier records for this PR, on a correct Codex finding. Those rows argued that because the sibling documentScrollTop assertion did not fail, the scroll position held and scroll-restoration causes were ruled out. Playwright aborts a test at the first failing expect, so once anchorTop threw, documentScrollTop NEVER EXECUTED - its absence from the output shows nothing. The #142 row now says so and the class is not ruled out. The capture itself stands: the Services viewport-anchor failure is real, intermittent on byte-identical code (pass/pass/fail/pass-on-rerun), and distinct from #127. Separately CodeRabbit flagged :973 vs :1133 as inconsistent and then withdrew it: :973 is the test declaration and :1133 the thrown assertion, both reported by Playwright, and declaration lines drift (898 / 973 / 1041 across three tree states) which is why the exact title is the durable identity.", - "checks": "check:outstanding-issues PASS (140 rows, unique ids, next-id=143). Lesson: reasoning from an assertion that never ran is the same verified-vs-assumed error this session already hit twice in the other direction." + "date": "2026-07-13", + "ref": "codex/fix-registry-indexing-health", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-30", - "ref": "PR #1446 / claude/ci-testing-review-2l8klp", - "head": "e6c704c6c8cd989825adf30ecbffeb57344bfa56", - "scope": "ci-testing-review-capture", - "outcome": "SUPERSEDES the 11e7e865 capture row: the Services viewport-anchor flake is now #142, not #141. Main's #141 (design-sync --clinical-accent-strong token gap from PR #1443) landed while this branch was open, colliding on the same id. Merge conflict in docs/outstanding-issues.md resolved by rebuilding from origin/main and re-applying the Services capture as #142 with next-id=143. Content of the capture is unchanged.", - "checks": "check:outstanding-issues PASS (140 rows, 68 open, 72 archived, next-id=143); merge-tree was CONFLICTING on outstanding-issues only; conflict markers removed" + "date": "2026-07-13", + "ref": "main", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained.", + "checks": "Resolved as `main` / `origin/main`; deletion prohibited." }, { - "date": "2026-07-30", - "ref": "PR #1457", - "head": "c737a83bacf9d1c6caf1fdd7be922ae16a89deb3", - "scope": "adaptive refine bar mockup", - "outcome": "APPROVE after fix: mockup controls remain wired and failure transitions now expose an assertive alert instead of disabling the live region.", - "checks": "focused accessibility test; sitemap check; ledger guard; diff review; one review finding fixed" + "date": "2026-07-13", + "ref": "origin", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7 origin/main`." }, { - "date": "2026-07-30", - "ref": "PR #1459", - "head": "ff170edd26f7846902a776bf168096d2e311af7e", - "scope": "browser verification issue evidence", - "outcome": "APPROVE after fixes: completed Lighthouse and preconnect work no longer remains in the queue, and LoadingPanel verification begins with deterministic server-response HTML before optional throttling.", - "checks": "Next 16 lazy-loading implementation inspected; issue and ledger guards; docs checks; three review findings fixed" + "date": "2026-07-13", + "ref": "origin/main", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained.", + "checks": "Resolved as `main` / `origin/main`; deletion prohibited." }, { - "date": "2026-07-30", - "ref": "PR #1462", - "head": "321ec8697a2eaa4841e11b498cce556ed384f8cb", - "scope": "bounded inactive-work cleanup documentation", - "outcome": "APPROVE after fix: cleanup remains deferred behind the primary-checkout lease, and the resume instruction now names the executable repository command.", - "checks": "outstanding-issues guard; ledger guard; diff review; one review finding fixed" + "date": "2026-07-14", + "ref": "claude/repo-productivity-ideas-2e8b98", + "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained.", + "checks": "Local cherry-pick-aware comparison; clean inactive worktree removal." }, { - "date": "2026-07-30", - "ref": "PR #1462", - "head": "5146ae94e226a6e55968d80ecefa53c7cd5df9c3", - "scope": "bounded inactive-work cleanup documentation", - "outcome": "APPROVE after fix: both cleanup batches remain deferred behind the primary-checkout lease, and the resume instruction now names the executable repository command.", - "checks": "outstanding-issues guard; ledger guard; diff review; one review finding fixed" + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "7ecc4e189287a987e49a8c82cdab56986b354969", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "reviewed+stress-tested bundle-budget hang fix; main sync (RAG extract already on main); try/catch exit hardening; no P0-P2 remaining in fix delta", + "checks": "vitest bundle-budget 14/14; stress real-x40 p95~112ms max~119ms; concurrent-x10 max~338ms; failsafe-x100 0 misses; blocked-stdout/npm-run/over-budget/large-800 ok; check:github-actions; merge-tree clean 0 behind" }, { - "date": "2026-07-30", - "ref": "PR #1474", - "head": "098186866932394d2cc17983e566ae6c44b063b4", - "scope": "PR #1474 full diff vs origin/main", - "outcome": "approved", - "checks": "verify:cheap; eval:rag:offline; live canary 30578169116 -> 30579534353" + "date": "2026-07-22", + "ref": "PR #1083 / `codex/reconcile-browser-matrix`", + "head": "7eed83d37c8ab29b520aa798b25bef9d12efbf5a (merged as 0afa0a55501afd784bec9237dca9e1b5d98d849a)", + "scope": "Current Chromium/Firefox/WebKit browser salvage", + "outcome": "MERGED test-only Firefox stabilization. Stale browser expectations, unrelated styles and duplicate service-worker isolation were rejected.", + "checks": "Current-main 40 passed / 1 skipped / 1 Firefox failure; final targeted matrix 3/3; `verify:cheap`; `verify:ui` 265/265; PR-local; hosted green." }, { - "date": "2026-07-30", - "ref": "PR #1477", - "head": "20f795da2d9d0adafa6cb3117429ab3665129c0d", - "scope": "PR #1477 fork-safe Codex autofix routing", - "outcome": "Refreshed onto current main after #1465; issue and ledger reconciliation remained clean and no new actionable defects were introduced.", - "checks": "check:outstanding-issues; check:branch-review-ledger; check:codex-autofix-workflow; focused Vitest 53 passed" + "date": "2026-07-13", + "ref": "codex/public-anonymous-access", + "head": "7f3eded3d17c9daf6a443c9cac3f0553e4e9321b", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/public-anonymous-access; git diff --name-only reported 71 path(s)." + }, + { + "date": "2026-07-13", + "ref": "codex/public-anonymous-access", + "head": "7f3eded3d17c9daf6a443c9cac3f0553e4e9321b", + "scope": "production UI design and accessibility review", + "outcome": "Fixed the fullscreen clinical-table focus leak and divergent modal implementation, removed the non-native table-surface control, and lifted meaningful production metadata from 8-10px to the 11px floor with stronger muted contrast. No remaining high-confidence defect was found in the reviewed visual scope.", + "checks": "Baseline/final screenshots at 1440x1000 and 390x820; focused Chromium table expansion 3/3; focused Vitest 6/6; `npm run typecheck`; targeted ESLint; type-scale and focused Prettier checks; `git diff --check`. `verify:cheap` timed out in full lint/test execution; full `verify:ui` deferred under the API confirmation boundary." }, { - "date": "2026-07-30", - "ref": "PR #1477", - "head": "26d713922006c1af8187994edfa76669dc14cd46", - "scope": "PR #1477 fork-safe Codex autofix routing", - "outcome": "Fixed fork routing to the PR head repository, added fail-closed metadata handling, reconciled current main, and found no remaining actionable defects.", - "checks": "check:codex-autofix-workflow; check:github-actions; check:pr-policy; check:outstanding-issues; check:branch-review-ledger; docs:check-inventory; docs:check-links; docs:check-scripts; typecheck; focused Vitest 53 passed; Prettier" + "date": "2026-08-07", + "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", + "head": "7f69fb05fb569f2da34d916db7b4f4153dc676c3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Synced behind-but-clean branch via update_pull_request_branch (dependabot bot branch, no drift issues); no unresolved review threads.", + "checks": "git merge-tree (clean), update_pull_request_branch (success)" }, { - "date": "2026-07-30", - "ref": "PR #1480", - "head": "6c1e76f53aee87be8408cebc295744fbdce05367", - "scope": "PR #1480 bounded outstanding reliability fixes", - "outcome": "Fixed both review findings: documented the dark accent role and added partial favourites retry without hiding valid counts; no other actionable defects found.", - "checks": "focused Vitest 119 passed; docs index; issue and ledger guards; Actions and Codex workflow guards; Prettier; diff check; typecheck coordinator-blocked" + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "7f75c39c153394a89969122693b572376353b9af", + "scope": "CI babysit tip (format + ledger marker)", + "outcome": "Supersedes prior #1298 CI babysit row at `c89756f8` for exact-head bookkeeping after Prettier on clinical-search and ledger tip-marker repair. Product delta unchanged.", + "checks": "check:branch-review-ledger pending; tip `7f75c39c`; no provider checks." }, { - "date": "2026-07-30", - "ref": "PR-1431", - "head": "4f54d7e73061b737fd07a726b223adc662cc2776", - "scope": "PR #1431 visual baseline seed guidance", - "outcome": "approved after correcting candidate-copy and AWAITING_BASELINE instructions; unique README content consolidated into PR #1490 to avoid ledger churn", - "checks": "docs links passed; Prettier passed; documentation-only diff reviewed" + "date": "2026-08-19", + "ref": "claude/settings-developer-button-8dd78d", + "head": "7f784de5e22a60b155677e2d51bb57538395fb68", + "scope": "src/proxy.ts, mockups gate/layouts, settings-dialog, supabase auth client, developer-area gate+access", + "outcome": "reviewed-by-author, PR #2176 opened", + "checks": "lint,typecheck,test(full,7384 passed/2 pre-existing python-env failures),build(clean .next),check:bundle-budget,check:rag:fixtures,check:medication-interactions,check:medication-lexicon-report,check:runtime,check:installed-lock-parity" }, { - "date": "2026-07-30", - "ref": "PR-1432", - "head": "330086eff76f704ce6b9cf5405aeecfdd375027c", - "scope": "PR #1432 visual-config preflight follow-up", - "outcome": "visual runs now preflight chromium-artifacts instead of the unrelated main browser matrix; unknown configs fail closed", - "checks": "config-selection tests added; formatting passes; exact-head CI pending" + "date": "2026-08-18", + "ref": "claude/header-redesign-mockups-3ms5kn (PR #2143)", + "head": "7fbd9caaace0554f76995841b29b26e3344bc8f0", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: all required CI green on 11256e9f, mergeable_state=behind main (a9552eb), 0 unresolved review threads (only bot rate-limit notices from Codex/CodeRabbit, no actionable findings). Action: synced origin/main into the branch via authenticated update_pull_request_branch (clean git merge-tree confirmed no conflicts) -> new head 7fbd9caa. No code fix or thread action needed. After: CI re-running fresh on synced head at https://github.com/BigSimmo/Database/actions/runs/32167138952 (Change scope, Gitleaks, PR mergeability/policy already green; Static/Build/Coverage/Production UI/Safety/Lighthouse in progress at sweep end) - not babysat further; prior identical diff was fully green.", + "checks": "No local gates run (no code changes made, only a main-branch sync); relied on hosted CI re-validation triggered by the sync. No provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "PR-1432", - "head": "7c7b63cf40d59652954e539ce1b3027005916bf1", - "scope": "PR #1432 Playwright browser preflight final exact-head review", - "outcome": "fixed existing project-isolation contract after preflight refactor; no remaining findings", - "checks": "preflight and isolation Vitest 9/9; typecheck pass; Prettier and diff checks pass" + "date": "2026-08-04", + "ref": "claude/search-bar-decisions-doc", + "head": "7fc0dbbf48070b2944af0c632ea9aa1f0121be77", + "scope": "search-bar handoff doc replacement + issues #230", + "outcome": "Docs-only: stale handoff deleted, decisions doc added, ledger row captured. verify:cheap did not complete; prettier/outstanding-issues/docs-links/docs-index passed with quoted output", + "checks": "prettier --check . ; check:outstanding-issues ; docs:check-links ; docs:check-index" }, { - "date": "2026-07-30", - "ref": "PR-1432", - "head": "a5d234302b57be6f7ce5d1957c9ec00bc7f191f0", - "scope": "PR #1432 Playwright preflight and phone-scroll reliability", - "outcome": "cross-platform preflight fails closed and production focus-restore race is removed from the phone-scroll proof; no remaining findings", - "checks": "preflight tests 9 passed; focused Chromium journey 2 passed; formatting and ledger guards pass" + "date": "2026-08-24", + "ref": "cursor/factsheets-topics-page-ec19 (PR #2333)", + "head": "7fe94b6198fb8b78674b0b423be57851704f86c7", + "scope": "Run PR sweep: CI fix + drift sync", + "outcome": "Fixed real CI failure: legacyTapClasses (h-11/w-11) in factsheets-topics-browse.tsx bumped to h-12/w-12; merged origin/main (clean); a concurrent upstream push (b2c23389d) then rewrote the same component, resolved by merge taking upstream's version (no more -11 class) and regenerating COMPONENTS.md. 4 review threads already resolved, none new. Remaining CI failure: PR policy blocks on missing Clinical Governance Preflight section (src/lib/mode-secondary-navigation.ts triggers clinicalRisk) — left open, PR body edits are out of scope for this sweep.", + "checks": "npm run check:design-system-contract (incl. design-system-adoption, design-sync-contract) — pass; npx vitest run tests/factsheets-topics-page.dom.test.tsx tests/factsheets-topics-phone-mockups.test.ts tests/factsheets-data.test.ts tests/design-system-adoption.test.ts tests/mode-secondary-navigation.test.ts — 109 passed; npx eslint on changed file — clean; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "PR-1433", - "head": "e7a8102620b5b4847894b3df21f438304ea581bd", - "scope": "PR #1433 document result cards and action menu final review", - "outcome": "fixed clipped menu, clipboard fallback focus loss, and inherited action typography; no remaining findings", - "checks": "DOM Vitest 4/4; focused Chromium 1/1; typecheck, Prettier, and diff checks pass" + "date": "2026-07-29", + "ref": "cursor/page-anchored-search-composer-30ee", + "head": "7ff134ca7f614db527b8d142676640305533669d", + "scope": "branch-cleanup-deletion-pending", + "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is 79d1c879 and tree(merge-base) equals tree(tip): git diff --name-only 79d1c879 7ff134ca reports 0 files, so the tip introduces nothing beyond a state already in main. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", + "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." }, { "date": "2026-07-30", - "ref": "PR-1434", - "head": "f6bebf2a8c658df8b3840c1b1133be5c94a977b0", - "scope": "PR #1434 Codex Cloud setup consolidation and prompt perfector", - "outcome": "fixed Cloud runtime verification gaps and reconciled duplicate implementation after #1438; no remaining findings", - "checks": "check:codex-cloud pass; codex-cloud-setup Vitest 4/4; outstanding-issues and ledger guards pass" + "ref": "origin/cursor/page-anchored-search-composer-30ee", + "head": "7ff134ca7f614db527b8d142676640305533669d", + "scope": "branch-cleanup", + "outcome": "safe to delete — tip tree identical to merge-base tree (79d1c879), so the branch nets zero content change vs main; --cherry-pick shows 6 commits, a squash-merge false positive", + "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" }, { "date": "2026-07-30", - "ref": "PR-1435", - "head": "df255ee5bf8269cca32b5ef426d1c37c1f7bcebc", - "scope": "PR #1435 tablet search header flow", - "outcome": "tablet composer now follows desktop normal-flow ownership; stale pinning assertion corrected; no remaining findings", - "checks": "29 focused tests pass; typecheck and formatting pass; focused Chromium route 1 passed" + "ref": "origin/cursor/page-anchored-search-composer-30ee", + "head": "7ff134ca7f614db527b8d142676640305533669d", + "scope": "branch-cleanup (supersedes 2026-07-30)", + "outcome": "safe to delete — merge-base 79d1c879 is an ANCESTOR of main and tree(tip)==tree(79d1c879), so every byte at the tip exists in main's history; the 6 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", + "checks": "git merge-base --is-ancestor 79d1c879 origin/main = YES; tree(tip)==tree(79d1c879); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" }, { - "date": "2026-07-30", - "ref": "PR-1436", - "head": "9d8e081f3e7003d4f2210b00a7b7e54bf7ca2f0b", - "scope": "PR #1436 documentation organization and link repair", - "outcome": "fixed stale no-driver wording and renumbered three union-collided issue records; no remaining findings", - "checks": "docs index, links, scripts, outstanding-issues, and ledger guards pass" + "date": "2026-07-13", + "ref": "origin/copilot/fix-database-action-error", + "head": "7ff6c547e55100d7dfff912530e006f0a5ee70a2", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-database-action-error; git diff --name-only reported 6 path(s)." }, { - "date": "2026-07-30", - "ref": "PR-1440", - "head": "f7260cc6a0da87cb4df1ac95ef962967e667c3f0", - "scope": "PR #1440 issue #102 ordering correction", - "outcome": "accurately restores the two canary-gated retrieval ordering constraints; no findings", - "checks": "outstanding-issues and ledger guards pass; documentation-only diff" + "date": "2026-07-14", + "ref": "copilot/fix-database-action-error", + "head": "7ff6c547e55100d7dfff912530e006f0a5ee70a2", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "PR-1441", - "head": "c298432cffd2a1aee1b96edda9d32deb31be7f00", - "scope": "PR #1441 upload-limit parity and issue-ledger closures", - "outcome": "upload limit guard is fail-closed and safely wired; archived rows retain their dispositions; no findings", - "checks": "upload parity self-test/runtime pass; issue, ledger, gate-manifest, and docs-script guards pass" + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "80421c38c54c5960bf51210d6bc29109b52afb53", + "scope": "Main sync after CONFLICTING + perfection", + "outcome": "MERGE-READY product scope. Merged `origin/main` cleanly; no markers; product delta remains font-stack + 3 mockup tweaks + policy body/ledger. Heading hierarchy fix retained.", + "checks": "merge-tree clean; marker scan clean; type-scale + design-system-contract + Prettier pass." }, { "date": "2026-07-30", - "ref": "PR-1442", - "head": "35fc11a2665ecd0464a23949babbbddba8055dcd", - "scope": "PR #1442 documentation synchronization automation", - "outcome": "hook is fail-closed for mixed staged inputs and does not auto-stage; generated inventories remain deterministic; no findings", - "checks": "docs update/checks pass; focused Vitest 4 passed; issue and ledger guards pass" + "ref": "codex/review-pr1436", + "head": "804780b2eddb171f9cf0506ffade7f2b2e7d6b87", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1436 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { "date": "2026-07-30", - "ref": "PR-1445", - "head": "07933e08cff6c7d81345e02c03727032ccf522b6", - "scope": "PR #1445 close duplicate issue", - "outcome": "correctly archives duplicate #140 while preserving #133 as the surviving open conflict-frequency record; no findings", - "checks": "outstanding-issues and docs-link guards pass; docs-only diff" + "ref": "codex/review-pr1436", + "head": "804780b2eddb171f9cf0506ffade7f2b2e7d6b87", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant local review head contained by merged PR 1436 head; removal deferred by primary-dirty lease", + "checks": "clean status; ancestor of exact merged PR head; no active process" }, { - "date": "2026-07-30", - "ref": "PR-1448", - "head": "8ece7f345e93170c6bd242701eaff05f5504d98b", - "scope": "PR #1448 authenticated live workflow", - "outcome": "PASS after review repair: protected-main-only checkout, explicit bounded mutations, scoped secrets, and static dispatch confirmation; no live provider workflow dispatched", - "checks": "GitHub Actions and PR-policy guards passed; focused Vitest 3 passed; docs links and scripts, issue and ledger guards, Prettier and diff checks passed" + "date": "2026-08-13", + "ref": "codex/performance-fixes-20260813", + "head": "806601b3f0ff73c04a4f6e97ac04a9e40509b809", + "scope": "performance latency Sentry and deployment observability", + "outcome": "No unresolved findings after registry cache variance and CI aggregate fixture repairs", + "checks": "Focused registry and workflow contracts passed; hosted prior-head Lighthouse, build, static, safety, container, and critical UI checks passed" }, { - "date": "2026-07-30", - "ref": "PR-1451", - "head": "094821eafb4caf86f3086324f05087d0fe09c3b9", - "scope": "PR #1451 reconciliation vs origin/main", - "outcome": "PASS: prior product review unchanged; PR #1470 issue row retained", - "checks": "outstanding-issues guard 145 rows passed; branch-review-ledger guard 136 live passed; Prettier passed; git diff --check" + "date": "2026-07-27", + "ref": "`codex/settings-followup`", + "head": "806fcc4c3167d9e2f9fbd832c39e53d3491f270a", + "scope": "Protected-main release-readiness review of settings follow-up browser reliability", + "outcome": "APPROVE. The test-only diff waits for one settled React owner before strict answer/search interactions, makes universal-search mocks echo the requested query, and retries scroll-to-live-endpoint geometry after late dock layout. Review found no P0-P3 issue and no product, retrieval, ranking, clinical-output, or provider behavior change. Highest residual risk is physical iOS/WebKit behavior outside local Chromium coverage.", + "checks": "Focused integrated production Chromium PASS (5/5); exact integrated-head `verify:pr-local` PASS (runtime, formatting, lint, typecheck, 393 files, 3,538 passed / 2 skipped, 36 offline RAG fixtures); `verify:ui` PASS (323/323); `git diff --check` PASS; no non-GitHub provider-backed checks." }, { "date": "2026-07-30", - "ref": "PR-1451", - "head": "9e5107b569190995981f161918ddf74ab0a56833", - "scope": "PR #1451 full diff vs origin/main", - "outcome": "PASS: no P0-P2 findings", - "checks": "git diff --check; CI 30555259984 success; PR Policy success; zero unresolved threads" + "ref": "PR-1494", + "head": "807a3a09f5afc12e8db4f9158abe09d9c7b336c9", + "scope": "PR #1494 pre-commit fail-open review", + "outcome": "FIXED P2: legacy worktrees may skip a genuinely absent generator, while a staged deletion or rename now fails closed", + "checks": "docs-inventory Vitest 5 passed; shell syntax passed; Prettier test check passed; diff check passed" }, { - "date": "2026-07-30", - "ref": "PR-1451", - "head": "a8e6a419f2ef73a5406e7b69ab4e260157d6f907", - "scope": "PR #1451 token-reference repair", - "outcome": "approved after retaining #1480's stronger production accent role; unique mockup token, design-sync triage, and dead-token finding consolidated into PR #1490 without ledger churn", - "checks": "design-token contract 31 tests passed; outstanding-issues guard passed; Prettier and diff checks passed" + "date": "2026-08-13", + "ref": "claude/patient-interactions-drug-alerts-3tztvw", + "head": "807d13f4ab2fbff8f292dafda7687cedf9079f2d", + "scope": "interaction note text polish (severity prefix, per-row severity chip, unclamped prose)", + "outcome": "self-reviewed; shipped PR #1898", + "checks": "verify:pr-local 9 stages green, failed:(none); 41 interaction tests pass; docs/adoption checks current; phone-chrome browser stages delegated to CI (#255 drift)" }, { - "date": "2026-07-30", - "ref": "PR-1456", - "head": "4a1771353313d9e33a2c8f7fb5f55c05d03e0216", - "scope": "PR #1456 dependency security diff vs origin/main", - "outcome": "no findings", - "checks": "focused Vitest: 5 passed; hosted safety/config: passed" + "date": "2026-08-18", + "ref": "claude/header-redesign-mockups-3ms5kn", + "head": "8083a20d6a3496ed154b927157bd621735886795", + "scope": "Dictionary Browse header round two — letter dropdown + Abbreviations in Filters (design scratch)", + "outcome": "approved", + "checks": "verify:pr-local all 18 steps completed / none failed, check:bundle-budget within tolerance, Chromium dark+light screenshot review" }, { - "date": "2026-07-30", - "ref": "PR-1458", - "head": "8c1975b178c67e4c54acffc395d85e38c43d39f5", - "scope": "PR #1458 superseded root-gate reconciliation", - "outcome": "PASS: retained only unique documentation corrections after PR #1480 landed the stronger tracked-root gate; archived resolved shared-hook issue #143", - "checks": "docs index and links passed; outstanding-issues and branch-review-ledger guards passed; diff check passed" + "date": "2026-08-14", + "ref": "PR-1951", + "head": "809c50bf4ca8ede8c2c0ec49df9371cd4d56c517", + "scope": "PR #1951 CI format repair", + "outcome": "fixed the exact-head Changed-file format check failure in live-drift workflow coverage", + "checks": "Prettier 3.9.6; All matched files use Prettier code style!; Tests 15 passed (15); git diff --check passed; docs link check passed: 1775 repo path references resolve.; Ledger inbox check passed: 22 pending request(s), 138 applied.; ledger write discipline self-test passed.; Branch review ledger guard passed: 880 live table records + 1206 archived + 91 immutable" }, { - "date": "2026-07-30", - "ref": "PR-1469", - "head": "02108d5424f8a3ab50f45808a6cc3cbd872e7555", - "scope": "PR #1469 component state matrix coverage", - "outcome": "PASS after current-main sync; tests execute enabled and disabled popup transitions plus document search loading, empty, and fault states", - "checks": "focused Vitest 2 files, 10 tests passed; outstanding-issues and branch-review-ledger guards passed; no unresolved review threads" + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "80a00d0cb97194f62cb5c37170f6c30121d3b78c", + "scope": "Differentials mobile rank formatter correction", + "outcome": "Restored Prettier canonical call-chain wrapping for the mobile rank calculation; no behavior change.", + "checks": "git diff --check; canonical formatter layout compared with retained repository review commit; focused tests unavailable locally: vitest is not installed" }, { - "date": "2026-07-30", - "ref": "PR-1470", - "head": "1932e81ece9361c08607d2ef01ad653a7df0ac8d", - "scope": "PR #1470 full diff vs origin/main", - "outcome": "PASS after repair: #013 remains open and measurement-gated", - "checks": "check:outstanding-issues passed; docs:check-links 1408 passed; Prettier passed; git diff --check" + "date": "2026-07-25", + "ref": "audit-remediation (PR #1153)", + "head": "80ca8bbeaaf43696863ce4a0949ca880d17a5eed", + "scope": "Open-PR maintenance: fail-closed test and skill sync fixes", + "outcome": "Before: 3 actionable review threads; Vitest accepted empty selections; skill sync auto-promoted uncatalogued folders and generated aliases as implicitly invocable. After: empty selections fail by default, uncatalogued folders require an explicit catalog decision, and generated alias manifests target the canonical skill with implicit invocation disabled.", + "checks": "`npm run skills:sync` pass; `npm run check:skills` pass (32 canonical, 8 aliases); Prettier and diff checks pass; focused Vitest blocked by the repository heavyweight lock owned by another worktree; no provider-backed checks run." }, { - "date": "2026-07-30", - "ref": "PR-1471", - "head": "ec6a8683c923cebbf3c028d6e2a89ee0efe32f18", - "scope": "PR #1471 Therapy Compass payload", - "outcome": "PASS: compact browse index preserves card fields and first-sentence best-used-for data while the search route explicitly loads the full catalogue", - "checks": "therapy index current at 205 records; focused Vitest 3 files, 20 tests passed; typecheck passed; provider-backed Lighthouse not run" + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "80ce09e3fa2038a05d9099f00c540aa8482c85d2", + "scope": "CI repair", + "outcome": "refreshed generated scripts inventory after latest-main sync", + "checks": "docs inventory; docs script references; codebase-index coverage; Prettier; staged diff check" }, { - "date": "2026-07-30", - "ref": "PR-1473", - "head": "a2b2820c13a47425cfc0ea751e57ee35e9bd1105", - "scope": "PR #1473 full diff vs origin/main", - "outcome": "PASS after review repair: governance refusal and error-state contracts are consistent", - "checks": "outstanding-issues guard passed; docs links 1412 passed; docs index passed; Prettier passed; git diff --check" + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "80df35f6cebe5f8a29dbbe98c960c114c64de8c7", + "scope": "PR #1377 CI/review babysit", + "outcome": "Re-synced main after #1378 (DIRTY=staleness). Codex P1+P2 threads resolved. Hosted CI green on d7aa4c6c prior tip; re-running after sync.", + "checks": "prior tip CI: PR required success; Production UI/Unit/Build/Static/Migration success; CircleCI success; merge-tree clean" }, { - "date": "2026-07-30", - "ref": "PR-1475", - "head": "6de5c321beac55860cc4b6fc7d26ef5a7e088f38", - "scope": "PR #1475 ingestion behavioral extraction", - "outcome": "PASS after current-main reconciliation; extracted decisions preserve entrypoint behavior and replace the matching source-grep assertion with executable coverage", - "checks": "focused Vitest 3 files, 27 tests passed; typecheck passed; outstanding-issues and branch-review-ledger guards passed; provider-backed ingestion not run" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "80eb8f6d1c332ee5c32a27da93eb026fb6d9b0d1", + "scope": "PWA stylesheet design-token contract remediation", + "outcome": "Replaced PR-introduced raw PWA motion, padding, radius, gap, and line-height declarations with scoped semantic roles and existing design tokens; preserved rendered values.", + "checks": "git diff --check; manual CSS-contract audit (no new raw guarded declarations); static gate unavailable locally: @typescript/typescript6 not installed" }, { - "date": "2026-07-30", - "ref": "PR-1484", - "head": "9583b7fdc3d2908874c39654dadce0ec7401640a", - "scope": "PR #1484 final current-main review", - "outcome": "approved after fixing P2 file-wide Prettier-ignore false rejection; composite actions retain coverage, workflow-only changes skip coverage, ledger canonicalization and ready-for-review/action-pin guards match repository contracts", - "checks": "GitHub Actions pin, CI scope, outstanding-issues, branch-review-ledger, Prettier and diff checks passed; final merge-tree audit clean; hosted exact-head CI pending push" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", + "scope": "PR #1976 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-07-30", - "ref": "PR-1484", - "head": "dfb23bb48a16a4da5fd54a34205d8df9796ecc66", - "scope": "PR #1484 final merge readiness after main sync", - "outcome": "approved; no new P0-P2 findings after current-main sync", - "checks": "outstanding-issues, branch-review-ledger, GitHub Actions pin, CI scope, diff check and final merge audit passed" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", + "scope": "PR #1976 PWA exemption formatter follow-up", + "outcome": "Corrected two exemption descriptions that were under the 120-column formatter width and must remain single-line properties.", + "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/style-contract-registry.test.ts unavailable: node_modules/vitest/vitest.mjs absent." }, { - "date": "2026-07-30", - "ref": "PR-1488", - "head": "05008bb3937a646043c40cda8b78eca70271f342", - "scope": "archive issue 105 after browser proof", - "outcome": "PASS: closure evidence is specific and internally consistent; removed incidental ledger-row reordering", - "checks": "outstanding-issues guard; Prettier; diff review; zero unresolved threads" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", + "scope": "PWA phone install/composer overlap regression", + "outcome": "Restored the shared phone composer reserve for mode-home install sheets after the exact-head production UI geometry test found a 390px overlap.", + "checks": "git diff --check 0dd4b7e9be293815ec3d06f3b57682a1578bafe4; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/ci-change-scope.mjs --self-test; exact-head production UI geometry failure reviewed" }, { - "date": "2026-07-30", - "ref": "PR-1490", - "head": "0a44df55532fcea3cf3b8cad28526ff8805d803b", - "scope": "PR #1490 consolidated session follow-ups", - "outcome": "reviewed; consolidated accurate provider-token, preserved-worktree, install-parity, CodeRabbit, hook, and physical-device findings; resolved concurrent documentation conflict without lost rows", - "checks": "check:outstanding-issues pass; check:branch-review-ledger pass; docs:check-links pass; git diff --check pass" + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "80fd6c04afdfa30e92c1cdf2ea5ba9d3d32a02c6", + "scope": "PWA style-contract formatter follow-up", + "outcome": "Formatted the PWA style-contract exemption entries reported by changed-file formatting. Targeted registry test unavailable because this isolated worktree has no node_modules/vitest; Lighthouse was not run locally by instruction.", + "checks": "node --check tests/helpers/style-contracts.ts; git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-07-30", - "ref": "PR-1490", - "head": "6662711234f97281dd3d0811059a068202fb1274", - "scope": "PR #1490 consolidated final current-main review", - "outcome": "APPROVE; preserved current-main canonical #151-#153 rows, retained unique #154-#156 findings, folded #1509 style-contract closure, and kept the richer #098 refutation evidence; no remaining P0-P2 findings.", - "checks": "installed-lock parity PASS; tsc --noEmit PASS; single-file ESLint PASS; issue/ledger/docs/format/diff guards PASS; focused Vitest coordinator-blocked" + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "81005d18", + "scope": "Codex mojibake-ledger disposition", + "outcome": "RESOLVED. Historical rows restored byte-for-byte from origin/main; append-only thereafter.", + "checks": "exact prefix check; check:branch-review-ledger PASS; no provider checks." }, { - "date": "2026-07-30", - "ref": "PR-1492", - "head": "4fdc4ba99f94a369702c747b104fa4eaf48cb53e", - "scope": "PR #1492 exact-head branch-sync anti-churn review", - "outcome": "approved after P2 repair; current helper fails closed on Actions lookup errors and defers only behind branches with queued or running exact-head CI; operator guidance and tests match", - "checks": "focused Vitest 9 tests passed on reviewed implementation; hosted static checks passed; exact-head coverage in progress at review; merge-tree audit clean" + "date": "2026-07-14", + "ref": "claude/design-sync-fixes-p1", + "head": "8103c560fb7e69dcadb1155cf9feb706aa8a8517", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-30", - "ref": "PR-1492", - "head": "a50640970a4e4197c64fba7239aeae073445fed9", - "scope": "PR #1492 branch-sync churn review", - "outcome": "FIXED P2: exact-head queued or in-progress workflows now block automated branch updates; Run PR guidance matches the executable guard", - "checks": "focused Vitest 1 file, 8 tests passed; Prettier passed; sync dry-run passed on 19 open PRs; diff check passed; no provider-backed application checks run" + "date": "2026-07-14", + "ref": "origin/claude/design-sync-fixes-p1", + "head": "8103c560fb7e69dcadb1155cf9feb706aa8a8517", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { "date": "2026-07-30", - "ref": "PR-1493", - "head": "fbe58d8045e2888d19425c901f1b96168caf944b", - "scope": "PR #1493 post-merge ingestion recovery review", - "outcome": "approved post-merge; owner-scoped document writes, lease-preserving sibling completion, per-document partial bulk results, and recovery-owner selection are coherent with existing contracts; no reproducible P0-P2 defect found", - "checks": "reviewed exact squash diff across 8 files; branch evidence 4 focused files 183 tests passed, typecheck passed, production-readiness READY; exact hosted CI and merge-tree proof passed before merge; no live provider workflow dispatched" + "ref": "codex/review-pr1475", + "head": "814bb1cfbe05ce136d1ec4319f396be18fc932f8", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1475 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-30", - "ref": "PR-1494", - "head": "807a3a09f5afc12e8db4f9158abe09d9c7b336c9", - "scope": "PR #1494 pre-commit fail-open review", - "outcome": "FIXED P2: legacy worktrees may skip a genuinely absent generator, while a staged deletion or rename now fails closed", - "checks": "docs-inventory Vitest 5 passed; shell syntax passed; Prettier test check passed; diff check passed" + "date": "2026-08-15", + "ref": "codex/medication-info-header-20260814", + "head": "815bebba630ee808b4e3a5710fdb78a8433690a6", + "scope": "Medication information navigation header", + "outcome": "Fixed the PR-introduced retired shadow alias that failed the exact-head design-system contract, then merged current main.", + "checks": "git diff --check; ledger inbox/outstanding-issues/ledger-discipline guards; direct replacement assertion; design-system gate attempted but unavailable because this isolated worktree has no node_modules" }, { - "date": "2026-07-30", - "ref": "PR-1495", - "head": "99c62cf3bd6f2a47d13b6602d54de1f8f73123e1", - "scope": "PR #1495 hydration documentation correction", - "outcome": "approved after correcting unrelated issue #101 label and appending a resolvable landed-SHA hydration review record; content consolidated into PR #1490", - "checks": "outstanding-issues and ledger guards previously passed; documentation-only diff reviewed; no provider checks required" + "date": "2026-08-12", + "ref": "codex/implement-verification-policy-changes-for-multiple-tasks", + "head": "8177129497eb95105cdd5bba80dbf72a9f88b066", + "scope": "pr-review", + "outcome": "resolved actionable Codex review findings; updated operational-risk patterns; removed outdated metadata from PR body and title", + "checks": "verify:cheap, pr-policy self-test" }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "06b8d40d632c7802aca1add0f35ed2d82d5e98de", - "scope": "PR #1497 final test-timeout follow-up", - "outcome": "APPROVE: bounded offline readiness subprocess; no remaining findings", - "checks": "static Cloud contract PASS; branch-review-ledger PASS; docs script refs PASS; diff check PASS; full hosted CI required" + "date": "2026-07-31", + "ref": "PR-1153", + "head": "818f9efd551c69971e717b7937d75ead40a4795a", + "scope": "Bugbot high-risk PR review", + "outcome": "No P0; P2 passWithNoTests could mask empty suites; proxy/PDF handling otherwise sound", + "checks": "diff versus main; PR policy/body checks; no provider calls" }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "5bcf26b12b89e89539a3dfc903155cc49475a68b", - "scope": "PR #1497 append-only ledger reconciliation", - "outcome": "APPROVE: existing ledger order restored; exact PR diff is three append-only review rows; no remaining findings", - "checks": "typecheck PASS on repaired code; parent unit coverage PASS; branch-review-ledger PASS; unresolved threads 0; fresh hosted CI required" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: eval measurement floor, ADDENDUM 4 A-PR-1)", + "head": "81ab9696da4b330ca0b2e5519891a9942f90421b", + "scope": "Measurement floor for evidence-gated ranking tuning: canary artifact emission, alias-aware snapshot builder, snapshot provenance/freshness — no ranking behavior change", + "outcome": "Closes the three gaps blocking safe tuning (Phase B): (1) eval-canary's golden step now writes the per-case JSON artifact (--json-out decoupled from --json so the tee'd log keeps the human-readable lines the failure-issue analyzer parses) and uploads .local/eval-canary/ via pinned upload-artifact (30-day retention, include-hidden-files for the dot-dir, contents = same class as the already-public step logs: titles/telemetry/220-char previews of the all-public corpus) — snapshot regeneration stops costing a paid dispatch; (2) clinicalDocumentAliases/clinicalContentAliases moved verbatim to shared scripts/lib/clinical-aliases.ts and the snapshot builder grades documentMatch/contentMatch through them (discriminating tests: EMHS agitation title and spelled-out \"absolute neutrophil count\" grade as hits only via aliases — raw labelMatches pinned false), ending tuner ground truth disagreeing with the live gates; (3) snapshots carry generatedAt + optional sourceRunId, validator accepts them, exactly-36 relaxed to at-least-36 (floor still rejects truncated artifacts; sourceCaseCount + per-case candidate minimums unchanged), and a 30-day freshness test (activates on first regeneration) blocks silent corpus drift. Builder smoke-verified end-to-end on a synthetic 36-case artifact (alias grading + provenance stamped + validator green). Static hyphen audit of all 36 cases' terms: no currently-blocked term (canary #52 = 36/36); residual risk classes documented for the A-PR-2 artifact-grounded pass — punctuation-joined tokens (IM/PO, schizo-affective, post-natal) and inert stem entries (obsess/compuls/hyperactiv/impuls can never match whole-token) that currently ride on whole-word OR-alternates.", + "checks": "Targeted vitest 52/52 (ranking-tuning + eval-retrieval + eval-quality); npm run test 3019 passed / 1 known container-only pdf-budget artifact; lint + typecheck clean; check:github-actions + check:ci-scope PASS; prettier clean; check:production-readiness expected missing-secret FAILs only (demo-mode container); no provider calls — live validation = tonight's scheduled canary emits the first artifact at $0" }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "877d36ae793f5e6eca42c9e7711c37fc4c0f525c", - "scope": "PR #1497 final CI repair and main reconciliation", - "outcome": "APPROVE: hosted typecheck defect fixed; current-main docs reconciled; no remaining findings", - "checks": "typecheck PASS; unit coverage PASS at parent; outstanding-issues PASS; branch-review-ledger PASS; diff check PASS; fresh hosted CI required" + "date": "2026-07-28", + "ref": "claude/close-knip-false-positive", + "head": "81ae7de27688fda09c6142adba55a2a76b2ceec2", + "scope": "PR #1340 babysit / CI+Bugbot", + "outcome": "MERGE-READY for docs-only tip. No failing CI; PR required SUCCESS; Static PR checks SUCCESS; no merge conflicts (0 behind / 1 ahead of origin/main; merge-tree clean); 0 unresolved review threads; 0 Bugbot/cursor[bot] findings. Claim revalidated: npm run check:knip exits 0 after install. No code/config fix needed. Residual: human approving review / merge decision.", + "checks": "hosted CI PR required+Static SUCCESS; local check:runtime, lock-parity, lint, typecheck, format:changed, docs:check-links, docs-script-refs, check:knip; Bugbot none" }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "8d9e74ae8783bac6e96ec4bd0b5e5b5ab19afc42", - "scope": "PR #1497 final current-main review", - "outcome": "approved after fixing P2 incomplete offline credential scrubbing and fail-open live-test gap", - "checks": "check:codex-cloud, 41 focused tests, verify:cheap (443 files; 4641 passed, 3 skipped), issue and ledger guards, final merge audit passed" + "date": "2026-08-15", + "ref": "1976", + "head": "81c44aee0b788a5aa93522a09092cddcd12b0bf0", + "scope": "review-and-fix", + "outcome": "CI blocker fixed: register compact native-install CSS selectors in the unlayered style inventory", + "checks": "style-contract registry 15/15; PWA DOM 10/10; PWA Chromium 5/5; Lighthouse exact-head green" }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "978459f8788568be7aa0dd4d6a8b309a3d2d077e", - "scope": "PR #1497 final current-main review and typecheck repair", - "outcome": "APPROVE after fixing Error.code narrowing in the offline readiness test; no remaining P0-P2 findings.", - "checks": "check:codex-cloud PASS; full Vitest 444 files / 4644 passed / 3 skipped; readiness focused 6/6; tsc --noEmit PASS; issue and ledger guards PASS; Prettier and diff checks PASS" + "date": "2026-07-13", + "ref": "claude/perf-r2-auth-roundtrip", + "head": "82376e73f1d12c5e94e85847b307b49819524b89", + "scope": "branch-cleanup", + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/perf-r2-auth-roundtrip; git diff --name-only reported 46 path(s)." }, { - "date": "2026-07-30", - "ref": "PR-1497", - "head": "b0243464df533a94199b670f1bf0563d84d3f4d6", - "scope": "PR #1497 combined exact-head review after concurrent main sync", - "outcome": "APPROVE; retained all append-only records and the type-safe timeout diagnostic; no remaining P0-P2 findings.", - "checks": "check:codex-cloud PASS; full Vitest 444 files / 4644 passed / 3 skipped; readiness 6/6; tsc --noEmit PASS; issue/ledger/format/diff/final audit PASS" + "date": "2026-08-07", + "ref": "cursor/document-citation-landing-7bc3", + "head": "82378a2bb4b875f1b610ef60c0ec3c94ee461f10", + "scope": "document-viewer citation landing", + "outcome": "ship: PDF-first citation landing; excerpt chip; indexed text collapsed until inspect/search; phone overview condensed; rail pin removed", + "checks": "unit 5539 pass; playwright critical citation+mobile PDF-first 2 pass; browser QA desktop/phone pass; typecheck; lint; build ALLOW_BUILD_WITH_DEV_SERVER=1; eval:rag:offline 36 golden; verify:pr-local stages green (first run flaked design-system-adoption timeout, retry green)" }, { - "date": "2026-07-30", - "ref": "PR-1498", - "head": "42b10ff54977d5835e31201f4dbd36cf9636fc07", - "scope": "PR #1498 advisory UI issue closure", - "outcome": "approved; current-main scope classifier and gate manifest satisfy issue #137, and the documentation-only archive move is consolidated into PR #1490", - "checks": "CI-scope, gate-manifest, outstanding-issues and diff checks passed" + "date": "2026-07-19", + "ref": "all remote feature branches and registered worktrees against `origin/main` through PR #899", + "head": "8242fa63d5f5b79fc770c9ae4f633e3a784b80e1", + "scope": "branch/worktree cleanup, useful-work recovery, and protected-main merge closure", + "outcome": "Deleted 122 stale or closed remote feature refs with exact SHA leases; four additional merged PR branches were removed by the protected-main PR workflow. Removed 32 obsolete, superseded, or merge-proven worktree registrations. Recovered useful dirty RAG work into PR #901 (deterministic and opt-in semantic reranking) and PR #902 (retrieval phase latency telemetry), preserved follow-up decisions in `docs/process-hardening.md`, and recovered four missing historical review rows. PRs #897, #899, #901, and #902 are merged with green exact-head checks and zero unresolved review threads. A detached full-repo-review worktree is deliberately retained because its ownership/activity could not be safely disproved; one unregistered `node_modules` junction residue is also retained because deletion was denied by local safety policy.", + "checks": "Fresh fetch/prune; full GitHub PR/check/thread inventory; `git worktree list --porcelain`; cherry-pick-aware right-only logs; exact leased remote deletes; exact-old-value local ref deletes; clean-worktree, path, and merged-PR proof before every removal. PR #899 local proof: focused Vitest 31/31, changed-file ESLint, `verify:cheap` 317 files / 2,879 tests, and `verify:ui` 239/239; exact-head hosted checks all passed. PR #901 local proof: `verify:cheap` 316 files / 2,870 tests; PR #902 focused Vitest 8/8 plus ESLint and typecheck. No OpenAI, Supabase, live clinical, deployment, or production-data workflow ran; provider-backed semantic canary evaluation remains approval-gated." }, { - "date": "2026-07-30", - "ref": "PR-1507", - "head": "12e5c8c977a873a7b900596fdc310a1a78d863f0", - "scope": "PR #1507 current-main merge and ledger normalization", - "outcome": "APPROVED — no findings after current-main sync; feature diff unchanged and ledger reduced to three unique append-only review rows.", - "checks": "focused Vitest 2 files/40 tests PASS; outstanding-issues PASS; branch-review-ledger PASS; diff check PASS; merge-tree f8f88bd79706c2fb36637014a25e93af6e08eb99" + "date": "2026-07-19", + "ref": "all remote feature branches and registered worktrees against `origin/main` through PR #899", + "head": "8242fa63d5f5b79fc770c9ae4f633e3a784b80e1", + "scope": "branch/worktree cleanup, useful-work recovery, and protected-main merge closure", + "outcome": "Deleted 122 stale or closed remote feature refs with exact SHA leases; four additional merged PR branches were removed by the protected-main PR workflow. Removed 32 obsolete, superseded, or merge-proven worktree registrations. Recovered useful dirty RAG work into PR #901 (deterministic and opt-in semantic reranking) and PR #902 (retrieval phase latency telemetry), preserved follow-up decisions in `docs/process-hardening.md`, and recovered four missing historical review rows. PRs #897, #899, #901, and #902 were merged with green exact-head checks. Correction: the original zero-unresolved-thread statement was inaccurate for PR #901; a subsequent full-repository audit recorded two unresolved semantic-rerank threads, whose code findings are remediated by the 2026-07-19 P2 audit-fix entry below. A detached full-repo-review worktree is deliberately retained because its ownership/activity could not be safely disproved; one unregistered `node_modules` junction residue is also retained because deletion was denied by local safety policy.", + "checks": "Fresh fetch/prune; full GitHub PR/check/thread inventory; `git worktree list --porcelain`; cherry-pick-aware right-only logs; exact leased remote deletes; exact-old-value local ref deletes; clean-worktree, path, and merged-PR proof before every removal. PR #899 local proof: focused Vitest 31/31, changed-file ESLint, `verify:cheap` 317 files / 2,879 tests, and `verify:ui` 239/239; exact-head hosted checks all passed. PR #901 local proof: `verify:cheap` 316 files / 2,870 tests; PR #902 focused Vitest 8/8 plus ESLint and typecheck. No OpenAI, Supabase, live clinical, deployment, or production-data workflow ran; provider-backed semantic canary evaluation remains approval-gated." + }, + { + "date": "2026-08-16", + "ref": "PR #2007 / codex/guide-search-chrome-20260815", + "head": "82576f737912e5fc2b601ec1e4f4ca74ebb04e69", + "scope": "end-to-end PR review and base sync", + "outcome": "Merged main without loss; fixed hidden Sheet safe-area retention; preserved focused Guide chrome coverage", + "checks": "Manual adversarial diff pass; TypeScript syntax probes; merge-tree and exact-head CI rechecked" }, { - "date": "2026-07-30", - "ref": "PR-1507", - "head": "12e5c8c977a873a7b900596fdc310a1a78d863f0", - "scope": "PR #1507 final current-main review", - "outcome": "APPROVE; architecture-specific container lookup and immutable-root fail-closed fallback are preserved after current-main reconciliation; no remaining P0-P2 findings.", - "checks": "focused Vitest 2 files / 40 tests PASS; tsc --noEmit PASS; issue/ledger/format/diff guards PASS" + "date": "2026-08-26", + "ref": "PR #2383", + "head": "82721bc5c2ade304cc9041517755d89fc3f72883", + "scope": "PR #2383 Care Plan synthetic clinical prototype changed scope", + "outcome": "Fixed four review findings and merge conflicts with minimal root-cause changes; preserved current-main handoff corrections; no unresolved P0-P2 findings in changed scope", + "checks": "exact-head format:changed and docs:check-links passed; focused Care Plan suite 362/362 passed before final ref-only approval refinement; exact regression, lint, and typecheck pending repository coordinator and hosted exact-head CI" }, { - "date": "2026-07-30", - "ref": "PR-1507", - "head": "5e22b89f7bdb73335d12a0cf4091915615b20dd7", - "scope": "PR #1507 remote ancestry reconciliation", - "outcome": "APPROVED — identical-tree remote merge ancestry reconciled without content change; no remaining findings.", - "checks": "focused Vitest 2 files/40 tests PASS on identical tree; issue and ledger guards PASS; diff check PASS; merge-tree d6594063a4aa2c5f8b7a9ec72c1c41c94e6937fa" + "date": "2026-07-27", + "ref": "PR #1290 / `codex/search-performance-correctness-pr`", + "head": "82775e25fc1519c436a719b0d204a7c57332d811", + "scope": "CI fix + Bugbot", + "outcome": "Fixed P1 from trim commit: restored `sourceSearchInputRef` + double-rAF focus for mobile Search in document (was title-seeding). Cleared Prettier indent break that failed Static PR checks. Mergeable; 0 behind main; no unresolved review threads (Codex/CodeRabbit rate-limited).", + "checks": "Bugbot; vitest document-detail/private-access/universal-search/viewer-shell/audit-nav 186/186; maintainability 1734/1734; prettier check; no provider checks." }, { - "date": "2026-07-30", - "ref": "PR-1509", - "head": "0644f709803c928fb78ced75b504a45c08be0dab", - "scope": "Replacement consolidation after PR #1490 concurrent merge", - "outcome": "APPROVE; main's canonical #151-#153 and #143 records retained, unique #154-#156 follow-ups and #094 closure preserved, mockup token repairs unchanged; no remaining P0-P2 findings.", - "checks": "installed-lock parity, tsc, ESLint, issue/ledger/docs/format/diff guards PASS; focused design-token Vitest coordinator-blocked" + "date": "2026-07-25", + "ref": "sitewide-design-review-ledger (PR #1181)", + "head": "8284fcd4420", + "scope": "Babysit sweep: design-review ledger — auto-merged after sync", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-30", - "ref": "PR-1509", - "head": "a78c0cf89f323e12cb6ffa4721f54b5cf70cba21", - "scope": "consolidated remaining reviewed session follow-ups", - "outcome": "no actionable findings; preserved all reviewed consolidation content after concurrent head reconciliation", - "checks": "outstanding-issues, branch-review-ledger, design-system-contract, docs links/scripts/index, changed-format, diff-check, typecheck, focused eslint" + "date": "2026-07-25", + "ref": "sitewide-design-review-ledger (PR #1181)", + "head": "8284fcd4420", + "scope": "Babysit sweep: design-review ledger ? auto-merged after sync", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-30", - "ref": "pr/1431", - "head": "74e10087eb20a81279fb56d18f28a2475d895fab", - "scope": "docs: visual baseline platform layout", - "outcome": "approved; candidate adoption and Linux baseline guidance match implementation", - "checks": "runtime/install parity; ledger; CI scope; docs inventory/links; Prettier; diff-check" + "date": "2026-07-17", + "ref": "codex/header-footer-scroll-timing-20260717", + "head": "8298bfdcb40c207dbac1128e83c07b4aba782e32", + "scope": "header and bottom-composer scroll timing, motion, responsive behavior, and merge readiness", + "outcome": "Added deliberate hide/reveal travel thresholds with direction-reset handling, aligned header and composer easing/durations, and preserved reduced-motion and breakpoint behavior. No remaining high-confidence P0-P2 defect was found in the scoped diff or focused live behavior.", + "checks": "Focused Vitest 7/7; targeted Chromium UI 5/5; scoped ESLint; Prettier; full TypeScript; full lint; `git diff --check`. `verify:cheap` reached the aggregate Vitest phase, where two repository graph scans exceeded their 30-second test timeout under local disk contention; isolated assertions passed until the same timeout. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-07-30", - "ref": "pr/1431", - "head": "897de9b1b7fc243006c1a71e67a6333681272ac6", - "scope": "docs: visual baseline platform layout", - "outcome": "approved after PR 1462 base sync; visual guidance unchanged", - "checks": "ledger; CI scope; docs inventory; Prettier; diff-check" + "date": "2026-08-21", + "ref": "work", + "head": "829dd358d154611141afe3ca7c37c1546db8b88f", + "scope": "on-demand DocumentViewer search desktop and phone behaviour", + "outcome": "No remaining P0-P2 implementation or review issue: current main contains the #2199 on-demand search implementation and its visual-baseline review fix; stale-response, close/reset, focus restoration, desktop hit navigation, and phone composer ownership/hide-on-scroll paths are covered and pass.", + "checks": "npm run test -- --project=jsdom tests/document-viewer-shell.dom.test.tsx: 1 file, 7 tests passed; npm run test:e2e -- tests/ui-smoke.spec.ts --project=chromium --grep search-regressions-or-phone-composer: 2 tests passed" }, { - "date": "2026-07-30", - "ref": "pr/1431", - "head": "b4848aa92e890193a4a41744b611746673f3b058", - "scope": "docs: visual baseline platform layout", - "outcome": "approved after remote-head reconciliation; guidance unchanged", - "checks": "ledger; CI scope; docs inventory/links; Prettier; diff-check" + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "82ab8e1bc2677dd6f35a880a8c294cd140e22a7e", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "fixed Production UI (1) Services viewport-shrink flake: viewportHeightChanged preserves hide-on-scroll; supersedes f3cd6db5 product tip after CI red on 2d3d4e82", + "checks": "vitest use-hide-on-scroll 23/23; playwright Services viewport journey 1 passed (2.2s); prior Production UI (1) job 91091393220 failed on ui-phone-scroll-page-owned:577 re-settle timeout" }, { - "date": "2026-07-30", - "ref": "pr/1465", - "head": "4e34d97bb9eb5122b9d8f8e54c42793c727f5085", - "scope": "issues: record fresh #133 evidence", - "outcome": "approved; duplicate-ID race and Prettier prerequisite accurately recorded", - "checks": "issue/ledger; docs inventory/links; Prettier; diff-check" + "date": "2026-08-07", + "ref": "claude/ds-token-tracking-scale (PR #1663)", + "head": "82b6f5a4c02c163aba4391e7ca5a1ab77780e7ae", + "scope": "prlanded", + "outcome": "MERGED: name letterspacing scale and ratio tokens; tip ec0b03c3 empty vs squash 82b6f5a4; remote branch deleted", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-07-30", - "ref": "pr/1467", - "head": "6b84090a7c4a57a19521a820bf4c488090fb6062", - "scope": "docs: close rejected Playwright cache proposal", - "outcome": "approved; measured rejection archived on current main", - "checks": "check:outstanding-issues; check:branch-review-ledger; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-07-13", + "ref": "origin/copilot/fix-issue-in-database-action", + "head": "82c0e87224880ccbeee39f4101e98cf29683f74f", + "scope": "branch-cleanup", + "outcome": "Retained: 6 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-issue-in-database-action; git diff --name-only reported 66 path(s)." }, { - "date": "2026-07-30", - "ref": "pr/1467", - "head": "fc7abe7f7e7ecb97dc7896c16b5553256da3ad80", - "scope": "docs: close rejected Playwright cache proposal", - "outcome": "approved after current-main reconciliation; archive entry preserved", - "checks": "issue/ledger guards; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-07-14", + "ref": "copilot/fix-issue-in-database-action", + "head": "82c0e87224880ccbeee39f4101e98cf29683f74f", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-30", - "ref": "pr/1471", - "head": "fc6b890ad987ef107701d4ad05e4adf7556759d9", - "scope": "Therapy browse payload and full-prose search preservation", - "outcome": "no findings", - "checks": "13 focused tests; therapy index guard; ledger guard" + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "82c17f76", + "scope": "Mode-switch prefetch review + merge restore", + "outcome": "Prefetch mode homes on menu open; later reconciled with main per-option prefetch. Ledger restored append-only from main after mojibake rewrite.", + "checks": "Focused nav tests; check:branch-review-ledger; no provider checks." }, { - "date": "2026-07-30", - "ref": "pr/1476", - "head": "0fd5a3cdba612d30cfd75ea997177f6e29c34bd3", - "scope": "docs: record ESLint 10 ecosystem blocker", - "outcome": "approved after PR 1483 sync; ESLint blocker and issue 105 correction preserved", - "checks": "issue/ledger; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-08-04", + "ref": "pull/1597", + "head": "82ecd3d8fa64ae4e5f1e30eb9f1192d0d53d93f7", + "scope": "Run PR sweep full changed scope", + "outcome": "closed as superseded", + "checks": "Superseded by merged PR 1599 and current main cacheKey-scoped mounts." }, { - "date": "2026-07-30", - "ref": "pr/1476", - "head": "79822031e696cd3906ce01284ec9736938c40a74", - "scope": "docs: record ESLint 10 ecosystem blocker", - "outcome": "approved; blocker matches installed peer ranges and current main", - "checks": "runtime/install parity; issue/ledger; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "82f73943a88fdccf8226344bbb5a0bf52f665ede", + "scope": "Bugbot P2 reconcile after parallel remote fix", + "outcome": "FIXED (reconciled). Remote already landed an allowlist import-graph guard in `tests/cross-mode-differentials-index.test.ts` plus scripts-index/comment refresh. Merged that work and retained a consumer-side lock: `cross-mode-links.tsx` must dynamically import the catalog module (not statically).", + "checks": "Focused vitest `client-performance-boundaries` + `cross-mode-differentials-index` PASS (10/10); no provider-backed checks." }, { - "date": "2026-07-30", - "ref": "pr/1483", - "head": "76393b9a0c6603e2551898c89a33396f52949da3", - "scope": "docs: reopen issue 105 after withdrawn verification", - "outcome": "approved; restores pending LoadingPanel verification without disturbing PR 1462", - "checks": "runtime/install parity; issue/ledger; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-08-18", + "ref": "claude/db-remediation-phase-1-2-19e4de", + "head": "8329d0f02ff1394a65cea6946b786030549563c1", + "scope": "docs-only: Phase 1.2 RPC divergence dossier (docs/audit/live-drift-forensics-2026-08.md §1.2) + one #316 inbox update; PR #2087", + "outcome": "self-review complete: all ten match_* def_hash mismatches classified attribute-only (SET work_mem; 4 mirror-stale, 6 live-ahead), zero repo-ahead, zero UNCLASSIFIED; read-only connector session, no RPC/migration/RAG code changed", + "checks": "verify:pr-local (docs scope) failed:(none); docs:check-links 1826 resolve; check:outstanding-issues 348 rows guard passed; ledger-write-discipline passed; format committed" }, { - "date": "2026-07-30", - "ref": "pr/1483", - "head": "a84fa60eebdbe7a00193c268b401f7abd3cc554e", - "scope": "docs: reopen issue 105 after withdrawn verification", - "outcome": "approved after PR 1473 sync; issue 105 remains correctly open", - "checks": "issue/ledger; docs inventory/links/scripts; Prettier; diff-check" + "date": "2026-07-13", + "ref": "claude/ops-digest", + "head": "8355970c0371b4150f2965a49c611678a8393ad2", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #587.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-30", - "ref": "review/pr1444", - "head": "5d88a6547e5785db0929df5d51a1eaea12ad5ac6", + "date": "2026-07-13", + "ref": "origin/claude/ops-digest", + "head": "8355970c0371b4150f2965a49c611678a8393ad2", "scope": "branch-cleanup", - "outcome": "exact merged PR #1444 head; un-checked-out local branch archived in verified batch3 bundle", - "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #587.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-29", - "ref": "1374", - "head": "c14edb9c6f0bdbbfb147752503e016f2543fd803", - "scope": "PR #1374 review + merge", - "outcome": "merged as 3704007c — DocumentViewer identity-bound state clear (P1) implemented and verified red without it; all 12 review threads resolved", - "checks": "verify:cheap exit 0 (429 files / 4403 tests); PR required success; Production UI success" + "date": "2026-08-17", + "ref": "gemini/viewer-batch-urls-image-probe", + "head": "83da102456b62c2ca2d4a454489b60c40dd4e57e", + "scope": "viewer batch signed urls, image encodings probe, public doc filter", + "outcome": "clean", + "checks": "unit/dom tests (38/38), probe self-test & json, typecheck, lint, format" }, { - "date": "2026-07-29", - "ref": "1391", - "head": "baecef05cac86c4d52af895d483a33ba3c40cd61", - "scope": "PR #1391 review", - "outcome": "reviewed clean — text-4xs retirement confirmed against globals.css (--text-3xs 0.625rem present, --text-4xs absent); orphan guard proven to fail on a reintroduced class; six Playwright retries all retry action-plus-effect so a genuine regression still fails. Resolved the outstanding-issues #108/#109 double-allocation (renumbered to #110/#111, marker to 112) and recorded #111 done", - "checks": "verify:cheap exit 0 (429 files / 4404 tests); design-token-contract 28 passed; check:branch-review-ledger passed" + "date": "2026-07-31", + "ref": "claude/issues-writer-cli (PR #1524)", + "head": "83dec1f5a36d577c87ee9a5382ef8431d197d93d", + "scope": "PR #1524 review+bugbot+fix", + "outcome": "before: dirty/CONFLICTING vs main (outstanding-issues.md + scripts-index.md), missing pull_request CI, 0 review threads, NOT REVIEWED. after: merged origin/main (prefer main queues; renumbered this PR collision-free-ids note #159→#168, next-id=169); fixed wrong skill/writer cite #154→#156/#168; no other P0–P2 writer defects; 0 threads. Residual: concurrent id RMW (#156/#168) still open.", + "checks": "check:outstanding-issues pass (166 rows, next-id=169); outstanding-issues.mjs --self-test pass; vitest tests/outstanding-issues-writer.test.ts 8/8; merge-tree clean vs origin/main; format clean; no provider-backed checks" }, { - "date": "2026-07-29", - "ref": "1391", - "head": "ff4ddfabb8d8594da0c09e04dc37e9286745140b", - "scope": "PR #1391 merge", - "outcome": "merged as 39f2bcea. Three review P2s fixed: both ui-smoke retries made idempotent (toPass re-runs after a late-landing click; the mode-menu one clicked a toggle and oscillated) plus a second guard so the <768px branch can recover at all, and #111 archived instead of left open-and-done. One Production UI red on ui-phone-scroll.spec.ts:574 was proven a flake before re-running: the delta from the passing head baecef05 was two ui-smoke guards and one docs row, neither reachable from that spec, and the PR touches no document-viewer phone-scroll surface. Re-run green", - "checks": "verify:cheap exit 0 (429 files / 4404 tests); design-token orphan guard proven red on a reintroduced class; PR required success with UI_RESULT success on re-run" + "date": "2026-07-31", + "ref": "claude/fable-implementation-fc937c", + "head": "8401138cf7fc2c02d2fad54a7960bbb66d1fd7ae", + "scope": "design-system doc set (SPEC/TOKENS/COMPONENTS/DECISIONS/GATES) + sentry-merge repair (instrumentation syntax, ui-primitives icon revert, sentry options, formatting)", + "outcome": "handoff: PR opened for review; auto-merge not armed (clinical-risk paths)", + "checks": "tsc 0 errors; vitest ui-primitives.dom+icon-button.dom 7/7; token contracts 47/47 (design branch); prettier whole-tree; docs:check-links 1486; eslint 0 errors" }, { - "date": "2026-07-29", - "ref": "agent/document-topbar-actions (PR #1381)", - "head": "9da8ccfb19ff81b876a9bfff4e6b5870641e44d8", - "scope": "PR #1381 CI triage", - "outcome": "merged via squash auto-merge after main sync; all required checks green; no product code fix; no Bugbot/review threads", - "checks": "hosted CI pr-required pass; Production UI pass; CircleCI pass; lint; typecheck; document-viewer-shell.dom; Bugbot none" + "date": "2026-08-02", + "ref": "claude/ds-v2-architecture", + "head": "84147ee123bde50fceefad627d8c89791b27a713", + "scope": "PR #1583 review-and-fix", + "outcome": "fixed Devin --ease-out Tailwind collision as --ease-out-keyword; synced main; Codex ledger-squash note outdated vs tip", + "checks": "vitest overlay+ckb-v2 34p; npm run test 4973p; merge-tree clean" }, { - "date": "2026-07-29", - "ref": "claude/clinical-design-system-update-e34ca9", - "head": "064e70b79bfd9c22008f2d7bf57b0515870b73ce", - "scope": "PR #1375 conflict fix + Bugbot", - "outcome": "FIXED CONFLICTING: merged origin/main; took DocumentViewerRail from main; reapplied tracking-eyebrow in document-rail-panels. Bugbot: 0 findings. MERGEABLE; hosted CI re-running. No unresolved review threads.", - "checks": "local: typecheck PASS; lint PASS; format:changed PASS; design-token+theme+section-nav 40/40; verify:cheap 423 files / 4298 tests PASS. Hosted: PR policy/Change scope/Safety/Semgrep/Gitleaks PASS; Build/Static/Unit/Production UI pending at record time." + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-hot-path", + "head": "843dcf8d287950b2ddf86a121701dfbb95ac86c0", + "scope": "branch-cleanup", + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-hot-path; git diff --name-only reported 49 path(s)." }, { - "date": "2026-07-29", - "ref": "claude/clinical-design-system-update-e34ca9", - "head": "0cdae091ad92f40e0ad7335b3e2d396c44188a4f", - "scope": "PR #1375 conflict fix + Bugbot", - "outcome": "FIXED second CONFLICTING after #1378: took main removal of SelectedDocumentEvidencePanel; retained tracking-eyebrow on surviving document-search-results. Prior DocumentViewerRail + form-detail settlement retained. MERGEABLE; CI re-running.", - "checks": "local: document-search-record-fault + design-token tests; merge-tree CLEAN; prior Production UI PASS on 6903f51f; form-detail e2e 2/2." + "date": "2026-07-14", + "ref": "claude/perf-r2-hot-path", + "head": "843dcf8d287950b2ddf86a121701dfbb95ac86c0", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-29", - "ref": "claude/clinical-design-system-update-e34ca9", - "head": "19b0de8d5f095b1560032e7e31d6e39a88b75415", - "scope": "Clinical Sky design-system token port: accent ramp, five-step surface scale, --e0-e4 elevation ladder, status/identity contrast, 4px radius grid, type-scale floor, tracking/leading tokens, brand+pre-paint+print-palette drift fixes, new design-token contract test", - "outcome": "PR #1375 opened; no auto-merge (user review of visual change pending)", - "checks": "verify:pr-local 418/418 files 4265 tests; verify:cheap green; verify:ui 323 passed with load-race failures re-verified idle; header-overlap race fixed stable x4; live token readback both schemes" + "date": "2026-08-18", + "ref": "claude/therapy-compass-convergence-2iufoh (PR #2131)", + "head": "847ff291b55a69cff1029648754d316a79ca1bef", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No drift (0 behind main, base sha matches origin/main exactly) and no CI fixes needed: all required checks green (PR required, Static PR checks, PR policy, PR mergeability, GitGuardian, Semgrep, Gitleaks all success; heavy jobs correctly skipped for doc-only scope). 1 unresolved review thread (CodeRabbit P3 nit: format / placeholders as code in the immutable record file) — replied declining the direct edit because the record filename is sha256(row) per reviewRecordPath() and check-branch-review-ledger.mjs asserts filename==hash(content), so hand-editing would desync the content-addressing invariant; left open for a human --supersede decision, not resolved.", + "checks": "mcp__github__pull_request_read get/get_status/get_check_runs/get_files/get_comments/get_review_comments (live); git fetch + git rev-list --left-right --count origin/main...origin/claude/therapy-compass-convergence-2iufoh (0 behind); no local gates run — no code change made, no CI fix required; no provider-backed checks run" }, { - "date": "2026-07-29", - "ref": "claude/clinical-design-system-update-e34ca9", - "head": "38bc5682abc4ceca26eca9dfba63872e1cf032be", - "scope": "PR #1375 conflict fix + Bugbot", - "outcome": "FIXED Production UI flake: form-detail-page strict-mode double main during hydration; expectSingleSettledOwner on desktop+mobile form detail tests. Prior conflict fix retained. MERGEABLE; CI re-running.", - "checks": "local: form detail e2e 2/2 PASS; prior verify:cheap/typecheck/lint green. Hosted Production UI was fail on 0a3f7a6d; awaiting tip recheck." + "date": "2026-07-13", + "ref": "origin/claude/subagents-clinical-rag-uqa5aa", + "head": "848c15dd3da014c08ca67df2867b86c49ddf861e", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #609.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-29", - "ref": "claude/clinical-design-system-update-e34ca9", - "head": "a9ec901d80a5352ffc58968582c36133be150d4b", - "scope": "PR #1375 conflict fix + Bugbot", - "outcome": "Tip after ledger bookkeeping for form-detail settlement fix. MERGEABLE; awaiting hosted Production UI / PR required on this HEAD.", - "checks": "local form-detail e2e 2/2 on 38bc5682; typecheck/lint/verify:cheap previously green; no unresolved review threads; Bugbot 0 findings." + "date": "2026-07-13", + "ref": "claude/perf-r2-hot-path", + "head": "848fa9248a48ac608ca1ca470cd85d203e4b036f", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #480; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-29", - "ref": "claude/clinical-kb-pwa-review-asi3wb", - "head": "df29f311b60cadf8e43bf51283a9d6f496b295e3", - "scope": "branch-cleanup-deletion-pending", - "outcome": "DELETION PENDING — content proven fully on main. Branch tip IS the merge-base with main (df29f311), so the tip is a direct ancestor of main; tree comparison of merge-base vs tip shows 0 changed files. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", - "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." + "date": "2026-08-18", + "ref": "claude/clinical-guide-footer-search-4l54hp", + "head": "8493f10a6489ebaa8ef1cabcd23b6c5cd0913b64", + "scope": "Guide Centre footer composer shared phone dock chrome", + "outcome": "approved", + "checks": "verify:pr-local all green; verify:phone-chrome static and unit stages green; focused-browser stage blocked by Playwright revision drift" }, { - "date": "2026-07-29", - "ref": "claude/dazzling-blackwell-f348d0", - "head": "c9bec8f9dce38cb647de9aa64ebf08bf7823a524", - "scope": "branch-cleanup-deletion-pending", - "outcome": "DELETION PENDING — content proven fully on main. Branch tip IS the merge-base with main (c9bec8f9), so the tip is a direct ancestor of main; tree comparison of merge-base vs tip shows 0 changed files. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", - "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "84d846d8d0d168ca2babcc6d699e0a88bb0379c0", + "scope": "Inspect closeout: sync main + forced-colors scope", + "outcome": "FIXED. GitHub CONFLICTING was unpushed main sync (local merge-tree CLEAN, 3 behind on remote tip). Pushed merge. Bugbot P2: removed broad forced-colors `!important` wipe on `.edge-glass-header`/`[aria-selected=true]`/`.surface-raised` (token remap retained; header Canvas fill already earlier). Mockup board `z-[2147483647]` → ladder `z-[100]`. Prior CodeRabbit/Codex threads remain resolved.", + "checks": "lint/typecheck/format:check PASS; vitest 4197; local build PASS; no provider checks." }, { - "date": "2026-07-29", - "ref": "claude/design-system-followups-1375", - "head": "906c5a1cfc0d10c6788002825401481844366d2a", - "scope": "PR #1375 follow-ups: repoint five dead text-4xs classes onto the 10px floor plus an orphan guard, fix six hydration races at source (composer fill, mode menu, openGuide, differential submit, overlap geometry), document the intermediate-weight and leading idioms, ledger #108/#109", - "outcome": "PR #1391 opened; auto-merge off pending user review", - "checks": "verify:pr-local 426/426 files 4381 tests on lock-matched deps; 18/18 targeted Chromium under playwright 1.62.0; ui-overlap 14 passed x4 runs; contract 37 assertions" + "date": "2026-07-25", + "ref": "cursor/ledger-081-closeout-6273 (PR #1220)", + "head": "84e91194ecca7f74c0d70b9e30e1dbd05ab7853f", + "scope": "prlanded — archive outstanding item #081", + "outcome": "LANDED. Squash `e7e60c6d02a37c1f5958cb97936bd3533c7a2f46`. #081 moved from Open items to Resolved/archive after PR #1196 was closed 2026-07-25 as superseded by #913 / current main; successor #1198 does not touch `src/lib/eval-document-matching.ts`, and the #1215 contracts fail closed on any re-added dual-listed alias. Merge friction worth recording: a `github-actions[bot]` branch-sync merge landed every 10-20 minutes and every bot-authored head produced `action_required` workflow runs, so the three required checks never reported and both normal and `--admin` merges were refused; runs on agent-pushed heads execute normally, so the resolution was to push an own-authored head and merge on green. Content verified by tree comparison against the squash commit (identical); remote branch deleted at merge, local pruned.", + "checks": "`npm run verify:cheap` on merged main: 387 files / 3431 tests pass; hosted CI, SAST, Secret Scan and PR Policy green on `84e91194`; `npm run docs:check-links` pass. No provider-backed checks." }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "0e937f80f1c4fdfa66a4e5abc2918e763ed51bc1", - "scope": "PR #1377 latency findings — operator rollback sequencing", - "outcome": "Codex P2 confirmed and fixed: the index rollback merged the revert migration into the expectation deploy, so the deployed migration would take ACCESS EXCLUSIVE on documents before the concurrent drop; split into three deployed phases (retract required_indexes -> concurrent live drop -> schema.sql removal + idempotent forward drop migration). Apply-side commit-vs-deploy ordering made explicit. Docs only.", - "checks": "prettier --check clean; docs:check-links 1355; docs:check-scripts 390; check:branch-review-ledger 1232 records" + "date": "2026-07-25", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "84e930925d929ff45fded8f1276e6746e45bc9b3", + "scope": "Open-PR maintenance: review fixes + drift", + "outcome": "Before: 24 commits behind, 2 unresolved Codex threads; keyboard baseline reset existed but `--keyboard-height` had no dock consumer. After: merged current main cleanly; visible reserves include keyboard height and the edge-to-edge phone dock translates above overlay keyboards while hidden reserve stays zero.", + "checks": "focused Vitest pass (15/15); Prettier check pass; `git diff --check` pass; `npm run ensure` verified project at localhost:3264; full `verify:ui` not run because hosted CI will rerun and repository heavyweight work was active elsewhere; no provider-backed checks run." }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "310d0fbc4f08ca88cb097f3e480896e75d0007bf", - "scope": "PR #1377 latency findings — search_schema_health registration is a migration", - "outcome": "Codex P2 confirmed and fixed: apply step 5 and rollback phase A described the required_indexes change as a schema.sql edit, but schema.sql is a mirror and search_schema_health() is redefined by create or replace function in 11 migrations (precedent 20260705180000_reconcile_search_health_indexes.sql:62). As written the hosted function never moved, leaving the new indexes unmonitored on apply and, on rollback, letting phase B drop indexes the hosted function still required. Both now specify a create-or-replace-function migration plus matching mirror; apply deploys last. Docs only.", - "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" + "date": "2026-07-19", + "ref": "cursor/mobile-header-new-chat-inset-66c0 (PR #940)", + "head": "84eb0b6c3782e27fbbd1ec79b87b10327802ec1e", + "scope": "final mobile header new-chat edge inset review + merge readiness", + "outcome": "No high-confidence P0-P1. Root cause: unlayered `@media (max-width:639px)` zeroed `.edge-glass-header` padding and beat `@layer components`. Fixed with tokenized `--header-edge-pad: 1rem` shared by layered base + unlayered phone guard; Playwright symmetry checks at 360/390; source contract blocks a `max(0px, safe-area)` regression. Merged latest `origin/main` (including #933/#942/#943) while keeping the header-edge-pad token. Residual: headless Chromium cannot exercise asymmetric safe-area `max()`; DocumentViewer gains the same pad but is outside the symmetry test.", + "checks": "Local geometry probe 360/390/640 = 16px/16px symmetric; CSS contract Vitest 5/5; `ui-overlap` Chromium 14/14; prior `verify:ui` 242/242 on the functional head; `verify:cheap` unit suite hit only the known container-only `pdf-extraction-budget` python ENOENT artifact (also fails on clean main / hosted-CI-green elsewhere). PR marked ready; squash auto-merge enabled. No OpenAI/live Supabase/provider calls." }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "39ac6fde537946d0dd94712a206725969689f056", - "scope": "PR #1377 latency findings — RAG canary gate is not lifted by ordering", - "outcome": "Codex P2 confirmed and fixed: the #102 queue row, the #102 detail row and the runbook bullet described the RAG-path index as canary-gated until/unless/or the unordered .limit(12) is ordered, implying ordering lifts the gate. An unordered LIMIT has no stable selection to preserve, so imposing an order can select a different twelve and is itself an ordering behaviour change on a retrieval surface requiring its own canary pair per AGENTS.md. All four sites now state two canary-gated changes rather than one unlockable gate. Docs only; no src/lib/rag change.", - "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" + "date": "2026-07-31", + "ref": "codex/complete-repository-maturity-programme", + "head": "84fdfd72a5d23e79798be85ffee2dda4f6f6e94a", + "scope": "PR #1472 reopen prep", + "outcome": "approved-with-notes", + "checks": "supersede cb07a6c3: tip is ledger-only after approved reopen prep; branch ready; PR remains CLOSED (GitHub freezes closed PR head until reopen)" }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "71db10c41de872fca6e400626704a549f145c66c", - "scope": "latency audit implementation (PR #1377)", - "outcome": "SUPERSEDES the 78e2beb record: its 'scope-vs-ratelimit overlap with abort' description is stale and describes behaviour that was REVERTED. Codex review raised it P1 and it was correct — an AbortSignal cannot un-execute a statement Postgres already began, and resolveSearchScope only skips the database when there are no filters and no explicit ids (search-scope.ts:242,253), so a throttled caller kept spending DB capacity while collecting 429s. Shipped behaviour is rate-limit admission BEFORE scope evaluation, with request.signal threaded so a client disconnect still cancels scope's paginated queries, pinned by tests/answer-route-preamble.test.ts. Also retracted on this head: the L2-3 'recall is byte-identical' claim, since fetchDocumentTitleAliasRows applies .limit(12) with no ORDER BY.", - "checks": "verify:cheap exit 0 (423 files, 4278 passed/4 skipped); check:branch-review-ledger pass; focused preamble + server-timing suites pass" + "date": "2026-07-13", + "ref": "claude/canary-gate-fixes", + "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "78e2beb89b646c3d5c2d4745e3f2f692f9ba61a0", - "scope": "latency audit implementation (PR #1377)", - "outcome": "Implemented the free/flag-gated findings of docs/audit/latency-audit-2026-07-28.md after PR #1312 closed unmerged: Server-Timing preamble on answer/stream/search, scope-vs-ratelimit overlap with abort, deferred shared-cache-hit write, narrowed table-facts projections, medication catalogue memo, 10 loading fallbacks, Supabase preconnect. L2-3/L2-5 authored as operator SQL only; supabase/ untouched. L4-2 retracted as deliberate. Remainder filed as ledger 098-105.", - "checks": "verify:cheap exit 0; verify:pr-local exit 0 (418 files, 4244 passed/4 skipped, build compiled 59s, client bundle scan passed, 36 golden cases validated)" + "date": "2026-07-13", + "ref": "origin/claude/canary-gate-fixes", + "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "881b7cfe9f4c9b313e70496968d5a7591f2b594d", - "scope": "PR #1377 latency findings — #103 drift allowlist is not a reconciliation route", - "outcome": "Codex P2 confirmed and fixed: the #103 queue and detail rows offered drift-allowlist.json as an alternative to mirroring document_table_facts_text_trgm_idx into schema.sql. The allowlist header scopes it to live-vs-schema.sql divergence, so it cannot reconcile migrations with the mirror; a fresh db reset still runs 20260714190000 while schema.sql omits the index, leaving the row outcome unmet. Both rows now give exactly two routes (mirror, or forward-migration drop after live scan evidence) and record that no offline gate catches this. Docs only.", - "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" + "date": "2026-07-14", + "ref": "claude/canary-gate-fixes", + "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { "date": "2026-07-29", - "ref": "claude/latency-findings-impl-s8g01v", - "head": "9e2ee65ca0bcce45a3cb6a0539e265ec8d961582", - "scope": "PR #1377 latency findings — #098 stale offline-harness references", - "outcome": "Codex P2 confirmed and fixed: the #098 row in docs/outstanding-issues.md still named test-cache-path.mjs and check-rag-fixtures.mjs as the offline fixtures for the round-trip counting harness. Neither exercises a RAG request (cache paths; fixture-manifest validation), so a harness built on them would count nothing. The audit doc carried the retraction at :358 but this row did not - the same local-retraction pattern flagged in two prior rounds. Now names eval-rag-offline.mjs, test-rag-offline.mjs, rag-offline-contract.mjs and the contract fixture, all verified present, with the correction recorded inline. Docs only.", - "checks": "prettier --check clean; docs:check-links 1363; docs:check-scripts 390; grep confirms no stale refs remain" + "ref": "main", + "head": "855aa2914fd9cf29f9ce34f67e197d7a2d0c1a86", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Full-history branch-cleanup review of all 92 remote branches. IMPORTANT PRECONDITION: the session clone was SHALLOW (74 commits of origin/main); every merge-base and cherry-pick result computed before 'git fetch --unshallow' was invalid, and an initial pass wrongly showed 90/91 branches as carrying unmerged work. After unshallowing (2829 commits) the analysis is sound. Cherry-pick matching alone finds only 2 candidates because squash merges collapse N commits into 1 so per-commit patch-ids never match; a content test (files touched vs merge-base, compared between branch tip and main) finds 5. VERIFIED SAFE TO DELETE — each introduces an empty diff against main and backs no open PR: claude/clinical-kb-pwa-review-asi3wb, claude/dazzling-blackwell-f348d0, codex/document-reader-condensed-view, cursor/page-anchored-search-composer-30ee, cursor/pr-1379-babysit-ledger-9365. DELETION BLOCKED: the session git proxy rejects ref deletion with HTTP 403 and the GitHub MCP toolset exposes no delete-branch capability, so the five remain and must be removed from the GitHub UI or an interactive session. The other 87 were NOT cleared: their touched files still differ from main, which is the conservative direction (a branch whose files main later modified reads as not-landed). Local cleanup done: stale local main fast-forwarded to origin/main (0 ahead, 0 patch-unique after unshallow — its earlier 'ahead 52 / unrelated histories' was purely the shallow-clone artifact); redundant local claude/prlanded-ledger-1383 deleted after confirming its row is in the pushed branch.", + "checks": "npm run sweep:branch-ledger (report-only, 2 candidates); full-history recompute after git fetch --unshallow; per-branch git diff origin/main... empty for all 5; open-PR head cross-check against PRs #1374/#1377/#1384/#1385/#1386/#1387; no branch deleted (HTTP 403); no provider-backed checks" }, { - "date": "2026-07-29", - "ref": "claude/latency-fixes-2026-07-29", - "head": "0e30215e98328513e23342a8dceafc9d1728bf9d", - "scope": "pr-1376-ci-bugbot-repair", - "outcome": "fixed-p1s-plus-followups;owner-scoped-epochs;shared-cache-race;stream-signal;empty-scope-timing;threads-resolved", - "checks": "vitest:15-pass;docs:check-links:pass;verify:cheap:earlier-pass" + "date": "2026-07-13", + "ref": "origin/claude/site-formatting-polish-b91374", + "head": "859633eb72dee7ab430b0cbebb0f68b77caa072a", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #506; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-29", - "ref": "claude/latency-fixes-2026-07-29", - "head": "33d783aef4b8011996d0841635077d1bb7d47497", - "scope": "pr-1376-ci-bugbot-repair", - "outcome": "fixed-p1-scope-and-cache-epoch;docs-link-ci;bugbot-confirmed-no-new-p0", - "checks": "verify:cheap:pass;vitest:4273-pass;docs:check-links:pass" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "85a6bdf74629096fba1b476e52b76e241665fd15", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1469. No remaining P0-P2 findings; #107 is archived with executing jsdom state-matrix coverage, and the branch's existing changes remain intact.", + "checks": "focused current-main state-matrix suite 2 files / 10 tests PASS; outstanding ledger 146 rows / 49 open / 97 archived PASS; branch-review ledger PASS; prior combined-tree verify:cheap 32 gates PASS" }, { - "date": "2026-07-29", - "ref": "claude/latency-fixes-2026-07-29", - "head": "96a4c76da12b4478539b44fdc01a59ccfe791890", - "scope": "prlanded", - "outcome": "PR #1376 merged via squash. Content diff against the squash commit is empty and six probes confirmed on main (preambleServerTimingEntries, LoadingPanel fallbacks, Supabase preconnect, Refutation 6, audit corrections, tableFactListProjection). No orphaned commits despite pushing after auto-merge was armed; disarm-push-rearm was used.", - "checks": "verify:pr-local exit 0 on fresh npm ci: 422 files / 4272 tests passed, 3 skipped. prettier clean; docs:check-links 1333 refs; docs:check-index OK. verify:ui NOT run (heavy lock contended). No provider-backed gates." + "date": "2026-07-28", + "ref": "PR #1295 / `fix/audit-remediation-from-main`", + "head": "862be5a843708360ad0d67239429d1d09405e570", + "scope": "Codex P1: Playwright matrix browser install", + "outcome": "FIXED. Cross-browser `playwright.yml` stopped using chromium-only `setup-ui-e2e`; installs `matrix.project` + deps with per-browser cache. Also dispositioned the Codex P1 about the responsive contract (already fixed earlier on tip).", + "checks": "check:github-actions PASS; focused vitest therapy-compass 10/10; no provider checks." }, { - "date": "2026-07-29", - "ref": "claude/latency-fixes-2026-07-29", - "head": "ef2a66ec72bb23fdc7725837996c079f2e8110d2", - "scope": "pr-1376-ci-bugbot-repair", - "outcome": "fixed-p1-scope-and-cache-epoch;docs-link-ci;bugbot-confirmed-no-new-p0", - "checks": "verify:cheap:pass;vitest:4273-pass;docs:check-links:pass" + "date": "2026-07-25", + "ref": "PR #1186 / `remediate-repository-audit-findings`", + "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", + "scope": "Cursor Bugbot+review+prlanded (fresh pass, same HEAD)", + "outcome": "DO NOT MERGE; NOT LANDED (state=OPEN, mergeable=CONFLICTING, DIRTY). Supersedes same-HEAD Antigravity/Bugbot rows with runtime proof: `tsc` TS1185 on answer/upload routes; head 436 behind / 2 ahead of main; PR policy FAIL. P0 conflict markers in 8 src + 2 tests + scripts/docs; P0 duplicate `const results` eval-retrieval.ts:905/932 (RAG; no RAG impact line); P0 skills catalog 36 vs AGENTS/tests 32. P1 spawnSync blocks lock heartbeat + 30m reclaim steals locks; branch:cleanup no dry-run + shell interpolation; skill-create wrong openai.yaml shape. Do not delete branch.", + "checks": "Bugbot; tsc sample; marker/catalog grep; gh pr view mergeable; no provider/eval/UI runs." }, { - "date": "2026-07-29", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "0922d7f56624ef84be8abcb2bbc89205027cf9a6", - "scope": "PR #1383 babysit", - "outcome": "BLOCKER CLEARED: merged origin/main; renumbered coverage follow-ups #098/#099 -> #106/#107 (main claimed #098-#105). Before: CONFLICTING/DIRTY, 4 behind; CI green on prior tip; 0 review threads; 0 Bugbot findings. After: mergeable expected; verify:cheap 424 files/4371 passed; test:coverage exit 0; format:changed + check:rag:fixtures pass.", - "checks": "verify:cheap PASS (424 files, 4371 passed | 4 skipped); test:coverage PASS (no threshold errors); format:changed PASS; check:rag:fixtures PASS (36 golden); Bugbot: no findings; no provider-backed checks" + "date": "2026-07-25", + "ref": "PR #1186 / `remediate-repository-audit-findings`", + "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", + "scope": "Explicit Bugbot PR review (reconfirm same HEAD)", + "outcome": "DO NOT MERGE. Reconfirmed prior Antigravity findings; skill count correction 32?36 (not 35). P0: conflict markers in API/UI/tests/docs (tsc TS1185). P0: duplicate `const results` in `scripts/eval-retrieval.ts` (RAG eval; PR body lacks RAG impact line). P0: skills catalog 36 vs test/AGENTS 32. P1: heartbeat under `spawnSync` never runs so 30m mtime stale reclaim can steal live locks; `branch:cleanup` deletes with no dry-run + shell-interpolated branch names; `skill-create` emits non-`interface:` openai.yaml.", + "checks": "Marker grep + tsc sample; catalog count node; static lock/sweep/skill-create review. No provider/eval runs." }, { - "date": "2026-07-29", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "5145dc990af47fba8b4c68f2b4537f21406535b6", - "scope": "PR #1383 babysit", - "outcome": "Hosted CI green on prior tip bebc6c02 (PR required / Unit coverage / Static / Safety / Migration replay / CircleCI all PASS). Synced one more clean main commit (ledger-only). MERGEABLE; 0 unresolved threads; 0 Bugbot findings; no code defects.", - "checks": "hosted: PR required PASS, Unit coverage PASS 4m41s, Static PR PASS, Safety PASS, Migration replay PASS, CircleCI verify PASS; local prior: verify:cheap + test:coverage PASS; Bugbot none" + "date": "2026-07-25", + "ref": "PR #1186 / `remediate-repository-audit-findings`", + "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "DO NOT MERGE. P0: duplicate `const results` in `scripts/eval-retrieval.ts` (RAG eval surface; needs RAG impact line). P0: skills catalog 32→35 breaks `tests/database-skills.test.ts`. P1: stale-lock heartbeat never fires under `spawnSync`; `skill-create` YAML wrong shape; `sweep-merged-branches` destructive without dry-run + shell interpolation. Inherits conflict markers.", + "checks": "`git show` eval-retrieval duplicate const; marker scan. No provider/eval runs." }, { - "date": "2026-07-29", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "6f476b5f741627cb622af57d1b4665e3989789ca", - "scope": "PR #1383 babysit", - "outcome": "CLOSEOUT at tip after ledger bookkeeping commit. Merge conflict cleared; coverage follow-ups live as #106/#107; local gates green; awaiting hosted CI on tip.", - "checks": "same as prior tip 0922d7f5 plus ledger append only; no product code change" + "date": "2026-07-24", + "ref": "implement-audit-recommendations-fix (PR #1141)", + "head": "864f738e6", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR required green, 2 unresolved duplicate sm:max-h command-surface threads, branch behind main. After: merged origin/main cleanly; removed generic duplicate sm:max-h cap; both threads resolved via GraphQL; reply mutations 403 noted in commit 864f738e.", + "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/search-command-surface.test.ts PASS (8/8); git diff --check PASS; no Supabase/OpenAI/live eval gates run." + }, + { + "date": "2026-08-09", + "ref": "cursor/fix-document-open-scroll-e5bf (PR #1782)", + "head": "86698228533ebe10452c10c1bd7a3e1610d891ae", + "scope": "PR #1782 unblock", + "outcome": "merged origin/main (behind-but-clean); fixed static-pr TS2322 on document-viewer-shell chunk fixture; fixed Production UI DSM compare remove stall via location.assign + DOM proof; prior adoption-manifest drift already fixed", + "checks": "tsc clean for changed files; vitest document-viewer-shell+dsm-compare-remove+design-system-adoption 59/59 PASS; check:design-system-adoption PASS; format; no provider-backed checks" }, { - "date": "2026-07-29", - "ref": "claude/test-coverage-analysis-2vcd8a", - "head": "f4a3f50048fa113d5e4e704defdafad2d37ba8d2", - "scope": "prlanded", - "outcome": "MERGED AND VERIFIED. PR #1383 squash-merged as f4a3f50. Content diff between the squash commit and branch tip bebc6c02 is EMPTY — nothing orphaned by the auto-merge race despite four concurrent pushes during the merge window. Landed on main: tests/calculator-scoring.test.ts (60 tests, 8 validated instruments), 9 batch signed-URL cases in tests/private-access-routes.test.ts, coverage floors raised 48/38/43/50 -> 62/53/55/64. Follow-ups renumbered #098/#099 -> #106/#107 during the main merge (main had claimed #098-#105); both rows verified present with content intact and next-id marker at 108. The three red 'PR required' results at 0922d7f/6f476b5/b72bc20 were concurrency cancellations (issue #095), not defects — all upstream jobs reported 'cancelled'; the clean run 30447852418 at tip bebc6c0 superseded them.", - "checks": "post-merge verification only: content diff squash-vs-tip EMPTY; origin/main content spot-checks PASS (test file present, floors 62/53/55/64, #106/#107 rows, 13 signed-urls refs); pre-merge local gates on the merged tree: test:coverage PASS exit 0 (424 files, 4371 passed | 4 skipped, no threshold errors); no provider-backed checks" + "date": "2026-08-06", + "ref": "temp-rebase", + "head": "868a8a2800351ce85a2ad13e14d80550cbc3e668", + "scope": "Merge conflict resolution and CI fixes", + "outcome": "Verified and ready for PR", + "checks": "verify:pr-local" }, { - "date": "2026-07-29", - "ref": "codex/chat-document-header-overlay-document-header-overlay-20260729", - "head": "48ed6cc95f886837f4ddbb369fdbc611a0958f17", - "scope": "document phone header overlay", - "outcome": "No high-confidence findings; physical iPhone acceptance remains", - "checks": "verify:pr-local unit 4373 pass; build PASS; focused Playwright 2 pass; phone gate contended" + "date": "2026-08-01", + "ref": "claude/sentry-agent-monitoring-eri94v", + "head": "86983f344b45e42310e9f167a5adb0a56e46ddb5", + "scope": "pr-1551", + "outcome": "merge-ready-pending-ci: merged origin/main; fixed outstanding-issues blank-line/#183 orphan + renumbered npm row to #204; kept worker+wizard error-tracking sections; qodo claim-spam thread already fixed on prior tip and resolved", + "checks": "check:outstanding-issues pass; merge-tree clean vs origin/main; prior tip Static PR failed on outstanding-issues; push 86983f344" }, { - "date": "2026-07-29", - "ref": "codex/document-reader-condensed-view", - "head": "5678e878d4fe681d33bb58df5b5b3468a138a1c8", - "scope": "pr-1380-ci-green-resync", - "outcome": "hosted CI green on 7150899a (Static/Build/Unit/Advisory/Production UI/PR required/CircleCI); CodeRabbit density fallback + summary keys + search/plain compact tests landed; unresolved review threads none; resynced main after tip went BEHIND by 1", - "checks": "hosted CI success on 7150899a; merge-tree clean; bugbot no P0/P1" + "date": "2026-08-12", + "ref": "PR #1854 / codex/chat-differentials-results-design-differentials-results-design", + "head": "86f7d22c0b5d6204708547740fc44228853a9662", + "scope": "review-and-fix", + "outcome": "Fixed the append-only ledger conflict and added a truthful zero-count result-type empty state with reset action; synced current main.", + "checks": "focused Differentials DOM test passed; typecheck passed; fresh hosted CI required on final head" }, { - "date": "2026-07-29", - "ref": "codex/document-reader-condensed-view", - "head": "7cefb24e99f9745a61843c7e48c4889f7324ec42", - "scope": "pr-1380-main-merge-coderabbit-density", - "outcome": "merged origin/main; resolved source-panels conflict (kept condensed details + tracking-eyebrow); density in-memory fallback when storage blocked; summary keys + search/plain compact tests; local vitest/lint/typecheck/format/playwright condensed pass; awaiting hosted CI", - "checks": "vitest document suites 20/20; lint; typecheck; format:check; playwright condensed 4/4; merge-tree clean" + "date": "2026-07-13", + "ref": "origin/copilot/fix-barriers", + "head": "8711ee2b15c3b9a1a0e8444ba2ee799d6c5e6ab7", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-barriers; git diff --name-only reported 3 path(s)." }, { - "date": "2026-07-29", - "ref": "codex/document-reader-condensed-view", - "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", + "date": "2026-07-14", + "ref": "copilot/fix-barriers", + "head": "8711ee2b15c3b9a1a0e8444ba2ee799d6c5e6ab7", "scope": "branch-cleanup-deletion-pending", - "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is 855aa291 and tree(merge-base) equals tree(tip): git diff --name-only 855aa291 b5cdbf30 reports 0 files, so the tip introduces nothing beyond a state already in main. Its work landed as main's tip via squash. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", - "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-29", - "ref": "codex/document-results-responsive-polish", - "head": "0f02d086e0716ed072df5fe73a7962b6c02891d1", - "scope": "document results responsive UI polish", - "outcome": "P2 tap-target review finding fixed with 48px actions and regression coverage", - "checks": "focused production Playwright 1 passed; eslint passed; format passed; diff-check passed" + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "871df2793ccb63ffe92f70225e8be64e25619da7", + "scope": "Resolve merge conflict against origin/main (requested follow-up after Run PR sweep)", + "outcome": "Real content conflict in compare-ids-chrome.tsx, compare-slot-strip.tsx, dsm-compare-chrome.tsx, and tests/ui-route-coverage.spec.ts caused by PR #2415 (already merged) independently reworking DsmCompareChrome to a compact horizontal rail + separate starter-chip row, while this PR added a phoneLayout=hybrid pip-summary/2x2-grid design to the same shared CompareIdsChrome/CompareSlotStrip components. Resolved by merging both prop sets into the shared components (showEmptyState/slotLayout from main plus phoneLayout/slotSummaryLabel from this PR, now coexisting) and, for the one screen both PRs redesigned (DSM compare), keeping origin/main's already-shipped compact-rail design rather than overwriting it — so this PR's hybrid layout still lands in full for Therapy compare (untouched by #2415), while DSM compare keeps its most recently reviewed design. Regenerated data/repo-awareness-snapshot.json. Pushed as merge commit 871df2793.", + "checks": "npx vitest run tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/dsm-compare-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts -- 53 passed; npx tsc --noEmit -- clean; npx eslint on the 4 resolved files -- clean; npm run check:repo-awareness-snapshot -- in step; npx prettier --check on the 4 resolved files -- all match. No provider-backed checks run." }, { - "date": "2026-07-29", - "ref": "codex/document-results-responsive-polish", - "head": "94bef3d193f449e6396b1bf4688180281d260ca7", - "scope": "document results responsive UI polish", - "outcome": "No P0-P3 findings. Current-main three-action cards preserved; responsive typography, equal phone geometry, warning hierarchy, and no-overflow behavior verified.", - "checks": "focused ESLint; typecheck; 30 focused unit tests; isolated production Playwright 1 passed; verify:cheap static/design/governance/lint passed then lock-blocked at repeated typecheck" + "date": "2026-07-25", + "ref": "`cursor/fix-mode-switch-lag-22f6` / PR #1187", + "head": "876d7ecfa1ae8ec79fc0f0bdf1198c6640ad89b8", + "scope": "Parallel loading UX + frontend-architecture review + quick-win fixes", + "outcome": "No P0. Confirmed live: H1 dashboard↔standalone remount dominant (~0.6–1.2s settle); H4 hero portal rebind; H3 registry post-paint. FIXED quick wins: remove ClientHydrationBoundary blanking; ModeHomeRouteLoading startOnPhone; mode-home loading.tsx alignment/additions; forms server defaultFormSlug + client-boundary test; dynamic ClinicalDashboard; sidebar grid transition mount-gate; forms drop key=query; DocumentViewer key=id; therapy Suspense ModeHomeRouteLoading; redirect /?mode=services|forms. Residual P2: unify shells (H1), stable hero slot, registry abort+LRU/summary fields, Tools dual entry #007, prescribing full-catalogue cliff.", + "checks": "Parallel explore×3 + debug measurement; focused Vitest loading/forms/ownership/align contracts; typecheck; eslint touched shell. No verify:ui / provider-backed checks." }, { - "date": "2026-07-29", - "ref": "codex/remove-source-overlays", - "head": "a08a81d320c9f8e1bbbe1facc266d8257213b1ad", - "scope": "PR #1378 babysit", - "outcome": "FIXED Codex P1s (restore governance notice); overlays/Preview removed; merged main; verify:cheap PASS; Bugbot no open findings", - "checks": "verify:cheap 4273 pass; focused DOM 4/4; eslint/tsc/build PASS; hosted CI re-running after main sync" + "date": "2026-07-30", + "ref": "PR-1497", + "head": "877d36ae793f5e6eca42c9e7711c37fc4c0f525c", + "scope": "PR #1497 final CI repair and main reconciliation", + "outcome": "APPROVE: hosted typecheck defect fixed; current-main docs reconciled; no remaining findings", + "checks": "typecheck PASS; unit coverage PASS at parent; outstanding-issues PASS; branch-review-ledger PASS; diff check PASS; fresh hosted CI required" }, { - "date": "2026-07-29", - "ref": "codex/remove-source-overlays", - "head": "c3feb4cea34dd1a0d0d675df3e063c95174f2504", - "scope": "PR #1378 babysit", - "outcome": "MERGED via squash auto-merge after Codex P1 governance restore + overlay removal. Hosted required checks green; unresolved threads 0; Bugbot no open findings.", - "checks": "Hosted PR required/Production UI/Static/Unit/Build/Safety/PR policy SUCCESS; verify:cheap 4273 pass; Bugbot no open findings" + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "87a8886f1f761bdab92324e0d5ea5e11d3111bb9", + "scope": "review-and-fix", + "outcome": "P1 CI blocker fixed: formatted retrieval row contract test; no additional P0-P2 findings in adversarial review; merged latest main", + "checks": "targeted Vitest 134 pass; RAG fixtures 36 pass; offline RAG 579 pass; issue and ledger guards pass; Prettier pass" }, { - "date": "2026-07-29", - "ref": "codex/search-composer-focus-pwa", - "head": "3f7cd1e4069b7ef8f8b18519adfb0dba0dc349a8", - "scope": "PR #1373 CircleCI lint remediation", - "outcome": "Deterministic unused locator warning removed", - "checks": "CircleCI format passed; lint root cause captured; focused Vitest 48/48; typecheck" + "date": "2026-07-25", + "ref": "cursor/ledger-009-010-032-041-063-519b (PR #1175)", + "head": "87b6b432c19", + "scope": "Babysit sweep: close ledger #009/#010/#032/#041/#063 — resolved outstanding-issues merge + prettier, squash-merged", + "outcome": "static-pr + pr-required", + "checks": "merged" }, { - "date": "2026-07-29", - "ref": "codex/search-composer-focus-pwa", - "head": "5c6a75c21833dc31d4f8658cec15154f58918a36", - "scope": "PR #1373 unresolved review comment remediation", - "outcome": "P2 test race and keyboard/scrollbar intent gaps fixed", - "checks": "focused Vitest 48/48; typecheck; diff check" + "date": "2026-07-25", + "ref": "cursor/ledger-009-010-032-041-063-519b (PR #1175)", + "head": "87b6b432c19", + "scope": "Babysit sweep: close ledger #009/#010/#032/#041/#063 ? resolved outstanding-issues merge + prettier, squash-merged", + "outcome": "static-pr + pr-required", + "checks": "merged" }, { - "date": "2026-07-29", - "ref": "codex/search-composer-focus-pwa", - "head": "f9a14e8e38a568d8675c4154597f73340161e4ea", - "scope": "current diff vs origin/main: PWA search composer focus", - "outcome": "P1 fix reviewed; passive viewport scroll no longer blurs search", - "checks": "focused Vitest 48/48; typecheck; ledger guard; phone and PR plans inspected" + "date": "2026-07-30", + "ref": "codex/review-pr1477", + "head": "87bc83e1ec3ba781b87af7536bcb4e0a551815b8", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1477 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-29", - "ref": "cursor/page-anchored-search-composer-30ee", - "head": "7ff134ca7f614db527b8d142676640305533669d", - "scope": "branch-cleanup-deletion-pending", - "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is 79d1c879 and tree(merge-base) equals tree(tip): git diff --name-only 79d1c879 7ff134ca reports 0 files, so the tip introduces nothing beyond a state already in main. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", - "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." + "date": "2026-07-19", + "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", + "head": "87d4a479cd320220c91eba5c91e253e843dcc98f", + "scope": "final Mode phone-sheet review + merge-readiness", + "outcome": "No remaining high-confidence P0/P1. Fixed residual P2 Sheet backdrop drag-dismiss (gesture must start on dimmed area). Phone ≤639px Mode menu uses bottom Sheet; desktop absolute dropdown/keyboard/blur contracts preserved. Python PDF extractor resolves python/python3 and process-group kills reliably. Clinical governance: UI + fail-closed extractor binary resolution only; no answer/source/privacy surface change. Safe to merge after hosted required checks green on this HEAD.", + "checks": "`verify:cheap` 2954 passed; Mode Playwright 5/5 (phone sheet/backdrop/desktop/keyboard/a11y); `check:production-readiness:ci` READY; prettier format check fixed for CI Static; no OpenAI/live Supabase writes; full `verify:ui`/`verify:release` not required beyond Mode proofs." }, { - "date": "2026-07-29", - "ref": "cursor/pr-1379-babysit-ledger-9365", - "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", - "scope": "branch-cleanup-deletion-pending", - "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is b2740480 and tree(merge-base) equals tree(tip): git diff --name-only b2740480 be2de03f reports 0 files, so the tip introduces nothing beyond a state already in main. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", - "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." + "date": "2026-07-13", + "ref": "origin/coderabbitai/docstrings/13b19b5", + "head": "87e8f42fed22fe6f0375a73f5653ea4c3b243385", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #566; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-29", - "ref": "cursor/recent-pr-bugfixes-f30d", - "head": "1d2669858a3a53844938b521a7f6de572a60c712", - "scope": "PR review", - "outcome": "P1 found: mounted DocumentViewer signed URLs not cleared on auth change", - "checks": "git diff; review threads; actions list/logs; targeted test blocked (missing node_modules/vitest)" + "date": "2026-07-24", + "ref": "PR #1142 / `fix-physics-animation-audit`", + "head": "880f2acf23f35a94c2e5245c2df586012bd6a350", + "scope": "Spring physics animation audit remediation against main (globals.css + answer-evidence-popups mockup page)", + "outcome": "APPROVE. No P0-P2 finding. Centralized spring dynamics tokens registered, generic ease timing replaced with --ease-out-soft and --ease-spring tokens, GPU compositing layer hints added to loading skeletons and bottom reserve pads, dynamic velocity duration supported for gesture keyframes, and reduced-motion presets added. Zero regression risk across design tokens or component interactions.", + "checks": "`node scripts/check-design-system-contract.mjs` passed (534 production files; 0 token violations); `npm run typecheck:internal` passed (0 TypeScript errors); Vitest `tests/route-reachability.test.ts` passed (5/5 tests). No OpenAI, Supabase, Railway, or provider-backed services called." }, { - "date": "2026-07-29", - "ref": "cursor/recent-pr-bugfixes-f30d", - "head": "2c424d9980acab6a2b982d52920c946de21b18d0", - "scope": "pr-1374-merge-main-staleness", - "outcome": "merged origin/main; merge-tree clean; GitHub DIRTY was staleness", - "checks": "merge-tree-clean; push" + "date": "2026-07-25", + "ref": "codex/search-results-filters-20260725", + "head": "88131e7267efd33059766dec80355a9246fbb2bf", + "scope": "Search result filters and document Sources merge-readiness review", + "outcome": "APPROVE. No P0-P2 finding after current-main sync. Documents open Sources as an on-screen filtering surface with source-type controls; the shared results ribbon is applied across search pages. Highest residual risk: unusual real-content combinations may alter perceived density, while responsive, forced-colors, focus, and overflow paths are browser-covered. RAG impact: no retrieval behaviour change - UI controls and source browsing only.", + "checks": "`npm run verify:ui` pass 268/268; `npm run verify:cheap` pass (377 files, 3340 passed, 1 skipped); post-sync `npm run verify:pr-local` pass (378 files, 3349 passed, 1 skipped, production build, bundle-secret scan, offline RAG fixtures); `npm run check:production-readiness` pass with OPENAI_SAFETY_IDENTIFIER_SECRET warning; no live/provider-backed app checks run." }, { - "date": "2026-07-29", - "ref": "cursor/recent-pr-bugfixes-f30d", - "head": "2f48884e1a65e8747164cc4fc8107b4b521f0941", - "scope": "pr-1374-ci-fix", - "outcome": "FIXED: account-switch signed-URL cache clear before setSession; merged main; resolved Codex P1 + CodeRabbit privacy/ui-smoke threads. CI was green pre-push.", - "checks": "vitest auth-signed-url+privacy 22/8; merge-tree clean; eslint touched files" + "date": "2026-07-13", + "ref": "codex/fix-48h-review-findings-current", + "head": "881a24242c369f768f2517d7706102cb565b731c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #551; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-29", - "ref": "cursor/recent-pr-bugfixes-f30d", - "head": "67c992274abae9a6d73117ff9b7ea096b92be4c3", - "scope": "pr-1374-ci-fix", - "outcome": "FIXED: Production UI strict-mode locator; merged main (DIRTY was staleness); Codex P1 example-guard + mounted signed-URL paint; threads resolved", - "checks": "vitest patient-safety-plan+auth-signed-url 8/8; playwright safety-plan export 1/1; eslint changed files; merge-tree clean" + "date": "2026-07-13", + "ref": "origin/codex/fix-48h-review-findings-current", + "head": "881a24242c369f768f2517d7706102cb565b731c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #551; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-29", - "ref": "cursor/recent-pr-bugfixes-f30d", - "head": "96eaf8768ffc369c4fb4ec406f9ea2b00443b734", - "scope": "pr-1374-merge-main-staleness", - "outcome": "merged origin/main; merge-tree clean; GitHub DIRTY was staleness", - "checks": "merge-tree-clean; push" + "ref": "claude/latency-findings-impl-s8g01v", + "head": "881b7cfe9f4c9b313e70496968d5a7591f2b594d", + "scope": "PR #1377 latency findings — #103 drift allowlist is not a reconciliation route", + "outcome": "Codex P2 confirmed and fixed: the #103 queue and detail rows offered drift-allowlist.json as an alternative to mirroring document_table_facts_text_trgm_idx into schema.sql. The allowlist header scopes it to live-vs-schema.sql divergence, so it cannot reconcile migrations with the mirror; a fresh db reset still runs 20260714190000 while schema.sql omits the index, leaving the row outcome unmet. Both rows now give exactly two routes (mirror, or forward-migration drop after live scan evidence) and record that no offline gate catches this. Docs only.", + "checks": "prettier --check clean; docs:check-links 1356; docs:check-scripts 390" }, { - "date": "2026-07-29", - "ref": "main", - "head": "70e5101c320088a79cdffaac7be82ec9534d4ac7", - "scope": "last-100-prs-bug-review", - "outcome": "FINDINGS+FIXES: P1 safety-plan example shareable; P1 signed-url cache after logout; P2 diagnostics query leak; P2 search non-indexed fallback; P2 not-found copy; RAG P1/P2 deferred (needs approval). Fixes in PR #1374.", - "checks": "focused-vitest 1415 pass; static review via 5 subagents; no provider/RAG canary" + "date": "2026-08-05", + "ref": "codex/v2-design-system-completion", + "head": "8863cea53bf4df59e8795dcaab1fa420b5109516", + "scope": "PR #1616 v2 design system CI+reviews", + "outcome": "fixed typecheck + review defects; baselines remain not-committed by design", + "checks": "tsc; vitest ui-v2/accessible-table/ui-primitives/design-system-adoption" }, { - "date": "2026-07-29", - "ref": "main", - "head": "855aa2914fd9cf29f9ce34f67e197d7a2d0c1a86", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Full-history branch-cleanup review of all 92 remote branches. IMPORTANT PRECONDITION: the session clone was SHALLOW (74 commits of origin/main); every merge-base and cherry-pick result computed before 'git fetch --unshallow' was invalid, and an initial pass wrongly showed 90/91 branches as carrying unmerged work. After unshallowing (2829 commits) the analysis is sound. Cherry-pick matching alone finds only 2 candidates because squash merges collapse N commits into 1 so per-commit patch-ids never match; a content test (files touched vs merge-base, compared between branch tip and main) finds 5. VERIFIED SAFE TO DELETE — each introduces an empty diff against main and backs no open PR: claude/clinical-kb-pwa-review-asi3wb, claude/dazzling-blackwell-f348d0, codex/document-reader-condensed-view, cursor/page-anchored-search-composer-30ee, cursor/pr-1379-babysit-ledger-9365. DELETION BLOCKED: the session git proxy rejects ref deletion with HTTP 403 and the GitHub MCP toolset exposes no delete-branch capability, so the five remain and must be removed from the GitHub UI or an interactive session. The other 87 were NOT cleared: their touched files still differ from main, which is the conservative direction (a branch whose files main later modified reads as not-landed). Local cleanup done: stale local main fast-forwarded to origin/main (0 ahead, 0 patch-unique after unshallow — its earlier 'ahead 52 / unrelated histories' was purely the shallow-clone artifact); redundant local claude/prlanded-ledger-1383 deleted after confirming its row is in the pushed branch.", - "checks": "npm run sweep:branch-ledger (report-only, 2 candidates); full-history recompute after git fetch --unshallow; per-branch git diff origin/main... empty for all 5; open-PR head cross-check against PRs #1374/#1377/#1384/#1385/#1386/#1387; no branch deleted (HTTP 403); no provider-backed checks" + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "8888bf87cbdc5a061bb6d3a2cf46b638af773b1b", + "scope": "Cursor review+Bugbot+/debug (supersedes f3d90ecc Bugbot row)", + "outcome": "CONDITIONAL READY after favicon fix. Prior tip DO NOT MERGE (conflict-marker pollution) cleared by Bugbot main-merge; SignedImage transform silent no-op removed; check:assets now compare-only. Remaining P1 found+fixed: SVGO-stripped `icon.svg` failed `brand:check` and removed dark-mode favicon styles — restored `brandIconSvg()` and excluded that file from SVGO gate. Residual P2: orphan AVIF/WebP binaries unused by demo/mockup PNG refs; year-long immutable Cache-Control on unversioned `/icons/*`; `minimumCacheTTL: 86400` still a long lower bound for any optimized next/image. NOT LANDED (OPEN).", + "checks": "Bugbot; marker scan clean; brand:check + check:assets PASS; signed-image vitest 7/7; hosted Static/Safety were red on pre-fix tip (brand:check). No provider-backed app checks." + }, + { + "date": "2026-07-13", + "ref": "origin/claude/responsive-design-review-4d7395", + "head": "889dc73a807145cf7db3326fd2ad77f8d594652b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #520; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-29", - "ref": "origin/main", - "head": "02144ab6e5f2040110cc5e15cfcd15455c2a0615", - "scope": "cross-page PWA search composer click-close defect", - "outcome": "P1 confirmed; explicit gesture-only focus release implemented locally", - "checks": "manual PWA/browser repro; focused Vitest 48/48; typecheck" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "88d8638974075fa91334c2bb4a0e6b54fda00176", + "scope": "Review closeout: main sync + resolved-graph guard + ledger attribution", + "outcome": "FIXED. Cause of GitHub CONFLICTING/DIRTY: both tips appended `docs/branch-review-ledger.md` (union); `git merge-tree` was clean — merged `origin/main` (#1284 ledger rows). CodeRabbit recursive import-graph ask: walk resolved runtime imports from `cross-mode-differentials.ts` (services/forms boundary pattern) + keep entry allowlist. Supersedes residual wording on rows 1148/1149: import-graph lock + scripts-index + comment already landed; `client-performance-boundaries` guards the consumer dynamic import, `cross-mode-differentials-index` guards the catalog module/graph. Hosted Production UI already green after hydration settle.", + "checks": "Focused vitest index+boundaries 10/10; `check:cross-mode-index` PASS; merge-tree CLEAN vs origin/main; prior Production UI PASS on `f738f083`; no provider-backed checks." }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "0badfedac1a8bd2ad32587ad90dbea68617f64e9", - "scope": "PR #1377 CI/review babysit", - "outcome": "Synced #1382/#1383. Real conflict only in outstanding-issues: kept corrected latency #098-#105 + added #106/#107. CI green on prior tip 07c6aaeb. 0 unresolved threads; no Bugbot findings.", - "checks": "vitest preamble+calculator-scoring+private-access-routes 208/208; check:branch-review-ledger pass; prior tip PR-required SUCCESS" + "date": "2026-08-10", + "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", + "head": "88dbdd80ede81ec6062ffebae79244703d495a99", + "scope": "PR #1785 unblock/fix", + "outcome": "before: BEHIND/MERGEABLE behind-but-clean (merge-tree clean, behind 2/ahead 9); tip 88dbdd80 required CI green; → after: late merged origin/main once (#1793/#1794); merge-tree clean; behind 0; no required-CI code fixes; no provider-backed checks", + "checks": "git merge-tree clean; npm run format; prior tip CI green; no provider-backed checks run" }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "4909d26afc45c5a1f330a69c5a5693264027b2de", - "scope": "PR #1377 CI/review babysit", - "outcome": "Synced #1375 (DIRTY=staleness, merge-tree clean). CI was green on prior tip 9f21672c. No unresolved threads; no Bugbot findings. Tip 4909d26a; CI re-running.", - "checks": "vitest preamble+server-timing+rag-cache-invalidation 17/17; typecheck exit 0; prior tip PR-required SUCCESS" + "date": "2026-07-28", + "ref": "fix/audit-remediation-from-main", + "head": "88deecfb988da030d806b1d8c0a4c8349502a5f8", + "scope": "stale-checkout P0 regression discovery", + "outcome": "P0 regressions found in stale file checkouts", + "checks": "Confirmed affected worker/main.ts and tests/reconciliation-preflight.test.ts; superseded by later remediation and current final review" }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "80df35f6cebe5f8a29dbbe98c960c114c64de8c7", - "scope": "PR #1377 CI/review babysit", - "outcome": "Re-synced main after #1378 (DIRTY=staleness). Codex P1+P2 threads resolved. Hosted CI green on d7aa4c6c prior tip; re-running after sync.", - "checks": "prior tip CI: PR required success; Production UI/Unit/Build/Static/Migration success; CircleCI success; merge-tree clean" + "date": "2026-08-16", + "ref": "codex/chat-trust-boundaries-212-trust-boundaries-212", + "head": "89181a5c1f5a74ac08628a750c51d8e3819512c7", + "scope": "PR #2003 post-review nullish list payload fix", + "outcome": "Confirmed CodeRabbit finding: parseListRows coerced null and undefined dependency payloads to successful empty arrays; changed validation to reject nullish values and added focused null, undefined, and explicit empty-array regression coverage", + "checks": "Exact-head 89181a5c PR required, unit coverage, build, static checks, lint, typecheck, safety/config, ingestion SAST, CI-managed Lighthouse, SAST, and secret scan passed before the fix; final fix head requires CI rerun; local npm gates unavailable without a checkout" }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "8b8d4b8952fc96401116af9e34604c2a3e6e53b4", - "scope": "PR #1377 CI/review babysit", - "outcome": "Merged #1376 from main with real conflicts: kept admission-before-scope + L1-2 REFUTED docs; took #1376 invalidation epochs / empty-scope Server-Timing / stream signal. Codex threads resolved earlier. MERGEABLE; CI re-running.", - "checks": "vitest preamble+rag-cache-invalidation 7/7; check:rag:fixtures 36/21; prior tip PR-required green before #1376 land" + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "893f481005a66d6e2304396284e1aec63dbf3ae0", + "scope": "PR #1944 CI-blocker fix", + "outcome": "Removed cancellation targeting an already applied inbox request", + "checks": "docs:check-links, check:outstanding-issues, check:ledger-write-discipline" }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "d50a0f76671832b4460238ef7162d76c7646cdef", - "scope": "PR #1377 CI/review babysit", - "outcome": "Ledger tip after babysit record. Product fix remains e52c25c7 (scope behind admission); Codex P1 thread resolved; main synced.", - "checks": "same local gates as prior row; hosted CI pending on tip" + "date": "2026-08-08", + "ref": "cursor/specifiers-builder-mobile-f72a", + "head": "894677891e2793cadc721b106e5abb715ff918e3", + "scope": "specifiers-builder-pathway-mobile", + "outcome": "pass-pathway-strip-and-mobile-overflow", + "checks": "npm run test:e2e -- tests/ui-specifiers.spec.ts --project=chromium: 6 passed" }, { - "date": "2026-07-29", - "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", - "head": "e353e1d0cd20912d098ead2fe94202492468299e", - "scope": "PR #1377 CI/review babysit", - "outcome": "Synced main (DIRTY was staleness). Codex P1 fixed: scope behind admission (e52c25c7). Thread resolved. No Bugbot findings. verify:cheap + focused preamble + build + rag fixtures green locally; hosted CI re-running on tip.", - "checks": "verify:cheap exit 0 (423 files / 4278 passed); vitest answer-route-preamble 4/4; build + check:rag:fixtures pass; no provider gates" + "date": "2026-07-24", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "8964ed6d39603ac40c360e934b582c4e43388c7f", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Post-fix merge origin/main (clean). Density P2 fixed+resolved earlier; CI re-running.", + "checks": "merge origin/main; vitest mobile-interaction-regressions 5/5 earlier; no provider-backed checks run." }, { - "date": "2026-07-29", - "ref": "PR #1378 / codex/remove-source-overlays (squash)", - "head": "6f2f1aa259ad7b554b3bac4e6c24adf2f8d28436", - "scope": "PR #1378 babysit", - "outcome": "MERGED via squash auto-merge. Supersedes prior closeout row that recorded pre-squash tip c3feb4cea34dd1a0d0d675df3e063c95174f2504 (unreachable after squash). Hosted required checks green; unresolved threads 0; Bugbot no open findings.", - "checks": "Hosted PR required/Production UI/Static/Unit/Build/Safety/PR policy SUCCESS; verify:cheap 4273 pass; squash SHA 6f2f1aa2 resolvable" + "date": "2026-07-30", + "ref": "pr/1431", + "head": "897de9b1b7fc243006c1a71e67a6333681272ac6", + "scope": "docs: visual baseline platform layout", + "outcome": "approved after PR 1462 base sync; visual guidance unchanged", + "checks": "ledger; CI scope; docs inventory; Prettier; diff-check" }, { - "date": "2026-07-29", - "ref": "PR #1379 / claude/claude-md-documentation-kfoxrb", - "head": "be83f5cebbf44495d4ad0fc22d7ba7bfe80bdb32", - "scope": "PR babysit", - "outcome": "ALREADY MERGED; no failing CI, 0 review threads, 0 Bugbot findings; local verify:pr-local green (422 files / 4271 tests); no code changes", - "checks": "hosted PR required SUCCESS; docs:check-links/scripts; prettier; verify:pr-local 422/4271; Bugbot triage 0 findings" + "date": "2026-08-11", + "ref": "1820", + "head": "897ff11a4cdb13ae1c01f5eb149007847028f5aa", + "scope": "review-and-fix", + "outcome": "fixed", + "checks": "Semgrep:IN_PROGRESS, Gitleaks:IN_PROGRESS, Semgrep ingestion gate:IN_PROGRESS, Static PR checks:QUEUED, Safety and config checks:QUEUED, Unit coverage:QUEUED, Build:QUEUED, Production UI critical:QUEUED, Lighthouse budget:QUEUED" }, { - "date": "2026-07-29", - "ref": "PR #1380 / codex/document-reader-condensed-view", - "head": "f5cf28172d01ff2b05b627bc71bee41fdda7e1f3", - "scope": "PR #1380 CI babysit: lint + Production UI", - "outcome": "FIXED. Root causes: (1) react-hooks/set-state-in-effect in density/priorities/indexed-text sync blocked Static PR + CircleCI; (2) Prettier format drift; (3) Codex P2 inert full-view summary; (4) exclusive-accordion latched condensed indexed-text closed over deep-linked chunks (Production UI). Fixed via useSyncExternalStore + adjust-during-render + forceReveal restore. Codex thread resolved.", - "checks": "lint; format:check; typecheck; verify:cheap; vitest document-*; playwright ui-smoke document condensed (4/4); hosted Static/Build/Unit/Advisory/Production UI/PR required/CircleCI SUCCESS" + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c", + "head": "89cc8711dd0536c32818cbbd493edff860763a61", + "scope": "PR #1734 unblock", + "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean); no product conflict; advisory lighthouse ignored", + "checks": "merge-tree clean vs origin/main; ledger:dedupe none" }, { - "date": "2026-07-28", - "ref": "`codex/fix-p2-audit-20260719`", - "head": "d99a71b82abf605f26fcc81ba61cdc805a99a36f", - "scope": "Bugbot-style unique product delta vs origin/main (playwright SW block, ClinicalDashboard focus drop, sheet Tab trap, clinical-search neuroleptic/clozapine/med-dose, rag-retrieval-variants, supporting tests)", - "outcome": "CHANGES REQUESTED. No P0. P1: `medicationDoseQueryContext` named-medication gate requires canonical generic token in evidence (`evidenceTokens.has(\"clozapine\")`) and ignores brand aliases, so Clozaril-only evidence fails for Clozaril/clozapine monitoring queries and can rank below unrelated high-hybrid monitoring docs (−0.24 / missed +0.26). P2: neuroleptic side-effects early `document_lookup` return preempts dose classification (`What dose applies for neuroleptic side effect management?` → `document_lookup`). Cleared: SW block + PWA allow, documents `focus:true` removal on in-place pushState ask path, clozapine blood-token retention, Clozaril→clozapine variant intent via analysis.medications. Highest residual: sheet Tab trap rewrite has no Tab-cycle DOM proof.", - "checks": "Offline red proofs via temporary Vitest probes (brand gate + neuroleptic class); focused clinical-search regressions 6/6; no OpenAI/Supabase/hosted CI." + "date": "2026-08-18", + "ref": "claude/diagnostic-criteria-duplication-udg99e", + "head": "89d6320fcec94153af3f280683190f02d2e7f172", + "scope": "dsm diagnosis page criteria duplication", + "outcome": "fixed: replaced criteria-echo card row with a four-tile at-a-glance summary; criteria list, sidebar and nav anchors untouched", + "checks": "test:focused 38 passed; vitest dsm 13 passed; typecheck; lint; check:design-system-contract (legacy shadow aliases 89, unchanged); rendered proof on 4 records" }, { - "date": "2026-07-28", - "ref": "`codex/search-performance-correctness-20260727`", - "head": "7ae4eb49339fc334540912c173a7d2bed4dd5a8b", - "scope": "Local integration review of Documents and shared-search correctness and latency fixes", - "outcome": "APPROVE. Removed the sequential document typeahead enrichment query, deferred narrow-screen cross-mode requests until expansion, prefetched only the mode a user targets, separated in-document search from answer generation, keyed results to their response query, and made document matching boundary-aware. Local `main` was one disjoint documentation/mockup commit ahead; `git merge-tree --write-tree` and the no-commit merge were clean with no overlapping feature paths. No P0-P3 finding remains. Residual risk is live Supabase/OpenAI behavior, which was intentionally not exercised.", - "checks": "Feature `verify:cheap` PASS (25 gates; 393 files; 3,543 passed / 2 skipped); feature `verify:pr-local` PASS including production build/client-secret scan and 36 offline RAG fixtures; full feature Chromium 321/323 exposed two follow-ups, then exact final production Chromium PASS 3/3; feature final TypeScript PASS; focused search regressions PASS 186/186 before commit and again on the integrated tree. Integrated primary typecheck was not completed: its stale generated `.next/dev/types` cache was malformed, then coordinator leases blocked clean reruns; no tracked-source typecheck failure occurred. No provider-backed checks." + "date": "2026-08-17", + "ref": "codex/pr-1998-fix", + "head": "89d764ec9df835c3cb477d4e71859e62b55311cb", + "scope": "pr", + "outcome": "PARTIAL-FIX", + "checks": "typecheck, tests(sheets+ui-tools), merge main, docs format" }, { - "date": "2026-07-28", - "ref": "claude/branch-review-ledger-fixes-42575f", - "head": "11a4ed746be7a83b144876f7a16948cad280df25", - "scope": "branch review ledger + review-doc process review and repair", - "outcome": "Repaired the ledger and closed the loop that corrupted it. Found: 146 mojibake lines from non-UTF-8 hand-appends, 46 duplicate records the mojibake hid from the exact-duplicate guard, 21 wrong-width rows (unescaped prose pipes / merged Scope+Outcome cells), 4 records written as a heading+bullet block inside the table (invisible to every row parser and splitting the table), and 137 HEADs recorded as prose/abbreviations that no rev-parse lookup could match - so the throttle the ledger exists for silently never fired. Restored 140 lines byte-exact from git history, repaired 6 residual separators, converted the 4 block records, dropped exact duplicates, normalised all 1067 rows to six cells. Added scripts/branch-review-ledger.mjs (lookup + append), hardened check-branch-review-ledger.mjs (mojibake, cell width, heading records, real dates, table gaps, and from 2026-07-29 resolvable HEADs + near-duplicates), fixed the escape-unaware cell split and exact-SHA compare in sweep-branch-ledger.mjs, and repointed AGENTS.md, codex-review-protocol.md, branch-cleanup-guide.md, docs/README.md and 12 skill/agent files at the two commands.", - "checks": "npm run check:branch-review-ledger PASS (1067 records); vitest tests/repo-hygiene.test.ts 24/24 PASS; npx tsc --noEmit clean; eslint on changed scripts/tests clean; prettier --write applied; docs:check-scripts 379 refs PASS; docs:check-links 1273 refs PASS; docs:check-index PASS; check:gate-manifest PASS; check:ci-scope PASS. npm run typecheck was blocked by another worktree holding the heavy-run lock, so tsc ran directly. No provider-backed checks run." + "date": "2026-08-07", + "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", + "head": "89e25e97d442ebbbc7d33e87edec37ef42090486", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: DIRTY/PR mergeability fail, behind 1, merge-tree CLEAN, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "claude/close-knip-false-positive", - "head": "81ae7de27688fda09c6142adba55a2a76b2ceec2", - "scope": "PR #1340 babysit / CI+Bugbot", - "outcome": "MERGE-READY for docs-only tip. No failing CI; PR required SUCCESS; Static PR checks SUCCESS; no merge conflicts (0 behind / 1 ahead of origin/main; merge-tree clean); 0 unresolved review threads; 0 Bugbot/cursor[bot] findings. Claim revalidated: npm run check:knip exits 0 after install. No code/config fix needed. Residual: human approving review / merge decision.", - "checks": "hosted CI PR required+Static SUCCESS; local check:runtime, lock-parity, lint, typecheck, format:changed, docs:check-links, docs-script-refs, check:knip; Bugbot none" + "date": "2026-07-13", + "ref": "claude/codebase-review-ade6ed", + "head": "8a26e238b495f2e2fdae7227c8a9a915bc27f325", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #510; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "claude/close-knip-false-positive", - "head": "f39ca98a7aed4cda8bf8980490adb79266891fb9", - "scope": "prlanded", - "outcome": "LANDED. Squash f39ca98a on main contains the docs/outstanding-issues.md #087 archive. Product tip 81ae7de2 matches squash content. Late babysit ledger row on 664b8fa1 was orphaned by auto-merge race and is fix-forwarded in this PR.", - "checks": "gh pr view MERGED; two-dot diff squash vs 81ae7de2 empty; two-dot vs late tip = ledger only; check:knip 0; hosted PR required green before merge" + "date": "2026-07-14", + "ref": "codex/release-blocker-remediation", + "head": "8a7ec72b22bff98b8d4b31d533ae9a0738dee071", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-28", - "ref": "claude/navigation-pane-mockups-0600af", - "head": "29372bb5a53df26902bef53f8a1cb5dd4be5b239", - "scope": "PR #1311 CI/review fix", - "outcome": "Supersedes prior head: Prettier format:check was the remaining Static PR / CircleCI blocker; formatted 8 files. Product fixes unchanged; 0 unresolved threads.", - "checks": "format:check PASS; maintainability budgets; prior verify:cheap retained" + "date": "2026-07-13", + "ref": "codex/rag-canary-completion", + "head": "8aa9f92e6f02870e164515778a591414dff2dce1", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #612.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-07-28", - "ref": "claude/navigation-pane-mockups-0600af", - "head": "7cde973ac8983daef4b274618e83a706bcb9a22a", - "scope": "PR #1311 CI/review fix", - "outcome": "Supersedes prior: merged main (clean), fixed CodeRabbit section-spy test harness/assertions; 0 unresolved threads; mergeable; Static/CircleCI previously green on prettier head", - "checks": "vitest document-section-nav 8/8; merge-tree clean vs origin/main; format:check prior PASS; verify:cheap prior PASS" + "date": "2026-08-26", + "ref": "claude/dev-hub-handoff-accuracy (PR #2382)", + "head": "8ad4133fb05f0a47bd2618cd75bd86db973798ad", + "scope": "PR #2382 full changed scope", + "outcome": "Fixed the valid P2 by removing a spurious request that would duplicate already-resolved #NPQJKP work; merged current main and regenerated the conflicted issues snapshot from canonical inputs; no other P0-P2 findings; one review thread pending reply and resolution after push.", + "checks": "check:outstanding-issues PASS (503 rows, 91 open, 7 pending); docs:check-links PASS (3433 references); exact-head hosted CI before repair was green but must rerun after push; provider-backed gates not run." }, { - "date": "2026-07-28", - "ref": "claude/navigation-pane-mockups-0600af", - "head": "8fb9867483104a5cc89eec5cfb512e1ca8718029", - "scope": "PR #1311 CI/review fix", - "outcome": "Fixed maintainability budget (DocumentViewer extract), sticky-header anchors/rail, lg-only section card, section reading order + non-collapsible source-text; dispositioned CodeRabbit mockup wiring as exempt; 0 unresolved threads; Bugbot none", - "checks": "verify:cheap PASS (419 files/4256 tests); maintainability 1633/1734; vitest section+account-access; eslint/typecheck; sitemap:check; Bugbot none" + "date": "2026-08-02", + "ref": "claude/ds-v2-answer-safety", + "head": "8ad91e3f0104b89b83a54255687408cae574ee88", + "scope": "DS V2 PR-E slices 6+7+8: answer safety, form foundation, announcements", + "outcome": "Clinical governance review: no P0; 8 findings fixed in-branch; P1-1 strengthened; #208/#209/#210 deferred and recorded. Zero product imports - nothing adopted.", + "checks": "verify:pr-local exit 0 (475 files / 4960 passed, offline RAG 23 suites / 574 passed); verify:ui 342 passed / 5 failed not attributable (no product import); e2e:critical 15 passed" }, { - "date": "2026-07-28", - "ref": "claude/navigation-pane-mockups-0600af", - "head": "b5e71179b1210ce208094ee9c7dfc7665511ecf1", - "scope": "PR babysit #1311", - "outcome": "ci-retrigger: parent tip bdddc44b green (Static/UI/PR-required); empty tip skipped Actions CI; pushed non-empty ledger to queue checks", - "checks": "parent-bdddc44b: static-pr+ui-critical+pr-required+circleci green; tip-b5e71179: awaiting Actions CI after empty-commit skip" + "date": "2026-08-15", + "ref": "claude/capture-ongoing-drop-question", + "head": "8aead5c4fa3ed588f63860b3dc96f54ba415da44", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior drift-inference review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-28", - "ref": "claude/pr-policy-caveman-fix-6875bb", - "head": "29c58693d6e63f8174386e6a8cdc94e39f0f8343", - "scope": "six-pr-consolidation", - "outcome": "ported-to-#1335; tip closed", - "checks": "diff-vs-main,content-proofread" + "date": "2026-07-18", + "ref": "PR batch screenshot queue → #883–#888 / #891", + "head": "8b0a600209 (main tip after #887)", + "scope": "open-PR review + merge babysit", + "outcome": "Reviewed and land-safe-merged screenshot PRs. Merged #888 (worker placement dedupe), #891 (PR policy `github.workflow_sha` checkout superseding incorrect #884 `base.sha`), #886 (mobile differentials FAB), #885 (Compare selected href; closed duplicate #883/#882), #887 (Therapy mode-home align + nested-main landmark fix). Closed superseded #884/#883/#882/#881/#877/#875. Fixed PR-policy bodies (Clinical KB governance checkbox), resolved Codex/CodeRabbit threads, Prettier on therapy landmark files, and re-synced branches through main between merges. No high-confidence residual P0-P1 on landed heads.", + "checks": "Hosted required checks green per PR before squash auto-merge (PR policy, Static, Unit, Build, Production UI where UI-scoped, PR required, Semgrep, Gitleaks, GitGuardian). Local: `check:pr-policy`, focused therapy landmark Vitest 5/5, Prettier on touched therapy files. No OpenAI/live Supabase writes." }, { - "date": "2026-07-28", - "ref": "claude/pr-policy-caveman-fix-6875bb", - "head": "ebd169358d1d1c9c596a486c12d51101cb5860ee", - "scope": "PR policy caveman-mode carve-out (docs-only)", - "outcome": "Opened via reopened PR #1322; merged origin/main (real conflict in handoff SKILL.md resolved by hand, both step-6/step-7 edits kept); squash-auto-merge enabling", - "checks": "check:pr-policy self-test+workflow-guard PASS; prettier --check PASS; lint PASS 0 warnings; typecheck/test/rag:fixtures not run locally (cross-worktree heavy-lock contention, docs-only diff, deferred to hosted CI); no provider-backed checks" + "date": "2026-07-24", + "ref": "remediate-audit-system-issues (PR #1160)", + "head": "8b2359589fe61c19c78fb02be50316c8f29d7e18", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: CONFLICTING; Static PR checks + Unit coverage + PR required FAIL (stale docs/site-map.md). after: merged origin/main cleanly (2e7b034d1); regenerated site-map (8b2359589fe61c19c78fb02be50316c8f29d7e18); no unresolved review threads; CI re-running expected green for static-pr/coverage/pr-required", + "checks": "vitest tests/site-map.test.ts pass (6); sitemap:check pass; no provider-backed checks run" + }, + { + "date": "2026-08-21", + "ref": "claude/frontend-design-6sl1ft", + "head": "8b26a5c4ce836db00e031e2ad3ee3980e8a9d1a9", + "scope": "design-review remediation + loose ends + nested-mockup CI scope routing", + "outcome": "applied — 20 review findings resolved or dispositioned, 5 loose ends closed, 1 CI scope gap fixed; 3 architectural items recorded as decisions in TOKENS.md §9 / COMPONENTS.md §0.4", + "checks": "verify:pr-local exit 0 (28/28 gates after CI-scope widening; 7599 tests passed, 4 skipped, 0 errors; build ok); full suite green with no gh CLI; verify:ui delegated to CI Production UI (playwright revision drift #255, and heavy jobs are draft-gated)" }, { - "date": "2026-07-28", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "9731a9e35fdd036e039f88cbe1f8ccb0f99e9fdc", - "scope": "PR #1316 tip WIP: #024 status + favourites count suppress + therapy retry settle", - "outcome": "no high-confidence P0/P1; residual #091 partial-count trust + search-band onRetry dead behind workspace error gate", - "checks": "vitest favourites-hub-unavailable-controls + therapy-compass-data-recovery (7 passed); static review of uncommitted diffs" + "date": "2026-07-30", + "ref": "main", + "head": "8b27cb4b69b41948a64f91cbbf4b487e5f789b39", + "scope": "maturity-tests-packages-audit", + "outcome": "high-maturity; recommend targeted account-route tests + python packaging + #040 visual baselines; avoid new framework packages", + "checks": "read-only inventory of package.json, vitest.config.mts, tests/, worker/python, docs/audit/2026-07-20-repository-maturity.md, docs/maturity-backlog-workorders.md, docs/outstanding-issues.md; no provider checks" }, { - "date": "2026-07-28", - "ref": "claude/top-search-design-mockups-w53znc", - "head": "af07e34b5e6ca958206926a05509c1e321dbe862", - "scope": "bugbot SearchResultsHeaderBand favourites status", - "outcome": "P1: favourites status override under-reports registry faults when any items exist; empty/filter guards use overridden status; registryStatus unused. P2: demo prototype merge still over-faults band. No code change.", - "checks": "static review of band/favourites/diff call sites; offline fold proof; PR thread context; no provider/CI" + "date": "2026-08-18", + "ref": "claude/patient-factsheets-search-regression-8iyvnd", + "head": "8b2ac1cd1cffcb92a13d66341e5d82d3f8067aa8", + "scope": "src/lib/search-command-surface.ts,src/components/mode-home-template.tsx", + "outcome": "approved", + "checks": "test:focused (283 passed), typecheck clean, eslint clean, prettier clean, live Playwright verification at 390x844 against /factsheets, /dsm, /differentials" }, { - "date": "2026-07-28", - "ref": "codex/backlog-diagnostics-reconciliation", - "head": "c0e8a126bfdba0e7ee22ba8da236c452592524b7", - "scope": "six-pr-consolidation", - "outcome": "close-superseded: canary/eval already on main", - "checks": "diff-vs-main,merge-tree" + "date": "2026-07-13", + "ref": "claude/reconcile-mode-home-tokens", + "head": "8b3dee857fc0503d815b794371be19bfd088b973", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/reconcile-mode-home-tokens; git diff --name-only reported 1 path(s)." }, { - "date": "2026-07-28", - "ref": "codex/chat-mode-page-navigation-2328", - "head": "db7fee69d13239de92800ff83e85610884bdde7d", - "scope": "six-pr-consolidation", - "outcome": "ported-to-#1336; tip closed", - "checks": "diff-vs-main,merge-tree,port-review" + "date": "2026-08-05", + "ref": "codex/v2-design-system-completion", + "head": "8b49bfa2b66ed78577b08e1a50414db55898f2df", + "scope": "PR #1616 v2 design system CI+reviews", + "outcome": "fixed typecheck + review defects; baselines remain not-committed by design", + "checks": "tsc; vitest ui-v2/accessible-table/ui-primitives/design-system-adoption" }, { - "date": "2026-07-28", - "ref": "codex/chat-top-nav-mockups-b3ce", - "head": "b8f4c658412d8f546f47b64b77e7f274a11018ff", - "scope": "six-pr-consolidation", - "outcome": "close-superseded: mockups via #1278", - "checks": "diff-vs-main,gh-merged-history" + "date": "2026-07-25", + "ref": "execute-audit-remediation-plan (PR #1188)", + "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "scope": "Bugbot/diff-review: maintainability remediation tip", + "outcome": "BLOCK: tip tree carries unresolved conflict markers (answer/upload APIs, clinical-dashboard, services, tests); invalid `async export function sha256Hex` in indexing-v3 utils; ClinicalDashboard still calls removed `renderSystemNotice`; merge-tree vs main conflicts in check-github-action-pins.mjs + ui-primitives.tsx. Intended notices extraction/dynamic imports look mostly sound; search-scope/migration not in three-dot product delta.", + "checks": "`git grep` conflict markers on tip (none on origin/main); `git show` for ClinicalDashboard:3824 + utils.ts:191; `git merge-tree --write-tree origin/main 8b8639113`; no provider-backed checks." }, { - "date": "2026-07-28", - "ref": "codex/comparison-alias-distinctness", - "head": "9f93b1a56fa557e15fa1df8526d28d0b10bd1d21", - "scope": "six-pr-consolidation", - "outcome": "close-superseded: matcher evolved on main", - "checks": "diff-vs-main,merge-tree" + "date": "2026-07-25", + "ref": "origin/execute-audit-remediation-plan (PR #1188 closed tip)", + "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "scope": "branch-cleanup", + "outcome": "DELETED remote. Tip rejected (conflict markers + parse breakers); intentional maintainability work already on main via #1213 (`8e3a49d0`). IMP-04 mockup/export prune from tip commit `3bc391dff` was not ported (knip-only unexports; optional follow-up). Local Antigravity worktrees left untouched.", + "checks": "Content proof: notices/utils/Sheet autofocus on origin/main; tip marker count 12; `git push origin --delete execute-audit-remediation-plan`. No provider calls." }, { - "date": "2026-07-28", - "ref": "codex/consolidate-design-mockups", - "head": "d120dbcca5ab4c5caab85176aace052788320405", - "scope": "dirty-work consolidation review", - "outcome": "APPROVE. Isolated calculator and therapy-navigation experiments under mockup routes, kept production calculators/navigation unchanged, and fixed the final decorative-icon accessibility lint finding.", - "checks": "boundary Vitest 3/3; design-system contract PASS; sitemap PASS; mockup Playwright 16/16; verify:cheap PASS (413 files, 4201 passed, 3 skipped); no provider checks." + "date": "2026-07-25", + "ref": "PR #1188 / `execute-audit-remediation-plan`", + "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "scope": "Explicit Bugbot + protocol review (+ /prlanded + /debug)", + "outcome": "DO NOT MERGE tip. Not landed (state OPEN, mergeable CONFLICTING, 468 behind main). P0: ClinicalDashboard orphaned import body (parse break). P0: dangling `renderSystemNotice` after helper extraction. P0: `indexing-v3-agent/utils.ts` `async export function sha256Hex`. P0/P1: `CLINICAL_PHRASE_PATTERN` left in index.ts but used from utils. P0: ~12 files still contain conflict markers from archive base `faa50e6`. P1: PR policy missing Clinical Governance Preflight. P2: notice visibility dropped `answer` gate + `hidden sm:block`. IMP-04 prune unsafe vs current main (still-exported symbols in use). Clean rebuild of intentional remediation on main: `cursor/pr1188-fix-build-breakers-6ee0`.", + "checks": "Bugbot subagent; `git show`/marker scan; esbuild parse of tip utils; `gh pr view/checks`; typecheck + check:github-actions on fix branch. No provider calls." }, { - "date": "2026-07-28", - "ref": "codex/consolidate-navigation-overlays", - "head": "2e30b2bb39a99a48fc95fd76374520ce592f5854", - "scope": "dirty-work consolidation review", - "outcome": "APPROVE. Retained only current-main-compatible responsive sheet max-height precedence. Rejected stale sidebar/routes, calculator removals, broken overlay imports, and focus/inert regressions.", - "checks": "git diff --check; focused sheet DOM Vitest 6/6; verify:cheap PASS (412 files, 4199 passed, 3 skipped); no provider checks." + "date": "2026-07-25", + "ref": "PR #1188 / `execute-audit-remediation-plan`", + "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "DO NOT MERGE. P0: `ClinicalDashboard.tsx` orphaned import body (syntax error). P0: `indexing-v3-agent/utils.ts` has `async export function` + missing `CLINICAL_PHRASE_PATTERN`. Also inherits conflict markers from `faa50e6e3`. Prune commit otherwise clean.", + "checks": "`git show` of broken import + utils.ts; marker scan. No provider calls." }, { - "date": "2026-07-28", - "ref": "codex/consolidate-platform-reliability", - "head": "aa178d6465ff9aeb92b02766f4accff522c0f8a8", - "scope": "dirty-work consolidation review", - "outcome": "APPROVE. Retained reproducible npm-cache installs, explicit dev dependency installs, toolchain parity coverage, and corrected ops preflight wording. Rejected contaminated image work, fail-open audit behavior, duplicated assets, visual-regression machinery, and the unsafe primary-checkout stale-lease recovery.", - "checks": "git diff --check; focused Vitest 8/8; check:github-actions; check:installed-lock-parity; verify:cheap PASS (412 files, 4199 passed, 3 skipped); no provider checks." + "date": "2026-07-25", + "ref": "PR #1188 / `execute-audit-remediation-plan`", + "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "scope": "prlanded + close as superseded", + "outcome": "CLOSED (not merged). Content never landed; tip remained CONFLICTING with P0 build breakers. Superseded by PR #1213 (`cursor/pr1188-fix-build-breakers-6ee0`).", + "checks": "Final P0 scan on #1213 tip clean; focused Vitest 16/16; node --check utils; check:github-actions. Closed via ManagePullRequest with supersession comment." }, { - "date": "2026-07-28", - "ref": "codex/universal-search-live-test-fix", - "head": "9f5994069cddb8a58308d9d5acb9403948a7f617", - "scope": "live universal-search owner test handoff", - "outcome": "APPROVE. Test-only fix aligns live owner coverage with the intentional federated and focused document timeout contract; no production behavior changed.", - "checks": "Node TypeScript syntax PASS; git diff --check PASS; full local gates blocked by an active exclusive repository lease; hosted required checks pending; no live provider tests run." + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "8b8d4b8952fc96401116af9e34604c2a3e6e53b4", + "scope": "PR #1377 CI/review babysit", + "outcome": "Merged #1376 from main with real conflicts: kept admission-before-scope + L1-2 REFUTED docs; took #1376 invalidation epochs / empty-scope Server-Timing / stream signal. Codex threads resolved earlier. MERGEABLE; CI re-running.", + "checks": "vitest preamble+rag-cache-invalidation 7/7; check:rag:fixtures 36/21; prior tip PR-required green before #1376 land" }, { - "date": "2026-07-28", - "ref": "cursor/mode-secondary-navigation-dc4e", - "head": "3712edca0a4ea0638668d316c8696a695d180256", - "scope": "pr-1336", - "outcome": "nav-port-ready; UI chrome gate pending", - "checks": "vitest-51+58+4186,tsc,eslint" + "date": "2026-08-15", + "ref": "1976", + "head": "8bb76ce085f212d47a0918b9242cb412e8a9a3f7", + "scope": "review-and-fix", + "outcome": "fixed phone install-sheet overlap on current-base head", + "checks": "pwa regression 1/1; lifecycle DOM 10/10; verify:phone-chrome 437/437 UI" }, { - "date": "2026-07-28", - "ref": "cursor/mode-secondary-navigation-dc4e", - "head": "e33997dbdd4a62689ff17ff1f536d9e830ae22ad", - "scope": "pr-1336-babysit", - "outcome": "fixed Codex P1 horizontal scroll + P2 service section ids; merged main", - "checks": "vitest-62,eslint,tsc" + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "8bba4d60586c102a8d42e208c7bd73fb0b52046b", + "scope": "Differentials results evidence-state, clinical-cue, and ranking presentation", + "outcome": "Fixed three validated P2 findings: evidence-gated best-match success styling, clinical-cue-only labels, and A–Z display rank.", + "checks": "git diff --check; direct Node source-contract assertions; targeted Vitest attempted but unavailable because this isolated worktree has no node_modules/vitest" }, { - "date": "2026-07-28", - "ref": "cursor/mode-secondary-navigation-dc4e", - "head": "ea9f74062269cc820af5fdc9d3d1ce09e5cf0a4a", - "scope": "pr-1336-babysit", - "outcome": "fixed P1 Suspense+DocumentViewer double-nav; P2 documents/search gate; CI babysit", - "checks": "verify:cheap,vitest-70+4189,tsc,eslint,build" + "date": "2026-07-30", + "ref": "PR #1446 / claude/ci-testing-review-2l8klp", + "head": "8be4f703d5729b4aa10e73ee8fbc77e03f400b8b", + "scope": "ci-testing-review-capture", + "outcome": "Withdraws an invalid inference from the earlier records for this PR, on a correct Codex finding. Those rows argued that because the sibling documentScrollTop assertion did not fail, the scroll position held and scroll-restoration causes were ruled out. Playwright aborts a test at the first failing expect, so once anchorTop threw, documentScrollTop NEVER EXECUTED - its absence from the output shows nothing. The #142 row now says so and the class is not ruled out. The capture itself stands: the Services viewport-anchor failure is real, intermittent on byte-identical code (pass/pass/fail/pass-on-rerun), and distinct from #127. Separately CodeRabbit flagged :973 vs :1133 as inconsistent and then withdrew it: :973 is the test declaration and :1133 the thrown assertion, both reported by Playwright, and declaration lines drift (898 / 973 / 1041 across three tree states) which is why the exact title is the durable identity.", + "checks": "check:outstanding-issues PASS (140 rows, unique ids, next-id=143). Lesson: reasoning from an assertion that never ran is the same verified-vs-assumed error this session already hit twice in the other direction." }, { - "date": "2026-07-28", - "ref": "cursor/pr-policy-caveman-docs-dc4e", - "head": "c0fe85980b998a7790e99e4a0ab4a04c01934536", - "scope": "pr-1335", - "outcome": "docs-ready: caveman×pr-policy + consolidation ledger", - "checks": "content-proofread,check:branch-review-ledger" + "date": "2026-07-30", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "8bec95559bd2333516560e336e3244c0a9504583", + "scope": "PR #1396 phone header overlay motion + dock portal", + "outcome": "Reported choppiness traced to the collapse mechanism itself: a 1fr->0fr header grid plus chrome-safe-area-top height transition plus reserve-pad padding transition handed layout back to the scroller on every hide. Switched phones to the already-proven overlay motion (translate, zero released top geometry) and added a constant measured top reserve (--phone-overlay-chrome-h). The switch regressed the shell phone bottom dock: the overlay translate makes a containing block for position:fixed descendants, so bottom:0 resolved against the 72px header (form bottom 772px off at 390x844); fixed by portalling the dock to the footer layer per invariant 21. Two new guards, both proven against the broken shapes.", + "checks": "verify:cheap Test Files 432 passed / Tests 4452 passed | 4 skipped; focused Chromium phone-chrome 13 passed; typecheck+lint+prettier clean; verify:ui NOT run (container Playwright build mismatch, see #113)" }, { - "date": "2026-07-28", - "ref": "cursor/pr-policy-caveman-docs-dc4e", - "head": "e449eccc7e050736519588a89d2c35b2348e4380", - "scope": "pr-1335", - "outcome": "docs-ready: caveman×pr-policy guidance", - "checks": "content-proofread" + "date": "2026-07-11", + "ref": "PR #461 / claude/differentials-search-ux-polish-f2ff06", + "head": "8bf455325b0915898417dd66aa61d419080c5528", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "Preserved diagnosis selections through workflow-aware comparison routing, constrained cross-workflow IDs to supported candidates, and removed comparison controls from presentation rows. Restored all four required core UI smoke markers and hardened answer/search mocks against invalid payloads and stale-response races.", + "checks": "Focused differential Vitest (22/22); TypeScript; full required CI, advisory Chromium, CodeRabbit, Semgrep, Gitleaks, and GitGuardian passed on the final head." }, { - "date": "2026-07-28", - "ref": "cursor/search-correctness-030-075-6273", - "head": "134b006b7ff42412e727292c6c03fa4c404252ae", - "scope": "six-pr-consolidation", - "outcome": "close-superseded: already on main via #1177/#1204/#1215", - "checks": "diff-vs-main,merge-tree,gh-merged-history" + "date": "2026-07-13", + "ref": "codex/pr-461-fixes", + "head": "8bf455325b0915898417dd66aa61d419080c5528", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 8bf455325b0915898417dd66aa61d419080c5528 origin/main`." }, { - "date": "2026-07-28", - "ref": "fix/audit-remediation-from-main", - "head": "88deecfb988da030d806b1d8c0a4c8349502a5f8", - "scope": "stale-checkout P0 regression discovery", - "outcome": "P0 regressions found in stale file checkouts", - "checks": "Confirmed affected worker/main.ts and tests/reconciliation-preflight.test.ts; superseded by later remediation and current final review" + "date": "2026-08-18", + "ref": "claude/issues-reconcile-post-phase2", + "head": "8c13f97c31e7530be8df8b03c52ebe854ac56a82", + "scope": "Dedicated ledger reconciliation, re-cut off base dda4956ff: 17 queued inbox requests applied, 4 cancellations honoured, including the Phase 2 #056 result", + "outcome": "Self-review passed. Corrects the prior tip, which was cut against 9d832452d and left one later-arriving request pending, failing the write-discipline guard as a partial transaction. Batch now complete; inbox drained to 0 pending / 251 applied. Docs-only, no product change.", + "checks": "check:outstanding-issues (361 rows, no ids deleted from base dda4956ff4ad); check:ledger-write-discipline (passed dda4956ff4ad..HEAD); issues:reconcile applied 17; format" }, { - "date": "2026-07-28", - "ref": "open-prs@2026-07-28", - "head": "ac786b3553252df48bd13ef414afbcc62e1b41e9", - "scope": "open-pr-usefulness", - "outcome": "TRIAGE of 19 open PRs vs origin/main ac786b35: CLOSE #1364 (author throwaway), #1322 (superseded by #1335), #1352 (stale continuation of merged #1305; 595 behind; real merge-tree conflicts; deletes private-access tests / diverges answer+upload). KEEP product: #1366 Claude settings diagnostic, #1365 issues #096/#097, #1335 caveman×pr-policy docs, #1360 npm-ci CI, #1361 sheet max-h, #1362 calculator/therapy mockups, #1311 doc-nav mockups+viewer, #1351 error/a11y audit, #1298 sheet-focus/P2 tests, #1295 tablet mode-home, #1268/#1269/#1267 dependabot. FOLD ledger-only #1353+#1341+#1363 into one hygiene PR then close the extras. Order: land #1335 before depending on caveman guidance; sync #1361 vs #1298 (same sheet.tsx, different deltas); refresh #1267 after #1366; do not land #096's seven unrun follow-ups piecemeal.", - "checks": "gh-pr-list; git-fetch-prune; ahead/behind+cherry-pick+merge-tree per tip; three-dot file inventory; overlap matrix; #1305 MERGED proof; content compare SettingsStateProvider/Overlay/z-ladder already on main; #1335 body supersedes #1322; no provider checks; no closes performed" + "date": "2026-07-30", + "ref": "PR-1458", + "head": "8c1975b178c67e4c54acffc395d85e38c43d39f5", + "scope": "PR #1458 superseded root-gate reconciliation", + "outcome": "PASS: retained only unique documentation corrections after PR #1480 landed the stronger tracked-root gate; archived resolved shared-hook issue #143", + "checks": "docs index and links passed; outstanding-issues and branch-review-ledger guards passed; diff check passed" }, { - "date": "2026-07-28", - "ref": "PR #1267 / dependabot/github-actions (merged)", - "head": "359b0e1a21a489978f00df8075ebcd906d57de4b", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED. Allowlisted anthropics/claude-code-action be7b93b (v1.0.183 peeled tag) in github-action-pins.mjs; pin check PASS.", - "checks": "hosted-pr-required,static,unit,check-github-action-pins,tag-peel-verify" + "date": "2026-07-30", + "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", + "head": "8c39158d99876338613d5bb3195847fd253ef5ff", + "scope": "CI/review closeout: /tools page-only roots + thread disposition", + "outcome": "FIXED. Layout false-positive for `/tools` closed via `isStandaloneModeHomePath` in reachabilityRoots. Import-as-rendered finding left as `#115` (pre-existing; lint catches the plausible slip). Both Codex threads dispositioned. Merge clean vs main.", + "checks": "vitest adoption 6/6; full unit 4451 passed / 4 skipped; typecheck; prettier; Bugbot pr-bugbot" }, { - "date": "2026-07-28", - "ref": "PR #1268 / dependabot/npm-production (merged)", - "head": "1753c0bf4f3d236ba23a42afb1620156d8586484", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED prod deps: next/env/supabase/lucide/openai/react 16.2.12/2.110.8/1.27/6.49/19.2.8. Sync+auto after hung Bundle budget retrigger.", - "checks": "hosted-pr-required,static,unit,build,containers,circleci" + "date": "2026-07-24", + "ref": "`cursor/database-interface-audit-0883` / PR #1133", + "head": "8c4c5556ef470673da492aa5f901513c84637d83", + "scope": "PR babysit + Bugbot + Codex thread triage", + "outcome": "COMPLETED for current head. Fixed Codex P2s: stranded queued recovery pages past open-job rows; bulk retry_failed enrichment lease preflight scopes to failed docs only. Bugbot ClinicalDashboard safety-findings finding is not in this PR unique diff vs main. PR policy Clinical Governance Preflight added in body. Merged origin/main.", + "checks": "Local Bugbot; focused Vitest; gh PR/CI." }, { - "date": "2026-07-28", - "ref": "PR #1269 / dependabot/npm-development (merged)", - "head": "dee52deb44271e99dde8021513471eba1a1955d5", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED after #1268 (lockfile order). Dev bumps: bundle-analyzer/eslint-config-next 16.2.12, playwright 1.62, prettier 3.9.6.", - "checks": "hosted-pr-required,static,unit,build,circleci" + "date": "2026-07-30", + "ref": "codex/fix-p2-audit-20260719", + "head": "8c8e661706dfedafb5380af1b2a9b6c817a7c7c0", + "scope": "branch-cleanup", + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "merged PR #1298 is final delivery; current main retains secret redaction and ImportExpression safeguards; normalized review record copied; clean worktree; batch12 bundle verified" }, { - "date": "2026-07-28", - "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", - "head": "af9a957b", - "scope": "Babysit recheck", - "outcome": "Hosted CI green on prior tip; GitHub DIRTY was staleness (merge-tree CLEAN). Merged origin/main cleanly. Unresolved threads 0. Bugbot: no cursor[bot] findings.", - "checks": "merge origin/main; check:type-scale --strict PASS; no provider checks." + "date": "2026-07-30", + "ref": "codex/fix-p2-audit-20260719", + "head": "8c8e661706dfedafb5380af1b2a9b6c817a7c7c0", + "scope": "branch-cleanup-deletion-pending", + "outcome": "superseded by merged PR 1298; retained safe fixes landed and unvalidated retrieval residue was explicitly rejected; removal deferred by primary-dirty lease", + "checks": "clean status; PR 1298 body and final head inspected; protected diff reviewed; no open PR" }, { - "date": "2026-07-28", - "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", - "head": "c8af3d1ab830", - "scope": "CI babysit + Codex thread closeout", - "outcome": "MERGEABLE; 0 behind main; merge-tree CLEAN. Fixed earlier Static type-scale failure; suppressed shared composer on phone nav mockup; resolved 4 Codex P2 threads (scroll, overflow More, progress clamp x2). Bugbot: no cursor[bot] findings.", - "checks": "check:type-scale --strict PASS; hosted Static/Build/Unit/Advisory PASS on tip; Production UI pending; no provider checks." + "date": "2026-08-24", + "ref": "codex/design-system-ui-kit-lab", + "head": "8cb4c8333c83366f783c101f5a6504dd21d0bf6b", + "scope": "Run PR sweep", + "outcome": "fixes-applied: merged origin/main + regenerated outstanding-issues snapshot; InteractiveRow width moved off base; sheets picker uses min-h-tap + top-full; PR_POLICY_BODY.md added so CI can sync Clinical Governance Preflight; resolved Bugbot/Codex/CodeRabbit threads 3841587234, 3841597041, 3841587240, 3841635363", + "checks": "check:outstanding-issues-snapshot:pass,check:design-system-contract:pass,test:focused-interactive-row:32/32,pr-policy-local:pass" }, { "date": "2026-07-28", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "01469840", - "scope": "CI/merge conflict closeout + Bugbot triage", - "outcome": "RESOLVED merge conflict with origin/main (7ae4eb49 per-option prefetchModeHome). Dropped superseded bulk prefetchModeHomes; menu-open warms only highlighted option; focus/pointer scanning retained. CodeRabbit duplicate/malformed ledger threads dispositioned (main-owned). No open cursor[bot] Bugbot product defects.", - "checks": "merge-tree clean; focused vitest 12/12; ledger restored from main + appends; no provider checks." + "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", + "head": "8ccd7f481819ae4b41352acf9d867b2b850696be", + "scope": "CI/review closeout: remaining band review gaps", + "outcome": "FIXED. Prior Production UI failure on older tip was Suspense duplicate `global-search-input` (addressed earlier). Tip closes 7 unresolved review threads: favourites partial-status + refetch, differentials unauthorized copy, docs typography, forced-colors adoption gate, forms/loading control suppression confirmation. Merge-tree clean vs main; hosted CI rerunning on this head.", + "checks": "Focused vitest 38/38; tsc + eslint on touched files PASS; no Bugbot MCP available in this environment; no provider-backed checks." }, { - "date": "2026-07-28", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "0cab0a6475a9744e7d64a25dedb4a89b06909464", - "scope": "CI babysit re-sync", - "outcome": "Re-merged origin/main after GitHub DIRTY/staleness (merge-tree clean). PR policy already SUCCESS with Clinical Governance Preflight. 0 review threads.", - "checks": "merge-tree clean; hosted PR policy/required were SUCCESS on prior tip; no provider checks." + "date": "2026-08-08", + "ref": "claude/document-viewer-optimization-tu8tnj (PR #1741)", + "head": "8d01991217f56d40666e31e13547202c2a8df8f2", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Production UI PDF position fail + DIRTY → merged main; removed redundant relative on document-frame-controls; CI re-running", + "checks": "test:focused document-frame 16 passed; playwright smoke PDF-first mobile 1 passed; no provider-backed checks" }, { - "date": "2026-07-28", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "1c77291a93373b56c136075b5941f5e61ac2859b", - "scope": "Ledger hygiene after main merge", - "outcome": "Dropped one exact-duplicate #1292 babysit row introduced by ledger `merge=union` during main sync; first copy retained; zero unique records lost.", - "checks": "`check:branch-review-ledger` PASS after dedupe; no provider checks." + "date": "2026-08-18", + "ref": "claude/factsheets-homepage-routing-obr8g4 (PR #2112)", + "head": "8d2673a31dd7fbbc7d5dd65cc03bb1bc3caec57c", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state behind main, PR required failing (Static PR checks > Maintainability hotspot budgets: ClinicalDashboard.tsx 4149/4140 lines), 0 unresolved review threads. Branch was found already synced to main (5ae2bb6e, merge commit 832b1b6c authored via GitHub API) at sweep start -- no conflicts, no action needed there. Fixed the maintainability budget failure by trimming the PR's own added rationale comments around heroComposerBreakpoint/centeredModeHome (net +11 lines -> net 0, file now exactly 4140/4140 lines); zero logic change, expressions byte-identical. Pushed commit 8d2673a3. Review threads: none open, none touched. After: new CI run in flight for 8d2673a3 at sweep end (not awaited past initial job-list snapshot per babysit-dormant policy).", + "checks": "Local (node 24.19.0, npm ci --include=dev): npm run check:maintainability-budgets -> 'Maintainability hotspot budgets passed.' (ClinicalDashboard.tsx 4140/4140); npx prettier --check src/components/ClinicalDashboard.tsx -> 'All matched files use Prettier code style!'; npm run typecheck -> clean, no errors; npx eslint src/components/ClinicalDashboard.tsx -> no output/clean; npm run test:focused -- --files src/components/ClinicalDashboard.tsx -> no matching test files (comment-only change, no behavioural test surface). No provider-backed checks run (no eval:*, verify:release, check:supabase-project, test:live)." }, { - "date": "2026-07-28", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "734931960175afa12359e84c030290396c381bb5", - "scope": "CI babysit closeout", - "outcome": "Final tip after main sync + Clinical Governance Preflight body fix for ready PR.", - "checks": "Awaiting exact-head PR policy/required CI." + "date": "2026-07-30", + "ref": "claude/outstanding-issues-triage-24c8ow", + "head": "8d2710fd6cbdc84e8c50a6c9bc0a1e1a0cd612c8", + "scope": "open PR changed-scope review", + "outcome": "APPROVE: completed items 095, 096, 104, 109, and 115 move to archive with no deletion, duplicate ID, or stale next-id.", + "checks": "check:outstanding-issues PASS; check:branch-review-ledger PASS; diff review; no unresolved threads" }, { - "date": "2026-07-28", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "c5ee34f2a17222a0ec6fb592a2dd7db4e43f1496", - "scope": "CI babysit + Bugbot recheck", - "outcome": "Before: required CI SUCCESS; GitHub CONFLICTING/DIRTY from 1-commit main staleness (merge-tree clean); 0 review threads. Bugbot: no P0/P1/product P2. After: merged origin/main (#1287). Nothing to resolve for comments.", - "checks": "Prior tip required CI SUCCESS; merge-tree clean; no provider checks." + "date": "2026-07-14", + "ref": "claude/remove-client-sentry", + "head": "8d54ddc980a0c883d1f8013e05aa1f96a85e622a", + "scope": "branch-cleanup", + "outcome": "Retained: new patch-unique work appeared during the cleanup pass.", + "checks": "Final local ref refresh after `origin/main` advanced concurrently." }, { - "date": "2026-07-28", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "f1e422e8ee64f7e161e78d9a56707a1a83cc3374", - "scope": "CI babysit: PR policy + main sync", - "outcome": "Before: PR marked ready → PR policy FAIL (missing Clinical Governance Preflight); GitHub CONFLICTING/DIRTY but merge-tree clean (17 behind). 0 unresolved review threads; Bugbot no P0/P1. After: merged origin/main; PR body updated with complete Clinical Governance Preflight (7/7 checked).", - "checks": "Local pr-policy evaluate ok; Vitest process-failure 2/2; no provider checks." + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138 bugbot)", + "head": "8d712183", + "scope": "Bugbot babysit", + "outcome": "Fixed medium: formulation builder/home cleared live query still ranked against lagging deferredQuery. Merged main (#1137 search-chrome). No unresolved review threads.", + "checks": "Focused Vitest deferred registry; typecheck pending in CI." }, { - "date": "2026-07-28", - "ref": "PR #1286 / `fix-test-run-lock`", - "head": "5532e928ad18a1d451732f6b0323009d9198dc48", - "scope": "Final merge-conflict + CI + Bugbot closeout", - "outcome": "APPROVE. Conflicts cleared vs current main; Bugbot clean on unique product delta; favourites-hub hydration settle guard landed; hosted PR required + Production UI green. Unique product delta: forced-colors:border, literalShadowClasses 0, diagnosis-map shadow token.", - "checks": "Hosted Static/Unit/Build/Safety/Advisory/Production UI/PR required PASS on tip; local verify:cheap PASS earlier; no provider-backed checks." + "date": "2026-07-30", + "ref": "PR-1497", + "head": "8d9e74ae8783bac6e96ec4bd0b5e5b5ab19afc42", + "scope": "PR #1497 final current-main review", + "outcome": "approved after fixing P2 incomplete offline credential scrubbing and fail-open live-test gap", + "checks": "check:codex-cloud, 41 focused tests, verify:cheap (443 files; 4641 passed, 3 skipped), issue and ledger guards, final merge audit passed" }, { - "date": "2026-07-28", - "ref": "PR #1286 / `fix-test-run-lock`", - "head": "e86d01edee26a361cbf69aab53ab168d963e3e71", - "scope": "Production UI favourites-hub hydration flake fix", - "outcome": "FIXED. Hosted Production UI failed once after main sync on favourites hub strict-mode duplicate (`getByTestId('favourites-hub')` -> 2). Applied existing `expectSingleSettledOwner` guard to favourites smoke asserts. Not a product regression from this PR's unique delta.", - "checks": "Prior tip hosted Static/Unit/Build/Safety PASS; Production UI 322/323 then fail on favourites hydration; fix pushed; no provider-backed checks." + "date": "2026-07-24", + "ref": "PR #1125 / `codex/answer-relevance-fail-closed`", + "head": "8d9fb2408f13e305138749655214baa0020fcfd4", + "scope": "Follow-up: clear comparison/`documentBreakdown` in untrusted clinical notes", + "outcome": "APPROVE for the scoped P2. `trustGatedAnswerForClinicalNotes` now clears `documentBreakdown`, `comparisonMatrix`, and `comparisonEvaluationState` when relevance is not source-backed, so Clinical Notes → ClinicalOutputPanel cannot rebuild comparison-detail tables from raw `best_quote` values. Prior visual/section/quote gates remain. Residual risk is still deliberate low-trust rendering for legacy payloads without `isSourceBacked: true`.", + "checks": "Focused jsdom/policy regressions: `tests/visual-evidence-tabs.dom.test.tsx` 5/5 after hardening the comparison case (caption + matrix values absent). Thread disposition posted and resolved. No live RAG/OpenAI/Supabase mutation." }, { - "date": "2026-07-28", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "562bce2b3c90bf1790da9683077915cd3f8fdb17", - "scope": "Main sync + conflict repair + Bugbot closeout", - "outcome": "FIXED. Real CONFLICTING vs advanced main was `docs/outstanding-issues.md` only (ledger/ui-smoke auto-merged). Resolution keeps `#012` in Resolved with this PR's outcome while retaining main's newer open/archive rows. CI on prior tip was fully green (Static/Production UI/PR required); re-runs after sync. Review threads already dispositioned (resolved-graph guard, ledger residuals, attribution).", - "checks": "merge-tree CLEAN; focused vitest index+boundaries 10/10; `check:cross-mode-index` PASS; `prettier --check` on touched tests PASS; Bugbot pass pending agent; no provider-backed checks." + "date": "2026-08-23", + "ref": "PR #2293 / codex/implement-mode-aware-clinical-ask-feature", + "head": "8da6c287c2a9b6fc158d2dcbd2253f82a6b642df", + "scope": "PR #2293 full diff and Clinical Ask reconciliation", + "outcome": "no-new-p0-p1; four-p2-fixes-applied; draft-release-gates-open", + "checks": "focused-vitest:53/53; targeted-production-ui:1/1; migration-role:pass; drift-replay:pass; format:pass; diff-check:pass; production-readiness:governance-gated" }, { - "date": "2026-07-28", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "742b0d154f7058800c945b3ec6e720eef24ce4c0", - "scope": "Bugbot P2: finish #012 recommended-queue closeout", - "outcome": "FIXED. After main-sync conflict repair, `#012` was correctly Resolved/Open-clean but the Recommended execution queue still listed it (order 20 composite + #017 Before hint). Applied `/issues done` queue rewrite: order 20 is now `#013`, `#016`; #017 timing is Before `#013`/`#016`.", - "checks": "Bugbot review on `1b31607b`; queue/Open/Resolved audit; focused vitest previously green; no provider-backed checks." + "date": "2026-07-24", + "ref": "codex/fix-next.js-startup-failure-and-verify-pages (PR #1149)", + "head": "8ddddbab2a29a94b3f993cbd114889f72c95f4f1", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "b90d659be12efedd339297daa2d289c2bd7ebb03", - "scope": "Sync main + Format check on outstanding-issues", - "outcome": "FIXED. Cause of GitHub CONFLICTING/DIRTY: branch 1 behind main (`11a4ed74` numeric claim truncation); `git merge-tree` CLEAN — ledger union auto-merge. Cause of Static PR red: Prettier on `docs/outstanding-issues.md` after queue closeout rewrite. Merged main; reformatted file; `#012` remains Resolved and out of the recommended queue.", - "checks": "merge-tree CLEAN; `prettier --check` PASS; `check:branch-review-ledger` PASS; no provider-backed checks." + "date": "2026-08-30", + "ref": "codex/smart-natural-search-current-main", + "head": "8de6dae0e541166dad23523ca3a4e2340eb6c217", + "scope": "Smart natural search exact-tree implementation and review", + "outcome": "P2 findings fixed; no open P0/P1/P2 findings", + "checks": "105 focused contracts; enabled Chromium 6 passed/1 skipped; default-off Chromium 1 passed; production build passed; PR-local 11616 passed with 6 exact-main Windows Bash failures" }, { - "date": "2026-07-28", - "ref": "PR #1289 / `codex/rag-reliability-final`", - "head": "a1ca6a016490e4d4b564edd3d553d87fed3071df", - "scope": "Protected-main RAG reliability, clinical-governance and release review", - "outcome": "APPROVE. Independent retrieval, governance and fallback reviews found and fixed three merge blockers: global chunk-query alias overreach was narrowed to the measured clozapine blood-count action shape; legacy private source reviews remain on the deployed v1 RPC while unapplied-v2 paths fail explicitly; and source-backed review fallback is now a zero-tolerance blocking metric with reconciled evidence. Final rereviews found no P0-P2. PR #1288 was superseded without force-push after GitGuardian correctly rejected a token-shaped fake fixture; the clean replacement tree is byte-identical to the reviewed tree and both secret scanners pass. The additive BMJ attestation migration remains unapplied and BMJ stays unverified pending qualified human action.", - "checks": "Exact application tree `verify:pr-local` PASS: format, zero-warning lint, typecheck, 403 files and 4,101 tests passed with 2 skipped, production build/client-secret scan, and 36 offline RAG fixtures. Live 36-case canary PASS with document/content recall 1.0, zero failed cases and zero per-case document/content RR regressions; three cache-bypassed affected-path answer probes PASS with zero provider requests and zero generation cost. Earlier coverage PASS: 399 files, 4,062 passed and 2 skipped, RAG 86.83% statements and 90.79% lines. Hosted build, static, unit coverage, migration replay, Supabase Preview, Production UI, policy, Semgrep, Gitleaks and GitGuardian passed on the implementation tree; final evidence-only head requires the normal hosted rerun." + "date": "2026-08-07", + "ref": "cursor/document-citation-landing-7bc3 (PR #1705)", + "head": "8e62183dea5e07ac5ee4671d8d358937263c5de4", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Merged origin/main (clean, just behind). Fixed the real CI failure (ui-smoke 'document viewer content disclosures...'): jumpToSection set inspectRevealKey when navigating to source-text but never cleared it navigating away, so IndexedTextPanel's React-controlled open prop stayed true and, sharing the native exclusive accordion group, silently closed whatever section was just navigated to. Same root cause independently flagged by Sentry and CodeRabbit review threads on this PR -- fixed once, replied to both, resolved both plus a 3rd (already-fixed) copilot thread. Declined to fix a 4th P3 CodeRabbit nitpick (edit an existing ledger row) since the ledger is append-only; replied with reasoning and resolved.", + "checks": "eslint on DocumentViewer.tsx (clean); local Playwright build blocked by environment-wide missing tailwind-merge dependency (Node 24.13.0 vs jsdom's required >=24.15.0, npm ci blocked by engine-strict) -- relying on CI" }, { - "date": "2026-07-28", - "ref": "PR #1289 / `codex/rag-reliability-final`", - "head": "ab6ca036937bff1acaefbda8a5581d6d75f489b3", - "scope": "Final current-main sync review", - "outcome": "APPROVE pending fresh exact-head required checks. Merged current `origin/main` without conflict after its already-reviewed document-search and focus-path changes; no protected RAG, evaluation, migration, or RAG fixture surface changed from the live-canary application tree, and no P0-P2 finding remains.", - "checks": "`git merge-tree --write-tree` CLEAN before sync; branch-ledger guard and `git diff --check` PASS; prior exact application-tree `verify:pr-local` and live 36-case canary remain applicable; fresh hosted checks required." + "date": "2026-08-14", + "ref": "codex/calculators-mode", + "head": "8e7c9d65463ab37bc6e6cd658ec8091b4260db18", + "scope": "calculators first-class mode", + "outcome": "Clean after resolving local-only typeahead and legacy URL normalization", + "checks": "20/20 focused unit/DOM; typecheck; lint; prior verify:ui 433/433; targeted browser request-interception queued then not run due coordinator contention" }, { - "date": "2026-07-28", - "ref": "PR #1289 / `codex/rag-reliability-final`", - "head": "d49af8acb42ccedbfe6c8b3f03d30769ba906ec7", - "scope": "Bugbot review (exact head)", - "outcome": "APPROVE. No high-confidence P0–P2. Application `src/`/`supabase/`/`tests/`/`scripts/` trees are unchanged vs prior APPROVE tip `a1ca6a01`; tip delta is docs evidence + clean merge from `main`. No unresolved `cursor[bot]` Bugbot threads. Residual risk: unapplied BMJ attestation migration (`#022`) correctly fails closed with `503 source_review_v2_unavailable` until qualified hosted apply.", - "checks": "Focused high-risk Vitest 358 + 1502 passed; merge-tree CLEAN vs `origin/main`; no provider-backed checks; no PR comment mutations." + "date": "2026-08-18", + "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", + "head": "8e81a7d708368eb19065b710879fe82522746460", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR behind main by 25 commits (mergeable_state=behind), 0 unresolved review threads, prior CI run (old head 5ba295de) green on PR required/static-pr/change-scope with a stale GitGuardian flag on an unrelated historical commit. Actions: synced via GitHub server-side update_pull_request_branch (clean merge, no conflicts -- confirmed offline with git merge-tree first); locally ran npm ci --include=dev, typecheck, lint, and the full unit suite against the bumped dev dependencies (all green) before syncing, to validate the bump itself causes no compat breakage. Local plain git push was attempted first but blocked by guard-push.mjs's ledger-write-discipline guard -- a false positive: for this fast-forward push the guard compares against the branch's own stale pre-sync remote tip (25 commits behind main) rather than main's tip, so files already reconciled on main via other PRs read as newly-introduced. Used the GitHub API branch-update path instead (documented primary method for behind-but-clean PRs), which bypasses the local hook and is what CI's own LEDGER_WRITE_BASE_SHA (PR base sha) would correctly evaluate as clean. No commits pushed to the branch beyond the sync merge; no code fix was needed. 0 review threads before or after. After: hosted CI re-triggered on new head 8e81a7d70; at record time Change scope/PR mergeability/PR policy/Gitleaks/Semgrep are green, Static PR checks and Container image build are still in_progress, other heavy jobs (build/coverage/migration-replay/production-ui/lighthouse) were skipped by the change-scope classifier for this devDependency-only diff, and the PR required aggregate has not yet re-run against the new head. GitGuardian shows failure but is a confirmed pre-existing false positive (canary token in tests/rag-adversarial-fixtures.test.ts already fixed on main at dd5b8043) unrelated to this PR's diff and not part of the required check set -- no action taken.", + "checks": "Local: npm ci --include=dev (clean), npm run typecheck (pass), npm run lint --max-warnings 0 (pass), npm run test (673 test files, 7281 passed, 4 skipped, 0 failed). No provider-backed checks run. Hosted CI retriggered by branch sync; not fully settled at record time -- see outcome for per-job state." }, { - "date": "2026-07-28", - "ref": "PR #1290 / `codex/search-performance-correctness-pr`", - "head": "3acf0ee3b6b1da10d6e0c76d20825d9eb0c76e48", - "scope": "CI fix + Bugbot", - "outcome": "Fixed P0 duplicate sourceSearchInputRef from tip 1e5ee645; restored sheet-safe Search-in-document focus; hardened openComposer with expectSingleSettledOwner for Production UI dual-composer race. Mergeable; 0 unresolved threads.", - "checks": "Bugbot; document-detail vitest 8/8; Playwright presentation/grouped typeahead 3/3; maintainability 1733/1734; no provider checks." + "date": "2026-07-30", + "ref": "PR-1448", + "head": "8ece7f345e93170c6bd242701eaff05f5504d98b", + "scope": "PR #1448 authenticated live workflow", + "outcome": "PASS after review repair: protected-main-only checkout, explicit bounded mutations, scoped secrets, and static dispatch confirmation; no live provider workflow dispatched", + "checks": "GitHub Actions and PR-policy guards passed; focused Vitest 3 passed; docs links and scripts, issue and ledger guards, Prettier and diff checks passed" }, { - "date": "2026-07-28", - "ref": "PR #1291 / `claude/issues-upload-limit-sync-123366`", - "head": "1607558188283d3497683f1067835d96f1031d3c", - "scope": "CI babysit + merge conflict + Bugbot", - "outcome": "FIXED. GitHub CONFLICTING/DIRTY was a real content conflict in `docs/outstanding-issues.md`: main had claimed `#084` for completed per-result grading evidence, colliding with this PR's upload-limit capture. Resolved by keeping main's ledger, renumbering the upload-limit recommendation to `#085`, and bumping `issues:next-id` to `086`. Synced again when main advanced with #1300. CodeRabbit date thread already resolved. Bugbot: zero `cursor[bot]` findings. Required CI green (PR required SUCCESS).", - "checks": "merge-tree CLEAN; prettier + docs:check-links PASS; hosted Change scope/Static/PR required SUCCESS; no provider-backed checks." + "date": "2026-08-09", + "ref": "claude/m2-ds-gates-blocking", + "head": "8ed66a0570c95c2cc8597364467e67966b04854d", + "scope": "M2 design-system gates: #264 + gate 4 of #265", + "outcome": "ready-to-merge; gate 2 enumeration deliberately reverted as non-deterministic (#289)", + "checks": "ds-contract PASS (colour-only 4, numerals 2, inversions 0); mutation-verified x4; lint 0; tsc 0 errors; icon+type scale PASS; focused vitest 126p/3 files; verify:cheap 5777p with 10 pre-existing failures proven identical on pristine origin-main; format:check clean" }, { "date": "2026-07-28", - "ref": "PR #1291 / `claude/issues-upload-limit-sync-123366`", - "head": "af140d11d5ca23dee0d8705d9933db967fc8c404", - "scope": "Babysit closeout tip", - "outcome": "Supersedes prior #1291 row at `16075581` after appending the conflict/Bugbot ledger record. Product delta vs main unchanged: `#085` upload-limit capture only. merge-tree CLEAN; awaiting exact-head required checks.", - "checks": "ledger append + check:branch-review-ledger PASS; prior tip hosted PR required SUCCESS." + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "8ef0c1b2d63451c51e8886e8ea076aad56498576", + "scope": "CI babysit + Bugbot + review closeout", + "outcome": "READY. Motion audit complete (ISSUE-02/05, IMP-01/02/04); reduced-motion shimmer kill; overlap gotoHome flake hardened; main synced; RAM-guard conflicts adopted main's ALLOW_LOW_RAM_BUILD. Codex + CodeRabbit threads resolved. Hosted PR required SUCCESS.", + "checks": "Hosted Build/Static/Unit/Advisory/Production UI/PR required SUCCESS; Bugbot clean; no provider checks." }, { - "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "1d43484ad56bde756ecdc9c98d448779836b2f97", - "scope": "CI babysit + Bugbot (SHA correction)", - "outcome": "SUPERSEDES prior #1292 row that recorded pre-amend `2e5ee9f8`. Same outcome: PR policy remediated, `PR_POLICY_BODY.md` removed, Bugbot clean, no review threads. Residual: human approving review after exact-head CI.", - "checks": "Same local evidence; awaiting hosted checks on tip `1d43484a`." + "date": "2026-08-09", + "ref": "claude/breadcrumb-header-mockups-cei6lw", + "head": "8effa5abe77e9008fb12f6ff996a51aa6d406ab5", + "scope": "mockups: breadcrumb header study (3 directions) + sitemap/README", + "outcome": "self-reviewed; design-scratch only, no production surface changed", + "checks": "typecheck, eslint(changed), prettier --check, sitemap:check, vitest(site-map/mockup-boundary/env-mockups/docs-inventory/route-reachability) 23 passed" }, { - "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "2e5ee9f891d9f251adffb6a15bc2ab13e0f18b23", - "scope": "CI babysit + Bugbot", - "outcome": "Blocking PR policy fixed via temporary `PR_POLICY_BODY.md` sync (Clinical Governance Preflight all checked, Risk/Verification completed), then template removed. Merge with main clean. Bugbot: zero `cursor[bot]` findings; offline scan of unique claim-cap fail-closed diff found no high-confidence defect. No review threads. Residual: human approving review once exact-head required checks finish.", - "checks": "Local: `npx vitest run tests/rag-claim-support.test.ts` 40/40; `evaluatePullRequestPolicy` ok. Hosted prior tip `19495e7c`: PR policy + Sync SUCCESS. No OpenAI/live Supabase." + "date": "2026-08-08", + "ref": "cursor/forms-info-disclosure-68d6", + "head": "8f25e6c482d8e4cd879098d7cfd73b7f8603e478", + "scope": "forms-info-disclosure", + "outcome": "fixed Form information tick rows to expand via DisclosureGroup", + "checks": "verify:pr-local; forms-information-disclosure.dom.test; check:design-system-adoption" + }, + { + "date": "2026-07-14", + "ref": "copilot/fix-failing-ci-yet-again", + "head": "8f2928b9dc925ac9ccc31e413ab422d2ffa77118", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "4e069df4c8c47b385a4fb1f04753c09319c925fa", - "scope": "CI babysit follow-up + main sync + Bugbot", - "outcome": "GitHub labeled CONFLICTING/DIRTY while `git merge-tree` was clean (11 behind main). Merged `origin/main` with no content conflicts. CI was already green on prior tip; no failing product tests. Bugbot: zero reviewThreads / zero inline findings; product claim-cap fail-closed scan clean. No comments to resolve (issue comments are rate-limit/status only). Residual: human approving review after exact-head CI.", - "checks": "Local merge-tree clean; Bugbot empty threads; awaiting hosted checks on merge tip. No providers." + "date": "2026-07-30", + "ref": "cursor/ci-hygiene-gates-1bf5", + "head": "8f3283d00da274dee507a1b8e9b611321d1f35be", + "scope": "pr-1413-merge-readiness", + "outcome": "READY after main sync + cancel-to-green fix; draft until tip CI green; deferred #093 + CI_TRIAGE_ENABLED confirm", + "checks": "verify:cheap:4481-pass;format:outstanding-issues;merge-tree:clean;cancelled:!cancelled();hosted:awaiting-tip" }, { - "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "c665fce7b84d9ecda3e92b1db7bfc3c1877d0222", - "scope": "Main conflict resolve + Bugbot", - "outcome": "Real merge conflicts in `answer-verification.ts` / `rag-claim-support.ts` after #1289/#1286 landed. Resolved by retaining main band-conflict + sectionIndex claim assessment and re-applying unassessed numeric fail-closed. Bugbot: 0 reviewThreads. No comments to resolve.", - "checks": "Local: vitest claim-support+answer-verification 223/223; merge-tree clean post-resolve." + "date": "2026-07-25", + "ref": "codex/search-results-filters-20260725 (PR #1184)", + "head": "8f74d8bd40810ede34ad4b155973b598c1be0101", + "scope": "Superseding merge-readiness review after Sources focus repair", + "outcome": "APPROVE. Supersedes the 88131e72 row: the automated P2 showed a transient Daily Actions menu item could disconnect before Sources restored focus. Closing Sources now falls back after unmount to the currently rendered action trigger, and the regression requires the visible Documents trigger to own focus. No P0-P2 finding remains. RAG impact: no retrieval behaviour change - UI focus restoration only.", + "checks": "Post-fix isolated production Chromium 1/1; post-current-main local Chromium 1/1; `npm run verify:cheap` pass (378 files, 3350 passed, 1 skipped); targeted Prettier and ESLint pass; required hosted checks must rerun on the published exact head; no live clinical/provider workflow ran." }, { "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "cb73b200ccbafa4378df8d7ae103beb8e464e783", - "scope": "CI babysit + Bugbot closeout", - "outcome": "COMPLETED for current tip. Required CI green (PR policy, Static, Unit, Build, PR required, SAST, Gitleaks). Body retains checked Clinical Governance Preflight. Bugbot: no findings. No unresolved review threads. Residual: human approving review only.", - "checks": "Hosted tip `cb73b200`: all required checks SUCCESS. Local claim-support Vitest 40/40. No providers." + "ref": "claude/navigation-pane-mockups-0600af", + "head": "8fb9867483104a5cc89eec5cfb512e1ca8718029", + "scope": "PR #1311 CI/review fix", + "outcome": "Fixed maintainability budget (DocumentViewer extract), sticky-header anchors/rail, lg-only section card, section reading order + non-collapsible source-text; dispositioned CodeRabbit mockup wiring as exempt; 0 unresolved threads; Bugbot none", + "checks": "verify:cheap PASS (419 files/4256 tests); maintainability 1633/1734; vitest section+account-access; eslint/typecheck; sitemap:check; Bugbot none" }, { - "date": "2026-07-28", - "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", - "head": "ff40a2b945caf657b45cec0d662317057c63abe3", - "scope": "CI babysit + main sync + Bugbot", - "outcome": "GitHub DIRTY/CONFLICTING with clean `merge-tree` (2 behind main). Merged `origin/main` with no content conflicts. CI already green on prior tip; no product test failures. Bugbot: reviewThreads=0; product fail-closed scan clean. No comments to resolve.", - "checks": "Local overflow Vitest 1/1; ledger guard pass; awaiting exact-head hosted CI. No providers." + "date": "2026-07-14", + "ref": "codex/eval-canary-quota-handling", + "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "41da30ed82eb1cb6685883b6afbaa1e3198ee37d", - "scope": "CI green closeout", - "outcome": "APPROVE. Hosted required aggregate green after diagnosis-detail S: clone locator scope + Prettier + main sync (#1275). Bugbot: 0 unresolved cursor[bot] threads; no P0/P1 on unique product delta (mockup h3→h2 + test locator). Mergeable; 0 behind main.", - "checks": "Hosted Static PR / Unit / Build / Safety / Advisory UI / Production UI / PR required PASS; focused Chromium diagnosis-detail PASS 1/1 earlier; no provider-backed checks." + "date": "2026-07-14", + "ref": "origin/codex/eval-canary-quota-handling", + "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; local ref was removed." }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "567d7b74c49a9a1f4f4d195bb5538813f63e8b2e", - "scope": "Build CI RAM-guard fix", - "outcome": "FIXED. After main sync, Build failed because guard-next-build exit(1) on private GHA ~7.8 GiB hosts; guard is a local/Docker rail. CI/GITHUB_ACTIONS now warn-and-continue; local still fail-closed. Unique product delta unchanged. Bugbot: 0 threads.", - "checks": "Focused vitest guard-next-build-contract 2/2; prior Production UI green on `10157dec`; no provider-backed checks." + "date": "2026-07-14", + "ref": "PR #629 / codex/eval-canary-quota-handling", + "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", + "scope": "review-followup", + "outcome": "One P2 structured-error retry defect confirmed and fixed on `codex/eval-canary-structured-errors`.", + "checks": "GitHub connector thread inspection; `tests/eval-utils.test.ts` 14/14; focused ESLint and Prettier." }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "62ddd24dc8ad223cde67373ea35e18aee6065057", - "scope": "CI green closeout", - "outcome": "APPROVE. Hosted Production UI + PR required PASS on product tip `e5543dc6`. Codex/CodeRabbit threads resolved (0 open). Unique delta: diagnosis-detail S: locator + heading hierarchy contract. RAM-guard owned by main #1307.", - "checks": "Hosted Static/Unit/Safety/Advisory/Production UI/PR required PASS; Build/Container skipped (unchanged); Bugbot clean; no provider-backed checks." + "date": "2026-08-15", + "ref": "claude/ledger-guard-ci-followups", + "head": "8fe2a50b9bce29e24710fdf72ce8b5f187c0569e", + "scope": "Lexicon-report CI freshness and database remediation sequencing", + "outcome": "Fixed P1 prerequisite order and P2 generated-report scope gap; merged current base with no conflicts", + "checks": "git diff --check; ci-change-scope direct-report classification and self-test; GitHub Actions pin check; remediation-order/workflow-contract assertions; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; focused Vitest unavailable (node_modules absent)" }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "6a0086732a5cfaaa17977ee0c568d6f326f4c059", - "scope": "CI babysit + Bugbot", - "outcome": "FIXED. Merged origin/main cleanly (behind/mergeable). Production UI failed on strict getByTestId(differential-detail-page) matching live page + hidden Next streaming S: clone; scoped locator to mobile-composer-reserve-pad (same class as presentation/service detail). Prettier-fixed Static PR. Bugbot: 0 unresolved cursor[bot] threads; no P0/P1 on unique diff.", - "checks": "Focused Chromium diagnosis-detail journey PASS 1/1; format:check PASS on touched file; no provider-backed checks." + "date": "2026-07-31", + "ref": "origin/codex/task-ledger-6d217f", + "head": "8fedb6c03f6ed70deb02266b86a2e790736a2481", + "scope": "branch-cleanup", + "outcome": "safe remote delete: standalone docs/task-ledger proposal superseded by merged PR #1106 canonical outstanding-issues ledger; archived batch16", + "checks": "PR #1106 contract/history; current task-ledger architecture; bundle verify" }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "908181ea98390ba18ece86c2057fb1f1ef5c1706", - "scope": "Container app-image RAM-guard", - "outcome": "FIXED. Buildx image build hit same <10 GiB guard (no CI env inside RUN). Extended warn path to DOCKER_BUILD=1 + /.dockerenv; Dockerfile sets DOCKER_BUILD=1. Local still fail-closed.", - "checks": "Focused vitest guard contract 2/2; hosted Build already PASS after prior CI bypass; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/cloud-readiness-consolidation-20260730", + "head": "8ff0a7ec309c80379bd8a9a76ab107a65ac7b837", + "scope": "PR #1434 Codex Cloud setup and isolation tooling", + "outcome": "approved after current-main sync, helper typing repair, static Cloud contracts, and isolation review", + "checks": "codex-cloud, skills, docs, maintainability, issues, ledger, format, isolation 14/14 pass; focused Vitest coordinator-blocked; shell runtime acceptance deferred to hosted Linux" }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "9ac401fd3f9997c1a18c83dc2e5190ff02fcad63", - "scope": "CI babysit re-request", - "outcome": "FIXED drift. Hosted required checks already green on prior tip `10157dec`; GitHub DIRTY was staleness (merge-tree CLEAN, 31 behind). Merged origin/main cleanly; unique delta unchanged (mockup h3→h2 + diagnosis-detail S: clone locator). Bugbot: 0 unresolved cursor[bot] threads; no P0/P1.", - "checks": "Prior hosted Production UI/PR required PASS on `10157dec`; merge-tree CLEAN; prettier check PASS; no provider-backed checks." + "date": "2026-08-31", + "ref": "gemini/pr-group-3-ui-a11y-caring-contacts-ward-flow (PR #2479)", + "head": "8ff3f26c6e4f5302c1883f940f4cc1b22fbeec5c", + "scope": "Run PR sweep: existing unresolved review threads", + "outcome": "0 → 2 threads resolved: useful-actions disclosure semantics, workspace route registration assertion", + "checks": "Focused Vitest 18/18; typecheck passed; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "a0df13f45cffb769b852e55bc44b6891b7fd80e7", - "scope": "Main conflict resolve + CodeRabbit", - "outcome": "FIXED. Merged #1307; took main ALLOW_LOW_RAM_BUILD RAM-guard (dropped DOCKER_BUILD approach). Tightened answer-evidence heading contract to component-scoped bodies (rejects sibling h2). Codex P2 already resolved.", - "checks": "Vitest heading+guard 4/4; merge-tree CLEAN; no provider-backed checks." + "date": "2026-08-18", + "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", + "head": "90068a304228240e7293e0ccd80642a24fb8ddc5", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", + "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "da6cc04bc3a3823db4d2f14581ceec15f7757b80", - "scope": "Codex P2 heading hierarchy", - "outcome": "FIXED. Reverted mockup popup/sheet titles h2→h3 under Section h2 (hierarchy regression; same finding as PR #1200). Added answer-evidence-popups-heading-contract. Retained CI fixes: diagnosis-detail S: locator + Build RAM-guard CI warn.", - "checks": "Vitest heading+guard contracts 3/3; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/perf-r2-eval-gated", + "head": "901fae59eca2c00c99c3b4ae79a84642b405672a", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #486; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1294 / `execute-typography-fixes-clean-2`", - "head": "f64fa84a8010008917619c16aac79e4f172a70ff", - "scope": "Ledger dedupe after main sync", - "outcome": "Removed 2 exact duplicate #1307 rows introduced by merge=union during main sync (kept first copies). Hosted required checks green on prior product tip `e5543dc6`; this tip is ledger hygiene + docs-only main sync.", - "checks": "`check:branch-review-ledger` PASS after dedupe; no provider-backed checks." + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-eval-gated", + "head": "901fae59eca2c00c99c3b4ae79a84642b405672a", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #486; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1295 / `fix/audit-remediation-from-main`", - "head": "11585678d28a9f399217429972e528b89b7f2466", - "scope": "CI fix + main sync + Bugbot", - "outcome": "FIXED. Unit coverage failed because therapy-compass contract still asserted `lg:grid-cols-[repeat(auto-fit,minmax(15rem,1fr))]` after intentional `sm:` breakpoint change in mode-home-template. Updated contract to `sm:`. GitHub CONFLICTING/DIRTY was stale base (30 behind); merge-tree clean; merged origin/main (ledger union). Bugbot: zero cursor[bot] review findings/threads. No unresolved review comments to resolve.", - "checks": "Focused vitest therapy-compass-responsive-contract 10/10; merge origin/main CLEAN; no provider-backed checks." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8 (PR #1792)", + "head": "905caf2d8eeb5d74af4d8d90fef7e50f4cb78f13", + "scope": "PR #1792 babysit", + "outcome": "before: Production UI critical FAILED (TS5101 baseUrl in isolated Playwright tsconfig after Next 16.3 main sync); Lighthouse advisory ignored; merge-tree clean 0 behind. after: removed deprecated baseUrl from run-playwright + run-lighthouse-budget; root-relative @/* paths; regression guards in unit tests; no threads acted on", + "checks": "tsc isolated tsconfig: old baseUrl TS5101 exit 2, fixed exit 0; vitest test-runner-safety+check-lighthouse-budget 84/84 PASS; format; no provider-backed checks" }, { - "date": "2026-07-28", - "ref": "PR #1295 / `fix/audit-remediation-from-main`", - "head": "3ff686e4957f5261c3d23d48e7a8195a60a8c800", - "scope": "Main sync + container-images RAM guard", - "outcome": "FIXED. GitHub CONFLICTING/DIRTY after main advanced 9 commits; real conflict only in `scripts/guard-next-build.mjs`. Kept main's `ALLOW_LOW_RAM_BUILD` / `evaluateNextBuildRamGuard` (+ Dockerfile/docker-image.yml wiring) which unblocks the container-images failure (Docker build lacked GITHUB_ACTIONS so the prior GITHUB_ACTIONS-only soften still hard-failed at 7.8 GiB).", - "checks": "Focused vitest guard-next-build+container-ci+therapy-compass 18/18; check:github-actions + ledger PASS; merge-tree CLEAN post-resolve; no provider checks." + "date": "2026-08-21", + "ref": "origin/main", + "head": "9066aa74a2ee0746cd6c72fe764025cb35aa00e4", + "scope": "bare PR publication policy", + "outcome": "P2 fixed locally", + "checks": "ledger lookup; instruction static contract; git diff --check" }, { - "date": "2026-07-28", - "ref": "PR #1295 / `fix/audit-remediation-from-main`", - "head": "4e10b1c017e40ee00649735dc4a771b720db193b", - "scope": "CodeRabbit workflow hardening + bundle-size RAM flake", - "outcome": "FIXED. bundle-size paths+permissions; nightly-drift secret scoping + main-only live steps; GITHUB_ACTIONS warn-only for guard-next-build RAM check; audit-plan Batch 2/approval-gate text repaired. mode-home max-sm separator already on tip (dispositions CodeRabbit border thread).", - "checks": "check:github-actions PASS; prior verify:cheap PASS; no provider checks." + "date": "2026-07-29", + "ref": "claude/design-system-followups-1375", + "head": "906c5a1cfc0d10c6788002825401481844366d2a", + "scope": "PR #1375 follow-ups: repoint five dead text-4xs classes onto the 10px floor plus an orphan guard, fix six hydration races at source (composer fill, mode menu, openGuide, differential submit, overlap geometry), document the intermediate-weight and leading idioms, ledger #108/#109", + "outcome": "PR #1391 opened; auto-merge off pending user review", + "checks": "verify:pr-local 426/426 files 4381 tests on lock-matched deps; 18/18 targeted Chromium under playwright 1.62.0; ui-overlap 14 passed x4 runs; contract 37 assertions" }, { - "date": "2026-07-28", - "ref": "PR #1295 / `fix/audit-remediation-from-main`", - "head": "5714bf6ceb9d85e18e895b34ec71dcca64837797", - "scope": "Separator pairing follow-up after sm grid", - "outcome": "FIXED. Coherent follow-up to the sm:grid-cols auto-fit change: stack separators are now `max-sm:border-t` (was unconditional `border-t`), matching the phone-only stack and avoiding double borders once `lg:border` card chrome applies. Contract asserts sm grid + max-sm separator and rejects stale lg grid token.", - "checks": "Focused vitest therapy-compass-responsive-contract 10/10; verify:cheap PASS (405 files / 4114 passed); merge-tree CLEAN; Bugbot 0 findings; no provider checks." + "date": "2026-08-17", + "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", + "head": "907ca970eb21735bc872e5101707fbba6a779baf", + "scope": "Run PR sweep: CI fix + drift", + "outcome": "Fixed: Static PR checks failed on npm run check:github-actions (claude-code-action bumped to v1.0.193, SHA not yet in the reviewed-pins allowlist). Reviewed the v1.0.188-v1.0.193 release notes (bug fixes/docs only, no permission or trust-boundary change) and added the new SHA to scripts/github-action-pins.mjs following the existing review-comment convention. Was behind main by 6 commits; synced. No review threads.", + "checks": "node scripts/check-github-action-pins.mjs (before: failed; after: 'GitHub Actions pin check passed.'). No provider-backed checks run." }, { "date": "2026-07-28", - "ref": "PR #1295 / `fix/audit-remediation-from-main`", - "head": "862be5a843708360ad0d67239429d1d09405e570", - "scope": "Codex P1: Playwright matrix browser install", - "outcome": "FIXED. Cross-browser `playwright.yml` stopped using chromium-only `setup-ui-e2e`; installs `matrix.project` + deps with per-browser cache. Also dispositioned the Codex P1 about the responsive contract (already fixed earlier on tip).", - "checks": "check:github-actions PASS; focused vitest therapy-compass 10/10; no provider checks." + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "908181ea98390ba18ece86c2057fb1f1ef5c1706", + "scope": "Container app-image RAM-guard", + "outcome": "FIXED. Buildx image build hit same <10 GiB guard (no CI env inside RUN). Extended warn path to DOCKER_BUILD=1 + /.dockerenv; Dockerfile sets DOCKER_BUILD=1. Local still fail-closed.", + "checks": "Focused vitest guard contract 2/2; hosted Build already PASS after prior CI bypass; no provider-backed checks." }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "060d81355b97c3ba51232df8feee6132f1036b63", - "scope": "Final closeout: conflicts + reviews + CI green", - "outcome": "COMPLETED. Merged main (adopted main RAM-guard). CodeRabbit intrinsic-size + Codex will-change/transform threads resolved. Local Bugbot: no P0/P1. Hosted PR required SUCCESS (Build/Unit/Static/Advisory/Production UI). mergeable CLEAN.", - "checks": "Hosted CI run 30330463512 SUCCESS; local vitest 4114 + focused guard/nav/container 18; no provider checks." + "date": "2026-07-24", + "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", + "head": "90cd914f07fc33019c3d80e37edd92f8d73d71f9", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "067a17f8", - "scope": "Resolve merge conflict with main", - "outcome": "FIXED. GitHub CONFLICTING/DIRTY was 2 commits behind main (#1310 ledger repair + #1320 search test). `git merge origin/main` completed with ort auto-merge (ledger repaired by main); no content conflicts in product files. Unique CSS layout audit delta retained.", - "checks": "`check:branch-review-ledger` PASS; merge-tree clean vs origin/main; no provider checks." + "date": "2026-07-31", + "ref": "claude/frosty-mayer-2c6167", + "head": "9106c8f379f13d01428484463385d3d5f27c964e", + "scope": "PR #1451 review+bugbot+fix", + "outcome": "clean; merged main; archived #161; mockup already on main; no threads", + "checks": "merge-tree clean; check:outstanding-issues; 0 unresolved threads" }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "0ab3597fecd1fd7af669c766bf4b66fa725c9936", - "scope": "CI re-trigger after Docker RAM allow", - "outcome": "FIXED app-image path: Dockerfile sets DOCKER_BUILD=1; guard warns under CI/GITHUB_ACTIONS/DOCKER_BUILD/ALLOW_LOW_MEMORY_NEXT_BUILD. Hosted Build/Unit/Static/Advisory/Production UI green on prior tip; app-image failed only on RAM hard-stop before Docker opt-in.", - "checks": "Awaiting exact-head CI after synchronize; no provider checks." + "date": "2026-07-13", + "ref": "claude/ingestion-autopilot", + "head": "9122feef297a1b88050696042b10779626aef4bb", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #588.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + }, + { + "date": "2026-07-13", + "ref": "origin/claude/ingestion-autopilot", + "head": "9122feef297a1b88050696042b10779626aef4bb", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #588.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "129edaf39e76143527fee6a56356fc750d45bb75", - "scope": "Re-inspect closeout: CI green + ledger dedupe", - "outcome": "COMPLETED. Root cause of CONFLICTING was 1-commit main drift (#1294); synced clean. Deduped exact #1306 ledger row from merge=union. Prior review threads remain resolved. Bugbot re-run: no P0/P1. Hosted PR required SUCCESS on this tip. mergeable CLEAN.", - "checks": "lint/typecheck/format:check PASS; vitest 4122; local build PASS; hosted CI 30331626271 SUCCESS; no provider checks." + "date": "2026-07-11", + "ref": "PR #489 / claude/document-viewer-redesign-55b68b", + "head": "9130c8b15a22dbbc965464a247ae930c04f2da62", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "P2 fixed: document deep links now expand the mobile indexed-text details and scroll the branch-specific visible mobile or desktop chunk instead of the first duplicated DOM match. Added focused desktop/mobile assertions. No additional high-confidence defect was found in the three-file diff.", + "checks": "Focused Prettier; TypeScript; `git diff --check`. Browser proof delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "30596680a1c0026ea83c8fab0da2cd303106e1af", - "scope": "Merge conflict + CodeRabbit/Codex + Bugbot closeout", - "outcome": "FIXED. Merged origin/main (was CONFLICTING). Removed undersized `.content-visibility-auto` (80px) in favor of shared `.content-auto` (auto 320px); dropped persistent broad `will-change: transform` so fixed composer ancestors stay viewport-anchored (main's `data-reserve-transitioning` padding-bottom scope retained); kept semantic z-* utilities + AccessibleTable `@container`/`flex flex-col`. Updated mode-menu source-contract test for `z-modal`. Resolved CodeRabbit + Codex threads. Local Bugbot: no P0/P1; skipped raising mockup/popover z above token scale (would undo audit).", - "checks": "`npm run test` 4114 passed; prior verify:cheap gates green before test pin fix; no provider-backed checks." + "date": "2026-07-25", + "ref": "cursor/local-presence-054-7cf3 (PR #1178)", + "head": "9135891bfd194394549cb480a7ec86de12b23ee7", + "scope": "PR babysit: local-presence + /tools + CI/UI fixes + squash merge", + "outcome": "Before: flaky Safety audit on package.json scripts, Production UI Sources autofocus flake, CodeRabbit short-env duplicate thread. After: ci-change-scope lockfile-only; strip stale short env keys; sheet open-focus retries + skip focus=1 reclaim under modal; squash-merged `d08ec2e8e`; branch deleted; key-file content-diff empty.", + "checks": "Hosted PR required SUCCESS (Production UI green on tip); focused local-presence vitest; no provider-backed checks." }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "84d846d8d0d168ca2babcc6d699e0a88bb0379c0", - "scope": "Inspect closeout: sync main + forced-colors scope", - "outcome": "FIXED. GitHub CONFLICTING was unpushed main sync (local merge-tree CLEAN, 3 behind on remote tip). Pushed merge. Bugbot P2: removed broad forced-colors `!important` wipe on `.edge-glass-header`/`[aria-selected=true]`/`.surface-raised` (token remap retained; header Canvas fill already earlier). Mockup board `z-[2147483647]` → ladder `z-[100]`. Prior CodeRabbit/Codex threads remain resolved.", - "checks": "lint/typecheck/format:check PASS; vitest 4197; local build PASS; no provider checks." + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "913ae40bfdf4a1446aa10b6890dea3350c867b9c", + "scope": "Latest-main sync", + "outcome": "merged current main and retained caring contacts registrations plus confirmed script-index count", + "checks": "Prettier; codebase-index coverage; docs script references; focused Caring Contacts tests; merge-tree" }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "957a79e4", - "scope": "Re-inspect: main sync + Bugbot", - "outcome": "FIXED CONFLICTING/DIRTY: 1 commit behind main (#1294 typography) — ledger/tests auto-merged clean. Prior CodeRabbit/Codex threads remain resolved. Local Bugbot: no P0/P1. Residual only intentional z-token demotions for mockup/popover.", - "checks": "lint+typecheck PASS; focused vitest 19/19; awaiting exact-head hosted CI; no provider checks." + "date": "2026-08-05", + "ref": "cursor/phone-mode-sheet-yes-05c0", + "head": "9152e239076ff823ad3bf812d282ffc87c3295b7", + "scope": "Run PR sweep", + "outcome": "threads already resolved; merged origin/main; CI was green pre-sync", + "checks": "CI: PR required SUCCESS pre-sync; merge-tree clean" }, { "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "f333ddc8", - "scope": "CI Build flake: RAM guard", - "outcome": "FIXED. Hosted Build failed on ubuntu-24.04 reporting 7.8 GiB because `guard-next-build.mjs` hard-exited under 10 GiB; successful sibling Build jobs skip that path on larger runners. Warn-only under CI/GITHUB_ACTIONS; keep local hard-fail. Prior tip: Unit/Static/Advisory UI green; review threads resolved.", - "checks": "Hosted Unit/Static/Advisory PASS on 6bafb32d; local full vitest 4114; no provider checks." + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "9154d6ef", + "scope": "CI Build flake fix", + "outcome": "FIXED. Hosted Build failed when a runner reported 7.8 GiB via `os.totalmem` and hit the local Docker RAM floor in `guard-next-build.mjs`. Gate now skips under `CI`/`GITHUB_ACTIONS` (local protection retained). Prior tip motion/Bugbot fixes unchanged.", + "checks": "CI=true guard exit 0; awaiting exact-head hosted Build; no provider checks." }, { - "date": "2026-07-28", - "ref": "PR #1296 / `css-layout-audit-complete`", - "head": "f7c34fd7", - "scope": "Sync main #1297 CSS/motion audit", - "outcome": "FIXED. GitHub CONFLICTING after main landed #1297; `git merge origin/main` clean (globals.css + ledger auto-merge). Retained content-auto, scoped forced-colors token remap, mockup z-[100]. Prior tip hosted PR required SUCCESS.", - "checks": "merge-tree CLEAN; focused nav test PASS; no provider checks." + "date": "2026-08-07", + "ref": "cursor/site-testing-speed-08c1", + "head": "91bac89827ae2f4f0e59aeed7de6344fe8779a95", + "scope": "PR #1686 Autopilot+Bugbot review-and-fix: conflicts, threads, Static PR checks, CI/testing selection", + "outcome": "fixed: merged origin/main (outstanding-issues #167/#255 archive + #256 keep); removed unused pathToFileURL; added ui-forms-section-nav to PR UI shards (21 specs); no unresolved threads; Bugbot unavailable (usage limit). Local: eslint file max-warnings0, vitest 36/36 focused, shard --validate OK, check:outstanding-issues OK. verify:cheap/pr-local blocked by foreign worktree heavy lock (PID 26228).", + "checks": "eslint scripts/playwright-pr-shards.mjs --max-warnings 0; vitest 36 passed; playwright-pr-shards --validate 21; check:outstanding-issues; verify:cheap/pr-local lock-blocked" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "2ab54c8ac4a062d15051d604e04e585a446f363c", - "scope": "CI container RAM-gate closeout", - "outcome": "SUPERSEDES prior #1297 container row with placeholder tip. Tip includes motion wiring + CI/GITHUB_ACTIONS + `/.dockerenv` RAM-floor skips + Dockerfile `ENV CI=1`.", - "checks": "awaiting exact-head hosted Build/container/PR required; no provider checks." + "date": "2026-08-17", + "ref": "PR (branch claude/p1-ledger-324-318-316-xag5sy, #324 follow-up)", + "head": "91d3ccfcef79f02c140141eb560f941626039443", + "scope": "scripts/audit-merge-loss.mjs + tests/merge-loss-audit.test.ts + one #324 inbox request (1d35d652); advisory only, no CI wiring, no schedule, exit code behaviour unchanged", + "outcome": "Authored handoff, owner-approved scope (tab fix + mechanism classifier only). Fixed a defect that had disabled the reconciliation exemption since it was written: treeEntryReader split ls-tree on a literal backslash-t instead of a tab, keeping the path on the entry, so the cross-path inbox-to-applied comparison could never match. 14-day window before/after: 51 findings / 255 flagged files / filesExempted 0 -> 11 findings / 66 flagged / 189 exempted. Escaped originally because all tests injected entryAt directly; closed by extracting parseTreeEntry and testing it against real ls-tree output. Added classifyRemoval, which blames the oldest commit whose tree entry already matches the pre-landing entry and reports merge-resolution vs deliberate-commit vs unknown, sorting merge-resolution first. Over the window 14 of 66 flagged files were merge-resolution (13 from acf78bf) and all 52 others had explanatory single-parent subjects. Re-verified three genuine unrepaired losses against current main: #1800 (wiring and all three tests gone), #1804 (also-matches back in forms, guards reverted, apparently untracked), #1796 (Node 26 allowance gone, apparently untracked). The (a) schedule, (b) triage-owner and (c) one-tool-vs-two decisions remain OPEN and were deliberately not implemented; nothing was made blocking and no finding is auto-closed.", + "checks": "verify:pr-local executable scope, 9 checks completed, failed: (none) - lint, typecheck, full unit suite, check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report. Focused tests/merge-loss-audit.test.ts 29 passed (was 16). Mutation-verified three ways: backslash-t reintroduction fails 3 tests + self-test; newest-first walk fails the blame-the-oldest test; unknown-as-deliberate fails 2 tests. verify:ui NOT run - Playwright chromium-1194 vs pinned 1234 (#255/#312) fails closed in this container; no browser coverage claimed and none needed for a non-UI script." }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "68b3d1de343ef1164d389925a9f45d4dc1106de2", - "scope": "Review-thread disposition", - "outcome": "RESOLVED Codex P2 (shimmer already wired) + CodeRabbit reduced-motion shimmer kill (explicit `animation: none` on `::after`). Threads replied + resolved.", - "checks": "prior tip PR required SUCCESS; awaiting exact-head recheck; no provider checks." + "date": "2026-08-18", + "ref": "dependabot/npm_and_yarn/npm-production-0af95c93ad (PR #2010)", + "head": "91df9fc20093b3c1cf0b99b06f3a2878f7cf98f1", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", + "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "8ef0c1b2d63451c51e8886e8ea076aad56498576", - "scope": "CI babysit + Bugbot + review closeout", - "outcome": "READY. Motion audit complete (ISSUE-02/05, IMP-01/02/04); reduced-motion shimmer kill; overlap gotoHome flake hardened; main synced; RAM-guard conflicts adopted main's ALLOW_LOW_RAM_BUILD. Codex + CodeRabbit threads resolved. Hosted PR required SUCCESS.", - "checks": "Hosted Build/Static/Unit/Advisory/Production UI/PR required SUCCESS; Bugbot clean; no provider checks." + "date": "2026-08-15", + "ref": "1971", + "head": "91fe143262fca184124b540ff06b2353aec8094f", + "scope": "review-and-fix", + "outcome": "Fixed validated P2 evidence-semantics, sparse-panel, cue-deduplication, duplicate-key, and formatter blockers; immutable-record bot request dispositioned no-change.", + "checks": "focused Vitest 8/8 passed; format changed passed; lint passed; typecheck passed; ledger and docs guards passed; full unit gate partial with 6 Windows tooling failures reproduced identically on main; production readiness environment-gated (2 pass, 5 warn, 2 missing-config failures)" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "9154d6ef", - "scope": "CI Build flake fix", - "outcome": "FIXED. Hosted Build failed when a runner reported 7.8 GiB via `os.totalmem` and hit the local Docker RAM floor in `guard-next-build.mjs`. Gate now skips under `CI`/`GITHUB_ACTIONS` (local protection retained). Prior tip motion/Bugbot fixes unchanged.", - "checks": "CI=true guard exit 0; awaiting exact-head hosted Build; no provider checks." + "date": "2026-08-23", + "ref": "codex/maturity-quick-wins-20260823", + "head": "9235f39213ec41778b7174b95f04e125885c18bd", + "scope": "maturity ledger snapshot follow-up", + "outcome": "No blocking findings; refreshed the generated pending-request snapshot required by hosted CI after adding three immutable ledger requests.", + "checks": "outstanding-issues snapshot check; Prettier; diff check; hosted Static PR failure diagnosis." }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "9997ac9944e7e67135570cd86cc056da5d84aa0a", - "scope": "Ledger hygiene closeout", - "outcome": "SUPERSEDES prior placeholder tip row. Dropped 1 exact-duplicate #1306 record from merge=union; motion/a11y product tip unchanged (`68b3d1de` + main sync).", - "checks": "check:branch-review-ledger PASS; awaiting exact-head hosted CI; no provider checks." + "date": "2026-08-12", + "ref": "claude/filter-facet-formulation", + "head": "9262d89701808c58e3812a60b982596bb3f2b218", + "scope": "filter contract PR B: formulation facet adoption (derive domains, union counts, evict query-replacing presets)", + "outcome": "PR #1858 opened; domain converted from 12 radios to 9 derived facet chips (Biological/Social/Cultural carried by 0 of 12 mechanisms, removed per derive-dont-declare); union counts verified monotonic and non-additive (Affect 9 OR Risk 4 = 10); zero-yield options render as focusable dead ends, never on an already-selected option; Pattern group evicted from the sheet to AnswerSuggestionChips (all 5 presets, old slice(0,4) left one unreachable); ResultFilterFacetChips exported so desktop rail and sheet share one renderer; desktop select of 13 retired. Shares result-filter-control.tsx with PR #1857 - land #1857 first, its accessible-name fix then covers these chips", + "checks": "verify:pr-local failed:(none) not reached:(none), all 15 steps green including build with the server stopped; full unit suite 558/558 files, 6101 passed 4 skipped, zero failures; formulation.test.ts 11 passed with 3 new contract tests; bundle-budget production 1296.1 KiB and mockups 285.1 KiB within tolerance on a freshness-verified build; browser proof 1440/390/320px, 0px overflow, 9 chips not 12, 0 selects, 5 suggestion chips, live dead-end-to-selectable transition on union widening, phone sheet radiogroup count 0" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "b1318a4b80a3fa4b29e3de05150cf04d3aaf6525", - "scope": "CI retrigger after prettier", - "outcome": "Tip includes motion wiring + RAM-floor CI/container skips + prettier on guard-next-build. Prior Static failure was prettier-only on superseded tip `2a07c109`. Hosted pull_request CI failed to schedule on intermediate tips while a long Production UI job held the concurrency slot.", - "checks": "local focused vitest/tsc earlier PASS; awaiting exact-head hosted CI." + "date": "2026-07-30", + "ref": "codex/review-pr1426", + "head": "92a78af92d421d1f6b36356448a3fe0bf4f09f78", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1426 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "c5a145ddbcf66ebcb4c32acf75c6b9588e253b2a", - "scope": "CI babysit + Bugbot + conflict closeout", - "outcome": "READY. Merged origin/main; resolved real Dockerfile/guard-next-build conflicts by adopting main's evaluateNextBuildRamGuard + ALLOW_LOW_RAM_BUILD. Motion fixes retained: ISSUE-02/05, IMP-01 spring token, IMP-04 shimmer ::after wiring, IMP-02 AnswerSkeleton stagger. Bugbot re-review: no remaining P0/P1/P2. 0 review threads. Hosted PR required SUCCESS.", - "checks": "focused vitest earlier; guard-next-build Vitest 3/3; hosted Build/Static/Unit/Production UI/PR required SUCCESS; no provider checks." + "date": "2026-07-30", + "ref": "codex/review-pr1426", + "head": "92a78af92d421d1f6b36356448a3fe0bf4f09f78", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1426; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "cdde82e087ed3e7ad6be3662b1b96aa55462cae5", - "scope": "CI babysit + Bugbot + main sync", - "outcome": "FIXED. Required CI was already green on prior tip; branch was BEHIND (merge-tree CLEAN). Merged origin/main. Bugbot P2s fixed: wired shimmer-sweep into `.animate-skeleton-shimmer::after`, applied `.stagger-item` on AnswerSkeleton, knob uses `var(--ease-spring)`. ISSUE-02/05 reduced-motion halt retained. 0 review threads to resolve.", - "checks": "focused vitest 34/34; tsc --noEmit PASS; merge-tree CLEAN; no provider-backed checks." + "date": "2026-07-24", + "ref": "cursor/search-performance-review-4ee9 (PR #1134)", + "head": "9311d01212fe42bd41ffb22a83bfa51f1a4d19f2", + "scope": "Run PR re-sync sweep", + "outcome": "Re-check: CONFLICTING on use-differential-catalog.ts (+ related). Not cheap; merge aborted, no push.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "tip after container RAM-gate fix", - "scope": "CI container Build flake", - "outcome": "FIXED. `Container images / app-image` failed because Dockerfile `npm run build` hit the same local RAM floor (7.8 GiB, no CI env in the build stage). Guard now also skips for `CI=1` and `/.dockerenv`; Dockerfile sets `ENV CI=1`.", - "checks": "awaiting exact-head hosted container + PR required; no provider checks." + "date": "2026-07-27", + "ref": "PR #1270 / `codex/fix-phone-bottom-edge-20260727`", + "head": "931f7cef632921b0e41d0368ad4e5fc117221498", + "scope": "Hosted Production UI hydration-settlement follow-up", + "outcome": "APPROVE pending fresh hosted required checks. The full hosted Chromium matrix exposed one missed strict-locator guard: `/forms` can briefly overlap its server and settled client mode-home trees during production hydration. The test now applies the same one-owner convergence assertion already used by the adjacent shared-home loop, so a transient duplicate waits while a persistent duplicate still fails. No product behavior or edge geometry changed, and no P0-P3 finding remains.", + "checks": "First hosted run: 322/323 Chromium journeys PASS with the sole `/forms` strict-mode duplicate; exact failed production journey PASS 10/10 after the guard; scoped ESLint, Prettier, and `git diff --check` PASS; fresh hosted required checks pending; no non-GitHub provider-backed checks." }, { - "date": "2026-07-28", - "ref": "PR #1297 / `motion-audit-fixes-clean`", - "head": "tip-after-ledger-dedupe", - "scope": "Ledger hygiene", - "outcome": "Dropped 1 exact-duplicate #1306 row introduced by ledger merge=union during main sync; first copy retained.", - "checks": "check:branch-review-ledger PASS; no provider checks." + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "93365d6e4e496c233e629d85a572f3feb08513cf", + "scope": "outstanding-issues reconciliation of 35 queued requests (fresh base 0011a058)", + "outcome": "PR #1956 — one serial reconciliation transaction from a fresh origin/main base, restarting the branch after its previous PR (#1944) merged as squash 372cb13f. 35 requests applied: 17 done, 7 add, 6 update, 5 cancel; ledger 328 to 334 rows, 115 to 99 open. Machine-generated and machine-verified end to end; no request or canonical row was hand-edited. Includes the five requests PR #1944 left pending: closes #313, carries #211 forward with a re-measured 1,445 errors while keeping its deprioritisation and P3 priority, records #168 and #258 without closing either, and opens #335. One request deliberately not re-filed: cancel a8783c79, whose target 0e47904b was already consumed by the reconcile in PR #1936, making it invalid; nothing lost because the surviving #211 update folds its text forward. Visual HTML register NOT refreshed — its PowerShell refresh script is a Windows path unavailable in this Linux container; Markdown source is current, artifact is stale.", + "checks": "npm run verify:pr-local — 11 gates completed, 0 failed; npm run check:ledger-write-discipline printed \"Ledger write discipline passed for 0011a058fd1d..HEAD\", independently recomputing the transaction; check:outstanding-issues 334 rows (99 open, 235 archived), unique ids, next-id=337 above the highest, 0 pending requests, 129 applied; the pre-existing check:medication-lexicon-report failure seen on PR #1944 is gone, confirming PR #1941 fixed it at source. Note: run before committing, check:ledger-write-discipline correctly REFUSED to report a verdict and named every uncommitted request file — the guard PR #1944 shipped, working on the first real reconciliation after it landed." }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "111aee5f5d1c6aadf054632148f48dcea06626b2", - "scope": "merge main + adopt main RAM-guard", - "outcome": "Merged origin/main (#1309). Resolved guard/Dockerfile conflicts by taking main's evaluateNextBuildRamGuard + ALLOW_LOW_RAM_BUILD Docker path. Prior tip Unit/Build green; unique product delta retained (clinical-search aliases/escalation, sheet trap, Playwright SW block).", - "checks": "Focused Vitest 81/81; tip `111aee5f`; no provider checks." + "date": "2026-07-24", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "93518331fd1839e773a0cb08d0e8425e502f876d", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Theme cookie P2 fixed+resolved; merged origin/main resolving layout.tsx (kept cookie html class + THEME_COOKIE_NAME atop localFont/skip-link from main).", + "checks": "merge origin/main; vitest theme 9/9; no provider-backed checks run." }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "43795bcb00a55961b734813e78f74aef933beea3", - "scope": "Closeout after clean rebuild + policy sync", - "outcome": "MERGEABLE. Secret scanners green after history rebuild; PR policy green with Clinical Governance + RAG impact; 0 unresolved review threads (CodeRabbit + Codex P1 resolved). Unique delta retained. Residual: required human approving review / remaining hosted suite.", - "checks": "PR policy PASS; GitGuardian PASS; Gitleaks PASS on prior tip; focused Vitest 189/189 on clean rebuild; no provider checks." + "date": "2026-07-30", + "ref": "codex/playwright-container-alignment", + "head": "936cab24f00202081aad780f8712152409a212d3", + "scope": "container browser fallback review fixes", + "outcome": "approved: automated P2s fixed by architecture filtering and designated /opt/pw-browsers root; generic stale caches fail closed", + "checks": "focused vitest 11/11; ESLint; Prettier; outstanding guard; diff check" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "4de7ec8901b555f11badc8d08c6b57cdf88c386e", - "scope": "CI green closeout after main merge", - "outcome": "MERGE-READY for required checks. Hosted PR required / Build / Unit / Production UI / Static / Safety / PR policy / Semgrep / Gitleaks / GitGuardian PASS. Unresolved review threads: 0. Bugbot requested via `@cursor review`. Unique delta vs main: clinical-search (brand aliases, escalation class, neuroleptic query anchor, clozapine blood tokens), sheet Tab trap, Playwright serviceWorkers block, retrieval-variants WCC, formulation UI flake, supporting tests. Residual: human approving review.", - "checks": "Hosted required checks PASS on `4de7ec89`; no provider-backed app checks." + "date": "2026-07-30", + "ref": "claude/top-search-design-mockups-w53znc", + "head": "939d5799b9999f3f63928e1b2c95d097f07eff90", + "scope": "open PR changed-scope review", + "outcome": "APPROVE: PR 1400 closeout and issue IDs 131-134 are unique, internally consistent, and preserve the append-only ledgers.", + "checks": "check:branch-review-ledger PASS; check:outstanding-issues PASS; diff review; no unresolved threads" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "647dd6a1c4fe418e23cd566bc717067e57f91178", - "scope": "CI babysit: merge conflicts + GitGuardian + PR policy", - "outcome": "FIXED. Merged origin/main (~790 behind, 33 content conflicts). Preferred main for superseded remediations (secret scanner masking, babel parser 8, RAG module layout, coalesce abort, join-constructed offline DB URL). Retained unique clinical-search/neuroleptic+clozapine monitoring, sheet focus-trap, Playwright serviceWorkers block, and aligned regression tests to current main APIs/alias tiering. Restored GitGuardian-safe DB URL construction (literal postgres URI was a tip regression). PR body updated for Clinical Governance + RAG impact.", - "checks": "Focused Vitest 218/218 on unique delta; merge-tree clean vs origin/main after sync; no provider-backed checks." + "date": "2026-07-27", + "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", + "head": "93a9f90ff287", + "scope": "Bugbot + CI debug", + "outcome": "NOT READY until Production UI green. Product band rebuild looks sound; Advisory UI green. Hosted failure is Answer Suspense `Loading answer` strict-mode (2 nodes / one hidden) in ui-smoke — not caused by band diff. Optional P2: `useRailOverflow` can miss child-list changes.", + "checks": "Production UI log job 90037898852; unique diff vs main; focused band unit 9/9 on tip; no provider checks." }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "7f75c39c153394a89969122693b572376353b9af", - "scope": "CI babysit tip (format + ledger marker)", - "outcome": "Supersedes prior #1298 CI babysit row at `c89756f8` for exact-head bookkeeping after Prettier on clinical-search and ledger tip-marker repair. Product delta unchanged.", - "checks": "check:branch-review-ledger pending; tip `7f75c39c`; no provider checks." + "date": "2026-08-02", + "ref": "claude/ds-v2-architecture", + "head": "93bb4b4756a7fad22f93008325f2c0f72471b0db", + "scope": "PR-Arch Wave4 motion/z/overlays/print", + "outcome": "local gates green; frontend-ui-reviewer API-limited — glance required before auto-merge", + "checks": "unit 4972p; e2e:critical 15p; verify:ui 347p; verify:pr-local 0; eval:rag:offline pass" + }, + { + "date": "2026-08-10", + "ref": "PR #1800 / codex/enhance-search-function-with-fuzzy-matching", + "head": "93da84b063c9c3f956da7ef79710d2cd00159735", + "scope": "PR #1800 babysit", + "outcome": "Synced origin/main (merge-tree clean; GitHub DIRTY was staleness). Fixed CodeRabbit SSRI/SNRI fuzzy cross-match (floor 5 chars) in follow-on tip commit. Clinical Governance Preflight required for clinicalRisk body. Codex P2 field-aware/per-token fuzzy deferred. RAG surfaces untouched.", + "checks": "focused catalog-search+consumers 49 pass; pr-policy body local ok; merge-tree clean" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "a51954ed7db4626a4523ddb53d111742ef6a45ae", - "scope": "Bugbot triage of unique delta vs main", - "outcome": "FIXED P1: medicationDoseQueryContext + clozapine-specific boost/penalty now accept brand aliases (Clozaril evidence ranks above unrelated monitoring for clozapine queries). FIXED P2: neuroleptic side-effect title short-circuit runs after explicit dose/route classification. Cleared: sheet trap, documents focus drop, Playwright serviceWorkers block.", - "checks": "clinical-search Vitest 69/69; unique-delta Vitest 219/219; no provider-backed checks." + "date": "2026-08-09", + "ref": "cursor/differentials-four-page-nav-5ebf", + "head": "93ea437610c1f1b681c3a5cbdc72fe8b9b178710", + "scope": "differentials four-page nav", + "outcome": "implemented Search/Diagnoses/Presentations/Compare equal pages; compare queue; kind labels; Search q+run restore", + "checks": "vitest nav+differentials-navigation; typecheck; lint; full unit 5814 passed" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "c89756f89d61730e926b35c4e5152e087650f440", - "scope": "CI babysit: Build RAM guard + escalation class + alias scope", - "outcome": "FIXED. Unit coverage: removed neuroleptic document_lookup short-circuit that broke title-supported escalation rescue (medication_dose_risk + escalation_risk). Build: CI/GITHUB_ACTIONS warn-and-continue under <10 GiB reported RAM. CodeRabbit: medicationDoseQueryContext alias equivalence is per named medication; multi-med regression added; Prefered typo fixed.", - "checks": "Focused Vitest clinical-search + escalation-rescue + guard-next-build 79/79; tip `c89756f8`; no provider checks." + "date": "2026-08-05", + "ref": "cursor/context7-refresh-22b5", + "head": "9479401744191292002f689a07a2cb5308cedc97", + "scope": "Run PR sweep", + "outcome": "no unresolved threads; merged origin/main", + "checks": "merge-tree clean" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "d81c55b23815948a7043333ad4f56c09ec107c4f", - "scope": "CodeRabbit thread fixes + PR policy body sync", - "outcome": "FIXED: duplicate serviceWorkers key; sheet focus trap excludes aria-hidden/inert ancestors; WCC in clozapine blood-intent gate; formulation Open Worry click-once outside toPass; PR_POLICY_BODY.md added for Sync PR policy body (token cannot edit non-agent-managed description).", - "checks": "retrieval-query-variants + playwright-isolation Vitest pass; local pr-policy evaluate ok; no provider checks." + "date": "2026-07-29", + "ref": "codex/document-results-responsive-polish", + "head": "94bef3d193f449e6396b1bf4688180281d260ca7", + "scope": "document results responsive UI polish", + "outcome": "No P0-P3 findings. Current-main three-action cards preserved; responsive typography, equal phone geometry, warning hierarchy, and no-overflow behavior verified.", + "checks": "focused ESLint; typecheck; 30 focused unit tests; isolated production Playwright 1 passed; verify:cheap static/design/governance/lint passed then lock-blocked at repeated typecheck" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "dc472567ab0be7c404d515f9a2be8f1fdc377e3e", - "scope": "Exact tip after Bugbot trigger post", - "outcome": "Docs-only exact-head row after posting `@cursor review` via ManagePullRequest. Product delta unchanged from `c89756f8`/`6f06b845`.", - "checks": "tip `dc472567`; unresolved threads 0; no provider checks." + "date": "2026-07-13", + "ref": "origin/claude/phone-blackout-fix-nuxnt3", + "head": "94d1613b899be6ad220817dfcf1e894889a21f69", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #578.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-28", - "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", - "head": "f8d4d17bac65c17290b634e5c04bdd76e6d58a07", - "scope": "CI babysit closeout tip", - "outcome": "Exact HEAD after Build RAM CI bypass, escalation-class restore, per-medication alias scoping, Prettier, and review-thread resolution. Unresolved review threads: 0. Residual: hosted CI on this tip + human approving review.", - "checks": "Focused Vitest 79/79 earlier; check:branch-review-ledger PASS; tip `f8d4d17b`; no provider checks." + "date": "2026-08-09", + "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", + "head": "94dd432c0f64fd0593ea68d15aaa612240e7cd1d", + "scope": "PR #1785 unblock/fix", + "outcome": "synced origin/main (behind-but-clean); merge-tree clean; prior tip CI green except PR mergeability DIRTY; review threads already cleared", + "checks": "merge-tree clean; behind 0; prior abb827b1 PR required+Production UI green; focused meds tests to re-run after sync" }, { - "date": "2026-07-28", - "ref": "PR #1298 / `cursor/fix-p2-audit-clean-9957`", - "head": "986ffd28d493c8daf7d900bc65a3cdab3aca496e", - "scope": "Clean rebuild onto main for secret-scanner history", - "outcome": "Rebuilt unique product delta onto origin/main as a single clean commit so Gitleaks/GitGuardian no longer scan historical false-positive fixtures (offline postgres URI, sb_secret_ test key). Product behaviour unchanged from prior tip.", - "checks": "patch apply clean; prior focused Vitest green; no provider checks." + "date": "2026-07-30", + "ref": "codex/coverage-scope-policy", + "head": "94f97cdb1d0543724de408f19e79d64e61c8b31a", + "scope": "issue 139 coverage scope policy", + "outcome": "approved: workflow coverage breadth is deliberate and test-pinned; docs-like skills remain static-only", + "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; prettier; diff check" }, { - "date": "2026-07-28", - "ref": "PR #1302 / `claude/maturity-ledger-entry`", - "head": "64da2c1b34ae101590b8676af12ec6b49c14f0ad", - "scope": "CI/conflict babysit + Codex threads + Bugbot", - "outcome": "FIXED. Real content conflict with main: `#085` already claimed by upload-limit rec (#1291). Merged origin/main; renumbered maturity backlog to `#086`, bumped `issues:next-id` to `087`, added recommended-queue order 29 with go-ahead/RAG/provider stop rules. X7/M1 work orders arrived via main #1299. Codex P2 threads replied + resolved. Bugbot: zero cursor[bot] findings. CircleCI stub from main clears prior \"no configuration\" status error.", - "checks": "merge-tree CLEAN; prettier + docs:check-links + docs:check-scripts PASS; awaiting exact-head hosted CI; no provider-backed checks." + "date": "2026-07-13", + "ref": "codex/codex-review-single-pass", + "head": "950e331006fe0b2d24447ea5b5df2bb83e69799b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #558; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1304 / `fix-test-run-lock`", - "head": "2abe39506f9f0ceaf8cf638bfa2b6dc37dc0ed2c", - "scope": "CI babysit: resync main", - "outcome": "FIXED. After green PR required on `f7d86c27`, main advanced by 1 commit (#1305); GitHub DIRTY again but `git merge-tree` CLEAN. Merged origin/main. No product conflicts; unique delta still knip.json (+ ledger).", - "checks": "merge-tree CLEAN; hosted PR required SUCCESS on prior tip; no provider-backed checks." + "date": "2026-07-13", + "ref": "origin/codex/codex-review-single-pass", + "head": "950e331006fe0b2d24447ea5b5df2bb83e69799b", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #558; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1304 / `fix-test-run-lock`", - "head": "352eedfeb4bcec2665201188c1113fceab7d565d", - "scope": "CI/conflict babysit + Bugbot", - "outcome": "FIXED. Real content conflicts vs main (9 files). Merged origin/main; took main for superseded test-run-lock rewrite (lease/heartbeat already present), phone chrome CSS/tests, document-top-navigation mockups, ui-primitives forced-colors, and ultra-review prompts. Kept knip.json cleanup removing unused `ignoreDependencies: [\"tailwindcss\"]` (only unique product delta). Bugbot: zero `cursor[bot]` findings; 0 review threads. Local `verify:cheap` PASS (4114 tests). Hosted CI re-running on merge tip; mergeable=MERGEABLE.", - "checks": "merge-tree then manual resolve; verify:cheap PASS; Bugbot triage; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "9511c615bf94adf8c7ceee5cb1630c9a168b71c0", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main PR #1479. No remaining P0-P2 findings; all 146 IDs and 100 resolved dispositions are retained while main's file-wide Prettier exclusion and measured #133 evidence are incorporated.", + "checks": "main reconciliation + ledger:dedupe PASS; outstanding ledger 146 rows / 46 open / 100 archived PASS; branch-review ledger PASS; authenticated-live workflow test 1 file / 3 tests PASS" }, { - "date": "2026-07-28", - "ref": "PR #1304 / `fix-test-run-lock`", - "head": "463e5c0adc77fe722e20376666f5991db3e288d9", - "scope": "CI babysit closeout", - "outcome": "MERGE-READY. Hosted PR required SUCCESS on exact tip; mergeable=MERGEABLE; 0 behind main; merge-tree CLEAN. Unique product delta: knip.json removes unused tailwindcss ignoreDependencies. Prior GitHub DIRTY labels during babysit were main-churn only.", - "checks": "Hosted CI run success on 463e5c0a; no provider-backed checks." + "date": "2026-08-09", + "ref": "claude/m3-token-debt-262-261", + "head": "95221ef4235abd9544158b07b8b8569f00c9ec78", + "scope": "PR #1780 review-and-fix", + "outcome": "fixed P2 ratchet bypasses (arbitrary-property classes, CSS-consumer exemption anti-rot, modern CSS zero units); Bugbot clean; merge-tree clean; required CI was green on prior tip", + "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption fail→restore; verify:cheap PASS (549 files / 5933 tests); verify:pr-local stages PASS (test flake in design-system-adoption timed out once then 51/51 + full test 549/549 + check:rag:fixtures PASS); no provider gates" }, { - "date": "2026-07-28", - "ref": "PR #1304 / `fix-test-run-lock`", - "head": "6300b0218b2911fcdd6bc09c51db34dc9bed765b", - "scope": "Babysit closeout tip", - "outcome": "MERGE-READY for knip-only product delta. Supersedes prior #1304 row at `352eedfe` after ledger append. Hosted PR required SUCCESS on exact tip; mergeable=MERGEABLE; 0 review threads; Bugbot empty. Unique vs main: knip.json drops unused `ignoreDependencies: [\"tailwindcss\"]`. Original test-run-lock/phone-chrome work superseded by main during conflict resolve.", - "checks": "Hosted CI run 30328907503 PR required SUCCESS; verify:cheap PASS earlier; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/close-issue-127", + "head": "953ba8c0dfda026400b674aead04a37a45733954", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1487 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-07-28", - "ref": "PR #1304 / `fix-test-run-lock`", - "head": "7cc32c053c752bef19f3de408a1376428e54af74", - "scope": "CI babysit: sync main", - "outcome": "FIXED. GitHub CONFLICTING/DIRTY was staleness only (`git merge-tree` CLEAN; 7 behind). Merged origin/main. Required CI was already SUCCESS on prior tip `e6b826ed`; no product conflicts. Unique vs main remains knip.json (+ ledger). Bugbot/review threads: none unresolved.", - "checks": "merge-tree CLEAN; merge origin/main; no provider-backed checks." + "date": "2026-08-24", + "ref": "dependabot/npm_and_yarn/npm-production-9d7c78ff3c (PR #2296)", + "head": "953bfc6c80325c5d873619c690f779a14e543bf2", + "scope": "Run PR sweep: main sync", + "outcome": "before: CI already green on prior head; branch behind main only (mergeable_state: behind), confirmed clean via git merge-tree. No fix needed. Synced via mcp__github__update_pull_request_branch (authenticated human identity). No unresolved review threads. CI re-running on new head.", + "checks": "no local gate re-run needed (prior head was fully green); no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1304 / fix-test-run-lock", - "head": "7cc32c053c752bef19f3de408a1376428e54af74", - "scope": "CI babysit: sync main", - "outcome": "SUPERSEDED (documenting stale-CI ledger error). Prior row for this HEAD incorrectly treated hosted required-CI SUCCESS on earlier tip e6b826ed9150f312c2e7a957f715019e73a7f0be as verification of this later merge commit 7cc32c05. No hosted required-CI result exists for this exact SHA. This ref has since advanced; the later row at 463e5c0adc77fe722e20376666f5991db3e288d9 recorded exact-tip hosted CI SUCCESS, so this commit's status is historical/superseded.", - "checks": "No hosted CI run on this exact HEAD; prior row reused results from e6b826ed; corrective ledger entry only." + "date": "2026-08-12", + "ref": "PR #1888 (claude/filter-contract-factsheets-pr-d)", + "head": "95515078031b4bd29d90f05986dc5eb3a36ce660", + "scope": "factsheets category counts, filter-contract correction, desktop-rail exception decision", + "outcome": "Filter contract PR D — corrected the earlier false claim that factsheets' category presets discard the query and need eviction (searchHref preserves q); kept the desktop rail as real Link elements rather than converging to SegmentedControl because /factsheets/search is a genuine server-rendered searchParams route, recorded as a documented exception in filter-contract.md; added per-query category counts to both breakpoints from one shared options array. verify:pr-local full green pre- and post-merge; bundle budget within tolerance; UI proved with pinned-Chromium Playwright (11/11) and the updated ui-smoke.spec.ts factsheets test against a real build. /issues #170 updated to correct its own stale factsheets claim.", + "checks": "verify:pr-local (green), check:bundle-budget (within tolerance), lint, typecheck, full vitest (564/564 post-merge), targeted Playwright (1/1) + manual browser script (11/11)" }, { "date": "2026-07-28", - "ref": "PR #1305 / `execute-audit-remediation-fixes`", - "head": "4141ca3a737cdea51fe948f6e03599d3755930fa", - "scope": "Ledger dedupe + CodeRabbit thread closeout", - "outcome": "FIXED Static PR ledger guard: removed 1 exact-duplicate #1306 row from merge=union. CodeRabbit autofix threads (outstanding-issues row, z-index matcher, CardTitle ref, OverlayProvider deps) replied and resolved; OverlayProvider context value memoized. Adopted main RAM-guard.", - "checks": "check:branch-review-ledger PASS; Build/Unit green on prior tip; no provider-backed checks." + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "957a79e4", + "scope": "Re-inspect: main sync + Bugbot", + "outcome": "FIXED CONFLICTING/DIRTY: 1 commit behind main (#1294 typography) — ledger/tests auto-merged clean. Prior CodeRabbit/Codex threads remain resolved. Local Bugbot: no P0/P1. Residual only intentional z-token demotions for mockup/popover.", + "checks": "lint+typecheck PASS; focused vitest 19/19; awaiting exact-head hosted CI; no provider checks." }, { - "date": "2026-07-28", - "ref": "PR #1305 / `execute-audit-remediation-fixes`", - "head": "6c089f2fa5ce5a0e6057dc99ff0199fce136d105", - "scope": "CI/conflict babysit + Bugbot + PR policy body", - "outcome": "FIXED. Merged origin/main (was CONFLICTING); restored fail-closed clinical-notes `answer:\"\"` wipe; fixed upload merge hazard (undefined canonicalAuthority → 500); restored phone chrome viewport breakpoints; kept ClinicalDashboard under 4140-line budget via settingsState handle + memoized provider; updated account-access source contract; completed Clinical Governance Preflight in PR body. Zero unresolved review threads; zero cursor[bot] Bugbot findings.", - "checks": "`npm run verify:cheap` PASS (4115 tests); local pr-policy evaluate ok; no provider-backed checks." + "date": "2026-08-22", + "ref": "claude/rag-quality-predicate-gap-uw320a", + "head": "957b76afa20c4b4667f41cbb0725d71482171228", + "scope": "Packet 2 (#NPQJKP): answer-quality predicate gap — src/lib/rag/rag-extractive-answer.ts, tests/rag-guidance-wrapper-quality-gate.test.ts, docs/rag-improvement/HANDOVER.md pointer line", + "outcome": "SHIPPED as PR #2285 (draft). Falsification confirmed the premise first: generatedAnswerQualityFailureReason returned null for both captured incoherent answers at their real query classes (medication_dose_risk, document_lookup) against unmodified source. Two corrections to the recorded diagnosis: (1) the gate is NOT unreachable on the grounded extractive path — the enforcing call is unconditional inside finalizeRagAnswerQualityCore, reached via finalizeAnswer, so NO reachability change was made; only the preformatted-and-grounded early return remains as a bypass and is now pinned by test. (2) the wrapper is not purely laundering — a first predicate keyed on openingSentenceActionPattern broke the ECT 'places the patient onto BASE' answer pinned by rag-extractive-procedural-artifact, so the shipped predicate rejects only a '>' breadcrumb aimed at a word and a bare coordinated noun list. Placed after the other prose gates so nothing is relabelled; outside the shouldPreserveSourceBackedGeneratedAnswer rescue allowlist. NO ranking, selection, retrieval, prompt or budget change; answerRouteBudgetMs untouched. Live eval-canary pair still owed under owner approval.", + "checks": "verify:pr-local exit 0, all 19 gates completed / none failed (lint, typecheck, test, build, eval:rag:offline, eval:rag:adversarial:offline); a concurrent second invocation exited 75 DATABASE_HEAVY_RUN_ADMISSION_BUSY on self-inflicted lease contention, and a later confirmation re-run hit a PRE-EXISTING unrelated flake (ReferenceError: document is not defined from a 250ms setTimeout in src/components/caring-contacts/mockups/caring-contact-shell-frame.tsx:104 firing after jsdom teardown; 714 files / 8359 tests still passed). typecheck:internal exit 0 on the committed tree. Focused 300/300 across the seven suites exercising this predicate. eval:rag:offline 627/627 and eval:rag:adversarial:offline 25/25, identical before and after with the baseline re-run under GATE_RECEIPTS=refresh. No provider-backed command run; no canary dispatched." }, { - "date": "2026-07-28", - "ref": "PR #1305 / `execute-audit-remediation-fixes`", - "head": "7662c94cf85fac19925debb567035c2e3717a20f", - "scope": "pr-bugbot proactive (zero cursor[bot] Bugbot threads)", - "outcome": "FIXED P1 phone-chrome regression: reverted ClinicalDashboard `@container`/`@max-sm:fixed`/`@md:` migration to viewport `sm:`/`md:`/`max-sm:` (search-chrome #20 + reserve contracts). FIXED P2 privacy notice stacking: restored `z-[5]` and allowed rung 5 in z-index ladder. Validated merge-sensitive: trustGatedAnswer clears `answer:\"\"`; upload has no `canonicalAuthority`; SettingsStateProvider wired; no conflict markers.", - "checks": "Vitest chrome/clinical 31/31; eslint touched files clean; no provider-backed checks." + "date": "2026-07-30", + "ref": "PR-1484", + "head": "9583b7fdc3d2908874c39654dadce0ec7401640a", + "scope": "PR #1484 final current-main review", + "outcome": "approved after fixing P2 file-wide Prettier-ignore false rejection; composite actions retain coverage, workflow-only changes skip coverage, ledger canonicalization and ready-for-review/action-pin guards match repository contracts", + "checks": "GitHub Actions pin, CI scope, outstanding-issues, branch-review-ledger, Prettier and diff checks passed; final merge-tree audit clean; hosted exact-head CI pending push" }, { - "date": "2026-07-28", - "ref": "PR #1305 / `execute-audit-remediation-fixes`", - "head": "b488485d075912bc54d514ea65a1cf73c3d9b413", - "scope": "PR policy body sync closeout", - "outcome": "SUPERSEDES prior #1305 babysit tip. Synced complete Summary/Verification/Risk/governance via temporary `PR_POLICY_BODY.md` (gh/API cannot edit PR body — 403), then deleted template. PR policy PASS; mergeable CLEAN.", - "checks": "Sync PR policy body SUCCESS; PR policy PASS; `verify:cheap` prior tip green." + "date": "2026-08-27", + "ref": "codex/dsm-search-ux-elevation (PR #2415)", + "head": "958a6b4f7c969f07cb118ccc0c581939fd81bcab", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty again (main advanced one more commit, #2416, past the prior sweep's merge, re-conflicting the generated repo-awareness snapshot); required CI red on the prior head (5b22edb2) with Production UI (1) failing tests/ui-route-coverage.spec.ts 'DSM home renders responsively and opens comparison' (expected /dsm/compare$ but got /dsm/compare?q=major+depressive, because the prior sweep's merge silently dropped a same-PR fix commit's dropped $ anchor while keeping its other hunks) and PR mergeability failing on the dirty state; 0 unresolved review threads (6 PR comments were all bot rate-limit/housekeeping noise: Codex usage limit, CodeRabbit review limit, Cursor Bugbot limit x2, Supabase preview skip, CI-triage bot). After: merged origin/main resolving the sole conflict (data/repo-awareness-snapshot.json, a generated file) by regenerating via npm run snapshot:repo-awareness rather than hand-editing; separately fixed the real route-coverage regression by dropping the stale $ anchor on the /dsm/compare URL assertion (restoring intended behaviour: Compare now carries q/ids from DSM search, matching this PR's own preserve-filters design) — both included in merge commit 958a6b4f. No review threads needed action (still zero unresolved). Pushed 958a6b4f; new CI run 33062342217 kicked off on the synced head and was still in progress at time of recording; left for a human or later session to confirm green.", + "checks": "npm run lint (clean, gate-receipts recorded pass), npm run typecheck (clean, gate-receipts recorded pass), npm run test -- tests/mode-secondary-navigation.test.ts tests/dsm-compare-chrome.dom.test.tsx tests/dsm-search-empty-state.dom.test.tsx tests/app-modes.test.ts tests/dsm-comparison-page.dom.test.tsx (68 passed, gate-receipts recorded pass). git merge-tree confirmed the only conflict was the generated snapshot file before merging. No provider-backed checks run; hosted CI run 33062342217 in progress as of last observation." }, { - "date": "2026-07-28", - "ref": "PR #1305 / `execute-audit-remediation-fixes`", - "head": "f1c978d9d63f3b3451c30d5e13e3428f29a706b5", - "scope": "CI Build RAM-guard fix", - "outcome": "FIXED hosted Build exit on local Docker RAM check: skip `guard-next-build` totalmem gate when `GITHUB_ACTIONS=true` (runners can report ~7.8 GiB). PR policy PASS with synced body. Prior CI tip `5d18668e` Build failed on guard; Unit/Static/Safety green. Retrigger CI for this tip.", - "checks": "Local `npm run build` PASS; `verify:cheap` prior tip PASS; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "95b0e289f03afc46d45def9ed1a165cd614684fd", + "scope": "Replacement PR: issue closures, upload-limit parity, production env precedence", + "outcome": "No findings; intended replacement scope preserved on current main", + "checks": "verify:pr-local PASS pre-rebase; exact-head runtime/install/format/lint PASS; focused guards PASS; typecheck rerun blocked by unrelated Playwright lease" }, { - "date": "2026-07-28", - "ref": "PR #1305 / execute-audit-remediation-fixes", - "head": "71ed5083616acff5b820069f2fd9835eab92ec88", - "scope": "CI/conflict babysit + Bugbot + ledger merge residue", - "outcome": "FIXED. Merged origin/main (#1310 ledger repair); converted 4 merge-residue heading records into table form (unique 2026-07-26 review kept as six-cell row). PR MERGEABLE + PR required PASS on this tip. Unresolved review threads 0. Bugbot-equivalent product-diff review: no P0/P1/P2; @cursor review requested. Trust gating + upload fail-closed + SettingsStateProvider + phone chrome viewport breakpoints retained.", - "checks": "check:branch-review-ledger PASS; focused vitest 41/41; hosted PR policy/Static/Build/Unit/Safety/Advisory/Production UI/PR required PASS; no provider-backed checks." + "date": "2026-07-13", + "ref": "origin/claude/perf-r2-bundle-hygiene", + "head": "95ce39f7715caeadc8197c35c2c41500183a715e", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-bundle-hygiene; git diff --name-only reported 40 path(s)." }, { - "date": "2026-07-28", - "ref": "PR #1305 / execute-audit-remediation-fixes", - "head": "b101b69631edfe51bcbbc8f6c07e47157fe2c4e8", - "scope": "CI green closeout after main re-sync", - "outcome": "APPROVE for merge by human. Hosted PR required + Production UI PASS on tip after merging origin/main (#1320). MERGEABLE. Unresolved review threads 0. Bugbot-equivalent: no P0/P1/P2 on unique product delta; @cursor review requested. Product delta retained: clinical-notes trust gating answer wipe, SettingsStateProvider wiring, z-index ladder, OverlayProvider/card fixes, phone chrome viewport breakpoints.", - "checks": "Hosted PR policy/Static/Build/Unit/Safety/Advisory/Production UI/PR required PASS on b101b696; check:branch-review-ledger PASS; no provider-backed checks." + "date": "2026-07-14", + "ref": "claude/perf-r2-bundle-hygiene", + "head": "95ce39f7715caeadc8197c35c2c41500183a715e", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-28", - "ref": "PR #1306 / `claude/frontend-checklist-skills-ece5e6`", - "head": "3e6584413f15cdc2c201b8ab123191b38f5d8042", - "scope": "External skill precedence + evidence rules; CodeRabbit closeout", - "outcome": "MERGED (squash); remote branch auto-deleted. Added `External skill precedence` and `Evidence and calibration are never compressed` to AGENTS.md after installing 390 user-global Front-End Checklist skills plus the caveman output-style plugin. CodeRabbit raised 3 findings; its autofix landed 2 pre-merge (WCAG target-size citation corrected to 2.5.5 AAA 44x44 vs 2.5.8 AA 24x24; third-party ref verification deferred to the provider boundary). The summary-level precedence-scoping nitpick had no inline thread, was skipped by autofix, and landed separately in PR #1308.", - "checks": "prettier PASS; docs:check-links 1274 refs PASS; docs:check-index PASS; verify:cheap BLOCKED at check:installed-lock-parity (worktree next 16.2.10 vs locked 16.2.11) so lint/typecheck/test never ran; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/seeded-owner-catalogue-sync-7544e2", + "head": "9613f9307be5728bb8dae0c56d6a35f053daad4c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #507; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." + }, + { + "date": "2026-07-13", + "ref": "origin/claude/seeded-owner-catalogue-sync-7544e2", + "head": "9613f9307be5728bb8dae0c56d6a35f053daad4c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #507; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1307 / `claude/rag-019-fallback-guard`", - "head": "0827d65d12f5c25faffdf4ebca036f00fc2512cd", - "scope": "CI babysit + Bugbot", - "outcome": "FIXED. Build failed because `guard-next-build.mjs` hard-failed when GitHub runners reported 7.8 GiB RAM (<10 GiB); prior tip Build succeeded on a larger runner (flake). Softened to warn-and-continue under CI/GITHUB_ACTIONS; local/Docker still hard-fail. PR policy FAIL: missing `## Clinical Governance Preflight` — body updated. Bugbot: zero cursor[bot] findings; reviewThreads=0 (nothing to resolve). merge-tree clean vs origin/main.", - "checks": "Unit: guard-next-build + #019 fallback + extractive-answer-formatting 137/137; prettier/eslint clean on touched files; pr-policy evaluate ok; no provider checks." + "date": "2026-08-22", + "ref": "PR-2291", + "head": "9621f5138f5c7919633602c08f7b313e8dc16259", + "scope": "Run PR: final main sync after review fixes", + "outcome": "latest main merged cleanly after review fixes; executable local gates remain blocked by runtime", + "checks": "git merge-tree --write-tree 62cfcab483077d437a513b33eec87272852fa197 6d95245204e344335bd6ea10798d8b74111c9fcf PASS; git diff --cached --check PASS; local setup/format/test unavailable" }, { - "date": "2026-07-28", - "ref": "PR #1307 / `claude/rag-019-fallback-guard`", - "head": "2e5edfc6c9fcc0bb75674b179607888bbf872b91", - "scope": "PR policy body synced + template removed", - "outcome": "Sync PR policy body SUCCESS applied Clinical Governance Preflight (7/7). Deleted temporary `PR_POLICY_BODY.md`. Awaiting Build/PR policy/PR required on this tip.", - "checks": "Hosted Sync SUCCESS; no provider checks." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "963a9a0b4acb40659118eb1160712c0b99ab8bb1", + "scope": "Cursor /debug CI unblock", + "outcome": "Dropped svgo/sharp/check:assets lockfile delta (exceljs brace-expansion highs become blocking when lockfile_changed). Kept runtime asset fixes + themed favicon. Orphan AVIF/WebP remain unused.", + "checks": "brand:check/knip/prettier/signed-image vitest local PASS; no provider checks." }, { - "date": "2026-07-28", - "ref": "PR #1309 / `claude/gates-skill`", - "head": "7dfe103bfa408052c9e899211b8373c7ccb708d3", - "scope": "Conflict sync + Codex/CodeRabbit + Bugbot", - "outcome": "FIXED. GitHub CONFLICTING/DIRTY was main-staleness only (`merge-tree` clean); merged `origin/main`. Codex P2: skill wrongly claimed `verify:ui` exits 0 under heavy-lock contention — corrected to 15m queue then exit 1 via `run-playwright.mjs`; mirrored in AGENTS.md. CodeRabbit: marked `${PIPESTATUS[0]}` as Bash-specific. Bugbot: zero `cursor[bot]` findings; confirmed same P2. No CI failures on prior tip.", - "checks": "`prettier --check` PASS; `docs:check-links` 1287 PASS; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/worker-server-only-boot", + "head": "964564f0477635d252238612586e1f83dda3b245", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #493; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1310 / `claude/branch-review-ledger-fixes-42575f` (merged)", - "head": "422e43d86a69c88368454065c2b117f5982a43d6", - "scope": "prlanded", - "outcome": "LANDED as squash 422e43d86. Ledger repair + lookup/append tooling + hardened guard all present on main; guard PASS at 1107 records and repo-hygiene 25/25. Review improved the branch before merge and main is ahead of the authoring branch: findReviews now compares scope exactly (the original substring match would have let a branch-cleanup-deletion-pending row satisfy a branch-cleanup lookup and skip a branch that still needed cleanup), refTokens no longer false-hits on bare parenthetical prose, headMatches accepts an annotated 'sha (squash)' cell and rejects 'n/a - see ', and resolveHead now verifies full-length hex so a mistyped 40-char string cannot become an unmatchable HEAD. Authoring branch was deleted at merge; its unpushed local ledger-record commit was superseded by this row rather than pushed.", - "checks": "npm run check:branch-review-ledger PASS (1107 records) and vitest tests/repo-hygiene.test.ts 25/25 PASS, both run against origin/main after the merge. Pre-merge npm run verify:pr-local PASS on the merged tree (405 files / 4126 tests, build 3.7min). No provider-backed checks run." + "date": "2026-07-13", + "ref": "origin/claude/worker-server-only-boot", + "head": "964564f0477635d252238612586e1f83dda3b245", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #493; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1310 / claude/branch-review-ledger-fixes-42575f", - "head": "7c870c139211a419fe8b4dfacae3195a7a7caa2b", - "scope": "PR babysit: CI + Codex P2s + Bugbot-equivalent", - "outcome": "Hosted PR required SUCCESS on 7c870c13. Fixed 3 Codex P2s (exact scope match, supersede mints distinct scope, verify full SHAs via git rev-parse) plus n/a-embedded hex and parenthetical ref-token false matches. 3 review threads replied+resolved. Mergeable; 0 behind main. Hosted Cursor Bugbot check not produced — bot-authored bugbot run/cursor review comments ignored; local Bugbot-style review done and defects fixed.", - "checks": "check:branch-review-ledger PASS; vitest repo-hygiene 25/25; lint; typecheck; full vitest 4133 pass; hosted Static/Unit/Build/Safety/PR-required SUCCESS. No provider-backed gates." + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "9664fb279adae41cd9846cca1a1a17650a1ac138", + "scope": "Run PR re-sync sweep", + "outcome": "Re-check only: still CONFLICTING vs origin/main. Semantic conflicts include privacy/page.tsx, answer-render-policy.ts, answer-request.ts, source-authority-metadata.ts, upload/bulk routes, settings-dialog, drift-manifest (+ more). Merge aborted; no force-resolve.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", - "head": "1c65a083e8307f108774b0c3a3fb96559c42ee0d", - "scope": "CI/review closeout complete", - "outcome": "READY FOR HOSTED CI. All review threads resolved. Account-favourites pending/failure folded into band status; remaining Codex/CodeRabbit gaps closed; Bugbot residual noted (binary band cannot express partial source failure without a dedicated `partial` status). Merge-tree was clean vs main at prior tip; CI rerunning on this head.", - "checks": "Focused vitest 43/43; tsc/eslint PASS on touched files; Bugbot via pr-bugbot subagent (no MCP Bugbot server); no provider-backed checks." + "date": "2026-07-29", + "ref": "claude/latency-fixes-2026-07-29", + "head": "96a4c76da12b4478539b44fdc01a59ccfe791890", + "scope": "prlanded", + "outcome": "PR #1376 merged via squash. Content diff against the squash commit is empty and six probes confirmed on main (preambleServerTimingEntries, LoadingPanel fallbacks, Supabase preconnect, Refutation 6, audit corrections, tableFactListProjection). No orphaned commits despite pushing after auto-merge was armed; disarm-push-rearm was used.", + "checks": "verify:pr-local exit 0 on fresh npm ci: 422 files / 4272 tests passed, 3 skipped. prettier clean; docs:check-links 1333 refs; docs:check-index OK. verify:ui NOT run (heavy lock contended). No provider-backed gates." }, { - "date": "2026-07-28", - "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", - "head": "7b968d695c4545e1677c2e7f136172ef686d0012", - "scope": "CI/review closeout: loadError split + adoption mode homes", - "outcome": "FIXED new Codex P2s. Separated account loadError from mutation error; expanded band adoption to mode href pages + 2-hop reach; prior #024/favourites-counts/therapy-retry threads already resolved. Merge-tree clean vs main (0 behind). Bugbot earlier pass had no P0/P1 on prior WIP.", - "checks": "vitest favourites-account-retry + adoption + hub (10); typecheck; full suite 4232/4 prior tip" + "date": "2026-07-25", + "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", + "head": "96ba61520aeea59647dcaec6671ccb82618553ef", + "scope": "CORRECTION: real SHA for the 2026-07-24 post-sync #1177 row", + "outcome": "That row recorded `96ba6152c1f8e5e0000000000000000000000000`, a zero-padded placeholder that resolves to no Git object. The real commit is `96ba61520aeea59647dcaec6671ccb82618553ef` (\"ci: remove PR_POLICY_BODY.md after sync\"); the reviewed outcome itself is unchanged.", + "checks": "`git rev-parse` verification; `npm run check:branch-review-ledger` pass; no provider-backed checks run." }, { - "date": "2026-07-28", - "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", - "head": "8ccd7f481819ae4b41352acf9d867b2b850696be", - "scope": "CI/review closeout: remaining band review gaps", - "outcome": "FIXED. Prior Production UI failure on older tip was Suspense duplicate `global-search-input` (addressed earlier). Tip closes 7 unresolved review threads: favourites partial-status + refetch, differentials unauthorized copy, docs typography, forced-colors adoption gate, forms/loading control suppression confirmation. Merge-tree clean vs main; hosted CI rerunning on this head.", - "checks": "Focused vitest 38/38; tsc + eslint on touched files PASS; no Bugbot MCP available in this environment; no provider-backed checks." + "date": "2026-07-24", + "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", + "head": "96ba6152c1f8e5e0000000000000000000000000", + "scope": "Supersedes prior #1177 review row with post-sync tip", + "outcome": "Same product outcome as prior row; tip includes correct PR_POLICY_BODY sync + template deletion so Sync PR policy body cannot reintroduce the stale search-performance description.", + "checks": "`npm run check:branch-review-ledger` pass; no provider-backed checks run." }, { - "date": "2026-07-28", - "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", - "head": "9bace1d1b359df5c9a87c40be1e374a89976fd2a", - "scope": "CI/review closeout: #024 prose, favourites counts, therapy retry settle", - "outcome": "FIXED open threads. CodeRabbit #024 contradiction corrected in prose (item stays open). Codex favourites counts suppressed until trusted. Codex therapy retry returns settling Promise + busy coverage. Merged latest main (clean). Bugbot: no P0/P1. Residual #091 partial-count trust; search-band onRetry still behind workspace error gate (workspace Retry uses loading).", - "checks": "full vitest 4229 passed / 4 skipped; typecheck; eslint touched; check:branch-review-ledger; Bugbot via pr-bugbot" + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c", + "head": "96c4d3a3a1a46efedfa5b43c4bf1de227c1d19a6", + "scope": "PR #1734 confirm checklist", + "outcome": "clean; no P0/P1/P2 in ConfirmCalloutText/confirmCheckParts/Avoid row", + "checks": "diff vs main; form-1a catalog wiring; vitest form-confirm-callout.dom.test.tsx PASS" }, { - "date": "2026-07-28", - "ref": "PR #1335 / cursor/pr-policy-caveman-docs-dc4e (merged)", - "head": "fd5651c821426605df0cb9df44236d6c67e65f41", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED ledger fold. Product AGENTS/handoff already on main via #1322 (two-dot empty). Fixed Codex P2: pr-* ledger refs → resolvable branch names; resolved blocking thread (reply 403).", - "checks": "hosted-pr-required,static,circleci,resolveReviewThread" + "date": "2026-07-11", + "ref": "PR #485 / claude/home-answer-page-layout-rtx10n", + "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", + "scope": "open-PR review and CI", + "outcome": "Integrated the all-viewport hero composer, retained the compact hero scale, made composer width continuous across 1024px, and restored a mobile centering height floor. Review ledger SHAs were expanded to full IDs and source guards cover the layout invariants.", + "checks": "Focused source guards (30/30); TypeScript; full Vitest (1,594 passed, 1 skipped); required and advisory UI, build, static, unit, CodeRabbit, Semgrep, Gitleaks, GitGuardian, and post-merge main CI passed." }, { - "date": "2026-07-28", - "ref": "PR #1336 / cursor/mode-secondary-navigation-dc4e (merged)", - "head": "b92c2721f942e4a35b09af2151b327cbb989b2b2", - "scope": "prlanded", - "outcome": "LANDED babysit tip: Suspense bridge, DocumentViewer ownership, horizontal chip scroll, service section ids; PR required + Production UI green before squash", - "checks": "hosted-pr-required,production-ui,static,unit,build,verify:cheap" + "date": "2026-07-13", + "ref": "codex/pr-485-fixes", + "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 96dbd0394888d5a52c916dba52b94d0f83e4507e origin/main`." }, { - "date": "2026-07-28", - "ref": "PR #1337 / claude/circleci-config-decision-f1efc6", - "head": "e9bcebb9ef7baddb2eed961bf40bbd89a358b41b", - "scope": "CI babysit: CircleCI verify green", - "outcome": "FIXED. Root cause of CircleCI red: cimg/node:24.9 fails engine-strict npm ci because @babel/parser requires Node >=24.11. Switched to cimg/node:24.18. Also addressed Codex P2s (ci-change-scope docs-only; PyMuPDF venv+PYTHON_BIN). Hosted ci/circleci: verify SUCCESS on tip; GH PR required SUCCESS. Codex threads previously resolved.", - "checks": "circleci config validate; contract Vitest 6/6; hosted CircleCI verify SUCCESS (job 225); hosted PR required/Static/Unit SUCCESS" + "date": "2026-07-13", + "ref": "origin/claude/home-answer-page-layout-rtx10n", + "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 96dbd0394888d5a52c916dba52b94d0f83e4507e origin/main`." }, { - "date": "2026-07-28", - "ref": "PR #1337 / claude/circleci-config-decision-f1efc6", - "head": "eb2f8f867de13ca64fbdb5e95242e7e5067be6dc", - "scope": "CI babysit: CircleCI verify + Codex P2s", - "outcome": "FIXED. Root causes: (1) CircleCI missing PyMuPDF/pip so CI=1 pdf-extractor prerequisite failed; (2) naive docs-only md regex false-greened policy Markdown; (3) Bugbot P1: non-root npm install -g fails on cimg/node. Fixed by ci-change-scope docs_only halt, apt python3-pip + PyMuPDF==1.28.0, npm 11.x assert. Both Codex threads resolved. brace-expansion already on main via #1314.", - "checks": "format:check; contract Vitest 5/5; pdf-extractor 6/6 with CI=1+PyMuPDF; typecheck; lint; Bugbot re-review no remaining bugs; hosted CI/CircleCI re-running on eb2f8f86" + "date": "2026-07-29", + "ref": "cursor/recent-pr-bugfixes-f30d", + "head": "96eaf8768ffc369c4fb4ec406f9ea2b00443b734", + "scope": "pr-1374-merge-main-staleness", + "outcome": "merged origin/main; merge-tree clean; GitHub DIRTY was staleness", + "checks": "merge-tree-clean; push" }, { - "date": "2026-07-28", - "ref": "PR #1341 / cursor/pr1340-ledger-prlanded-c9d2 (merged)", - "head": "dc23e8cce6b00c042cb367cf7397b1d11b72dc37", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED. Ledger babysit+prlanded for #1340 missing on main; fold/sync+squash.", - "checks": "hosted-pr-required,static,circleci,merge-tree-clean" + "date": "2026-08-12", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "970d39bc7023823d3283c660df090659a2f07aec", + "scope": "Full outstanding-issues ledger sweep: 47 rows individually verified against merged main", + "outcome": "19 archived (delivered or duplicate), 10 re-scoped with re-measured evidence, 1 refuted (#293), 4 machine-local rows annotated do-not-close-from-cloud; 98 rows bucketed by blocker, not individually verified", + "checks": "verify:pr-local 10/10 green; check:outstanding-issues 126 open/175 archived, no ids deleted from base" }, { - "date": "2026-07-28", - "ref": "PR #1351 / audit-design-fixes-clean", - "head": "dcf0844d4ec715dcb32ddd3fc958d731a8657cb4", - "scope": "open-pr-merge-sweep", - "outcome": "LEFT OPEN for other agent (EmptyState/actions + audit a11y). Head advanced during sweep; do not steal. MERGEABLE/BEHIND at handoff.", - "checks": "coordination-leave;no-product-edit" + "date": "2026-07-13", + "ref": "origin/claude/query-hash-hmac-secret-0e44d3", + "head": "97108314ec59dd015b1947ba0d0bc41da1f58d33", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #532; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-28", - "ref": "PR #1351 / audit-design-fixes-clean (merged)", - "head": "c2ec2d75553e7718fd89194cbc8362d9905151d3", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED after EmptyState actions= fix, DocumentViewerRail re-home, review-thread clearance. Supersedes prior LEFT OPEN handoff row.", - "checks": "hosted-pr-required,static,build,production-ui,merge-tree-clean" + "date": "2026-08-26", + "ref": "codex/chat-document-viewer-workspace-document-viewer-workspace-20260826", + "head": "9719590a10d05c08d9cd8736021469b1d129f3f9", + "scope": "PR #2389", + "outcome": "fixes-applied", + "checks": "PR policy body canonicalized; DocumentViewer 1694/1734 via state-surface extract; vitest 20/20 shell+section+recovery; Bugbot threads resolved; CI watching" }, { "date": "2026-07-28", - "ref": "PR #1352 / execute-audit-remediation-fixes", - "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", - "scope": "open-pr-merge-sweep", - "outcome": "SKIP-CLOSE confirmed: stale continuation of merged #1305; REAL merge-tree conflicts across answer route, ClinicalDashboard, OverlayProvider, z-index ladder, private-access tests, etc. Close attempted → 403.", - "checks": "merge-tree-conflicts,gh-pr-1305-MERGED" + "ref": "claude/top-search-design-mockups-w53znc", + "head": "9731a9e35fdd036e039f88cbe1f8ccb0f99e9fdc", + "scope": "PR #1316 tip WIP: #024 status + favourites count suppress + therapy retry settle", + "outcome": "no high-confidence P0/P1; residual #091 partial-count trust + search-band onRetry dead behind workspace error gate", + "checks": "vitest favourites-hub-unavailable-controls + therapy-compass-data-recovery (7 passed); static review of uncommitted diffs" }, { - "date": "2026-07-28", - "ref": "PR #1352 / execute-audit-remediation-fixes (closed)", - "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", - "scope": "open-pr-merge-sweep", - "outcome": "CLOSED as superseded junk: stale continuation of merged #1305 with real merge-tree conflicts. Supersedes prior SKIP-CLOSE 403 row; closed via ManagePullRequest.", - "checks": "merge-tree-conflicts,gh-pr-1305-MERGED,manage-pr-close" + "date": "2026-07-24", + "ref": "cursor/information-page-structure-2a5d (PR #1148)", + "head": "97511d69256b97de4f4e654ff6c12f3742f795f4", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-07-28", - "ref": "PR #1353 / cursor/pr-1336-ledger-closeout-dc4e (merged)", - "head": "7581cfcb29197449fd728995a4b47a0ec46b9824", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED. Ledger-only prlanded for #1336 was missing on main; fold/sync+squash. Row retained.", - "checks": "hosted-pr-required,static,circleci,merge-tree-clean" + "date": "2026-07-30", + "ref": "PR-1497", + "head": "978459f8788568be7aa0dd4d6a8b309a3d2d077e", + "scope": "PR #1497 final current-main review and typecheck repair", + "outcome": "APPROVE after fixing Error.code narrowing in the offline readiness test; no remaining P0-P2 findings.", + "checks": "check:codex-cloud PASS; full Vitest 444 files / 4644 passed / 3 skipped; readiness focused 6/6; tsc --noEmit PASS; issue and ledger guards PASS; Prettier and diff checks PASS" }, { - "date": "2026-07-28", - "ref": "PR #1371 / cursor/document-viewer-ci-guards-eac3 (merged)", - "head": "64be97b96b46617e63f7d004fef4f9bcb14bf710", - "scope": "open-pr-merge-sweep", - "outcome": "MERGED. Useful Production UI drift guards (document-overview id ownership + phone section sheet selectors). Draft→ready; sync main; squash+delete-branch.", - "checks": "hosted-pr-required,static,unit,circleci,merge-tree-clean" + "date": "2026-08-07", + "ref": "claude/handover-review-nlhuln", + "head": "978623337c12dc1721fe5236eadbf9a5ad929f03", + "scope": "mode nav remaining modes: factsheets adoption (PR #1674)", + "outcome": "Adopted the shared ModeNav for factsheets (Topics + Search); replaced the action-only entry, added the activeId branch, q/category/run carry, BookOpenText icon; three pinned adopted-mode lists updated together; record-route protection pinned at render now the item-count protection has expired", + "checks": "lint clean; typecheck clean; test 518/519 files (pr-handoff-stop failure confirmed pre-existing via stashed re-run); focused 5 files 95 tests; ui-mode-nav-density 55 passed incl 7 new factsheets rows; two mutation checks confirmed red; format committed; verify:pr-local blocked at check:installed-lock-parity (playwright 1.62.0 vs 1.62.1)" }, { - "date": "2026-07-28", - "ref": "PR-1295", - "head": "2d474c973828736bc199c59136018220debb9907", - "scope": "PR #1295 final remediation vs current origin/main", - "outcome": "APPROVE after exact-head CI; redundant workflows and stale audit artifacts removed, tablet action cards aligned", - "checks": "Clean merge-tree; ledger guard PASS; diff check PASS; verify:pr-local dry-run selected runtime, lock parity, format, lint, typecheck, full test, build, and RAG fixture checks; local execution unavailable because node_modules is absent" + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "978d4f462fcdd4f665060bfc86ed62d8617751cb + reviewed follow-up diff", + "scope": "final automated-review disposition", + "outcome": "Fixed the remaining valid review findings: offline evaluation now excludes forced-vector fixtures and owns provider-mode selection; registry detection is shared; staging Supabase calls are bounded; retrieval is covered by a request-start deadline; deadline-expired answers are not cached; and registry label reconciliation preserves reviewer metadata and confidence while refreshing generator-owned metadata. The unsupported-related-document deadline finding was not applicable because the configured unsupported route budget is intentionally `0` and creates no deadline.", + "checks": "GitHub review-thread inspection; focused Vitest 58/58; scoped ESLint; Prettier; full TypeScript; `git diff --check`. Flaky aggregate browser/local suites intentionally not repeated; final-head hosted CI and staging evidence remain required." }, { - "date": "2026-07-28", - "ref": "PR-1296", - "head": "58a6fe241de122c81822a5f60064cc2c49b2f245", - "scope": "PR #1296 full diff vs origin/main", - "outcome": "FIXED P1 z-index ladder bypass; approve after exact-head CI", - "checks": "Removed semantic z-index utilities that lowered established overlay rungs and bypassed main lint; diff check pending; prior exact-head PR required and Production UI passed; refreshed exact-head CI pending" + "date": "2026-07-27", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "97ab067bfdca644e0750bfbc717da7d58ecd27ee", + "scope": "Bugbot defect hunt (cursoragent request; no hosted cursor[bot] threads)", + "outcome": "APPROVE pending exact-head required CI. No P0/P1. Projection ≡ live helpers (201 diagnoses / 31 presentations / 20 alias keys); `--check` compares parsed values (Prettier-safe); CI `static-pr` + `verify:cheap` wire `check:cross-mode-index`. Residual P2: re-importing `@/lib/differentials` into `cross-mode-differentials.ts` would restore the ~1.2 MB lazy-chunk weight while data gates stay green — no import-graph lock yet. P3: stale comment in `cross-mode-links.tsx`; scripts-index omits new generator.", + "checks": "`check:cross-mode-index` PASS; vitest `cross-mode-differentials-index` 2/2; gate-manifest PASS; drift/invalid-JSON proofs FAIL closed; import-graph grep clean today; no provider-backed checks." }, { - "date": "2026-07-28", - "ref": "PR-1297", - "head": "5c7c4ff8cc92a3af1cd0a65898067272f332809e", - "scope": "PR #1297 full diff vs origin/main", - "outcome": "APPROVE after main sync; no high-confidence P0-P2 defects", - "checks": "Local diff review and merge-tree clean; prior exact-head PR required, build, unit coverage, and Production UI passed; new exact-head CI pending" + "date": "2026-08-24", + "ref": "2354", + "head": "97be623d5cd0d878130ff1eb6aa8ef9851d92d97", + "scope": "PR #2354 current changed scope", + "outcome": "P1 privacy URL leak and P2 inventory/data-boundary defects fixed; final staged re-review clean", + "checks": "diff check; sitemap; docs links/index; issue snapshot pass; focused DOM blocked by repository Playwright lease" }, { - "date": "2026-07-28", - "ref": "PR-1298", - "head": "56536a4d00a5fc799025522d2dbe98377721837e", - "scope": "PR #1298 final remediation vs current origin/main", - "outcome": "APPROVE after exact-head CI; unvalidated retrieval behaviour removed, remaining changes are UI/test hardening", - "checks": "Protected clinical-search and retrieval-variant production files match origin/main byte-for-byte; merge-tree clean; ledger guard PASS; diff check PASS; verify:pr-local dry-run selected full local gate; local execution unavailable because node_modules is absent; RAG impact no retrieval behaviour change" + "date": "2026-08-22", + "ref": "codex/review-design-system-and-live-design", + "head": "97e02c21bbaa947c0d4610ff8965a66f61f4f86c", + "scope": "pr-ci-fix", + "outcome": "merge-ready", + "checks": "pr-required:pass,static:pass,build:pass,production-ui:pass,policy:pass,mergeability:pass,coderabbit-thread:resolved" }, { - "date": "2026-07-28", - "ref": "PR-1298", - "head": "de14ee2c45cbd0cb5a3b366febef70bcc2ea245e", - "scope": "PR #1298 full diff vs origin/main", - "outcome": "BLOCKED: protected RAG behaviour change lacks required live baseline-to-post canary", - "checks": "Local diff review found no additional high-confidence P0-P2 defect; prior exact-head PR required passed; offline Vitest is insufficient for ranking trust; no provider-backed canary run" + "date": "2026-08-17", + "ref": "pr-1998", + "head": "97f9055827ef7712f9b5bb98c4c4e2bfb73f69a0", + "scope": "filters", + "outcome": "fixed-ci-blockers", + "checks": "vitest,typecheck,eslint,design-sync-contract,design-system-adoption,maintainability-budgets,playwright-ui-tools-chromium,build" }, { - "date": "2026-07-27", - "ref": "`claude/clinical-kb-pwa-review-asi3wb` (PR #1050: eval cost readout fix + issues-ledger capture)", - "head": "eb1046be132d8e94d9d6b4905d7e240a99f33187", - "scope": "Retrospective disposition row for PR #1050 (omitted at merge time; ride-along from the 2026-07-26 scheduled-runs reader)", - "outcome": "MERGED 2026-07-22 as squash `9fb9bc7`. External reviews dispositioned pre-merge: one Codex P2 and one CodeRabbit Major converged on the same defect (zero-usage cases with a provider attempt must stay `n/a`, not `$0`) plus two CodeRabbit ledger Minors and a real merge conflict against #1049's concurrent ID allocation — all resolved in `eb1046b` (provider-attempt cost branch; issue rows renumbered #018-#023, next-id 024), threads resolved and confirmed by the reviewer. Cost readout subsequently validated live twice: merged-main canary `30018289898` (2026-07-23) and scheduled run `30216191889` (2026-07-26, Estimated cost USD 0.235936; 9 priced + 35 provably-zero-cost cases, no `n/a`), archiving issue #020.", - "checks": "PR CI green at merge (squash auto-merge armed by the user); post-merge validation read-only from hosted run logs; tests 28/28 on `tests/eval-quality.test.ts` plus typecheck and prettier at `eb1046b`; no provider dispatch or live RAG spend for this row." + "date": "2026-08-09", + "ref": "cursor/fix-document-open-scroll-e5bf (PR #1782)", + "head": "98029875db7d640d3e699829249bb33892296bff", + "scope": "PR #1782 unblock", + "outcome": "before: static-pr+coverage failed on stale adoption-manifest (document-viewer-shell testFiles drift), merge-tree clean 0 behind, auto-merge armed, 1 advisory CodeRabbit waitFor thread; after: regenerated adoption-manifest, hardened scroll negative assertion, pre-commit+handoff adoption sync to prevent recurrence; CodeRabbit dispositioned as fixed by sync assert", + "checks": "check:design-system-adoption PASS; vitest design-system-adoption+document-viewer-shell+docs-inventory 63/63 PASS; format; no provider-backed checks" }, { - "date": "2026-07-27", - "ref": "`codex/config-reconciliation-current-20260727`", - "head": "4400f59730fbd24efc5f4c54adda828506f3835b", - "scope": "Protected-main review of #054 production configuration reconciliation", - "outcome": "APPROVE. GitHub reads are repository-pinned; Railway reads are pinned to the live project, production environment and explicit app/worker services; each provider call has a 30-second bound; output is names-only even though Railway JSON is reduced from values in memory. Multiline Zod and `.env.example` drift are guarded. The correct primary checkout received only three generated gitignored local HMAC/probe values. No P0-P3 finding remains. Residual staging, webhook activation and legal/ZDR work remain #056, #025 and #053 rather than being overstated as complete.", - "checks": "Focused parity/local-presence 22/22 PASS; `verify:cheap` PASS (25 gates; 393 files; 3523 passed / 2 skipped); `verify:pr-local` PASS (same unit matrix + 36 offline RAG fixtures; build correctly skipped as unaffected); production-readiness READY (8 PASS, 2 checkout-file-location warnings); exact provider names-only GitHub/Railway parity PASS; Ops Digest active + latest schedule SUCCESS; Railway app/worker latest deploy SUCCESS; Supabase read-only cron/Vault-name proof; no OpenAI request or live RAG evaluation." + "date": "2026-08-22", + "ref": "PR #2274", + "head": "9804434ca02c717ebad436ecc3dc545b8780eab8", + "scope": "PR #2274 full diff vs refs/remotes/origin/main", + "outcome": "Two P2 behavior defects fixed; CI policy, secret-scan, design-system, and bundle failures remediated; stale session artifacts removed; current Developer Hub integration restored with honest staged scope.", + "checks": "fresh Next build PASS; focused Care Plan and Developer Hub tests PASS 235/235; typecheck PASS; design-system PASS; bundle-budget PASS; production-readiness source checks PASS but provider configuration environment-gated" }, { - "date": "2026-07-27", - "ref": "`codex/fix-phone-bottom-edge-20260727`", - "head": "2cfd726843e034620091c9bb400640cce0fa40d3", - "scope": "Superseding review of the physical-iOS phone bottom-edge regression", - "outcome": "APPROVE pending broad local gates and physical staging acceptance. PR #1266 restored a phone `100dvh` shell and moved the primary regression away from Services, so Chromium parent geometry stayed green while Safari and a freshly relaunched standalone PWA clipped live result content above the physical edge. Both application owners now share a phone-only fixed `inset: 0` shell without a viewport-unit height clamp. The repaired Services journey requires the real result list to own the final pixel and preserves its pre-resize anchor through viewport shrink and expansion. No P0-P3 code or test finding remains.", - "checks": "TDD RED on the base shell (`relative` instead of `fixed`); exact Services Chromium GREEN (1/1); focused shell contracts GREEN (19/19); full Vitest GREEN (393 files, 3520 passed / 2 skipped); independent spec and quality reviews PASS; physical Safari/Home Screen staging proof and broad local gates pending; no provider-backed checks yet." + "date": "2026-07-11", + "ref": "codex/design-ux-review-integration", + "head": "98093ec7b", + "scope": "branch-integration-review", + "outcome": "Replayed the reviewed design and UX fixes onto current `origin/main`, preserved the lightweight evidence-panel boundary, and retained the merged quality fixes.", + "checks": "`npm run check:type-scale`; combined focused Vitest (8 files, 42 tests); runtime/action/sitemap/type-scale/lint stages of `verify:cheap`; typecheck blocked by stale worktree dependencies pending hosted clean install; `git diff --check`" }, { "date": "2026-07-27", - "ref": "`codex/fix-phone-bottom-edge-20260727`", - "head": "3f33b0b4b7c08dab74ba6685fbd6aa672a8e6c91", - "scope": "Final review of browser and standalone phone edge ownership", - "outcome": "APPROVE pending exact staging device acceptance. Supersedes the `2cfd7268` review after physical Safari and cold-launch PWA evidence disproved the fixed-root solution. Browser phones now use document scrolling so Safari can minimize its chrome and paint content through released top and bottom edges; standalone phones retain a bounded 100vh frame with page-owned calculator, DocumentViewer, and differential footers portaled outside the inner scroller. Hidden chrome releases reserve, opacity, hit testing, and last-pixel ownership without a backward scroll jump, while sm+ returns portal content inline. Independent final review found no P0-P3 issue.", - "checks": "`verify:cheap` PASS (393 files; 3526 passed / 2 skipped); focused static contracts PASS (43/43); exact new standalone and responsive production Chromium journeys PASS (4/4); `verify:ui` PASS (323/323); Prettier and `git diff --check` PASS; physical Safari and freshly relaunched Home Screen PWA staging proof pending; no live provider-backed verification." + "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", + "head": "980b4298", + "scope": "Implemented review follow-up", + "outcome": "Synced main; rail overflow observes childList mutations. Temporarily disabled auto-merge to land polish without squash race.", + "checks": "Focused band Vitest 9/9; no provider checks." }, { "date": "2026-07-27", - "ref": "`codex/phone-bottom-band-root-20260727`", - "head": "a4802b9373404a00549a3479d86340398e978cc8", - "scope": "Automated review follow-up for phone viewport fallback layering", - "outcome": "APPROVE. Verified the review finding and separated the baseline 100vh declarations from the supported 100svh override, while retaining the later 100dvh override as the preferred dynamic viewport size. This removes duplicate properties without changing the intended fallback order. The ledger date remains the Australia/Perth task completion date. No P0-P3 finding remains.", - "checks": "Focused viewport-shell static contract PASS (8/8); `git diff --check` PASS; prior full `verify:cheap` and hosted required CI were green before this CSS-only declaration-layering follow-up; no non-GitHub provider-backed checks." + "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", + "head": "980b4298933642d134d44105b62ab0c31d39d4e3", + "scope": "Hosted required CI after Loading-answer harden + main sync", + "outcome": "GREEN. Supersedes the `78c7d1c7` pending-rerun row. Production UI and `PR required` both SUCCESS on this tip; Loading-answer `:visible` assertion retained through the later rail-overflow fix and `origin/main` merge.", + "checks": "Hosted CI run 30308513222: Production UI SUCCESS (11m22s), PR required SUCCESS; local exact journey PASS 3/3 earlier on the harden; no provider-backed checks." }, { - "date": "2026-07-27", - "ref": "`codex/phone-bottom-band-root-20260727`", - "head": "a8a72a43d", - "scope": "CI follow-up review of calculator dock hide lifecycle", - "outcome": "APPROVE. Hosted production Chromium exposed a fast-close race where effect cleanup could cancel the queued focus-latch reset, plus a paint-contract journey coupled to natural short-page geometry. The reset now survives rapid sheet teardown, actual input focus is asserted before hide, and explicit runway isolates the paint contract from the anti-clamp boundary tests. No P0-P3 finding remains.", - "checks": "Exact locked Next 16.2.11 / Playwright 1.61.1 production Chromium repeat PASS (20/20); `verify:cheap` PASS (393 files; 3519 passed / 2 skipped); no provider-backed checks." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "986446f64cdfdbb780fc49ec62cbd90d08132f00", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "fixed Static PR exitProcess types + task-centred sk-escape mangling at 3e56dd91; modality CR out-of-scope; threads resolved; ledger tip", + "checks": "typecheck clean; vitest 34/34; build-therapies-index --check: Therapy indexes are current (205 records)" }, { - "date": "2026-07-27", - "ref": "`codex/phone-bottom-band-root-20260727`", - "head": "a8efe4a08f00a2365e2035f83ce2128ec680576f", - "scope": "Protected-main release-readiness review of the shared phone viewport shell", - "outcome": "APPROVE. The remaining bottom band clipped live result content above the hidden dock because both phone application owners used viewport-sized fixed roots, a physical-iOS paint path that can disagree with correct DOM geometry. Both owners now share a bounded in-flow dynamic-viewport shell; hidden reserve remains zero, the last viewport pixel remains content-owned, and viewport resize preserves the reading offset. No P0-P3 finding remains. Highest residual risk is physical-device iOS compositing beyond desktop WebKit emulation.", - "checks": "`verify:cheap` PASS (393 files; 3519 passed / 2 skipped); focused Therapy and dashboard production WebKit PASS; `verify:ui` PASS (314/314); `verify:pr-local` PASS including production build/client-secret scan and 36-case offline RAG fixtures; no live provider-backed checks." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "9867f72eddf51e25322028af6ff232dba3560871", + "scope": "PR #1482 post-#1441 ledger-only salvage", + "outcome": "No findings; duplicate implementation dropped and only four resolved issue records remain", + "checks": "diff vs origin/main two docs files; outstanding-issues PASS; branch-review-ledger PASS; main implementation byte-identical" }, { - "date": "2026-07-27", - "ref": "`codex/phone-bottom-band-root-20260727`", - "head": "cc63ee90928d402eb9c5dd241e411ed88cc01f27", - "scope": "Hosted Applications search hydration follow-up review", - "outcome": "APPROVE. The final hosted Chromium failure was a test synchronization race: server-rendered content was visible before the controlled global-search input had its React onChange handler, so hydration could discard an immediate fill. Both shared-search tests now wait for the React handler and assert the accepted value before checking filtering. No product behavior changed and no P0-P3 finding remains.", - "checks": "Exact locked Next 16.2.11 / Playwright 1.61.1 production Chromium repeat PASS (20/20); `verify:cheap` PASS (25 gates; 393 files; 3519 passed / 2 skipped); no non-GitHub provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1298 / `cursor/fix-p2-audit-clean-9957`", + "head": "986ffd28d493c8daf7d900bc65a3cdab3aca496e", + "scope": "Clean rebuild onto main for secret-scanner history", + "outcome": "Rebuilt unique product delta onto origin/main as a single clean commit so Gitleaks/GitGuardian no longer scan historical false-positive fixtures (offline postgres URI, sb_secret_ test key). Product behaviour unchanged from prior tip.", + "checks": "patch apply clean; prior focused Vitest green; no provider checks." }, { - "date": "2026-07-27", - "ref": "`codex/phone-chrome-testing-infra-20260727`", - "head": "f50bb000cd9addf98086cfccc07e25aa327be022", - "scope": "Protected-main release-readiness review of phone-chrome testing infrastructure", - "outcome": "APPROVE pending exact-head hosted required checks. Added installed-lock parity, risk-scoped phone verification, one-owner and atomic geometry helpers, stable chrome diagnostics, physical iPhone acceptance guidance, and a fail-closed final merge audit. The full Chromium run exposed a stale endpoint assertion while chrome changed the document range; the test now re-converges the endpoint without weakening its one-pixel contract. Current `origin/main` merged cleanly; its new Playwright matcher is mockup-only and does not alter the tested production project. No P0-P3 finding remains. Residual acceptance risk is physical Safari and cold-launch PWA paint, which was not available locally.", - "checks": "`verify:phone-chrome` PASS: contracts 91/91, focused phone journeys 12/12, full Chromium 323/323; exact repaired differential journey 1/1; Prettier, ESLint, typecheck, full unit 396 files / 3,554 passed / 2 skipped, production build/client-secret scan, offline RAG fixtures 36 cases, and `git diff --check` PASS; no live provider-backed app checks." + "date": "2026-08-05", + "ref": "claude/design-system-1616-colors-aw538h", + "head": "98b65ae9f222e621da8b5bca75d0b0f25d05ca09", + "scope": "prlanded", + "outcome": "merged, squash 98b65ae verified content-identical to branch tip e66ecaa (empty diff)", + "checks": "vitest ckb-v2-token-contract (26 passed), vitest pwa-manifest (11 passed), live Playwright render check, CI green (pr-required)" }, { - "date": "2026-07-27", - "ref": "`codex/phone-footer-paint`", - "head": "e1657a4a4e3e25b4a35a1dcf544b3efddb123c3f", - "scope": "Protected-main release-readiness review of phone footer safe-area paint", - "outcome": "APPROVE. The prior footer remained visually opaque because its normal/fallback terminal tints reached 72-90%, all blur masks painted through the physical edge, and hidden WebKit paint had no explicit terminal visibility state. The shared dock now has bounded localized tint, transparent gradient/mask terminals, an 88% pill, and delayed `visibility: hidden` synchronized to the 240ms exit; reduced-motion hides immediately. Therapy and calculator ownership prove the standard shared behavior. No P0-P3 finding remains. Highest residual risk is physical iOS momentum/compositor behavior beyond local WebKit emulation.", - "checks": "`verify:cheap` PASS (393 files; 3518 passed / 2 skipped); focused Therapy Chromium + WebKit PASS; calculator shared-dock Chromium + WebKit PASS; `verify:ui` PASS (314/314); `verify:pr-local` PASS including production build/client-secret scan and 36-case offline RAG fixtures; no live provider-backed checks." + "date": "2026-08-14", + "ref": "PR-1953", + "head": "98b7458ba7ef4cecc5b5f5747deccf6adbab0480", + "scope": "scripts/run-playwright.mjs; docs/branch-review-records", + "outcome": "no PR-introduced P0-P2 defect; corrected prior local-only merge record and merged latest main", + "checks": "manual adversarial review; current thread verification; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; focused Playwright/Next build unavailable (node_modules absent)" }, { - "date": "2026-07-27", - "ref": "`codex/publish-document-nav-20260727` (PR #1278)", - "head": "71d442e7921c36fe036128207c9925484a908fd0", - "scope": "Protected-main review of preserved cleanup records, reusable review prompts, and document navigation mockups", - "outcome": "APPROVE pending final exact-head hosted required checks. The unique preserved work was transplanted onto current `origin/main`; stale phone-chrome and unsafe 15-minute lock-expiry patches were excluded. The first hosted static run found arbitrary mockup font sizes, which were replaced with the established named type-scale tokens. Review found no remaining P0-P3 issue and no retrieval, clinical-output, provider, or production-route behavior change.", - "checks": "Flight plan, Prettier, docs index/scripts/links, sitemap, branch-ledger, type-scale, icon-scale, brand, design-system, and `git diff --check` PASS; hosted build, static, unit coverage, advisory mockup UI, safety, policy, Semgrep, and secret checks PASS on reviewed head; Production UI pending at ledger append; local heavy gates deferred behind legitimate shared exclusive owners; no non-GitHub provider-backed checks." + "date": "2026-08-08", + "ref": "claude/document-viewer-optimization-tu8tnj", + "head": "98b799a372b1e341c86e8807d5cf37e987413e49", + "scope": "document viewer phone/PWA rework: CSP-blocked native reader removed, one toolbar, fit-mode pinch, canvas pixel budget, source-first phone order, in-window detail-refetch guard, pdf.js on-demand fetch + teardown, image/signed-URL wins", + "outcome": "ship: PR #1741", + "checks": "lint, typecheck, test 5625 pass (1 pre-existing root-container failure), build, check:rag:fixtures, check:bundle-budget 1499.8 KiB vs base 1500.0 KiB, check:runtime, check:installed-lock-parity, format:changed; verify:ui not run (container Chromium 141 cannot raster pdfjs 6, see #278)" }, { - "date": "2026-07-27", - "ref": "`codex/remaining-safe-fixes-20260727`", - "head": "37c1fd9a10fc953013ef9bdbcff9d2bad681dab4", - "scope": "Protected-main review of focused document-search timeout and reconciliation evidence", - "outcome": "APPROVE. The staging tenancy failure was reproduced against the 750 ms federated timeout, then fixed by restoring the historical 6,000 ms budget only when documents are the sole requested domain; multi-domain requests retain the 750 ms cap. The diff does not change retrieval, ranking, ordering, aliases, scores, ownership, or selected results. Current canary, production-content, staging-boundary, and migration-gap evidence is recorded without overstating the remaining browser or schema work. No P0-P3 finding remains. Residual operational risk is the exact 23-migration staging reconciliation and post-merge tenancy proof.", - "checks": "Red/green fake-timer contract PASS; focused search/RAG tests 77/77; offline RAG 36 cases / 309 tests PASS; production-readiness READY (8 PASS, two isolated-checkout file warnings); `verify:cheap` PASS (25 gates); `verify:pr-local` PASS (393 files, 3,526 passed / 2 skipped, production build/client-secret scan, 36 offline RAG fixtures); no new live RAG dispatch or OpenAI spend." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "98dd14853e262cd3073db3974b92f266b33289fb", + "scope": "Resolve residual P2s from Cursor review closeout", + "outcome": "Cleared residual P2s: deleted unused public AVIF/WebP orphans; replaced year-long immutable `/icons/*` Cache-Control with `max-age=86400, stale-while-revalidate=604800`; removed `minimumCacheTTL: 86400` (keep Next default 60s). Contract covered in pwa-manifest test. NOT LANDED (OPEN).", + "checks": "pwa-manifest + signed-image vitest 13/13; no provider-backed checks." }, { - "date": "2026-07-27", - "ref": "`codex/retire-bot-branch-sync-20260727`", - "head": "1f391140066ed6b677812a384f60e175c069fd47", - "scope": "Protected-main review of #082 PR branch-sync reliability", - "outcome": "APPROVE. Removed the automatic `GITHUB_TOKEN` update workflow that repeatedly created bot-authored heads with required checks awaiting approval. The replacement remains operator-only and dry-run by default, fixes the helper's raw-text/JSON repository parsing defect, verifies apply identity, and refuses missing or bot identities before any mutation. The ordinary GitHub Actions check rejects direct API/CLI updates and indirect apply-helper invocation from workflows. Guidance and the durable ledger agree. No P0-P3 finding remains.", - "checks": "`check:github-actions` PASS with direct/indirect self-tests; operator dry-run PASS across 8 open PRs with zero updates; focused helper contracts 7/7 PASS; docs index/scripts/links PASS; `verify:cheap` PASS before final helper hardening; exact final `verify:pr-local` PASS (393 files, 3,530 passed / 2 skipped, offline RAG fixtures; build correctly skipped); no provider mutation, OpenAI request, or live RAG spend." + "date": "2026-08-10", + "ref": "PR #1788 / codex/chat-contextual-back-answer-cache-05ea-1", + "head": "98dd877ab4bd41e169310004c3b91aa4780d3772", + "scope": "Run PR sweep", + "outcome": "before: Production UI (2) failed on Breadcrumb/Medications selector; after: use Back to medications aria-label + contract guard; disposition Codex/Sentry/CodeRabbit threads; merged origin/main", + "checks": "vitest in-page-nav-contract+answer-thread-storage 19p; format; merge-tree clean" }, { - "date": "2026-07-27", - "ref": "`codex/settings-followup`", - "head": "806fcc4c3167d9e2f9fbd832c39e53d3491f270a", - "scope": "Protected-main release-readiness review of settings follow-up browser reliability", - "outcome": "APPROVE. The test-only diff waits for one settled React owner before strict answer/search interactions, makes universal-search mocks echo the requested query, and retries scroll-to-live-endpoint geometry after late dock layout. Review found no P0-P3 issue and no product, retrieval, ranking, clinical-output, or provider behavior change. Highest residual risk is physical iOS/WebKit behavior outside local Chromium coverage.", - "checks": "Focused integrated production Chromium PASS (5/5); exact integrated-head `verify:pr-local` PASS (runtime, formatting, lint, typecheck, 393 files, 3,538 passed / 2 skipped, 36 offline RAG fixtures); `verify:ui` PASS (323/323); `git diff --check` PASS; no non-GitHub provider-backed checks." + "date": "2026-07-24", + "ref": "remediate-audit-system-issues (PR #1160)", + "head": "992ebefa296d6894d5448c1381f1b0b95580e529", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "supersedes prior #1160 row: final HEAD after prettier site-map; merge origin/main clean; stale sitemap fixed; no threads", + "checks": "vitest site-map pass; sitemap:check pass; no provider-backed checks run" }, { - "date": "2026-07-27", - "ref": "`codex/settings-ux`", - "head": "57b64668835269e7931b81ef9bbab5a8c7494c87", - "scope": "Protected-main release-readiness review of responsive settings UX", - "outcome": "APPROVE. The settings sheet now keeps clinical fields stacked through phone and tablet widths, uses one responsive dismiss control, consolidates account context, and replaces repeated inactive copy with shared accessible section notes. Focused review found no P0-P3 issue and no retrieval, ranking, clinical-output, or provider behavior change. Residual risk is physical iOS Safari rendering, which was not available locally.", - "checks": "`workflow:design-sweep -- --write-evidence` PASS; focused ESLint and typecheck PASS; targeted settings production Chromium PASS; `verify:cheap` PASS (25 gates; 393 files; 3,538 passed / 2 skipped); exact integrated-head `verify:pr-local` PASS (runtime, formatting, lint, typecheck, 3,538 passed / 2 skipped, production build/client scan, offline RAG fixtures); `verify:ui` 322/323 PASS with one unrelated desktop stress timeout, then the exact failed stress journey PASS 1/1 in isolation; `git diff --check` PASS; no non-GitHub provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "9997ac9944e7e67135570cd86cc056da5d84aa0a", + "scope": "Ledger hygiene closeout", + "outcome": "SUPERSEDES prior placeholder tip row. Dropped 1 exact-duplicate #1306 record from merge=union; motion/a11y product tip unchanged (`68b3d1de` + main sync).", + "checks": "check:branch-review-ledger PASS; awaiting exact-head hosted CI; no provider checks." }, { - "date": "2026-07-27", - "ref": "branch-cleanup aged and closed-ref batch", - "head": "multi-head", - "scope": "branch-cleanup", - "outcome": "REMOVED. Deleted 36 clean branch-backed worktrees older than 72 hours while retaining their refs, then deleted 16 old temporary or exact closed-PR local refs and 11 exact closed-PR remote refs after verified recovery bundles. Restored and retained one permission-locked Antigravity worktree; retained all dirty, open-PR, recent, archive/preserve, secret-bearing, high-risk, divergent, detached, or potentially useful UI refs.", - "checks": "Fresh GitHub open/all/closed PR inventories; 72-hour creation/closure cutoff; exact tip checks; four verified incremental bundles for 21 refs in this pass; no force worktree removal, application tests, or provider-backed application workflows run." + "date": "2026-07-30", + "ref": "PR-1495", + "head": "99c62cf3bd6f2a47d13b6602d54de1f8f73123e1", + "scope": "PR #1495 hydration documentation correction", + "outcome": "approved after correcting unrelated issue #101 label and appending a resolvable landed-SHA hydration review record; content consolidated into PR #1490", + "checks": "outstanding-issues and ledger guards previously passed; documentation-only diff reviewed; no provider checks required" }, { - "date": "2026-07-27", - "ref": "branch-cleanup exact merged-head batch", - "head": "multi-head", - "scope": "branch-cleanup", - "outcome": "REMOVED. Deleted 30 additional clean worktrees and 34 additional local branches whose exact tips matched GitHub merged PR head records. Preserved the newly merged `codex/settings-ux` worktree under a recent-work grace rule, along with all checked-out, dirty, open-PR, closed-unmerged, secret-safeguarded, process-locked, or unmatched refs.", - "checks": "GitHub merged/open PR head inventory; exact OID match immediately before removal; no force worktree removal; no application tests or provider-backed application workflows run." + "date": "2026-08-13", + "ref": "PR #1889 post-merge verification (supersedes inaccurate PR #1921 record)", + "head": "9a0a00be33dedb01e9d59e81f42225cc6f9d3939", + "scope": "therapy-compass filter contract and rollout chronology", + "outcome": "Verified current main: #1889 introduced the live therapy convergence and #1885 later merged an identical tree; #1878 introduced services and #1882 later merged an identical tree. Shared therapy filter semantics are coherent. The #170 completion is already queued on main; registry serialization coverage remains tracked separately.", + "checks": "GitHub merge times and tree SHAs; current-main source review" + }, + { + "date": "2026-08-18", + "ref": "claude/db-remediation-board-d4-2026-08-19", + "head": "9a299d2259765bb7f46b3e0670d9e0ac9b864ae1", + "scope": "docs/database-remediation-coordination.md board update after #2123 (#316, D4)", + "outcome": "coordinator self-review: docs-only, verified against main 3bb34a579 and forensics 3.7", + "checks": "prettier --check pass; docs:check-links pass" }, { - "date": "2026-07-27", - "ref": "branch-cleanup merged/equivalent batch", - "head": "multi-head", + "date": "2026-07-31", + "ref": "PR-1510", + "head": "9a52fc6c01ee681ef9608b4f4fb37b30b1314683", + "scope": "remaining reviewed session follow-ups after PR-1511 sync", + "outcome": "no actionable findings; retained PR-1511 lesson and renumbered colliding token finding to 157", + "checks": "outstanding-issues, branch-review-ledger, design-system-contract, docs links/scripts/index, changed-format, diff-check, typecheck, focused eslint" + }, + { + "date": "2026-07-30", + "ref": "origin/circleci-project-setup", + "head": "9a55990053e26c02703b1ec9f2523a7c85e21e14", "scope": "branch-cleanup", - "outcome": "REMOVED. Deleted 63 clean inactive worktrees, 64 local branches, and 2 remote branches only after `origin/main` ancestor or cherry-pick-equivalence proof. Retained the primary/current branches, all open-PR heads, 42 dirty worktrees, patch-unique or ambiguous refs, two secret-safeguarded worktrees, and two process-locked worktrees restored after removal refusal.", - "checks": "Fresh `git fetch --prune origin`; reconciliation preflight 209 worktrees / 42 dirty / 0 active Git operations / 0 matching worktree Node processes; verified incremental recovery bundle for 20 non-ancestor equivalent refs; no application tests or provider-backed application workflows run." + "outcome": "REJECTED and deleted remote. Unique tip only changed trailing newline on obsolete .circleci hello-world config; CircleCI removed from main in PR #1412. No open PR.", + "checks": "fetch --prune; three-dot + tip inspect; gh pr list open=0; main has no .circleci; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-27", - "ref": "open-PR recommendation implementation (Cursor)", - "head": "multi-head", - "scope": "Implement review recommendations safely", - "outcome": "CLOSED #1261/#1262/#1263 without merge (unsafe audit lineage). Pushed fixes: #1273 type-scale + phone-frame scroll + PriorityDock selection; #1275 prefetch source-contract tighten; #1280 rail MutationObserver + main sync; #1281 StepBuilderCard completeness + clipboard draft test (automerge temporarily disabled to land polish). Opened #PDF-137 salvage branch for exit-code 137. Dependabot #1267-1269 left HOLD — workflow approve/update-branch 403 for this integration token; no merge to main.", - "checks": "type-scale strict PASS; focused Vitest safety-plan 3/3 and prefetch contract 1/1 and band 9/9; PDF extractor pymupdf tests skipped in this VM; no provider-backed checks; no main merges." + "date": "2026-08-08", + "ref": "claude/document-viewer-optimization-tu8tnj", + "head": "9a5f79ab133c6ab9ea2a47e93b0101df8db44607", + "scope": "docs-only: one outstanding-issues row (#285) recording the lowercase authorizationHeader trap surfaced by PR #1741 review", + "outcome": "ship: PR #1754", + "checks": "check:outstanding-issues (283 rows, unique ids, next-id above highest), prettier --check on the changed file; no source touched so lint/typecheck/test/build have no changed failure path" }, { "date": "2026-07-27", - "ref": "open-PR review + Bugbot sweep (Cursor)", - "head": "multi-head", - "scope": "Fresh review of all open PRs + pr-bugbot on each head", - "outcome": "Reviewed 10 open PRs after #1277 merged. No hosted `cursor[bot]` Bugbot comments existed on any PR; ran repo `pr-bugbot` triage per head instead. Cluster: close #1261/#1263 (unsafe audit lineage); salvage/rebuild only thin #1262 bits; hold Dependabot #1267→#1268→#1269 pending workflow approval; fix #1273 type-scale + mockup UX before design trust; sync #1275 and restore ledger from main; #1280 blocked by unrelated Loading-answer strict-mode flake; #1281 sound clinical follow-up with two P2 polish items.", - "checks": "merge-tree classification; gh PR/CI/thread inventory; pr-bugbot review-only agents; no provider-backed checks; no PR mutations." + "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", + "head": "9aa0416313addaa9fc3a850c699b0e51f3a14c6c", + "scope": "Hosted Production UI split-owner and hydration follow-up", + "outcome": "APPROVE pending fresh exact-head hosted checks. The retained CI traces proved the calculator footer and frame header could independently accept or reject the same scroll event under slower RAF scheduling. Page-owned calculator chrome now consumes the frame's authoritative hide decision, with local reporters only as a shell-less fallback. A separate desktop smoke timeout filled a controlled input before React attached `onChange`; the shared fill helper now establishes that handler boundary before all 16 answer journeys. No assertions were relaxed and no P0-P3 finding remains. Residual acceptance risk remains physical Safari and cold-launch PWA paint, which was not available locally.", + "checks": "Final `verify:phone-chrome` PASS: installed/lock parity, runtime, contracts 92/92, focused phone journeys 12/12, full Chromium 323/323; exact two calculator regressions plus desktop hydration journey PASS 3/3; Prettier, typecheck, production builds, and `git diff --check` PASS; no non-GitHub provider-backed checks." }, { - "date": "2026-07-27", - "ref": "PR #1261 / `apply-audit-system-remediation`", - "head": "b4dae8469024", - "scope": "Bugbot + merge-tree review", - "outcome": "DO NOT MERGE / CLOSE. Same `faa50e6e` dirty-checkpoint lineage as closed #1255/#1253; 526 behind; 18 real merge-tree conflicts including answer API/ClinicalDashboard/evidence. Confirmed Codex P1: tip adds unconditional `out_of_corpus` short-circuit that main deliberately avoids. PR policy missing RAG/governance.", - "checks": "merge-tree; tip vs main RAG guard compare; unresolved-thread validation; no provider checks." + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "9ac401fd3f9997c1a18c83dc2e5190ff02fcad63", + "scope": "CI babysit re-request", + "outcome": "FIXED drift. Hosted required checks already green on prior tip `10157dec`; GitHub DIRTY was staleness (merge-tree CLEAN, 31 behind). Merged origin/main cleanly; unique delta unchanged (mockup h3→h2 + diagnosis-detail S: clone locator). Bugbot: 0 unresolved cursor[bot] threads; no P0/P1.", + "checks": "Prior hosted Production UI/PR required PASS on `10157dec`; merge-tree CLEAN; prettier check PASS; no provider-backed checks." }, { - "date": "2026-07-27", - "ref": "PR #1261/#1262/#1263 audit cluster", - "head": "closed tips", - "scope": "Close without merge", - "outcome": "Closed per review: unsafe lineage / tip markers / privacy+RAG P1s / parallel verify:cheap rewrite. Thin PDF exit-137 salvage opened separately.", - "checks": "Prior Bugbot + merge-tree evidence; no provider checks." + "date": "2026-08-04", + "ref": "pull/1602", + "head": "9b2c45c3f10ee7440e7450da7179a390dfbdf4c0", + "scope": "Run PR sweep full changed scope", + "outcome": "merged", + "checks": "PASS: dependency audit, build, coverage, static, Lighthouse, provider-free container smoke, HIGH/CRITICAL scan, SAST, Secret Scan and PR required." }, { - "date": "2026-07-27", - "ref": "PR #1262 / `perform-audit-system-remediation`", - "head": "0a1fd57b2b6a", - "scope": "Bugbot + merge-tree review", - "outcome": "CLOSE or REBUILD (narrow cherry-pick). Only 3 merge-tree conflicts but tip unsafe: GitGuardian FAIL, parallel `verify:cheap` rewrite drops installed-lock-parity, zero-valued preflight limits skipped. Salvage candidates: therapy-compass `@layer`, PDF extractor code 137, visual maxDiffPixelRatio. ISSUE-01 RAG claim not in commits.", - "checks": "merge-tree; tip file inspect; CodeRabbit/Codex thread validation; no provider checks." + "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-07-27", - "ref": "PR #1263 / `implement-audit-design-fixes`", - "head": "dda4a42baa34", - "scope": "Bugbot + merge-tree review", - "outcome": "DO NOT MERGE / CLOSE. Same unsafe lineage; tip carries literal conflict markers; route-group file-location conflicts; confirmed P1s persist raw clinical query offline and drain offline queue without owner binding. Rebuild empty/error states on main under `(search-app)/` if still needed.", - "checks": "tip marker grep; merge-tree; Codex P1 validation; no provider checks." + "date": "2026-08-18", + "ref": "claude/therapy-modes-visibility-bb37d2", + "head": "9b4b3056b1f4ef7355e8947d6b210dee63de182e", + "scope": "Therapy production visibility: remove devOnly gate, route-layout not-found gate and production review filter; add catalogue review notice + needsReviewCount; retire PLAYWRIGHT_OFFLINE_MODE bypass; update pinning contracts", + "outcome": "Approved — reachability now disclosed rather than gated; per-record reviewStatus badges retained on every surface; single-commit revert restores all three gates", + "checks": "verify:pr-local (docs/ledger/lint/typecheck passed; test failed only on unrelated load-flaky tests/codex-cloud-setup.test.ts, which passes in isolation at HEAD and with the change); build from wiped .next compiled successfully with all 9 therapy routes; check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report passed; focused therapy+route-reachability contracts 77 passed; eslint+tsc clean; dev-server route 200s. verify:ui not run - coordinator heavy lock held by another worktree" }, { - "date": "2026-07-27", - "ref": "PR #1267 / `dependabot/github_actions/...`", - "head": "fdc6bdf5e235", - "scope": "Bugbot review", - "outcome": "HOLD then MERGE after workflow approval. Pin `anthropics/claude-code-action` b76a077→be7b93b (v1.0.183) SHA matches annotated tag. merge-tree CLEAN; required CI awaiting Dependabot approval.", - "checks": "pin/tag verify; merge-tree; no provider checks." + "date": "2026-07-14", + "ref": "PR #666 / codex/release-blocker-remediation", + "head": "9b56eebe4b23ab783207445fb827c317c8d59be8 + reviewed follow-up diff", + "scope": "review-followup", + "outcome": "One late P2 retrieval-contract gap was confirmed: the optimized agitation query retained IM/PO but could drop other already-supported amount, route, and frequency aliases. Medication evidence intent is now shared with retrieval selection, and focused agitation queries preserve requested numeric units, SC, SL, PRN, and frequency signals without restoring the broad ten-term expansion.", + "checks": "GitHub review-thread inspection; focused clinical-search/retrieval Vitest 112/112; scoped ESLint; Prettier; `git diff --check`. Hosted final-head TypeScript/build/CI and exact-head staging evidence remain required after push." }, { - "date": "2026-07-27", - "ref": "PR #1268 / `dependabot/npm-production/...`", - "head": "7a433befca9d", - "scope": "Bugbot review", - "outcome": "HOLD then MERGE after approval + green CI (highest Dependabot risk). Patch bumps next/react/supabase/openai/lucide; lockfile integrity-only; no engine break.", - "checks": "package.json/lock diff scan; merge-tree CLEAN; no provider checks." + "date": "2026-07-28", + "ref": "PR #1316 / `claude/top-search-design-mockups-w53znc`", + "head": "9bace1d1b359df5c9a87c40be1e374a89976fd2a", + "scope": "CI/review closeout: #024 prose, favourites counts, therapy retry settle", + "outcome": "FIXED open threads. CodeRabbit #024 contradiction corrected in prose (item stays open). Codex favourites counts suppressed until trusted. Codex therapy retry returns settling Promise + busy coverage. Merged latest main (clean). Bugbot: no P0/P1. Residual #091 partial-count trust; search-band onRetry still behind workspace error gate (workspace Retry uses loading).", + "checks": "full vitest 4229 passed / 4 skipped; typecheck; eslint touched; check:branch-review-ledger; Bugbot via pr-bugbot" }, { - "date": "2026-07-27", - "ref": "PR #1269 / `dependabot/npm-development/...`", - "head": "c9114439e6e6", - "scope": "Bugbot review", - "outcome": "HOLD; rebase after #1268. Playwright 1.61.1→1.62.0 is residual flake risk; prettier/eslint-config-next/@next/bundle-analyzer patches otherwise low risk.", - "checks": "package.json/lock diff; merge-tree CLEAN; no provider checks." + "date": "2026-07-30", + "ref": "codex/close-issue-127", + "head": "9bbb8486d399ed31b9bf43364579f466a4e66c67", + "scope": "archive issue 127 after post-fix runs", + "outcome": "approved: close condition satisfied with no post-fix recurrence", + "checks": "check:outstanding-issues; prettier check; diff check" }, { - "date": "2026-07-27", - "ref": "PR #1270 / `codex/fix-phone-bottom-edge-20260727`", - "head": "40d7cb1e4e934b47e96e9d7d8cea6a956472c12c", - "scope": "Final automated-review follow-up for phone chrome scroll ownership", - "outcome": "APPROVE. Three valid minor review findings were fixed: the latest scroll reporter now uses the commit-synchronized event-callback abstraction instead of mutating a ref during render; the 1024px focus regression proves bounded `main` ownership before and after scrolling; and paired answer geometry reads are ordered instead of raced. The component remains within its no-growth budget, visible edge geometry is unchanged, and no P0-P3 finding remains.", - "checks": "`verify:cheap` PASS (25 gates; 393 files; 3532 passed / 2 skipped); focused scroll contracts PASS (32/32); exact affected production Chromium journeys PASS twice (4/4 each); scoped ESLint, maintainability budget, Prettier, and `git diff --check` PASS; no non-GitHub provider-backed checks." + "date": "2026-08-15", + "ref": "codex/medication-info-header-20260814", + "head": "9c1bfe7154eb36e890b4d4e8d61d83da7ba6c926", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior focused medication-header review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-27", - "ref": "PR #1270 / `codex/fix-phone-bottom-edge-20260727`", - "head": "931f7cef632921b0e41d0368ad4e5fc117221498", - "scope": "Hosted Production UI hydration-settlement follow-up", - "outcome": "APPROVE pending fresh hosted required checks. The full hosted Chromium matrix exposed one missed strict-locator guard: `/forms` can briefly overlap its server and settled client mode-home trees during production hydration. The test now applies the same one-owner convergence assertion already used by the adjacent shared-home loop, so a transient duplicate waits while a persistent duplicate still fails. No product behavior or edge geometry changed, and no P0-P3 finding remains.", - "checks": "First hosted run: 322/323 Chromium journeys PASS with the sole `/forms` strict-mode duplicate; exact failed production journey PASS 10/10 after the guard; scoped ESLint, Prettier, and `git diff --check` PASS; fresh hosted required checks pending; no non-GitHub provider-backed checks." + "date": "2026-07-24", + "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", + "head": "9c373eb1c2308b298a4c3abe970e5db793854ee4", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger/codebase-index auto-merge); pushed 9c373eb1c. Threads: none. Residual: CI re-running.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-27", - "ref": "PR #1271 / `codex/config-reconciliation-current-20260727`", - "head": "3321c1eb1f2d1ac4294caf40e09a63b74fe1f713", - "scope": "Second automated-review follow-up for safe local fill targeting/reporting", - "outcome": "APPROVE. Two valid P2 findings were fixed: an explicit root must now carry the Database package identity before any fill, and fill mode applies file-only state solely to writable HMAC/probe gaps while preserving merged process/file truth for report-only provider rows and project identity. Tests cover an unrelated package root, caller-only fillable values, and caller-only provider reporting. Zero unresolved local findings remain.", - "checks": "Focused `tests/local-presence.test.ts` PASS (11/11); exact primary presence PASS; unrelated-root CLI rejection PASS; Prettier PASS; hosted required checks and automated review must rerun on this head before merge." + "date": "2026-07-24", + "ref": "`codex/supabase-document-change-trigger`", + "head": "9c7d9edf509a51478f5bebbabcca64e3926dc877 + reviewed working diff", + "scope": "Document-change ingestion trigger migration, schema mirror, grants, privacy and fail-safe delivery", + "outcome": "APPROVE. No P0-P2 finding. The trigger is update-only, acts solely on a strict JSON boolean false/absent-to-true transition, sends only the receiver's allowlisted owner-scoped fields, fails open for document writes when Vault/GUC/pg_net is unavailable, and revokes execution from public/anon/authenticated. No production URL fallback exists. Highest residual risk is deliberate pg_net at-most-once delivery; the clear-then-flip recovery and data-preserving rollback are documented, and the trigger remains inert until both the Vault secret and environment base-URL GUC are configured.", + "checks": "Disposable Supabase Postgres `17.6.1.127` schema replay and drift-manifest regeneration passed (16s; scratch container removed); focused schema/drift/receiver Vitest 89/89; migration-role, function-grant (30 SECURITY DEFINER functions) and owner-scope guards; production-readiness CI mode READY with expected secretless-worktree warnings; offline RAG 21 suites/307 tests; `verify:cheap` 365 files, 3,241 passed/1 skipped; static trace of receiver payload, authoritative owner-scoped reload and idempotent enqueue path. No live provider mutation or migration apply." }, { - "date": "2026-07-27", - "ref": "PR #1271 / `codex/config-reconciliation-current-20260727`", - "head": "ada836d167f6a03f2a6514d56d3aee6304c6276c", - "scope": "Automated-review follow-up for cross-worktree local fill persistence", - "outcome": "APPROVE. The P2 was valid: caller-only process secrets could hide missing target-file values during `--root --fill`. Fill mode now computes persistent gaps from target env files while project identity still uses the merged file/process view; report mode retains its existing process override behavior. A dedicated contract proves all caller-only fillable values remain target-file gaps. No other P0-P3 finding remains.", - "checks": "Focused `tests/local-presence.test.ts` PASS (10/10); exact primary `check:local-presence -- --root C:\\Dev\\Apps\\Database` PASS; Prettier + `git diff --check` PASS; earlier exact-tree `verify:cheap` and `verify:pr-local` remain the broad baseline; hosted required checks will rerun on this follow-up." + "date": "2026-08-22", + "ref": "PR #2265", + "head": "9cc40c783d06ec200fb55364085bde63a63646d1", + "scope": "full PR merge-safety review", + "outcome": "FIXED: formatting, loading-inventory evidence, mergeability workflow contract, and current-main snapshot blockers repaired; no unresolved findings", + "checks": "check:pr-mergeability PASS; check:outstanding-issues PASS; check:design-system-contract PASS; format:changed PASS; full unit 7404 pass/14 Windows-environment failures; merge-tree clean" }, { - "date": "2026-07-27", - "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", - "head": "130399c24334", - "scope": "Bugbot + CI diagnosis", - "outcome": "NOT READY. Static PR historically failed on 17 arbitrary `text-[Npx]` sizes (`check:type-scale --strict`). Confirmed mockup P2s: PhoneFrame no inner scroll; PriorityDock More loses selection; ProgressNavigator center wraps past last section. Mockups-only; fix tokens + UX before design review.", - "checks": "CI log + local type-scale mapping; Codex thread validation; no provider checks." + "date": "2026-07-30", + "ref": "PR #1396 / claude/latency-findings-impl-s8g01v", + "head": "9d03b84f1a32a056f74727b4e6bdd5558c346bf0", + "scope": "Babysit: resolve outstanding-issues after #1402/#1398", + "outcome": "FIXED CONFLICTING: took main open-table (widened cols + #109 refspec) and kept #116/#117 phone-chrome gaps (next-id=118). MERGEABLE expected. Codex P1s already fixed on tip and threads resolved. No Bugbot findings.", + "checks": "merge-tree clean; contract 28/28 earlier; verify:cheap on prior tip" }, { - "date": "2026-07-27", - "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", - "head": "f6964aeb", - "scope": "Implemented review fixes", - "outcome": "Type-scale tokens, phone-frame inner scroll, PriorityDock overflow selection. Rebased onto concurrent tip.", - "checks": "`check:type-scale --strict` PASS; no provider checks." + "date": "2026-07-13", + "ref": "claude/enable-automation", + "head": "9d07419ab27c5b51b2264ef208aa260448393ea2", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #604.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "191707ee", - "scope": "CodeRabbit malformed-ledger-row disposition", - "outcome": "DISPOSITIONED / not actionable on this PR. MD056 cell-count warnings on ~700-722 are identical on origin/main. Fix belongs in dedicated main ledger hygiene if desired.", - "checks": "cell-count scan main vs tip; check:branch-review-ledger PASS; no provider checks." + "date": "2026-07-13", + "ref": "origin/claude/enable-automation", + "head": "9d07419ab27c5b51b2264ef208aa260448393ea2", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #604.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "24605b57e288", - "scope": "Bugbot + merge-tree review", - "outcome": "NOT READY. Prefetch product change looks auth-safe/correct. GitHub DIRTY is staleness (merge-tree CLEAN). Blockers: ledger rewrite/corruption (~95 historical rows) + incomplete required CI. Sync main, restore ledger from origin/main, append one row, then recheck.", - "checks": "merge-tree CLEAN; ledger byte/corruption inspect; unresolved Codex/CodeRabbit threads; no provider checks." + "date": "2026-07-30", + "ref": "codex/chat-prompt-skill-review-e608", + "head": "9d0a51671e2fa808fda7026865530825c2db9fed", + "scope": "Codex prompt-perfector skill", + "outcome": "P1 unsupported isolation mechanism; P2 implicit evaluation lacks authority controls; P2 prompt handling and output contract drift from the repo prompt workflow", + "checks": "Static current-tree review; npm run check:skills PASS (33 canonical, 8 aliases); no provider-backed checks" }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "6c544c16", - "scope": "Implemented review follow-up", - "outcome": "Prefetch contract now requires both `openModeMenuWithFocus` and `toggleModeMenu` bodies. Prior tip already restored ledger + synced main.", - "checks": "Focused Vitest prefetch contract PASS; no provider checks." + "date": "2026-08-07", + "ref": "claude/search-bar-mobile-layout-buu0io", + "head": "9d64388c0ce530d0c20bb7efe8ffb32cd928319c", + "scope": "phone results-filter idiom: 7 modes off MobileResultFilterControl onto ResultFilterTrigger + ResultFilterSheet; band, docs, tests", + "outcome": "changes-shipped", + "checks": "typecheck; lint; test 5538 passed (1 pre-existing pr-handoff-stop failure, baselined on unmodified tree); build; check:rag:fixtures; check:bundle-budget +6.3% within tolerance; targeted Playwright: ui-accessibility 16, ui-specifiers+ui-formulation 12, ui-tools 5, ui-smoke 2, ui-stress 3" }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "81005d18", - "scope": "Codex mojibake-ledger disposition", - "outcome": "RESOLVED. Historical rows restored byte-for-byte from origin/main; append-only thereafter.", - "checks": "exact prefix check; check:branch-review-ledger PASS; no provider checks." + "date": "2026-08-21", + "ref": "claude/github-comment-resolution-pr-77klg5", + "head": "9d8a03f1ea8f7ff00b5a9766476593c0271315db", + "scope": "prlanded", + "outcome": "merged clean, content diff empty, no orphaned commits", + "checks": "PR required, Static PR checks, PR policy, PR mergeability, Change scope, Gitleaks, Semgrep, GitGuardian — all green on head" }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "82c17f76", - "scope": "Mode-switch prefetch review + merge restore", - "outcome": "Prefetch mode homes on menu open; later reconciled with main per-option prefetch. Ledger restored append-only from main after mojibake rewrite.", - "checks": "Focused nav tests; check:branch-review-ledger; no provider checks." + "date": "2026-07-30", + "ref": "PR-1436", + "head": "9d8e081f3e7003d4f2210b00a7b7e54bf7ca2f0b", + "scope": "PR #1436 documentation organization and link repair", + "outcome": "fixed stale no-driver wording and renumbered three union-collided issue records; no remaining findings", + "checks": "docs index, links, scripts, outstanding-issues, and ledger guards pass" }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "bc5b51c2", - "scope": "CodeRabbit duplicate-ledger disposition", - "outcome": "DISPOSITIONED / not actionable as a PR product delete. Near-duplicates already exist on origin/main as non-identical historical records; check:branch-review-ledger passes on main. Removing main-owned history from a feature PR would violate append-only.", - "checks": "substring counts on origin/main; ledger guard PASS; no provider checks." + "date": "2026-08-07", + "ref": "cursor/ship-first-redesign-mockups-2398 (PR #1654)", + "head": "9d9eb0be47073a7f051a5885359b82f2ff978a85", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-27", - "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", - "head": "f4b55751", - "scope": "CodeRabbit behavioral prefetch-test disposition", - "outcome": "RESOLVED. Behavioral DOM coverage for menu-open prefetch paths (later adapted to per-option model).", - "checks": "focused vitest PASS; no provider checks." + "date": "2026-07-29", + "ref": "agent/document-topbar-actions (PR #1381)", + "head": "9da8ccfb19ff81b876a9bfff4e6b5870641e44d8", + "scope": "PR #1381 CI triage", + "outcome": "merged via squash auto-merge after main sync; all required checks green; no product code fix; no Bugbot/review threads", + "checks": "hosted CI pr-required pass; Production UI pass; CircleCI pass; lint; typecheck; document-viewer-shell.dom; Bugbot none" }, { - "date": "2026-07-27", - "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", - "head": "9aa0416313addaa9fc3a850c699b0e51f3a14c6c", - "scope": "Hosted Production UI split-owner and hydration follow-up", - "outcome": "APPROVE pending fresh exact-head hosted checks. The retained CI traces proved the calculator footer and frame header could independently accept or reject the same scroll event under slower RAF scheduling. Page-owned calculator chrome now consumes the frame's authoritative hide decision, with local reporters only as a shell-less fallback. A separate desktop smoke timeout filled a controlled input before React attached `onChange`; the shared fill helper now establishes that handler boundary before all 16 answer journeys. No assertions were relaxed and no P0-P3 finding remains. Residual acceptance risk remains physical Safari and cold-launch PWA paint, which was not available locally.", - "checks": "Final `verify:phone-chrome` PASS: installed/lock parity, runtime, contracts 92/92, focused phone journeys 12/12, full Chromium 323/323; exact two calculator regressions plus desktop hydration journey PASS 3/3; Prettier, typecheck, production builds, and `git diff --check` PASS; no non-GitHub provider-backed checks." + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "9dc3891ee8bc30a35fdb203607cdd984d3a24cc3", + "scope": "calculator command-surface P1/P2 follow-up: suggestion submit and footer ownership docs", + "outcome": "Fixed P1/P2 — selected calculator suggestions pass their exact text into navigation; chrome ownership docs no longer describe calculators as page-owned footers", + "checks": "manual control-flow review; focused DOM regression added; git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed; focused Vitest blocked: node_modules/vitest absent" }, { - "date": "2026-07-27", - "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", - "head": "a2331fc8d1883d687d0bbb6e1b023503ab5deb1d", - "scope": "Automated-review follow-up for changed Playwright journey selection", - "outcome": "APPROVE pending fresh exact-head hosted checks. The P2 was valid: fixed title filters could omit a modified journey while the planner still reported focused coverage. Changed phone-chrome Playwright specs now run completely without `--grep`; the title-filtered matrix remains only for relevant unchanged specs, preserving focused-first feedback without hiding edited tests. Regression cases cover both `ui-phone-scroll` and `ui-tools`. No other P0-P3 finding remains.", - "checks": "Focused `tests/verify-phone-chrome.test.ts` PASS (7/7); smart-plan dry run selects complete changed specs before the risk-selected full UI suite; Prettier and `git diff --check` PASS; fresh hosted required checks must rerun on this head." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "9dff07f85bcce7822eb2b2701b82a80d1e0a145e", + "scope": "PR #1482 Docker-context CI repair", + "outcome": "No findings; hosted ENOENT fixed without weakening effective parity", + "checks": "hosted app-image log inspected; normal 150/150 PASS; Docker-context 50/50 PASS; Docker-context 50/40 rejected" }, { - "date": "2026-07-27", - "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", - "head": "d6d76f9b61479997f747ddd45767d81b851e207c", - "scope": "Exact-main sync review after hydrated-interaction test hardening", - "outcome": "APPROVE pending fresh exact-head hosted checks. Current `origin/main` merged with one test-only overlap in the differential compare endpoint journey. The resolution preserves main's handler-readiness guard and 15-second live-endpoint convergence while keeping the feature branch's atomic document-owner assertion. Main's remaining hydrated-interaction changes merged automatically; no production component, phone geometry, or retrieval behavior conflicted. No P0-P3 finding remains.", - "checks": "Pre-sync `verify:phone-chrome` PASS: 92/92 contracts, 12/12 focused phone journeys, 323/323 full Chromium; post-sync exact resolved production differential journey PASS 1/1; production build/TypeScript and `git diff --check` PASS; hosted required checks pending." + "date": "2026-07-14", + "ref": "codex/dsm-main-integration-20260714", + "head": "9e013894b2e45d6be39af1ef4593a14604886476", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-27", - "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", - "head": "e1add338ae6b138ded13c44f5cc8f7eef5302669", - "scope": "Automated-review follow-up for required-check selection in the final merge audit", - "outcome": "APPROVE pending fresh exact-head hosted checks. The P1 was valid: the audit selected the required aggregate but incorrectly treated every advisory status as merge-blocking. Unsettled-state validation now applies only to the required aggregate, while missing or unsuccessful `pr-required` still fails closed. A regression snapshot proves a failed Advisory UI job cannot block a successful required aggregate. No other P0-P3 finding remains.", - "checks": "Focused `tests/final-merge-audit.test.ts` PASS (7/7); Prettier and `git diff --check` PASS; earlier exact-tree `verify:phone-chrome` remains the browser baseline because this follow-up changes only the audit validator and its unit test; hosted required checks must rerun on this head." + "date": "2026-08-08", + "ref": "cursor/forms-info-disclosure-68d6 (PR #1735)", + "head": "9e1390d73ebbae0bbfc0f81bf3b3921dadf24577", + "scope": "heavy review-and-fix", + "outcome": "CONFLICT merge-tree on docs/design-system/adoption-manifest.json resolved by regenerating (DisclosureGroup form-detail import + main documents/medications routes); product forms DisclosureGroup intent preserved; 0 unresolved threads; no ambiguous clinical/auth conflicts", + "checks": "check:design-system-adoption PASS (53 components, 57 roots); vitest forms-information-disclosure.dom 2/2 PASS; no provider-backed checks" }, { - "date": "2026-07-27", - "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", - "head": "78c7d1c7766c081d886f1abbd14fa7b3018a0d44", - "scope": "CI fix: Production UI Loading-answer strict-mode race", - "outcome": "FIXED. Hosted Production UI failed once on `answer search URL opens chat without the answer home copy` when `getByLabel(\"Loading answer\")` matched the live skeleton plus a hidden Suspense `S:` clone (search-chrome invariant 17). Assertion now uses the suite-standard `:visible` locator. Not a product regression from the results-band rebuild.", - "checks": "Exact journey PASS 3/3 with system Chrome after the harden; hosted CI rerunning on this head; no provider-backed checks." + "date": "2026-08-16", + "ref": "codex/therapy-global-convergence-20260814", + "head": "9e21ea498fde13e98a9cd749dae16aba0b4c83ab", + "scope": "PR #1992 unblocking review-and-fix", + "outcome": "P1/P2 PR regressions fixed: clear/write ordering, failed Therapy retry intent, offline-only route verification, hidden-mode canonicalisation, and global bundle leak; stale-load finding pre-existing", + "checks": "exact-head CI diagnosis; TS/TSX transpile 8 PASS; focused mutation models 3 PASS; static repair contracts 9 PASS; full Node 24 gates delegated to post-push CI; Lighthouse not run by authorization" }, { - "date": "2026-07-27", - "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", - "head": "93a9f90ff287", - "scope": "Bugbot + CI debug", - "outcome": "NOT READY until Production UI green. Product band rebuild looks sound; Advisory UI green. Hosted failure is Answer Suspense `Loading answer` strict-mode (2 nodes / one hidden) in ui-smoke — not caused by band diff. Optional P2: `useRailOverflow` can miss child-list changes.", - "checks": "Production UI log job 90037898852; unique diff vs main; focused band unit 9/9 on tip; no provider checks." + "date": "2026-08-29", + "ref": "PR-2454", + "head": "9e27b7b779443eb9d140c5eaf562af578f5ec6e4", + "scope": "CI triage and unresolved review findings", + "outcome": "Confirmed PR-specific repo-awareness drift and two P2 documentation findings; corrected the generated snapshot, Windows LCP delta, and Linux-only qualification. Main coverage/browser failures did not reproduce on the PR head.", + "checks": "PR/base Actions logs; repo-awareness check; outstanding-issues check; docs links; targeted Prettier; arithmetic verification" }, { - "date": "2026-07-27", - "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", - "head": "980b4298", - "scope": "Implemented review follow-up", - "outcome": "Synced main; rail overflow observes childList mutations. Temporarily disabled auto-merge to land polish without squash race.", - "checks": "Focused band Vitest 9/9; no provider checks." + "date": "2026-07-29", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "9e2ee65ca0bcce45a3cb6a0539e265ec8d961582", + "scope": "PR #1377 latency findings — #098 stale offline-harness references", + "outcome": "Codex P2 confirmed and fixed: the #098 row in docs/outstanding-issues.md still named test-cache-path.mjs and check-rag-fixtures.mjs as the offline fixtures for the round-trip counting harness. Neither exercises a RAG request (cache paths; fixture-manifest validation), so a harness built on them would count nothing. The audit doc carried the retraction at :358 but this row did not - the same local-retraction pattern flagged in two prior rounds. Now names eval-rag-offline.mjs, test-rag-offline.mjs, rag-offline-contract.mjs and the contract fixture, all verified present, with the correction recorded inline. Docs only.", + "checks": "prettier --check clean; docs:check-links 1363; docs:check-scripts 390; grep confirms no stale refs remain" }, { - "date": "2026-07-27", - "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", - "head": "980b4298933642d134d44105b62ab0c31d39d4e3", - "scope": "Hosted required CI after Loading-answer harden + main sync", - "outcome": "GREEN. Supersedes the `78c7d1c7` pending-rerun row. Production UI and `PR required` both SUCCESS on this tip; Loading-answer `:visible` assertion retained through the later rail-overflow fix and `origin/main` merge.", - "checks": "Hosted CI run 30308513222: Production UI SUCCESS (11m22s), PR required SUCCESS; local exact journey PASS 3/3 earlier on the harden; no provider-backed checks." + "date": "2026-07-30", + "ref": "PR-1451", + "head": "9e5107b569190995981f161918ddf74ab0a56833", + "scope": "PR #1451 full diff vs origin/main", + "outcome": "PASS: no P0-P2 findings", + "checks": "git diff --check; CI 30555259984 success; PR Policy success; zero unresolved threads" }, { - "date": "2026-07-27", - "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", - "head": "c844560da909b7f88a1ef351fc833ad45cfb0a81 vs origin/main 7740535a", - "scope": "Thorough merge-readiness review vs main", - "outcome": "APPROVE AFTER MAIN SYNC. No P0/P1. Presentation-only shared results band rebuild; clean merge-tree; hosted PR required + Production UI green on tip; 0 unresolved threads. Branch is 1 commit behind unrelated safety-plan #1281 — final-merge audit fails closed until tip contains origin/main. Residual P2 (non-blocking): phone overflowing-rail `mask-image` lacks forced-colors clear (pattern exists for edge-glass); ResizeObserver does not unobserve removed children.", - "checks": "Diff review of 6 unique files; `git merge-tree` clean; `audit:final-merge --dry-run` fails only on missing main ancestor; band DOM 9/9; hosted checks green on tip; no provider-backed app checks." + "date": "2026-07-30", + "ref": "codex/review-pr1427", + "head": "9e660ae4b523b43cefe38194f226860769964755", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1427 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-27", - "ref": "PR #1281 / `claude/safety-planning-tools-page-tsq4vs`", - "head": "a26e95fc9ac9", - "scope": "Bugbot clinical review", - "outcome": "APPROVE pending exact-head required CI + minor P2 polish. Incomplete plans get draft banner/clipboard marking; contact reach methods required for Ready/Finalise. P2: StepBuilderCard green check still uses entries.length; clipboard DRAFT text untested. No P0/P1.", - "checks": "unique diff review; GraphQL no cursor[bot] threads; no provider checks." + "date": "2026-07-30", + "ref": "codex/review-pr1427", + "head": "9e660ae4b523b43cefe38194f226860769964755", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1427; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-07-27", - "ref": "PR #1281 / `claude/safety-planning-tools-page-tsq4vs`", - "head": "f7e616d1", - "scope": "Implemented review polish", - "outcome": "StepBuilderCard filled uses `isStepComplete`; clipboard DRAFT assertion added. Auto-merge temporarily disabled to land polish.", - "checks": "Focused safety-plan Vitest 3/3; no provider checks." + "date": "2026-07-24", + "ref": "codex/query-ribbon-search-headings (PR #1166)", + "head": "9eac2e252bcc5c548aa919b69faeb79b9ff7d2cf", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Merged origin/main; Codex ledger-SHA P2 dispositioned+resolved (append-only supersede already in 9eac2e252). 0 unresolved threads.", + "checks": "merge origin/main; thread resolve only; no provider-backed checks run." }, { - "date": "2026-07-27", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "bfd66ba8546b215e4d98ec46fcdd2a8538d053a0", - "scope": "CI babysit + Bugbot closeout", - "outcome": "Final pushed tip after main sync + process-failure test ungate. Required CI re-running on this head.", - "checks": "Local Vitest process-failure 2/2; prior tip required CI SUCCESS; no provider checks." + "date": "2026-07-30", + "ref": "codex/review-pr1481-v2", + "head": "9eb2e740f33364a66ae50ec3bfda39bbd4cbf1dc", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1481 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-27", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "dd9d96b64042004f9162b5ef2eaf4495073a5a60", - "scope": "CI babysit + Bugbot + main sync (exact head)", - "outcome": "Supersedes pending-push row. Merged origin/main; no failing required CI on prior tip; 0 review threads; no hosted cursor[bot] comments. Fixed P2: process-failure tests ungated from hasPyMuPDF and assert PdfExtractorProcessError by name. No P0/P1.", - "checks": "Vitest tests/pdf-extractor.test.ts 2 passed / 4 skipped; merge-tree clean; no provider checks." + "date": "2026-08-12", + "ref": "PR #1815 / claude/spacing-icon-design-review-rxwh28", + "head": "9f266210f02081be54d407c70a85f52fed436128", + "scope": "babysit", + "outcome": "no remaining actionable findings; one pre-existing thread resolved as no-change (Dockerfile.worker follow-up needed)", + "checks": "required checks: Gitleaks PR policy PR required (all pass); targeted vitest passed: tests/document-frame-contract.test.ts + tests/in-page-nav-header.dom.test.tsx" }, { - "date": "2026-07-27", - "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", - "head": "pending-push", - "scope": "CI babysit + Bugbot + main sync", - "outcome": "Before: required CI SUCCESS on tip `630792c9`; mergeable but BEHIND main; 0 unresolved review threads; no `cursor[bot]` Bugbot comments. After: merged `origin/main` cleanly; pr-bugbot found no P0/P1 — fixed P2 by moving SIGKILL/exit-137 regressions out of `describe.runIf(hasPyMuPDF)` and asserting `PdfExtractorProcessError` by name so the OOM path cannot silently skip or pass via JS fallback.", - "checks": "Focused Vitest `tests/pdf-extractor.test.ts` 2 passed / 4 skipped (PyMuPDF absent locally); merge-tree clean; no provider-backed checks." + "date": "2026-07-14", + "ref": "claude/docs-script-linter", + "head": "9f31fc5b62d4cd69cfe2ee92241d7e15e33d8de0", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-27", - "ref": "PR #1286 /", - "head": "b9ac1621a3993338a242d520bdc2d1a1dc29934c", - "scope": "Post-conflict CI green + Bugbot closeout", - "outcome": "APPROVE. Conflicts resolved; hosted required aggregate green (Static PR, Unit coverage, Build, Safety, Production UI, PR required). No unresolved review threads. Bugbot: no remaining P0-P2 on unique product delta (forced-colors:border, literalShadowClasses 0, diagnosis-map shadow token). Residual: NodeDetails phone sheet now uses downward --shadow-elevated instead of old upward literal cast (visual only).", - "checks": "Hosted PR required PASS; Production UI PASS (11m41s); Advisory UI PASS; local verify:cheap PASS (396 files / 3558 passed); focused design-system/knip/mobile-chrome-paint/test-runner-safety PASS; no provider-backed checks." + "date": "2026-07-14", + "ref": "origin/claude/docs-script-linter", + "head": "9f31fc5b62d4cd69cfe2ee92241d7e15e33d8de0", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-07-27", - "ref": "PR #1286 / `fix-test-run-lock`", - "head": "ac2327d231e1f74ab63a0cd04f0c1065a8ab037a", - "scope": "Superseding closeout row (branch label repair)", - "outcome": "APPROVE. Supersedes the malformed `b9ac1621` closeout row whose branch cell lost `fix-test-run-lock` to shell backtick expansion. Same outcome: merge conflicts fixed, Bugbot clean, hosted required checks green on product tip; this tip is ledger-only.", - "checks": "Hosted PR required + Production UI PASS on `b9ac1621`; ledger guard PASS; no provider-backed checks." + "date": "2026-07-28", + "ref": "codex/universal-search-live-test-fix", + "head": "9f5994069cddb8a58308d9d5acb9403948a7f617", + "scope": "live universal-search owner test handoff", + "outcome": "APPROVE. Test-only fix aligns live owner coverage with the intentional federated and focused document timeout contract; no production behavior changed.", + "checks": "Node TypeScript syntax PASS; git diff --check PASS; full local gates blocked by an active exclusive repository lease; hosted required checks pending; no live provider tests run." }, { - "date": "2026-07-27", - "ref": "PR #1286 / `fix-test-run-lock`", - "head": "bef2377d477a03b7b8bbb50ad7caf99eda258be5", - "scope": "Ledger dedupe follow-up after conflict merge", - "outcome": "APPROVE pending exact-head hosted required checks. Supersedes the `d2219a8b` row for CI readiness: exact duplicate ledger rows removed; unique product delta remains forced-colors:border, literalShadowClasses 0, and diagnosis-map shadow token. No unresolved review threads; Bugbot found no remaining P0-P2.", - "checks": "`check:branch-review-ledger` PASS (1084 records); design-system / knip / mobile-chrome-paint / test-runner-safety PASS; `verify:cheap` rerunning; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/repair-pr1416", + "head": "9f5c32270ecc2d606c3a483ddfbeebe3081d3b5d", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1416 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-27", - "ref": "PR #1286 / `fix-test-run-lock`", - "head": "d2219a8be89e6c218c4412fe40d4eb4b86fd79bf", - "scope": "Merge-conflict repair + Bugbot + CI fix", - "outcome": "FIXED. Resolved CONFLICTING merge vs main by keeping main soft-glass phone chrome, shared test-run-lock coordinator, tokenized document-nav mockups, and accessible-name Playwright contract; preserved PR forced-colors:border and literalShadowClasses 0 ratchet. Bugbot found no remaining P0-P2 on unique product delta. Removed 9 exact duplicate ledger rows introduced by merge=union.", - "checks": "Focused design-system + knip + mobile-chrome-paint + test-runner-safety PASS; ledger guard PASS after dedupe; hosted Static PR re-run pending; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/repair-pr1416", + "head": "9f5c32270ecc2d606c3a483ddfbeebe3081d3b5d", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1416; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no open PR" }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "09dbd2dcc5126e4ae7d6f9e99e7325853047f749", - "scope": "Bugbot P2 follow-up: import-graph lock for cross-mode differentials", - "outcome": "FIXED. Added a client-performance-boundaries source assertion that `cross-mode-differentials.ts` stays on the trimmed JSON index (no value-import of `@/lib/differentials` / snapshot / fixtures) and that `cross-mode-links.tsx` keeps the dynamic import. Updated the stale 1.2 MB comment. Residual: dual projection logic still lives in the build script and `differentials.ts` (caught by the existing deep-equal test).", - "checks": "Focused `tests/client-performance-boundaries.test.ts` PASS (7/7); no provider-backed checks." + "date": "2026-07-14", + "ref": "cursor/fix-pr654-ci-53b4", + "head": "9f880853ea7d268186d982f4623b71f46e77d3dc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + }, + { + "date": "2026-07-14", + "ref": "fix/accessibility-remaining-findings", + "head": "9f880853ea7d268186d982f4623b71f46e77d3dc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "18fcfae24b41cdd5caebd2780afa963a2a1335a5", - "scope": "Follow-up — Bugbot/CodeRabbit residuals addressed (supersedes the 97ab067 Bugbot row)", - "outcome": "Residual P2 closed: import-graph lock added — an allowlist test asserts `cross-mode-differentials.ts` may import ONLY the precomputed index + the (type-only) catalog type, catching direct, transitive-via-new-import, and dynamic `import()`/`require` reintroductions of `@/lib/differentials`. P3s closed: stale `cross-mode-links.tsx` comment fixed; `build-cross-mode-differentials-index.mjs` listed in `scripts-index.md`. CodeRabbit's two Minor nits (guard depth + this ledger refresh) addressed.", - "checks": "vitest `cross-mode-differentials-index` 3/3; typecheck + lint PASS; `docs:check-scripts` + `docs:check-links` PASS; `check:cross-mode-index` PASS; no provider-backed checks." + "date": "2026-07-28", + "ref": "codex/comparison-alias-distinctness", + "head": "9f93b1a56fa557e15fa1df8526d28d0b10bd1d21", + "scope": "six-pr-consolidation", + "outcome": "close-superseded: matcher evolved on main", + "checks": "diff-vs-main,merge-tree" }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "5c2816d1dc2e7a99c37d27310b487bcac5232db3", - "scope": "Production UI CI fix: differentials-home hydration strict-mode", - "outcome": "FIXED. Hosted Production UI failed solely on `dashboard differentials mode param redirects…`: `getByTestId(differentials-home)` hit 2 nodes (server+client overlap). Applied `expectSingleSettledOwner` before the visibility assert. No product change.", - "checks": "Focused production Playwright journey PASS 1/1 via `npm run test:e2e` (system Chrome); no provider-backed checks." + "date": "2026-08-06", + "ref": "codex/docker-delivery-hardening", + "head": "9f9e34ccffe3fe7c4bf5798b4d9697181a77180d", + "scope": "Docker pipeline hardening, worker graceful shutdown, Python lockfile, CI SBOMs", + "outcome": "REVIEWED, findings fixed", + "checks": "format, docs:update, unit (test lock active)" }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "662a93f826ea6ba34df9d15677ef5ae2446a2e40", - "scope": "Static PR Format check fix", - "outcome": "FIXED. Hosted `static-pr` Format check failed on Prettier for `tests/cross-mode-differentials-index.test.ts` after the resolved-graph guard. Reformatted; no behaviour change. Mergeable vs main (merge-tree CLEAN, 0 behind). Prior review threads already dispositioned.", - "checks": "`prettier --check` local PASS for the file; vitest index test 3/3; no provider-backed checks." + "date": "2026-07-13", + "ref": "codex/domain-6-release-hardening", + "head": "9ffc2a5af1726f5fedc4d981b49981c902a2342a", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 9ffc2a5af1726f5fedc4d981b49981c902a2342a origin/main`." }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "82f73943a88fdccf8226344bbb5a0bf52f665ede", - "scope": "Bugbot P2 reconcile after parallel remote fix", - "outcome": "FIXED (reconciled). Remote already landed an allowlist import-graph guard in `tests/cross-mode-differentials-index.test.ts` plus scripts-index/comment refresh. Merged that work and retained a consumer-side lock: `cross-mode-links.tsx` must dynamically import the catalog module (not statically).", - "checks": "Focused vitest `client-performance-boundaries` + `cross-mode-differentials-index` PASS (10/10); no provider-backed checks." + "date": "2026-07-13", + "ref": "codex/domain4-data-lifecycle", + "head": "9ffc2a5af1726f5fedc4d981b49981c902a2342a", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor 9ffc2a5af1726f5fedc4d981b49981c902a2342a origin/main`." }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "88d8638974075fa91334c2bb4a0e6b54fda00176", - "scope": "Review closeout: main sync + resolved-graph guard + ledger attribution", - "outcome": "FIXED. Cause of GitHub CONFLICTING/DIRTY: both tips appended `docs/branch-review-ledger.md` (union); `git merge-tree` was clean — merged `origin/main` (#1284 ledger rows). CodeRabbit recursive import-graph ask: walk resolved runtime imports from `cross-mode-differentials.ts` (services/forms boundary pattern) + keep entry allowlist. Supersedes residual wording on rows 1148/1149: import-graph lock + scripts-index + comment already landed; `client-performance-boundaries` guards the consumer dynamic import, `cross-mode-differentials-index` guards the catalog module/graph. Hosted Production UI already green after hydration settle.", - "checks": "Focused vitest index+boundaries 10/10; `check:cross-mode-index` PASS; merge-tree CLEAN vs origin/main; prior Production UI PASS on `f738f083`; no provider-backed checks." + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "a026c0bfe70f0e9fe290abbdd3660f4c458e4115", + "scope": "PR #1490 #143/#151/#149 reconciliation", + "outcome": "corrected archived #143 fail-open claim; #151 owns remaining half; #149 separates Checks:Read from missing-gh; merged main #1491", + "checks": "check:outstanding-issues; docs:check-links" }, { - "date": "2026-07-27", - "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", - "head": "97ab067bfdca644e0750bfbc717da7d58ecd27ee", - "scope": "Bugbot defect hunt (cursoragent request; no hosted cursor[bot] threads)", - "outcome": "APPROVE pending exact-head required CI. No P0/P1. Projection ≡ live helpers (201 diagnoses / 31 presentations / 20 alias keys); `--check` compares parsed values (Prettier-safe); CI `static-pr` + `verify:cheap` wire `check:cross-mode-index`. Residual P2: re-importing `@/lib/differentials` into `cross-mode-differentials.ts` would restore the ~1.2 MB lazy-chunk weight while data gates stay green — no import-graph lock yet. P3: stale comment in `cross-mode-links.tsx`; scripts-index omits new generator.", - "checks": "`check:cross-mode-index` PASS; vitest `cross-mode-differentials-index` 2/2; gate-manifest PASS; drift/invalid-JSON proofs FAIL closed; import-graph grep clean today; no provider-backed checks." + "date": "2026-08-08", + "ref": "claude/ds-a4-component-defects", + "head": "a029a543f744eb80e608ec482aacdbdc5f5599c2", + "scope": "unblock PR #1712", + "outcome": "Merged origin/main (ef28960e) to clear dirty mergeable_state: real conflict in docs/branch-review-ledger.md auto-merged via merge=ledger driver. Prior tip 9ba483d3 was 1 behind main. Static PR and PR required failures were dirty-state blockers (GitHub could not build refs/pull/1712/merge). Proved post-merge: merge-tree clean, check:branch-review-ledger, check:design-system-contract.", + "checks": "merge-tree clean; ledger:dedupe; check:branch-review-ledger; check:design-system-contract" }, { - "date": "2026-07-27", - "ref": "PR #1290 / `codex/search-performance-correctness-pr`", - "head": "82775e25fc1519c436a719b0d204a7c57332d811", - "scope": "CI fix + Bugbot", - "outcome": "Fixed P1 from trim commit: restored `sourceSearchInputRef` + double-rAF focus for mobile Search in document (was title-seeding). Cleared Prettier indent break that failed Static PR checks. Mergeable; 0 behind main; no unresolved review threads (Codex/CodeRabbit rate-limited).", - "checks": "Bugbot; vitest document-detail/private-access/universal-search/viewer-shell/audit-nav 186/186; maintainability 1734/1734; prettier check; no provider checks." + "date": "2026-08-13", + "ref": "codex/cloud-github-auth-hardening", + "head": "a02dc4c29264a69dd2f6ae619813efeb3a8ffbc7", + "scope": "Cloud GitHub access hardening second pass", + "outcome": "Fixed three P2 reliability defects and exact-branch PR sampling; no unresolved local findings", + "checks": "GitHub shell suite 21/21 PASS; lint PASS; typecheck PASS before final test-only branch-preference case; static Cloud contracts PASS; live shell control plane PASS; native connector identity/repo/permission/PR/thread/Actions logs PASS" }, { - "date": "2026-07-26", - "ref": "`codex/phone-footer-glass`", - "head": "5ad4f8b28", - "scope": "Final phone footer glass and scroll-stability review", - "outcome": "APPROVE. Replaced the opaque phone footer/safe-area slab with localized translucent glass across shared docks and page-owned calculator/document composers; hidden chrome releases paint, pointer ownership, and reserve. Final review found and fixed calculator reserve under-budgeting plus Chromium scroll anchoring feedback, with insufficient-runway collapse refusal and sufficient-runway frame-monotonic hide/reveal. No P0-P3 findings remain. Highest residual risk is physical iOS/WebKit safe-area and momentum compositing beyond simulated Chromium.", - "checks": "`verify:cheap` PASS (393 files; 3518 passed / 2 skipped); focused Services/Calculators and calculator transition Chromium PASS; `verify:ui` production build 312/313 with the sole unchanged Answer short-runway geometry outlier immediately passing exact rerun 1/1; final diff review APPROVE; no provider-backed checks." + "date": "2026-07-13", + "ref": "codex/fix-48h-review-findings", + "head": "a035fa7d7ce16ba2758886b16b69dee0ff86f820", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #550; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-26", - "ref": "`codex/phone-footer-glass`", - "head": "7e4fd1a23", - "scope": "Review-follow-up and CI hydration-race review", - "outcome": "APPROVE. Scoped the expanded collapse runway only to combined in-flow header plus reserve owners, cleared the calculator dock focus latch after sheet teardown, and made mode-home UI assertions wait for one settled owner during production hydration. Both automated review threads were addressed and resolved. No P0-P3 findings remain; physical iOS/WebKit compositing remains the only material unverified surface.", - "checks": "`verify:cheap` PASS; focused scroll-hide/static contracts 25/25 PASS; focused calculator teardown/geometry Chromium 3/3 PASS; affected mode-home production Chromium 5/5 PASS; no provider-backed checks." + "date": "2026-08-12", + "ref": "1850", + "head": "a08a0f6794da6990aae0d3446c43eb37f51b7f84", + "scope": "PR #1850 full diff vs origin/main", + "outcome": "merge-conflict resolved cleanly; no remaining actionable findings", + "checks": "merge-tree clean; installed-lock-parity pass; focused in-page-nav DOM 34/34 pass (single worker); changed-file format pass; pre-merge audit pass; hosted CI pending" }, { - "date": "2026-07-26", - "ref": "`codex/phone-header-hidden-edge`", - "head": "16e7bfdb33cbf05199b8044fc199ab2a9457c132", - "scope": "Protected-main release-readiness review of shared phone header collapse", - "outcome": "APPROVE. All 13 app modes release the hidden phone header and top safe area to the physical viewport edge through one scroll signal; Therapy, DocumentViewer, and Differential detail page headers portal into the same collapse track. Review found and fixed one blocker before approval: the generic flex track initially honored DocumentViewer min-content width and expanded to 383px on a 320px viewport; `min-w-0 max-w-full` now bounds both the shared track and addon host. Highest residual risk is physical iOS Safari status-bar compositing beyond Chromium's simulated safe area.", - "checks": "`verify:cheap` PASS; focused contracts 46/46; phone-scroll production spec 38/38 before final width guard; focused 320px page-owned headers 3/3 and DocumentViewer smoke 1/1; final `verify:ui` 308/308; `verify:pr-local` PASS including production build and 36-case offline RAG fixtures. No provider-backed checks." + "date": "2026-07-29", + "ref": "codex/remove-source-overlays", + "head": "a08a81d320c9f8e1bbbe1facc266d8257213b1ad", + "scope": "PR #1378 babysit", + "outcome": "FIXED Codex P1s (restore governance notice); overlays/Preview removed; merged main; verify:cheap PASS; Bugbot no open findings", + "checks": "verify:cheap 4273 pass; focused DOM 4/4; eslint/tsc/build PASS; hosted CI re-running after main sync" }, { - "date": "2026-07-26", - "ref": "`codex/phone-header-hidden-edge`", - "head": "31608d98a578b9311c3cec2d66b6ba7c37809c0c", - "scope": "Superseding release-readiness review after main sync", - "outcome": "APPROVE. Merged current `origin/main` at #1248 and resolved the sole content conflict by retaining its extracted DocumentViewer PDF/chrome-scroll hook together with the page-header collapse portal. The sync exposed and fixed one stale Therapy static assertion that had accidentally depended on the removed Therapy-only slot conditional; it now tests the route-ownership helper directly. No unresolved findings remain. Highest residual risk remains physical iOS Safari status-bar compositing beyond Chromium's simulated safe area.", - "checks": "Focused merged-head contracts 54/54; phone-scroll production spec 38/38; `verify:cheap` PASS; final `verify:ui` 308/308; `verify:pr-local` PASS including production build and offline RAG fixtures. No provider-backed checks." + "date": "2026-08-12", + "ref": "claude/filter-contract-global", + "head": "a0add717c2521c7fdeba4da5b094377014383c3e", + "scope": "global filter contract: lens/facet kinds + docs/filter-contract.md (no rendered change)", + "outcome": "PR #1847 opened; additive only, zero call sites touched; fixed an accessible-name leak caught by the new DOM tests", + "checks": "verify:pr-local fully green (no failures), 4 new DOM tests, git diff over all 7 mode files empty" }, { - "date": "2026-07-26", - "ref": "`codex/test-concurrency-20260726`", - "head": "1b1f4817b0cf932d8b43f8715725770045528f8c", - "scope": "Protected-main release-readiness review of cross-worktree test concurrency", - "outcome": "APPROVE. Shared admission is fail-closed to explicit focused Vitest selections and isolated typechecks; full suites, lint, builds, coverage and Playwright stay exclusive with queue priority and legacy-lock compatibility. Review found and fixed one blocker before approval: junctioned worktrees would have raced the shared `node_modules/.cache` TypeScript build-info file, so shared typechecks now receive a worktree-hashed temporary `.tsbuildinfo` path. Highest residual risk is Windows cross-process filesystem timing, covered by coordinator race/recovery tests and the full local gate.", - "checks": "`npm run verify:pr-local` PASS: format, lint, isolated typecheck, 391 files / 3489 tests passed / 2 skipped, production build (1680 static pages), client-secret scan, and 36-case offline RAG fixtures. Focused coordinator/tooling 32/32; PDF portability 3 passed / 2 platform-or-dependency skips. No provider-backed checks." + "date": "2026-07-13", + "ref": "backup/site-formatting-pre-rebuild-a0ba77112", + "head": "a0ba771124c40bb8c5fe9d3cdfa81f98d33dc3c8", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-26", - "ref": "cursor/formulation-a11y-linear2-14d4 (PR #1250)", - "head": "head 14b4e80ee41b16a80c974b6a1f8201407a0df05b / squash b91b4600171be08198e92bcf19b7d67e8207cb2f", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Formulation disabled-state accessibility (#064) on main; product two-dot diff empty vs pre-merge tip. Superseded conflicted PRs #1219, #1223, #1226, #1231, #1249 closed. Remote feature branch deleted at merge.", - "checks": "Focused Chromium formulation 7/7; verify:cheap 3473 tests; hosted Production UI + PR required SUCCESS; `git diff 14b4e80e origin/main -- formulation-builder-page.tsx ui-formulation.spec.ts` empty. No provider-backed checks." + "date": "2026-07-14", + "ref": "claude/medication-alerts-database-cb8o83", + "head": "a0ca895015df8ebe6ae57fa8a811a1fbb240e623", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-26", - "ref": "cursor/global-header-scroll-hide-4fd7 (PR #1222)", - "head": "a7f6d81f8b1dd5613dda94a3ddef78d480de876e", - "scope": "Cross-breakpoint header hide/reveal + tablet/desktop scroll coverage", - "outcome": "Header now hides on scroll down and returns on scroll up at every breakpoint; bottom search dock stays phone-only. Two root causes fixed: GlobalSearchShell had no scroll source above phones (`#main-content` onScroll never fires there) and its sticky rule sat on `header#search`, which has zero travel inside two header-height parents; ClinicalDashboard's collapse row was `max-sm`-gated so it never hid. Red/green proof captured: with the four source files reverted to base `1aa64e94`, all 12 new Playwright tests and 8/10 static contract assertions fail.", - "checks": "`npm run verify:cheap` pass except pre-existing local `tests/pdf-extractor.test.ts` Python-OCR failure (reproduced identically at base `1aa64e94`); `npm run verify:ui` 284/284 Chromium on the main-synced tree; `check:migration-role`, `check:function-grants`, `check:branch-review-ledger` pass after the #1197 SQL sync; no provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "a0df13f45cffb769b852e55bc44b6891b7fd80e7", + "scope": "Main conflict resolve + CodeRabbit", + "outcome": "FIXED. Merged #1307; took main ALLOW_LOW_RAM_BUILD RAM-guard (dropped DOCKER_BUILD approach). Tightened answer-evidence heading contract to component-scoped bodies (rejects sibling h2). Codex P2 already resolved.", + "checks": "Vitest heading+guard 4/4; merge-tree CLEAN; no provider-backed checks." }, { - "date": "2026-07-26", - "ref": "cursor/global-header-scroll-hide-4fd7 (PR #1222)", - "head": "af235c399d8298fcbb28c6e7a990fafdf27d3531 / squash 0b82a826dd7953a14c56491ae9e52f3fae77ee5b", - "scope": "prlanded after squash merge", - "outcome": "MERGED. Cross-breakpoint header hide/reveal; two-dot content diff vs `origin/main` empty; remote branch deleted by `delete_branch_on_merge`. Required contexts (Gitleaks, PR required, PR policy) SUCCESS on the merged head, along with Build, Unit coverage, Static PR checks, Production UI and Advisory UI. `skip-branch-sync` was applied first because repeated pr-branch-sync bot merges left every new head `action_required` (same pattern as #1214).", - "checks": "`gh pr view` MERGED by BigSimmo; `git diff origin/main af235c39` empty; post-merge main is green except `worker-image`, which failed in Set up Docker Buildx on `registry-1.docker.io` context deadline exceeded - a Docker Hub flake unrelated to this UI-only diff, and not a required context. No provider-backed checks." + "date": "2026-08-05", + "ref": "codex/editable-search-pins", + "head": "a0e2801fb291a672274c9a723108637d3cdb43f9", + "scope": "editable search pins menu review follow-up", + "outcome": "fixed remaining review defects; lint setState-in-effect; unresolved threads cleared; auto-merge armed", + "checks": "vitest:search-pins 18/18; eslint touched surfaces; review threads 0 unresolved" }, { - "date": "2026-07-26", - "ref": "execute-audit-remediation-fixes", - "head": "599cc563d7ff9df3aaff605f392a3d57d483ef40", - "scope": "Deep review and bug hunt across Phase 1 & Phase 2 audit remediation changes, git conflict resolutions, RAG UI governance fail-closed checks, privacy routing mocks, and offline RAG evaluation suites.", - "outcome": "Discovered and remediated a fail-closed governance defect in `src/components/clinical-dashboard/evidence-panels.tsx`, where a loose `isSourceBacked !== false` check allowed untrusted answers with missing relevance evaluations to pass through, and where `ClinicalNotesChecklistPanel` and `clinicalNotesDisplayCountForAnswer` were not trust-gating visual evidence before rendering tables or calculating tab counts. Replaced with explicit `=== true` check and wired `trustGatedAnswerForClinicalNotes` into the components and helpers. Also confirmed merge conflict resolutions in `service-catalog-mapper.ts` and `api/answer/route.ts` are spotless, and `privacy-ui.test.ts` static Next router mocks are functioning correctly.", - "checks": "`npx vitest run tests/visual-evidence-tabs.dom.test.tsx` (6/6 passed); `npm run eval:rag:offline` (21/21 suites passed, 308 tests passed). No provider-backed checks run." + "date": "2026-08-07", + "ref": "claude/search-bar-mobile-layout-buu0io (PR #1689)", + "head": "a152ffd89c962e3589509c0c3740dc429264063a", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 1, required CI green (advisory lighthouse fail ignored), 1 CodeRabbit lighthouse baseline thread (human disagreement in progress) → after: waited for CI settle, disabled automerge, merged origin/main, pushed, re-enabled automerge; thread left open for human", + "checks": "settled CI then merge+push; no provider-backed checks run; advisory lighthouse not chased" }, { - "date": "2026-07-26", - "ref": "open-PR babysit sweep (Cursor)", - "head": "origin/main @ ecf54db378c8081b36c8fd62eaadbd716a1750c8", - "scope": "triage + close + sequential land", - "outcome": "Queue cleared. Closed #1255/#1253 as unsafe/superseded. Squash-merged useful #1257, #1212, #1241, #1248, #1254, and late-arriving #1259 after CI green + thread triage. Open PR count 0 at closeout.", - "checks": "Per-PR hosted required CI green at merge; merge-tree used to classify GitHub CONFLICTING as staleness vs real conflicts; no provider-backed checks." + "date": "2026-07-30", + "ref": "codex/computed-style-assertions", + "head": "a18085a15339f280fff76cad15fafcf1a80084fe", + "scope": "post-#1490 sync archive rendered-style task #094", + "outcome": "APPROVED — no findings; current-main issue additions are preserved and #094 is the sole state change.", + "checks": "outstanding-issues PASS (151 rows; 43 open, 108 archived); branch-review-ledger PASS (271 live, 1206 archived); diff check PASS; merge-tree ab18c4319fcca6c915d340bdea286481caa8ea43" }, { - "date": "2026-07-26", - "ref": "open-PR hygiene (merge-ready keep)", - "head": "multi", - "scope": "Confirm clean supersedes after Antigravity closures", - "outcome": "KEEP OPEN / MERGE-READY: #1241 IMP-04 (PR required green), #1239 page-anchored composer (PR required green), #1200 typography supersede (Production UI pending), #1224 ledger docs (CLEAN). Noted on each PR. #1231 leave open (outstanding-issues.md conflict only). #1212 leave open (GitHub DIRTY; needs worktree sync). Drafts #1227/#1199 untouched.", - "checks": "gh pr checks + merge-tree classify; comments posted. No merges to main." + "date": "2026-07-13", + "ref": "claude/pwa-optimization-plan-4b7c4f", + "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-26", - "ref": "PR #1187 / `cursor/fix-mode-switch-lag-22f6`", - "head": "7bceebf562dc6700091964996a6e2749b0d63df6", - "scope": "Open-PR hygiene: close unfixed P1 + heavy conflicts", - "outcome": "CLOSED. Prior P1 still present (`isDashboardModeHref` Documents early-return). 177 behind; conflicts in globals.css/ClinicalDashboard/search chrome. Re-implement on fresh main if mode-switch thrash still needed.", - "checks": "Confirmed guard still on head; merge-tree conflicts; close+comment. No provider calls." + "date": "2026-07-13", + "ref": "claude/repo-improvement-review-09945c", + "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-26", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "head 2597dd305fd61e4e16166cccd109ff6f8eae0a33 / squash c4d5f47a39", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Phone Answer edge-dock hide/reveal, layout-clamp versus upward-intent detection, and composer focus binding, reconciled against the #1222 cross-breakpoint header. `git diff c4d5f47a 2597dd30` empty, so the content landed intact; remote branch deleted at merge; required contexts Gitleaks, PR required and PR policy all SUCCESS on the merged head. Two things worth keeping: merging `main` made the ledger's `union` driver re-append records both sides already carried, failing `check:branch-review-ledger` twice in one hour (see #082), and the final head was a `coderabbitai[bot]` auto-fix swapping an inline two-step upward scroll for the shared `scrollPrimarySurface` helper in `tests/ui-smoke.spec.ts` — an identical earlier auto-fix had been reverted on this branch, so it was re-proven rather than trusted.", - "checks": "`npm run verify:ui` 285/285 Chromium on the production build; `npm run verify:cheap` pass except the pre-existing `tests/pdf-extractor.test.ts` Python-OCR case, whose subject is absent from the diff (3437/3439 otherwise); `ui-chrome-scroll` + `ui-phone-scroll` 30/30 across phone, tablet and desktop; `use-hide-on-scroll` + `header-scroll-hide-contract` + `mobile-composer-reserve` 39/39; the CodeRabbit-modified in-flow collapse test re-run 3/3. No provider-backed checks." + "date": "2026-07-14", + "ref": "claude/pwa-optimization-plan-4b7c4f", + "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", + "scope": "branch-cleanup", + "outcome": "Deleted local redundant ref after its clean inactive worktree was unregistered.", + "checks": "Exact-head ancestry and local worktree/activity scan." }, { - "date": "2026-07-26", - "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", - "head": "2955bc5ca + in-flow reveal hardening", - "scope": "Production UI second failure root-cause + focused fix", - "outcome": "Second Production UI failure (in-flow collapse test, reveal after bottom clamp) traced to rAF starvation coalescing the single upward scrollTop write into the trailing bottom-clamp evaluation, which the shrinking-range hold rebases away; real drags emit follow-up events so product behavior is unaffected. Replaced single -24 write with two separated upward steps yielding frames each.", - "checks": "Focused Playwright chromium repeat-each=3 pass for both touched tests (6/6) on isolated prod build; no provider-backed checks." + "date": "2026-07-17", + "ref": "work", + "head": "a185a59113619d160b29d8977b39a4a916e142b3", + "scope": "component wiring and merge-readiness review", + "outcome": "Reviewed the integrated PR #718 merge commit across its API routes, document viewer/dashboard wiring, universal-search streaming, owner catalogue cache, RAG response paths, migrations, and regression coverage. No new high-confidence P0-P2 defect was found beyond the previously recorded PR #718 reviews. The highest residual risk is exact-environment UI and full-suite verification because this checkout has no dependencies and its Node 20 runtime does not satisfy the required Node 24 toolchain.", + "checks": "Static merge/diff inspection; `git diff --check`; `git fsck --no-dangling --no-reflogs`. `npm run verify:pr-local` was blocked before checks because `tsx` is unavailable (`node_modules` is absent); installation was not attempted because the local Node 20.20.2/npm environment conflicts with `package.json`'s Node 24/npm 11 requirement. No provider-backed command ran." }, { - "date": "2026-07-26", - "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", - "head": "6721ca449 + short-runway determinism hunk", - "scope": "Production UI failure root-cause + focused fix", - "outcome": "Failing check pair (Production UI + PR required aggregate) traced to ui-smoke short-runway test racing PageDown smooth-scroll against the near-bottom reserve guard (hide only fired when a frame sampled the 32-40px intent window). Replaced with deterministic scrollPrimarySurface path: bottom-jump refusal asserted, then floored post-collapse-offset hide. App code unchanged.", - "checks": "Focused Playwright chromium repeat-each=3 pass (2 runs, 6/6) on isolated prod build; no provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1289 / `codex/rag-reliability-final`", + "head": "a1ca6a016490e4d4b564edd3d553d87fed3071df", + "scope": "Protected-main RAG reliability, clinical-governance and release review", + "outcome": "APPROVE. Independent retrieval, governance and fallback reviews found and fixed three merge blockers: global chunk-query alias overreach was narrowed to the measured clozapine blood-count action shape; legacy private source reviews remain on the deployed v1 RPC while unapplied-v2 paths fail explicitly; and source-backed review fallback is now a zero-tolerance blocking metric with reconciled evidence. Final rereviews found no P0-P2. PR #1288 was superseded without force-push after GitGuardian correctly rejected a token-shaped fake fixture; the clean replacement tree is byte-identical to the reviewed tree and both secret scanners pass. The additive BMJ attestation migration remains unapplied and BMJ stays unverified pending qualified human action.", + "checks": "Exact application tree `verify:pr-local` PASS: format, zero-warning lint, typecheck, 403 files and 4,101 tests passed with 2 skipped, production build/client-secret scan, and 36 offline RAG fixtures. Live 36-case canary PASS with document/content recall 1.0, zero failed cases and zero per-case document/content RR regressions; three cache-bypassed affected-path answer probes PASS with zero provider requests and zero generation cost. Earlier coverage PASS: 399 files, 4,062 passed and 2 skipped, RAG 86.83% statements and 90.79% lines. Hosted build, static, unit coverage, migration replay, Supabase Preview, Production UI, policy, Semgrep, Gitleaks and GitGuardian passed on the implementation tree; final evidence-only head requires the normal hosted rerun." }, { - "date": "2026-07-26", - "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d", - "head": "771683af + main 584b8045", - "scope": "Reconcile against the #1222 cross-breakpoint header and run the gates the branch never re-ran", - "outcome": "APPROVE. The bot's earlier sync of #1222 into this branch resolved correctly: `useScrollHideReporter(false, true[, searchMode])`, `useDocumentScrollHideReporter`, `wide: \"collapse\" | \"sticky\"`, `sm:contents` and the hidden-only `sm:-translate-y-full` are all intact, every `readChromeCollapseBudget` caller migrated to `readChromeCollapseMetrics`, and the two models compose: `collapseKind` only refines the in-flow path, while the sticky path still reports a zero budget because `readChromeCollapseMetrics` keeps the `display === \"grid\"` test. One real blocker found and fixed: merging main let the union driver re-append two records both sides already held (940 rows / 938 unique), failing `check:branch-review-ledger`; the later copy of each was dropped after proving zero records lost and all non-record text byte-identical.", - "checks": "`npm run verify:cheap` pass except pre-existing `tests/pdf-extractor.test.ts` SIGKILL case, which needs local Python OCR prerequisites and whose subject is absent from this diff (3437/3439 otherwise). `npm run verify:ui` 285/285 Chromium on the production build. Focused: `ui-chrome-scroll` + `ui-phone-scroll` 30/30; `use-hide-on-scroll` + `header-scroll-hide-contract` + `mobile-composer-reserve` 39/39; `npm run typecheck` clean. No provider-backed checks." + "date": "2026-09-01", + "ref": "codex/smart-local-modes-20260901 (PR #2508)", + "head": "a1e1b973599e9bb301360be90c051986c172670f", + "scope": "PR #2508 native Smart catalogue matching", + "outcome": "Fixed P1 Compare result-order regression; no additional P0-P3 findings.", + "checks": "Focused Vitest 10/10; npm run format; full suite stopped before provider-backed path." }, { - "date": "2026-07-26", - "ref": "PR #1212 / `cursor/pr1196-coalesce-main-4711`", - "head": "d01352a096114a7804a97bf126cdf168c304b1ec", - "scope": "Open-PR hygiene: sync main (merge-tree clean)", - "outcome": "Before: GitHub DIRTY/CONFLICTING; update-branch 422. After: clean `ort` merge of origin/main in worktree and push; mergeable. Coalesce search path retained.", - "checks": "merge origin/main + push; no provider calls." + "date": "2026-08-15", + "ref": "claude/ds-gates-265", + "head": "a1e5c9e9926c59ea9a0a1875ca2ea5ba49c064f2", + "scope": "review-and-fix", + "outcome": "Fixed two P2 gate bypasses: comparable arbitrary min-heights and reachable conditional/composed branches now fail below 48px; merged latest main", + "checks": "focused Vitest 36/36; design-system contract; format:changed; changed-file ESLint; source typecheck; gate-manifest; outstanding-issues and ledger guards" }, { - "date": "2026-07-26", - "ref": "PR #1212 / `cursor/pr1196-coalesce-main-4711`", - "head": "head b88d69bb1dc1aa6c6ca8f34f3df3641801b60bd0 / squash a9920e3fc29fce9ad2ffb547811e085a708680b9", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Search/embedding coalesce poison + fractional PDF pixel budget on main. GitHub CONFLICTING was stale drift; merge-tree clean before sync. Remote branch deleted by merge.", - "checks": "Hosted PR required/Production UI/Unit/Build/Static SUCCESS on tip; no provider-backed checks." + "date": "2026-08-18", + "ref": "claude/clinical-guide-footer-search-4l54hp", + "head": "a1f272a75d0ba878106687738cdf988884f89331", + "scope": "Guide tour action rendered as a dock addon pill on phones", + "outcome": "approved", + "checks": "verify:pr-local all stages green on the merged base; 673 test files, 7283 tests" }, { - "date": "2026-07-26", - "ref": "PR #1231 / `cursor/formulation-accessibility-linear-14d4`", - "head": "pending", - "scope": "Open-PR hygiene: resolve outstanding-issues conflict", - "outcome": "Merged origin/main; kept PR `#064` linear-ready detail and added main `#082` bot-sync row; pushed.", - "checks": "conflict resolve only; no provider calls." + "date": "2026-07-31", + "ref": "codex/reduce-catalogue-json-bundle-weight", + "head": "a226fdafd8b203e20eb79887ea2d8b90dd1cc72f", + "scope": "PR #1468 Playwright build-cache reopen prep", + "outcome": "ready-for-reopen: merged main; switched to run-scoped artifacts with include-hidden-files; no P0/P1 product bugs; residual risk is artifact transfer vs 34s build save", + "checks": "merge-tree clean; check:github-actions; check:outstanding-issues; vitest test-runner-safety+github-action-pins+ci-cache-safety 48/48; lint changed; bugbot+diff review applied include-hidden-files fix; PR left closed" }, { - "date": "2026-07-26", - "ref": "PR #1238 / `cursor/header-hide-top-bar-only-4fd7`", - "head": "fdc20bfedb61a2c267c22a3d78ccc8214e6c0087", - "scope": "Continue-executing: top-bar-only hide + CI green", - "outcome": "APPROVE / MERGEABLE. Root cause fixed: collapse wraps only `header#search` (+ Therapy addon); sticky hosts pin outer [top bar | search] below `chrome-safe-area-top` without translating search away; sticky-stack composers stay `relative`. Services rail overlay hardened (testids + center scrollIntoView); ui-tools accepts sticky ancestor; Therapy nav assert uses collapse-host top under safe-area spacer. Merged main safe-area + submitted-result focus rules.", - "checks": "Hosted PR required + Production UI SUCCESS on tip; contract 14/14; focused Playwright services/desktop composers 6/6, chrome-scroll 12/12, therapy-nav 1/1. No provider-backed checks." + "date": "2026-07-27", + "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", + "head": "a2331fc8d1883d687d0bbb6e1b023503ab5deb1d", + "scope": "Automated-review follow-up for changed Playwright journey selection", + "outcome": "APPROVE pending fresh exact-head hosted checks. The P2 was valid: fixed title filters could omit a modified journey while the planner still reported focused coverage. Changed phone-chrome Playwright specs now run completely without `--grep`; the title-filtered matrix remains only for relevant unchanged specs, preserving focused-first feedback without hiding edited tests. Regression cases cover both `ui-phone-scroll` and `ui-tools`. No other P0-P3 finding remains.", + "checks": "Focused `tests/verify-phone-chrome.test.ts` PASS (7/7); smart-plan dry run selects complete changed specs before the risk-selected full UI suite; Prettier and `git diff --check` PASS; fresh hosted required checks must rerun on this head." }, { - "date": "2026-07-26", - "ref": "PR #1238 / `cursor/header-hide-top-bar-only-4fd7`", - "head": "head db4390b3814910d0210497e2982414904f2e0704 / squash cdbe0e662366f9308813e8d5fe8951ca11a47d6b", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Top-bar-only hide-on-scroll with sticky search stack below `chrome-safe-area-top`; two-dot content diff empty vs `origin/main`. Remote feature branch deleted at merge. Required CI green at merge (PR policy, PR required, Production UI).", - "checks": "`gh pr view` MERGED; `git diff origin/main db4390b3` empty; no provider-backed checks." + "date": "2026-08-06", + "ref": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", + "head": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", + "scope": "PR #1614 post-merge RAG index restoration audit", + "outcome": "Pass - guard-only migration, no DDL, no ranking/RPC change; pr-policy ragRanking=false so no eval-canary required; 1 P3 doc nit (#248 renumber note says 237->246, row is #248)", + "checks": "check:migration-role; npx vitest run tests/supabase-schema.test.ts (74 passed); check:outstanding-issues" }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "2c6d9c96 merge of origin/main 5475fcfb", - "scope": "Main sync after GitHub CONFLICTING", - "outcome": "SIMPLE. `git merge-tree --write-tree` clean before merge; GitHub DIRTY was staleness behind #1227/#1245/#1200. Ledger union auto-merge. Calculator path rename `calculator-mockups`→`calculators` detected; IMP-04 dead-export prune content carried onto new paths (`calculatorById`/`useCalculatorState` still absent). No conflicting intents; no conflict markers.", - "checks": "merge-tree clean; merge ort; `check:branch-review-ledger`; `tsc --noEmit` clean; no stale calculator-mockups imports. No provider calls." + "date": "2026-08-06", + "ref": "PR #1614 / codex/restore-rag-indexes-20260804", + "head": "a24f74fdf0134487a03dce37dd9f1e9bd18502f5", + "scope": "PR #1614 post-merge RAG index restoration audit", + "outcome": "Pass - guard-only migration, no DDL, no ranking/RPC change; pr-policy ragRanking=false so no eval-canary required; 1 P3 doc nit (#248 renumber note says 237->246, row is #248); supersedes 2026-08-06 row (ref column mistakenly held commit SHA instead of PR ref, breaking ledger:lookup per Devin/Sentry review on PR #1636)", + "checks": "check:migration-role; npx vitest run tests/supabase-schema.test.ts (74 passed); check:outstanding-issues" }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "5de2f4cdfa707ed53145b2e39a7f283995887f85", - "scope": "Authorized babysit sweep", - "outcome": "Threads: 1 CodeRabbit ledger rewrite request dispositioned (append-only policy; hosted CI already green). Merged `origin/main` (mechanical). 0 unresolved left.", - "checks": "Hosted required CI previously SUCCESS on prior tip; no provider-backed checks." + "date": "2026-08-22", + "ref": "work", + "head": "a26747b1e8c7ac5a705b1beee94b61aaeddef74e", + "scope": "PR 1 clinical status semantics and baseline provenance", + "outcome": "status semantics implemented with zero contract debt; no high-confidence diff findings; human screenshot provenance disposition remains approval-gated", + "checks": "focused status contract; design-system contract; desktop and forced-colour phone browser proof; production readiness; lint; typecheck; build; full unit suite has unrelated jq-less hook timeouts" }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "720fd19879f6463a87ad61309b91148f90efa23e", - "scope": "PR babysit: sync main, supersede stale READY row, close review thread", - "outcome": "APPROVE pending hosted required CI. `git merge-tree --write-tree origin/main ba799d4a3cfdcb20eb1e040b5d6e328e2fbbc147` was clean, so GitHub DIRTY/CONFLICTING was stale branch drift after main advanced to `a9920e3fc29fce9ad2ffb547811e085a708680b9`; merged `origin/main` with no content conflicts. This supersedes the older 2026-07-25 READY row rather than editing append-only history; the remaining CodeRabbit ledger-check thread is dispositioned by this row and the final merge remains gated on exact-head required CI.", - "checks": "`npm run check:branch-review-ledger` PASS; hosted PR required, PR policy, and GitGuardian to be waited on exact pushed head; no provider-backed evals/checks." + "date": "2026-07-27", + "ref": "PR #1281 / `claude/safety-planning-tools-page-tsq4vs`", + "head": "a26e95fc9ac9", + "scope": "Bugbot clinical review", + "outcome": "APPROVE pending exact-head required CI + minor P2 polish. Incomplete plans get draft banner/clipboard marking; contact reach methods required for Ready/Finalise. P2: StepBuilderCard green check still uses entries.length; clipboard DRAFT text untested. No P0/P1.", + "checks": "unique diff review; GraphQL no cursor[bot] threads; no provider checks." }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "ac056083bad351659cc970171c8cd62bbb3526a5", - "scope": "Codex P2: sync recipe catalogs after prune", - "outcome": "FIXED. Updated `.design-sync/conventions.md` + `docs/redesign/09-ui-primitives-recipes.md` (plus badge/design-system mentions) so catalogs no longer advertise deleted or module-private recipes (`insetCard`, `iconTile`, `compactMetadataRow`, `commandInput`, `toneWarningQuiet`, …).", - "checks": "Doc grep of catalogs vs `ui-primitives` export surface; `check:branch-review-ledger`. No provider calls." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "a278acad1ca88c28e45619b6a28e3f245c49d786", + "scope": "PR #1484 post-main reconciliation", + "outcome": "Ready: merged ee34b4d2a row-by-row; preserved all 146 issue IDs and archived #148", + "checks": "verify:cheap PASS (442 files, 4626 passed, 3 skipped); ledger guards and ci-scope PASS" }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "head 7f9c56c148fbd743ea3b48fe86c67461c42fc0f4 / squash 5d6f06156f0370427361343f249bf1d7f180e874", - "scope": "prlanded after squash merge", - "outcome": "LANDED. IMP-04 dead mockup/primitive export prune intact on main. CodeRabbit ledger thread dispositioned. Remote branch deleted by merge.", - "checks": "Hosted PR required/Production UI/Static/Unit/Build SUCCESS; `git diff` tip vs main empty; no provider-backed checks." + "date": "2026-07-24", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "a29b0d778b542932972aa6035ee115b91e49025a", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING + Static PR FAIL (suppressHydrationWarning on skip link). After: merged origin/main; removed illegal suppressHydrationWarning from skip-to-content anchor; theme fix already on PR head b4b5f21b9. CI re-running.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-26", - "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", - "head": "merge origin/main 6fd8902b", - "scope": "Main sync after GitHub CONFLICTING", - "outcome": "SIMPLE. Staleness behind #1256/#1246/#1252/#1251. `git merge-tree` clean; only overlapping path was append-only ledger. Dropped 2 exact-duplicate #1238 rows re-appended by union driver (kept earlier copies). No product conflict markers; IMP-04 prune surface unchanged.", - "checks": "merge-tree clean; merge ort; `check:branch-review-ledger`; no provider calls." + "date": "2026-07-30", + "ref": "PR-1473", + "head": "a2b2820c13a47425cfc0ea751e57ee35e9bd1105", + "scope": "PR #1473 full diff vs origin/main", + "outcome": "PASS after review repair: governance refusal and error-state contracts are consistent", + "checks": "outstanding-issues guard passed; docs links 1412 passed; docs index passed; Prettier passed; git diff --check" }, { - "date": "2026-07-26", - "ref": "PR #1244 / `implement-motion-audit-fixes`", - "head": "4fec4f8830bac3b0e95a2b5255aba9fbc72e6e7e", - "scope": "Open-PR hygiene: close contaminated Antigravity motion tip", - "outcome": "CLOSED. `faa50e6e3` ancestor; 497 behind/1 ahead; tip strips conflict markers from answer/upload while deleting private-access governed-summary test + outstanding-issues rows; merge-tree conflicts include answer/upload/evidence-panels. Motion-only re-derive on fresh main if still wanted.", - "checks": "Marker/ancestry/grep; merge-tree conflict list; tip `git show` on API/tests. No provider calls." + "date": "2026-07-30", + "ref": "PR #1432", + "head": "a2b53c815b3c060dec2619af2855a63f9f496858", + "scope": "Playwright browser preflight review and repair", + "outcome": "fixed; focused tests pending coordinator", + "checks": "Prettier PASS; issues guard PASS; focused Vitest blocked by active Playwright lease" }, { "date": "2026-07-26", - "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", - "head": "547d3a100c73333895554cf66eb0efd8d8dde8da", - "scope": "Late unresolved review-thread verification and fix", - "outcome": "APPROVE pending final hosted required CI. Confirmed the open P2 despite a bot summary claiming it was fixed: opaque phone `.edge-glass-header` / `.universal-header` still inherited `backdrop-blur-xl`. Added standard and WebKit `backdrop-filter: none` overrides and static/computed-style guards.", - "checks": "Prettier, ESLint and `git diff --check` pass; focused local Vitest/browser reruns blocked by consecutive legitimate shared-lock owners, so hosted Static/Unit/Production UI remain the merge gate." + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "a2c1a2739afd41fddc648d28eabef106d60e553c", + "scope": "Hosted Production UI failure triage and test hardening", + "outcome": "APPROVE pending exact-head required CI. Hosted Chromium passed 307/308; the sole failure was a strict locator seeing both the live service detail and a hidden Next streaming `S:` clone, the same known class already scoped for the differential presentation test. Scoped the service assertion to `mobile-composer-reserve-pad` without weakening the page or clearance assertions. Also accepted CodeRabbit's non-blocking whitespace-insensitive static-test nitpick. No product defect or unresolved review thread remains.", + "checks": "Hosted run `30189929594` diagnosis; exact focused production Chromium service-detail test 1/1; header contract 15/15; Prettier, focused ESLint and `git diff --check` PASS. Required CI rerun pending; no provider-backed checks." }, { - "date": "2026-07-26", - "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", - "head": "b51ee15e6961d46a14c288f621d25ab30a434c7d", - "scope": "Explicit CI-failure review and focused repair", - "outcome": "APPROVE pending hosted required CI. All three completed CI failures were the same new Playwright assertion: `/formulation/worry` legitimately omits the optional legacy dock backdrop, but the test required `display: none` and received `missing`; the downstream `PR required` failure was only the aggregate. Updated the test to accept absence or require `none` when rendered; no high-confidence product defect remains.", - "checks": "Focused Vitest 11/11; Prettier, ESLint and `git diff --check` pass; exact local Chromium rerun blocked by the shared heavyweight lock owned by another worktree, so hosted Production UI is the merge gate." + "date": "2026-07-30", + "ref": "codex/close-pr1480-issues", + "head": "a2c7ee12a49a8dd8f51703b2a6ecb070f2960bf3", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1486 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-07-26", - "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", - "head": "de4864ef06626931ecd6bd22b97387f80f529cb2", - "scope": "Production UI second-failure repair", - "outcome": "APPROVE pending final hosted required CI. The first repair exposed a second invalid assumption in the same new test: `/formulation/worry` does not own a fixed phone dock, so geometry used the `-1` missing sentinel. Replaced it with the established submitted Forms result route, explicitly waiting for the dock and unfocused composer before asserting paint and scroll-hide geometry.", - "checks": "Exact focused production Chromium test pass 1/1 (isolated Next build); Prettier, ESLint and `git diff --check` pass; prior hosted run had 290/291 Production UI tests pass with this single invalid-route assertion." + "date": "2026-07-30", + "ref": "archive/branch-worktree-cleanup-20260731/pr-ancestor-1469-a2e64bb7b53b", + "head": "a2e64bb7b53b981679b08419c89a399454a2288a", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1469 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-07-26", - "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", - "head": "e1f7dad583465a10231abc058ee4320177998894", - "scope": "Post-review main sync and stable-CI retrigger", - "outcome": "APPROVE pending hosted required CI. The automated branch-sync merge brought current `main` (`b91b4600171be08198e92bcf19b7d67e8207cb2f`) into the reviewed repair without content conflicts; `skip-branch-sync` was applied to prevent another bot-head cancellation while required checks run.", - "checks": "`git merge-tree --write-tree` clean; three-dot PR scope unchanged except the required ledger record; hosted CI retrigger pending." + "date": "2026-07-14", + "ref": "PR #632 / codex/rag-performance-followups", + "head": "a2eb6db0efbef983e1b3242261d5cc6b2b9d839d", + "scope": "review-followup", + "outcome": "One late P2 rollout-compatibility defect was confirmed: the provider-fallback SLO would omit recent rows written before `provider_generation_degraded` existed. Fixed the count predicate to include the new flag or legacy `generation_fallback:` reasons while continuing to exclude intentional extractive routes.", + "checks": "GitHub connector review-thread inspection; focused answer-SLO test, ESLint, TypeScript, Prettier, and `git diff --check`." }, { - "date": "2026-07-26", - "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", - "head": "af4908bb9bdbf7a30fc1f8ed031ef9bd75f292ef", - "scope": "Authorized babysit sweep", - "outcome": "Fixed P1 documents-search ownership + P2 reserve-reveal transition; forms readiness null-slug + private-scope hash; merged remote Suspense standalone paths. 6/6 threads replied+resolved (1 deferred boundary scan).", - "checks": "Focused Vitest search-route-ownership + clinical-dashboard-merge-artifacts PASS before final push; hosted CI re-running. No provider-backed checks." + "date": "2026-08-17", + "ref": "gemini/clinical-medication-graph-dedup", + "head": "a2ffea11481939af812b51541c081326b7ecd7f6", + "scope": "Clinical medication graph & deduplication (#322, #323)", + "outcome": "READY", + "checks": "npm run check:medication-lexicon-report; npx vitest run tests/medication-interaction-lexicon-coverage.test.ts; npm run typecheck:internal; npm run lint:internal; npm run format" }, { - "date": "2026-07-26", - "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", - "head": "head 83419c98fea9385df9beb10a9062d2dc7289f0f0 / squash dbcd4cea605ee7f5af8f2f9b5ff22d18385131ea", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Mode-switch lag/portal keep-alive; Documents cross-mode ownership fixed; submitted-param hard-load P2 seeded for `run=1`+query only. Codex thread resolved then squash-merged. Remote branch deleted by merge.", - "checks": "Hosted PR required/Production UI/Static/Unit/Build SUCCESS; verify:cheap PASS pre-merge; no provider-backed checks." + "date": "2026-08-13", + "ref": "codex/performance-css-delivery", + "head": "a324e067d2055fa3e32dd7a039c5e66a62bef3b9", + "scope": "cold mobile CSS and font delivery", + "outcome": "No unresolved findings; review added theme-aware responsive mockup utilities and corrected stale font commentary", + "checks": "build passed (1712 pages); CSS 302113 raw/46203 gzip; contract 2/2; production style 9/9; mockup 15/15; format/issues/ledger passed" }, { - "date": "2026-07-26", - "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", - "head": "pending final pushed head after ledger append", - "scope": "PR babysit: sync main + Codex P2 submitted-param seed", - "outcome": "Before: GitHub reported DIRTY/CONFLICTING while `git merge-tree --write-tree origin/main 7250d6d38269b734d903f9995782a4eedeaeebcb` was clean; branch was 1 behind main with 1 unresolved Codex P2. Merged `origin/main` cleanly, dropped one exact-duplicate PR #1241 ledger row reintroduced by the union driver, and fixed the P2 by deriving standalone shell chrome from `window.location.search` via `useSyncExternalStore` before the delayed `useSearchParams` bridge hydrates. Hosted CI, thread reply/resolution, and squash merge to main remain the final babysit gates.", - "checks": "`npm run test -- --run tests/search-route-ownership.test.ts` PASS (12/12); `npm run lint` PASS; `npm run check:branch-review-ledger` PASS; `npm run verify:cheap` PASS (393 files; 3505 passed / 5 skipped); no provider-backed checks." + "date": "2026-08-18", + "ref": "claude/header-redesign-mockups-3ms5kn", + "head": "a33ab97e5b55edcb26ace179471d97b7cf71118e", + "scope": "Dictionary Browse header redesign mockup study (design scratch)", + "outcome": "approved", + "checks": "verify:pr-local (673 files/7276 tests pass), build, check:bundle-budget, check:rag:fixtures, check:medication-interactions, check:medication-lexicon-report, Chromium dark+light screenshot review" + }, + { + "date": "2026-07-13", + "ref": "codex/pr-541-fix", + "head": "a37e9baf63cb06845aa8876f9c88b3d63c13f778", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-26", - "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", - "head": "pending final pushed head after UI CI fix", - "scope": "PR babysit: Production UI failure fix", - "outcome": "Supersedes the prior PR #1248 babysit row for hosted CI closeout. Production UI failed only on two branch-adjacent chrome tests after the P2 fix: restricted the browser query fallback to submitted searches (`run=1` + `q/query`) so route-owned query pages do not adopt submitted chrome, and aligned the phone-scroll reserve-transition assertion with the `data-reserve-transitioning` marker for no-dock/expired-marker states.", - "checks": "Hosted log diagnosis from run `30187649755`; local exact Chromium production rerun `npm run test:e2e:pr -- tests/ui-phone-scroll.spec.ts tests/ui-tools.spec.ts --grep \"formulation/builder\\\\?mechanism=rumination|differentials presentation comparison\"` PASS (2/2); no provider-backed checks." + "date": "2026-07-25", + "ref": "PR supersede #1186 / `cursor/pr1186-audit-remediation-c94c`", + "head": "a38e83860510a4229d5658960657cd7448aff278", + "scope": "Clean main-based port of intentional #1186 audit fixes", + "outcome": "SUPERSEDE #1186 (do not merge old PR). Ported intentional 16-file delta onto current main; dropped conflicted checkpoint tree and placeholder skills. Fixed eval single results binding; async run-heavy so lock heartbeat fires; branch:cleanup dry-run default + argv-safe deletes; skill-create interface YAML. Close #1186.", + "checks": "Focused Vitest tooling+lock 6/6; check:skills 33; prettier on touched files; no provider/live eval runs." }, { - "date": "2026-07-26", - "ref": "PR #1253 / `remediate-system-audit-findings`", - "head": "cc1fa9d48434c809e2cf73dfeb3124d2b36f0968", - "scope": "Authorized babysit peek", - "outcome": "CLOSED before sweep actions. CONFLICTING vs main with clinical/answer/privacy paths; non-trivial — no merge attempted. Policy failure was missing Clinical Governance Preflight (body not agent-managed).", - "checks": "merge-tree conflict inventory only; no provider-backed checks." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "a3967f8f0ee05b9a3ab922cd4a9feeebdf7efbbc", + "scope": "PR #1621 babysit standalone-shell review fixes", + "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", + "checks": "ledger:append correction; merge-tree clean vs main" }, { - "date": "2026-07-26", - "ref": "PR #1253 / `remediate-system-audit-findings`", - "head": "cc1fa9d48434c809e2cf73dfeb3124d2b36f0968", - "scope": "open-PR babysit sweep: close without merge", - "outcome": "CLOSED (not merged). ~507 behind with real merge-tree conflicts across answer API/evidence/tests/docs; PR policy missing governance/RAG impact. Salvageable ideas need clean rebuild on main, not this tip.", - "checks": "merge-tree conflict inventory; no provider-backed checks." + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "a398316163f75748fcfd59db3b5c61fd87819877", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "re-attempt merge origin/main ABORTED: non-trivial conflicts remain in privacy (src/app/privacy/page.tsx), clinical/RAG (src/lib/answer-render-policy.ts, src/lib/validation/answer-request.ts), source governance (src/lib/source-authority-metadata.ts), upload (src/app/api/upload/route.ts), supabase/drift-manifest.json, plus UI/docs/tests (search-chrome-behaviour, settings-dialog, navigation-back-button, sheet, patient-safety-plan, form-detail, differentials, bulk route, colour-coding, favourites-auth-gate, private-access-routes, services-catalog). Markers previously cleaned; PR policy body deferred to parent", + "checks": "merge aborted; no provider-backed checks run" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "5b616da1f84ffde127473e327e3ab63369244749", - "scope": "PR babysit: ledger duplicate clarification", - "outcome": "Clarifies the CodeRabbit duplicate-ledger thread without rewriting append-only history: the later `b3b1eb7e7084859cd18c05152be1b9f8968592ff` row at prior line 1072 is a superseding clarification of the earlier same-commit #1254 row, not a second independent sweep. PR body metadata and review-thread reply/resolve still require GitHub write tooling unavailable in this run, so DO NOT MERGE until those are completed and hosted required CI is green.", - "checks": "`npm run check:branch-review-ledger` required after this append; no provider-backed checks run." + "date": "2026-08-17", + "ref": "codex/therapy-global-convergence-20260814", + "head": "a3d81a66ca1340f93cbda6a00df85b3d7802ae89", + "scope": "PR #1992 CI-blocker fix (format + regex anchor)", + "outcome": "fixed 2 required-CI blockers: prettier format on tests/therapy-pr-unblocking-contract.test.ts, and a JS-regex end-anchor bug in tests/audit-navigation-auth-regressions.test.ts (missing \\s* before $ meant it never matched under JS $ semantics for a sourceSegment slice ending in a trailing newline). Merged origin/main (1 commit, clean tree). Local verification: typecheck, lint, full format:check, and full vitest suite (626 files / 6726 tests) all green. Lighthouse mobile-root CLS CI regression investigated: no code in the diff plausibly explains a home-page CLS shift; single local reproduction measured CLS 0.013, matching baseline (CI's own budget script treats a single breach as needing majority-of-3 confirmation, consistent with CI noise). Production UI (3) differentials Playwright failure investigated: PR diff does not touch any differentials/navigation files; not reproducible locally (Playwright browser revision mismatch in this environment). Left both for the fresh CI run to confirm; did not make speculative product-code changes.", + "checks": "typecheck,lint,format:check,test(vitest full 626/626)" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "b3b1eb7e7084859cd18c05152be1b9f8968592ff", - "scope": "Authorized babysit sweep", - "outcome": "Fixed P1 locality-audit-out-of-pr-local + comparator-direction conflicts; typed locality accumulator; hardened citationTelemetry schema; clozapine mg-gated span. Merged `origin/main`. 10/10 threads replied+resolved (2 deferred).", - "checks": "Focused Vitest evidence + verify-pr-local 24/24 PASS. No provider-backed checks." + "date": "2026-08-23", + "ref": "codex/tier-1-quick-wins", + "head": "a3f272501b74195afa36734ba000b3f432c8aa1d", + "scope": "Tier 1 quick wins (10 tasks)", + "outcome": "clean review (0 defects)", + "checks": "guard-push, session-start, caring-contacts, route-reachability, app-modes, style-contracts, rag-offline, lint, typecheck, design-system" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "b3b1eb7e7084859cd18c05152be1b9f8968592ff", - "scope": "Authorized babysit sweep", - "outcome": "Fixed P1 locality-audit-out-of-pr-local + comparator-direction conflicts; typed locality accumulator; hardened citationTelemetry schema; clozapine mg-gated span. Merged `origin/main` (verify-pr-local conflict resolved to main shape). 10/10 threads replied+resolved (2 deferred: unit normalize, query-context wiring).", - "checks": "Focused Vitest evidence + verify-pr-local 24/24 PASS. No provider-backed checks." + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "a3f3a89676015cd5f018c07e8c3ad9483f91cef6 + reviewed follow-up diff", + "scope": "offline adversarial-latency follow-up", + "outcome": "The final blocking offline-quality failure was an adversarial secret-exfiltration query that correctly refused but first spent about 25 seconds in lexical retrieval. Adversarial manipulation now short-circuits at the search boundary before provider-client creation, cache access, classification, aliases, or Supabase work, and is never cached.", + "checks": "Focused Vitest 2/2; scoped ESLint; Prettier; full TypeScript; `git diff --check`; live provider-free adversarial case completed in 100 ms with 0 ms RPC time; `eval:quality:release:offline` passed with zero blocking failures and zero model, request-ID, token, cost, or generation-latency evidence. Flaky local browser/composite suites intentionally not repeated; hosted CI remains authoritative." }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "code fix ee6a56bd0fc08ded140c36b5de213bda40d93179", - "scope": "PR babysit: main sync + P1 inclusivity/static/build fix", - "outcome": "Supersedes the earlier #1254 sweep rows for the new head after main advanced to `dbcd4cea605ee7f5af8f2f9b5ff22d18385131ea`. Before: GitHub reported DIRTY/CONFLICTING, PR policy failed missing RAG/clinical body, Static failed Prettier, Build/Production UI failed typecheck, and Codex P1 thread `3651695530` was unresolved. `git merge-tree --write-tree origin/main 91aeb19d4d4856a3aa120265d3602414b472e19a` was clean, so merged `origin/main` without conflicts; fixed threshold inclusivity (`<`/`<=`, `>`/`>=` stay distinct), source-open telemetry types, missing `onOpenSource`, missing `SourceGovernanceWarning` export, and lint/Prettier issues. PR body/thread resolution/squash merge still require GitHub write tooling unavailable in this Cursor run, so DO NOT MERGE until those are completed and hosted required CI is green.", - "checks": "Focused Vitest evidence/source metadata 67/67 PASS; `npm run typecheck` PASS; `npm run format:check` PASS; `npm run lint` PASS; `npm run build` PASS; `npm run check:rag:fixtures` PASS; `npm run check:production-readiness` failed only for missing local Supabase/OpenAI env secrets. No provider-backed evals/checks run." + "date": "2026-08-15", + "ref": "codex/fix-documents-without-live-images", + "head": "a42f45955ad8595ccd17ac4fea2ea0d6fd2c2f3f", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior document-cover repair review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "head b5aa92f0febbd0425c5f3d809356946a7d2371f5 / squash 4d54abfa4d467b16e5e2f0fe3f16b8b3b52bc967", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Provenance/governance UI tokens, citation telemetry, threshold inclusivity (`lt`/`lte`/`gt`/`gte`), locality audit kept out of offline pr-local. Supersedes earlier DO NOT MERGE babysit rows after thread resolve + green CI. Remote branch deleted by merge.", - "checks": "Hosted PR policy/PR required/Static/Unit/Build/Production UI/Migration SUCCESS; Codex P1 thread resolved; no provider-backed evals." + "date": "2026-08-17", + "ref": "2018", + "head": "a4338471f29c12c4f98b5abf4910aaf6f461d992", + "scope": "merge-conflict resolution + review fixes for PR #2009 (docs/filter-contract.md, scripts/check-outstanding-issues.mjs, scripts/ledger-inbox.mjs, src/components/clinical-dashboard/account-setup-dialog.tsx, tests/ui-smoke.spec.ts, tests/ui-tools.spec.ts)", + "outcome": "reviewed and fixed: resolved 6-file merge conflict against main, fixed 2 CodeRabbit findings (fingerprint case-sensitivity, URL regex boundary), left 2 findings unaddressed (fingerprint-mandatory migration risk, design-token nitpick)", + "checks": "check-outstanding-issues self-test, ledger-inbox self-test, check:outstanding-issues, check-ledger-write-discipline, focused vitest (outstanding-issues-writer, repo-hygiene, ledger-inbox-cancellation, favourites-auth-gate), prettier --check, typecheck, eslint" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "pending pushed head after CodeRabbit follow-up", - "scope": "PR babysit: evidence false-positive hardening", - "outcome": "Follow-up to the prior #1254 row after CodeRabbit re-opened evidence threads on the pushed head. Fixed scoped source-governance issues: bare `clozapine` now only binds its own dose comparator when the captured threshold is mg-qualified; table/prose same-value unknown comparator is compatible with known comparator; cross-source conflicts require document-level disagreement rather than one internally inconsistent document plus another source repeating one side. Production UI hosted failure was a single `/tools` strict-locator browser flake; exact local production rerun passed. PR body metadata and reply/resolve remain blocked by missing GitHub write tooling in this run.", - "checks": "`npm run test -- tests/evidence.test.ts` PASS (26/26); `npm run typecheck` PASS; `npm run lint` PASS; `npm run build` PASS; `npm run check:rag:fixtures` PASS; exact local `npm run test:e2e:pr -- tests/ui-tools.spec.ts --grep \"mode home search is centered at desktop width on /tools\"` PASS (1/1). No provider-backed checks run." + "date": "2026-08-23", + "ref": "PR-2291", + "head": "a47059e2b2534151a463199f09bfb30afa1c6c44", + "scope": "Run PR: CI repair for blocked CMHT contact actions", + "outcome": "published the omitted contact-action guard, workspace forwarding, and management caller after CI failures", + "checks": "targeted care-plan DOM suite PASS (221/221); tsc --noEmit PASS; Prettier check PASS; git diff --cached --check PASS" }, { - "date": "2026-07-26", - "ref": "PR #1254 / `apply-audit-remediation-fixes`", - "head": "pending pushed head after Production UI locator hardening", - "scope": "PR babysit: Production UI strict-locator rerun fix", - "outcome": "Hosted Production UI failed twice on different `tests/ui-tools.spec.ts` strict locators because duplicated page containers under `mobile-composer-reserve-pad` made `getByTestId(...)` ambiguous in full-suite browser state. Product code unchanged; tests now scope to visible/current page containers and the metrics helper measures a visible home container. PR body metadata and review-thread reply/resolve still require GitHub write tooling unavailable in this run.", - "checks": "Exact local production rerun `npm run test:e2e:pr -- tests/ui-tools.spec.ts --grep \"mode home search is centered at desktop width on /tools|13YARN service detail is usable at mobile\"` PASS (2/2). No provider-backed checks run." + "date": "2026-07-27", + "ref": "`codex/phone-bottom-band-root-20260727`", + "head": "a4802b9373404a00549a3479d86340398e978cc8", + "scope": "Automated review follow-up for phone viewport fallback layering", + "outcome": "APPROVE. Verified the review finding and separated the baseline 100vh declarations from the supported 100svh override, while retaining the later 100dvh override as the preferred dynamic viewport size. This removes duplicate properties without changing the intended fallback order. The ledger date remains the Australia/Perth task completion date. No P0-P3 finding remains.", + "checks": "Focused viewport-shell static contract PASS (8/8); `git diff --check` PASS; prior full `verify:cheap` and hosted required CI were green before this CSS-only declaration-layering follow-up; no non-GitHub provider-backed checks." }, { - "date": "2026-07-26", - "ref": "PR #1255 / `execute-audit-remediation-plan`", - "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", - "scope": "Authorized babysit peek", - "outcome": "CLOSED before sweep actions. CONFLICTING vs main including `api/answer`, ClinicalDashboard, privacy routes; non-trivial — no merge attempted. Policy failure was missing Clinical Governance Preflight.", - "checks": "merge-tree conflict inventory only; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/document-viewer-redesign-55b68b", + "head": "a493538c11d8f24f7ca92de65448cb81ea460c32", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/document-viewer-redesign-55b68b; git diff --name-only reported 3 path(s)." }, { - "date": "2026-07-26", - "ref": "PR #1255 / `execute-audit-remediation-plan`", - "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", - "scope": "open-PR babysit sweep: close without merge", - "outcome": "CLOSED (not merged). Unsafe #1188 lineage: ~507 behind, merge-tree dirty, literal `>>>>>>> theirs` in `evidence-panels.tsx`, dangling `renderSystemNotice`. Intentional maintainability already on main via #1213.", - "checks": "Marker/dangling-call grep on tip; merge-tree conflict inventory; no provider-backed checks." + "date": "2026-08-02", + "ref": "codex/mcp-config-hardening-merge", + "head": "a4a6a584f2ced6ffcd3a0fe0cb2471bbe71db7be", + "scope": "MCP Cloud config hardening", + "outcome": "Supersedes prior review; no findings after Windows shell-test guard", + "checks": "check:codex-cloud; Cloud tests 16 passed, 2 Windows-skipped" }, { - "date": "2026-07-26", - "ref": "PR #1256 / `codex/pr1246-header-blur-followup`", - "head": "correction to 547d3a100c73333895554cf66eb0efd8d8dde8da", - "scope": "CSS prefix contract correction", - "outcome": "FIXED. Hosted Unit coverage exposed the repository guard forbidding hand-authored `-webkit-backdrop-filter`; retained the standard `backdrop-filter: none` source rule and removed the duplicate vendor declaration, which the CSS toolchain owns. This supersedes only the prior row's claim that both declarations should be authored.", - "checks": "Targeted `clinical-dashboard-merge-artifacts` and mobile paint contract rerun required; Production UI continued separately." + "date": "2026-07-13", + "ref": "codex/rag-review-followup", + "head": "a4b1c58ccbcf57f7a6ddd495c9217bce5544cccf", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-26", - "ref": "PR #1257 / `cursor/therapy-search-trim-e63e`", - "head": "b80a3810819846760e862e1d0d4aa746ae6b0237 (merged)", - "scope": "Authorized babysit sweep", - "outcome": "Already MERGED to main before code changes needed; tip had correct sidebar absence assertion; 0 unresolved threads at close.", - "checks": "Hosted PR required + Production UI SUCCESS on merged tip. No provider-backed checks." + "date": "2026-08-10", + "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", + "head": "a4f57500f6b16a4616e1f84c126c2f787a40766b", + "scope": "PR #1785 unblock/fix", + "outcome": "before: DIRTY/CONFLICTING behind-but-clean (merge-tree clean, behind 3/ahead 8); prior tip a4f57500 CI green; 0 unresolved threads → after: merged origin/main once (sync-only); merge-tree clean; behind 0; no CI/thread code fixes; focused meds tests 201 passed", + "checks": "git merge-tree clean; npm run format; npm run test:focused meds/route/universal-search 201 passed; no provider-backed checks run" }, { - "date": "2026-07-26", - "ref": "PR #1257 / `cursor/therapy-search-trim-e63e`", - "head": "head b80a3810819846760e862e1d0d4aa746ae6b0237 / squash 024ebffdf753b8487af4615768d19d882b27d2b7", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Therapy search intro/local query field removed; Codex sidebar assertion thread resolved on tip. Remote branch deleted by merge.", - "checks": "Hosted Production UI + PR required SUCCESS; merge-tree clean; no provider-backed checks." + "date": "2026-07-30", + "ref": "PR-1492", + "head": "a50640970a4e4197c64fba7239aeae073445fed9", + "scope": "PR #1492 branch-sync churn review", + "outcome": "FIXED P2: exact-head queued or in-progress workflows now block automated branch updates; Run PR guidance matches the executable guard", + "checks": "focused Vitest 1 file, 8 tests passed; Prettier passed; sync dry-run passed on 19 open PRs; diff check passed; no provider-backed application checks run" }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "1166fcff041c7f7e3e59bbef9e758307e3b0b89e", - "scope": "Automated main sync after #1254", - "outcome": "APPROVE pending exact-head required CI. The repository branch-sync workflow merged `origin/main` `4d54abfa4d467b16e5e2f0fe3f16b8b3b52bc967` with a clean merge tree. Feature scope is unchanged; the only overlapping task-adjacent file was `tests/ui-tools.spec.ts`, where main's visible-root hardening and this PR's live service-shell scope both remain intact. No new product conflict or review finding.", - "checks": "`git merge-tree --write-tree` clean; three-dot feature inventory reviewed; branch-review-ledger guard PASS; focused header/Therapy contracts 23/23; exact-head hosted CI pending. No provider-backed checks." + "date": "2026-07-13", + "ref": "claude/prompt-perfection-3d64fe", + "head": "a51871954182c524d961eb077e5983fb87eb2260", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor a51871954182c524d961eb077e5983fb87eb2260 origin/main`." }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "482d6f2489c9ca1ee4603f0013bd9b3190a2cc36", - "scope": "Superseding lifecycle resolution after concurrent branch merge", - "outcome": "APPROVE pending exact-head required CI. Merged the concurrently advanced lifecycle fix without force or rebase. The resolved tree uses a stable callback ref, explicit collapse-strategy ownership, active-element synchronization on attach, scoped subtree observation, and cleanup clearing. Kept separate browser cases for focus pinning and keyboard-navigation teardown so each contract fails independently. No unresolved code conflict or local finding remains.", - "checks": "Header-scroll contracts 15/15; TypeScript PASS; focused production Chromium lifecycle cases 2/2. Immediately preceding equivalent lifecycle tree: phone-scroll 39/39 and `verify:cheap` PASS; final exact-head cheap gate follows this record. No provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "a51954ed7db4626a4523ddb53d111742ef6a45ae", + "scope": "Bugbot triage of unique delta vs main", + "outcome": "FIXED P1: medicationDoseQueryContext + clozapine-specific boost/penalty now accept brand aliases (Clozaril evidence ranks above unrelated monitoring for clozapine queries). FIXED P2: neuroleptic side-effect title short-circuit runs after explicit dose/route classification. Cleared: sheet trap, documents focus drop, Playwright serviceWorkers block.", + "checks": "clinical-search Vitest 69/69; unique-delta Vitest 219/219; no provider-backed checks." }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "a2c1a2739afd41fddc648d28eabef106d60e553c", - "scope": "Hosted Production UI failure triage and test hardening", - "outcome": "APPROVE pending exact-head required CI. Hosted Chromium passed 307/308; the sole failure was a strict locator seeing both the live service detail and a hidden Next streaming `S:` clone, the same known class already scoped for the differential presentation test. Scoped the service assertion to `mobile-composer-reserve-pad` without weakening the page or clearance assertions. Also accepted CodeRabbit's non-blocking whitespace-insensitive static-test nitpick. No product defect or unresolved review thread remains.", - "checks": "Hosted run `30189929594` diagnosis; exact focused production Chromium service-detail test 1/1; header contract 15/15; Prettier, focused ESLint and `git diff --check` PASS. Required CI rerun pending; no provider-backed checks." + "date": "2026-08-14", + "ref": "PR #1965", + "head": "a535862933966cede9c0f7f11734167a93b67c62", + "scope": "Playwright browser-revision preflight", + "outcome": "fixed", + "checks": "Prettier; 12 focused browser-check tests passed; test-runner safety covered by exact-head CI; full local suite blocked by incomplete cached dependencies; merged main" }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "a82713dc2699969efbfef10a39bdfa11565bec4e", - "scope": "PR babysit: main sync + Codex P2 focus fix", - "outcome": "Before: assigned `3300f94b911358eb91c16cf3e73d3c4440809b73` was GitHub DIRTY/CONFLICTING while `git merge-tree --write-tree origin/main 3300f94b911358eb91c16cf3e73d3c4440809b73` was clean, Production UI was pending, and there were 0 unresolved threads. Merged `origin/main` cleanly and pushed; a later Codex P2 found portaled phone header addon focus could collapse. Fixed by forwarding `PhoneHeaderCollapsePortal` focus to `MasterSearchHeader` and updating static/phone UI guards. Thread is fixed and outdated but left unresolved because `gh api graphql` reply failed `Resource not accessible by integration`; no GitHub write-capable MCP tool was available. Normal squash merge was blocked by base branch policy; no `--auto`/`--admin` used.", - "checks": "Local `npm run test -- tests/header-scroll-hide-contract.test.ts` PASS (15/15); focused production Chromium `npm run test:e2e -- tests/ui-phone-scroll.spec.ts --project=chromium --grep \"phone portaled addon focus pins\"` PASS (1/1); targeted Prettier PASS; hosted PR required, Unit coverage, and Production UI PASS on `a82713dc`. No provider-backed checks." + "date": "2026-07-24", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "a541b75c0e49f84125fc7e5d114cd9fc32d1a694", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "cceea70588d50d3f119394e93e50f7b38ed6f920", - "scope": "Superseding P2 implementation review after parallel branch merge", - "outcome": "APPROVE pending exact-head required CI. Merged the concurrently advanced PR branch without force or rebase. Both sides fixed the same portal-focus defect; the resolved tree retains the native listener on the actual addon DOM host and removes the document-global custom event, which could clear the universal header focus pin during unrelated desktop mutations. Retained the stronger static and browser assertions from the remote branch. No unresolved code conflict or product finding remains.", - "checks": "Merge conflicts limited to the duplicate focus implementations and duplicate UI test; TypeScript PASS; header-scroll contracts 15/15; focused production Chromium regression 1/1. Earlier exact local tree: `verify:cheap` PASS and phone-scroll 39/39. No provider-backed checks." + "date": "2026-08-21", + "ref": "claude/worktree-cleanup-guard", + "head": "a57a3bd52fdf25e5479e1e867cfbb2c7bccc9bb1", + "scope": "scripts/clean-worktree.mjs, scripts/check-base-freshness.mjs", + "outcome": "author-implemented; addressed CodeRabbit finding on PR #2240 (programmatic confirm-gate bypass, moved to assertRemovalConfirmed at both call sites)", + "checks": "self-test: [clean-worktree] Self-test passed successfully. | lint: [gate-receipts] recorded a pass for lint:internal (3933 input files) | typecheck: [gate-receipts] recorded a pass for typecheck:internal (3933 input files) | manual bypass check: runMergedWorktreeReport({remove:true,dryRun:false}) with CLEAN_WORKTREE_CONFIRM unset now refuses before the removal loop instead of deleting" }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "d7f1ac58d00d20a2405eb1641054d31c3a5b996e", - "scope": "Final focus lifecycle remediation review", - "outcome": "APPROVE pending exact-head required CI. Addressed the final CodeRabbit and Codex P2 lifecycle findings: the addon host is now tracked as state so listeners follow conditional host creation/replacement, focus is recomputed on attach, a scoped MutationObserver clears the pin when focused portal content unmounts without focusout, and cleanup clears the latch. The phone regression now activates the focused Back link with Enter and proves the destination header can hide again. No unresolved code finding remains locally.", - "checks": "Focused production Chromium focus-and-navigation regression 1/1; complete phone-scroll suite 39/39; header-scroll contracts 15/15; TypeScript PASS; `verify:cheap` PASS (393 files; 3514 passed / 2 skipped). No provider-backed checks." + "date": "2026-08-14", + "ref": "claude/playwright-tsconfig-isolation", + "head": "a5af47d083091a44cf515bed031d7cbd1bea3ea7", + "scope": "scripts/run-playwright.mjs", + "outcome": "FIXED - isolated child tsconfig given explicit include/exclude, empirically reproduced and verified", + "checks": "typecheck,verify:ui-focused-repro" + }, + { + "date": "2026-08-09", + "ref": "origin/pr/1686", + "head": "a5cce760d73bd174dba200b53852568dcdb9be0d", + "scope": "PR #1686 CI testing perfection and merged rollout reconciliation", + "outcome": "Merged required CI was green, but hosted evidence confirmed P2 shard imbalance, duplicated critical coverage, net-negative 1.09 GB cache transport, inactive container revision enforcement, duplicated workflow/build/browser work, and missing local npm-ci selection. Fixed locally on current main; no P0/P1.", + "checks": "Hosted run 31285952061 inspected; focused Vitest 55 passed plus browser-preflight 12 passed; CI workflow suite 256 passed; typecheck passed; CI scope, verification plan, shard parity, gate manifest, action pins, npm-ci dry-run, docs and outstanding-issues guards passed; no Playwright/browser run or provider mutation." }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "e2037303151fc187953f9f6da025e2d919fe25bd", - "scope": "Final Codex P2 focus-safety review", - "outcome": "APPROVE pending exact-head required CI. Fixed the actionable P2 by bridging native `focusin`/`focusout` from the real phone addon DOM host into the shared header focus pin, because React portal events follow the source tree. A focused DocumentViewer or Differential header control can no longer collapse and clip during scroll. No other unresolved product finding remains.", - "checks": "Typecheck and `verify:cheap` PASS (393 files; 3514 passed / 2 skipped); focused production regression 1/1; complete phone-scroll suite 39/39; full `verify:ui` 308/309 with one unrelated short-runway geometry outlier, then exact failed smoke rerun PASS 1/1. No provider-backed checks." + "date": "2026-07-30", + "ref": "PR-1432", + "head": "a5d234302b57be6f7ce5d1957c9ec00bc7f191f0", + "scope": "PR #1432 Playwright preflight and phone-scroll reliability", + "outcome": "cross-platform preflight fails closed and production focus-restore race is removed from the phone-scroll proof; no remaining findings", + "checks": "preflight tests 9 passed; focused Chromium journey 2 passed; formatting and ledger guards pass" }, { - "date": "2026-07-26", - "ref": "PR #1259 / `codex/phone-header-hidden-edge`", - "head": "head 0025d17a2c8c727d4e6cf44ae368f6448a84eeba / squash ecf54db378c8081b36c8fd62eaadbd716a1750c8", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Edge-to-edge phone header collapse + shared hide/reveal + portaled addon focus lifecycle. Supersedes earlier blocked babysit rows. Remote branch deleted by merge.", - "checks": "Hosted PR required/Production UI/Unit/Build/Static SUCCESS; focused phone-scroll/header contracts PASS; no provider-backed checks." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8", + "head": "a6a5e4cd59352244163a5d6d5439c2bc40a7ff95", + "scope": "Run PR sweep", + "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", + "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" }, { - "date": "2026-07-25", - "ref": "`codex/mobile-search-filter-dropdowns-dcbb32`", - "head": "d9f0051ef8335817e7fa29aeb02ee6324331df39", - "scope": "Release review: responsive search-result filter dropdowns across production modes", - "outcome": "APPROVE with verification note. No P0-P2 finding. Phone result-type rails are replaced by page-specific native selects while desktop controls remain intact; shared controls own a real 44px interactive target and retain forced-colors/focus behavior. Highest residual risk is browser-specific native-select rendering outside Chromium. RAG impact: no retrieval behaviour change - result filtering and sort presentation only.", - "checks": "`npm run verify:cheap` pass twice (378 files, 3351 passed, 1 skipped); focused production Chromium routes and accessibility/stress guards pass; production `npm run build` and client-bundle secret scan pass; offline RAG fixtures 36/36 pass. `verify:pr-local` reached unit tests but local infrastructure tests timed out under heavy worktree contention; two remained timeout-only on focused retry. Required hosted checks must pass on the exact published head before merge. No live clinical/provider workflow ran." + "date": "2026-07-13", + "ref": "codex/pr-481-main-integration", + "head": "a6a9e0292395bb53a832e894c8ce10707d425e57", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor a6a9e0292395bb53a832e894c8ce10707d425e57 origin/main`." }, { - "date": "2026-07-25", - "ref": "`codex/therapy-page-polish-ad78b4`", - "head": "157559aa0678f02de09c14f66d544b62a5138c4a", - "scope": "Targeted release review: Therapy naming, centred navigation, and white canvas", - "outcome": "APPROVE. No P0-P3 findings. The production Therapy route consistently uses the title Therapy, the shared page background token, and a centred overflow-safe section navigation. The latest `origin/main` merge was clean and retained both upstream responsive/home-composer assertions. Highest residual risk is visual drift at an untested browser engine; exact desktop and phone Chromium measurements were stable.", - "checks": "Focused Vitest 40/40; pre-sync `verify:cheap` 378 files / 3342 passed / 1 skipped; pre-sync `verify:ui` passed; integrated runtime, Prettier, lint, and typecheck passed; integrated Vitest was interrupted by the shared heavyweight-test queue after an independent 378-file / 3342-pass run. Required hosted checks must pass on the published exact head before merge. No clinical/provider workflow ran." + "date": "2026-07-13", + "ref": "origin/codex/pr-481-main-integration", + "head": "a6a9e0292395bb53a832e894c8ce10707d425e57", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor a6a9e0292395bb53a832e894c8ce10707d425e57 origin/main`." }, { - "date": "2026-07-25", - "ref": "`cursor/fix-mobile-composer-edge-scroll-5b1d` (PR #1192)", - "head": "333e67b8", - "scope": "pr-ci-fix: Static PR checks / Maintainability hotspot budgets", - "outcome": "Main merge (e688c6e2) expanded a JSX comment from 2→3 lines while restructuring heroComposerBreakpoint/heroOwnsPhoneComposer declarations, netting +2 lines vs budget-fix commit (ae77f8c3). ClinicalDashboard.tsx hit 4141 vs 4140 budget. Fix: compressed 3-line comment back to 2 lines. Zero behaviour change.", - "checks": "`npm run check:maintainability-budgets` → PASS (4140/4140). No provider-backed checks." + "date": "2026-07-13", + "ref": "claude/lithium-search-issue-7903a2", + "head": "a6b2dbcd6e289ada4d8abb88861dc43063236058", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #460; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "`cursor/fix-mode-switch-lag-22f6`", - "head": "0ef62ff521fb9f0457f685e9d2f50a24d640e663", - "scope": "Frontend-architecture review: loading/navigation performance for modes/pages", - "outcome": "No P0. P1: (1) GlobalSearchShell statically imports ClinicalDashboard into shared (search-app) layout client graph — every namespaced mode pays dashboard module weight; (2) ClientHydrationBoundary blanks standalone mode children until hydrate — defeats RSC paint for DSM/factsheets/etc. P2: ClinicalDashboard↔standalone remount + grid-template-columns transition; dashboard URL sync still useEffect+rAF (shell already render-time); ToolsHub ssr:false on /?mode=tools; MutationObserver portal rebind cost on mode-home slot changes; SearchCommandProvider value tied to query in shell. P3/#007: /tools vs /?mode=tools dual entry (PT-11 vs nav). Quick wins: dynamic() ClinicalDashboard; remove/narrow ClientHydrationBoundary; point tools href to /tools. Larger: unify shells / extract shared chrome.", - "checks": "Static architecture review of SharedSearchAppShell/GlobalSearchShell/ClinicalDashboard/MasterSearchHeader/app-modes/search-route-ownership/mode homes/tools routes; prior mode-switch ledger rows at b9484396/775d15ad noted. No browser, verify:ui, bundle measure, or provider-backed checks." + "date": "2026-07-14", + "ref": "claude/lithium-search-issue-7903a2", + "head": "a6b2dbcd6e289ada4d8abb88861dc43063236058", + "scope": "branch-cleanup", + "outcome": "Deleted local ref using prior exact-head squash-merge evidence; remote ref was left untouched.", + "checks": "Prior PR #460 exact-source-head ledger evidence and fresh worktree scan." }, { - "date": "2026-07-25", - "ref": "`cursor/fix-mode-switch-lag-22f6`", - "head": "b9484396347defaaa934571604b9d165ae6d8b98", - "scope": "Same-class mode-switch thrash review + fixes", - "outcome": "FIXED prior open P2s from 54d45f68 hunt: crossModeSearch now mirrors selectSearchMode (navigate-only when leaving dashboard); shared shell resets phone scrollTop + scroll-hide on pathname; hero portal keeps default composer until host attaches; ModeHomeRouteLoading uses --shell-header-h; services/forms contentAlign stays startOnPhone while loading. No P0/P1. Residual P2: ClinicalDashboard↔standalone shell remount + sidebar grid-template-columns transition; dashboard-internal Answer↔Documents still eager setSearchMode (overlay/hero flip by design, scroll now reset). Residual P3/#007: /tools vs /?mode=tools dual entry.", - "checks": "Focused Vitest ownership/align/hide-on-scroll/merge-artifacts/overlay 46/46; typecheck; static contracts for portal/scroll reset/crossModeSearch. No verify:ui / provider-backed checks." + "date": "2026-08-12", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "a6bfc6f2707975d9b9c649843e083965c80afb9c", + "scope": "Tier 1 design-issue re-verification: archive #171/#172/#174/#181/#273/#274/#302, correct #293", + "outcome": "docs-only; six rows verified delivered on main, min-h-tap finding refuted as deliberate sm: step-down", + "checks": "verify:pr-local (10/10 green); check:outstanding-issues 138 open/163 archived" }, { - "date": "2026-07-25", - "ref": "`cursor/fix-mode-switch-lag-22f6` / PR #1187", - "head": "775d15adef8155aba68e43f0e9354adf60f1ea8d", - "scope": "Same-class thrash fixes lint closeout", - "outcome": "Supersedes b9484396 row for lint follow-up: pathname bottomComposerHidden reset moved to render-time; removed unused desktopHomeComposerFallback. verify:cheap green. Residual unchanged (dashboard↔standalone remount; #007 Tools dual entry).", - "checks": "verify:cheap 3345 passed / 3 skipped; focused ownership tests; eslint clean on touched shell/header. No provider checks." + "date": "2026-07-18", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #896, plan Phase 5; content commit + this ledger follow-up)", + "head": "a6c2b4e92374e9002fb00c547eb5677d01ce538c", + "scope": "Design-polish sweep: audit-then-fix (plan Phase 5, final phase)", + "outcome": "Audit on post-#890 main: three strict design guards clean; full re-run of the 07-token-adoption-audit grep method shows all July 3 debt resolved (M1–M3 done, L4 reduced to the deliberate theme-aware `ring-white/N dark:ring-white/10` glass idiom, L5/L7 gone; production hex all legitimate print/brand/console/comment classes); 43-capture live sweep across 15 routes × desktop/phone + 320px spots + dark/reduced-motion/forced-colors spots found 0 overflow and 0 console errors. Three defects found and fixed: (1) forced-colors solid-button labels rendered as blank Canvas-on-Canvas backplate boxes (axe-invisible) — command controls flattened to the native HCM ButtonFace/ButtonText pairing and accent glyph tokens flipped to ButtonText inside the existing forced-colors block, regression-locked by a new ui-accessibility test; (2) tools desktop 6-up quick-action rail truncated card titles at 1440×1000 — card metrics tightened, all six titles verified unclipped; (3) privacy page rendered \"systemand\" from a JSX newline-adjacent-to-tag drop — explicit space, locked by a privacy-ui assertion. Dated July 18 run appended to docs/redesign/07-token-adoption-audit.md (archived design-qa.md not resurrected).", + "checks": "Guards + focused vitest 14/14; `verify:cheap` chain green to the known container-only pdf-extraction-budget artifact (2806/2809); `verify:ui` 220 passed/2 failed (the two long-baselined container artifacts, hosted-CI-green through #826/#835/#872/#890); `test:e2e:accessibility` 8/8 incl. the new forced-colors token test; production build + client-bundle secret scan passed; `check:bundle-budget` within tolerance vs the Phase 4 ratchet (1290.6 vs 1278.6 KiB baseline); `verify:pr-local` runtime/format/lint/typecheck/build/rag-fixtures green with the same sole unit-suite artifact. `verify:release` not run (provider-backed; awaits explicit confirmation). No provider-backed checks run." }, { - "date": "2026-07-25", - "ref": "`cursor/fix-mode-switch-lag-22f6` / PR #1187", - "head": "876d7ecfa1ae8ec79fc0f0bdf1198c6640ad89b8", - "scope": "Parallel loading UX + frontend-architecture review + quick-win fixes", - "outcome": "No P0. Confirmed live: H1 dashboard↔standalone remount dominant (~0.6–1.2s settle); H4 hero portal rebind; H3 registry post-paint. FIXED quick wins: remove ClientHydrationBoundary blanking; ModeHomeRouteLoading startOnPhone; mode-home loading.tsx alignment/additions; forms server defaultFormSlug + client-boundary test; dynamic ClinicalDashboard; sidebar grid transition mount-gate; forms drop key=query; DocumentViewer key=id; therapy Suspense ModeHomeRouteLoading; redirect /?mode=services|forms. Residual P2: unify shells (H1), stable hero slot, registry abort+LRU/summary fields, Tools dual entry #007, prescribing full-catalogue cliff.", - "checks": "Parallel explore×3 + debug measurement; focused Vitest loading/forms/ownership/align contracts; typecheck; eslint touched shell. No verify:ui / provider-backed checks." + "date": "2026-07-13", + "ref": "origin/claude/github-actions-codex-issue-f4t4s5", + "head": "a6f64938c8d0bbf915068869977dfe86c58f0d3f", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #610.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-07-25", - "ref": "`cursor/imp04-prune-dead-exports-01f2`", - "head": "4739510e8650e38e3c3a3cd2d8866dcf3abb8ab6", - "scope": "IMP-04 safe port from rejected #1188 tip", - "outcome": "READY. Ports dead-export prune for calculator/factsheet mockups + unused ui-primitives tokens. Deletes truly unused locals (not just unexport) so eslint max-warnings=0 stays green. Keeps Skeleton + commandInput focus shadow (tip incorrectly removed/changed those). Supersedes optional follow-up noted on #1188 branch-cleanup row.", - "checks": "typecheck; eslint on touched files. No provider calls." + "date": "2026-07-30", + "ref": "PR-1509", + "head": "a78c0cf89f323e12cb6ffa4721f54b5cf70cba21", + "scope": "consolidated remaining reviewed session follow-ups", + "outcome": "no actionable findings; preserved all reviewed consolidation content after concurrent head reconciliation", + "checks": "outstanding-issues, branch-review-ledger, design-system-contract, docs links/scripts/index, changed-format, diff-check, typecheck, focused eslint" }, { - "date": "2026-07-25", - "ref": "`cursor/ledger-066-067-519b`", - "head": "f04392a408eceee14215c15169cbd6b70ac2041c", - "scope": "Close stale ledger #066/#067 (+ drop resolved #030/#075 from queue)", - "outcome": "READY. #066 proven on main via #1174; #067 already fixed in #1191 in-process preflight. Docs-only ledger sync; no code change.", - "checks": "Local proof: `git show`/`log` for #1174/#1191; preflight test already in-process on main; ledger integrity asserts. No providers." + "date": "2026-08-08", + "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1", + "head": "a79943df33e653d2a65d4db2f192ee77c22ab75a", + "scope": "PR #1668 unblock", + "outcome": "late-synced main after CI green on f04a96c3; merge-tree clean (GitHub DIRTY was stale); js-yaml 4.3.1 + nanoid 3.3.18 preserved; no unresolved threads; CI re-run after push", + "checks": "pre-late-sync: PR required pass on f04a96c3; Production UI skipped; post-sync pending" }, { - "date": "2026-07-25", - "ref": "`cursor/pr1188-fix-build-breakers-6ee0` (PR #1213)", - "head": "183291a1f892489218b3d6b6c8a04966cdadd1e3", - "scope": "Clean rebuild of intentional #1188 remediation on main", - "outcome": "READY for review. Ports notice extraction + admin lazy-load + indexing-v3 utils extraction without the dirty archive base / conflict markers / syntax breakers from #1188 tip `8b86391`. Preserves system-notice answer gate + responsive visibility. Recommend close #1188 after this merges.", - "checks": "typecheck; check:github-actions; check:branch-review-ledger; prettier; esbuild utils parse. No provider calls." + "date": "2026-08-07", + "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", + "head": "a7dde7e6101ed69fb43f004981be9500ba773105", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-25", - "ref": "`cursor/typography-audit-fixes-1c1e` (supersedes #1185)", - "head": "c78271bae02ddf82792bb0625f479483240e76b8", - "scope": "Clean cherry-pick published", - "outcome": "APPROVE-ready. Published replacement for contaminated #1185; 5-file typography delta + format + ledger.", - "checks": "Local `verify:cheap` as above; pushed to origin." + "date": "2026-08-04", + "ref": "claude/search-bar-decisions-doc", + "head": "a7dea7f777255ade72878820a636413aaf9588af", + "scope": "search-bar handoff doc replacement + review fixes", + "outcome": "Docs-only review fixes: mode/shelf accounting, Sort consumers, #230/#170 precision; removed unquoted-output claim from prior row", + "checks": "prettier --check . ; check:outstanding-issues ; docs:check-links ; docs:check-index" }, { - "date": "2026-07-25", - "ref": "`cursor/typography-audit-fixes-1c1e` (supersedes #1185)", - "head": "pending-push", - "scope": "Clean cherry-pick of typography audit tip onto `origin/main`", - "outcome": "APPROVE-ready local. Scope is only font-stack + mockup heading/truncation/tabular-nums. No conflict markers. Highest residual risk: visual-only mockup/CSS change; unrelated Vitest flakes seen locally (pdf-extractor SIGKILL, reconciliation-preflight timeout) not tied to this delta.", - "checks": "`npm run verify:cheap`: lint+typecheck+static gates pass; Vitest 3379 pass / 2 env flakes. No provider/UI matrix." + "date": "2026-07-26", + "ref": "cursor/global-header-scroll-hide-4fd7 (PR #1222)", + "head": "a7f6d81f8b1dd5613dda94a3ddef78d480de876e", + "scope": "Cross-breakpoint header hide/reveal + tablet/desktop scroll coverage", + "outcome": "Header now hides on scroll down and returns on scroll up at every breakpoint; bottom search dock stays phone-only. Two root causes fixed: GlobalSearchShell had no scroll source above phones (`#main-content` onScroll never fires there) and its sticky rule sat on `header#search`, which has zero travel inside two header-height parents; ClinicalDashboard's collapse row was `max-sm`-gated so it never hid. Red/green proof captured: with the four source files reverted to base `1aa64e94`, all 12 new Playwright tests and 8/10 static contract assertions fail.", + "checks": "`npm run verify:cheap` pass except pre-existing local `tests/pdf-extractor.test.ts` Python-OCR failure (reproduced identically at base `1aa64e94`); `npm run verify:ui` 284/284 Chromium on the main-synced tree; `check:migration-role`, `check:function-grants`, `check:branch-review-ledger` pass after the #1197 SQL sync; no provider-backed checks." }, { - "date": "2026-07-25", - "ref": "audit-remediation (PR #1153)", - "head": "5a731df5c25fed9b07fd2321a0ad4b6519471f4b", - "scope": "PR babysit: CodeRabbit thread fixes + merge", - "outcome": "Before: MERGEABLE/BLOCKED on required_review_thread_resolution + pending CI; 6 CodeRabbit threads. After: fixed sync-skills pad/YAML escape, PDF temp cleanup, squash-aware rollback wording; dispositioned ledger mid-table + retained false-positive; approved CI; merged to main `191b17d2f` (merge commit); branch deleted; tip is ancestor of main.", - "checks": "Hosted CI green on tip; no provider-backed checks." + "date": "2026-08-07", + "ref": "cursor/tools-search-mockups-72e1 (PR #1653)", + "head": "a7fbc26a917b347d90c6bab1e6c1b2ede6422263", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-25", - "ref": "audit-remediation (PR #1153)", - "head": "80ca8bbeaaf43696863ce4a0949ca880d17a5eed", - "scope": "Open-PR maintenance: fail-closed test and skill sync fixes", - "outcome": "Before: 3 actionable review threads; Vitest accepted empty selections; skill sync auto-promoted uncatalogued folders and generated aliases as implicitly invocable. After: empty selections fail by default, uncatalogued folders require an explicit catalog decision, and generated alias manifests target the canonical skill with implicit invocation disabled.", - "checks": "`npm run skills:sync` pass; `npm run check:skills` pass (32 canonical, 8 aliases); Prettier and diff checks pass; focused Vitest blocked by the repository heavyweight lock owned by another worktree; no provider-backed checks run." + "date": "2026-07-19", + "ref": "cursor/documents-search-header-3eab / PR #936", + "head": "a7feaa3033180b672cfafaaaf75dc75088ebf052", + "scope": "documents search header redesign final review + merge readiness", + "outcome": "No remaining high-confidence P0-P1. Implemented identity-first results chrome, unified Sort/type-filter/Library toolbar, removed documents Also-in-library strip, relocated ScopeAndGovernanceNotice under controls, fixed Prettier CI failure and memo-busting empty warnings default, synced accurate PR policy body then removed the stale leftover, and repeatedly merged origin/main so squash auto-merge is not blocked behind/dirty. Hosted required checks including Production UI passed on the integrated head.", + "checks": "Local: typecheck/lint/format; focused Playwright documents `@critical` + deferred source/admin + forms sort persistence; design-system/icon-scale/maintainability; build + RAG fixtures; verify:pr-local units with known pdf-extraction-budget env artifact also on clean main. Hosted: PR policy, Static, Unit, Build, Production UI, Advisory UI, PR required green. No OpenAI/live Supabase writes." }, { - "date": "2026-07-25", - "ref": "automated-audit-remediations (PR #1158)", - "head": "aa745922f00", - "scope": "Babysit sweep: automated audit remediations — squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "a82713dc2699969efbfef10a39bdfa11565bec4e", + "scope": "PR babysit: main sync + Codex P2 focus fix", + "outcome": "Before: assigned `3300f94b911358eb91c16cf3e73d3c4440809b73` was GitHub DIRTY/CONFLICTING while `git merge-tree --write-tree origin/main 3300f94b911358eb91c16cf3e73d3c4440809b73` was clean, Production UI was pending, and there were 0 unresolved threads. Merged `origin/main` cleanly and pushed; a later Codex P2 found portaled phone header addon focus could collapse. Fixed by forwarding `PhoneHeaderCollapsePortal` focus to `MasterSearchHeader` and updating static/phone UI guards. Thread is fixed and outdated but left unresolved because `gh api graphql` reply failed `Resource not accessible by integration`; no GitHub write-capable MCP tool was available. Normal squash merge was blocked by base branch policy; no `--auto`/`--admin` used.", + "checks": "Local `npm run test -- tests/header-scroll-hide-contract.test.ts` PASS (15/15); focused production Chromium `npm run test:e2e -- tests/ui-phone-scroll.spec.ts --project=chromium --grep \"phone portaled addon focus pins\"` PASS (1/1); targeted Prettier PASS; hosted PR required, Unit coverage, and Production UI PASS on `a82713dc`. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "automated-audit-remediations (PR #1158)", - "head": "aa745922f00", - "scope": "Babysit sweep: automated audit remediations ? squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-13", + "ref": "claude/document-viewer-design-review-4fc027", + "head": "a82f7c3974f870a661d1f1249b29dc79d449ab15", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #509; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "canary-comparison-preflight (PR #1180)", - "head": "43f261cf229", - "scope": "Babysit sweep: canary comparison preflight docs — squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-13", + "ref": "origin/claude/document-viewer-design-review-4fc027", + "head": "a82f7c3974f870a661d1f1249b29dc79d449ab15", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #509; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "canary-comparison-preflight (PR #1180)", - "head": "43f261cf229", - "scope": "Babysit sweep: canary comparison preflight docs ? squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-30", + "ref": "pr/1483", + "head": "a84fa60eebdbe7a00193c268b401f7abd3cc554e", + "scope": "docs: reopen issue 105 after withdrawn verification", + "outcome": "approved after PR 1473 sync; issue 105 remains correctly open", + "checks": "issue/ledger; docs inventory/links/scripts; Prettier; diff-check" }, { - "date": "2026-07-25", - "ref": "codex/audit-remediation-final (PR #1158)", - "head": "aa745922f00", - "scope": "PR babysit sweep + squash merge", - "outcome": "Synced main; auto-merge completed.", - "checks": "Hosted CI green. No provider-backed checks." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "a861c9680e283fee9fcc43828e7c7a5fc818eef3", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "synced origin/main (d766d53a mockups); merge-tree clean; GitHub DIRTY was behind-but-clean; supersedes 82ab8e1b/ef5e9e91 after main sync", + "checks": "merge-tree --write-tree exit 0; check:outstanding-issues passed (165 rows); ledger:dedupe no duplicates; 0 behind main" }, { - "date": "2026-07-25", - "ref": "codex/complete-all-pending-tasks (PR #1191)", - "head": "e2488dbb108", - "scope": "Babysit sweep: scoped-label pagination + order assertion for CodeRabbit thread — squash-merged", - "outcome": "unit + pr-required", - "checks": "merged" + "date": "2026-07-27", + "ref": "`codex/phone-bottom-band-root-20260727`", + "head": "a8a72a43d", + "scope": "CI follow-up review of calculator dock hide lifecycle", + "outcome": "APPROVE. Hosted production Chromium exposed a fast-close race where effect cleanup could cancel the queued focus-latch reset, plus a paint-contract journey coupled to natural short-page geometry. The reset now survives rapid sheet teardown, actual input focus is asserted before hide, and explicit runway isolates the paint contract from the anti-clamp boundary tests. No P0-P3 finding remains.", + "checks": "Exact locked Next 16.2.11 / Playwright 1.61.1 production Chromium repeat PASS (20/20); `verify:cheap` PASS (393 files; 3519 passed / 2 skipped); no provider-backed checks." }, { - "date": "2026-07-25", - "ref": "codex/complete-all-pending-tasks (PR #1191)", - "head": "e2488dbb108", - "scope": "Babysit sweep: scoped-label pagination + order assertion for CodeRabbit thread ? squash-merged", - "outcome": "unit + pr-required", - "checks": "merged" + "date": "2026-07-30", + "ref": "PR-1451", + "head": "a8e6a419f2ef73a5406e7b69ab4e260157d6f907", + "scope": "PR #1451 token-reference repair", + "outcome": "approved after retaining #1480's stronger production accent role; unique mockup token, design-sync triage, and dead-token finding consolidated into PR #1490 without ledger churn", + "checks": "design-token contract 31 tests passed; outstanding-issues guard passed; Prettier and diff checks passed" }, { - "date": "2026-07-25", - "ref": "codex/document-clinical-summary-20260725 (PR #1169)", - "head": "605a47b551a03774fab41416bf980dfbc9610221", - "scope": "Open-PR maintenance: malformed persisted profile guard", - "outcome": "Before: one actionable thread showed non-array or malformed persisted summary groups could throw during render. After: every priority group is normalized through an array/item guard and malformed values are ignored while valid items still render.", - "checks": "Focused Vitest 7/7 pass; Prettier and diff checks pass; no provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/computed-style-assertions", + "head": "a8ee3315f2c9959025b7d652c0b7ea45432ca6be", + "scope": "post-#121 sync archive rendered-style task #094", + "outcome": "APPROVED — no findings; #121 main merge preserved and #094 remains the only issue-state change.", + "checks": "outstanding-issues PASS (151 rows; 43 open, 108 archived); branch-review-ledger PASS (261 live, 1206 archived); diff check PASS; merge-tree 2c567bcbb60f5d3f36eb18b6f7d7f6ee2a7a788b" }, { - "date": "2026-07-25", - "ref": "codex/document-clinical-summary-20260725 (PR #1169)", - "head": "6bbce2b97477cb4497624abe2a37c74864e872c8", - "scope": "Open-PR maintenance: review-thread verification", - "outcome": "Before: 2 unresolved Codex threads; branch current with main and required CI running. After: both persisted-profile/placeholder-summary fixes confirmed on the exact head and ready for reply-then-resolve; no further code change required.", - "checks": "`node scripts/run-vitest.mjs run tests/document-clinical-summary.test.ts tests/document-clinical-summary.dom.test.tsx --reporter=dot` pass (5/5); `git diff --check` pass; no provider-backed checks run." + "date": "2026-07-27", + "ref": "`codex/phone-bottom-band-root-20260727`", + "head": "a8efe4a08f00a2365e2035f83ce2128ec680576f", + "scope": "Protected-main release-readiness review of the shared phone viewport shell", + "outcome": "APPROVE. The remaining bottom band clipped live result content above the hidden dock because both phone application owners used viewport-sized fixed roots, a physical-iOS paint path that can disagree with correct DOM geometry. Both owners now share a bounded in-flow dynamic-viewport shell; hidden reserve remains zero, the last viewport pixel remains content-owned, and viewport resize preserves the reading offset. No P0-P3 finding remains. Highest residual risk is physical-device iOS compositing beyond desktop WebKit emulation.", + "checks": "`verify:cheap` PASS (393 files; 3519 passed / 2 skipped); focused Therapy and dashboard production WebKit PASS; `verify:ui` PASS (314/314); `verify:pr-local` PASS including production build/client-secret scan and 36-case offline RAG fixtures; no live provider-backed checks." }, { - "date": "2026-07-25", - "ref": "codex/fix-merge-conflicts-and-ci-on-open-prs (PR #1170)", - "head": "e979fc892f11a17b1a8f2ef1ab058ef40d629182", - "scope": "Open-PR maintenance: CI fix + threads + drift", - "outcome": "Before: Static PR checks failed because route-group moves made nine valid legacy `src/app/*` documentation references appear missing; 0 unresolved threads; branch already contained current main. After: docs-link resolution checks known App Router route groups and the focused failure is fixed.", - "checks": "`node scripts/check-docs-links.mjs` pass (1162 references); Prettier check pass; `git diff --check` pass; no provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/review-pr1429", + "head": "a91ed88d095c9ea00b46f9b09138d3c48051eec9", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1429 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-25", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "555213fcf4dec82c6dbb445630e59e0d5465149a", - "scope": "Open-PR maintenance: persisted-state hydration coverage", - "outcome": "Before: the browser guard covered only an empty-storage dashboard load. After: it seeds theme localStorage plus cookie, sidebar state, and document-viewer PDF mode before navigation, while retaining the default case.", - "checks": "Repository Playwright runner built the isolated production app and passed 3/3 Chromium hydration scenarios; Prettier and diff checks pass; no provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/review-pr1429", + "head": "a91ed88d095c9ea00b46f9b09138d3c48051eec9", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1429; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no active process" }, { - "date": "2026-07-25", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "d6b5d23f7e97f99310a249db8e9f006833e697c6", - "scope": "Open-PR maintenance: CI fix + threads + drift", - "outcome": "Before: 24 commits behind, Static PR checks/PR required failed, 2 unresolved Codex threads. After: merged current main cleanly and removed the branch-introduced byte-identical PR #1149 ledger duplicate; hydration suppression fix was already present.", - "checks": "branch-review-ledger guard pass (717 records); targeted lint blocked by active repository heavyweight lock in worktree 6314; `git diff --check` pass; no provider-backed checks run." + "date": "2026-07-15", + "ref": "PR #677 / claude/cleanup-branches-worktrees-mxov4x", + "head": "a93db73a29ca6a19619a6592e2e30ca9ea2f8218", + "scope": "active PR review and remediation", + "outcome": "All three actionable review findings are fixed: every branch namespace is parsed from the ledger table, only an exact completed cleanup review at the current HEAD suppresses repeat work, pending deletions remain actionable, and GitHub provider provenance is accurate. No additional high-confidence defect remains in the changed scope.", + "checks": "GitHub unresolved-thread inventory (0 remaining); hosted required CI green; exact-head focused Vitest `tests/repo-hygiene.test.ts` (9/9); `node scripts/sweep-branch-ledger.mjs --no-fetch --json`; `git diff --check`. No Supabase, OpenAI, or other live-service checks." }, { - "date": "2026-07-25", - "ref": "codex/search-results-filters-20260725", - "head": "88131e7267efd33059766dec80355a9246fbb2bf", - "scope": "Search result filters and document Sources merge-readiness review", - "outcome": "APPROVE. No P0-P2 finding after current-main sync. Documents open Sources as an on-screen filtering surface with source-type controls; the shared results ribbon is applied across search pages. Highest residual risk: unusual real-content combinations may alter perceived density, while responsive, forced-colors, focus, and overflow paths are browser-covered. RAG impact: no retrieval behaviour change - UI controls and source browsing only.", - "checks": "`npm run verify:ui` pass 268/268; `npm run verify:cheap` pass (377 files, 3340 passed, 1 skipped); post-sync `npm run verify:pr-local` pass (378 files, 3349 passed, 1 skipped, production build, bundle-secret scan, offline RAG fixtures); `npm run check:production-readiness` pass with OPENAI_SAFETY_IDENTIFIER_SECRET warning; no live/provider-backed app checks run." + "date": "2026-07-30", + "ref": "codex/reopen-issue-105", + "head": "a94c6590c7d4e486166ad79e6482471308bec615", + "scope": "branch-cleanup", + "outcome": "merged PR #1483 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1483 MERGED at exact final head 75253f8fbc1660c5234447e03a758879bfa7bcca; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-25", - "ref": "codex/search-results-filters-20260725 (PR #1184)", - "head": "8f74d8bd40810ede34ad4b155973b598c1be0101", - "scope": "Superseding merge-readiness review after Sources focus repair", - "outcome": "APPROVE. Supersedes the 88131e72 row: the automated P2 showed a transient Daily Actions menu item could disconnect before Sources restored focus. Closing Sources now falls back after unmount to the currently rendered action trigger, and the regression requires the visible Documents trigger to own focus. No P0-P2 finding remains. RAG impact: no retrieval behaviour change - UI focus restoration only.", - "checks": "Post-fix isolated production Chromium 1/1; post-current-main local Chromium 1/1; `npm run verify:cheap` pass (378 files, 3350 passed, 1 skipped); targeted Prettier and ESLint pass; required hosted checks must rerun on the published exact head; no live clinical/provider workflow ran." + "date": "2026-07-14", + "ref": "copilot/fix-ci-issue", + "head": "a95b282433e6b01bdd6444eb9b2de9148daf2363", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-25", - "ref": "cursor-indexing-ignore (PR #1171)", - "head": "3a4036580df", - "scope": "Babysit sweep: Cursor indexing ignore rules — squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-13", + "ref": "origin/claude/codebase-review-ade6ed", + "head": "a96b8ffafb88da22f667b41edf01b215866dde32", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/codebase-review-ade6ed; git diff --name-only reported 19 path(s)." }, { - "date": "2026-07-25", - "ref": "cursor-indexing-ignore (PR #1171)", - "head": "3a4036580df", - "scope": "Babysit sweep: Cursor indexing ignore rules ? squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-14", + "ref": "claude/codebase-review-ade6ed", + "head": "a96b8ffafb88da22f667b41edf01b215866dde32", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-25", - "ref": "cursor/alias-slot-disjointness-guard-6273 (PR #1215)", - "head": "406cf21eb730809fb06df00b1a9299e3462c728a", - "scope": "prlanded — generalized #030 contracts + ledger #081", - "outcome": "LANDED. Squash `b2d794c532ea8b7e259751005165f69906fcd784`. Adds two table-independent guards to `tests/eval-document-matching.test.ts`: pairwise alias disjointness across every multi-slot eval case, and the structural rule that one document can never satisfy every slot of a multi-slot case. Also opened ledger item #081 for the then-open PR #1196 alias conflict. Content verified by tree comparison against the squash commit (identical); remote branch deleted at merge, local pruned.", - "checks": "`npm run verify:cheap` green; hosted `PR required` green; tree-identity check `git diff b2d794c5 406cf21e` empty. No provider-backed checks." + "date": "2026-08-16", + "ref": "codex/therapy-global-convergence-20260814", + "head": "a985d7cb75ebaacd94df5cf55589e10908334510", + "scope": "PR #1992 exact-head CI follow-up and base sync", + "outcome": "Fixed stale Answer cross-mode suggestions on unsubmitted shared home; incorporated main 8f8d111abf1d302ca94899d15be7843071a8537b", + "checks": "Production UI shard 2 diagnosis; TS/TSX transpile 3 PASS; focused submission-state cases 6 PASS; exact-head Node 24 matrix delegated to post-push CI; Lighthouse not run by authorization" }, { - "date": "2026-07-25", - "ref": "cursor/canary-artifact-comparison-8e05 (PR #1180)", - "head": "43f261cf229cbc0baf7e289bdbc3e5a534161543", - "scope": "PR babysit sweep + squash merge", - "outcome": "Synced main after #1171; squash-merged.", - "checks": "Hosted PR required SUCCESS. No provider-backed checks." + "date": "2026-08-22", + "ref": "PR #2273", + "head": "a9aa9c96a56fb36df24fa0943b3f623425fd5c3f", + "scope": "PR #2273 full diff vs refs/remotes/origin/main", + "outcome": "P1 clinical governance gap fixed locally: drafted MHA summaries and supplemental form mappings now fail closed; Windows generator entrypoint fixed; stale owner data remains suppressed.", + "checks": "check:mha-act-sections PASS; focused forms and MHA tests PASS 25/25; production-readiness source checks PASS but provider configuration environment-gated" }, { - "date": "2026-07-25", - "ref": "cursor/canary-artifact-comparison-8e05 (PR #1180)", - "head": "618d8640fa528de4a94b0d3e2599bcfe0df3f6f5", - "scope": "PR babysit: retrigger required CI", - "outcome": "Empty sync after main advanced; no product change.", - "checks": "No provider-backed checks." + "date": "2026-07-30", + "ref": "PR #1430", + "head": "a9ae22ac4915e86d51ee05787059382a39bd8ba8", + "scope": "phone chrome diagnostics and merge repair", + "outcome": "fixed and ready for CI", + "checks": "issues guard; ledger guard; 37 focused tests; phone-chrome dry-run" }, { - "date": "2026-07-25", - "ref": "cursor/codebase-indexing-optimize-7a2b (PR #1171)", - "head": "37a534fb4b89ba504bec00f4c91932a251f0739a", - "scope": "PR babysit: retrigger required CI", - "outcome": "Empty sync after main advanced; no product change.", - "checks": "No provider-backed checks." + "date": "2026-07-13", + "ref": "codex/pr-608-fix", + "head": "a9d09ad4f0f1e549a9a88708862cc62b5d7f0374", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-25", - "ref": "cursor/codebase-indexing-optimize-7a2b (PR #1171)", - "head": "3a4036580df1f7701b600df26d368b66bcfc3251", - "scope": "PR babysit sweep + squash merge", - "outcome": "Retriggered CI via ledger note; squash-merged when PR required green.", - "checks": "Hosted PR required SUCCESS. No provider-backed checks." + "date": "2026-07-13", + "ref": "origin/claude/bundle-budget", + "head": "a9d09ad4f0f1e549a9a88708862cc62b5d7f0374", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-25", - "ref": "cursor/eval-matching-distinct-identity-6273", - "head": "f5620e3a4a2d60fd8a67fd43d8046726f1761e5f", - "scope": "Self-review of the merged #030/#075 fixes against current main", - "outcome": "Before: merged coverage matched expectations to distinct source _positions_, so one document repeated across `answer.citations` still filled both comparison slots, and first-come assignment made `allHit` depend on `expectedFiles` order; `PR_POLICY_BODY.md` was back on main (via #1153) ready to overwrite the next PR body; the #030/#075 queue row survived their archival. After: coverage dedupes by document text and assigns by maximum bipartite matching, label accumulation is linear, the stale template is removed, and #080 records the removed admission widening for approved eval re-test. Both new contracts were verified failing against main's matcher before the fix. RAG impact: no retrieval behaviour change — eval matching and label bookkeeping only.", - "checks": "Focused Vitest 39/39 (eval-document-matching, eval-utils, eval-search, search-scope, rag-imputation-contract); fail-closed proof 2 failed on the `origin/main` matcher; `npm run verify:cheap` pass (3379 passed, 5 skipped); `check:branch-review-ledger` and `check:pr-policy` pass; no OpenAI/Supabase/provider-backed checks run." + "date": "2026-08-13", + "ref": "work", + "head": "a9e7331cd0b4f72b4cc7251ddf135c590d936256", + "scope": "guide dialog UX, scrolling, answer verification preview, and mobile bottom action", + "outcome": "Implemented focused fixes; no unresolved high-confidence defects in changed scope", + "checks": "guide DOM 9 passed; Chromium guide smoke passed; typecheck passed; manual 390x844 screenshot and scroll check passed" }, { - "date": "2026-07-25", - "ref": "cursor/eval-matching-distinct-identity-6273 (PR #1204)", - "head": "c0db5f5810a37dbe7df9efa3d5479db134c98e10", - "scope": "prlanded — #030 coverage hardening", - "outcome": "LANDED. Squash `eb443dfda0fcfca8181e6839d156d9986dfc52db`. `expectedFileCoverage` now dedupes the citation window by document identity and assigns sources by maximum bipartite matching, closing two re-entry routes into #030 (repeat chunk citations of one document; order-dependent greedy assignment). Content verified by tree comparison against the squash commit (identical). Remote branch deleted at merge; local branch pruned 2026-07-25 after that verification.", - "checks": "`npm run verify:cheap` green pre-merge; hosted `PR required` green; tree-identity check `git diff eb443dfd c0db5f58` empty. No provider-backed checks." + "date": "2026-07-29", + "ref": "claude/clinical-design-system-update-e34ca9", + "head": "a9ec901d80a5352ffc58968582c36133be150d4b", + "scope": "PR #1375 conflict fix + Bugbot", + "outcome": "Tip after ledger bookkeeping for form-detail settlement fix. MERGEABLE; awaiting hosted Production UI / PR required on this HEAD.", + "checks": "local form-detail e2e 2/2 on 38bc5682; typecheck/lint/verify:cheap previously green; no unresolved review threads; Bugbot 0 findings." }, { - "date": "2026-07-25", - "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", - "head": "3b5ef43f1825dd8cf11dd767069569ba1c701c45", - "scope": "Bugbot branch review: mobile Answer edge dock, synchronized hide/reveal, focus safety, reserve-collapse and fractional-clamp safeguards", - "outcome": "No bugs found. Highest residual risk is physical iOS Safari toolbar/visual-viewport behavior beyond Chromium emulation.", - "checks": "`npm run verify:cheap` (3,357 passed); `npm run verify:ui` (272 passed); focused clamp/reserve Vitest (28 passed); focused production Chromium regression passed; clean headed-phone video proof; no provider-backed checks run." + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "aa041fd15f902dce172ea0d2707f3f81cb8f160c", + "scope": "PWA install lifecycle: final current-base merge", + "outcome": "Merged latest required base after validated PWA registry fix; no merge conflicts", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; static PWA registry assertion" }, { - "date": "2026-07-25", - "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", - "head": "69dc0dbfb46586f54f5934199d4a65b9f6a0aba8", - "scope": "User-requested Bugbot review of current PR head after geometry-aware clamp handling and CI formatting fix", - "outcome": "No bugs found.", - "checks": "Bugbot branch review; prior focused unit/Chromium/manual proofs retained; no provider-backed checks run." + "date": "2026-07-28", + "ref": "codex/consolidate-platform-reliability", + "head": "aa178d6465ff9aeb92b02766f4accff522c0f8a8", + "scope": "dirty-work consolidation review", + "outcome": "APPROVE. Retained reproducible npm-cache installs, explicit dev dependency installs, toolchain parity coverage, and corrected ops preflight wording. Rejected contaminated image work, fail-open audit behavior, duplicated assets, visual-regression machinery, and the unsafe primary-checkout stale-lease recovery.", + "checks": "git diff --check; focused Vitest 8/8; check:github-actions; check:installed-lock-parity; verify:cheap PASS (412 files, 4199 passed, 3 skipped); no provider checks." }, { - "date": "2026-07-25", - "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", - "head": "c08ed37c5e8c7b62cf7d547089afff7a63c9122c", - "scope": "Live local document-detail scroll/ownership review at 390x844, 768x1024, and 1440x900", - "outcome": "FINDINGS: P2 canonical phone detail renders shared mobile header plus DocumentViewer header; P2 expanded desktop sticky rail scrolls its section navigation off-screen; P3 390px in-flow section nav fully hides Images with no overflow cue. Composer focus pinning, actions sheet, endpoint clearance, safe-area gap, and single composer/content reserve ownership otherwise held.", - "checks": "`npm run workflow:design-sweep -- --write-evidence`; `npm run ensure` + `/api/local-project-id` identity; live local Chromium natural down/up, anchors, focus, sheet, endpoint and geometry probes; focused document-viewer Playwright 3/3; reduced-motion + forced-colors visibility at 390/1440; no OpenAI/Supabase/GitHub/hosted CI/provider calls." + "date": "2026-07-14", + "ref": "PR #632 / codex/rag-performance-followups", + "head": "aa264e92c44b42fdcceeac6292011ba51169b862", + "scope": "review-followup", + "outcome": "One P2 SLO-classification defect was confirmed: the broad source-only `degraded` flag also included healthy extractive answers. Fixed by persisting and counting a separate `provider_generation_degraded` flag derived only from `generation_fallback`.", + "checks": "GitHub connector plus UTF-8 thread-aware review inspection; focused ESLint; 45/45 targeted Vitest tests; TypeScript; offline RAG 36 fixtures and 277/277 contract tests; `git diff --check`." + }, + { + "date": "2026-07-31", + "ref": "claude/frosty-mayer-2c6167", + "head": "aa3d2b7f52771f0d5397c0629dc62ac224f6a6ee", + "scope": "PR #1451 reopen readiness", + "outcome": "clean; merge conflict resolved; bugbot none; NOTES attribution fixed; keep closed", + "checks": "check:outstanding-issues; design-token-contract 31/31; merge-tree clean; pr-bugbot no comments" }, { - "date": "2026-07-25", - "ref": "cursor/fix-mode-switch-lag-22f6", - "head": "54d45f687e3723f51fa3d7e9940692c9a6e3b52c", - "scope": "Same-class bug hunt: mode-switch/layout thrash after reserve-flip fix", - "outcome": "No P0. Branch fix mitigates pathname∧searchMode gate, shell changeMode optimistic setSearchMode, selectSearchMode leaving dashboard, and always-on padding-bottom transitions. Still open P2s: (1) ClinicalDashboard.crossModeSearch still setSearchMode before router.push without isDashboardModeHref guard; (2) dashboard-internal Answer↔/?mode=* still eager setSearchMode → overlay/collapse + heroBreakpoint + portal rebind; (3) standalone shell persists #main-content scrollTop + phoneScrollHide across mode homes; (4) ClinicalDashboard↔GlobalStandaloneSearchShellClient remount + grid-template-columns transition; (5) hero portal null gap while slot/MutationObserver rebinds; (6) ModeHomeRouteLoading phone min-h 13.5rem vs idle-reserve mode homes; (7) /tools vs /?mode=tools dual shell (#007). P3: services/forms contentAlign center→startOnPhone after registry load.", - "checks": "Static source audit of shell/dashboard/header/reserve/CSS/app-modes/skeletons; no browser/provider checks." + "date": "2026-07-13", + "ref": "origin/coderabbitai/docstrings/21f9540", + "head": "aa58dd1f8ba40eff536ee61b13769ebb2418befc", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #503; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-25", - "ref": "cursor/ledger-009-010-032-041-063-519b (PR #1175)", - "head": "87b6b432c19", - "scope": "Babysit sweep: close ledger #009/#010/#032/#041/#063 — resolved outstanding-issues merge + prettier, squash-merged", - "outcome": "static-pr + pr-required", + "ref": "automated-audit-remediations (PR #1158)", + "head": "aa745922f00", + "scope": "Babysit sweep: automated audit remediations — squash-merged", + "outcome": "pr-required", "checks": "merged" }, { "date": "2026-07-25", - "ref": "cursor/ledger-009-010-032-041-063-519b (PR #1175)", - "head": "87b6b432c19", - "scope": "Babysit sweep: close ledger #009/#010/#032/#041/#063 ? resolved outstanding-issues merge + prettier, squash-merged", - "outcome": "static-pr + pr-required", + "ref": "automated-audit-remediations (PR #1158)", + "head": "aa745922f00", + "scope": "Babysit sweep: automated audit remediations ? squash-merged", + "outcome": "pr-required", "checks": "merged" }, { "date": "2026-07-25", - "ref": "cursor/ledger-081-closeout-6273 (PR #1220)", - "head": "84e91194ecca7f74c0d70b9e30e1dbd05ab7853f", - "scope": "prlanded — archive outstanding item #081", - "outcome": "LANDED. Squash `e7e60c6d02a37c1f5958cb97936bd3533c7a2f46`. #081 moved from Open items to Resolved/archive after PR #1196 was closed 2026-07-25 as superseded by #913 / current main; successor #1198 does not touch `src/lib/eval-document-matching.ts`, and the #1215 contracts fail closed on any re-added dual-listed alias. Merge friction worth recording: a `github-actions[bot]` branch-sync merge landed every 10-20 minutes and every bot-authored head produced `action_required` workflow runs, so the three required checks never reported and both normal and `--admin` merges were refused; runs on agent-pushed heads execute normally, so the resolution was to push an own-authored head and merge on green. Content verified by tree comparison against the squash commit (identical); remote branch deleted at merge, local pruned.", - "checks": "`npm run verify:cheap` on merged main: 387 files / 3431 tests pass; hosted CI, SAST, Secret Scan and PR Policy green on `84e91194`; `npm run docs:check-links` pass. No provider-backed checks." + "ref": "codex/audit-remediation-final (PR #1158)", + "head": "aa745922f00", + "scope": "PR babysit sweep + squash merge", + "outcome": "Synced main; auto-merge completed.", + "checks": "Hosted CI green. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "cursor/local-presence-054-7cf3 (PR #1178)", - "head": "9135891bfd194394549cb480a7ec86de12b23ee7", - "scope": "PR babysit: local-presence + /tools + CI/UI fixes + squash merge", - "outcome": "Before: flaky Safety audit on package.json scripts, Production UI Sources autofocus flake, CodeRabbit short-env duplicate thread. After: ci-change-scope lockfile-only; strip stale short env keys; sheet open-focus retries + skip focus=1 reclaim under modal; squash-merged `d08ec2e8e`; branch deleted; key-file content-diff empty.", - "checks": "Hosted PR required SUCCESS (Production UI green on tip); focused local-presence vitest; no provider-backed checks." + "date": "2026-08-17", + "ref": "pr-1998", + "head": "aa7c3ffd93ed3366090c719904dcaae600010775", + "scope": "filters", + "outcome": "fixed-second-ci-blocker", + "checks": "vitest,typecheck,eslint,design-system-contract,design-sync-contract,design-system-adoption,maintainability-budgets,build" }, { - "date": "2026-07-25", - "ref": "cursor/local-presence-054-7cf3 (PR #1178)", - "head": "b438cd872286c831c6d9c8db49b017745f98abcc", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: GitHub reported DIRTY; Static PR checks found three stale `npm run check:local-presence` references because the implemented script was not registered; Production UI had one focus-restoration failure after 266 passes; 0 unresolved threads. After: merged current `origin/main` cleanly and registered the missing local script, so all 348 docs script references resolve.", - "checks": "`node scripts/check-docs-script-refs.mjs` pass; Prettier and `git diff --check` pass; focused Vitest/UI rerun deferred while another worktree owns the heavyweight lock; environment-reading presence mode and provider-backed checks not run." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "aa8c2dfb1406a7a3f74745d20f2b370c75b55719", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "synced main (#1478 behind-but-clean); fixed docs inventory + #117 stale hashed paths; verify:cheap 4683 passed; verify:pr-local build+bundle-budget+RAG fixtures green; typecheck clean", + "checks": "verify:cheap: 448 files / 4683 passed; verify:pr-local: Client bundle secret surface check passed + Offline RAG fixture validation passed (36 golden cases); check:bundle-budget: within tolerance + done; format:check: All matched files use Prettier code style!; merge-tree origin/main clean" }, { - "date": "2026-07-25", - "ref": "cursor/pdf-crop-malformed-repro-9b3e (PR #1176)", - "head": "c31543f5b5862dbe6911079029f28500a6af2a59", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: GitHub reported DIRTY and Static PR checks failed formatting `docs/outstanding-issues.md` and `tests/pdf-extractor.test.ts`; 0 unresolved threads. After: merged current `origin/main` cleanly and formatted both failing files.", - "checks": "Prettier check pass; `git diff --check` pass; no provider-backed checks run." + "date": "2026-08-13", + "ref": "codex/performance-css-delivery", + "head": "aa935df8fa13245af948c4574d791fe31f270d03", + "scope": "cold mobile CSS and font delivery", + "outcome": "No unresolved findings after clean current-main sync; shared header changes pass both production and mockup journeys", + "checks": "production style 9/9; mockup 15/15; contract rerun coordinator-blocked after prior 2/2 pass; no changed-path overlap" }, { - "date": "2026-07-25", - "ref": "cursor/pr-babysit-bugbot-agents-6c52 (PR #1167)", - "head": "ee44812aae9dad1973d8302eba5bfca5000dffb6", - "scope": "Open-PR maintenance: review-thread fixes", - "outcome": "Before: 8 unresolved Codex/CodeRabbit threads; branch current with main. After: target-head pinning, fresh-main verification, exact `cursor[bot]` identity checks, explicit mutation/provider authorization, direct reply-then-resolve semantics, and no-op ledger bookkeeping are documented.", - "checks": "Prettier check on both agent files pass; `git diff --check` pass; GitHub author probe confirmed `cursor[bot]` account type `Bot`; no provider-backed checks run." + "date": "2026-08-18", + "ref": "claude/s2-rag-composition-7330b0", + "head": "aab67a1849472ab2db47bba9b2b63d24cc06cec3", + "scope": "src/lib/rag/answer-composition.ts (new), src/lib/rag/rag.ts buildAnswerInput + answerSections maxItems 6, src/lib/rag/rag-answer-instructions.ts, src/lib/rag/rag-versioning.ts (prompt v19, schema v4), src/lib/openai.ts prompt-cache key, adversarial baseline re-capture, HANDOVER/README/behaviour-map docs, tests", + "outcome": "packet S2 (A2 + A3) built and self-reviewed: intent-conditioned related_information_menu line + moderate length targets; RAG behaviour change, canary pair 32100681177 -> post-merge dispatch owed; PR opened for owner merge", + "checks": "focused vitest 122/122 (answer-composition 9, prompt pins 5, rag-answer-fallback, openai-cache); check:maintainability-budgets rag.ts 4362/4362; check:rag:fixtures 36 cases / 26 suites; eval:rag:offline 26 suites / 623 tests; eval:rag:adversarial:offline 25/25 (3 KNOWN_DIVERGENCES pinned); check:production-readiness (provider env absent in worktree); verify:pr-local heavy scope: lint/typecheck green, unit 7023 passed / 1 pre-existing Windows path flake in tests/session-start-hook.test.ts reproduced at merge base 4ea310e48; build green; medication checks green" }, { - "date": "2026-07-25", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "05ec10d50bd18b63e23fa2e8ce1bc1d00fb182c5", - "scope": "Open-PR maintenance: CI fix + threads + drift", - "outcome": "Before: Static PR checks/PR required failed and 1 unresolved P1 thread because a byte-identical PR #1149 ledger row was duplicated. After: current main is merged and the duplicate is removed; the ledger guard is green.", - "checks": "branch-review-ledger guard pass (717 records); no provider-backed checks run." + "date": "2026-07-30", + "ref": "claude/root-dir-coverage-gate-v2", + "head": "aad7b20662edbc6d89960d353a6944a6d5a50f5a", + "scope": "branch-cleanup", + "outcome": "safe-delete: ancestor of merged PR #1458 head 39866014; archived batch13", + "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" }, { - "date": "2026-07-25", - "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", - "head": "e19442240afbd7f28c321e399c6b4dcb0a7c9fdf / squash bb6b394617cbd906285ebe19e0e452912793320a", - "scope": "prlanded after squash merge", - "outcome": "MERGED. Two-dot content diff vs `origin/main` empty; clinical gate preserved; `no-hardcoded-hex` + theme CSS on main; PWA manifest theme colours intentionally absent. Hosted PR required SUCCESS (Unit/Build/Static/Production UI). Remote salvage branch deleted by squash `--delete-branch`.", - "checks": "`gh pr view` MERGED; `git diff origin/main e19442240` empty; trustGated grep on main; no provider-backed checks." + "date": "2026-08-10", + "ref": "PR #1788", + "head": "aaeb54630fde2c05efe9a90eda13fbb92cc933c0", + "scope": "Run PR sweep", + "outcome": "Static PR maintainability: extracted useAnswerThreadBootstrap (ClinicalDashboard 4144→4106); merged origin/main (#1794/#1795)", + "checks": "check:maintainability-budgets pass; vitest bootstrap+storage 17; tsc clean; CI pending after push" }, { - "date": "2026-07-25", - "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", - "head": "pending-ci-retrigger", - "scope": "CI unblock after bot sync", - "outcome": "Hosted pr-branch-sync merged main onto tip (`68d0ceaab`), leaving CI `action_required` for bot-authored runs. Pushing agent commit to re-trigger non-bot CI before squash-merge; then close #1190.", - "checks": "Local pwa-manifest 8/8; trust gate present; prior unit failure fixed. No provider-backed checks." + "date": "2026-07-17", + "ref": "PR #635 / claude/github-actions-codex-issue-f4t4s5", + "head": "ab09a8d52cc0a8a7e71b37885aaa358aae2522c8", + "scope": "post-merge merge-readiness review", + "outcome": "Already squash-merged to main on 2026-07-14 by BigSimmo. No open review threads or inline comments. CI required checks all green (Change scope, Static PR checks, Safety and config checks, Unit coverage, PR required, Semgrep, Gitleaks, GitGuardian); UI/build/migration jobs correctly skipped. Landed diff is test/guard hardening only for missing `CODEX_TRIGGER_TOKEN` graceful skip. No high-confidence P0-P2 defect. Source branch already deleted. No further merge action needed.", + "checks": "Hosted CI status via `gh pr checks 635` (all required pass); local `node scripts/check-codex-autofix-workflow.mjs` pass; focused Vitest `tests/codex-autofix-workflow.test.ts` 41/41. No OpenAI/Supabase/provider writes." }, { - "date": "2026-07-25", - "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", - "head": "pending-ci-retrigger-2", - "scope": "CI unblock + skip-branch-sync", - "outcome": "Repeated pr-branch-sync bot merges left CI `action_required`. Applied `skip-branch-sync` label and agent retrigger so required checks can finish for squash-merge; then close #1190.", - "checks": "Hosted CI pending on tip; no provider-backed checks." + "date": "2026-07-31", + "ref": "origin/agent/document-topbar-actions", + "head": "ab0e8f9d31dd7dfdb5754b46e0110c5184166ba6", + "scope": "branch-cleanup", + "outcome": "safe remote delete: PR #1381 merged; only later change is its already-preserved CI review row; archived batch14", + "checks": "GitHub PR state; PR-head ancestry; one-file post-head diff; ledger lookup; bundle verify" }, { - "date": "2026-07-25", - "ref": "cursor/pr1196-coalesce-main-4711 / PR #1212", - "head": "fbe4f46ee", - "scope": "fix-forward from #1196 review: coalesce poison + fractional PDF pixels", - "outcome": "Immediate map delete on last-waiter abort for search/embedding coalescing; ceil fractional render dims before safe-integer pixel budget. Regression tests + repro script.", - "checks": "Vitest openai-cache + pdf-extraction-budget + private-access-routes: 163 passed; node repro script. No provider-backed checks." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: matcher + artifact follow-ups)", + "head": "ab145f6", + "scope": "Remaining documented improvements implemented: word-boundary textContainsClinicalTerm + top-10 canary artifact rows", + "outcome": "Matcher: boundaries + internal separators widened to any non-alphanumeric run — PROVEN strict superset by artifact replay on canary #53 (1,126 term×alias×result comparisons, 0 lost matches, 7 gained = exactly the previously-documented punctuation-joined occurrences: treatment,/mood,/(opioid/ptsd.[35]/ciwa-ar ×3). More-tolerant measurement cannot fail a passing case → weekly scheduled canary = free live confirmation. Exported + 3 direct unit-test groups (superset preservation, audit classes incl. line-broken 'ciwa- ar' and 'full-blood-count', substring-inside-word rejections). Artifact: topResultSummary 5→10 rows so rr@10/irrelevant@10 metrics' actual inputs are captured — unblocks the offline irrelevant@10 labeling audit next artifact. docs/rag-behaviour updated to implemented state. Phase E remains gated on separate approval.", + "checks": "Targeted vitest 59/59; npm run test 3028 passed / 1 known container pdf-budget artifact; lint+typecheck+prettier clean; audit script run recorded above; no provider calls" }, { - "date": "2026-07-25", - "ref": "cursor/pr1197-fix-regressions-d06a (PR #1197 fix)", - "head": "c1e9696de6000440ad5b44e4d2fb2738a858deae", - "scope": "Fix-forward after Bugbot do-not-merge review", - "outcome": "FIXED for tip. Synced to origin/main; restored clinical-notes trust gate + boundary tests + summaryMode 400 contract by taking main; removed ISSUE-07 RAG pre-classifier (rag.ts matches main — RAG impact: no retrieval behaviour change). Kept only additive SQL remediation: migration 20260725000000 (real worker URL + ISSUE-05 revokes), schema.sql URL/[REDACTED] fix + ISSUE-05, regenerated drift-manifest. Dropped broken upload authority refs (undefined canonicalAuthority).", - "checks": "Vitest: summaryMode reject + ClinicalNotes boundary 4/4; rag-classifier-memo + rag-tail-latency 17/17; upload smart-title/cleanup 3/3; check:migration-role pass; drift:manifest regenerated via Docker. No provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1289 / `codex/rag-reliability-final`", + "head": "ab6ca036937bff1acaefbda8a5581d6d75f489b3", + "scope": "Final current-main sync review", + "outcome": "APPROVE pending fresh exact-head required checks. Merged current `origin/main` without conflict after its already-reviewed document-search and focus-path changes; no protected RAG, evaluation, migration, or RAG fixture surface changed from the live-canary application tree, and no P0-P2 finding remains.", + "checks": "`git merge-tree --write-tree` CLEAN before sync; branch-ledger guard and `git diff --check` PASS; prior exact application-tree `verify:pr-local` and live 36-case canary remain applicable; fresh hosted checks required." }, { - "date": "2026-07-25", - "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", - "head": "4138c0dd9ac0096787af47f7d86a9adc390eeb44", - "scope": "PR babysit sweep + squash merge", - "outcome": "Before: CONFLICTING on outstanding-issues + search-scope vs #1191; PR policy missing RAG/clinical checklist. After: kept loadScopeLabels batching, closed #030/#075, fixed PR body; squash-merged.", - "checks": "pr-required + PR policy + Gitleaks; focused search-scope/eval tests; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/rag-cross-reference-guard", + "head": "abb648e0bd64631db41412148d93eee39eb4f5d2", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #538; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", - "head": "96ba61520aeea59647dcaec6671ccb82618553ef", - "scope": "CORRECTION: real SHA for the 2026-07-24 post-sync #1177 row", - "outcome": "That row recorded `96ba6152c1f8e5e0000000000000000000000000`, a zero-padded placeholder that resolves to no Git object. The real commit is `96ba61520aeea59647dcaec6671ccb82618553ef` (\"ci: remove PR_POLICY_BODY.md after sync\"); the reviewed outcome itself is unchanged.", - "checks": "`git rev-parse` verification; `npm run check:branch-review-ledger` pass; no provider-backed checks run." + "date": "2026-07-14", + "ref": "codex/dsm-diagnosis-mode", + "head": "abba3c7d2909017f1691041c2caa11d9716c565e", + "scope": "branch-cleanup", + "outcome": "Retained because its checked-out worktree is dirty and task-backed, despite no unique committed patch remaining.", + "checks": "Worktree status and Codex task-registry scan." }, { - "date": "2026-07-25", - "ref": "cursor/search-performance-review-4ee9 (PR #1134)", - "head": "692834a86e612cc8b311dc6895e007f182f5c5b8", - "scope": "Open-PR maintenance: superseded docs-link thread and clean main sync", - "outcome": "Before: branch was behind current main with one outdated docs-link thread; its product tree already matched main. After: merged current main cleanly and verified the route-group-aware docs-link fix now covers legacy route references. RAG impact: no retrieval behaviour change — history sync and docs tooling verification only.", - "checks": "`node scripts/check-docs-links.mjs` pass (1154 references); clean merge-tree; no live RAG canary or provider-backed check run." + "date": "2026-07-09", + "ref": "example/branch", + "head": "abc1234", + "scope": "branch-cleanup", + "outcome": "Example: already merged into `main`; no unique patch content.", + "checks": "`git log --right-only --cherry-pick main...example/branch`; `git diff --name-status main...example/branch`" }, { - "date": "2026-07-25", - "ref": "cursor/sidebar-six-item-land-cfa0 (PR #1174)", - "head": "c44a5c536e43f300feb1b88892d0b2a8ca2c4feb", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: GitHub reported DIRTY and Static PR checks failed formatting `docs/outstanding-issues.md`; 0 unresolved threads. After: merged current `origin/main` cleanly and formatted the failing document.", - "checks": "Prettier check pass; `git diff --check` pass; no provider-backed checks run." + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "ac056083bad351659cc970171c8cd62bbb3526a5", + "scope": "Codex P2: sync recipe catalogs after prune", + "outcome": "FIXED. Updated `.design-sync/conventions.md` + `docs/redesign/09-ui-primitives-recipes.md` (plus badge/design-system mentions) so catalogs no longer advertise deleted or module-private recipes (`insetCard`, `iconTile`, `compactMetadataRow`, `commandInput`, `toneWarningQuiet`, …).", + "checks": "Doc grep of catalogs vs `ui-primitives` export surface; `check:branch-review-ledger`. No provider calls." }, { - "date": "2026-07-25", - "ref": "cursor/sidebar-six-item-land-cfa0 (PR #1174)", - "head": "pending-merge", - "scope": "CORRECTION: clarify sync vs product merge for the d97c11e6 content-proof row", - "outcome": "The earlier \"from `cd54e68f` onto main\" / \"merged onto current main\" wording meant the feature branch was synchronized with `origin/main` (main merged into the feature branch); the six-item sidebar product change is not yet on `main` until this PR merges. Date 2026-07-25 on the c44a5c53 sweep row is the actual execution date (not future-dated).", - "checks": "CodeRabbit threads on ledger/OI wording; no provider-backed checks run." + "date": "2026-07-24", + "ref": "`codex/answer-relevance-fail-closed`", + "head": "ac0d4305478a0bc8fef03894b78ec5911912c08a", + "scope": "Missing answer-relevance metadata across render policy and live dashboard grounding", + "outcome": "APPROVE after resolving two review P2s. A shared `isAnswerSourceBacked` predicate now requires explicit `isSourceBacked: true`; missing or explicitly negative relevance cannot retain high render trust, a grounded dashboard state, visual/table evidence, or a clinical-notes table bypass. Explicitly source-backed answers preserve supported behavior. Retrieval, ranking, generation, source selection and stored data are unchanged. Highest residual risk is deliberate compatibility tightening for older answer payloads without relevance metadata; they render low-trust and expose review sources rather than richer evidence blocks.", + "checks": "Initial red policy proof failed with `high`; two later red proofs exposed retained visual evidence and the clinical-notes raw-table affordance, then passed after both render-model gates. Focused render/provenance/clinical-safety tests passed 37/37; the focused DOM/policy pair passed 31/31. Offline RAG passed 21 suites/308 tests and 36/36 fixtures; production-readiness was READY against `Clinical KB Database` read-only; `verify:pr-local` passed runtime, formatting, lint, typecheck, all 366 test files (3,254 passed/1 skipped), production build (1,677 pages), client-bundle secret scan and RAG fixture validation; the earlier local `verify:ui` passed 267/267. After the final UI fix, `verify:cheap` again passed all 20 non-test gates, lint, typecheck and 3,254 tests, with only tracked issue #067 timing out under machine load; its isolated retry also exceeded the same 30-second limit and was not repeated. Fresh exact-head hosted checks are required. No live RAG, OpenAI request, Supabase mutation, Railway action, production data operation or deployment ran." }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "0b4dccc21022dfb0ef82c870c6bd97532545b5d5", - "scope": "prlanded: merge confirmed", - "outcome": "MERGED to main at 0b4dccc2 (merge commit). Product tip edcd17a1 is ancestor of main; content-diff empty except this late ledger closeout (orphaned 3470279f CI-green row recovered here). Review threads resolved; required CI was green at merge.", - "checks": "prlanded content check vs origin/main; hosted PR required SUCCESS on edcd17a1; no provider-backed checks." + "date": "2026-07-27", + "ref": "PR #1286 / `fix-test-run-lock`", + "head": "ac2327d231e1f74ab63a0cd04f0c1065a8ab037a", + "scope": "Superseding closeout row (branch label repair)", + "outcome": "APPROVE. Supersedes the malformed `b9ac1621` closeout row whose branch cell lost `fix-test-run-lock` to shell backtick expansion. Same outcome: merge conflicts fixed, Bugbot clean, hosted required checks green on product tip; this tip is ledger-only.", + "checks": "Hosted PR required + Production UI PASS on `b9ac1621`; ledger guard PASS; no provider-backed checks." }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "1de1b32f562c0a972997750a5dc97a02ab1a9c15", - "scope": "Production UI fix", - "outcome": "Fixed ui-tools services referral header test (H1/quick-filters contract). Prior tip 09c6eb2d had Static/Safety/Unit/Migration green; only Production UI failed.", - "checks": "Local Playwright chromium services referral test PASS; no provider-backed checks." + "date": "2026-08-07", + "ref": "cursor/clinician-workflow-mockups-2b63 (PR #1662)", + "head": "ac5c91c7f8cf4c47f87bb85a4d107b018c8c1d73", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", + "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" }, - { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "1ea38c730f10c6b2de483c036c47e70f58780d43", - "scope": "Open-PR maintenance: restore regressed thread fixes", - "outcome": "Before: 3 unresolved review threads; the action-pin checker crashed on a duplicate helper, mobile detail-page back actions depended on browser history, and the bulk publisher-code fix was present but unverified. After: action discovery is single-source, detail routes use stable parent destinations, and all three thread fixes are covered or verified.", - "checks": "GitHub Actions pin self-test and `check:github-actions` pass; focused Vitest 20/20 pass; `npm run ensure` verified http://localhost:3264; Prettier and diff checks pass; no provider-backed checks run." + { + "date": "2026-07-28", + "ref": "open-prs@2026-07-28", + "head": "ac786b3553252df48bd13ef414afbcc62e1b41e9", + "scope": "open-pr-usefulness", + "outcome": "TRIAGE of 19 open PRs vs origin/main ac786b35: CLOSE #1364 (author throwaway), #1322 (superseded by #1335), #1352 (stale continuation of merged #1305; 595 behind; real merge-tree conflicts; deletes private-access tests / diverges answer+upload). KEEP product: #1366 Claude settings diagnostic, #1365 issues #096/#097, #1335 caveman×pr-policy docs, #1360 npm-ci CI, #1361 sheet max-h, #1362 calculator/therapy mockups, #1311 doc-nav mockups+viewer, #1351 error/a11y audit, #1298 sheet-focus/P2 tests, #1295 tablet mode-home, #1268/#1269/#1267 dependabot. FOLD ledger-only #1353+#1341+#1363 into one hygiene PR then close the extras. Order: land #1335 before depending on caveman guidance; sync #1361 vs #1298 (same sheet.tsx, different deltas); refresh #1267 after #1366; do not land #096's seven unrun follow-ups piecemeal.", + "checks": "gh-pr-list; git-fetch-prune; ahead/behind+cherry-pick+merge-tree per tip; three-dot file inventory; overlap matrix; #1305 MERGED proof; content compare SettingsStateProvider/Overlay/z-ladder already on main; #1335 body supersedes #1322; no provider checks; no closes performed" }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "b9b56c140eb14cbba5a2c2230e3fa28d3a791add", - "scope": "CI unblock after bot sync", - "outcome": "Tip 96188eca had PR required SUCCESS (Static/Safety/Unit/Build/Migration/Production UI). Hosted pr-branch-sync then merged main (a420b86b/b9b56c14), leaving CI action_required for bot-authored runs. Pushing agent commit to re-trigger non-bot CI.", - "checks": "Prior tip 96188eca hosted CI green; local services referral Playwright PASS; no provider-backed checks." + "date": "2026-08-10", + "ref": "codex/ci-perfected-rollout-20260809 (PR #1789)", + "head": "accbc7c6324b839112ff8df8f9b66d3557f2b98e", + "scope": "PR babysit", + "outcome": "unblocked; merged origin/main (false-DIRTY behind-but-clean); fixed Codex P2 ui_changed for Playwright runner helpers; thread replied+resolved", + "checks": "ci-change-scope --self-test pass; merge-tree clean; no provider gates" }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "d5455837231f5cb6a927e8c4752ef5aa9c72767c", - "scope": "Merge conflict + CI + Bugbot review", - "outcome": "Merged origin/main (164 behind). Fixed conflicts in ClinicalDashboard/global-search-shell/mode-home/search-scope/tests/pdf extractor. Renamed duplicate migration 20260724120000→20260724130200. CI: skills openai.yaml, owner-scope setup-status exemption, sitemap, drift hash, answer-render duplicate key, setup-status mock `.eq`. Bugbot: fixed Codex P1 view-only indexing + P2 differential back; also fixed P2 viewer visibility for retained images and duplicate-upload cleanup ledger fail-closed.", - "checks": "Focused Vitest (back-href/worker/skills/setup-status/owner-scope/drift/sitemap/search-scope/favourites/forms/therapy/document-detail/upload-ledger) + typecheck + check:skills/migration-role/sitemap; no provider-backed checks." + "date": "2026-08-25", + "ref": "claude/settings-page-review-optimize-bicxn9", + "head": "accf3563369f981bf43b57bb76d6169a0870db96", + "scope": "PR #2364 Codex P2 preference sync + main merge", + "outcome": "Merged origin/main (adoption-manifest conflict resolved). Fixed three Codex P2 threads: optional saveRecentSearches default on PUT; mayRecordRecentSearches gate until account bootstrap; serialized/coalesced preference PUTs. Threads resolved via GraphQL (reply API 403 for cursor[bot]). Local: 9 preference tests pass; typecheck pass; maintainability budgets pass (ClinicalDashboard 4088/4140).", + "checks": "vitest: account-preferences-route + app-preferences-account-sync.dom + app-preferences (9 passed); typecheck pass; check:maintainability-budgets pass; design-system:adoption:update regenerated COMPONENTS Sheet count 29" }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "edcd17a1a77c123d347cbe774e3997bbcc50a059", - "scope": "CI green after re-trigger", - "outcome": "All required checks SUCCESS on tip after agent push (bot sync had left action_required). Scope: merge conflicts, CI unblock, Bugbot P1/P2 fixes, Production UI services referral test. Residual at the time: awaiting human review.", - "checks": "Hosted CI PR required SUCCESS; local Playwright services referral PASS; no provider-backed checks." + "date": "2026-08-19", + "ref": "claude/migration-history-drift-allowlist-37444c", + "head": "aceb66fc936821397175aead919a47b54ee455ad", + "scope": "Phase 6.2 (#Q5JHBJ): six validation guard migrations 20260819110000-110500 + fifteen migration_history allowlist entries; guard test predicate refinement; forensics/board/drift-doc; production+staging applied in the authorised window; PR #2185", + "outcome": "Drift zero on production (live-drift 32251326536 compare step: No unexpected schema drift, all 20 history rows allowed) and staging; chain replay 210/210 CHAIN == MANIFEST; seven mutants raise; production dry-runs green and a mutant fails there; job red only on the Phase 0 Align-migration-history step (PGRST106) queued as its own P2", + "checks": "verify:pr-local exit 0 (682 files / 7398 tests passed, failed none); vitest schema set 113/113; check:migration-role; check:drift --self-test; local whole-chain Docker replay + compareDriftSnapshots; production guard dry-runs + mutant; staging md5-matched Phase 2 apply + offline drift comparison" }, { - "date": "2026-07-25", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "f07c711a0e1ee853b128733a51db182d8192c3c4", - "scope": "CI unblock after Bugbot", - "outcome": "Fixed Prettier (11 files), restored package-lock/.npmrc to main so blocking npm audit is advisory (lockfile_changed=false), updated mobile-composer-reserve contract for answer-home hero breakpoint. Prior tip e5c8c49c had Static/Safety/Unit failures.", - "checks": "format:check; focused Vitest 41; ci-change-scope lockfile_changed=false; no provider-backed checks." + "date": "2026-08-09", + "ref": "cursor/smarter-meds-search-9c1b", + "head": "aced65e055892b0e2927b3999f95c6435102f610", + "scope": "medications-catalog-search typos brands", + "outcome": "main sync; catalog-local typo/brand search complete; no RAG", + "checks": "medications+route tests 49 passed; merge-tree clean" }, { - "date": "2026-07-25", - "ref": "execute-audit-remediation-plan (PR #1188)", - "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", - "scope": "Bugbot/diff-review: maintainability remediation tip", - "outcome": "BLOCK: tip tree carries unresolved conflict markers (answer/upload APIs, clinical-dashboard, services, tests); invalid `async export function sha256Hex` in indexing-v3 utils; ClinicalDashboard still calls removed `renderSystemNotice`; merge-tree vs main conflicts in check-github-action-pins.mjs + ui-primitives.tsx. Intended notices extraction/dynamic imports look mostly sound; search-scope/migration not in three-dot product delta.", - "checks": "`git grep` conflict markers on tip (none on origin/main); `git show` for ClinicalDashboard:3824 + utils.ts:191; `git merge-tree --write-tree origin/main 8b8639113`; no provider-backed checks." + "date": "2026-08-08", + "ref": "cursor/safety-plan-phone-safe-area-624a (PR #1711)", + "head": "ad1b1f5db24ed68ee4c0d5963620e4562829884e", + "scope": "heavy review-and-fix PR #1711", + "outcome": "fixed CodeRabbit sm:py guard parity; late-synced #1720 behind-but-clean; no P0/P1; Bugbot none; threads cleared; merge-tree clean; required CI green on 78c14205 pre-sync", + "checks": "vitest safety-plan+standalone 18p; verify:cheap 523/5582; verify:pr-local format+lint+typecheck+test+build+rag-fixtures; Production UI critical+(1)(2)(3)+PR required SUCCESS on 78c14205; no provider gates" }, { - "date": "2026-07-25", - "ref": "execute-system-audit-remediation (PR #1197)", - "head": "12ab1af1a353b4e3d0aa54a7d05145e296d3b2f0 / squash 8ec2a3cb698df98785ac33c12040475ceb980542", - "scope": "prlanded + merge-ready closeout", - "outcome": "MERGED (squash). Content two-dot tip vs main empty. Kept SQL URL/grant remediation; restored clinical trust gate/summaryMode; dropped RAG pre-classifier. Closed twin #1218 as duplicate. Local branch delete skipped (checked out in another worktree).", - "checks": "Hosted PR required SUCCESS; Migration replay/Unit/Static/PR policy SUCCESS; Semgrep fail was Docker Hub pull timeout (infra). `npm run check:branch-review-ledger` pass. No provider-backed checks." + "date": "2026-07-24", + "ref": "codex/query-ribbon-search-headings (PR #1166)", + "head": "ad3d38c62a19f5fa2a7e8356021795937c5b0f66", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Supersedes prior #1166 row in this push: post-merge+ledger HEAD after syncing origin/main (clean auto-merge). 0 threads; required CI re-running.", + "checks": "merge origin/main; ledger append; no provider-backed checks run." }, { - "date": "2026-07-25", - "ref": "execute-system-audit-remediation (PR #1197)", - "head": "16c3184743002af037ee4899b7b8e46e574b8457", - "scope": "Bugbot + local high-risk review + runtime summaryMode repro; prlanded check", - "outcome": "DO NOT MERGE. Not merged (prlanded skipped). Branch ~468 behind main; merge-tree dirty (outstanding-issues + audit plan). P1: removed rustGatedAnswerForClinicalNotes + deleted clinical-notes boundary tests in visual-evidence-tabs; summaryMode test expects 200 vs route 400 (summary_mode_stream_required) runtime-proven; RAG deterministic pre-classifier in rag.ts without RAG impact:/canary (PR policy FAIL + clinical preflight missing); stale outstanding-issues next-id 064 vs main 081. P2: audit-plan conflict residue (=======); dead summarizeDocument path; est:standalone heavy-lock bypass.", - "checks": "Bugbot; static three-dot vs origin/main; vitest private-access summaryMode ? expected 200 got 400; visual-evidence remaining tests 2/2 pass; gh PR policy fail logs; no provider-backed checks." + "date": "2026-07-13", + "ref": "claude/privacy-footer-responsive-adbd0c", + "head": "ad5ef99f68dfd07d56a2ad9e2d0871b7deaf882c", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-25", - "ref": "execute-system-audit-remediation (PR #1197)", - "head": "c7ae011683614c8de6027347b49e8b3fb79dfa34", - "scope": "Merge-ready polish: grant reassert + CI green path", - "outcome": "READY. Hardened migration/schema to reassert service_role EXECUTE after CREATE OR REPLACE / ISSUE-05 revokes; drift regenerated. Prior regressions remain fixed (trust gate, summaryMode, no RAG pre-classifier). Delta vs main: migration + schema + drift + ledger only.", - "checks": "check:migration-role; drift:manifest; supabase-schema + function-grants Vitest 83/83; awaiting hosted PR required on tip." + "date": "2026-07-13", + "ref": "origin/claude/privacy-footer-responsive-adbd0c", + "head": "ad5ef99f68dfd07d56a2ad9e2d0871b7deaf882c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #576; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "bdfe81e15c57d376ff74ddb611a8959b0ae94cc9", - "scope": "Open-PR maintenance: review fix + drift", - "outcome": "Before: 24 commits behind and 1 unresolved P2 thread; CSS changed phone reserve timing without pinning the timing in static/phone-scroll coverage. After: current main is merged; static coverage pins 200/240ms transitions and the motion-enabled phone-scroll sweep asserts the active 200ms reserve transition before geometry checks.", - "checks": "Prettier check pass; `git diff --check` pass; focused Vitest/Playwright not run because repository heavyweight lock is owned by worktree 6314; hosted CI will exercise the updated tests; no provider-backed checks run." + "date": "2026-07-30", + "ref": "cursor/ci-hygiene-gates-1bf5", + "head": "ad9da6a6f8ba3884b389fa78e678bb88ee72d9d1", + "scope": "ci-hygiene-gates", + "outcome": "implemented matrix unblock, scope narrow, cancelled≠failure, pinned gitleaks, critical-first UI, eval:rag:offline; skipped #093; verify:cheap 4471 pass", + "checks": "verify:cheap,check:ci-scope,check:gitleaks-pinned,check:gate-manifest,eval:rag:offline" }, { - "date": "2026-07-25", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "c88c4516476cae3246e1975ce648dff0f3ecb3f7", - "scope": "Ledger append-only placement fix", - "outcome": "CORRECTION: relocated the five PR #1142-unique ledger rows that had been inserted below the table header / among older entries so they append after the final existing record, without rewriting any other rows' content. Restores the append-only contract called out in the Codex P1.", - "checks": "`npm run check:branch-review-ledger`; no provider-backed checks run" + "date": "2026-07-27", + "ref": "PR #1271 / `codex/config-reconciliation-current-20260727`", + "head": "ada836d167f6a03f2a6514d56d3aee6304c6276c", + "scope": "Automated-review follow-up for cross-worktree local fill persistence", + "outcome": "APPROVE. The P2 was valid: caller-only process secrets could hide missing target-file values during `--root --fill`. Fill mode now computes persistent gaps from target env files while project identity still uses the merged file/process view; report mode retains its existing process override behavior. A dedicated contract proves all caller-only fillable values remain target-file gaps. No other P0-P3 finding remains.", + "checks": "Focused `tests/local-presence.test.ts` PASS (10/10); exact primary `check:local-presence -- --root C:\\Dev\\Apps\\Database` PASS; Prettier + `git diff --check` PASS; earlier exact-tree `verify:cheap` and `verify:pr-local` remain the broad baseline; hosted required checks will rerun on this follow-up." }, { - "date": "2026-07-25", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "e966b5aa972", - "scope": "Babysit sweep: spring physics / reduced-motion — auto-merged after main sync", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "adc4e2e86edce33849ec9c8080b8f0be86155734", + "scope": "PR #1490 main sync after #1496 id collision", + "outcome": "merged c8e53d57; kept main #149/#150; archived #151 via #1494; renumbered this PR's open rows to #152/#153; #143 fully resolved", + "checks": "check:outstanding-issues; docs:check-links; merge-tree clean" }, { - "date": "2026-07-25", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "e966b5aa972", - "scope": "Babysit sweep: spring physics / reduced-motion ? auto-merged after main sync", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "ade61bab0ef8d2d35e0fec7e81c08e0a850cf58e", + "scope": "close verified ledger and CI follow-ups", + "outcome": "No remaining findings after #1501 sync; retained canonical #133/#135 rows and added non-overlapping #129/#132 dispositions from main.", + "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; check:branch-review-ledger; git diff --check" }, { - "date": "2026-07-25", - "ref": "implement-audit-recommendations-fix (PR #1140)", - "head": "f4ae0a7217e", - "scope": "Babysit sweep: viewport/keyboard audit — squash-merged after CI green + thread triage", - "outcome": "production-ui + pr-required", - "checks": "merged" + "date": "2026-08-13", + "ref": "PR #1894 / codex/fix-dsm5-search-bar-and-optimize-results-page", + "head": "ae0833b902dc3fa34afeed0bb1778533d19d8fec", + "scope": "DSM search filters, result layout, and 1024px clipping review-and-fix", + "outcome": "Fixed PR-introduced 1024px result-action clipping with 48px action tracks, a shrinkable lg diagnosis column, and xl-only wide sizing; migrated the legacy ledger row; distinct manual adversarial pass found no additional P0-P2 defects", + "checks": "static layout arithmetic; new Playwright 1024px geometry regression; source and test blob verification; local npm and Playwright unavailable because github.com DNS failed and gh was absent; exact-head hosted CI pending" }, { - "date": "2026-07-25", - "ref": "implement-audit-recommendations-fix (PR #1140)", - "head": "f4ae0a7217e", - "scope": "Babysit sweep: viewport/keyboard audit ? squash-merged after CI green + thread triage", - "outcome": "production-ui + pr-required", - "checks": "merged" + "date": "2026-07-24", + "ref": "`remediate-audit-system-issues`", + "head": "ae54de2b10f1c586d90c62fc3e50654dd8e917a1 + fixes", + "scope": "Audit remediation verification and merge readiness review", + "outcome": "READY. Fixed the P1 (Unsafe automation) by restoring the WMI process name filter while expanding it to include common node wrappers (`node|npm|npx|tsx|vitest|playwright|bun`). Fixed the P3 (maintainability friction) by adding `rimraf` to `devDependencies`, ensuring offline availability in CI. No high-confidence P0-P2 defects remain.", + "checks": "Static review of diff against origin/main. Fixed issues locally and re-verified. No OpenAI, Supabase, or live provider command ran." }, { - "date": "2026-07-25", - "ref": "implement-audit-recommendations-fix (PR #1141)", - "head": "0aaf441775786e5def408a2eda551d9b5d95542d", - "scope": "Open-PR maintenance: review fix + drift", - "outcome": "Before: 24 commits behind and 1 unresolved P2 thread; nested result content retained safe-area padding after the shared dock hid. After: current main is merged and child content uses fixed small phone gaps so the shared zero hidden reserve reaches the viewport edge.", - "checks": "focused Vitest pass (7/7); Prettier check pass; `git diff --check` pass; no provider-backed checks run." + "date": "2026-08-18", + "ref": "codex/ward-management-design (PR #2140)", + "head": "ae79943faff5487f9e5f342de4a75798d2b7dfe7", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Resolved a real 7-file merge conflict against main's icon/tone registry refactor. Ported the ward-management icon into src/lib/category-identity.ts's shared registry (added ward-management to ToolCatalogId, an activity CategoryIconKey, and the TOOL_ICON mapping) rather than resurrecting the deleted local maps in applications-launcher-page.tsx/tools-search-results-page.tsx. Unioned playwright.config.ts's regex alternatives. Regenerated docs/design-system/* via design-system:adoption:update. Fixed a stale route-count assertion in tests/design-system-adoption.test.ts. Pushed via SKIP_LEDGER_WRITE_GUARD=1 after independently verifying check:ledger-write-discipline passes cleanly against the true merge-base (known stale-tip guard false positive).", + "checks": "typecheck clean, lint clean, tests/playwright-project-isolation.test.ts 5/5, tests/category-identity.test.ts + clinical-dashboard-merge-artifacts.test.ts + design-token-contract.test.ts + mobile-interaction-regressions.test.ts + favourites-auth-gate.test.ts 80/80, tests/design-system-adoption.test.ts + design-system-target-evidence.test.ts + design-system-contract-utils.test.ts 91/91, tests/route-reachability.test.ts 5/5, format clean, check:ledger-write-discipline passed for 4666708b2f48..HEAD" }, { - "date": "2026-07-25", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "283ad65377ee3e60ceb70f5cd01974caf0a54227", - "scope": "Open-PR maintenance: keyboard overlay fallback", - "outcome": "Before: fixed docks always consumed the measured visual-viewport height, double-lifting them when `interactive-widget=resizes-content` already resized the layout viewport. After: the provider subtracts layout shrink and exposes only residual overlay height to CSS while retaining keyboard-open state.", - "checks": "Focused Vitest 18/18 pass; `npm run ensure` verified http://localhost:3264; Prettier and diff checks pass; no provider-backed checks run." + "date": "2026-07-14", + "ref": "codex/release-blocker-remediation", + "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", + "scope": "branch-cleanup", + "outcome": "Retained because its active checked-out worktree continued moving during the cleanup pass and still contains uncommitted work.", + "checks": "Active Codex task and final worktree/ref refresh; deletion prohibited." }, { - "date": "2026-07-25", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "84e930925d929ff45fded8f1276e6746e45bc9b3", - "scope": "Open-PR maintenance: review fixes + drift", - "outcome": "Before: 24 commits behind, 2 unresolved Codex threads; keyboard baseline reset existed but `--keyboard-height` had no dock consumer. After: merged current main cleanly; visible reserves include keyboard height and the edge-to-edge phone dock translates above overlay keyboards while hidden reserve stays zero.", - "checks": "focused Vitest pass (15/15); Prettier check pass; `git diff --check` pass; `npm run ensure` verified project at localhost:3264; full `verify:ui` not run because hosted CI will rerun and repository heavyweight work was active elsewhere; no provider-backed checks run." + "date": "2026-07-14", + "ref": "main", + "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", + "scope": "branch-cleanup", + "outcome": "Protected local base retained and safely fast-forwarded to the latest locally observed `origin/main`.", + "checks": "Ancestry check; confirmed `main` was unattached before `git branch -f main origin/main`." }, { - "date": "2026-07-25", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", - "scope": "PR babysit sweep + squash merge", - "outcome": "Merged after sync/threads/CI fixes (keyboard lift, baseline reset, Sources focus). prlanded content empty.", - "checks": "Hosted PR required SUCCESS. No provider-backed checks." + "date": "2026-07-14", + "ref": "origin/main", + "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", + "scope": "branch-cleanup", + "outcome": "Protected remote-tracking base retained; snapshot only, with no provider fetch performed.", + "checks": "Final locally observed remote-tracking ref after concurrent repo activity." }, { - "date": "2026-07-25", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", - "scope": "PR babysit sweep: sync + threads + CI fix + squash merge", - "outcome": "Before: CONFLICTING/DIRTY (stale), threads open, behind main. After: merged origin/main, resolved Codex/CodeRabbit threads, fixed document-viewer keyboard lift + baseline reset + Sources focus restore; Production UI green; squash-merged.", - "checks": "Hosted CI PR required SUCCESS on tip 761765a3f; focused vitest keyboard/overlay contracts. No provider-backed checks run." + "date": "2026-07-28", + "ref": "claude/top-search-design-mockups-w53znc", + "head": "af07e34b5e6ca958206926a05509c1e321dbe862", + "scope": "bugbot SearchResultsHeaderBand favourites status", + "outcome": "P1: favourites status override under-reports registry faults when any items exist; empty/filter guards use overridden status; registryStatus unused. P2: demo prototype merge still over-faults band. No code change.", + "checks": "static review of band/favourites/diff call sites; offline fold proof; PR thread context; no provider/CI" }, { - "date": "2026-07-25", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", - "scope": "PR babysit sweep: sync + threads + CI fix + squash merge", - "outcome": "Before: CONFLICTING/DIRTY (stale), threads open, behind main. After: merged origin/main, resolved Codex/CodeRabbit threads, fixed document-viewer keyboard lift + baseline reset + Sources focus restore; Production UI green; squash-merged. prlanded content-diff empty.", - "checks": "Hosted CI PR required SUCCESS on tip 761765a3f; focused vitest keyboard/overlay contracts. No provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "af0e46ddc9916750094d0c0960f9a82c0ad64ad2", + "scope": "branch-cleanup", + "outcome": "merged PR #1441 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1441 MERGED at exact final head dbfd3068f8c47b5fb6465ae0b24015835fd50adb; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-25", - "ref": "information-page-shell (PR #1148)", - "head": "5b9574af480", - "scope": "Babysit sweep: unify information-page structure — squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-28", + "ref": "PR #1291 / `claude/issues-upload-limit-sync-123366`", + "head": "af140d11d5ca23dee0d8705d9933db967fc8c404", + "scope": "Babysit closeout tip", + "outcome": "Supersedes prior #1291 row at `16075581` after appending the conflict/Bugbot ledger record. Product delta vs main unchanged: `#085` upload-limit capture only. merge-tree CLEAN; awaiting exact-head required checks.", + "checks": "ledger append + check:branch-review-ledger PASS; prior tip hosted PR required SUCCESS." }, { - "date": "2026-07-25", - "ref": "information-page-shell (PR #1148)", - "head": "5b9574af480", - "scope": "Babysit sweep: unify information-page structure ? squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-26", + "ref": "cursor/global-header-scroll-hide-4fd7 (PR #1222)", + "head": "af235c399d8298fcbb28c6e7a990fafdf27d3531 / squash 0b82a826dd7953a14c56491ae9e52f3fae77ee5b", + "scope": "prlanded after squash merge", + "outcome": "MERGED. Cross-breakpoint header hide/reveal; two-dot content diff vs `origin/main` empty; remote branch deleted by `delete_branch_on_merge`. Required contexts (Gitleaks, PR required, PR policy) SUCCESS on the merged head, along with Build, Unit coverage, Static PR checks, Production UI and Advisory UI. `skip-branch-sync` was applied first because repeated pr-branch-sync bot merges left every new head `action_required` (same pattern as #1214).", + "checks": "`gh pr view` MERGED by BigSimmo; `git diff origin/main af235c39` empty; post-merge main is green except `worker-image`, which failed in Set up Docker Buildx on `registry-1.docker.io` context deadline exceeded - a Docker Hub flake unrelated to this UI-only diff, and not a required context. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "mobile-ergonomics-fixes (PR #1156)", - "head": "de1a82b4936", - "scope": "Babysit sweep: mobile touch ergonomics — squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-26", + "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", + "head": "af4908bb9bdbf7a30fc1f8ed031ef9bd75f292ef", + "scope": "Authorized babysit sweep", + "outcome": "Fixed P1 documents-search ownership + P2 reserve-reveal transition; forms readiness null-slug + private-scope hash; merged remote Suspense standalone paths. 6/6 threads replied+resolved (1 deferred boundary scan).", + "checks": "Focused Vitest search-route-ownership + clinical-dashboard-merge-artifacts PASS before final push; hosted CI re-running. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "mobile-ergonomics-fixes (PR #1156)", - "head": "de1a82b4936", - "scope": "Babysit sweep: mobile touch ergonomics ? squash-merged", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-08-07", + "ref": "cursor/viewer-phase2c-rail-filmstrip-1db8 (PR #1707)", + "head": "af52b592bd22794f5cf96cbca0fb27f2d6bbb3e3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Not behind main, no merge needed (mergeable_state 'blocked' was just the failing required check). Fixed the real Unit coverage CI failure: tests/document-image-filmstrip.dom.test.tsx still asserted the stale aria-current='true' after the component was already fixed to emit 'page' for an earlier a11y review finding -- exactly matched an unresolved CodeRabbit finding, applied its suggested fix. Also fixed an unresolved LOW-severity Sentry finding (image metadata line could start with a leading ' · ' separator when image_type is falsy) by collecting parts into an array and filter+join instead of individually prefixing. All 4 review threads now resolved (2 new fixes + 2 already-fixed-on-branch copilot threads).", + "checks": "eslint on both fixed files (clean); local vitest blocked by environment-wide missing tailwind-merge dependency -- relying on CI" }, { - "date": "2026-07-25", - "ref": "open-pr-babysit-continuation-20260725", - "head": "multipass", - "scope": "(recorded with Outcome)", - "outcome": "Babysit continuation after 14 merges: #1177 landed; #1174/#1178/#1153 in progress; drafts #1187/#1192 skipped; large cluster #1162/#1185/#1186/#1188/#1190 content-conflicted (skip).", - "checks": "merge-tree inventory; no provider-backed checks." + "date": "2026-07-24", + "ref": "`cursor/docs-reliability-review-c38b`", + "head": "af5d44abf031581d256006b51a1be98563d441d5", + "scope": "Documentation reliability review vs repo state (setup, env, ops runbooks, testing safety)", + "outcome": "Fixed P1/P2 doc drift: worker region Sydney→Railway Singapore; DR golden gate 23/23→36/36; Railway health `/api/health/ready`; auth checklist aligned to magic-link+OAuth UI; staging identity vars in `.env.example`; provider-approval boundary on testing/readiness docs; mode count 11→13. No P0. Residual: historical `23/23` mentions in point-in-time/archive docs left alone.", + "checks": "`npm run docs:check-links`; `npm run docs:check-index`; `git diff --check`. No provider/OpenAI/Supabase/Railway mutation." }, { - "date": "2026-07-25", - "ref": "open-pr-babysit-sweep-20260725", - "head": "multipass", - "scope": "Babysit continuation: approved action_required workflows; Sources autofocus fix on #1141; ledger dedupe #1157; outstanding-issues merges #1175/#1177; skipped non-trivial conflict clusters #1162/#1185-1190/#1187 draft", - "outcome": "gh checks + merge-tree", - "checks": "in-progress" + "date": "2026-08-14", + "ref": "claude/ledger-reconcile-batch-2", + "head": "af68b3271922656ef97312dae513a3f6906aec76", + "scope": "docs/outstanding-issues.md + inbox — second serial reconciliation of 35 queued requests", + "outcome": "Applied 25 active mutations (13 done, 6 add, 6 update) plus 5 cancellation decisions. Ledger 106 open/222 archived -> 99/235; inbox 0 pending/129 applied. Three closures queued in PR #1940 (#235 #237 #238) were cancelled by review and stay open: each asked for visual or browser proof and had been closed on executable evidence. Zero live same-target collisions verified before applying.", + "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" }, { - "date": "2026-07-25", - "ref": "origin/execute-audit-remediation-plan (PR #1188 closed tip)", - "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", + "date": "2026-07-30", + "ref": "codex/review-pr1462-v2", + "head": "af7b4f21fa2a0f6dba58b5df9e67e036c4bd58a2", "scope": "branch-cleanup", - "outcome": "DELETED remote. Tip rejected (conflict markers + parse breakers); intentional maintainability work already on main via #1213 (`8e3a49d0`). IMP-04 mockup/export prune from tip commit `3bc391dff` was not ported (knip-only unexports; optional follow-up). Local Antigravity worktrees left untouched.", - "checks": "Content proof: notices/utils/Sheet autofocus on origin/main; tip marker count 12; `git push origin --delete execute-audit-remediation-plan`. No provider calls." - }, - { - "date": "2026-07-25", - "ref": "PR #1090 / `cursor/fix-phone-dock-edge-1b1d`", - "head": "c993975f6b18393a9ff09f9145fd42dbb35df942 (merged as 09028ef217209fceb53f1122ac7738b509bce323)", - "scope": "prlanded — phone dock edge-to-edge / white-strip fix", - "outcome": "MERGED. Content verified on `origin/main` (empty three-dot diff; spot-check dock CSS, ClinicalDashboard inset-0 shell, edge-to-edge Playwright test). No orphaned late commits. Remote branch already deleted; local branch removed. Codex review found no major issues; required CI green at merge.", - "checks": "Hosted required + Production UI green at merge; local maintainability budget + Prettier follow-ups landed in tip `c993975f`." + "outcome": "local worktree HEAD is contained in final merged PR #1462 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-07-25", - "ref": "PR #1162 / `execute-audit-code-remediation`", - "head": "692eb248c095d64443a5f9ed0ab7b02394f0ed4b", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "CONDITIONAL after rebase. Substantive upload RPC + batch signed-URL work looks sound (service_role-only SECURITY DEFINER; batch auth equivalent to single-image). Still CONFLICTING vs main (ClinicalDashboard, global-search-shell, mode-home-template, search-scope, tests, pdf extractor). P2: batch rate-limit amplification ×100; mobile back `push` vs `back` semantics; duplicate-hash match via plpgsql message text. CI red on Static/Safety/Unit/UI/Migration.", - "checks": "merge-tree conflict list; static auth/RPC review. No provider/migration replay." + "date": "2026-08-21", + "ref": "claude/gate-e-blinded-eval-b6076d", + "head": "af8afeba09916f44462ba53609560f0118ca0940", + "scope": "Gate E blinded-eval capture tooling: eval-answer-quality --extra-cases + gate-outcome dump fields, new scripts/blind-answer-pairs.ts build/unblind, tests, docs (PR #2208)", + "outcome": "PR #2208 opened; offline-only, no retrieval behaviour change (#E0N0QC); paid v18-vs-v19 capture pending owner approval", + "checks": "focused vitest 36/36; offline contract 26 suites/627; adversarial fixtures 24 recorded + harness 25/25; check:rag:fixtures 36/26; typecheck 0; lint 0; docs checks green; full suite: load-flake timeouts only, disjoint sets, unrelated files" }, { - "date": "2026-07-25", - "ref": "PR #1185 / `execute-typography-audit-fixes`", - "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "REBASE/CHERRY-PICK ONLY. Intentional delta is safe (5 files, font-stack + mockup heading/truncation). Tree still carries conflict markers from `faa50e6e3` so PR as-is cannot build. Cherry-pick `dd641579` onto current main.", - "checks": "Intentional `git show --stat`; marker scan on head. No provider calls." + "date": "2026-07-13", + "ref": "codex/pr-514-review", + "head": "af8d86117eb63428c9272e353826648f20fa0583", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-514-review; git diff --name-only reported 16 path(s)." }, { - "date": "2026-07-25", - "ref": "PR #1185 / `execute-typography-audit-fixes`", - "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", - "scope": "Fresh Cursor review + Bugbot + prlanded", - "outcome": "DO NOT MERGE / CLOSE+REDO. Confirms prior ledger: intentional tip commit is safe typography-only (5 files), but branch tree still carries committed conflict markers from `faa50e6e3` (answer/upload routes, docs, tests) so the PR cannot build. Codex P1 markers + upload publisher spoof + P2 mobile back regression are real on that dirty tree. `prlanded`: not merged (`state=OPEN`, `mergedAt=null`). Replacement: cherry-pick tip onto current main as `cursor/typography-audit-fixes-1c1e`.", - "checks": "Bugbot on PR head; `git show` of tip; marker scan; `git merge-tree`/diff vs main. No provider calls. Hosted PR policy FAIL." + "date": "2026-08-08", + "ref": "cursor/services-content-cleanup-1c73 (PR #1733)", + "head": "af90c9017fd6c1c65fab0f40f96e155bd4f64f41", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY/ledger sync + 2 Copilot threads → placeholder ranking + multi-clause criteria; threads unreplied (API 403)", + "checks": "vitest services-catalog 16 passed; no provider-backed checks" }, { - "date": "2026-07-25", - "ref": "PR #1186 / `remediate-repository-audit-findings`", - "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", - "scope": "Cursor Bugbot+review+prlanded (fresh pass, same HEAD)", - "outcome": "DO NOT MERGE; NOT LANDED (state=OPEN, mergeable=CONFLICTING, DIRTY). Supersedes same-HEAD Antigravity/Bugbot rows with runtime proof: `tsc` TS1185 on answer/upload routes; head 436 behind / 2 ahead of main; PR policy FAIL. P0 conflict markers in 8 src + 2 tests + scripts/docs; P0 duplicate `const results` eval-retrieval.ts:905/932 (RAG; no RAG impact line); P0 skills catalog 36 vs AGENTS/tests 32. P1 spawnSync blocks lock heartbeat + 30m reclaim steals locks; branch:cleanup no dry-run + shell interpolation; skill-create wrong openai.yaml shape. Do not delete branch.", - "checks": "Bugbot; tsc sample; marker/catalog grep; gh pr view mergeable; no provider/eval/UI runs." + "date": "2026-07-28", + "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", + "head": "af9a957b", + "scope": "Babysit recheck", + "outcome": "Hosted CI green on prior tip; GitHub DIRTY was staleness (merge-tree CLEAN). Merged origin/main cleanly. Unresolved threads 0. Bugbot: no cursor[bot] findings.", + "checks": "merge origin/main; check:type-scale --strict PASS; no provider checks." }, { - "date": "2026-07-25", - "ref": "PR #1186 / `remediate-repository-audit-findings`", - "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", - "scope": "Explicit Bugbot PR review (reconfirm same HEAD)", - "outcome": "DO NOT MERGE. Reconfirmed prior Antigravity findings; skill count correction 32?36 (not 35). P0: conflict markers in API/UI/tests/docs (tsc TS1185). P0: duplicate `const results` in `scripts/eval-retrieval.ts` (RAG eval; PR body lacks RAG impact line). P0: skills catalog 36 vs test/AGENTS 32. P1: heartbeat under `spawnSync` never runs so 30m mtime stale reclaim can steal live locks; `branch:cleanup` deletes with no dry-run + shell-interpolated branch names; `skill-create` emits non-`interface:` openai.yaml.", - "checks": "Marker grep + tsc sample; catalog count node; static lock/sweep/skill-create review. No provider/eval runs." + "date": "2026-07-13", + "ref": "claude/hero-composer-teardown-microtask", + "head": "af9ada42fa069761d21fc1a57e60a80d89e15dbc", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-25", - "ref": "PR #1186 / `remediate-repository-audit-findings`", - "head": "8637fec36dea6534c02e5b3f12e5a913c10bc455", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "DO NOT MERGE. P0: duplicate `const results` in `scripts/eval-retrieval.ts` (RAG eval surface; needs RAG impact line). P0: skills catalog 32→35 breaks `tests/database-skills.test.ts`. P1: stale-lock heartbeat never fires under `spawnSync`; `skill-create` YAML wrong shape; `sweep-merged-branches` destructive without dry-run + shell interpolation. Inherits conflict markers.", - "checks": "`git show` eval-retrieval duplicate const; marker scan. No provider/eval runs." + "date": "2026-07-13", + "ref": "origin/claude/hero-composer-teardown-microtask", + "head": "af9ada42fa069761d21fc1a57e60a80d89e15dbc", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #504; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "PR #1187 / `cursor/fix-mode-switch-lag-22f6`", - "head": "113de416970cceea8952df55b3fe41cd7a2ca82a", - "scope": "Explicit thorough open-PR review", - "outcome": "DO NOT MERGE. CONFLICTING on `globals.css` (semantic vs main motion tokens). P1: `isDashboardModeHref` early-return breaks Answer→Documents cross-mode search (`/documents/search` keeps ClinicalDashboard mounted; stale mode + `run=1` can fire unintended answer generation). P2: dock reveal snap; phone dock flash on mode-home nav; forced scrollTop=0 on every pathname; skeleton min-height overshoot. PR body mismatched.", - "checks": "Static path trace through app-modes/search-route-ownership; merge-tree confirmed globals.css conflict. Hosted CI previously red (Static PR + Production UI). No provider calls." + "date": "2026-07-13", + "ref": "origin/codex/public-anonymous-access", + "head": "afae5df9155b518f93f6046c2d11634b9cd08a42", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #529; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "PR #1188 / `execute-audit-remediation-plan`", - "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", - "scope": "Explicit Bugbot + protocol review (+ /prlanded + /debug)", - "outcome": "DO NOT MERGE tip. Not landed (state OPEN, mergeable CONFLICTING, 468 behind main). P0: ClinicalDashboard orphaned import body (parse break). P0: dangling `renderSystemNotice` after helper extraction. P0: `indexing-v3-agent/utils.ts` `async export function sha256Hex`. P0/P1: `CLINICAL_PHRASE_PATTERN` left in index.ts but used from utils. P0: ~12 files still contain conflict markers from archive base `faa50e6`. P1: PR policy missing Clinical Governance Preflight. P2: notice visibility dropped `answer` gate + `hidden sm:block`. IMP-04 prune unsafe vs current main (still-exported symbols in use). Clean rebuild of intentional remediation on main: `cursor/pr1188-fix-build-breakers-6ee0`.", - "checks": "Bugbot subagent; `git show`/marker scan; esbuild parse of tip utils; `gh pr view/checks`; typecheck + check:github-actions on fix branch. No provider calls." + "date": "2026-07-30", + "ref": "PR-1497", + "head": "b0243464df533a94199b670f1bf0563d84d3f4d6", + "scope": "PR #1497 combined exact-head review after concurrent main sync", + "outcome": "APPROVE; retained all append-only records and the type-safe timeout diagnostic; no remaining P0-P2 findings.", + "checks": "check:codex-cloud PASS; full Vitest 444 files / 4644 passed / 3 skipped; readiness 6/6; tsc --noEmit PASS; issue/ledger/format/diff/final audit PASS" }, { - "date": "2026-07-25", - "ref": "PR #1188 / `execute-audit-remediation-plan`", - "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "DO NOT MERGE. P0: `ClinicalDashboard.tsx` orphaned import body (syntax error). P0: `indexing-v3-agent/utils.ts` has `async export function` + missing `CLINICAL_PHRASE_PATTERN`. Also inherits conflict markers from `faa50e6e3`. Prune commit otherwise clean.", - "checks": "`git show` of broken import + utils.ts; marker scan. No provider calls." + "date": "2026-07-31", + "ref": "claude/warning-consolidation-mockups-09jyj7", + "head": "b02cfc9258446f6f46bb6acfadd4e978950865c2", + "scope": "PR #1437 warning consolidation mockups reopen prep", + "outcome": "ready-closed at tip (ledger row + prior fixes); PR remains CLOSED; body update attempted", + "checks": "verify:pr-local@7b41fcf5;merge-tree:clean" }, { - "date": "2026-07-25", - "ref": "PR #1188 / `execute-audit-remediation-plan`", - "head": "8b8639113925601e1687bfe4f1f29c44a4308b61", - "scope": "prlanded + close as superseded", - "outcome": "CLOSED (not merged). Content never landed; tip remained CONFLICTING with P0 build breakers. Superseded by PR #1213 (`cursor/pr1188-fix-build-breakers-6ee0`).", - "checks": "Final P0 scan on #1213 tip clean; focused Vitest 16/16; node --check utils; check:github-actions. Closed via ManagePullRequest with supersession comment." + "date": "2026-08-05", + "ref": "cursor/ledger-fastest-wins-capture-1479", + "head": "b03b51d7b22671f2734115b5fef469bd2e932ae3", + "scope": "prlanded PR #1624", + "outcome": "MERGED squash b03b51d7; 118/118 open↔queue, A1 #226 at order 5, #249–#251; orphaned #250 acuity clarify → fix-forward", + "checks": "check:outstanding-issues PASS on merge head; Bugbot clean after clarify" }, { - "date": "2026-07-25", - "ref": "PR #1188 / `execute-audit-remediation-plan` + replacement PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", - "head": "tip 8b8639113925601e1687bfe4f1f29c44a4308b61 (broken); rebuild fd67d6bf3", - "scope": "Cursor Bugbot+/review+/prlanded+/debug (fresh pass)", - "outcome": "DO NOT MERGE #1188; NOT LANDED (OPEN, CONFLICTING/DIRTY, 469 behind). Runtime-proof P0s: tsc TS1185 conflict markers in answer/upload/answer-status/etc; ClinicalDashboard orphaned import body; dangling `renderSystemNotice`; `async export function sha256Hex`. PR policy FAIL (missing Clinical Governance Preflight). Intentional ~11-file delta rebuild is PR #1213 on clean main (tsc/eslint/pins green). Close #1188 after #1213.", - "checks": "Bugbot; isolated worktree tsc on tip; gh pr view/checks; fix-branch tsc+eslint+pins+16 Vitest. No provider/UI matrix." + "date": "2026-08-18", + "ref": "claude/s3-follow-up-suggestions-95e160", + "head": "b0544fcafaf9effad83b3a379e580ccf68c921fa", + "scope": "packet S3 / A4: menu-derived, evidence-gated follow-up chips in src/lib/answer-follow-up.ts + focused unit and DOM proof", + "outcome": "Approved - deterministic composition only; candidates come from the S2 related-information menu, gated on retrieved evidence, suppressed when the answer or an emitted section of that kind already covers them; no src/lib/rag edit, no ClinicalDashboard change, no new module/field/render block; generation prompt untouched", + "checks": "answer-follow-up 27/27; answer-follow-up-chips DOM 6/6; answer-composition 9/9; lint; typecheck; build compiled 2.6min + client bundle secret check; eval:rag:offline 26 suites/623 tests (36 golden cases); eval:rag:adversarial:offline 25/25; check:medication-interactions; check:medication-lexicon-report; full unit suite 7079 passed / 8 failed in 6 unrelated files - session-start-hook reproduced at merge base e1749bf8d, the other five pass in isolation on this branch (Windows parallel-load timeouts)" }, { - "date": "2026-07-25", - "ref": "PR #1190 / `remediate-dark-mode-audit`", - "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", - "scope": "Close without merge after #1214 salvage", - "outcome": "CLOSED (not merged). Unsafe tip superseded by #1214. Remote branch `remediate-dark-mode-audit` retained pending optional cleanup; do not merge.", - "checks": "`gh pr view` state=CLOSED mergedAt=null; no provider-backed checks." + "date": "2026-07-22", + "ref": "PR #1085 / `codex/reconcile-docx-budgets`", + "head": "b08c60e1127592f0bc08f88797905f1e871172ce (merged as 008a92b0fbad652484b6cdde6295bc456f4b7bf9)", + "scope": "DOCX extraction-budget review", + "outcome": "MERGED after two valid allocation-order findings. Declared media/Word-XML sizes are checked before inflate/materialization, with post-read fail-safes; artifact count, single/aggregate bytes and extracted text are bounded. All threads resolved.", + "checks": "Red 1,001-media reproducer; focused 7/7; `verify:cheap` 3,214 passed / 1 skipped; PR-local; hosted coverage/build/security/policy green." }, { - "date": "2026-07-25", - "ref": "PR #1190 / `remediate-dark-mode-audit`", - "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", - "scope": "Cursor review+Bugbot+prlanded+debug (fresh pass, same HEAD)", - "outcome": "DO NOT MERGE; NOT LANDED (OPEN, mergeable=CONFLICTING/DIRTY, 468 behind / 2 ahead). Reconfirmed P0: conflict resolution deleted `trustGatedAnswerForClinicalNotes` (0 hits on head; main L584/632/659/1075) — Clinical Notes consumes ungated answer. P1: `src/app/api/answer/route.ts:6` imports nonexistent `@/lib/rag` (tsc TS2307; stream correctly uses `@/lib/rag/rag`). P1: merge-tree conflicts on answer/upload/evidence-panels + 10 paths; literal `<<<<<<<` in docs audit plan; migration timestamp collision risk vs main. Intentional dark-mode delta is only commit `363672602` (~10 files). Salvage: `cursor/pr1190-dark-mode-salvage-f453` cherry-picks that commit onto current main, restores unused-manifest-import cleanup, keeps clinical gate. Close #1190 after salvage lands.", - "checks": "Bugbot; `git grep` gate/import/markers; merge-tree; `tsc` TS2307 proof; gh pr view/checks (PR policy fail). Salvage: tsc clean; visual-evidence+overlay tests 13/13; eslint on changed files. No provider/UI matrix." + "date": "2026-08-22", + "ref": "HEAD", + "head": "b09342d33fdda41fb6955877df36f74b52c13774", + "scope": "Task 10 structured Clinical Ask feedback and migration", + "outcome": "pass: no P0-P2 findings", + "checks": "focused contract, route, migration-role and privacy review" }, { - "date": "2026-07-25", - "ref": "PR #1190 / `remediate-dark-mode-audit`", - "head": "00eca49b9b0d7e5fbfa5703a15e9e930963984a6", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "DO NOT MERGE / CLOSE+REDO. P0: deletes `trustGatedAnswerForClinicalNotes` fail-closed clinical notes gate (zero hits on branch; four on main). P1: fake favourites handler; unused theme imports after removing PWA colours; answer route imports nonexistent `@/lib/rag`; upload RPC not on main; deletes security/ingestion-safety tests. Conflict markers cleaned by discarding main's side.", - "checks": "`git grep trustGatedAnswerForClinicalNotes` main vs head; marker scan. No provider calls." + "date": "2026-07-28", + "ref": "PR #1305 / execute-audit-remediation-fixes", + "head": "b101b69631edfe51bcbbc8f6c07e47157fe2c4e8", + "scope": "CI green closeout after main re-sync", + "outcome": "APPROVE for merge by human. Hosted PR required + Production UI PASS on tip after merging origin/main (#1320). MERGEABLE. Unresolved review threads 0. Bugbot-equivalent: no P0/P1/P2 on unique product delta; @cursor review requested. Product delta retained: clinical-notes trust gating answer wipe, SettingsStateProvider wiring, z-index ladder, OverlayProvider/card fixes, phone chrome viewport breakpoints.", + "checks": "Hosted PR policy/Static/Build/Unit/Safety/Advisory/Production UI/PR required PASS on b101b696; check:branch-review-ledger PASS; no provider-backed checks." }, { - "date": "2026-07-25", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "0c2b60a646fd6e7a53cf24f778aa59e3d54ba8aa", - "scope": "Explicit thorough open-PR review (Antigravity/Cursor queue)", - "outcome": "REQUEST CHANGES. P1: `composerChromeFocused` latches forever when focused dock unmounts (no blur), pinning header scroll-hide permanently. P2: reserve-only hide gate ignores offset → near-bottom clamp (stress: 120/224 frames on answer geometry; 584 clamp-risk across sweep). P2s: submit blur to body; autofocus re-fire; non-answer `focus=1` unfixed; untested collapseKind DOM mapping; PR body copy-paste mismatch.", - "checks": "Focused Vitest mobile-composer-reserve + use-hide-on-scroll PASS in detached worktree; Node stress of reserve-only gate; static diff review. No provider/UI browser matrix." + "date": "2026-07-24", + "ref": "`codex/review-search-bar-behavior-and-establish-rules` (PR #1137)", + "head": "b10514374ac7640e5d3395f707c6f958764ae131 + ledger bookkeeping", + "scope": "PR babysit: CI fix + Codex threads + drift", + "outcome": "COMPLETED for current head. Restored Tools arm in `showDesktopHomeComposer` and moved `0rem` reserve comment to `mobileComposerReserve` (3d82ead2); replaced unresolvable ledger SHA `bcf4571…` with `6ee0484…`; formatted `docs/search-chrome-behaviour.md`; merged `origin/main` (`0cc0ee2d`). 3/3 Codex review threads resolved via GraphQL (inline replies 403 with this token). Prior CI failures (syntax from misplaced comment) cleared on 3d82ead2; Production UI job cancelled mid-aggregate before this merge — CI re-running after push.", + "checks": "Local: format:check on touched files; Vitest `ui-overlay-css-contract` + `mobile-composer-reserve` 15/15. Hosted: static/unit/build/advisory green on 3d82ead2. No provider-backed checks run." }, { - "date": "2026-07-25", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "477ec929", - "scope": "pr-ci-fix: Static PR checks / ESLint react-hooks/set-state-in-effect", - "outcome": "Two `useEffect` blocks in `master-search-header.tsx` called setState synchronously (lines 383-392). Fix: moved `heroComposerOwnsPhones`, `phoneBottomSearchDockActive`, `hideOnScrollEnabled` before `sharedChromePinned`; gated focus pins at consumer; removed both effects. Net -12 lines, budget OK (4133/4140).", - "checks": "ESLint on file: 0 errors; `npm run typecheck`: clean; `prettier --check`: clean; `check:maintainability-budgets`: PASS. No provider-backed checks." + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "b1318a4b80a3fa4b29e3de05150cf04d3aaf6525", + "scope": "CI retrigger after prettier", + "outcome": "Tip includes motion wiring + RAM-floor CI/container skips + prettier on guard-next-build. Prior Static failure was prettier-only on superseded tip `2a07c109`. Hosted pull_request CI failed to schedule on intermediate tips while a long Production UI job held the concurrency slot.", + "checks": "local focused vitest/tsc earlier PASS; awaiting exact-head hosted CI." }, { - "date": "2026-07-25", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "5b5ecf4057b54f1b689935f8cb876a2ed1cbdb3a", - "scope": "Bugbot triage after 0c2b60a REQUEST CHANGES: verify prior P1/P2 on 8b812b116 and fix remaining defects", - "outcome": "P1 confirmed: `composerChromeFocused` still latched after phone dock teardown (`shouldAutoFocusComposer` only covers answer autofocus). Fixed by clearing focus pins when dock inactive / hide-on-scroll disabled. P2 confirmed: reserve-only hide gate still ignored offset (118/191 material-clamp frames); fixed with `offset <= postCollapseMaxOffset + tol`. Compact answer hide retained; material clamps ? 0. Prior autofocus/retainTarget mitigations kept.", - "checks": "Node stress before/after; vitest use-hide-on-scroll + mobile-composer-reserve 28/28; no provider/UI browser matrix." + "date": "2026-08-22", + "ref": "work", + "head": "b158b93532511db8077e226f00bdabeaa0c3ea85", + "scope": "cloud design-status semantics implementation prompt", + "outcome": "no high-confidence findings; bounded offline-first PR1 prompt with truthful provenance and local handoff gates", + "checks": "workflow:flightplan; docs:check-links; docs:check-scripts; format; git diff --check" }, { - "date": "2026-07-25", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "70abb74f7ceee5a50748c4c1e6baa730d7225cf4", - "scope": "User-requested /review + Bugbot + /debug + /prlanded on current tip", - "outcome": "APPROVE with notes. Prior P1 focus latch and P2 near-bottom reserve-only clamp confirmed fixed on `5b5ecf405` and retained through main merge. No new P0/P1. Residual P2s: PR body was wrong audit-remediation paste (fixing); non-answer `focus=1` autofocus still broad; earlier document-detail double-header findings unchanged/out of Answer-dock scope. /prlanded: still OPEN, not merged. GitHub CONFLICTING was staleness (merge-tree clean) — merged origin/main.", - "checks": "Bugbot; focused Vitest use-hide-on-scroll + mobile-composer-reserve 28/28 before and after main merge; merge-tree clean; no provider/UI browser matrix this pass." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "b19ade499d7fa77b9f8c6b540f9baaf088284b4a", + "scope": "Required base sync through main d301d8f4", + "outcome": "approved", + "checks": "git diff --check; CI scope self-test; ledger and issue guards" }, { - "date": "2026-07-25", - "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", - "head": "73e87da63f5a9eca4162534074755891f952a4ee", - "scope": "CORRECTION/supersede: final head after Bugbot fixes + main sync + review ledger push", - "outcome": "APPROVE with notes retained from prior row. Product fixes from `5b5ecf405` still present; branch now 0 behind / mergeable (BLOCKED on CI). Wrong audit-remediation PR body corrected. /prlanded: still OPEN — do not delete branch.", - "checks": "Focused Vitest 28/28 on pre-sync tip; merge-tree clean; CI re-queued on tip; no provider-backed checks." + "date": "2026-08-13", + "ref": "codex/performance-fixes-20260813", + "head": "b1b7203ad2218650985f4cfbb04408b07889ecd9", + "scope": "registry latency, Therapy home loading, Sentry release and request errors", + "outcome": "No unresolved findings; fixed missing Accept-Encoding cache variance during review", + "checks": "98 focused tests passed across final diff, including 23 registry API tests after cache fix; format, docs, ledger, lint, and typecheck passed; full suite wrapper timed out with output-pipe EPIPE" }, { "date": "2026-07-25", @@ -19089,5964 +18857,6196 @@ "checks": "eslint master-search-header+ClinicalDashboard; maintainability 4137/4140; vitest use-hide-on-scroll+mobile-composer-reserve 28/28; no provider-backed checks." }, { - "date": "2026-07-25", - "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d @ 2955bc5c", - "head": "df72c725", - "scope": "CI / Production UI failure — non-answer phone header keeps the in-flow collapse hide", - "outcome": "FIXED. Single failing Playwright test: `tests/ui-smoke.spec.ts:3780 — non-answer phone header keeps the in-flow collapse hide`. Root cause: RAF debouncing in useHideOnScroll.onScroll coalesces a layout-clamp scroll event with the test's deliberate -24px upward scroll into one RAF evaluation. The hook sees lastMaxOffsetRef stale (pre-collapse visibleMaxOffset V) while the net offset is already V-96 (= newMaxOffset-24). The clamp detection fires (`lastOffset V > newMaxOffset V-72`), incorrectly suppressing the genuine reveal. Fix: added `offset >= maxOffset - revealIntentDistance` guard to the clamp detection in `computeScrollHideUpdate`. Only treat movement as geometry feedback when the net offset is within revealIntentDistance (12 px) of the new bottom edge. Unit test added. PR-required failure is downstream of Production UI only (no independent breakage).", - "checks": "verify:cheap pass (exit 0); npm run test 20/20 on use-hide-on-scroll.test.ts; Playwright chromium 9/9 scroll-hide smoke tests; Playwright chromium 1/1 target test. No provider-backed checks." + "date": "2026-08-24", + "ref": "PR #2358", + "head": "b23aaec3922351123bc5c069b6f99bc7cf51ca9c", + "scope": "answer page decisions + clinical-notes Essentials audit", + "outcome": "Records the four settled owner decisions in the handover with reasoning (mark stays one colour; compactCitations kept and retargeted at the rail; table aside goes; clinical-notes sheet goes). New section 10a audits the Essentials tab before its removal is recorded: all five section ids trace through buildClinicalOutputSections to the prose, the answerSections, the quote cards or promoted visualEvidence, all of which the new surface shows. No content lost; two at-a-glance views are (threshold list, stacked per-document detail). Flags that buildSourceComparisonTable fires on any 3+ document answer, and that the threshold list has no equivalent and must be re-checked on real answers before the old surface is deleted. Design study copy updated from open questions to decisions taken. Follow-up to PR #2346/#2356; branch restarted from merged main c4e4196.", + "checks": "arbiter (RUN lint), eslint, tsc --noEmit, npm run format, Chromium 1440px with 0px horizontal overflow" }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "15a8093ec4fb6abd73ddead7c0f436e633359ab8", - "scope": "Cursor review+Bugbot+/debug closeout", - "outcome": "CONDITIONAL READY / CI green on tip before final main sync. Supersedes polluted DO NOT MERGE tip. Runtime asset opts retained; themed favicon restored; SVGO/sharp lockfile delta dropped (stub `check:assets`). Residual P2: orphan unused AVIF/WebP; year-long immutable `/icons/*` Cache-Control; `minimumCacheTTL: 86400`. NOT LANDED (OPEN).", - "checks": "Hosted PR required PASS (Static/Safety/Unit/Build/Production UI); brand:check + signed-image vitest local; no provider app checks." + "date": "2026-07-17", + "ref": "PR #738 / cursor/storage-bucket-migration-02e7", + "head": "b2755c814b47cdec6868bd009f3ca1cdbc3a7dea", + "scope": "open-PR review + merge babysit", + "outcome": "Merge-ready storage-bucket idempotent migration + PR-policy base_ref checkout. Comment clarified for on-conflict reconciliation. Duplicate #710 closed. Merged to main.", + "checks": "Hosted required checks + Migration replay green; review thread resolved." }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "4bb07845d5bb50e4eda7f78fc39e1e22dacda302", - "scope": "Cleanup+PR-body prep before merge", - "outcome": "Synced main; upgraded stub `check:assets` to themed-favicon marker gate (wired into verify:cheap/CI, no lockfile); removed redundant `/icon.svg` preload; matched non-PDF failure `aria-live` to SignedImage. Residuals previously cleared. NOT LANDED (OPEN).", - "checks": "check:assets/brand:check/gate-manifest/docs:check-scripts PASS; pwa-manifest+signed-image vitest 14/14. No provider checks." + "date": "2026-07-31", + "ref": "codex/cloud-readiness-consolidation-20260730", + "head": "b29136d415b7777e648b7cc06f60c934c264d096", + "scope": "branch cleanup reconciliation", + "outcome": "superseded by merged PR #1497 with stronger provider-safe Cloud repair; archived and removed", + "checks": "git range-diff b29136d^! c0f0a30^!; PR #1497 merged; clean worktree; no process; batch19 bundle" }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "8888bf87cbdc5a061bb6d3a2cf46b638af773b1b", - "scope": "Cursor review+Bugbot+/debug (supersedes f3d90ecc Bugbot row)", - "outcome": "CONDITIONAL READY after favicon fix. Prior tip DO NOT MERGE (conflict-marker pollution) cleared by Bugbot main-merge; SignedImage transform silent no-op removed; check:assets now compare-only. Remaining P1 found+fixed: SVGO-stripped `icon.svg` failed `brand:check` and removed dark-mode favicon styles — restored `brandIconSvg()` and excluded that file from SVGO gate. Residual P2: orphan AVIF/WebP binaries unused by demo/mockup PNG refs; year-long immutable Cache-Control on unversioned `/icons/*`; `minimumCacheTTL: 86400` still a long lower bound for any optimized next/image. NOT LANDED (OPEN).", - "checks": "Bugbot; marker scan clean; brand:check + check:assets PASS; signed-image vitest 7/7; hosted Static/Safety were red on pre-fix tip (brand:check). No provider-backed app checks." + "date": "2026-07-11", + "ref": "PR #487 / claude/answer-page-design-polish-ffd5a6", + "head": "b2c772606126f8323424bc9c0b636bac77c08789", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "Two findings fixed: expanded weak/unsupported prior answers retain an explicit source-review warning, and cross-mode search actions no longer log an incorrect detail-open telemetry event. Added a persisted prior-turn browser assertion. No additional high-confidence defect was found in the changed scope.", + "checks": "Focused answer-render and cross-mode Vitest (20/20); TypeScript; focused Prettier; `git diff --check`. Browser assertion delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "963a9a0b4acb40659118eb1160712c0b99ab8bb1", - "scope": "Cursor /debug CI unblock", - "outcome": "Dropped svgo/sharp/check:assets lockfile delta (exceljs brace-expansion highs become blocking when lockfile_changed). Kept runtime asset fixes + themed favicon. Orphan AVIF/WebP remain unused.", - "checks": "brand:check/knip/prettier/signed-image vitest local PASS; no provider checks." + "date": "2026-07-13", + "ref": "claude/answer-page-design-polish-ffd5a6", + "head": "b2c772606126f8323424bc9c0b636bac77c08789", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/answer-page-design-polish-ffd5a6; git diff --name-only reported 10 path(s)." }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "98dd14853e262cd3073db3974b92f266b33289fb", - "scope": "Resolve residual P2s from Cursor review closeout", - "outcome": "Cleared residual P2s: deleted unused public AVIF/WebP orphans; replaced year-long immutable `/icons/*` Cache-Control with `max-age=86400, stale-while-revalidate=604800`; removed `minimumCacheTTL: 86400` (keep Next default 60s). Contract covered in pwa-manifest test. NOT LANDED (OPEN).", - "checks": "pwa-manifest + signed-image vitest 13/13; no provider-backed checks." + "date": "2026-08-16", + "ref": "PR-2000 / codex/chat-ledger-programme-ledger-programme", + "head": "b2cc119e622cce051a8c9551a839a5a93fbb45a3", + "scope": "PR #2000 merged-base outstanding-issue request review", + "outcome": "Confirmed premature closure of #098 and corrected it in the successor commit; the other seven requests were supported or appropriately left open", + "checks": "exact-head PR required passed at 270a0661e0812ccad0229db021cff26f4efb14a4; standalone JSON and request-schema validation; referenced commit and merged-PR audit; merge-tree verification; #237 and #238 browser evidence not independently rerun" }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "c612c88aae386a29715cadfb5dbd2b95163e1dc9", - "scope": "prlanded after squash merge", - "outcome": "MERGED. Squash tip `c612c88aa` on main; remote feature branch deleted. Product content verified on main (`check:assets`, icon Cache-Control, SignedImage/non-PDF a11y). Local review worktree retained for optional cleanup.", - "checks": "gh pr view MERGED; two-dot product-file diff empty vs origin/main; no provider checks." + "date": "2026-08-13", + "ref": "claude/rag-plan-review-guide-vhrls9", + "head": "b3367d5b3d79d155b040f30d4a709d2946cda949", + "scope": "docs: multi-session RAG programme handover pack (HANDOVER.md, catalogue, allowlist)", + "outcome": "clean", + "checks": "verify:pr-local heavy scope green (lint, typecheck, test, docs gates, check:rag:fixtures)" }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "d63682c7e68b6ea41670a0db2349817c2e29988f", - "scope": "Asset and image optimization remediation review", - "outcome": "READY after follow-up. Added transformation parameters to `SignedImage`, aspect ratio box reservation (`aspect-[4/3]`) to non-PDF source previews, immutable `Cache-Control` headers to PWA icon routes, ARIA live region attributes to image error containers, top-level `width`/`height` to `icon.svg`, WebP/AVIF public asset optimization script, SVG icon preload in root layout, explicit image caching and sizing config in `next.config.ts`, and `svgo` verification in CI. Fixed omitted CI static check step and missing PR policy governance preflight metadata. No P0-P2 findings in modified scope.", - "checks": "`gh pr checks 1195` verified PR policy, GitGuardian security checks, and Supabase preview passing after PR body metadata update. Verification results in subagent worktree: pre-existing syntax error in github action script bypassed via authorized format guard during commit; no RAG retrieval or ranking behavior change; no OpenAI, live Supabase, or provider database mutation performed." + "date": "2026-07-13", + "ref": "codex/pr-466-fixes", + "head": "b341fed3d6f8d94f1573db1ff3939e112c3240f0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #466; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "d63682c7e68b6ea41670a0db2349817c2e29988f", - "scope": "Explicit thorough Antigravity PR review", - "outcome": "DO NOT MERGE. Stale divergent base `faa50e6e3` (not ancestor of main; 434 behind) still carries literal conflict markers in `answer`/`upload` API routes. P1: `minimumCacheTTL: 86400` contradicts private signed-URL cache warning. P1: mutating `svgo` `check:assets` wired into required CI. P2: SignedImage transform query params silent no-op (not SSRF); immutable year-long unversioned icons; orphan AVIF binaries.", - "checks": "Verified markers via `git grep` on head; next.config comment contradiction confirmed. No provider calls." + "date": "2026-07-13", + "ref": "origin/claude/search-timeout-failure-s6aiuj", + "head": "b341fed3d6f8d94f1573db1ff3939e112c3240f0", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #466; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "f3d90eccf78a5e8c6569c0889d1932230588f1d2", - "scope": "Bugbot triage of asset-optimization PR (supersedes d63682c7 READY row)", - "outcome": "NOT READY previously: tip carried committed conflict markers from dirty checkpoint `faa50e6e` (answer/upload routes, services UI, tests), was DIRTY vs main, and GitHub three-dot showed ~117 polluted files. Fixed: merged `origin/main`; removed SignedImage client transform rewrite (undeclared width/height/resize + max-h-52 heuristic on object/sign URLs = silent no-op/risk); replaced mutating non-recursive `svgo -f` check:assets with `scripts/check-assets.mjs` stability gate; multipass-optimized `src/app/icon.svg`; added signed-image regression test.", - "checks": "merge-tree + tsc conflict-marker scan; `vitest run tests/signed-image.dom.test.tsx` (4 pass); `npm run check:assets` OK. No provider-backed checks." + "date": "2026-08-23", + "ref": "PR-2308", + "head": "b364eb8f5216ba0c51657d1c54ada83cdc6eeae8", + "scope": "open review-thread sweep for retired detailed mode homes", + "outcome": "CHANGES REQUESTED / fixed five unresolved review findings", + "checks": "65 focused tests; lint; typecheck; production build; offline RAG and medication checks; full suite sandbox exceptions documented" }, { - "date": "2026-07-25", - "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", - "head": "fc0afee8324561e7937be43b6346e260cafd00a4", - "scope": "Cursor /debug CI follow-up after favicon fix", - "outcome": "Static PR still red: knip unlisted `sharp` from `optimize-public-images.mjs` (was overrides-only). Declared `sharp@0.35.3` dependency.", - "checks": "`npm run check:knip` PASS locally after declare. No provider-backed checks." + "date": "2026-07-14", + "ref": "copilot/fix-database-action-issue", + "head": "b367aeb084a60fc46d3e4e8d3b318491a1530ac6", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-25", - "ref": "PR #1196 / codex/fix-p2-audit-20260719", - "head": "6d59b038514a92566e986d302b0c75707f13ea30", - "scope": "closeout: superseded by #913 / current main", - "outcome": "CLOSED without merge. Content proof: tip ~680 behind, CONFLICTING; remediation family already on main via #913 (01040d2c). Tip would regress docs admin gate, factsheet governance, PDF/RAG/auth advances. Live residual coalesce/PDF bugs fixed-forward in PR #1212. Remote branch retained (no delete).", - "checks": "Content diff vs origin/main + #913 path overlap; no provider-backed checks; no branch delete." + "date": "2026-07-13", + "ref": "origin/claude/code-rabbit-credit-barrier-sibv4s", + "head": "b379a82da4be5260957d1a38bd17a6aa82ae3ce5", + "scope": "branch-cleanup", + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #601.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-25", - "ref": "PR #1196 / codex/fix-p2-audit-20260719", - "head": "6d59b038514a92566e986d302b0c75707f13ea30", - "scope": "fresh bug/regression review + Bugbot (clinical/RAG/search/auth/privacy)", - "outcome": "Changes requested. Not merge-ready. No P0. P1: search/embedding last-waiter abort leaves dying inflight map entry so healthy same-key retry can coalesce onto aborted work (HTTP 500 / AbortError); also present on main — fixed forward in cursor/pr1196-coalesce-main-4711 / PR #1212. P2: fractional PDF render dimensions rejected by Number.isSafeInteger(pixels), aborting JS fallback — also fixed in #1212. Cleared after inspection: public storage_path omission, document chunk UUID fail-closed schema, factsheet save persistence, therapy capability flags, extractive section-dedup exemption, auth definitive-vs-retryable handling. Blockers: GitHub mergeable CONFLICTING; ~680 commits behind main; ~23 content conflicts including openai.ts, rag.ts, semantic-rerank, supabase client, package.json, therapies-index. PR body RAG impact understates clinical-search / answer-ranking / retrieval-variant edits. prlanded: state OPEN, not merged.", - "checks": "Bugbot + offline static/diff review + pure-JS race/fractional-pixel proofs; focused Vitest on #1212 fix (163 passed). Full PR #1196 Vitest/UI not re-run on stale tip. No OpenAI/Supabase/provider writes. Hosted CI for #1196 only showed PR policy pass + GitGuardian fail; required suite not green on this head." + "date": "2026-08-18", + "ref": "claude/issues-reconcile-2026-08-19", + "head": "b393cdd530e81d6bfbdc15c495d870b57c73f01b", + "scope": "Serialized reconcile of 21 queued outstanding-issues inbox requests (PR #2168)", + "outcome": "approved — documentation-only; canonical diff equals the recorded reconciliation transaction", + "checks": "check:outstanding-issues passed (392 rows, 57 open); check:ledger-write-discipline passed b400b138f8c1..HEAD; format:changed clean; inbox 0 pending / 391 applied" }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "5e22eb4c4c7f717f94e32b545f31c0d0f6374a96", - "scope": "Final merge-readiness after perfection", - "outcome": "APPROVE / MERGE-READY. Product: typography delta + Sheet late-autofocus upgrade. Hosted tip green: PR policy, Static, Unit, Build, Safety, Production UI, PR required, SAST, Secret Scan. mergeStateStatus CLEAN. Residual: human approving review if branch protection requires it.", - "checks": "Hosted CI success on `5e22eb4c4c7f717f94e32b545f31c0d0f6374a96`; Sheet DOM 5/5; no provider-backed evals." + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "b3b1eb7e7084859cd18c05152be1b9f8968592ff", + "scope": "Authorized babysit sweep", + "outcome": "Fixed P1 locality-audit-out-of-pr-local + comparator-direction conflicts; typed locality accumulator; hardened citationTelemetry schema; clozapine mg-gated span. Merged `origin/main`. 10/10 threads replied+resolved (2 deferred).", + "checks": "Focused Vitest evidence + verify-pr-local 24/24 PASS. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "6bc05690a966e3e8aebdc8ea0460b60899201c52", - "scope": "Explicit merge-readiness review (typography supersede of #1185)", - "outcome": "NOT READY. Clean 5-file product delta vs main (font-stack + mockups). Confirmed P2: answer-evidence sheet/modal titles promoted h3->h2 while nested under Section h2 (hierarchy regression). P2 process: PR body describes unrelated audit-remediation work. Process blockers: draft; tip CI/SAST/Secret Scan `action_required` (green only on older `3cc6fa0cd`). No P0/P1 product defects. Font-stack/min-w-0/tabular-nums OK.", - "checks": "`origin/main...HEAD` 6 files; merge-tree clean; marker scan clean; no provider/UI matrix." + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "b3b1eb7e7084859cd18c05152be1b9f8968592ff", + "scope": "Authorized babysit sweep", + "outcome": "Fixed P1 locality-audit-out-of-pr-local + comparator-direction conflicts; typed locality accumulator; hardened citationTelemetry schema; clozapine mg-gated span. Merged `origin/main` (verify-pr-local conflict resolved to main shape). 10/10 threads replied+resolved (2 deferred: unit normalize, query-context wiring).", + "checks": "Focused Vitest evidence + verify-pr-local 24/24 PASS. No provider-backed checks." }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "7a94877745c652b7bb7144cf9be02a22a9a0dbdf", - "scope": "Autofocus fix published", - "outcome": "Awaiting exact-head Production UI green.", - "checks": "Sheet DOM 5/5; pushed." + "date": "2026-08-08", + "ref": "claude/ds-doc-corrections", + "head": "b4051d21f38755f7d37dbc2b49994f689af801b5", + "scope": "M1 stranded doc corrections, final reviewed head (adds the review-response commit: COMPONENTS.md section 4 integration-vs-adoption split and the re-measured ui-primitives row)", + "outcome": "merged to main as 8cffad59a. Supersedes the 534405600 record, which was accurate at that head but predates the review pass. Three findings, all valid and all fixed: Codex caught four future-dated 2026-08-09 records (corrected to the 2026-08-08 authoring date by f3a91c67c, verified none remain); CodeRabbit caught 'Select/choice controls remain separate adoption work', wrong on both axes since select.tsx consumes FormField and Select has 2 production importers while SearchField has zero; CodeRabbit caught a stale '27 adopted', and re-measuring that row also corrected 686 to 698 lines and 200 to 157 production importers of ui-primitives (200 was close to the 202 mockup-inclusive figure)", + "checks": "prettier --check . pass whole-tree; check:outstanding-issues pass (274 rows, unique ids, no ids deleted from base); adoption figures read from the generated adoption-manifest.json; docs-only diff so no unit, lint, typecheck or browser gate applies to it" }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "80421c38c54c5960bf51210d6bc29109b52afb53", - "scope": "Main sync after CONFLICTING + perfection", - "outcome": "MERGE-READY product scope. Merged `origin/main` cleanly; no markers; product delta remains font-stack + 3 mockup tweaks + policy body/ledger. Heading hierarchy fix retained.", - "checks": "merge-tree clean; marker scan clean; type-scale + design-system-contract + Prettier pass." + "date": "2026-07-14", + "ref": "PR #634 / codex/global-answer-reliability", + "head": "b411329ec5f181661e5d49276c398440aa928fa2", + "scope": "review-followup", + "outcome": "One late P2 fast-context defect was confirmed: Australian tier ordering could push a higher-ranked supplementary passage outside the four-chunk routine fast budget. Fixed by preserving the retrieval-ranked, crowding-capped candidate budget before applying the order-only Australian preference within that set.", + "checks": "GitHub connector review-thread inspection; focused RAG context-budget suite 22/22; ESLint; TypeScript; Prettier; `git diff --check`." }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "e7d93cddd75a71a4d7c4deff48e0038c98f6706f", - "scope": "Follow-up perfection published", - "outcome": "APPROVE once tip CI green. Heading hierarchy fixed; correct policy body template on branch; product scope reduced to 4 source files + ledger/template.", - "checks": "Prettier check; pushed tip." + "date": "2026-08-24", + "ref": "dependabot/github_actions/github-actions-a0271f4b22 (PR #2325)", + "head": "b41957ce29f79c6d8881607b00233e2c035f5fa6", + "scope": "Run PR sweep: CI fix", + "outcome": "before: PR required failing (Static PR checks: check:github-actions pin-allowlist rejected 4 new reviewed SHAs; Unit coverage: tests/codex-run-pr-operator-workflow.test.ts hardcoded old openai/codex-action SHA). Fixed by adding reviewed-pin allowlist entries with release-note review comments and updating the test's expected SHA; merged origin/main in (clean, no conflicts). No unresolved review threads. CI re-running on new head.", + "checks": "node scripts/check-github-action-pins.mjs (passed); npx vitest run tests/codex-run-pr-operator-workflow.test.ts (10 passed); npx eslint on both changed files (clean); no provider-backed checks run" }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "pending-push", - "scope": "CORRECTION: remove exact-duplicate ledger row", - "outcome": "Removed a merge-union exact duplicate of the `cursor/ledger-066-067-519b` / `f04392a40` READY row (kept the earlier copy). No product change.", - "checks": "`npm run check:branch-review-ledger`" + "date": "2026-08-04", + "ref": "claude/top-search-design-mockups-w53znc", + "head": "b432448e4893a42d07558aff0dc04be797971231", + "scope": "PR #1611 — results-band shelf Clear filter-only, memo deps, restored tests", + "outcome": "Fixed two Qodo findings from merged #1555; mutation-tested guard added", + "checks": "tsc 0; eslint 0; vitest 4 files/59 tests; verify:pr-local blocked by lock parity (node 24.13 vs jsdom@30)" }, { - "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "pending-push", - "scope": "Follow-up perfection pass", - "outcome": "FIXED: reverted nested mockup titles to `h3` under Section `h2`; restored correct `PR_POLICY_BODY.md` after stale overwrite; remaining product delta is font-stack + recent-search `min-w-0` + bedside `leading-tight` drop + clinical-console `tabular-nums` + ledger.", - "checks": "Heading hierarchy re-check; Prettier check on touched files." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "b43817f6243faac8ba22de85a461324b1612ad72", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current-main #133 evidence. No remaining P0-P2 findings; PR #1451 and the concurrent #141 race are incorporated into the resolved compact-table outcome, with scoped Prettier protection verified.", + "checks": "main reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior hosted CI green before base moved; fresh CI required for this head" }, { "date": "2026-07-25", - "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", - "head": "pending-push", - "scope": "Production UI flake fix", - "outcome": "FIXED reproducible Sources Find autofocus: Sheet open retries now upgrade from close-button fallback to late-mounted `data-sheet-autofocus` (was leaving focus on Close after drawer children mount). Typography product delta unchanged. Removed temporary `PR_POLICY_BODY.md`.", - "checks": "`node scripts/run-vitest.mjs run tests/sheet.dom.test.tsx` 5/5." + "ref": "cursor/local-presence-054-7cf3 (PR #1178)", + "head": "b438cd872286c831c6d9c8db49b017745f98abcc", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: GitHub reported DIRTY; Static PR checks found three stale `npm run check:local-presence` references because the implemented script was not registered; Production UI had one focus-restoration failure after 266 passes; 0 unresolved threads. After: merged current `origin/main` cleanly and registered the missing local script, so all 348 docs script references resolve.", + "checks": "`node scripts/check-docs-script-refs.mjs` pass; Prettier and `git diff --check` pass; focused Vitest/UI rerun deferred while another worktree owns the heavyweight lock; environment-reading presence mode and provider-backed checks not run." }, { - "date": "2026-07-25", - "ref": "PR #1203 / `cursor/reconcil-tooling-7f06`", - "head": "c5f237aac869b864fbc8810912df837b8a31fbab (squash)", - "scope": "prlanded / merge confirmation", - "outcome": "MERGED. Squash tip trees equal `origin/main` (two-dot empty). Late `package.json` conflict-marker fix and both reconciliation + audit npm scripts are on main. Feature worktree removed; local branch force-deleted after content proof; remote branch already gone. Closed #067 (fixture-injected preflight root), #077 (primary checkout write lease), #078 (secret-safe evidence pack).", - "checks": "Local: two-dot tree equality vs `origin/main`; presence checks for lease/evidence/preflight scripts; `package.json` scripts + no conflict markers. Prior PR-local on tip precursor green. No provider calls." + "date": "2026-07-11", + "ref": "codex/architecture-review-integration", + "head": "b45df727b29aad8ba4ec5d4e96d1f0599d7dad8a", + "scope": "branch-integration-review", + "outcome": "Replayed the reviewed architecture fixes onto current `origin/main`; preserved current CI/autofix history and found no new high-confidence defect in the integrated diff.", + "checks": "`npm run check:runtime`; `npm run check:github-actions`; `npm run sitemap:check`; `npm run lint`; `npm run typecheck`; focused Vitest (24 passed); full Vitest with `--testTimeout=30000` (1,433 passed, 1 skipped); `git diff --check`" }, { - "date": "2026-07-25", - "ref": "PR #1209 / `cursor/pr1186-audit-remediation-c94c`", - "head": "4cb22e45dfe46b1975fa15ddd028c7e14ceb5fab", - "scope": "Close #1186 + babysit #1209 CI", - "outcome": "DONE. Closed #1186 as superseded. Synced origin/main (MERGEABLE/CLEAN). Fixed PR-policy RAG impact line. Hosted PR required SUCCESS (Static/Safety/Unit/Build/Production UI/Advisory UI/containers) on pre-ledger tip; docs-only follow-up pushed. Ready to merge; auto-merge not enabled.", - "checks": "gh pr checks; local policy ok; no provider/eval runs." + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "b4675d7b", + "scope": "Babysit sweep: drift skipped", + "outcome": "Before: CONFLICTING, PR policy FAIL. Merge origin/main aborted: 20+ conflict files across clinical/auth/API surfaces — needs human resolution.", + "checks": "merge --abort; no provider-backed checks run" }, { - "date": "2026-07-25", - "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", - "head": "64b13fba5d8c7c97dac553d02a8dd4c2b5522e1e", - "scope": "Safe land handoff after #1188 close", - "outcome": "#1188 CLOSED superseded. Tip was bot-merge-only so hosted CI sat in action_required; pushing agent commit to re-trigger non-bot CI before squash-merge to main. merge-tree clean vs main; intentional rebuild (notices/lazy/utils) intact.", - "checks": "gh run list action_required on bot tip; merge-tree clean; no provider calls." + "date": "2026-07-30", + "ref": "pr/1431", + "head": "b4848aa92e890193a4a41744b611746673f3b058", + "scope": "docs: visual baseline platform layout", + "outcome": "approved after remote-head reconciliation; guidance unchanged", + "checks": "ledger; CI scope; docs inventory/links; Prettier; diff-check" }, { - "date": "2026-07-25", - "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", - "head": "c45189c76502050002e579cf2038157416a65f2d", - "scope": "Deduplicate ledger rows before land", - "outcome": "Removed 2 exact duplicate table row(s) introduced by union-merge churn (no unique review content lost). Production UI green after Sheet autofocus upgrade.", - "checks": "check:branch-review-ledger; hosted Production UI success on tip." + "date": "2026-07-28", + "ref": "PR #1305 / `execute-audit-remediation-fixes`", + "head": "b488485d075912bc54d514ea65a1cf73c3d9b413", + "scope": "PR policy body sync closeout", + "outcome": "SUPERSEDES prior #1305 babysit tip. Synced complete Summary/Verification/Risk/governance via temporary `PR_POLICY_BODY.md` (gh/API cannot edit PR body — 403), then deleted template. PR policy PASS; mergeable CLEAN.", + "checks": "Sync PR policy body SUCCESS; PR policy PASS; `verify:cheap` prior tip green." }, { - "date": "2026-07-25", - "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0` (supersedes #1188)", - "head": "merge 8e3a49d0449ec2c1b8e4e10f6cd500c0c8c9550b", - "scope": "prlanded after safe close+#1213 land", - "outcome": "LANDED. #1188 CLOSED (not merged). #1213 squash-merged to main after PR required green (Production UI/Static/Unit/Build/Migration). Content verified on main: dashboard-notices extract, indexing-v3 utils `export async function sha256Hex`, Sheet autofocus defense. Remote feature branch deleted by merge.", - "checks": "Hosted CI run 30165248633 success; gh pr merge squash; git cat-file content checks on origin/main. No provider calls." + "date": "2026-07-27", + "ref": "PR #1261 / `apply-audit-system-remediation`", + "head": "b4dae8469024", + "scope": "Bugbot + merge-tree review", + "outcome": "DO NOT MERGE / CLOSE. Same `faa50e6e` dirty-checkpoint lineage as closed #1255/#1253; 526 behind; 18 real merge-tree conflicts including answer API/ClinicalDashboard/evidence. Confirmed Codex P1: tip adds unconditional `out_of_corpus` short-circuit that main deliberately avoids. PR policy missing RAG/governance.", + "checks": "merge-tree; tip vs main RAG guard compare; unresolved-thread validation; no provider checks." }, { - "date": "2026-07-25", - "ref": "PR #1217 / `cursor/sheet-focus-hardening-c6d3`", - "head": "f7208d52eca6d9059f15908367cebada568b0124", - "scope": "Sheet focus stress test + CI unblock before land", - "outcome": "READY. Stress pass found and fixed two defects in this branch's own work before land: (1) the open-sheet stack guard skipped every close-restore while any sheet was open, so closing a stacked sheet dropped focus to body instead of the sheet below (now `canRestoreFocusTo`: restore proceeds when the target is inside the top-most sheet); (2) a background surface re-focusing itself from its own focus handler could trade `focus()` calls synchronously with the controller (reclaims that do not stick are now bounded; a reclaim that holds resets the count). Resolved the #1213 conflict in favour of the event-driven controller and widened the settle window to cover the lazily imported `data-sheet-autofocus` child main's 200-attempt poll was defending. Repeated `pr-branch-sync` bot merges left hosted CI `action_required`; applying `skip-branch-sync` + this agent commit to re-trigger non-bot CI before land.", - "checks": "`verify:pr-local` green (389 files / 3458 tests, build, client-bundle scan, RAG fixtures); `test:e2e:pr` 285/285 Chromium; `ui-smoke.spec.ts --repeat-each=3` 273/273 no flake; 120-cycle browser soak of the phone mode-menu sheet (zero inert/scroll-lock leaks, focus restored every cycle, median 0 ms / max 10 ms); new `tests/sheet-focus-stress.dom.test.tsx` 13 cases + real-browser inert guard in `ui-accessibility.spec.ts`. No provider-backed checks." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "b4e68aa9e4892d4031479240f7783b7c22bd4bbb", + "scope": "PR #1482 final current-main review", + "outcome": "PASS - no P0-P2 findings; ledger archives preserved and deployment inputs repaired", + "checks": "issues, ledger, docs links/scripts, ci-scope self-test, diff-check; hosted full unit pending" }, { - "date": "2026-07-25", - "ref": "PR #1217 / `cursor/sheet-focus-hardening-c6d3`", - "head": "head 65f7580ce4f4821f8d1ad55aa2c84b7e11ca62fe / squash 20300bb9f60dee09632fdce27d1191dde19e92b5", - "scope": "prlanded after squash merge", - "outcome": "LANDED. Two-dot content diff of `src`/`tests` vs `origin/main` empty; `sheet-focus.ts` on main carries `canRestoreFocusTo`, `MAX_CONSECUTIVE_RECLAIMS`, the 10s event-driven settle window and no `setInterval`; `sheet.tsx` restores through `canRestoreFocusTo` at both call sites. Hosted PR required SUCCESS (Static/Safety/Unit/Build/Production UI/Advisory UI); post-merge push CI on `20300bb9` SUCCESS (CI, Docker image build, SAST, Secret Scan). Remote feature branch deleted by merge. The one red rollup entry was a `pull_request_target` PR Policy run cancelled by its own successor, which reported SUCCESS.", - "checks": "`gh pr view` state=MERGED mergedBy=BigSimmo; `git diff origin/main HEAD -- src tests` empty; `git show origin/main:...` symbol checks; `gh run list --branch main` on the squash commit. No provider-backed checks." + "date": "2026-08-17", + "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", + "head": "b4fc1b7973d9f4d2087af1a287e5f48a9c753030", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean (no conflicts). CI genuinely fails: bumping node:24-bookworm-slim to node:26-bookworm-slim breaks 'Container images / build-and-verify' because repo pins engine-strict Node >=24.15.0 <25 (EBADENGINE on npm ci inside Docker build). Not a flake - left red. Recommend closing/ignoring this Dependabot major bump rather than merging or force-fixing engine-strict.", + "checks": "git merge-tree clean; GitHub update-branch; job log confirms EBADENGINE node v26.7.0 vs required <25; not merged" }, { - "date": "2026-07-25", - "ref": "PR supersede #1186 / `cursor/pr1186-audit-remediation-c94c`", - "head": "a38e83860510a4229d5658960657cd7448aff278", - "scope": "Clean main-based port of intentional #1186 audit fixes", - "outcome": "SUPERSEDE #1186 (do not merge old PR). Ported intentional 16-file delta onto current main; dropped conflicted checkpoint tree and placeholder skills. Fixed eval single results binding; async run-heavy so lock heartbeat fires; branch:cleanup dry-run default + argv-safe deletes; skill-create interface YAML. Close #1186.", - "checks": "Focused Vitest tooling+lock 6/6; check:skills 33; prettier on touched files; no provider/live eval runs." + "date": "2026-07-30", + "ref": "codex/review-pr1462", + "head": "b5044fb057e5a7fef28f782060c3f41205651895", + "scope": "branch-cleanup", + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "current main retains a stronger #079 cleanup instruction; unique review record copied; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-07-25", - "ref": "sitewide-design-review-ledger (PR #1181)", - "head": "8284fcd4420", - "scope": "Babysit sweep: design-review ledger — auto-merged after sync", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-26", + "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", + "head": "b51ee15e6961d46a14c288f621d25ab30a434c7d", + "scope": "Explicit CI-failure review and focused repair", + "outcome": "APPROVE pending hosted required CI. All three completed CI failures were the same new Playwright assertion: `/formulation/worry` legitimately omits the optional legacy dock backdrop, but the test required `display: none` and received `missing`; the downstream `PR required` failure was only the aggregate. Updated the test to accept absence or require `none` when rendered; no high-confidence product defect remains.", + "checks": "Focused Vitest 11/11; Prettier, ESLint and `git diff --check` pass; exact local Chromium rerun blocked by the shared heavyweight lock owned by another worktree, so hosted Production UI is the merge gate." }, { - "date": "2026-07-25", - "ref": "sitewide-design-review-ledger (PR #1181)", - "head": "8284fcd4420", - "scope": "Babysit sweep: design-review ledger ? auto-merged after sync", - "outcome": "pr-required", - "checks": "merged" + "date": "2026-07-17", + "ref": "PR #713 / codex/chat-workflow-ideas-0916", + "head": "b52112df6aa36311d7420189064acd79dcf2c3f5 + reviewed follow-up diff", + "scope": "workflow toolkit review follow-up", + "outcome": "Fixed all 14 actionable Codex and CodeRabbit threads: cross-platform path fixtures, installation-managed preflight guidance, complete Supabase-backed API database scoping, per-command approval boundaries, plugin-ignore narrowing, isolated CI-scope proof, remote-Git command guarding, repository-skill verification classification, `TypeError` diagnosis, strict CLI option values, machine-parseable JSON evidence output, and preservation of baseline database/clinical approval gates in the RAG lab. No unresolved actionable finding remains in the reviewed scope.", + "checks": "`npm run verify:cheap` passed with 273 files and 2,599 tests; focused toolkit Vitest 20/20; CI-scope self-test; plugin-ignore proof; `git diff --check`. Exact-head hosted CI remains required after the follow-up push. No Supabase, OpenAI, or other live product-provider command was run." }, { - "date": "2026-07-24", - "ref": "`codex/answer-relevance-fail-closed`", - "head": "ac0d4305478a0bc8fef03894b78ec5911912c08a", - "scope": "Missing answer-relevance metadata across render policy and live dashboard grounding", - "outcome": "APPROVE after resolving two review P2s. A shared `isAnswerSourceBacked` predicate now requires explicit `isSourceBacked: true`; missing or explicitly negative relevance cannot retain high render trust, a grounded dashboard state, visual/table evidence, or a clinical-notes table bypass. Explicitly source-backed answers preserve supported behavior. Retrieval, ranking, generation, source selection and stored data are unchanged. Highest residual risk is deliberate compatibility tightening for older answer payloads without relevance metadata; they render low-trust and expose review sources rather than richer evidence blocks.", - "checks": "Initial red policy proof failed with `high`; two later red proofs exposed retained visual evidence and the clinical-notes raw-table affordance, then passed after both render-model gates. Focused render/provenance/clinical-safety tests passed 37/37; the focused DOM/policy pair passed 31/31. Offline RAG passed 21 suites/308 tests and 36/36 fixtures; production-readiness was READY against `Clinical KB Database` read-only; `verify:pr-local` passed runtime, formatting, lint, typecheck, all 366 test files (3,254 passed/1 skipped), production build (1,677 pages), client-bundle secret scan and RAG fixture validation; the earlier local `verify:ui` passed 267/267. After the final UI fix, `verify:cheap` again passed all 20 non-test gates, lint, typecheck and 3,254 tests, with only tracked issue #067 timing out under machine load; its isolated retry also exceeded the same 30-second limit and was not repeated. Fresh exact-head hosted checks are required. No live RAG, OpenAI request, Supabase mutation, Railway action, production data operation or deployment ran." + "date": "2026-07-31", + "ref": "PR-1159", + "head": "b547b0ccaa5b4259b4ffcf6bb2e117f7cf447a32", + "scope": "Bugbot high-risk post-merge review", + "outcome": "P2 cost-null drift and destructive clean-worktree pathspec risk recorded after merge", + "checks": "pre-delete diff and current-main spot-check; no provider calls" }, { - "date": "2026-07-24", - "ref": "`codex/query-ribbon-search-headings`", - "head": "16ce57d9615708528e7924b41837210a24414722 + reviewed ledger diff", - "scope": "Universal Query Ribbon implementation and responsive search-heading review", - "outcome": "APPROVE after two scoped polish fixes. The shared result header now presents query, progress/result state, scopes, and real sort/view/save controls consistently across Services, Forms, Favourites, Differentials, and Medication/Prescribing search surfaces; the mockup remains available at `/mockups/search-heading`. The review restored the compact `Sort` label at ordinary phone widths and prevents stale/unknown scope IDs from producing an empty utility strip. No P0-P2 finding remains. Retrieval, ranking, source selection, and clinical output behavior are unchanged. Highest residual risk is unexercised browser combinations outside the focused cross-route responsive matrix.", - "checks": "Focused header DOM 4/4; focused ESLint; `git diff --check`; live 1280px route QA with zero overflow and visible keyboard focus; production Playwright build compiled, TypeScript passed, 1,678 pages generated, and focused Chromium responsive/search/prescribing matrix passed 16/16. `verify:pr-local` passed runtime, Prettier, full ESLint, and TypeScript; its complete unit run stopped only when the unrelated load-sensitive `reconciliation-preflight` case exceeded 30 seconds, then that file passed 5/5 in isolation. No OpenAI, Supabase, Railway, deployment, production-data, or clinical provider workflow ran." + "date": "2026-08-15", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "b55f7a4b5c02c8a0ca8e59fd2d9edfb7eaac0234", + "scope": "Required base sync through main d301d8f4", + "outcome": "approved", + "checks": "git diff --check; guard self-test; ledger and issue guards" }, { - "date": "2026-07-24", - "ref": "`codex/query-ribbon-search-headings` (PR #1166)", - "head": "37cfa5553ccb784ee5e9f47ded1ad69914c053ed + reviewed correction diff", - "scope": "Correction: universal Query Ribbon implementation and responsive search-heading review", - "outcome": "SUPERSEDES the earlier row that named non-existent pre-amend SHA `16ce57d9615708528e7924b41837210a24414722`. This resolvable reviewed tip contains functional commit `0b67944b0d2973d612833422fb4074aeacdb6c8c`, current-main syncs, and the append-only ledger correction. The prior APPROVE outcome and residual-risk statement are unchanged; no P0-P2 finding remains.", - "checks": "Query Ribbon DOM 4/4 after each main sync; exact-head hosted policy, static checks, unit coverage, build, advisory UI, Production UI, safety/config, Semgrep, Gitleaks, GitGuardian, and `PR required` passed before the final docs-only correction. No OpenAI, Supabase, Railway, deployment, production-data, or clinical provider workflow ran." + "date": "2026-07-30", + "ref": "claude/design-visual-baselines", + "head": "b57432facb7ded1e9605d1076e0d8c9d661efa2c", + "scope": "open PR changed-scope review", + "outcome": "APPROVE after fix: platform-scoped baseline guidance matches the candidate-path and AWAITING_BASELINE adoption contract.", + "checks": "Prettier PASS; docs:check-links PASS; check:ci-scope PASS; review thread resolved; exact-head visual CI required" }, { - "date": "2026-07-24", - "ref": "`codex/review-search-bar-behavior-and-establish-rules` (PR #1137)", - "head": "b10514374ac7640e5d3395f707c6f958764ae131 + ledger bookkeeping", - "scope": "PR babysit: CI fix + Codex threads + drift", - "outcome": "COMPLETED for current head. Restored Tools arm in `showDesktopHomeComposer` and moved `0rem` reserve comment to `mobileComposerReserve` (3d82ead2); replaced unresolvable ledger SHA `bcf4571…` with `6ee0484…`; formatted `docs/search-chrome-behaviour.md`; merged `origin/main` (`0cc0ee2d`). 3/3 Codex review threads resolved via GraphQL (inline replies 403 with this token). Prior CI failures (syntax from misplaced comment) cleared on 3d82ead2; Production UI job cancelled mid-aggregate before this merge — CI re-running after push.", - "checks": "Local: format:check on touched files; Vitest `ui-overlay-css-contract` + `mobile-composer-reserve` 15/15. Hosted: static/unit/build/advisory green on 3d82ead2. No provider-backed checks run." + "date": "2026-08-05", + "ref": "cursor/phone-mode-sheet-yes-05c0", + "head": "b579d68491980388ff3e4ce8aba85530e87a9d84", + "scope": "Run PR sweep", + "outcome": "threads already resolved; synced main via update-branch; CI was green pre-sync", + "checks": "CI: PR required SUCCESS pre-sync" }, { - "date": "2026-07-24", - "ref": "`codex/safety-plan-no-patient-data-contract`", - "head": "b94987c94537f3114a3429848fa908bdecd1d80a", - "scope": "Safety Plan Generator identifier, local-state, copy, print, privacy-notice and PIA contract", - "outcome": "APPROVE. No P0-P2 finding. The patient name/initials field is removed; the builder now asks for identifier-free minimum content, retains working state only in the mounted React component, and makes clipboard/print/PDF export an explicit handling boundary. The PIA and product privacy copy distinguish this local-only tool from provider-backed questions. Highest residual risk is outside Clinical KB: users must handle exported copies under an approved clinical-record process, which the UI now states at the export controls.", - "checks": "Privacy/component DOM 3/3 plus updated privacy-copy 2/2; focused Chromium copy/print/no-fetch-or-XHR 1/1; `verify:cheap` passed all 21 gates, 366 files and 3,245 tests with 1 skip; production-readiness READY using the existing canonical environment without a provider call; production build and client-bundle secret scan passed; offline RAG fixture/manifest 36 cases/21 suites passed. `verify:pr-local` passed runtime, formatting, lint and typecheck, then stopped on the unrelated load-sensitive `reconciliation-preflight` 30-second timeout; that test passed 5/5 isolated and the preceding full suite passed, so the unchanged five-minute gate was not retried. No Supabase, OpenAI, Railway, live RAG, production data or deployment action ran." + "date": "2026-07-13", + "ref": "claude/pt-audit-pt17-live-monitor", + "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-24", - "ref": "`codex/supabase-document-change-trigger`", - "head": "9c7d9edf509a51478f5bebbabcca64e3926dc877 + reviewed working diff", - "scope": "Document-change ingestion trigger migration, schema mirror, grants, privacy and fail-safe delivery", - "outcome": "APPROVE. No P0-P2 finding. The trigger is update-only, acts solely on a strict JSON boolean false/absent-to-true transition, sends only the receiver's allowlisted owner-scoped fields, fails open for document writes when Vault/GUC/pg_net is unavailable, and revokes execution from public/anon/authenticated. No production URL fallback exists. Highest residual risk is deliberate pg_net at-most-once delivery; the clear-then-flip recovery and data-preserving rollback are documented, and the trigger remains inert until both the Vault secret and environment base-URL GUC are configured.", - "checks": "Disposable Supabase Postgres `17.6.1.127` schema replay and drift-manifest regeneration passed (16s; scratch container removed); focused schema/drift/receiver Vitest 89/89; migration-role, function-grant (30 SECURITY DEFINER functions) and owner-scope guards; production-readiness CI mode READY with expected secretless-worktree warnings; offline RAG 21 suites/307 tests; `verify:cheap` 365 files, 3,241 passed/1 skipped; static trace of receiver payload, authoritative owner-scoped reload and idempotent enqueue path. No live provider mutation or migration apply." + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pt17-live-monitor", + "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-24", - "ref": "`codex/universal-ledger-main-final`", - "head": "527988c2ccabc98b4d0673d33360c971df65fa0e + reviewed working diff", - "scope": "Current-main universal-ledger reconciliation after PR #1106 superseded PR #1109", - "outcome": "READY. Kept PR #1106's current-main ledger and IDs, carried forward only non-duplicate recommended work from the superseded branch, and fixed the confirmed SessionStart empty-open defect. Every active recommendation now has a durable open ID; exposed-GitHub-token containment is the first A1 item; the Safety Plan privacy contract, absent-relevance fail-closed rule, stranded-upload recovery, threshold-conflict design, catalogue-toolbar convergence, and Current Clinical Work brief are retained without duplicating #1106's legal/config/release/staging/seed packages. Resolved #014/#034 claims stay archived, and PR #1110's scheduled-diagnostics priority remains intact. Highest residual risk is manual queue/open-table drift.", - "checks": "Empty-open fixture and real-ledger Bash execution passed; 33 contiguous recommendations reference tracked open IDs; 43 open items; no duplicate queued IDs; `docs:check-links`, `docs:check-index`, `docs:check-scripts`, `check:skills`, Prettier, and `git diff --check` passed. No OpenAI, Supabase, Railway, production, deployment, live-app, or credential action." + "date": "2026-07-14", + "ref": "claude/pt-audit-pt17-live-monitor", + "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." + }, + { + "date": "2026-07-29", + "ref": "codex/document-reader-condensed-view", + "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", + "scope": "branch-cleanup-deletion-pending", + "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is 855aa291 and tree(merge-base) equals tree(tip): git diff --name-only 855aa291 b5cdbf30 reports 0 files, so the tip introduces nothing beyond a state already in main. Its work landed as main's tip via squash. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", + "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." }, { - "date": "2026-07-24", - "ref": "`cursor/database-interface-audit-0883` / PR #1133", - "head": "8c4c5556ef470673da492aa5f901513c84637d83", - "scope": "PR babysit + Bugbot + Codex thread triage", - "outcome": "COMPLETED for current head. Fixed Codex P2s: stranded queued recovery pages past open-job rows; bulk retry_failed enrichment lease preflight scopes to failed docs only. Bugbot ClinicalDashboard safety-findings finding is not in this PR unique diff vs main. PR policy Clinical Governance Preflight added in body. Merged origin/main.", - "checks": "Local Bugbot; focused Vitest; gh PR/CI." + "date": "2026-07-30", + "ref": "origin/codex/document-reader-condensed-view", + "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", + "scope": "branch-cleanup", + "outcome": "safe to delete — tip tree identical to merge-base tree (855aa291), so the branch nets zero content change vs main; --cherry-pick shows 13 commits, a squash-merge false positive", + "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" }, { - "date": "2026-07-24", - "ref": "`cursor/docs-reliability-review-c38b`", - "head": "af5d44abf031581d256006b51a1be98563d441d5", - "scope": "Documentation reliability review vs repo state (setup, env, ops runbooks, testing safety)", - "outcome": "Fixed P1/P2 doc drift: worker region Sydney→Railway Singapore; DR golden gate 23/23→36/36; Railway health `/api/health/ready`; auth checklist aligned to magic-link+OAuth UI; staging identity vars in `.env.example`; provider-approval boundary on testing/readiness docs; mode count 11→13. No P0. Residual: historical `23/23` mentions in point-in-time/archive docs left alone.", - "checks": "`npm run docs:check-links`; `npm run docs:check-index`; `git diff --check`. No provider/OpenAI/Supabase/Railway mutation." + "date": "2026-07-30", + "ref": "origin/codex/document-reader-condensed-view", + "head": "b5cdbf301d517239ffe9ed941b9ebe809aea0bfd", + "scope": "branch-cleanup (supersedes 2026-07-30)", + "outcome": "safe to delete — merge-base 855aa291 is an ANCESTOR of main and tree(tip)==tree(855aa291), so every byte at the tip exists in main's history; the 13 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", + "checks": "git merge-base --is-ancestor 855aa291 origin/main = YES; tree(tip)==tree(855aa291); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" }, { - "date": "2026-07-24", - "ref": "`cursor/search-performance-review-4ee9` / PR #1134", - "head": "76d47871c44c607f942a683351378230173dcbe3", - "scope": "Search performance findings remediation (prescribing, differentials, typeahead docs timeout, shared shell, answer rate-limit fallback)", - "outcome": "FIXED. P1 prescribing catalogue now debounces (250 ms), aborts in-flight fetches, and uses `fields=index`. Differentials catalogue + evidence search abort/debounce. Universal documents typeahead timeout 6 s→750 ms (RAG impact: no retrieval behaviour change — typeahead timeout only). Shared `(search-app)` layout keeps GlobalSearchShell mounted across mode homes. Answer rate-limit fails closed only in production; development uses in-memory fallback when durable RPC is unavailable.", - "checks": "Focused Vitest 362 via test:focused; api-rate-limit/search-shell/universal/route/site-map suites green; `npm run ensure` smoke 200 on mode homes; `/api/answer/stream` 200 after fallback. No OpenAI spend beyond local answer stream smoke; no live eval/soak." + "date": "2026-08-18", + "ref": "claude/db-phase3-staging-proof-bodies", + "head": "b5d228ad5ada7bbb82624ab0573894974f3aa232", + "scope": "db remediation Phase 3 follow-up, final: 20260818113000 applied to staging, 111000/112000 history text refreshed, staging drift = 1 residual (trgm idx); #316 final update (PR #2111)", + "outcome": "Reviewed and handed off; staging proof complete — zero function mismatches, zero never-created objects, zero table mismatches, single residual document_chunks_content_trgm_idx (Phase 4.4); production window list unchanged", + "checks": "staging def_hash for the three functions equal manifest/live; four history rows md5 = repo; check:outstanding-issues passed; docs:check-links passed; earlier gates on this branch unchanged" }, { - "date": "2026-07-24", - "ref": "`cursor/sidebar-six-item-land-cfa0` / PR #1174 content-proof `d97c11e6`", - "head": "d97c11e6", - "scope": "#066 land/proof of six-item sidebar from `cd54e68f` onto main", - "outcome": "PROVE — feature content landed; focused 20/20; verify:pr-local PASS; ensure spot-check PASS; verify:ui 267/267. Not merged to main.", - "checks": "vitest favourites+therapy; verify:pr-local; ensure+computerUse spot-check; verify:ui" + "date": "2026-07-28", + "ref": "claude/navigation-pane-mockups-0600af", + "head": "b5e71179b1210ce208094ee9c7dfc7665511ecf1", + "scope": "PR babysit #1311", + "outcome": "ci-retrigger: parent tip bdddc44b green (Static/UI/PR-required); empty tip skipped Actions CI; pushed non-empty ledger to queue checks", + "checks": "parent-bdddc44b: static-pr+ui-critical+pr-required+circleci green; tip-b5e71179: awaiting Actions CI after empty-commit skip" }, { - "date": "2026-07-24", - "ref": "`main`", - "head": "037b4808100946f96aee28b8ff51939ae2986851", - "scope": "Comprehensive repository review (architecture, security/privacy, API/DB, RAG/clinical, UX/a11y, performance/CI/ops)", - "outcome": "Changes requested. No P0. Two confirmed P1 clinical-grounding defects: (1) numeric verification skips truncated claims after the 24-claim cap when earlier claims contain numbers; (2) unsupported prescriptive treatment recommendations remain grounded as routine/partial. Multiple P2 privacy/ops findings: signed-URL cache survives sign-out; upload/enrichment/search telemetry can retain raw filenames; negated urgency still labelled Red flag; mixed `partial_invalid_model_citation_ids` evade the invalid-ID gate; readiness probe lacks an explicit dependency timeout; Railway watch patterns miss transitive build controllers. Known tracked residuals reconfirmed: #052 enrichment/reindex overlap, #059 credential containment (operator), #007 Tools route dual entry. Highest residual risk remains live answer-quality/clinical grounding plus operator credential/#053 legal gates. No source fixes applied.", - "checks": "Offline: runtime, migration-role, function-grants (30), owner-scope (40 routes), GitHub Actions pins, PR-policy self-test, gate/CI-scope/Codex autofix guards, lint, typecheck, sitemap, knip, knip architecture budgets, env-parity names-only, docs index/scripts, production-readiness:ci, offline RAG 36 fixtures + 21 suites/308 tests, focused clinical/RAG contract suite 122/122, Chromium accessibility 12/12 and `verify:ui` 267/267 after identity-confirmed `npm run ensure`. Targeted offline red proofs for both P1s and the citation/safety/signed-URL P2s. Provider-gated skipped: live drift, supabase-project (non-dry), migration-history, live RAG/OpenAI evals, hosted CI, Railway mutations." + "date": "2026-07-30", + "ref": "codex/review-pr1424", + "head": "b5e822e3c4232f0d9a1461eb19b16ecc2b2e67a5", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1424 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-24", - "ref": "`main`", - "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", - "scope": "Search performance across modes (load + typeahead + submit; local ensure)", - "outcome": "CHANGES REQUESTED / findings. No P0. P1: Prescribing `useMedicationCatalog(query)` refetches the full ~2.5–2.9 MB medication catalogue on every keystroke without debounce, abort, or `fields=index` (~25× larger than index). P2: differentials catalogue + evidence `/api/search` lack abort/debounce; universal typeahead `tookMs` dominated by empty live documents domain (~130–340 ms); cross-namespace mode switches remount the search shell; Answer submit returns 503 `rate_limit_unavailable` when durable limiter is down (fail-closed). Mode HTML load medians ~40–75 ms; typeahead wall ~160–180 ms (`ssri`) / ~350–400 ms (`agitation im lorazepam`) + 250 ms client debounce; catalogue submits (differentials) ~45 ms; document `/api/search` demo-degraded ~230–430 ms. Highest residual live risk: cold hybrid RPC tails (docs #25), not re-measured with soak/eval.", - "checks": "`npm run ensure` → http://localhost:4461; `/api/local-project-id` Clinical KB; paced universal typeahead across 13 modes × 2 queries (Server-Timing); `/api/search` + `/api/medications` (+`fields=index`) + differentials APIs + registry payload sizes; NDJSON vs JSON first-byte; browser walkthrough of 13 mode homes; static review of ClinicalDashboard / universal-search / medication+differential hooks. No OpenAI generation, no `eval:retrieval:latency`, no soak, no hosted CI. Environment had Supabase secrets so universal ran live (`publicAccess`); `/api/search` degraded to demo (`supabase_api_key_configuration_unavailable`)." + "date": "2026-07-30", + "ref": "codex/review-pr1424", + "head": "b5e822e3c4232f0d9a1461eb19b16ecc2b2e67a5", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1424; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; no open PR" }, { - "date": "2026-07-24", - "ref": "`main`", - "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", - "scope": "Supabase interface / performance / schema guardian audit", - "outcome": "COMPLETED. No P0/P1 live security hole. Confirmed service-role + app-layer ownership model, fail-closed `retrieval_owner_matches`, and project-ref pinning. P2 findings: duplicate unscoped `correct_clinical_query_terms` block in `schema.sql` (safe definition wins at replay); reindex routes miss fresh enrichment-lease gate (`#052`); upload crash can strand `queued` without a job (`#062`); table-facts RPC still `LANGUAGE sql` + `force_custom_plan` (byte-identical plpgsql+EXECUTE remains the latency win). P3: base match RPC execute revokes rely on roles.sql; `invoke_ingestion_worker` hardcodes URL; cold multi-RPC fan-out. Remediation continues on `cursor/database-interface-audit-0883`.", - "checks": "Static schema/RLS/RPC/grant/owner-scope/auth/client inspection; upload/reindex wiring; scale/SLO/deploy docs; outstanding-issues `#052`/`#062`. Provider-gated skipped: `check:supabase-project`, live `check:drift`, `check:indexing`, `profile:retrieval`, `eval:retrieval*`, migration apply. Notion MCP unavailable (`needsAuth`)." + "date": "2026-07-17", + "ref": "PR #718 / codex/performance-latency-remediation-20260717", + "head": "b5f509744d4f4bac74d414644cd1802f64b97fa9", + "scope": "CodeRabbit performance and SQL correctness follow-up", + "outcome": "Resolved nine confirmed findings and dispositioned one stale test comment: document downloads revalidate signed URLs on every action; committed-generation filtering precedes detail pagination; enrichment fallback errors preserve identity; caller cancellation leaves the shared classifier flight alive; registry seeding preserves its cache signal; aliases emit canonical corrections; rate-limit success metadata is coherent; ambiguous upserts use named constraints; and grantable default ACLs fail closed. The proxy mock duplicate was not present. No remaining high-confidence P0-P2 defect was found.", + "checks": "Integrated focused Vitest 122/122; post-format Vitest 71/71; `npm run verify:cheap` passed runtime/policy/static guards, ESLint, TypeScript, and 2,684/2,684 tests; focused Prettier and `git diff --check`; disposable Docker replay, regenerated drift manifest, and transactional local SQL probes. No OpenAI calls, live Supabase DDL/migration/data write, deployment, or production mutation ran." }, { "date": "2026-07-24", - "ref": "`main` / `01c209576207a3c279972697718d06c819fff000`", - "head": "01c209576207a3c279972697718d06c819fff000", - "scope": "Sitewide design/UX/interactive review (production pages, breakpoints, a11y)", - "outcome": "CHANGES REQUESTED / findings. No P0. Two confirmed P2 UX defects: (1) mobile presentation Compare tab is a self-link that drops `ids`/`q` and resets selection (1→default 4) + clears Query chip; (2) document “Browse by tag” / `searchByTag` navigates to `/?mode=documents&q=…` without `run=1`, so results do not run. P3: comparison disabled dropdown/filter controls lack `aria-describedby` placeholder contract; bare `/documents` 404 (no inbound links; `/documents/search` is canonical); phone mode-switcher truncates “Differenti…”. Deduped: `/tools` vs `/?mode=tools` remains #007; coming-soon density/favourites/forms remain #010. Phone docks flush `bottom:0` on sampled result routes; no document horizontal overflow at 390/768/1280 across 30 routes.", - "checks": "`npm run workflow:design-sweep -- --write-evidence`; `npm run ensure` → http://localhost:4461 identity Clinical KB; Playwright HTTP+overflow matrix 30/30 no overflow; live Compare/tag proofs + phone route matrix; `npm run test:e2e:accessibility` 12/12; screenshots under `/opt/cursor/artifacts/screenshots/design-review-2026-07-24/`. No OpenAI/Supabase/GitHub/hosted CI/provider mutations. Added project subagent `.cursor/agents/design-review.md`." + "ref": "implement-audit-recommendations-fix (PR #1141)", + "head": "b5f8959af8ec44de63200b1d19c273bae1b7d541", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: behind main by 6. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", + "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" }, { - "date": "2026-07-24", - "ref": "`main` / `037b4808100946f96aee28b8ff51939ae2986851`", - "head": "037b4808100946f96aee28b8ff51939ae2986851", - "scope": "frontend-ui review: clinical-dashboard sidebar streamlining, global-search-shell, mobile-composer-reserve, globals.css forced-colors/reduced-motion, evidence-panels aria, answer-result-surface, visual-evidence-tabs DOM tests", - "outcome": "APPROVE with notes (P2 closed on `cursor/frontend-ui-review-docs-e8d9`). No P0/P1. One P2 was docs-only: `docs/codebase-index.md` mode-home list omitted `/therapy-compass`, `/dsm`, `/specifiers`, and `/factsheets` while `isStandaloneModeHome` already handles them — fixed in the follow-up docs PR. What holds: sidebar streamlining (`primarySidebarToolIds` Set) is correct; global reduced-motion CSS covers `animate-spin`; forced-colors token remap is comprehensive; mobile-composer-reserve and overlay CSS contracts intact; tab/tabpanel ARIA associations pass in jsdom; icon-only collapsed rail links carry `aria-label`+`title`; lucide-react defaults SVG `aria-hidden=\"true\"`.", - "checks": "Full unit suite 3261/3264 passed (3 pre-existing skips); typecheck clean; lint clean; static read of globals.css forced-colors/reduced-motion, overlay contracts, aria patterns, and mobile-composer-reserve. Docs mode-home list aligned to `isStandaloneModeHome`. No live Supabase/OpenAI/Railway mutation." + "date": "2026-07-13", + "ref": "origin/copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd", + "head": "b6097f0fbf19f82527ea95a385efb2ca7b8ec794", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd; git diff --name-only reported 17 path(s)." }, { - "date": "2026-07-24", - "ref": "`main` / PR #1122 tip `037b4808100946f96aee28b8ff51939ae2986851`", - "head": "037b4808100946f96aee28b8ff51939ae2986851", - "scope": "Code-quality review of tip commit (streamlined sidebar tool list)", - "outcome": "No P0-P1. Two P2 maintainability findings: (1) dual catalogue — `sidebarToolItems` still defines specialist tools that `primarySidebarToolIds` always filters out, leaving unused Lucide imports and a footgun where new catalogue rows do not appear unless also added to the Set; (2) favourites-auth-gate asserts primary IDs by regex-parsing the Set initializer source, which couples the suite to TypeScript formatting. Highest residual risk is quiet nav drift if specialists are re-added only to `sidebarToolItems`. #066 in outstanding-issues still describes this sidebar land as open despite the tip merge.", - "checks": "Static diff inspection of `ClinicalSidebar.tsx`, `tests/favourites-auth-gate.test.ts`, `tests/ui-smoke.spec.ts`; no lint/test/provider runs (pure review)." + "date": "2026-07-14", + "ref": "copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd", + "head": "b6097f0fbf19f82527ea95a385efb2ca7b8ec794", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-24", - "ref": "`mobile-ergonomics-fixes`", - "head": "35e96844fc8bd94e7737229cb01174d1a0f9689f", - "scope": "PR #1156 mobile touch ergonomics review", - "outcome": "APPROVE. Found and fixed two findings: a P1 invalid CSS calc syntax breaking horizontal scroll masks (`calc(100%-1.5rem)` -> `calc(100%_-_1.5rem)`), and a P2 transform collision in `globals.css` where global `scale(0.97)` active states overrode Tailwind's composite variables (reverted to `translateY(1px)`). The `modal-landscape-container` safe-area padding correctly uses `max(1rem, var(--safe-area-left))` so it is safe on portrait. No further P0-P2 findings.", - "checks": "Local static inspection and visual review of DOM tree. Heavy tests were locked out by concurrent verification in `remediate-audit-system-issues`. Hosted CI tests will execute automatically on PR push. No provider actions were run." + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "b62d414ca9001fbc1ac0d50b315450e107751d67", + "scope": "merge-readiness after policy + hosted UI", + "outcome": "No remaining high-confidence P0–P2. PR description sync + `verify:ui` evidence keep PR policy green; hosted Production UI / PR required green on exact head.", + "checks": "Local: align Vitest 5/5; ui-overlap 12/12; differentials fold Playwright 1/1. Hosted: Production UI, Advisory UI, Static, Unit, Build, PR policy, PR required, Sync PR policy body all pass." }, { - "date": "2026-07-24", - "ref": "`origin/main`", - "head": "6ceaaff50712e10e857bf9a5a7ec88b530bf7b35", - "scope": "sitewide design/UX review (production pages)", - "outcome": "FINDINGS CAPTURED. No P0. Confirmed defects later archived as `#070`–`#074` after ID collision with main `#068`/`#069`. Updated `#010` for Compact/Detailed selected-but-disabled look. Deduped against `#007`/`#016`/`#038`–`#041`/`#063`–`#066`. Residual: large mobile PWA install sheet density; compare URL-state sync; axe coverage beyond home (`#040`). No product code fixes in this pass.", - "checks": "Offline: design-system-contract, type-scale, icon-scale, brand:check, design-sweep evidence. Live: `npm run ensure` → `http://localhost:4461` identity OK; mode-home/detail HTTP 200 + no document overflow at 390/1280; presentation href + forced Overview navigation proof; Tools Sort/More DOM proof; `test:e2e:accessibility` 12/12. Screenshots under `/opt/cursor/artifacts/screenshots/`. No OpenAI/Supabase/GitHub/hosted CI/provider calls." + "date": "2026-08-18", + "ref": "claude/development-index-page (PR #2135)", + "head": "b6451a1f90cd8488e67b8807fa1740902f2c77f5", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No repair needed: branch already at origin/main tip (0 behind), sole review thread (CodeRabbit prod-availability wording note) already resolved before this sweep, no failing required checks observed. Required CI (Production UI critical/1/2/3, Unit coverage, Lighthouse budget) still in_progress at snapshot time (run https://github.com/BigSimmo/Database/actions/runs/32166526510); completed required jobs (Static PR checks, Safety and config checks, Build, Change scope) all green. No commits pushed, no threads touched, no drift merge performed.", + "checks": "GitHub check-runs snapshot via mcp__github__pull_request_read (get_check_runs, get_status, get_review_comments); git merge-base/rev-list confirmed 0 commits behind origin/main; no local gates run (no code changed, nothing to verify); no provider-backed checks run" }, { - "date": "2026-07-24", - "ref": "`remediate-audit-system-issues`", - "head": "ae54de2b10f1c586d90c62fc3e50654dd8e917a1 + fixes", - "scope": "Audit remediation verification and merge readiness review", - "outcome": "READY. Fixed the P1 (Unsafe automation) by restoring the WMI process name filter while expanding it to include common node wrappers (`node|npm|npx|tsx|vitest|playwright|bun`). Fixed the P3 (maintainability friction) by adding `rimraf` to `devDependencies`, ensuring offline availability in CI. No high-confidence P0-P2 defects remain.", - "checks": "Static review of diff against origin/main. Fixed issues locally and re-verified. No OpenAI, Supabase, or live provider command ran." + "date": "2026-07-13", + "ref": "claude/chunking-ocr-eval-plumbing-e1ac6b", + "head": "b65de578ad50f128492d1ed316c6f11eb4a4dfc6", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #508; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-24", - "ref": "audit-remediation (PR #1153)", - "head": "4163069d49456d665fc7bfaf633e7012befa78b1", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING in scripts/test-run-lock.mjs. After: merged origin/main; kept main lock wait/backoff semantics.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "origin/claude/chunking-ocr-eval-plumbing-e1ac6b", + "head": "b65de578ad50f128492d1ed316c6f11eb4a4dfc6", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #508; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-24", - "ref": "audit-remediation (PR #1153)", - "head": "c4adfe9e27e43edfdfea78f296257330cda39aca", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: behind/conflicting + PR policy FAIL (missing Clinical Governance Preflight + RAG impact). after: merged origin/main cleanly; PR policy still FAIL — body edit forbidden this sweep (needs human to add Clinical Governance Preflight + RAG impact line); no unresolved review threads worked", - "checks": "merge only; no provider-backed checks run" + "date": "2026-07-30", + "ref": "cursor/ci-hygiene-gates-1bf5", + "head": "b660dbc5a10d7ca3da03541028017f0abc6b5bd3", + "scope": "ci-hygiene-gates merge-readiness", + "outcome": "findings", + "checks": "check:ci-scope;check:gitleaks-pinned;scope-classify PR files ui_changed=false;sim cancelled-as-neutral" }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "2cb98b40e2fd36650e293b27a97996c069971db3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main by 35. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-30", + "ref": "cursor/ci-hygiene-gates-1bf5", + "head": "b660dbc5a10d7ca3da03541028017f0abc6b5bd3", + "scope": "ci-hygiene-gates-merge-readiness", + "outcome": "NOT READY: cancel-to-green behavior still allowed required PR CI to pass incorrectly; fixed at subsequent head 8f3283d00da274dee507a1b8e9b611321d1f35be", + "checks": "check:ci-scope; check:gitleaks-pinned; scope-classify PR files ui_changed=false; cancelled-as-neutral simulation exposed #095" }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "bbd5aafaadc7334107bfe531eef291615b26ed4b", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Post-fix merge origin/main (clean). Prescribing dock P2 fixed+resolved earlier; CI re-running.", - "checks": "merge origin/main; vitest mobile-composer-reserve 9/9 earlier; no provider-backed checks run." + "date": "2026-08-14", + "ref": "PR #1931 / claude/issues-reconcile", + "head": "b67476ff5ea9bb0b8a82c8d34fdd83356af683c7", + "scope": "fresh Tier 1 reconciliation review and required latest-base sync", + "outcome": "no PR-introduced P0-P2 defect; three CodeRabbit clarity findings dispositioned; sole thread resolved; latest main merged because strict required checks require a current base", + "checks": "connector audit PASS: 19 unique records, 3 cancellations, 13 effective mutations (4 add, 6 update, 3 done); changed-path three-way merge clean; local repository gates unavailable because checkout DNS was blocked" }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "c59ae820db3034ef3cf74ae6d0030a0472a3a264", - "scope": "Run PR babysit: merge/CI/threads", - "outcome": "Before: CONFLICTING + Static PR checks FAIL (duplicate #1149 ledger row) + 2 unresolved Codex P2s. After: merged origin/main; removed duplicate ledger row; Differentials hero slot gated on !(query.trim() && documentMatches.length); threads resolved.", - "checks": "vitest mobile-composer-reserve 9/9; check:branch-review-ledger pass; maintainability 4132/4140. No provider-backed checks run." + "date": "2026-08-08", + "ref": "PR #1740 / claude/inpage-nav-info-pages-v8rhnd", + "head": "b67f33f65e00529eb0dd1682d6925e708243ee93", + "scope": "Extract InPageNavHeader (default in-page nav template) + convert differentials detail; PR 1 of 3", + "outcome": "HANDOFF. Template extracted from the duplicated DocumentViewer/differential-detail markup into src/components/in-page-nav/ (InPageNavHeader, PageSection/toDocumentSections, usePageSectionWeights); differential-detail-page converted (-207 lines), behaviour-neutral. section-index.ts untouched so document tests unaffected. DocumentViewer deliberately NOT converged (owns h1, edge-glass-header, visual baselines) - follow-up. Anchor-offset hook generalisation deferred to PR 2 where it is consumed. 3 source-scanning contracts + addon-slot guard updated to follow the markup and additionally assert adoption; addon-slot scan widened to InPageNavHeader or it would go silent for every future adopter. Single failing test (pr-handoff-stop) is a root-uid artifact: chmod 0555 does not block root, reproduced with work stashed on clean tree.", + "checks": "verify:cheap 5618 passed/1 failed (root artifact); verify:pr-local same, short-circuits at test so build not reached; build run separately - Compiled successfully in 53s + client bundle secret check passed; verify:phone-chrome EXIT=0 (stage1 119 passed, stage2 7 passed 23.5s, full UI policy auto not selected); lint/typecheck/prettier --check . clean. No provider-backed gates. Deps installed with engine check relaxed (user-approved; Node 24.13.0 vs jsdom floor 24.15) - lockfile untouched." }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "d0a96caa01b90dffa40e60770b7700f36e8ba43f", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING @8adaaf229. After: merged origin/main clean (ort). CI re-running. Threads: not re-triaged.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-14", + "ref": "codex/rag-canary-completion", + "head": "b6a092fc9712efe6cb2849c219b29ce4fe0c71ee", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; its detached inactive worktree was safely removed.", + "checks": "Local patch comparison and commit reachability check." }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "e061ce29300cd80df5c8cd95d2ea8ecfeef1e2b0", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Run PR babysit: Codex P2 prescribing typed-draft dock path fixed + thread resolved. Before: CI mostly green, 1 unresolved Codex P2 (3644919028). After: showDesktopHomeComposer for prescribing requires !query.trim(); documents half dispositioned as not holding (home slot stays pre-submit); reply+resolve PRRT_kwDOSh5Fis6Th-6B. Not behind main.", - "checks": "npx vitest run tests/mobile-composer-reserve.test.ts PASS (9/9). No provider-backed checks run." + "date": "2026-07-14", + "ref": "origin/codex/rag-canary-completion", + "head": "b6a092fc9712efe6cb2849c219b29ce4fe0c71ee", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "e3dc87000", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR required green, 1 unresolved guest-favourites dock thread, branch behind main. After: merged origin/main cleanly; gated favourites hero composer slot on favouritesAccessible; thread resolved via GraphQL; reply mutation 403 noted in commit e3dc8700.", - "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/mobile-composer-reserve.test.ts PASS (9/9); git diff --check PASS; no Supabase/OpenAI/live eval gates run." + "date": "2026-07-30", + "ref": "codex/repair-pr1482", + "head": "b7016f62cde87407dea9a64a9d499a486a2a9bbd", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1482 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" + }, + { + "date": "2026-08-09", + "ref": "cursor/smarter-meds-search-9c1b (PR #1785)", + "head": "b722c628ca05eb32190ac6355e8ee0537817621c", + "scope": "PR #1785 unblock/fix", + "outcome": "synced origin/main (#1782); behind-but-clean DIRTY cleared; merge-tree clean; review threads clear; prior tip product CI green", + "checks": "merge-tree clean; behind 0; test:focused meds after sync" }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "fb39314e", - "scope": "Babysit sweep: drift", - "outcome": "Before: behind main, PR required cancelled. After: merged origin/main cleanly. CI re-running.", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-08-22", + "ref": "PR #2292 / claude/dev-hub-phase-2-plan", + "head": "b7261793e97e5f385e2ea3537a52182d7cf517f9", + "scope": "PR #2292 developer-hub review and P2 fixes after main sync", + "outcome": "Merged latest main 3e5c2234 cleanly after the P2 fixes. The merged tree preserves the external-URL guard, fail-closed untracked-document staging requirement, ignored scratch-note exclusion, and prior immutable review record.", + "checks": "Vitest repo-awareness-generator 31/31; tsc -p tsconfig.typecheck.json --noEmit; Prettier --check; git diff --check; merge-tree --write-tree 60ef8b9 3e5c223 returned fc385e66 without conflicts" }, { - "date": "2026-07-24", - "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", - "head": "pending", - "scope": "Babysit: ledger dedupe + merge readiness", - "outcome": "Before: Static PR failed on exact duplicate ledger rows after main sync. After: removed duplicate rows; squash auto-merge armed.", - "checks": "check:branch-review-ledger PASS; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/repository-review-remediation", + "head": "b72cefd2f5c0da79788cc0f8d0d40837c711ae92", + "scope": "live-drift reconciliation and release review", + "outcome": "Reconciled production migration history and live-ahead governance/retrieval definitions without mutating live; removed the migration-version collision; made captured OUT-signature changes fresh-replay-safe; preserved production ACLs; added a forward lexical-score correction; and reduced read-only live drift from 27 differences to five changes fully explained by the unapplied remediation migrations. No remaining high-confidence source defect was found in the reviewed scope.", + "checks": "Docker schema replay and regenerated manifest; isolated full Supabase migration reset; focused Vitest 74/74; full Vitest 1,712 passed/1 skipped; lint; typecheck; production build and client-bundle secret scan; configured production-readiness READY; targeted Chromium scope/modal/control QA 4/4; read-only live drift; Supabase security advisor clear. Live apply not run because authorization remained read-only." }, { - "date": "2026-07-24", - "ref": "codex/audit-remediation-final (PR #1158)", - "head": "4bfaf2a77a5c8cc0e6c48ee27a72a2faad203dd3", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main by 64. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-11", + "ref": "claude/mobile-search-bar-fix (PR #456)", + "head": "b73196c2e2e4a536804cdcdb50879c29e2c582c5", + "scope": "PR required-testing review", + "outcome": "All 4 Advisory UI regression failures confirmed PR-caused via A/B against pre-merge main (01f2cee0d): the 640px mode-home query moved the phone composer out of the hero, contradicting the design tests; residual ≥640px vanish remained when the slot never mounts. PR merged (b32c17b34) before the rework landed; follow-up fix shipped on `claude/mode-home-composer-hero-fix` (0px hero query restored, portal-outcome inline fallback, new `@critical` composer-presence test). Also found: main CI red on every push — missing `RAG_QUERY_HASH_SECRET` secret fails the deployment boot smoke and skips `release-browser-matrix`; owner adding the secret.", + "checks": "Local chromium A/B (PR head 4/5 fail vs baseline product-pass); rework targeted run 6/6 pass incl. new `@critical`; `npm run typecheck`; `npm run lint`; focused Prettier check" }, { - "date": "2026-07-24", - "ref": "codex/audit-remediation-final (PR #1158)", - "head": "78fab6be0c43cf5e92361315399d393ee7742f2e", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean (no RAG conflict markers). NOTE: PR still intentionally adds deterministic broad_summary queryClass shortcut in src/lib/rag/rag.ts (+17) — RAG impact behaviour change, not dropped during merge.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "claude/mobile-search-bar-fix", + "head": "b73196c2e2e4a536804cdcdb50879c29e2c582c5", + "scope": "branch-cleanup", + "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", + "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/mobile-search-bar-fix` returned empty." }, { - "date": "2026-07-24", - "ref": "codex/document-clinical-summary-20260725 (PR #1169)", - "head": "ef4ffca5", - "scope": "Babysit sweep: Codex P2 threads", - "outcome": "Before: 2 unresolved Codex P2s (missing pages guard, placeholder summary filter). After: profileItemPages helper + usefulSummaryText placeholder filter. CI re-running.", - "checks": "npm run typecheck PASS; no provider-backed checks run" + "date": "2026-08-30", + "ref": "codex/smart-natural-search-current-main", + "head": "b762e1363b9bbb993f0f74a9e00a2c2ccb1f56be", + "scope": "Smart natural search final CI test correction review", + "outcome": "No open P0/P1/P2 findings; stale extracted-owner tests corrected", + "checks": "6 focused Vitest; DSM production Chromium; formatting; diff check" }, { - "date": "2026-07-24", - "ref": "codex/fix-merge-conflicts-and-ci-on-open-prs (PR #1170)", - "head": "48fcb485", - "scope": "Babysit sweep: CI fix", - "outcome": "Before: Static PR checks FAIL (docs:check-links missing legacy route paths). After: expanded check-docs-links allowlist for pre-(search-app) paths. Production UI re-running.", - "checks": "npm run docs:check-links PASS; no provider-backed checks run" + "date": "2026-08-01", + "ref": "claude/ds-v2-tooling-loop (PR #1568)", + "head": "b76bcc9fbc39f2f986a52869c810ba3cb89994f2", + "scope": "PR #1568 review-thread resolve", + "outcome": "fixed and resolved all 13 review threads (fail-closed project identity, inventory exit code, provenance demo id, buildCmd execution, chrome pin, context7 rollback); ledger row for superseded 93d41c1 dispositioned", + "checks": "node --check scripts; design-sync --dry-run; no provider-backed checks" }, { - "date": "2026-07-24", - "ref": "codex/fix-next.js-startup-failure-and-verify-pages (PR #1149)", - "head": "8ddddbab2a29a94b3f993cbd114889f72c95f4f1", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-08-10", + "ref": "PR #1803 / claude/codex-m4b-shadow-tight-migration-53a8kn", + "head": "b778a56e9c3fa7642a783dde85e1130559d71e24", + "scope": "shadow-tight token migration onto the e1 elevation tier and alias retirement (#262 part 1)", + "outcome": "Migrated all 150 var(--shadow-tight) occurrences across 71 files to var(--e1) (90 gated production sites across 48 files, 60 mockup); deleted all three alias declarations (:root, .dark, forced-colors); pinned legacyShadowAliases 220 to 127 with exact per-path counts, closing 3 aliases of re-accumulated slack; added a whole-stylesheet absence assertion (mutation-verified); updated GATES.md section 3 plus a new section 6, TOKENS.md section 6, design-system.md, both redesign direction docs, .design-sync/conventions.md and ledger #262. Verified in Chromium that the ckb-v2 tier override is picked up by the alias substitution, so the change is value-preserving; that check is recorded as a prerequisite for the remaining six aliases.", + "checks": "npm run verify:cheap (30 static gates plus lint plus typecheck green; design-system contract passed, legacy shadow aliases 127; unit suite 553/554 files, 6024 tests passed, 1 pre-existing root-permission failure in tests/pr-handoff-stop.test.ts reproduced on untouched base a16dd26); npm run format:check whole tree; targeted Chromium computed-style measurement. verify:ui not run, Playwright browser revision drift #255, delegated to CI Production UI. No provider-backed gates." }, { - "date": "2026-07-24", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "21bdde7d", - "scope": "Babysit sweep: CI fix + drift", - "outcome": "Before: CONFLICTING, Static PR + PR required FAIL. After: merged origin/main; removed duplicate PR #1149 ledger row; lint already green on head. CI re-running.", - "checks": "npm run lint PASS; check-branch-review-ledger PASS; no provider-backed checks run" + "date": "2026-08-13", + "ref": "codex/windows-tooling-followups-pr", + "head": "b793366b473d5bebda4e1ee5e2d1cc493b86178d", + "scope": "Windows tooling follow-ups", + "outcome": "pass", + "checks": "focused 62 passed at final head; full PR-local passed before adjacent ledger fix; review no findings" }, { - "date": "2026-07-24", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "6c093e927d7b4f7261fb78160d85bdc407853001", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: already contained origin/main. After: ledger-only record. Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-08-13", + "ref": "claude/close-filter-rollout-rows", + "head": "b7ac0f244b128494aa564cd3e300fe673b2b6d2b", + "scope": "close ledger rows #170 and #309 after verifying the filter contract rollout shipped", + "outcome": "PR #1925 opened; docs-only. Both rows verified DELIVERED by content on main 2d27039, not PR state: services (service-facets.ts, scope segment on a scope URL param, quick filters evicted to composer suggestions), factsheets (SegmentedControl + counts, no eviction needed - the claim that its presets discarded the query was measured false), therapy-compass (filter-sheet.tsx deleted, converged #1885/#1889), documents (converged #1910 with meterContent/footerOverride); #309 dense tier now in the shared sheet, ported up from documents by PR F rather than duplicated. Also recorded: I first wrote canonical edits via scripts/outstanding-issues.mjs and check:ledger-write-discipline correctly rejected it - npm run issues:done routes through ledger-inbox.mjs, the two entry points are not interchangeable", + "checks": "check:ledger-write-discipline passed for 2d270392f9cf..HEAD; check:outstanding-issues passed 310 rows 114 open 196 archived no ids deleted from base; prettier --check on the two inbox JSON files passed; each mode claim re-grepped against main before writing" }, { - "date": "2026-07-24", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "93518331fd1839e773a0cb08d0e8425e502f876d", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Theme cookie P2 fixed+resolved; merged origin/main resolving layout.tsx (kept cookie html class + THEME_COOKIE_NAME atop localFont/skip-link from main).", - "checks": "merge origin/main; vitest theme 9/9; no provider-backed checks run." + "date": "2026-08-18", + "ref": "dependabot/npm_and_yarn/npm-development-f0b269800a (PR #2012)", + "head": "b7e4143ca01ebac062327bfaeef7f18efe13f978", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), no CI failures or unresolved-thread action needed. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit.", + "checks": "No local gates run (dependency-bump PR, no local diagnosis needed); no provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "a29b0d778b542932972aa6035ee115b91e49025a", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING + Static PR FAIL (suppressHydrationWarning on skip link). After: merged origin/main; removed illegal suppressHydrationWarning from skip-to-content anchor; theme fix already on PR head b4b5f21b9. CI re-running.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-31", + "ref": "codex/chat-ledger-triage-d344", + "head": "b7eae51a42a48b4e1e95e5a4388eefba7303de9e", + "scope": "branch cleanup reconciliation", + "outcome": "superseded WIP issue snapshot; every changed issue remains on current main with later disposition; archived and removed", + "checks": "issue-row map against current main; clean worktree; no process; batch19 bundle" }, { - "date": "2026-07-24", - "ref": "codex/hydration-fixes (PR #1131)", - "head": "f5451102cc0f157d0f63a3679e532d02ae85918c", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Run PR babysit: Codex P2 theme cookie validated+fixed + thread resolved. Before: CI mostly green, 1 unresolved Codex P2 (3644928239; prior Codex claim not on this branch). After: cookie fallback in THEME_BOOTSTRAP_SCRIPT + useTheme write/clear + shared keys; reply+resolve PRRT_kwDOSh5Fis6TiAhF. Not behind main.", - "checks": "npx vitest run tests/theme.test.ts PASS (9/9). No provider-backed checks run." + "date": "2026-07-26", + "ref": "PR #1257 / `cursor/therapy-search-trim-e63e`", + "head": "b80a3810819846760e862e1d0d4aa746ae6b0237 (merged)", + "scope": "Authorized babysit sweep", + "outcome": "Already MERGED to main before code changes needed; tip had correct sidebar absence assertion; 0 unresolved threads at close.", + "checks": "Hosted PR required + Production UI SUCCESS on merged tip. No provider-backed checks." }, { - "date": "2026-07-24", - "ref": "codex/query-ribbon-search-headings (PR #1166)", - "head": "37cfa5553ccb784ee5e9f47ded1ad69914c053ed", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Final HEAD after merge origin/main + ledger bookkeeping. 0 unresolved threads; no Bugbot actionable findings; required CI re-running on this SHA.", - "checks": "merge origin/main; no provider-backed checks run." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8", + "head": "b82ae6fe80cfc5e4dac139383230d5a8fcb62b68", + "scope": "Run PR sweep", + "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", + "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" }, { - "date": "2026-07-24", - "ref": "codex/query-ribbon-search-headings (PR #1166)", - "head": "9eac2e252bcc5c548aa919b69faeb79b9ff7d2cf", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Merged origin/main; Codex ledger-SHA P2 dispositioned+resolved (append-only supersede already in 9eac2e252). 0 unresolved threads.", - "checks": "merge origin/main; thread resolve only; no provider-backed checks run." + "date": "2026-08-18", + "ref": "claude/db-remediation-board-2026-08-18", + "head": "b82f7d46cfa111dea69ffc8cd55fcc10310b6123", + "scope": "docs/database-remediation-coordination.md board update 2026-08-18 (#316)", + "outcome": "coordinator self-review: docs-only board update verified against main 173ea9f28 and PRs #2087/#2093/#2058", + "checks": "prettier --check pass; docs:check-links 1866 refs resolve" }, { - "date": "2026-07-24", - "ref": "codex/query-ribbon-search-headings (PR #1166)", - "head": "ad3d38c62a19f5fa2a7e8356021795937c5b0f66", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Supersedes prior #1166 row in this push: post-merge+ledger HEAD after syncing origin/main (clean auto-merge). 0 threads; required CI re-running.", - "checks": "merge origin/main; ledger append; no provider-backed checks run." + "date": "2026-07-30", + "ref": "claude/white-element-positioning-t607pk", + "head": "b82ff088436cd936d219a4eb54a54d09a88fbd7c", + "scope": "pr-babysit", + "outcome": "Product tip sound; no code fix. Hosted CI fully green once at e7a27bbf (Production UI+PR required). Recurring blocker: repeated Merge main into PR cancels Production UI mid-run so PR required fails with production-ui=cancelled. merge-tree clean / MERGEABLE when left alone. No review threads. Bugbot: no cursor[bot] findings; suite stays queued. Local A/B: 3 Playwright fails identical on --surface/--background.", + "checks": "verify:cheap:pass; hosted:e7a27bbf:PR-required+Production-UI:pass; A/B-playwright:env-flake; bugbot:no-findings; churn:main-merges-cancel-ui" }, { - "date": "2026-07-24", - "ref": "codex/query-ribbon-search-headings (PR #1166)", - "head": "c94e89f392f578c4b2c749195dd485b74959074c", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean. CI re-running.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-08-17", + "ref": "claude/rag-r0-reconcile-inbox", + "head": "b849065dd292279515cbad87a9eb08ba0d6a9fee", + "scope": "issues:reconcile after PRs #2023/#2024/#2035/#2036/#2037 (28 requests, 3 cancellations, #212 closed) + HANDOVER S4/T4 rows", + "outcome": "single fresh-base reconcile; supersedes PR #2032 partial-base attempt", + "checks": "check:outstanding-issues (0 pending, 217 applied); check:ledger-write-discipline passed f5b0932914eb..HEAD; verify:pr-local docs scope" }, { - "date": "2026-07-24", - "ref": "codex/query-ribbon-search-headings (PR #1166)", - "head": "cbb493c2b51dd7120df39cfbcd5f19b73f882d43", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Before: not behind at start, then main advanced (8 behind); required checks green except Production UI still pending on prior head; 0 unresolved review threads; no Bugbot findings. After: merged origin/main cleanly (docs/branch-review-ledger.md + src/app/layout.tsx auto-merge). No code fix needed.", - "checks": "merge origin/main only; no provider-backed checks run." + "date": "2026-07-14", + "ref": "origin/claude/document-image-viewer-review-ox7t11", + "head": "b874d857acfb32ec635332967e94d5bbc96ca68c", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-07-24", - "ref": "codex/reindex-agent-enrichment-guard (PR #1143)", - "head": "f82cf9cfa", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR required green, 1 unresolved reindex/agent-claim serialization thread, branch behind main. After: remote branch already had atomic RPC fix 2bb0470d plus merge-main d2d57d7c; validated pushed head, resolved thread via GraphQL; reply mutation 403 noted in commit f82cf9cf.", - "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/reindex-enrichment-lease.test.ts tests/private-access-routes.test.ts tests/supabase-schema.test.ts tests/drift-detection.test.ts PASS (218/218); npm run check:migration-role PASS; npm run typecheck PASS; npm run check:production-readiness PASS with non-blocking warnings; no live eval gates run." + "date": "2026-07-13", + "ref": "claude/repo-agents-evaluation-8a41cd", + "head": "b8b484398557231ce4ce05693b784dc3bac16299", + "scope": "branch-cleanup", + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-24", - "ref": "cursor/comprehensive-repo-review-ledger-d9a1 (PR #1150)", - "head": "345c02cdbaefb13aeb951a14674aedfe4648a50e", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "main", + "head": "b8b484398557231ce4ce05693b784dc3bac16299", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained.", + "checks": "Resolved as main / origin/main; deletion prohibited." }, { - "date": "2026-07-24", - "ref": "cursor/comprehensive-repo-review-ledger-d9a1 (PR #1150)", - "head": "60a3c3a83a31e65ec2759540629687e7113e2489", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed 60a3c3a83. Threads: none. Residual: CI re-running.", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-07-14", + "ref": "claude/repo-agents-evaluation-8a41cd", + "head": "b8b484398557231ce4ce05693b784dc3bac16299", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-24", - "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", - "head": "2b17f5fcbe06307e7ff50ad0373789daa8f07a01", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/opioid-dose-retrieval-gate", + "head": "b8c5cb785e1d52d3af05212cf2bae10d412a9869", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #571; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-24", - "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", - "head": "9c373eb1c2308b298a4c3abe970e5db793854ee4", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger/codebase-index auto-merge); pushed 9c373eb1c. Threads: none. Residual: CI re-running.", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "origin/codex/opioid-dose-retrieval-gate", + "head": "b8c5cb785e1d52d3af05212cf2bae10d412a9869", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #571; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-24", - "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", - "head": "c29d57c5", - "scope": "Babysit sweep: drift", - "outcome": "Before: CONFLICTING. After: merged origin/main cleanly. 1 unresolved Codex P2 (ledger insert vs append) left for human.", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-08-09", + "ref": "claude/document-viewer-optimization-tu8tnj", + "head": "b8c94dff2345a7d50c7bbce0c9c344740e6b92b1", + "scope": "docs: document-viewer Phase 3 handover brief (PR #1765)", + "outcome": "Docs-only. Adds docs/plans/document-viewer-phase3-handover.md scoping Phase 3 to all capabilities except crop-to-page overlay (bbox absent from DocumentDetailImage; plumbing crosses src/lib/**document** and forces a governance preflight). Corrects ledger #279: measured playwright@1.62.1 expects Chromium 151.0.7922.34, container ships 141.0.7390.37, CI runs HeadlessChrome/151.0.0.0, and pdfjs-dist 6.2.108 needs Map.getOrInsertComputed which ships in 151 not 141 - so the raster failure is container-only and neither proposed remedy (bump Playwright / pin pdfjs down) is needed. Cited #286 for the authorizationHeader casing trap after initially writing #285.", + "checks": "verify:pr-local all ten gates completed, none failed; docs:check-links 1688 references resolve; line refs re-verified against main 8db1e53" }, { - "date": "2026-07-24", - "ref": "cursor/information-page-structure-2a5d (PR #1148)", - "head": "230770a53f9bfb53ba69abc81d6e8491e021f8a9", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-28", + "ref": "codex/chat-top-nav-mockups-b3ce", + "head": "b8f4c658412d8f546f47b64b77e7f274a11018ff", + "scope": "six-pr-consolidation", + "outcome": "close-superseded: mockups via #1278", + "checks": "diff-vs-main,gh-merged-history" }, { - "date": "2026-07-24", - "ref": "cursor/information-page-structure-2a5d (PR #1148)", - "head": "97511d69256b97de4f4e654ff6c12f3742f795f4", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-28", + "ref": "PR #1287 / `claude/site-audit-quick-wins-21v9gb`", + "head": "b90d659be12efedd339297daa2d289c2bd7ebb03", + "scope": "Sync main + Format check on outstanding-issues", + "outcome": "FIXED. Cause of GitHub CONFLICTING/DIRTY: branch 1 behind main (`11a4ed74` numeric claim truncation); `git merge-tree` CLEAN — ledger union auto-merge. Cause of Static PR red: Prettier on `docs/outstanding-issues.md` after queue closeout rewrite. Merged main; reformatted file; `#012` remains Resolved and out of the recommended queue.", + "checks": "merge-tree CLEAN; `prettier --check` PASS; `check:branch-review-ledger` PASS; no provider-backed checks." }, { - "date": "2026-07-24", - "ref": "cursor/pr-babysit-bugbot-agents-6c52 (PR #1167)", - "head": "6ec7a852", - "scope": "Babysit sweep: CI fix + Codex/CodeRabbit threads", - "outcome": "Before: mergeable, PR required green, 8 unresolved agent-guidance threads. After: fixed pr-babysit/pr-bugbot agents (fetch origin/main, no Run PR live-gate auth, pin target head SHA, exact bot identity, ledger-after-every-sweep). Thread reply/resolve 403 on this token — fixes pushed.", - "checks": "typecheck on agent files; no provider-backed checks run" + "date": "2026-07-14", + "ref": "claude/design-elevation-e1e2", + "head": "b91437c9068b6dba2f25e831d360e2dbcbeeb75a", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`; detached head remained remotely anchored before worktree removal." }, { - "date": "2026-07-24", - "ref": "cursor/pr-queue-hygiene-72ec", - "head": "pending-push", - "scope": "PR queue hygiene", - "outcome": "Add pr-branch-sync workflow + sync:pr-branches helper; bump postcss to clear npm audit high; document anti-churn guidance in AGENTS/process-hardening/pr-babysit/run-pr.", - "checks": "check:github-actions PASS; docs:check-scripts/index PASS; vitest sync-open-pr-branches 3/3; npm audit high clean; no provider-backed checks run" + "date": "2026-07-14", + "ref": "origin/claude/design-elevation-e1e2", + "head": "b91437c9068b6dba2f25e831d360e2dbcbeeb75a", + "scope": "branch-cleanup", + "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-07-24", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "05ec10d5", - "scope": "Babysit sweep: CI fix + drift", - "outcome": "Before: CONFLICTING, Static PR + PR required FAIL (duplicate ledger row). After: merged origin/main; removed duplicate PR #1149 ledger row. CI re-running.", - "checks": "check-branch-review-ledger PASS; merge origin/main; no provider-backed checks run" + "date": "2026-07-28", + "ref": "PR #1336 / cursor/mode-secondary-navigation-dc4e (merged)", + "head": "b92c2721f942e4a35b09af2151b327cbb989b2b2", + "scope": "prlanded", + "outcome": "LANDED babysit tip: Suspense bridge, DocumentViewer ownership, horizontal chip scroll, service section ids; PR required + Production UI green before squash", + "checks": "hosted-pr-required,production-ui,static,unit,build,verify:cheap" }, { - "date": "2026-07-24", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "6528aec920eb3cda84149980bdd26a20845227ec", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main. After: merged origin/main cleanly (no conflicts). Unresolved review threads left as non-P0/P1. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-25", + "ref": "`cursor/fix-mode-switch-lag-22f6`", + "head": "b9484396347defaaa934571604b9d165ae6d8b98", + "scope": "Same-class mode-switch thrash review + fixes", + "outcome": "FIXED prior open P2s from 54d45f68 hunt: crossModeSearch now mirrors selectSearchMode (navigate-only when leaving dashboard); shared shell resets phone scrollTop + scroll-hide on pathname; hero portal keeps default composer until host attaches; ModeHomeRouteLoading uses --shell-header-h; services/forms contentAlign stays startOnPhone while loading. No P0/P1. Residual P2: ClinicalDashboard↔standalone shell remount + sidebar grid-template-columns transition; dashboard-internal Answer↔Documents still eager setSearchMode (overlay/hero flip by design, scroll now reset). Residual P3/#007: /tools vs /?mode=tools dual entry.", + "checks": "Focused Vitest ownership/align/hide-on-scroll/merge-artifacts/overlay 46/46; typecheck; static contracts for portal/scroll reset/crossModeSearch. No verify:ui / provider-backed checks." }, { - "date": "2026-07-24", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "69af1e5db0d3fff45214b1cc17f37b0fbd5fffb2", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Run PR babysit: Codex P2 density assertion fixed + thread resolved. Before: CI mostly green (Production UI in progress), 1 unresolved Codex P2 (3644978153). After: scoped per-button density assertions + count=2; reply+resolve PRRT_kwDOSh5Fis6TiJPl. Not behind main.", - "checks": "npx vitest run tests/mobile-interaction-regressions.test.ts PASS (5/5). No provider-backed checks run." + "date": "2026-08-14", + "ref": "claude/live-drift-forensics-lnhvja", + "head": "b9485d897dbec528b9141d3b93bbc7a067bfd010", + "scope": "incident forensics + live index restore evidence (#316/#231)", + "outcome": "PR #1960 open", + "checks": "verify:pr-local failed:(none) incl check:ledger-write-discipline" }, { "date": "2026-07-24", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "8964ed6d39603ac40c360e934b582c4e43388c7f", - "scope": "Run PR babysit: CI/threads/drift", - "outcome": "Post-fix merge origin/main (clean). Density P2 fixed+resolved earlier; CI re-running.", - "checks": "merge origin/main; vitest mobile-interaction-regressions 5/5 earlier; no provider-backed checks run." + "ref": "`codex/safety-plan-no-patient-data-contract`", + "head": "b94987c94537f3114a3429848fa908bdecd1d80a", + "scope": "Safety Plan Generator identifier, local-state, copy, print, privacy-notice and PIA contract", + "outcome": "APPROVE. No P0-P2 finding. The patient name/initials field is removed; the builder now asks for identifier-free minimum content, retains working state only in the mounted React component, and makes clipboard/print/PDF export an explicit handling boundary. The PIA and product privacy copy distinguish this local-only tool from provider-backed questions. Highest residual risk is outside Clinical KB: users must handle exported copies under an approved clinical-record process, which the UI now states at the export controls.", + "checks": "Privacy/component DOM 3/3 plus updated privacy-copy 2/2; focused Chromium copy/print/no-fetch-or-XHR 1/1; `verify:cheap` passed all 21 gates, 366 files and 3,245 tests with 1 skip; production-readiness READY using the existing canonical environment without a provider call; production build and client-bundle secret scan passed; offline RAG fixture/manifest 36 cases/21 suites passed. `verify:pr-local` passed runtime, formatting, lint and typecheck, then stopped on the unrelated load-sensitive `reconciliation-preflight` 30-second timeout; that test passed 5/5 isolated and the preceding full suite passed, so the unchanged five-minute gate was not retried. No Supabase, OpenAI, Railway, live RAG, production data or deployment action ran." }, { - "date": "2026-07-24", - "ref": "cursor/pr1135-native-disabled-followup-6780 (PR #1157)", - "head": "90cd914f07fc33019c3d80e37edd92f8d73d71f9", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-30", + "ref": "codex/reopen-issue-105", + "head": "b94a8f5a693cc44e8aaa0fe3ec5bb65a7c313a3b", + "scope": "Correct #105 status after PR #1482", + "outcome": "No findings; restores the withdrawn verification evidence and leaves the task open", + "checks": "outstanding issues PASS 146 rows 69 open 77 archived next-id 149; docs links and scripts PASS" }, { - "date": "2026-07-24", - "ref": "cursor/repo-auditor-ledger-4132 (PR #1147)", - "head": "030723c7716da98a6cf166327e5b7a72c2991b8b", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main by 64. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-27", + "ref": "PR #1286 /", + "head": "b9ac1621a3993338a242d520bdc2d1a1dc29934c", + "scope": "Post-conflict CI green + Bugbot closeout", + "outcome": "APPROVE. Conflicts resolved; hosted required aggregate green (Static PR, Unit coverage, Build, Safety, Production UI, PR required). No unresolved review threads. Bugbot: no remaining P0-P2 on unique product delta (forced-colors:border, literalShadowClasses 0, diagnosis-map shadow token). Residual: NodeDetails phone sheet now uses downward --shadow-elevated instead of old upward literal cast (visual only).", + "checks": "Hosted PR required PASS; Production UI PASS (11m41s); Advisory UI PASS; local verify:cheap PASS (396 files / 3558 passed); focused design-system/knip/mobile-chrome-paint/test-runner-safety PASS; no provider-backed checks." }, { - "date": "2026-07-24", - "ref": "cursor/repo-auditor-ledger-4132 (PR #1147)", - "head": "2f47746ad7e13e8cb848da71fb2647644388da8f", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "b9b56c140eb14cbba5a2c2230e3fa28d3a791add", + "scope": "CI unblock after bot sync", + "outcome": "Tip 96188eca had PR required SUCCESS (Static/Safety/Unit/Build/Migration/Production UI). Hosted pr-branch-sync then merged main (a420b86b/b9b56c14), leaving CI action_required for bot-authored runs. Pushing agent commit to re-trigger non-bot CI.", + "checks": "Prior tip 96188eca hosted CI green; local services referral Playwright PASS; no provider-backed checks." }, { - "date": "2026-07-24", - "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", - "head": "54ab9f8498751ef7e96815dd2496b8137f29dad7", - "scope": "Review + follow-up hardening of #030/#075 search-correctness fixes", - "outcome": "Findings fixed: (P2) one combo-titled source could still make multi-slot allHit true via substring alias hits — `expectedFileCoverage` now assigns each retrieved top-file to at most one expected slot; (P2) label pagination could loop forever on a stuck full-page API — fail-closed page budget added; (P2 process) stale `PR_POLICY_BODY.md` from search-performance leftover was overwriting this PR body via Sync PR policy body — corrected then deleted. No remaining high-confidence P0–P1 in product scope. Residual: human approving review; Unit coverage CI still finishing on later heads. RAG impact: no retrieval behaviour change — eval matching / label pagination only.", - "checks": "Focused Vitest 32/32; `verify:cheap` green; `verify:pr-local` green (lint/typecheck/3326 unit/build/client-bundle/offline RAG fixtures 36/36). No OpenAI/live Supabase/provider-backed canary." + "date": "2026-07-30", + "ref": "PR #1427 / claude/ci-testing-review-2l8klp", + "head": "b9de34d40d2dc5ab164bb1eb582db1cfcd1009c3", + "scope": "ci-testing-review", + "outcome": "SUPERSEDES the 2026-07-30 db8209be record, which asserted a root cause now REFUTED. That record claimed dragScrollBy clamping made the ui-phone-scroll red; main's #127 carries trace evidence (PR #1404 run 30521269873) that the drag delivered in full (scrollTop 1272 = 552+720) with ~1300px runway spare and a 10s non-flip is a latched state. The change is a diagnostic and guard, NOT a fix, and is now labelled so in the docstring, commit, PR body and #127. Remaining candidates: scrollHidden false vs sharedChromePinned latched; they are indistinguishable from the DOM because only the composite data-scroll-hidden is exposed. Prime suspect in source: composerFocusPinsChrome has a still-the-active-owner guard, headerFocusPinsChrome has none (master-search-header.tsx:397-398). ALSO: this PR ran zero pull_request workflows for ~2h (no CI/Gitleaks/Semgrep, only pull_request_target) because a real conflict blocked refs/pull/1427/merge - issue #116, caught by main's new PR mergeability check. Merging main fixed it and CI ran green first try.", + "checks": "CI run 30530618838 SUCCESS (13m39). MEASURED shard result, correcting the ~7min prediction: Production UI (1) 121 tests 9m36, (2) 111 tests 6m54, (3) 110 tests 6m20 - per-test cost is NOT uniform, shard 1 holds the slow specs, so the largest shard is 9m36 not the predicted 6.8min. ui-critical-fast 3m14. PR required SUCCESS. verify:cheap on merged tree PASS (434 files / 4563 passed, 4 skipped); prettier --check . PASS; ui-phone-scroll ran locally 1x via PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH: 56 passed (5.3m) - three-run protocol NOT completed and not applicable, since this is not a flake fix." }, { - "date": "2026-07-24", - "ref": "cursor/search-correctness-030-075-6273 (PR #1177)", - "head": "96ba6152c1f8e5e0000000000000000000000000", - "scope": "Supersedes prior #1177 review row with post-sync tip", - "outcome": "Same product outcome as prior row; tip includes correct PR_POLICY_BODY sync + template deletion so Sync PR policy body cannot reintroduce the stale search-performance description.", - "checks": "`npm run check:branch-review-ledger` pass; no provider-backed checks run." + "date": "2026-08-18", + "ref": "claude/services-navigation-removal-7bnknn", + "head": "ba279bdd0b2fdc5d4dfa2c88dd30d57ee94be330", + "scope": "src/components/services/services-navigator-page.tsx (referral progress stepper phone centering)", + "outcome": "PR #2103 opened — verify:pr-local complete (7091 tests, build, lint, typecheck, RAG fixtures, medication checks all passed)", + "checks": "verify:pr-local" }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138 babysit close)", - "head": "2f8509cc", - "scope": "Babysit to merge-ready", - "outcome": "Merged main; fixed Bugbot deferred-clear findings; fixed Sheet focus-restore teardown flake that failed Unit coverage; no unresolved review threads. Hosted PR required green.", - "checks": "Hosted CI: Static PR, Unit coverage, Build, Production UI, Advisory UI, PR required PASS. No provider calls." + "date": "2026-07-18", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase 3, PR #872, final reviewed head ba46c1581a3c4e87d5d5989f3eb77483c9aa8aa5)", + "head": "ba46c1581a3c4e87d5d5989f3eb77483c9aa8aa5", + "scope": "PWA offline-page design upgrade (plan Phase 3)", + "outcome": "Rebuilt the `public/offline.html` visual shell on mirrored Clinical White / Aegean Graphite tokens (each value annotated with its source token): pure-white canvas, aligned text/border/hover values, system UI font stack, and the clinical-accent focus ring replacing the off-contract amber. Privacy copy, structure, forced-colors behavior, safe-area insets, and target sizes unchanged. `CACHE_VERSION` bumped to the new unique `2026-07-18-v1` with the offline.html sha256 pairing updated — the Phase 1 binding guard exercised for real and enforced the paired move. A transient typecheck failure from stale `.next/dev` route types (cross-branch dev-server state) self-resolved after server regeneration; nothing was deleted.", + "checks": "Focused Vitest 55/55 including the binding guard on the new pairing. `verify:cheap` 2778 passed/1 failed and `verify:pr-local` unit stage identical — the lone failure is the known container-only `pdf-extraction-budget` artifact (clean-main baselined; hosted CI green on #826/#835). `test:e2e:pwa`: the cold-offline journey rendered and asserted the redesigned page through the new-version worker; sole installability error remains the container `in-incognito` artifact. `verify:ui` 219 passed/2 failed — the same two clean-main-baselined container artifacts, no new failures. Build/bundle stages deferred to the blocking hosted CI Build job. No provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138 babysit)", - "head": "e27df0fa", - "scope": "Bugbot + merge babysit", - "outcome": "Merged origin/main. Fixed Bugbot medium findings: deferred clear left stale service/registry matches. No unresolved review threads.", - "checks": "Focused Vitest (deferred registry + differential + boundaries); typecheck; maintainability budgets. Watching hosted CI." + "date": "2026-07-29", + "ref": "1391", + "head": "baecef05cac86c4d52af895d483a33ba3c40cd61", + "scope": "PR #1391 review", + "outcome": "reviewed clean — text-4xs retirement confirmed against globals.css (--text-3xs 0.625rem present, --text-4xs absent); orphan guard proven to fail on a reintroduced class; six Playwright retries all retry action-plus-effect so a genuine regression still fails. Resolved the outstanding-issues #108/#109 double-allocation (renumbered to #110/#111, marker to 112) and recorded #111 done", + "checks": "verify:cheap exit 0 (429 files / 4404 tests); design-token-contract 28 passed; check:branch-review-ledger passed" }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138 bugbot)", - "head": "8d712183", - "scope": "Bugbot babysit", - "outcome": "Fixed medium: formulation builder/home cleared live query still ranked against lagging deferredQuery. Merged main (#1137 search-chrome). No unresolved review threads.", - "checks": "Focused Vitest deferred registry; typecheck pending in CI." + "date": "2026-07-13", + "ref": "codex/privacy-ui-assertion", + "head": "bafceee0588483bed209b321d9fdf68f48b7ea2f", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor bafceee0588483bed209b321d9fdf68f48b7ea2f origin/main`." }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138 follow-up)", - "head": "7e2ccee0", - "scope": "Bugfix pass on search interactive performance diff", - "outcome": "Fixed P1 auth-stale differential matches; P2 progressive-reveal hiding selected card; P2 deferred empty/full-catalogue flash on services/forms/formulation/therapy-compass; Prettier CI failure on universal-search test. No remaining high-confidence P0–P2 in scoped diff. Residual: differential debounce skeleton flicker; RelatedDocumentsPanel memo limited by unstable callbacks.", - "checks": "Focused Vitest 11/11; typecheck; format:check; maintainability budgets. No provider calls." + "date": "2026-08-18", + "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", + "head": "bb5e4d1158639d678c75c8fd85f5e3fd608e2936", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Ledger throttle showed NOT REVIEWED at cda7ff21b. Found the substantive fix (claude-code-action pin v1.0.187->v1.0.193 allowlisted in scripts/github-action-pins.mjs) was already present at that head from a prior sweep commit 907ca970; checks were already green (Static PR checks/PR required/PR policy all success). Branch was 25 commits behind main; local merge tripped the pre-push ledger-write-discipline guard on the far-behind old remote tip (guardBaseForRange uses the branch's prior remote SHA for a fast-forward push, not mainMergeBase), so synced via authenticated GitHub update-branch API (human identity BigSimmo) instead of a local push, landing cleanly at bb5e4d115. Zero unresolved review threads (get_review_comments returned 0); the one PR comment is a stale 2026-08-17 ci-triage bot note superseded by the later fix commit, no reply needed. No conflicts, no code changes beyond the dependency-bump PR's own prior content. CI re-triggered on the new head and left running (not babysat) — Static PR checks/Semgrep/GitGuardian in_progress at handoff, PR mergeability and PR policy already green.", + "checks": "npm run check:github-actions (pass), npm run check:ci-scope (pass), npm run check:pr-policy (pass); npm run check:ledger-write-discipline (pass, base=origin/main); local git merge-tree confirmed clean merge; no provider-backed checks run" }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138 merge-ready)", - "head": "36d86fd0", - "scope": "Babysit closeout", - "outcome": "CodeRabbit: stable RelatedDocuments callbacks, identity-based progressive reveal, clear differential LRU on 401, Sheet unmount focus-restore via layout flag, formulation/therapy clear. Bugbot: live therapy filters with deferred query text. CI PR required green; 0 unresolved threads.", - "checks": "Focused Vitest; hosted CI PR required PASS." + "date": "2026-07-18", + "ref": "PR #871 / codex/design-audit-final-pr-20260718", + "head": "bb85b546e + ledger closeout", + "scope": "final current-main design/accessibility audit integration, hosted review resolution, and PR-readiness review", + "outcome": "No remaining high-confidence P0-P2 defect after current-main reconciliation, two independent read-only reviews, and remediation of every confirmed review finding. The follow-ups made client demo state fail closed in production for both prototype items and set suggestions, separated local no-auth upload capability from Favourites demo treatment, kept unavailable Favourites controls focusable with accessible reasons, restored visible skip-target focus, limited Favourites selection to the wide layout that exposes its workspace, aligned upload/index semantics with each responsive rendering mode, exposed filtered Tools results as a labelled group, and kept Therapy Compass in an honest loading state until its catalogue resolves. The audit also distinguishes completed browser assertions from an incomplete valid document-source redirect case. External design-target fidelity remains unverified without an approved target.", + "checks": "Canonical local PR verification completed through runtime, changed-file formatting, full ESLint, TypeScript, full Vitest, webpack production build/client-secret scan, and offline RAG fixtures. Focused Therapy, navigation/auth, demo-boundary, and unavailable-control regressions passed after correcting one test-order issue; the final demo/upload boundary selection passed 4/4; scoped zero-warning ESLint, changed-file formatting, and `git diff --check` passed. The full local Chromium sweep completed 236/237 with one hydration-timing failure: the app-mode test clicked before React attached its handler. The existing handler-readiness pattern was applied; focused rerun attempts were then lock-blocked by another registered worktree, so exact-head hosted Chromium remains the required proof. Initial hosted checks, including Production UI, passed before these final follow-ups. No OpenAI, Supabase, production-data, deployment, or live clinical workflow ran." }, { - "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138)", - "head": "46597a9b", - "scope": "Explicit performance + frontend-ui review of search/interactive surfaces; low-risk client deferral/cache/abort/progressive-reveal pass", - "outcome": "Prior document/universal search latency work retained (NDJSON stream, LRU, lazy PDF, content-first detail). New work: differential debounce+abort+LRU; useDeferredValue on catalogue ranking; document results Show more window; RelatedDocumentsPanel memo; universal LRU 100+TTL; deferred registry search extracted from ClinicalDashboard. No RAG/retrieval/ranking edits. No high-confidence P0–P2 defect found in the shipped scope; residual risk = deferred paint lag on large catalogues and progressive reveal missing deep cards until Show more.", - "checks": "Focused Vitest 10/10 (differential + universal + performance boundaries); verify:cheap exit 0 (3262 tests); typecheck clean; verify:ui exit 0 (Chromium). No provider calls." + "date": "2026-08-17", + "ref": "PR-2040", + "head": "bbb90caeca3c7cbbaebcc29892a6e553bf085bc9", + "scope": "src/components/services/services-navigator-page.tsx, src/components/services/service-group-nav.tsx (deleted), tests/ui-tools.spec.ts, docs/design-system/*", + "outcome": "OPENED PR #2040: folded the standalone services browse nav (All/Urgent/Public MH/More) into the Filter services sheet as a multi-select facet, reusing previously-unwired plumbing in service-core-groups.ts. Deleted ServiceGroupNav. Focused+broader Vitest (126 tests) green, typecheck/lint/design-system-contract clean, manual Chromium walkthrough confirmed correct rendering and URL toggling.", + "checks": "test:focused (81 passed), targeted vitest sweep (45 passed), typecheck, eslint, check:design-system-contract, manual browser walkthrough" + }, + { + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "bbc5d4625adcbdc32aee2f9b4fb4b0d4365d0e99", + "scope": "outstanding-issues capture: unreadable CI token, at-risk worktree work, unpushed hook fix", + "outcome": "PR #1490 opened. Ledger-only: adds #149 (PAT lacks Checks: Read so no PR verdict is readable; the working status endpoint returns total:0 rather than erroring), #150 (four already-merged worktrees hold uncommitted work existing in no branch or PR, largest +395/-200 over 19 files incl CI config), #151 (the #143 pre-commit fail-open d2fd16d54 lives only on a never-pushed branch, 17 behind main, conflicting on the file main's docs:update generator now owns). Also records that PR #1458 is superseded by #1480 and should be closed after owner confirmation", + "checks": "check:outstanding-issues 149 rows 60 open unique ids next-id=152; docs:check-links 1415 refs resolve; docs:check-index 49 roots/modules/routes; prettier clean" }, { "date": "2026-07-24", - "ref": "cursor/search-interactive-perf-af54 (PR #1138)", - "head": "ff4b293d95f922e70ebf5ee9b0c156c41a8bff3b", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green, 0 threads. RAG impact: no retrieval behaviour change — PR is client deferred-search/UI only (no src/lib/rag/**). After: merged origin/main; conflict resolved in src/components/ui/sheet.tsx by keeping main restoreTimersRef/unmountingRef focus-restore fix; pushed ff4b293d9. Threads: none.", - "checks": "merge origin/main only; no provider-backed checks run" + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "bbd5aafaadc7334107bfe531eef291615b26ed4b", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Post-fix merge origin/main (clean). Prescribing dock P2 fixed+resolved earlier; CI re-running.", + "checks": "merge origin/main; vitest mobile-composer-reserve 9/9 earlier; no provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "cursor/search-performance-review-4ee9 (PR #1134)", - "head": "022a1ab95718e5e7636226f0dfebe88d7d7bc4f4", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green (pr-required), 0 unresolved threads. After: merged origin/main cleanly (auto-merge ledger/codebase-index); pushed 022a1ab95. Threads: none. Residual: CI re-running post-merge.", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-08-12", + "ref": "codex/specifiers-results-polish-20260813", + "head": "bbdb8337c2784941664a88a0d35a96a8c96a2edb", + "scope": "specifier result-card layout and interaction", + "outcome": "Current-main sync introduced no changes to reviewed Specifiers scope; no findings after resolved review items", + "checks": "focused Chromium 1/1; lint pass; typecheck pass; RAG fixtures 36/36; full unit suite has 17 unrelated Windows/tooling baseline failures" }, { - "date": "2026-07-24", - "ref": "cursor/search-performance-review-4ee9 (PR #1134)", - "head": "9311d01212fe42bd41ffb22a83bfa51f1a4d19f2", - "scope": "Run PR re-sync sweep", - "outcome": "Re-check: CONFLICTING on use-differential-catalog.ts (+ related). Not cheap; merge aborted, no push.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "bbf2207102a0b40b5ba048e8e9a04f37add9bf2c", + "scope": "required base sync through main 3824095", + "outcome": "Approved — required main update merged after calculator command follow-ups; no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "3cb7c977", - "scope": "Conflict fix + Bugbot + local review", - "outcome": "Before: CONFLICTING (21 files). After: mergeable. Restored atomic upload RPC; aligned private-access tests (133/133). Bugbot 2 medium left open.", - "checks": "private-access-routes 133/133; no provider-backed checks" + "date": "2026-08-12", + "ref": "codex/pr-workflow-safety-230-296", + "head": "bc0a491fdf4146775629f9b2b03e2a2cc61bd7cb", + "scope": "pr-1830 unblock", + "outcome": "unblocked: merged origin/main (outstanding-issues conflict), PR body RAG impact + governance, resolved Copilot thread; merge-tree clean; required CI in progress", + "checks": "check:outstanding-issues pass; evaluatePullRequestPolicy ok; merge-tree clean; PR policy/mergeability/Change scope in progress" }, { - "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "632e84c9436f1f28be9d7aaadbbe942f72618199", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: CONFLICTING + PR policy FAIL + unresolved Codex P1 (conflict markers in answer/route.ts). after: conflict markers removed and pushed (80212dd91, 632e84c94); merge origin/main aborted (non-trivial conflicts: privacy/page.tsx, answer-render-policy.ts, source-authority-metadata.ts, upload/route.ts, supabase/drift-manifest.json, settings-dialog, validation/answer-request, plus UI/docs/tests); PR policy still FAIL (Clinical Governance Preflight missing — body edit forbidden this sweep); thread reply/resolve needs parent (comment 3644028277 / thread PRRT_kwDOSh5Fis6Tfkev) — ManagePullRequest/GitHub write MCP unavailable", - "checks": "typecheck:internal pass; vitest clinical-dashboard-merge-artifacts + visual-evidence-tabs pass (9); no provider-backed checks run" + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "bc5b51c2", + "scope": "CodeRabbit duplicate-ledger disposition", + "outcome": "DISPOSITIONED / not actionable as a PR product delete. Near-duplicates already exist on origin/main as non-identical historical records; check:branch-review-ledger passes on main. Removing main-owned history from a feature PR would violate append-only.", + "checks": "substring counts on origin/main; ledger guard PASS; no provider checks." }, { - "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "9664fb279adae41cd9846cca1a1a17650a1ac138", - "scope": "Run PR re-sync sweep", - "outcome": "Re-check only: still CONFLICTING vs origin/main. Semantic conflicts include privacy/page.tsx, answer-render-policy.ts, answer-request.ts, source-authority-metadata.ts, upload/bulk routes, settings-dialog, drift-manifest (+ more). Merge aborted; no force-resolve.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-08-12", + "ref": "claude/rag-canary-test-review-seprbt", + "head": "bcf357a96fde74d39fc4726ffabb5079a744ef28", + "scope": "eval-canary review: workflow, compare tooling, snapshot builder, alias tiering, rag-behaviour docs", + "outcome": "PR #1843 opened; no retrieval behaviour change; snapshot refresh handed off as /issues #304", + "checks": "verify:pr-local (green except env-only #296), eval:rag:offline 574/574, focused suites 40/40" }, { "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "a398316163f75748fcfd59db3b5c61fd87819877", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "re-attempt merge origin/main ABORTED: non-trivial conflicts remain in privacy (src/app/privacy/page.tsx), clinical/RAG (src/lib/answer-render-policy.ts, src/lib/validation/answer-request.ts), source governance (src/lib/source-authority-metadata.ts), upload (src/app/api/upload/route.ts), supabase/drift-manifest.json, plus UI/docs/tests (search-chrome-behaviour, settings-dialog, navigation-back-button, sheet, patient-safety-plan, form-detail, differentials, bulk route, colour-coding, favourites-auth-gate, private-access-routes, services-catalog). Markers previously cleaned; PR policy body deferred to parent", - "checks": "merge aborted; no provider-backed checks run" + "ref": "work", + "head": "bcf4571dd37005622dbef7aae0e2374afafb6b0f", + "scope": "Targeted review of search bar/header/footer chrome behaviour after the edge-to-edge phone dock fix, plus durable repo rules for page-adaptive search chrome.", + "outcome": "No new P0/P1 search chrome defect found in the static review. Fixed one regression hazard: a stale ClinicalDashboard comment still instructed a 0.75rem hidden dock pad despite the implementation/tests requiring 0rem. Added durable search chrome behaviour rules in AGENTS.md and docs/search-chrome-behaviour.md, with a static guard tying the remembered rules to the hidden-reserve contract.", + "checks": "dependency shortcut section count; git diff --check; targeted rg for stale 0.75rem hidden-pad source wording (only negative test assertions remain); targeted Vitest command attempted but blocked by missing node_modules/vitest under Node 20.20.2 in this container. No provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "b4675d7b", - "scope": "Babysit sweep: drift skipped", - "outcome": "Before: CONFLICTING, PR policy FAIL. Merge origin/main aborted: 20+ conflict files across clinical/auth/API surfaces — needs human resolution.", - "checks": "merge --abort; no provider-backed checks run" + "date": "2026-08-07", + "ref": "cursor/viewer-phase1-shell-extract-1db8 (PR #1665)", + "head": "bd46a39ac02e604eb45178b5ed38d39f06cc6830", + "scope": "prlanded", + "outcome": "MERGED; remote branch deleted; squash tip on main", + "checks": "prlanded; no provider-backed checks" }, { - "date": "2026-07-24", - "ref": "execute-audit-code-remediation (PR #1162)", - "head": "e386d074da69be3d7805a9e851f430603d3b0249", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "supersedes prior #1162 row: post-sweep HEAD includes ledger commit; conflict-marker fixes at 80212dd91+632e84c94; merge-from-main skipped (privacy/clinical/source-authority/supabase conflicts); PR policy + thread resolve deferred to human/parent", - "checks": "same gates as prior row; no provider-backed checks run" + "date": "2026-08-08", + "ref": "cursor/fix-differentials-compare-5c66 (PR #1756)", + "head": "bd62d3a23b888d30112fdc11e86fe1811f1919bc", + "scope": "heavy review-and-fix", + "outcome": "merged origin/main (docs/adoption/sitemap regenerated); fixed P1 cold-load URL wipe (state-captured ids + defer sync while loading) + P2 unsupported criterion + lowercase ids; CodeRabbit empty-state/auto-seed left as intentional ModeNav handoff; threads unreplied (403)", + "checks": "vitest differentials+navigation+compare-selection DOM 37 pass; related nav tests 44 pass; eslint touched files clean; no provider-backed checks" }, { - "date": "2026-07-24", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "11776696ddaa4e3d41f395ea35c22075e3144e7e", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-08-20", + "ref": "claude/task-ledger-review-bee095", + "head": "bd7d109e5228cd50e6e4122dafde9ae2f5cf8e68", + "scope": "docs/outstanding-issues-inbox ledger requests (25 files); no product code", + "outcome": "Self-reviewed handoff: 11 done + 12 update + 2 add requests from a code-verified sweep of open ledger rows on main 1cc0d2987, plus read-only production Supabase evidence. Canonical ledger untouched; reconcile deferred to a serialized branch.", + "checks": "verify:pr-local green (11/11 checks completed, none failed, exit 0); prettier check on the 25 JSON files; ledger inbox check 29 pending/404 applied; write-discipline passed 1cc0d298774e..HEAD" }, { - "date": "2026-07-24", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "67f1d7aee5f9f43295482b2a877c9cb691d774e6", + "date": "2026-08-22", + "ref": "PR #2292 / claude/dev-hub-phase-2-plan", + "head": "bda501b62c85ba90f0ee3125d6b1fc006b24f15f", + "scope": "PR #2292 CI repair after unit coverage failure", + "outcome": "Fixed CI run 32594149250: PanelPageShell now uses contextual history for its page-level back arrow; recursive repository-awareness test cleanup uses the retryable helper; and the panel DOM test mocks the App Router required by ContextualBackLink.", + "checks": "CI log inspected: Unit coverage 2 failed/8442 passed; focused Vitest contextual-back-navigation + test-runner-safety + repo-awareness + panel DOM 77/77; tsc --noEmit; Prettier --check; git diff --check" + }, + { + "date": "2026-08-08", + "ref": "cursor/compact-services-result-text-9b7d (PR #1731)", + "head": "bdaad2cc471e5b599205b2f1f265b2d8e1fdb43c", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed 67f1d7aee. Threads: none. Residual: CI re-running.", - "checks": "merge origin/main only; no provider-backed checks run" + "outcome": "2 Codex P2 → skip placeholders in compactBestUseTitle; gate subtitle compaction to services mode; threads unreplied (API 403)", + "checks": "vitest services-catalog+document-search-record-fault 20 passed; no provider-backed checks" }, { - "date": "2026-07-24", - "ref": "fix-physics-animation-audit (PR #1142)", - "head": "ff31b9417eca4e8726bd096fd9559b618b153181", - "scope": "User-requested merge conflict resolution", - "outcome": "Before: CONFLICTING/DIRTY vs main (behind after #1138 search-interactive-perf). After: merged origin/main with ort auto-merge (no conflict markers; ledger + search-perf files landed cleanly); pushed ff31b941. GitHub now MERGEABLE (BLOCKED only on branch-protection/CI).", - "checks": "merge origin/main only; no provider-backed checks run" + "date": "2026-07-20", + "ref": "cursor/documents-search-header-3eab / PR #936", + "head": "bdc333a9fa7e420e2beb2f146c6f271196869cb5 (squash on main)", + "scope": "post-merge closeout + branch-cleanup", + "outcome": "Squash-merged to main. Product proof on main: `DocumentResultsControls`, identity-first documents results chrome, governance notice under controls, Also-in-library strip removed from documents results path. Remote feature ref already deleted by protected-main workflow; local tip `fd559a07` retained only merge/review commits with no unique product patch vs main.", + "checks": "Hosted pre-merge and post-merge required checks green (Static/Unit/Build/Production UI/PR required). Squash content proof via main tree symbols; remote `ls-remote` empty after prune; local branch deleted after this ledger row. No OpenAI/Supabase provider calls." }, { - "date": "2026-07-24", - "ref": "implement-audit-recommendations-fix (PR #1141)", - "head": "7cd9d428a9c2c8c1ba22af2c1d6c4725334221c8", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-30", + "ref": "origin/execute-audit-remediation-tasks", + "head": "bdcf8d5c1f14c927bf5b71aaacd34d006856da4f", + "scope": "branch-cleanup", + "outcome": "RETAIN. Closed PR #1347; tip adds check-answer-quality-thresholds.ts and check-cost-cap-preflight.ts that main lacks, plus other diffs. Keep.", + "checks": "ledger lookup; cherry-pick; MAIN_LACKS path check; gh #1347 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-24", - "ref": "implement-audit-recommendations-fix (PR #1141)", - "head": "864f738e6", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: PR required green, 2 unresolved duplicate sm:max-h command-surface threads, branch behind main. After: merged origin/main cleanly; removed generic duplicate sm:max-h cap; both threads resolved via GraphQL; reply mutations 403 noted in commit 864f738e.", - "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/search-command-surface.test.ts PASS (8/8); git diff --check PASS; no Supabase/OpenAI/live eval gates run." + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "bdd27597e9b9d72d56940cd9a55c8000f9bbe1fc", + "scope": "PR #1490 merge conflict", + "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", + "checks": "check:outstanding-issues,docs:check-links" }, { "date": "2026-07-24", - "ref": "implement-audit-recommendations-fix (PR #1141)", - "head": "b5f8959af8ec44de63200b1d19c273bae1b7d541", + "ref": "remediate-audit-system-issues (PR #1160)", + "head": "bdf530fc8c6faaa4491c510396b47872fc39bf25", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: behind main by 6. After: merged origin/main cleanly (no conflicts). Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "outcome": "second re-merge after main moved to 2e68888f3 during first push; clean ort merge (ledger + layout.tsx); taskkill /T retained; sitemap prettier retained", + "checks": "merge only; no provider-backed checks run" }, { - "date": "2026-07-24", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "47ebd3d20184875d80bf192144b614ec58d48e08", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: already contained origin/main. After: ledger-only record. Threads: non-P0/P1 left open. CI not waited.", - "checks": "merge origin/main only; thread scan read-only; no provider-backed checks run" + "date": "2026-07-25", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "bdfe81e15c57d376ff74ddb611a8959b0ae94cc9", + "scope": "Open-PR maintenance: review fix + drift", + "outcome": "Before: 24 commits behind and 1 unresolved P2 thread; CSS changed phone reserve timing without pinning the timing in static/phone-scroll coverage. After: current main is merged; static coverage pins 200/240ms transitions and the motion-enabled phone-scroll sweep asserts the active 200ms reserve transition before geometry checks.", + "checks": "Prettier check pass; `git diff --check` pass; focused Vitest/Playwright not run because repository heavyweight lock is owned by worktree 6314; hosted CI will exercise the updated tests; no provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "implement-audit-viewport-fixes (PR #1140)", - "head": "a541b75c0e49f84125fc7e5d114cd9fc32d1a694", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "codex/cleanup-domain1-governance", + "head": "be0b3ebd86f717ca4478dd3fb2b2bbfeb63d5fcc", + "scope": "branch-cleanup", + "outcome": "Deleted after squash-merging recovery PR #611 as 622988f47773297cedb882b6c236c6f80712c802.", + "checks": "GitHub PR state, hosted checks, merge ancestry, and zero path diff against origin/main were verified." }, { - "date": "2026-07-24", - "ref": "mobile-ergonomics-fixes (PR #1156)", - "head": "5cff1cd0cf69539f18307fdeabbe87fc8a0fb13c", - "scope": "Run PR re-sync sweep", - "outcome": "Before: CONFLICTING. After: merged origin/main clean.", - "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" + "date": "2026-07-13", + "ref": "origin/codex/cleanup-domain1-governance", + "head": "be0b3ebd86f717ca4478dd3fb2b2bbfeb63d5fcc", + "scope": "branch-cleanup", + "outcome": "Deleted after squash-merging recovery PR #611 as 622988f47773297cedb882b6c236c6f80712c802.", + "checks": "GitHub PR state, hosted checks, merge ancestry, and zero path diff against origin/main were verified." }, { - "date": "2026-07-24", - "ref": "mobile-ergonomics-fixes (PR #1156)", - "head": "f57274a4179a7e5678a5906399ed73da4801f3b3", + "date": "2026-08-27", + "ref": "codex/therapy-pathways-redesign (PR #2413)", + "head": "be2d9b0291965258e5933006dc9b914961bb0dc3", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed f57274a41. Threads: none. Residual: CI re-running.", - "checks": "merge origin/main only; no provider-backed checks run" + "outcome": "CI was already green pre-sweep (PR required: success on d3f39c4); branch was already current with main (0 behind), so no drift merge needed. Fixed 3 unresolved CodeRabbit review threads: (1) pathway/step 'linked steps' counts used total steps.length instead of counting only steps with a matched therapySlug — added pathwayLinkedStepCount() and wired it into pathway-review-label.ts, pathway-picker-sheet.tsx (x2), pathway-step-stack.tsx; (2) ui-therapy-pathways.spec.ts readCautionGeometry substituted +/-Infinity for a missing caution/dock element, masking a broken overlap assertion — now throws if either is absent; (3) the 'Change pathway' Playwright test only re-clicked the already-active Anxiety pathway row, which could pass with a broken selectPathway — now selects Mood pathway, asserts the URL/heading changed, then switches back to Anxiety before the anxiety-scoped scroll assertions. All 3 threads replied with commit SHA and resolved.", + "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts tests/therapy-compass-pathways.test.ts -- 34 passed; npm run lint -- exit 0 (gate-receipts pass); npm run typecheck -- exit 0, run foreground twice, gate-receipts recorded pass for typecheck:internal (5613 input files); npm run format -- applied (1 file reformatted, amended into commit); no provider-backed checks run" }, { - "date": "2026-07-24", - "ref": "open-PR conflict sweep (13 clean + 5 conflicted)", - "head": "multi-head", - "scope": "Conflict fix sweep", - "outcome": "Merged origin/main into #1124 #1140-1142 #1146-1148 #1153 #1156-1158 #1167 #1169 #1171 #1172 (clean). Resolved conflicts on #1131 #1134 #1153 #1167 #1162. All 18 open PRs mergeable after sweep.", - "checks": "merge-tree classify + per-PR merge; focused private-access tests on #1162; Bugbot on #1162; no provider-backed checks" + "date": "2026-07-29", + "ref": "cursor/pr-1379-babysit-ledger-9365", + "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", + "scope": "branch-cleanup-deletion-pending", + "outcome": "DELETION PENDING — content proven fully on main. Merge-base with main is b2740480 and tree(merge-base) equals tree(tip): git diff --name-only b2740480 be2de03f reports 0 files, so the tip introduces nothing beyond a state already in main. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", + "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." }, { - "date": "2026-07-24", - "ref": "open-PR conflict sync (20 PRs)", - "head": "multi-head", - "scope": "Conflict resolution pass", - "outcome": "Before: 8 PRs behind/dirty (#1124 #1131 #1162 #1169 #1174-1177). After: merged origin/main into all; all 20 open PRs MERGEABLE behind=0 (BLOCKED only by CI/reviews).", - "checks": "merge origin/main per branch; no provider-backed checks run" + "date": "2026-07-30", + "ref": "origin/cursor/pr-1379-babysit-ledger-9365", + "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", + "scope": "branch-cleanup", + "outcome": "safe to delete — tip tree identical to merge-base tree (b2740480), so the branch nets zero content change vs main; --cherry-pick shows 4 commits, a squash-merge false positive", + "checks": "git diff --name-only merge-base..tip = 0 files; tree(tip)==tree(merge-base); git ls-remote confirms live HEAD" + }, + { + "date": "2026-07-30", + "ref": "origin/cursor/pr-1379-babysit-ledger-9365", + "head": "be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61", + "scope": "branch-cleanup (supersedes 2026-07-30)", + "outcome": "safe to delete — merge-base b2740480 is an ANCESTOR of main and tree(tip)==tree(b2740480), so every byte at the tip exists in main's history; the 4 --cherry-pick commits are merges of main plus work already squash-merged, not uncancelled work", + "checks": "git merge-base --is-ancestor b2740480 origin/main = YES; tree(tip)==tree(b2740480); feature blobs present and byte-identical on origin/main; supersedes the earlier row, which omitted the ancestor step (Codex P2, PR #1398/#1403)" }, { - "date": "2026-07-24", - "ref": "open-PR conflict sync (22 PRs)", - "head": "multi-head", - "scope": "Conflict resolution pass", - "outcome": "Before: all 22 open PRs behind/dirty vs main (several CONFLICTING/DIRTY). After: merged origin/main into every open head; all pushes OK; merge-tree classified 22/22 clean.", - "checks": "merge origin/main per branch; check:branch-review-ledger on #1172; no provider-backed checks run" + "date": "2026-08-12", + "ref": "work", + "head": "be5c7f5a082ea4b865ff07ef7dd77330f3f86a1a", + "scope": "privacy page header and structure", + "outcome": "added direct tests and existing full UI smoke", + "checks": "no blockers" }, { - "date": "2026-07-24", - "ref": "PR #1106 / `codex/task-ledger-final-11318f`", - "head": "5d128a2844c2298d0da36df64e5e2f7dda11e14b + reviewed follow-up diff", - "scope": "Universal task-ledger workflow and protected-main merge readiness", - "outcome": "APPROVE after follow-up. `docs/outstanding-issues.md` is the single durable task ledger, with retained work carrying order, acuity, timing, capability, effort, dependencies, success criteria, verification and stop rules. Four actionable review findings were fixed: filtered `/issues` reads now apply the filter to open items before rendering queued and non-queued results; the session hook excludes queued IDs from its priority summary; `#030` is consistently P2/A2 in the canonical open table and queue; and the sole A1/P1 blocker is first while `#052` is explicitly the first code task. No other actionable review thread remains in the reviewed scope.", - "checks": "Protected CI at the initial reviewed head passed policy, static, safety/config, unit coverage, Semgrep, Gitleaks, GitGuardian and the required aggregate; UI, build, migration replay and release browser matrix were correctly skipped for the docs/workflow scope. Follow-up proof: scoped Prettier; hook syntax/runtime plus exact ID-deduplication, P2-count and A1-first assertions; docs links (1,136 references); canonical skill catalog (32 skills, 8 aliases); `git diff --check`. Exact-head hosted CI remains required after the follow-up push. No OpenAI, Supabase, Railway, deployment or production-data operation ran." + "date": "2026-08-21", + "ref": "claude/gate-e-verdict-record", + "head": "be62c06371039cafec9f4504ca696d1ad2c67be1", + "scope": "docs/rag-improvement/HANDOVER.md — Gate E blinded-read verdict recorded in the S2 and Gate E rows", + "outcome": "Docs-only. Owner blinded read complete: v18 4ea310e48 3 / v19 cdfcbaccd 3 / tie 24 / neither 0 across 30 pairs; recorded with its three caveats (after-half is cdfcbaccd not current main; 24/30 pairs byte-identical and v18 20/30 vs v19 21/30 source_only so the tally partly measures the #231 fallback rate; baseline-record section 4 readability confound). #E0N0QC was already resolved on main at 1cc0d2987 by a separate fix, so no ledger close was queued.", + "checks": "verify:pr-local docs scope — completed check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline; failed: (none); not reached: (none)" }, { - "date": "2026-07-24", - "ref": "PR #1114 / `codex/universal-ledger-main-followup-20260724`", - "head": "eedbe594a89eaa0aad8a517ee8808b089cb5ff57 + reviewed working diff", - "scope": "Streamlined-sidebar handoff in the merged universal ledger", - "outcome": "APPROVE. PRs #1112, #1116, and #1117 landed the universal-ledger baseline, two preserved UI tasks, and credential/hook hardening; this follow-up preserves that current-main schema and adds only the still-missing sidebar delivery as collision-free `#066`. The queue remains gap-free and every recommended ID has one open row. Sidebar implementation stays recoverable from remote branch `origin/codex/sidebar-test-fix-20260723` at full commit `cd54e68fbf7b07b5dffe3220e36af2caa528da54` until its local/browser/build/hosted merge proof is complete.", - "checks": "Focused sidebar/favourites tests previously passed 18/18 on the recorded implementation commit; this ledger follow-up passed Prettier, remote-ref recovery, 36-row contiguous-order/46-open-ID/next-ID invariants, and `git diff --check`. The broader reconciled precursor passed `verify:cheap` (365 files, 3,242 passed/1 skipped); fresh exact-head hosted CI is required on PR #1114. No OpenAI, Supabase, Railway, deployment, live-app, credential, or production-data action ran." + "date": "2026-08-11", + "ref": "1815", + "head": "be7461ef1f66357999995acefbeecaf95268e481", + "scope": "unblock", + "outcome": "local-build-pass", + "checks": "MergeTreeClean,UnitCoverage,StaticPRChecks,ContainerImages" }, { - "date": "2026-07-24", - "ref": "PR #1125 / `codex/answer-relevance-fail-closed`", - "head": "8d9fb2408f13e305138749655214baa0020fcfd4", - "scope": "Follow-up: clear comparison/`documentBreakdown` in untrusted clinical notes", - "outcome": "APPROVE for the scoped P2. `trustGatedAnswerForClinicalNotes` now clears `documentBreakdown`, `comparisonMatrix`, and `comparisonEvaluationState` when relevance is not source-backed, so Clinical Notes → ClinicalOutputPanel cannot rebuild comparison-detail tables from raw `best_quote` values. Prior visual/section/quote gates remain. Residual risk is still deliberate low-trust rendering for legacy payloads without `isSourceBacked: true`.", - "checks": "Focused jsdom/policy regressions: `tests/visual-evidence-tabs.dom.test.tsx` 5/5 after hardening the comparison case (caption + matrix values absent). Thread disposition posted and resolved. No live RAG/OpenAI/Supabase mutation." + "date": "2026-07-29", + "ref": "PR #1379 / claude/claude-md-documentation-kfoxrb", + "head": "be83f5cebbf44495d4ad0fc22d7ba7bfe80bdb32", + "scope": "PR babysit", + "outcome": "ALREADY MERGED; no failing CI, 0 review threads, 0 Bugbot findings; local verify:pr-local green (422 files / 4271 tests); no code changes", + "checks": "hosted PR required SUCCESS; docs:check-links/scripts; prettier; verify:pr-local 422/4271; Bugbot triage 0 findings" }, { - "date": "2026-07-24", - "ref": "PR #1134 / `cursor/search-performance-review-4ee9`", - "head": "2a8e045f4a7179ea6fc9b81b1b2173e4c932617e", - "scope": "Babysit closeout / merge readiness", - "outcome": "MERGE-READY for product scope once exact-head required checks finish after final main sync. Fixed: Bugbot pathname searchMode (Compiler-safe previous-state sync); docs index; PR_POLICY_BODY/governance; maintainability extract; prescribing Safety filters (no fields=index); Sheet teardown document guard. Unresolved threads: none. Residual: human approving review; title still stale (gh/ManagePullRequest cannot edit); main may move again.", - "checks": "Hosted on prior tip 973d5d88: PR policy/Static/Unit/Build/Production UI/PR required all SUCCESS. Final sync pushed; awaiting exact-head recheck. No OpenAI/live Supabase writes." + "date": "2026-08-14", + "ref": "claude/ledger-reconcile-batch-3", + "head": "be94fbbb31843f4593783b9ca388ee0526b74e84", + "scope": "docs/outstanding-issues.md + inbox — reconcile the four rejected-closure corrections", + "outcome": "Applied 4 update requests from PR #1957, no cancellations, zero live collisions. #235/#237/#238 now carry the rejected closure, its reason and a Stop rule naming the evidence class; #231 records the probe script and the #1861 adjudication. Row counts unchanged at 99 open/235 archived by design — detail rewrites, not archives. Inbox 0 pending/133 applied.", + "checks": "issues:reconcile --dry-run; verify:pr-local (11 completed, 0 failed); check:ledger-write-discipline" }, { - "date": "2026-07-24", - "ref": "PR #1135 / `cursor/sitewide-design-ux-review-6176`", - "head": "4ff92ea76f1b4d7962adc47ce88bcb153989c9ba + post-comment docs", - "scope": "babysit: main merge, CI, CodeRabbit thread disposition", - "outcome": "MERGE-READY after prior conflict resolution with `origin/main`. Product UX honesty fixes retained with main answer-relevance trust gating. CodeRabbit MD028 + ledger token fixed; native-`disabled` request declined as it conflicts with the focusable coming-soon placeholder contract. Auto-merge enabled.", - "checks": "Hosted required checks green on that tip. Focused Vitest mobile-interaction + visual-evidence tabs green. No provider-backed gates." + "date": "2026-08-08", + "ref": "cursor/more-modes-popup-2f4b", + "head": "bea4b0c09b74368cf6d63e944bac9c1eec6b0c93", + "scope": "sidebar more-modes sheet popup", + "outcome": "pass", + "checks": "focused-pw tablet rail; test:focused ClinicalSidebar; favourites+therapy wiring; verify:pr-local stages+build+rag-fixtures" }, { - "date": "2026-07-24", - "ref": "PR #1135 / `cursor/sitewide-design-ux-review-6176`", - "head": "merge origin/main @ 3d6954a3", - "scope": "babysit: re-merge main after #1133; renumber UX archive IDs", - "outcome": "CONFLICTING after `main` advanced with database-interface audit. Kept product UX fixes; rebuilt `docs/outstanding-issues.md` from `origin/main` and archived sitewide UX defects as collision-free `#070`–`#074` (provisional PR IDs `#068`–`#072` collided with main `#068` drift-manifest / `#069` table-facts profile). Native-`disabled` CodeRabbit ask remains declined (focusable coming-soon contract).", - "checks": "Local merge conflict resolution only; hosted CI pending on merge commit. No provider-backed gates." + "date": "2026-07-14", + "ref": "claude/sentry-client-capture", + "head": "beaab0bf2f0b1d27c6253004d400ac7be3ade19e", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and a live shell references its worktree.", + "checks": "Local patch comparison, clean status, and path-referencing process scan." }, { - "date": "2026-07-24", - "ref": "PR #1137 / `codex/review-search-bar-behavior-and-establish-rules`", - "head": "6ee0484cc97b087c0e4f3661a49493f24a3ea9ba", - "scope": "Targeted review of search bar/header/footer chrome behaviour after the edge-to-edge phone dock fix, plus durable repo rules for page-adaptive search chrome.", - "outcome": "No new P0/P1 search chrome defect found in the static review. Fixed one regression hazard: a stale ClinicalDashboard comment still instructed a 0.75rem hidden dock pad despite the implementation/tests requiring 0rem. Added durable search chrome behaviour rules in AGENTS.md and docs/search-chrome-behaviour.md, with a static guard tying the remembered rules to the hidden-reserve contract.", - "checks": "dependency shortcut section count; git diff --check; targeted rg for stale 0.75rem hidden-pad source wording (only negative test assertions remain); targeted Vitest command attempted but blocked by missing node_modules/vitest under Node 20.20.2 in this container. No provider-backed checks run." + "date": "2026-08-17", + "ref": "claude/s1c-residuals-r2-r3-4pb1at", + "head": "beb7298a8cdac29b568bc425e9736c9415729e9b", + "scope": "packet S1c: rag-claim-support R2 normative-norm disjunct + R3 adjacent atom-free topic lending, tests", + "outcome": "PR #2052 open; offline 613/613; verify:pr-local heavy scope green; R3 measured 87->78 sole-overlap rejections, zero protective flips", + "checks": "vitest rag-claim-support 157/157; eval:rag:offline 613/613; check:rag:fixtures 36 golden/25 suites; verify:pr-local (lint, typecheck, test, build) green; check:production-readiness offline provider gaps only" }, { - "date": "2026-07-24", - "ref": "PR #1140 / `implement-audit-viewport-fixes`", - "head": "1528f69cda55f46e6eca910671987219ce9cbbaf", - "scope": "mobile keyboard viewport audit fixes", - "outcome": "APPROVED. Fixed the two P1 defects (keyboard detection logic, scrollable container touch bubbling).", - "checks": "`npm run verify:cheap` passed." + "date": "2026-07-31", + "ref": "codex/complete-and-merge-p2-tasks-to-main", + "head": "bec88721b04054eda59372cf3e0c14c771e25e3b", + "scope": "PR #1471 Therapy Compass browse payload", + "outcome": "PASS: origin/main synced (clean merge-tree; GitHub DIRTY was staleness); no Bugbot/CodeRabbit actionable threads; no P0-P2 findings; pathways compact-index fetch guard added; PR left CLOSED for reopen", + "checks": "node scripts/build-therapies-index.mjs --check (205); vitest therapy files 14 passed; typecheck passed; merge origin/main clean; no unresolved review threads" }, { - "date": "2026-07-24", - "ref": "PR #1140 / `implement-audit-viewport-fixes`", - "head": "1f0aed90d", - "scope": "mobile keyboard viewport audit fixes", - "outcome": "REJECTED. Found two P1 defects. 1) Broken keyboard detection due to `resizes-content` conflict. 2) Aggressive keyboard dismissal breaks scrolling.", - "checks": "`npm run verify:cheap` running." + "date": "2026-08-15", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "becdb68610b27e7c38e9607c8bb0210911107581", + "scope": "PR #1978 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-07-24", - "ref": "PR #1142 / `fix-physics-animation-audit`", - "head": "880f2acf23f35a94c2e5245c2df586012bd6a350", - "scope": "Spring physics animation audit remediation against main (globals.css + answer-evidence-popups mockup page)", - "outcome": "APPROVE. No P0-P2 finding. Centralized spring dynamics tokens registered, generic ease timing replaced with --ease-out-soft and --ease-spring tokens, GPU compositing layer hints added to loading skeletons and bottom reserve pads, dynamic velocity duration supported for gesture keyframes, and reduced-motion presets added. Zero regression risk across design tokens or component interactions.", - "checks": "`node scripts/check-design-system-contract.mjs` passed (534 production files; 0 token violations); `npm run typecheck:internal` passed (0 TypeScript errors); Vitest `tests/route-reachability.test.ts` passed (5/5 tests). No OpenAI, Supabase, Railway, or provider-backed services called." + "date": "2026-08-08", + "ref": "cursor/differentials-query-lit-stream-8bc0", + "head": "bed84986742ca85b3724dd3ccc0758d4b9649934", + "scope": "differentials diagnoses query-lit stream", + "outcome": "implemented query-lit Diagnoses stream with match jump, related clusters, compare select, browse chapters; PR #1757", + "checks": "unit:pass;lint:pass;typecheck:pass;verify:ui:not-run" }, { - "date": "2026-07-24", - "ref": "PR #1153 / audit-remediation", - "head": "6f87e0ec88ac0cf2d45f0771e00f86039eaedd6a", - "scope": "Audit remediation diff review", - "outcome": "1 P1, 1 P2, 1 P3 finding. P1: Heavy Run Lock can be stolen from long-running commands (test-run-lock.mjs). P2: Tautological assertions in skill catalog tests (database-skills.test.ts). P3: Useless multiline flag in provider failure regex (semantic-rerank.ts).", - "checks": "Local static review of PR diff." + "date": "2026-07-27", + "ref": "PR #1286 / `fix-test-run-lock`", + "head": "bef2377d477a03b7b8bbb50ad7caf99eda258be5", + "scope": "Ledger dedupe follow-up after conflict merge", + "outcome": "APPROVE pending exact-head hosted required checks. Supersedes the `d2219a8b` row for CI readiness: exact duplicate ledger rows removed; unique product delta remains forced-colors:border, literalShadowClasses 0, and diagnosis-map shadow token. No unresolved review threads; Bugbot found no remaining P0-P2.", + "checks": "`check:branch-review-ledger` PASS (1084 records); design-system / knip / mobile-chrome-paint / test-runner-safety PASS; `verify:cheap` rerunning; no provider-backed checks." }, { - "date": "2026-07-24", - "ref": "PR #1175 / `cursor/ledger-009-010-032-041-063-519b`", - "head": "15a5d080a375635ca6ef042659fe8837d485c8e3", - "scope": "PR #1175 follow-up (description restore + template removal)", - "outcome": "SUPERSEDES prior #1175 row on `f3986abc`. PR description restored via temporary `PR_POLICY_BODY.md` sync then file deleted again so merge will not reintroduce the #1134 leftover. Scope unchanged: docs-only ledger closeout.", - "checks": "Sync PR policy body SUCCESS with correct ledger summary; prettier clean on prior tip. Awaiting Static/Unit on final tip. No providers." + "date": "2026-07-30", + "ref": "codex/address-performance-issues-in-package", + "head": "befd1d9ebd6dec575d51a507cba230cb8de58cd0", + "scope": "bugbot", + "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict in outstanding-issues resolved keeping main open queue + PR #117 hashed asset note", + "checks": "build-therapies-index --check; vitest therapy-compass suites; check:outstanding-issues; bugbot triage (no cursor[bot] threads)" }, { - "date": "2026-07-24", - "ref": "PR #1175 / `cursor/ledger-009-010-032-041-063-519b`", - "head": "f3986abc39468e077643611ec2d95e374c2e901f", - "scope": "PR review + CI fix (ledger docs #009/#010/#032/#041/#063)", - "outcome": "FINDINGS FIXED. P1: Static PR checks failed on Prettier (5 docs). P1: leftover `PR_POLICY_BODY.md` from merged #1134 caused Sync PR policy body to overwrite this docs PR description with search-performance text — deleted the stale template. No P0. Product scope remains docs-only; gated brief follow-ups (wire coming-soon, Current Clinical Work storage, Factsheets second mode, governance ranking) correctly not implemented. Residual: human approving review once CI green.", - "checks": "Local: prettier --check on touched docs; ledger open/resolved/queue integrity for five IDs; no client fetch(`/api/jobs`); `verify:cheap` earlier on tip 95d68c6b. No OpenAI/Supabase writes." + "date": "2026-08-10", + "ref": "codex/ci-perfected-rollout-20260809 (PR #1789)", + "head": "bf437370441c43a35ec63353642b0180ba5beba6", + "scope": "PR babysit", + "outcome": "late sync: merged origin/main (#1793/#1794); behind-but-clean; prior tip CI green; no code fixes", + "checks": "merge-tree clean; format clean; prior tip PR required pass; no provider gates" }, { - "date": "2026-07-24", - "ref": "PR #1176 / `cursor/pdf-crop-malformed-repro-9b3e`", - "head": "28c1e2352a7cabb9c73f52d5084ee69f47895c5e", - "scope": "#076 page-edge table crop geometry fix (post-merge tip)", - "outcome": "APPROVE (supersedes prior #1176 row for 5391bf18 after remote merge). No P0-P1. Same scoped drawing-based edge extension; residual: text-grid tables without drawings, and left/right/top only unit-symmetric. PR #1129 retention/padding still out of scope.", - "checks": "Re-ran Python page-edge + budget 6/6 and Vitest pdf-extractor 3/1 skipped after merge; offline only." + "date": "2026-07-30", + "ref": "codex/close-pr1480-issues", + "head": "bf8ac88b024642eb45d1fead86f4ee30fce3f98d", + "scope": "archive PR 1480 issue resolutions", + "outcome": "approved: five resolved rows moved intact to archive", + "checks": "check:outstanding-issues; prettier check; diff check" }, { - "date": "2026-07-24", - "ref": "PR #1176 / `cursor/pdf-crop-malformed-repro-9b3e`", - "head": "5391bf185cd5dffd00a31eb1d282ccfc93277a73", - "scope": "#076 page-edge table crop geometry fix + fixture regression", - "outcome": "APPROVE. No P0-P1. Fix is narrowly scoped to post-find_tables candidate extension from contiguous cell drawings; title/footer inflation avoided by ignoring text during geometry growth; incompleteness warning retained when content continues past the page. Highest residual risk: text-grid tables without cell drawings still will not edge-extend; left/right/top paths are symmetric but fixture-proven only for bottom. Broad PR #1129 retention/padding/storage changes remain out of scope.", - "checks": "Python page-edge + budget 6/6; Vitest pdf-extractor 3 passed / 1 skipped; offline only." + "date": "2026-07-17", + "ref": "codex/ci-answer-progress-regression", + "head": "bfa0ed3dfc69d5b333ba43479023cb9a8e8925d3", + "scope": "CI verification gap", + "outcome": "Fixed: the production answer-progress Playwright journey was excluded by both top-level and Chromium project matchers, while its filename also skipped the CI UI trigger; its assertions could therefore change without the required UI job executing.", + "checks": "Local static inspection of `playwright.config.ts`, `scripts/ci-change-scope.mjs`, Vitest globs, and CI workflow; classifier self-test confirms the journey now sets `ui_changed=true`. Focused Playwright execution reached the isolated Next build but was blocked by unavailable Google font downloads; no hosted CI or provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "PR #1178 / `cursor/local-presence-054-7cf3`", - "head": "162f64cfdb475262d5f8534313397c3e895457d4", - "scope": "Local presence #054 + Tools canonical #007 + CI remediation (supersedes prior tip review)", - "outcome": "Same findings fixed on tip including PR_POLICY_BODY.md deletion commit. No new high-confidence defects. Residual: hosted #054.", - "checks": "verify:cheap green on prior tip; tip adds leftover PR_POLICY_BODY removal + this ledger row." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "bfbfe2cab8ae28e38e5b1090b5c83f8e024ac0f0", + "scope": "PR #1484 final main decision sync", + "outcome": "Ready: current main contained; #130 archived by owner decision; #149/#150 added open; all prior closures preserved", + "checks": "outstanding-issues 148 rows, 45 open/103 archived PASS; branch ledger PASS; whole-tree format PASS; diff check PASS" }, { - "date": "2026-07-24", - "ref": "PR #1178 / `cursor/local-presence-054-7cf3`", - "head": "c1b462a0d2db74b4a9e2f7136c33bf075ab52c7e", - "scope": "Local presence #054 + Tools canonical #007 + CI remediation", - "outcome": "FINDINGS FIXED. P1 Prettier on presence files formatted. P1 Safety audit postcss<=8.5.17 cleared by bumping to ^8.5.18/$postcss (8.5.23). P1 stale PR_POLICY_BODY.md removed so Sync PR policy no longer overwrites this PR with unrelated search-performance text. #007 implemented as `/tools` canonical (PT-11); `/?mode=tools` alias retained. No P0. Residual: hosted #054 secrets remain operator-owned.", - "checks": "Focused Vitest 70/70; verify:cheap 374/3326; npm audit high clean; check:local-presence ok. No hosted secret/provider mutations." + "date": "2026-08-18", + "ref": "claude/code-setup-review-a95519", + "head": "bfc0e1a0aeff5f6fc2cf094cad5a61dd8d8525a4", + "scope": "Follow-up to PR #2113: five outstanding-issues inbox requests, plus a reporting-only correction in clean-worktree.mjs", + "outcome": "shipped as PR #2117. Five follow-ups captured that #2113 could not close, each blocked on something outside the repo: deferred worktree cleanup, elevated fsutil devdrv check, PreCompact context-injection confirmation, session-start.sh confirmation on a web container, and a P1 that PR churn has exhausted both review bots so #2113 landed with zero automated review. Separately fixed a false reassurance shipped in #2113: every --squashed candidate printed '0 commits ahead' while genuinely 11/2/1 commits ahead of origin/main, because a squash-merged branch keeps its commits forever and only the UNLANDED count is zero; the line now reports both numbers. Corrected the comment calling the ahead check belt-and-braces, which is true in ancestor mode but tautological in squash mode since gitAheadUnlandedCount returns 0 for any branch the squash test just accepted. Raw count is reporting-only and never gates. Two landed worktrees removed manually (fleet 50 to 48, D: 51 to 48 percent full); seven left in place, one in active use, two not fully corroborated, four on C: belonging to other agents' sessions", + "checks": "clean-worktree --self-test passed; --merged --squashed run against the live 48-worktree fleet before and after with an identical 9-candidate set and worktree count unchanged, --remove not run; check:outstanding-issues passed (361 rows, 105 open, collision-free); check:ledger-write-discipline passed 5ae2bb6ec703..HEAD; prettier --check and format:check clean; eslint clean; pr-policy classifier all four risk flags false; NOT run: full unit suite (diff is five JSON request files plus a reporting-only string in a maintenance script no product code imports), verify:ui, and all provider-backed gates" }, { - "date": "2026-07-24", - "ref": "remediate-audit-system-issues (PR #1160)", - "head": "04201a87cc7ad7dd1477d17cd2b96544b7379789", + "date": "2026-08-18", + "ref": "codex/caring-contact-design-20260815 (PR #2142)", + "head": "bfc15e366a457e3606168ae0bc215562b817968c", "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "re-merge origin/main after CONFLICTING relapse; resolved scripts/run-eval-safe.mjs (kept main taskkill /T /F + validPids); sitemap Prettier format() retained from fe0588b86; no unresolved threads; no conflict markers", - "checks": "merge + conflict resolve only; no provider-backed checks run" + "outcome": "Skipped: mergeable_state dirty is a genuine content conflict (merge-tree origin/main vs branch shows add/add and content conflicts in ~10 files: docs/caring-contacts/accessibility-acceptance.md, docs/scripts-index.md, docs/site-map.md, playwright.config.ts, src/app/mockups/caring-contacts/page.tsx, plus several src/components/caring-contacts/mockups/*.tsx and tests), not staleness -- branch is 1 commit ahead of merge-base 88e3117f while main is 288 commits ahead. PR body states this branch is an archive, not a merge candidate (superseded by #2095). PR policy check also fails because the Clinical Governance Preflight checklist (0/7 boxes) is unchecked in the PR body, but editing PR title/body is outside sweep authorization. No unresolved review threads found (get_review_comments: 0 threads; get_comments shows only bot rate-limit/status notices). No fixes attempted; no commits, pushes, or merges performed.", + "checks": "No local gates run (no code change attempted). GitHub reads only: pull_request_read get/get_status/get_check_runs/get_comments/get_review_comments, get_job_logs for PR policy job 95794723757. git fetch --unshallow + git merge-base + git merge-tree --write-tree used read-only to classify the conflict. No provider-backed checks run." }, { - "date": "2026-07-24", - "ref": "remediate-audit-system-issues (PR #1160)", - "head": "8b2359589fe61c19c78fb02be50316c8f29d7e18", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "before: CONFLICTING; Static PR checks + Unit coverage + PR required FAIL (stale docs/site-map.md). after: merged origin/main cleanly (2e7b034d1); regenerated site-map (8b2359589fe61c19c78fb02be50316c8f29d7e18); no unresolved review threads; CI re-running expected green for static-pr/coverage/pr-required", - "checks": "vitest tests/site-map.test.ts pass (6); sitemap:check pass; no provider-backed checks run" + "date": "2026-07-27", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "bfd66ba8546b215e4d98ec46fcdd2a8538d053a0", + "scope": "CI babysit + Bugbot closeout", + "outcome": "Final pushed tip after main sync + process-failure test ungate. Required CI re-running on this head.", + "checks": "Local Vitest process-failure 2/2; prior tip required CI SUCCESS; no provider checks." }, { - "date": "2026-07-24", - "ref": "remediate-audit-system-issues (PR #1160)", - "head": "992ebefa296d6894d5448c1381f1b0b95580e529", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "supersedes prior #1160 row: final HEAD after prettier site-map; merge origin/main clean; stale sitemap fixed; no threads", - "checks": "vitest site-map pass; sitemap:check pass; no provider-backed checks run" + "date": "2026-07-31", + "ref": "PR #1542", + "head": "c028450b31441e272a04471292cd162f9c8c826b", + "scope": "documents filter sheet (C1)", + "outcome": "Handoff. Moved the documents filter panel into ui/sheet.tsx: bottom sheet below sm, centred dialog above, header/footer split into the sheet slots, trigger upgraded to a dialog opener with aria-controls via Sheet's new id prop. Branch restarted from origin/main after PR #1536 merged and its branch was deleted; C1 cherry-picked on top rather than stacked on merged history.", + "checks": "verify:cheap exit 0 (457 files / 4780 tests); document-filter-panel.dom.test.tsx 9 passed incl. new dialog+Escape cases; ui-smoke documents journey 1 passed chromium; verify:phone-chrome stages green except the pre-existing PDF-canvas failure, focused-browser stage run directly 7 passed" + }, + { + "date": "2026-07-25", + "ref": "cursor/fix-mobile-composer-edge-scroll-5b1d (PR #1192)", + "head": "c08ed37c5e8c7b62cf7d547089afff7a63c9122c", + "scope": "Live local document-detail scroll/ownership review at 390x844, 768x1024, and 1440x900", + "outcome": "FINDINGS: P2 canonical phone detail renders shared mobile header plus DocumentViewer header; P2 expanded desktop sticky rail scrolls its section navigation off-screen; P3 390px in-flow section nav fully hides Images with no overflow cue. Composer focus pinning, actions sheet, endpoint clearance, safe-area gap, and single composer/content reserve ownership otherwise held.", + "checks": "`npm run workflow:design-sweep -- --write-evidence`; `npm run ensure` + `/api/local-project-id` identity; live local Chromium natural down/up, anchors, focus, sheet, endpoint and geometry probes; focused document-viewer Playwright 3/3; reduced-motion + forced-colors visibility at 390/1440; no OpenAI/Supabase/GitHub/hosted CI/provider calls." }, { - "date": "2026-07-24", - "ref": "remediate-audit-system-issues (PR #1160)", - "head": "bdf530fc8c6faaa4491c510396b47872fc39bf25", - "scope": "Run PR sweep: CI fix + threads + drift", - "outcome": "second re-merge after main moved to 2e68888f3 during first push; clean ort merge (ledger + layout.tsx); taskkill /T retained; sitemap prettier retained", - "checks": "merge only; no provider-backed checks run" + "date": "2026-07-31", + "ref": "claude/top-search-design-mockups-w53znc", + "head": "c09eb64918ae2956968d35f3253c405ed9b915d5", + "scope": "therapy-compass filter sheet + documents review fixes (C2)", + "outcome": "Therapy Compass's phone Topics/availability selects were faking multi-select (value pinned to \"\", literal check-prefix in option text, a Clear-filters action among the options); replaced with one sheet of aria-pressed toggles matching the wide viewport, in the tc- idiom. Also lands two CodeRabbit findings from merged PR #1542: sheet footer primary action to sm:min-h-12, and the dialog test now pins aria-expanded/aria-controls. Third finding (unmount skips focus restore) dispositioned no-change with a test pinning the scroll lock is not leaked.", + "checks": "verify:cheap exit 0 (458 files / 4785 tests); ui-accessibility.spec.ts 15 passed chromium incl. the rewritten Therapy Compass case; ui-smoke documents journey 1 passed chromium" }, { - "date": "2026-07-24", - "ref": "repo-auditor (detached HEAD 037b4808 — explicit full-repo structural audit)", - "head": "037b4808100946f96aee28b8ff51939ae2986851", - "scope": "Full-repo structural audit: broken imports, dead files, consolidation. Scope: src/, scripts/, worker/, tests/. Pure triage — no files mutated.", - "outcome": "P0/P1: none. P2: confirmed dead file src/components/clinical-dashboard/prior-answer-turn-surface.tsx (115 lines, zero importers; superseded by answer-thread-turn.tsx per its 'Extracted from ClinicalDashboard.tsx maturity X3' comment; old file exports PriorAnswerTurn type + PriorAnswerTurnSurface component — both replaced). P3: three duplicate package.json script pairs (test:e2e = test:e2e:all; promote:public-documents = promote:public-documents:batch; postinstall = hooks:install — last pair intentional lifecycle). Unused public exports: authorization.ts (administratorRoleClaim/Value internal-only), api-client-error.ts (ApiClientError — only parseApiErrorResponse imported), rag/rag.ts (answerQuestion — superseded by answerQuestionWithScope), supabase/project.ts (isExpectedSupabaseProjectConfig + 2 types). RAG surface note only (do not touch): rag-extractive-first.ts exports hasValidatedRoutineExtractiveRecovery/hasValidatedGenericLaiManagementExtractiveAnswer with no external consumers. Knip false positives: taskkill (win32-gated), railway (opt-in --railway flag). No broken imports (typecheck + lint both exit 0, zero relative ../ imports in src/).", - "checks": "npm run typecheck (exit 0); npm run lint (exit 0); npm run check:knip (exit 0); knip --reporter json full export/file/type analysis; rg import-graph probes across all source trees" + "date": "2026-07-25", + "ref": "cursor/eval-matching-distinct-identity-6273 (PR #1204)", + "head": "c0db5f5810a37dbe7df9efa3d5479db134c98e10", + "scope": "prlanded — #030 coverage hardening", + "outcome": "LANDED. Squash `eb443dfda0fcfca8181e6839d156d9986dfc52db`. `expectedFileCoverage` now dedupes the citation window by document identity and assigns sources by maximum bipartite matching, closing two re-entry routes into #030 (repeat chunk citations of one document; order-dependent greedy assignment). Content verified by tree comparison against the squash commit (identical). Remote branch deleted at merge; local branch pruned 2026-07-25 after that verification.", + "checks": "`npm run verify:cheap` green pre-merge; hosted `PR required` green; tree-identity check `git diff eb443dfd c0db5f58` empty. No provider-backed checks." }, { - "date": "2026-07-24", - "ref": "work", - "head": "bcf4571dd37005622dbef7aae0e2374afafb6b0f", - "scope": "Targeted review of search bar/header/footer chrome behaviour after the edge-to-edge phone dock fix, plus durable repo rules for page-adaptive search chrome.", - "outcome": "No new P0/P1 search chrome defect found in the static review. Fixed one regression hazard: a stale ClinicalDashboard comment still instructed a 0.75rem hidden dock pad despite the implementation/tests requiring 0rem. Added durable search chrome behaviour rules in AGENTS.md and docs/search-chrome-behaviour.md, with a static guard tying the remembered rules to the hidden-reserve contract.", - "checks": "dependency shortcut section count; git diff --check; targeted rg for stale 0.75rem hidden-pad source wording (only negative test assertions remain); targeted Vitest command attempted but blocked by missing node_modules/vitest under Node 20.20.2 in this container. No provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "c0e23ecbc555436bd8d87e9a1f555b259837c399", + "scope": "branch-cleanup", + "outcome": "safe-delete: source landed in merged PR #1482; post-merge review rows preserved; archived batch13", + "checks": "git diff merged-head..tip; ledger row set comparison; git bundle verify" }, { - "date": "2026-07-23", - "ref": "PR #1090 / `cursor/fix-phone-dock-edge-1b1d`", - "head": "761de7e9ad623b6bd8d634d849a9eb465d622e48 (merged as 09028ef217209fceb53f1122ac7738b509bce323)", - "scope": "Phone safe-area and edge-to-edge search-dock UI review", - "outcome": "MERGED. No P0-P2 finding. The branch was three commits behind, so current `origin/main` was merged before landing; the actual merge tree matched the reviewed synthetic tree. The dock remains flush to the viewport with safe-area padding inside the form, and the phone shell no longer retains the `dvh` clamp that created the Safari toolbar band. Zero actionable review threads.", - "checks": "`npm run ensure`; focused `ui-tools.spec.ts` phone-home and edge-to-edge scenarios: Chromium 2/2 and WebKit 2/2; refreshed hosted policy, security, unit, build, advisory UI, Production UI and required aggregate checks green; exact-head ancestry and local-main tree equality proved after merge." + "date": "2026-07-28", + "ref": "codex/backlog-diagnostics-reconciliation", + "head": "c0e8a126bfdba0e7ee22ba8da236c452592524b7", + "scope": "six-pr-consolidation", + "outcome": "close-superseded: canary/eval already on main", + "checks": "diff-vs-main,merge-tree" }, { - "date": "2026-07-23", - "ref": "work", - "head": "570a507d099c64fcf9db1d27ddbef5f5e1f142d3", - "scope": "Quick follow-up review of issues raised in the 2026-07-19 repository-wide review sweep, plus local static checks requested in chat.", - "outcome": "Several prior findings remain reproducible in the current tree: non-stream /api/answer still accepts summaryMode without a summary branch; stream summaryMode can still scope documentIds separately from summarized documentId; PR policy still targets only main while CI targets main and release/**; action pin checker still scans only workflow YAML files; local shell remains Node 20 with node_modules absent; Prettier drift still reports 27 files. check:github-actions and check:pr-policy self-tests pass but do not cover the remaining coverage gaps.", - "checks": "node/npm/dependency presence probe; static source inspection of answer request/routes, CI/PR policy triggers, action pin checker, UI/accessibility remnants, .npmrc/package engines; npm run check:github-actions && npm run check:pr-policy && git diff --check (pass); npm run format:check (failed existing formatting drift). No provider-backed checks run." + "date": "2026-07-28", + "ref": "cursor/pr-policy-caveman-docs-dc4e", + "head": "c0fe85980b998a7790e99e4a0ab4a04c01934536", + "scope": "pr-1335", + "outcome": "docs-ready: caveman×pr-policy + consolidation ledger", + "checks": "content-proofread,check:branch-review-ledger" }, { - "date": "2026-07-22", - "ref": "PR #1061 / `claude/settings-dialog-tests-123366`", - "head": "0638fee21a60f29b1be1f3302c95c69db693c19d (merged as 3e70a22c671da0199d507b00b0a77e9a99db2621)", - "scope": "SettingsDialog action-flow coverage", - "outcome": "MERGED test-only action coverage with correct `vi.hoisted` setup. Stale review thread was verified, replied to and resolved; unnecessary fixture-reset follow-up was not pushed.", - "checks": "Focused 5/5; PR-local 3,172 passed / 1 skipped and offline RAG 36/36; hosted required checks green." + "date": "2026-07-13", + "ref": "claude/sentry-server-capture", + "head": "c131b9b7eed39de85b97228d05dc67542e7262eb", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-22", - "ref": "PR #1062 / `codex/chat-supabase-rls-title-words-0ef3`", - "head": "38efe6d7ab8c3ea7c550f6c30bbcefd527a23a2a (merged as ae950de196b2a8e39e88226f41ef941be14e415d)", - "scope": "Backend-only title-word policy and live-drift review", - "outcome": "MERGED. Service-role-only RLS/ACL contract retained; browser roles remain revoked. Read-only live comparison found no unexpected drift and no migration apply was needed. Review thread resolved.", - "checks": "Focused schema 67/67; PostgreSQL replay/drift/grant/owner guards; production-readiness READY in the credential-bearing source checkout; live read-only drift clean." + "date": "2026-07-29", + "ref": "1374", + "head": "c14edb9c6f0bdbbfb147752503e016f2543fd803", + "scope": "PR #1374 review + merge", + "outcome": "merged as 3704007c — DocumentViewer identity-bound state clear (P1) implemented and verified red without it; all 12 review threads resolved", + "checks": "verify:cheap exit 0 (429 files / 4403 tests); PR required success; Production UI success" }, { - "date": "2026-07-22", - "ref": "PR #1075 / `codex/reconcile-route-reachability-ast`", - "head": "58e57a79b4e7766aebd3d0404a6c431f3a286bbe (merged as 46f143d135afcd2f449ae6bedd05332a7af35f4d)", - "scope": "Binding-aware route-reachability AST", - "outcome": "MERGED. Recognizes bound Next navigation APIs and allowlisted `ModeHomeTemplate.actions`; raw anchors, prefetch, shadowed identifiers and arbitrary href metadata do not count. Both review findings fixed/resolved.", - "checks": "Focused 5/5; full unit 3,172 passed / 1 skipped; `verify:cheap`; offline RAG; hosted required/security/policy green." + "date": "2026-08-15", + "ref": "1975", + "head": "c18199dec009ff252d4c6ed895d6b401685b897c", + "scope": "review-and-fix", + "outcome": "Fixed fail-open cover probes, concurrent metadata clobber, ambiguous rollback deletion, and duplicate-cover recovery; merged latest main.", + "checks": "Focused Vitest 10/10, format, lint, typecheck passed. verify:pr-local partial: 6583 passed, 6 known origin/main Windows/tooling baseline failures; later fixture stages not reached. production-readiness environment-gated: 2 pass, 5 warn, 2 missing-config failures; no live provider calls." }, { - "date": "2026-07-22", - "ref": "PR #1076 / `codex/reconcile-therapy-mode`", - "head": "4008c62bea9496a1f597a9fc2c3142c69b937cfb (merged as 142646355a045314da85fa2b1582fdc45b2ac02e)", - "scope": "Therapy mode user-facing naming", - "outcome": "MERGED. Copy/metadata/navigation use Therapy mode while `/therapy-compass` and internal names remain. Review found sidebar and codebase-index gaps; both fixed and all threads resolved.", - "checks": "Focused 31/31; sitemap/index; identity-verified server; focused Chromium 2/2; `verify:cheap` 3,177 passed / 1 skipped; hosted Production/Advisory UI green." + "date": "2026-07-24", + "ref": "PR #1178 / `cursor/local-presence-054-7cf3`", + "head": "c1b462a0d2db74b4a9e2f7136c33bf075ab52c7e", + "scope": "Local presence #054 + Tools canonical #007 + CI remediation", + "outcome": "FINDINGS FIXED. P1 Prettier on presence files formatted. P1 Safety audit postcss<=8.5.17 cleared by bumping to ^8.5.18/$postcss (8.5.23). P1 stale PR_POLICY_BODY.md removed so Sync PR policy no longer overwrites this PR with unrelated search-performance text. #007 implemented as `/tools` canonical (PT-11); `/?mode=tools` alias retained. No P0. Residual: hosted #054 secrets remain operator-owned.", + "checks": "Focused Vitest 70/70; verify:cheap 374/3326; npm audit high clean; check:local-presence ok. No hosted secret/provider mutations." }, { - "date": "2026-07-22", - "ref": "PR #1077 / `codex/reconcile-migration-role-guardrails`", - "head": "6845f238f54a095f9a9a81f8ebdde0c2ed8fe1ce (merged as bf9a50836a445441f4d224686c54f1c4af257b6a)", - "scope": "Hosted migration-role and Docker-owner guardrails", - "outcome": "MERGED. Reserved-role references are rejected in active surfaces; the sole immutable historical exception is checksum-pinned; replay discovers the storage owner dynamically.", - "checks": "Red six-reference proof; focused 15/15; PostgreSQL 17.6 replay; `verify:cheap` 3,182 passed / 1 skipped; PR-local/hosted migration and image checks green." + "date": "2026-07-25", + "ref": "cursor/pr1197-fix-regressions-d06a (PR #1197 fix)", + "head": "c1e9696de6000440ad5b44e4d2fb2738a858deae", + "scope": "Fix-forward after Bugbot do-not-merge review", + "outcome": "FIXED for tip. Synced to origin/main; restored clinical-notes trust gate + boundary tests + summaryMode 400 contract by taking main; removed ISSUE-07 RAG pre-classifier (rag.ts matches main — RAG impact: no retrieval behaviour change). Kept only additive SQL remediation: migration 20260725000000 (real worker URL + ISSUE-05 revokes), schema.sql URL/[REDACTED] fix + ISSUE-05, regenerated drift-manifest. Dropped broken upload authority refs (undefined canonicalAuthority).", + "checks": "Vitest: summaryMode reject + ClinicalNotes boundary 4/4; rag-classifier-memo + rag-tail-latency 17/17; upload smart-title/cleanup 3/3; check:migration-role pass; drift:manifest regenerated via Docker. No provider-backed checks." }, { - "date": "2026-07-22", - "ref": "PR #1078 / `codex/reconcile-auth-upload-privacy`", - "head": "f83bb6772ff8e4eb6e7ea2c6e7b53ea39ed8f990 (merged as 001ce3543cb7e8020b0f6a5c3171f14601c73e6b)", - "scope": "Optional-auth tri-state and upload-privacy revalidation", - "outcome": "MERGED auth fix. Presented invalid/malformed credentials return 401 instead of anonymous quota; absent credentials preserve public reads. Anonymous-upload metadata patch rejected as stale because uploads are already administrator-only before parsing/duplicate lookup.", - "checks": "Red auth proof; focused 141/141; `verify:cheap` 3,191 passed / 1 skipped; PR-local 3,192 passed / 1 skipped plus build/offline RAG; hosted green." + "date": "2026-07-30", + "ref": "codex/review-pr1455-v2", + "head": "c222606b977c2b0e145f6fab872094e62f2f18f6", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1455 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-22", - "ref": "PR #1079 / `codex/fix-auth-cookie-precedence`", - "head": "f5d00416be2d52ebbf59ef1b0c108021446551a6 (merged as a8814b671b43938428fe2dbba355bf5ddf79f5c9)", - "scope": "Late auth review follow-up", - "outcome": "MERGED. Current-project SSR cookies precede stale legacy cookies; retired-project cookies are ignored; invalid modern credentials never fall back.", - "checks": "Focused auth 148/148; hosted full gates green. Heavy local rerun was lock-blocked and transparently deferred." + "date": "2026-08-22", + "ref": "codex/review-design-system-and-live-design", + "head": "c22b3ec5cd78e119bdd7764abdde4ce8123e3000", + "scope": "pr-ci-fix", + "outcome": "green", + "checks": "merge-conflict-resolved(GATES.md), focused-tests(status-semantics-contract+shared-home-metadata: 13/13), phone-chrome-dry-run(focused-ownership-sufficient), doc-fix(design-system-live-convergence-plan.md:270)" }, { - "date": "2026-07-22", - "ref": "PR #1080 / `codex/reconcile-health-readiness`", - "head": "199d98f9d3385964dd7c48a28d2ebe2b2382635d (merged as 6976aaeeece84680ed6ffc9e77f839f3a314ec4e)", - "scope": "Supabase readiness fail-closed behavior", - "outcome": "MERGED. Returned and thrown probe failures degrade readiness without leaking raw dependency errors; setup-status backoff remains limited to availability failures.", - "checks": "Focused 22/22; amended `verify:cheap` 3,199 passed / 1 skipped; PR-local/build/offline RAG; hosted green." + "date": "2026-07-13", + "ref": "claude/gate-answer-persistence-flag-4b55da", + "head": "c26e54f9d4f8e3ee212864cb076fba0dc7074dd7", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/gate-answer-persistence-flag-4b55da; git diff --name-only reported 10 path(s)." }, { - "date": "2026-07-22", - "ref": "PR #1081 / `codex/reconcile-publication-approval`", - "head": "79dadbc46e5694ad7ea2232cdc14329632d40943 (merged as a00638af2e1116896bedf493af0dbb591a707567)", - "scope": "Publication reviewed-state digest, locks and migration", - "outcome": "MERGED. Approval binds canonical document/metadata/artifact/generation state and publication locks relevant rows/rejects active work. New forward migration used; stale archived timestamp rejected.", - "checks": "Focused 72/72; 181-migration disposable replay; schema/types/drift regeneration; grant/owner/migration guards; PR-local 3,201 passed / 1 skipped; hosted migration/required checks green. No live apply." + "date": "2026-07-14", + "ref": "claude/canary-latency-recalibration", + "head": "c27d87c1a5cc02721dbcb9fbdf9e0229b4c62a38", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-22", - "ref": "PR #1082 / `codex/reconcile-non-rag-p2`", - "head": "eca5af958dadc3d79269ab4f41c56110eb8dace7 (merged as d302be1cfd033eacd64a42d7ef6fe1af3c3b03ac)", - "scope": "Reproduced non-RAG P2 salvage", - "outcome": "MERGED only malformed fallback-PDF image tolerance and live-test env loading. Retryable auth was already on main; the old 31-file patch was not replayed.", - "checks": "Two red proofs; focused 37/37; `verify:cheap` 3,203 passed / 1 skipped; PR-local build/scan/offline RAG; hosted green." + "date": "2026-07-14", + "ref": "origin/claude/canary-latency-recalibration", + "head": "c27d87c1a5cc02721dbcb9fbdf9e0229b4c62a38", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-07-22", - "ref": "PR #1083 / `codex/reconcile-browser-matrix`", - "head": "7eed83d37c8ab29b520aa798b25bef9d12efbf5a (merged as 0afa0a55501afd784bec9237dca9e1b5d98d849a)", - "scope": "Current Chromium/Firefox/WebKit browser salvage", - "outcome": "MERGED test-only Firefox stabilization. Stale browser expectations, unrelated styles and duplicate service-worker isolation were rejected.", - "checks": "Current-main 40 passed / 1 skipped / 1 Firefox failure; final targeted matrix 3/3; `verify:cheap`; `verify:ui` 265/265; PR-local; hosted green." + "date": "2026-07-30", + "ref": "codex/review-pr1441-v2", + "head": "c27e4dd89ef6560805e760fb964075b5cfcc2e6b", + "scope": "branch-cleanup", + "outcome": "merged PR #1441 contains the local review content; safe local cleanup", + "checks": "no unique non-merge patch beyond exact merged PR head; clean inactive worktree; batch9 bundle verified" }, { - "date": "2026-07-22", - "ref": "PR #1084 / `codex/reconcile-bulk-reindex`", - "head": "7b7737bd63b9dcd3ba820379a54cfc11595d6e98 (merged as 589fb9b99e18061782b0c7b3fa6b14fa0e8388d5)", - "scope": "Bulk reindex partial-success contract", - "outcome": "MERGED. Completed mixed batches return HTTP 200 with successful, failed and missing results; preflight-wide conflicts retain non-2xx behavior; UI reports counts and refreshes successful work.", - "checks": "Red deletion-race proof; focused 127/127; `verify:cheap` 3,207 passed / 1 skipped; PR-local build/scan/offline RAG; hosted green." + "date": "2026-07-30", + "ref": "PR-1441", + "head": "c298432cffd2a1aee1b96edda9d32deb31be7f00", + "scope": "PR #1441 upload-limit parity and issue-ledger closures", + "outcome": "upload limit guard is fail-closed and safely wired; archived rows retain their dispositions; no findings", + "checks": "upload parity self-test/runtime pass; issue, ledger, gate-manifest, and docs-script guards pass" }, { - "date": "2026-07-22", - "ref": "PR #1085 / `codex/reconcile-docx-budgets`", - "head": "b08c60e1127592f0bc08f88797905f1e871172ce (merged as 008a92b0fbad652484b6cdde6295bc456f4b7bf9)", - "scope": "DOCX extraction-budget review", - "outcome": "MERGED after two valid allocation-order findings. Declared media/Word-XML sizes are checked before inflate/materialization, with post-read fail-safes; artifact count, single/aggregate bytes and extracted text are bounded. All threads resolved.", - "checks": "Red 1,001-media reproducer; focused 7/7; `verify:cheap` 3,214 passed / 1 skipped; PR-local; hosted coverage/build/security/policy green." + "date": "2026-07-24", + "ref": "cursor/frontend-ui-review-docs-e8d9 (PR #1146)", + "head": "c29d57c5", + "scope": "Babysit sweep: drift", + "outcome": "Before: CONFLICTING. After: merged origin/main cleanly. 1 unresolved Codex P2 (ledger insert vs append) left for human.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-22", - "ref": "PR #1086 / `codex/reconcile-xlsx-budgets`", - "head": "5376880a40749b6526fd7e4603a7be9d04bc9624 (merged as 2963fba46eacd644618a588fa283f7597faa2644)", - "scope": "XLSX resource-boundary review", - "outcome": "MERGED. Enforces worksheet, non-empty-row, rendered-cell and UTF-8 output ceilings before result fragments are appended; sparse-column output is preserved. No actionable review threads.", - "checks": "Red 257-sheet reproducer; focused 4/4; `verify:cheap` 3,218 passed / 1 skipped; PR-local build/scan/offline RAG; hosted required/security/policy green." + "date": "2026-08-17", + "ref": "PR (branch claude/p1-316-phase3-blocked-capture, #316 offline capture)", + "head": "c2b3ba41fcca0364bd7241ca2a0bfa393c8bcd80", + "scope": "one #316 inbox request (855d03b3). No code, no schema, no migration, no live call; Supabase MCP unauthenticated this session.", + "outcome": "Offline capture only, no remediation performed. Corrects this row's NEXT: Phase 3 RPC reconciliation is NOT executable as written, because Phase 3's prerequisite is the Phase 1 dossier with 10 diffs classified and the forensics doc records all ten UNCLASSIFIED with per-function hunks still pending, while Phase 3's own prompt forbids touching an UNCLASSIFIED entry. Phase 3 therefore has zero executable entries and a production window would accomplish nothing; the real next step is a READ-ONLY window finishing Phase 1.2. Carries a testable hypothesis prepared offline: def_hash is md5 of pg_get_functiondef with comments and whitespace stripped and does NOT strip SET attributes, and migration 20260724000000 applies SET work_mem to exactly eight of the ten UNCLASSIFIED functions, so one read-only query could classify 8 of 10 at once; if live lacks the attribute those eight are repo-ahead but non-behavioural for answer content and would not need the eval-canary pair the repo-ahead rule assumes. Explicitly a hypothesis - live state was never read. The two _v2 outliers are absent from that migration and need their own diffs, with their canonical migrations named. Also records a discarded line of reasoning so it is not repeated: 'the manifest never mentions work_mem' proves nothing, because drift-manifest.json stores only signature, def_hash and acl and never body text. Protected RAG retrieval surface flagged; no edit made to it.", + "checks": "verify:pr-local docs route: 10 checks completed then check:ledger-write-discipline correctly refused on the then-uncommitted request; re-run after committing passed - 'Ledger write discipline passed for d0276718477c..HEAD'. check:outstanding-issues and check:branch-review-ledger passed. No provider-backed gate run and none applicable: no code, schema or migration changed. verify:ui not applicable and not runnable here (Playwright chromium-1194 vs pinned 1234, #255/#312)." }, { - "date": "2026-07-22", - "ref": "PR #1087 / `codex/reconcile-product-truth`", - "head": "edbc2260fef59ca2fa7c6973dffb85e32354bce1 (merged as 05dc52fd8408a65117e22a6236e43252203bea92)", - "scope": "Product-truth copy, account persistence and unavailable-SSO presentation", - "outcome": "MERGED. Cross-device claims now match favourites/preferences persistence; recent searches are identified as browser-session data; the contradictory “never shared” statement is removed. All unavailable setup providers and Apple elsewhere use the connected accessible “coming soon” placeholder pattern. The single review finding was fixed, replied to and resolved.", - "checks": "Red DOM proof; focused 19/19; `verify:cheap` 3,220 passed / 1 skipped; `verify:ui` 265/265; PR-local build/secret scan/offline RAG; final hosted required, Production UI, policy and security checks green. No provider calls or RAG spend." + "date": "2026-07-13", + "ref": "claude/document-page-redesign-7dd487", + "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/document-page-redesign-7dd487; git diff --name-only reported 13 path(s)." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (E-4 pair verdict — no code change; #1039 merged as 9b655fa)", - "head": "canary run 29800029819 (#60, main 9b655fa = E-3b+PR-B+PR-C)", - "scope": "(recorded with Outcome)", - "outcome": "PHASE E-3 WAVE CLOSED — E-4 VERDICT: ADOPT (no revert). 44-case: the ONLY blocking red is the KNOWN persisting neuroleptic citation case (0.0227, identical #57 signature: generation quality-failed → extractive fallback 1 citation — the pre-declared Option A carve-out, retrieval-side, untouched by answer waves); route_ceiling_failures 0 CONFIRMED ON MAIN (E-3b: agitation 23.1s < 25s after 20.3s provider timeout; clozapine 14.5s with exactly one retrieval-exhausted audit cell); grounded 1.0 / unsupported_correct 1.0 / numeric 0 / governance-danger 0 all held; expected_source_hit 0.6136→0.6364 (#1020 widen); generation attempts 19→9 across 44 cases (10+ cases short-circuit via validated_routine_extractive_first at 2-6s, zero generation spend — the absolute wasted-generation seconds collapse; residual 6 discarded attempts are the named E-3d H2 strong/comparison slice). Targeting vs #58 baseline: rate 0.5909→0.6667, dose 1/5→2/4 (sertraline + quetiapine still miss), document_lookup 5/5→6/6, contraindication 2/2, red_result 2/2, pathway 1/2; readability/artifact_leaks 1.0. NOT met: monitoring_schedule flat 1/5 — per-miss lens shows answers of 73-232 chars with NO schedule token available to promote (olanzapine-lai 79ch, metabolic 73ch = single-fact extractive answers; the PR-C promotion is a no-op when no figure-bearing fact is extracted) → root is fact-extraction/retrieval depth on monitoring shapes, queued as the Option-A-wave companion diagnosis (dump artifact 8483731630, 30d retention). WATCH escalated: relevance 0.6 (#58) → 0.5667 (#59) → 0.5333 (#60) — two single-case steps coinciding with more terse extractive answers; fail_closed 0.9 = exactly the #58 main baseline (#59's 0.9333 was the outlier), safety texture flat. Adoption per plan criteria: targeting ≥ baseline ✓, grounded/refusal 1.0 ✓, golden 36/36 ✓ (in-run), ceilings 0 ✓, citation red = carved known case ✓. CodeRabbit post-review follow-up landed pre-merge (02b5c78): interval-regex full-match reorder (atom path proven to intercept the claimed exploit; reorder = drift hardening), clinicalValueAtomKey exported (mirror deleted), guard tests made honestly discriminating + genuine zero-atom \"annually\" coverage both directions. Instrument note: cost rates live on the targeting step env but eval:quality still reports cost n/a (estimator not consuming them in the 44-case path) — minor tooling residual. Spend +~$2-4 → Phase E total ~$8-16 of ≤$20.", - "checks": "Evidence: run #60 job log read in full (Threshold Status: citation-only; Answer Metrics + 44-row diagnostics; targeting metric_rates + 7-miss list); artifact eval-canary-output 8483731630 sha256 d5c7006e… (download blocked in-session — GitHub App scope; log tee carried the targeting output)" + "date": "2026-07-13", + "ref": "origin/claude/document-page-redesign-7dd487", + "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/document-page-redesign-7dd487; git diff --name-only reported 13 path(s)." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A rescue review)", - "head": "0abf3c9", - "scope": "(recorded with Outcome)", - "outcome": "clinical-governance-reviewer on the S3 escalation rescue: APPROVE-WITH-NITS, no P0/P1. P2 = the mandated live canary pair itself (process gate, declared in the PR body; offline-green + review-approved proven insufficient for this surface 2026-07-20). P3s: multi-drug escalation-query recall edge (titled drug + untitled drug — fast-path return can skip the vector leg; recall limitation, not misattribution, mirrors the pre-existing allowlisted-class tradeoff); reviewer probe files must stay uncommitted (relocated to scratchpad). All six clinical concerns verified safe: wrong-document impossible (alias phrases must appear in the query; per-document alias groups, no cross-drug conflation), conservative availability (S3 purely additive via keyed-union merge; sibling retention test-pinned), live expansion acceptable (title-named correct-entity SOP in every firing shape), fail-closed double layer (adversarial short-circuit precedes the predicate; injection-forge case intent=protocol cannot fire — executed), governance metadata unbypassed (same attachDocumentRankingMetadata + status=indexed + access-scope filters), no PHI/provider/schema surface.", - "checks": "Reviewer checks: escalation-rescue suite 8/8, injection-forge intent derivation executed, static trace of the full S3 chain. Live canary pair = the trust gate, dispatched post-merge." + "date": "2026-07-14", + "ref": "claude/document-page-redesign-7dd487", + "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A wave verdict — no code change; #1040 merged as cde6c5c)", - "head": "canary run 29827012719 (#61, main cde6c5c) vs banked #60 (29800029819)", - "scope": "(recorded with Outcome)", - "outcome": "OPTION A WAVE ADOPTED — FIRST FULLY-GREEN 44-CASE CANARY IN PROGRAM HISTORY (Blocking failures: None). (1) Option A payoff EXCEEDED: citation_failure_rate 0.0227→0; the neuroleptic-side-effect-escalation case flipped from wrong-doc→failed-generation→1-citation-fallback to **strong route, successful gpt-5.6-sol generation, passed in 15.4s with no fallback marker** — the rescued S3 retrieval fixed generation itself, not just the citation count; expected_source_hit 0.6364→0.6591. (2) Golden held exactly as the blast-radius analysis promised: 36/36 PASS, content_recall 1.0, mrr@10 0.8921 BYTE-IDENTICAL to the pre-wave baseline (zero ordering movement — no golden case fires the predicate), irrelevant@10 0.1083→0.0917 (slightly better). (3) Parity payoff PARTIAL: monitoring targeting 1/5→2/5 (olanzapine-lai flipped — previously called a retrieval-depth residual; quetiapine-dose also flipped on the dose side); lithium-range (232ch) + metabolic (73ch, byte-identical answer to #60) did NOT flip despite offline-proven fixes — their live chunk sets evidently contain no admissible schedule sentence even under the widened gate → reclassified as retrieval-depth/live-content residuals joining adhd; below the ≥3/5 target but strictly improved, no regression anywhere. Dose 2/5 vs 2/4: same passing count, applicable set grew (new quality-metformin-renal-dosing miss = eval-set churn, not regression). (4) No-worse EXCEEDED: relevance 0.5333→0.6 (the two-step watch-item slide FULLY REVERSED to the #58 level), targeting_rate 0.6667→0.6957, fail_closed 0.9 held, readability/artifact_leaks 1.0, route ceilings 0, grounded 1.0, unsupported_correct 1.0, numeric 0, p95 22.8s, red_result 3/3. Adoption per the measured-gain rule: primary goal achieved, three case flips, relevance recovered, zero regressions. Residual queue: monitoring retrieval-depth trio (lithium-range/metabolic/adhd), E-3d H2 discards, weekly ANSWER_CASE_LIMIT 8→44 raise now unblocked (gate would be green), comparison-class coverage. Wave spend +~$2-4 → Phase E + Option A total ~$12-20 of ≤$20.", - "checks": "Evidence: run #61 job log read (Threshold Status: None; Answer Metrics; neuroleptic diagnostics row; targeting metric_rates + 6-miss list; golden 36 PASS lines + summary). Revert drill NOT triggered." + "date": "2026-07-28", + "ref": "PR #1351 / audit-design-fixes-clean (merged)", + "head": "c2ec2d75553e7718fd89194cbc8362d9905151d3", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED after EmptyState actions= fix, DocumentViewerRail re-home, review-thread clearance. Supersedes prior LEFT OPEN handoff row.", + "checks": "hosted-pr-required,static,build,production-ui,merge-tree-clean" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A: title-supported escalation rescue)", - "head": "0abf3c9 (parent 1aebf02)", - "scope": "rag-retrieval-reviewer PROTECTED-surface review of the S3 document-lookup escalation rescue: shouldAttemptDocumentLookupFastPath exported + gains medication_dose_risk branch firing ONLY when analysis.intent===\"escalation_risk\" && documentTitleTerms.length>0; call site passes queryAnalysis; new tests/rag-document-lookup-escalation-rescue.test.ts.", - "outcome": "APPROVE-WITH-NITS. No P0/P1/P2. Binding constraints held: released-search-order.ts + retrieval-selection.ts clamp + rag-candidate-sources.ts imputation all byte-identical to parent (git diff empty); imputation-contract test green; 0.66/0.055 floor (rag.ts:1765) unmodified and still gates rescued pools (S3 block sits after the 2513 fast-path return + re-runs decideTextFastPath at 2631). BLAST RADIUS empirically proven via 110-case offline probe (44 ragEvalCases + 30 answerQualityEvalCases + 36 golden): EXACTLY 1 fires (neuroleptic-side-effect-escalation, intent=escalation_risk tt=3); all 8 named dose cases non-firing (clozapine-monitoring general, paraphrase general, agitation-pharm general, im-po drug_dosing, typo-dosing drug_dosing, missed-dose-table drug_dosing, LAI general/tt0, prompt-injection-forge intent=protocol). intentFromSignals precedence (clinical-search.ts:575-585) returns drug_dosing before escalation_risk so pure-dose structurally cannot fire — confirmed by construction AND empirically. ADVERSARIAL: prompt-injection-forge intent=protocol => cannot fire (empirical); unsupported short-circuit (rag.ts:2371) precedes S3 block. DOWNSTREAM: buildRetrievalIntent for the escalation query yields EMPTY requiredTermSignals => demote/promote arms (retrieval-selection.ts:354-355/529/555) + wrong-medication cap (rag.ts:730-737, gated on clinical_subject) all inert; end-to-end test proves neuroleptic-doc rank#1 with >=2 citations, sibling retained, arrival-order invariant. golden vector-\\* probes = broad_summary (already allowlisted) => predicate byte-identical => unaffected. TEST HONESTY: S3 fixture (0.92/0.34/0.94/synthetic_text) faithful to searchDocumentLookupFastPath (rag-candidate-sources.ts:570 caps alias documentScore at 0.34 => sim=min(0.92,0.58+0.34+bonus)=0.92, hybrid=min(0.94,0.94)); differently-relevant fixtures (not identical-content); red-proof structurally airtight (e2e gates its own fixture pool on the predicate). EFFORT: one S3 RPC (same call allowlisted classes issue), rescue-only in the non-forceEmbedding path (floor already rejected => query was headed to embedding anyway; successful rescue short-circuits at 2646 pre-embedding = net-neutral/positive). NITS (P3, non-blocking, no code change pre-canary): (1) redundant analysis?. on the documentTitleTerms clause (&& short-circuit already guarantees analysis defined there); (2) a queryMode forcing medication_dose_risk over an originally-escalation-shaped table_threshold could newly fire S3, but table_threshold already ran S3 so behavior-consistent, not a regression; (3) \"forceEmbedding discards S3 merges\" is imprecise — line 2649 merges S3 even under forceEmbedding; the accurate unaffected-reason for vector-\\* probes is broad_summary allowlisting. TRUST GATE = the mandated live canary pair (correctly deferred by the commit).", - "checks": "Offline only, no provider calls: new test 10/10 + imputation-contract 2/2; protected-surface batch 31/31 (escalation-rescue + imputation-contract + fast-path-ordering + released-search-order + retrieval-selection); 110-case classifier probe (temp test, removed); npm run typecheck exit 0. Not run (provider-gated): eval:retrieval:quality, eval:rag, the live canary pair." + "date": "2026-07-30", + "ref": "codex/review-pr1434", + "head": "c30049fae3562adadb6b4df9a733458c1e842cc8", + "scope": "branch-cleanup", + "outcome": "exact merged PR #1434 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (pair verdict — no code change; main stays at 22b6a2e)", - "head": "canary run 29794759627 (#59, branch head 7310cb3 = merged PR-B content)", - "scope": "(recorded with Outcome)", - "outcome": "E-3b + E-3c PR-B LIVE-VALIDATED (pair vs banked #57/#58): route_ceiling_failures 2→0 (E-3b proven: agitation timeout now fits inside budget; clozapine retrieval-exhausted ceiling honestly excused via the triple-condition cross-region carve-out — exactly one \"retrieval-exhausted\" audit cell in the report); p95 17.4s→15.47s (-11%); golden retrieval SUCCESS 36/36 (stop-ship criterion held); validated_routine_extractive_first fired on 4 of the 6 target cases (patient-safety-plan 3.3s, treatment-team-process 2.6s, ect-procedure 2.2s, illegal-substances 2.2s — all pure extractive, zero generation, was 6-9s each with a discarded attempt), the other 2 (community-home-visits, best-practice-prescribing) stayed on generation+fallback because their extractive candidates legitimately fail validation gates = the designed-conservative outcome; ZERO new failing cases (list 5→2, both known residuals: neuroleptic citation red = Option A territory, admission-comparison expected-doc = non-blocking labeling residual); grounded 1.0 + unsupported_correct 1.0 held; targeting 0.5909→0.619, fail_closed 0.9→0.9333, readability/artifact_leaks/intent_coverage unchanged; relevance 0.6→0.5667 = single-case wobble on n=30, WATCH in E-4, not a gate. Discarded-generation rate materially down (4 conversions; residual = the H2 strong-route slice named as E-3d candidate, per design's 20-33% expectation band). MERGE STANDS (user had armed auto-merge pre-verdict; revert drill not triggered). Spend +~$3-6 → Phase E total ~$6-12 of ≤$20.", - "checks": "Pair evidence: run #59 job log (Blocking failures = citation only; Answer Case Diagnostics markers; metric_rates + targeting blocks); dump artifact populated for PR-C diagnosis" + "date": "2026-07-25", + "ref": "cursor/pdf-crop-malformed-repro-9b3e (PR #1176)", + "head": "c31543f5b5862dbe6911079029f28500a6af2a59", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: GitHub reported DIRTY and Static PR checks failed formatting `docs/outstanding-issues.md` and `tests/pdf-extractor.test.ts`; 0 unresolved threads. After: merged current `origin/main` cleanly and formatted both failing files.", + "checks": "Prettier check pass; `git diff --check` pass; no provider-backed checks run." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (parity commit review)", - "head": "1aebf02 (fix landed a3b9a54)", - "scope": "(recorded with Outcome)", - "outcome": "rag-retrieval-reviewer on the monitoring evidence-gate parity commit: REQUEST-CHANGES (soft) — P2 reproduced: inflected monitoring kind tokens (monitor\\w*/annual(?:ly)?/blood tests?/ecgs?/lfts?) steal sole-dose-value sentences from the dose arm; dose-intent answers then reject the monitoring-kind fact (\"Quetiapine is monitored at a dose of 200 mg daily\" flipped grounded true→false, source-gap — fails CLOSED, never a wrong dose). P3: monitoring figure escape lacked the dose escape's multi-drug bare-row guard. Clean: over-admission bounded (broad vocab lives in gate/filter only, promotion still corpus-guarded, claim-support unchanged); regex cost negligible; mismatched-unit test relaxation legitimate (synopsis is corpus-verbatim; weeks pin enforced by atom identity + adjacent_context exclusion from both gate and claim corpora).", - "checks": "BOTH FINDINGS FIXED in a3b9a54: kind arm classifies legacy tokens byte-identically and new-inflection-only sentences fall through to the dose arm when they carry a clinicalDoseValuePattern value (both repro sentences pinned as dose-intent tests); multi-drug bare-row guard extended to monitoring_schedule with a discriminating test — red-proven both directions. Reviewer checks: formatting 38/38, focused 644/644; targeting eval deferred to the wave's live canary pair." + "date": "2026-08-06", + "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", + "head": "c31827e63c20788c5dabb22b96ddbf239c65f893", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: mergeable/BLOCKED, 0 unresolved threads, 0 behind main; prior CI reds were infra (npm ECONNRESET; cancelled Set up job). after: product fix d4ecd2b5 (ResizeObserver pin-clamp distance reset) + ledger row; all review threads resolved; merge tree clean; hosted CI pending on GitHub Actions major_outage (no product failure)", + "checks": "local typecheck PASS; local lint (settings-dialog) PASS; no provider-backed checks run; hosted CI awaiting Actions recovery" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (parity commit review)", - "head": "1aebf02 (fix landed a3b9a54)", - "scope": "(recorded with Outcome)", - "outcome": "clinical-governance-reviewer on the same commit: APPROVE-WITH-NITS. P2 (independently converged with the retrieval reviewer's P3): monitoring figure-escape lacked the dose-path multi-drug cross-entity guard — a bare wrong-drug schedule/level row in a multi-drug chunk could be entity-prefixed for a named-drug monitoring query; downstream gates verify text-vs-source presence, never attribution (worked lithium/valproate LFT path traced through finalize). FIXED in a3b9a54 exactly as its smallest-fix prescribed (guard at the :872-881 site now fires for monitoring_schedule; negative multi-drug test added, red-proven). Clean: unsupported figures impossible (admission-only change; promotion corpus guard + numeric verification + claim support all byte-unchanged); conservative failure intact (figure-bearing-only escape, schedule-free refusal pinned); adjacent-context safety held (sourceEvidenceText excludes adjacent_context; weeks refusal confirmed by probe); no PHI/provider/ranking surface. P3s: RAG impact line (present in the PR body — behaviour-change form, correct since the PR also carries the Option A retrieval change); multi-drug negative test (landed in a3b9a54).", - "checks": "Offline guard-chain trace + targeted vitest probes (named-drug guard, bare-figure admission, conservative gap, adjacent refusal). Provider/release gates deferred per confirmation boundary." + "date": "2026-07-14", + "ref": "origin/claude/medication-alerts-database-cb8o83", + "head": "c3b95239fba1b523ef7796a8fca0ef6dc7a271d8", + "scope": "branch-cleanup", + "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", + "checks": "Offline remote-tracking comparison only." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3b budget-aware generation deadlines)", - "head": "314d03f", - "scope": "Clinical-governance review of E-3b diff `git diff origin/main...HEAD` (commits 1078264 + 314d03f): answer-side generation timing/gating + telemetry — reserve-aware generation timeout (`generationRequestTimeoutMs`), truncation self-heal budget gate (`deadlineAllowsGenerationRetry`), `route_budget_exhausted_by_retrieval` telemetry, and the cross-region eval carve-out in scripts/eval-quality.ts.", - "outcome": "APPROVE-WITH-NITS. No P0/P1/P2. (a) Conservative failure preserved: reserve-aware timeout fires ~2s early producing the SAME error type — an internal SDK timeout is mapped by mapOpenAIError to PublicApiError(openai_timeout) (openai.ts:525-529), NOT a bare DOMException, so the rag.ts:4636 re-throw guard is not tripped and the existing source-backed fallback/extractive recovery is reached; truncation-skip falls through to the terminal throw (rag.ts:4309-4313) into the same catch. No new answer-producing path. (b) Safety gates intact: all recovery answers finalize through finalizeAnswer→finalizeRagAnswerQuality and isSafeExtractiveFallbackCandidate (grounded/confidence/quality/numeric) — none touched. (c) Eval carve-out env-gated: crossRegionRunner && budgetExhaustedByRetrieval && generationMs===0; EVAL_LATENCY_CONTEXT set only in eval-canary.yml:164, prod caller (eval-quality.ts:1095) passes no options → inert in release/local; generationMs===0 requirement means a generation-side failure (generationMs>0) is never suppressed. (d)/(e) Telemetry additions non-PHI (boolean + mechanical retry-reason strings); no privacy/query-privacy/cross-border/verification source files touched; no new provider call. Nits (P3, non-blocking): carve-out also excuses fast/strong routes when generationMs===0 (sound — provably no generation ran); `requestTimeoutMs` now prod-dead (test-only); report label \"retrieval-exhausted\" (routeDeadlineExceeded && flag) is broader than actual gate suppression (audit label only, gate stays strict).", - "checks": "88 offline unit tests PASS (tests/rag-route-budget.test.ts, tests/eval-quality.test.ts, tests/rag-offline-answer.test.ts, tests/rag-answer-fallback.test.ts); no provider/Supabase/OpenAI calls; no files mutated except this ledger row" + "date": "2026-08-21", + "ref": "claude/phase-5-closeout", + "head": "c3ca68fa7f13e2d7ae6c4c96ccfcafb67a59135a", + "scope": "Phase 5 close-out: measurement baselines, staging parity, D4 documentation correction (#316)", + "outcome": "Self-review; no blocking findings. Docs-only diff plus five ledger inbox requests. Read-only production window, one staging-only db push, one live-drift dispatch (green). Two limits and one attribution finding recorded rather than absorbed; no RAG surface touched.", + "checks": "verify:pr-local (11/11, failed: none); check:production-readiness (READY, 9 PASS, 0 blocking); format (whole tree, committed); live-drift run 32514326022 green" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3b budget-aware generation deadlines)", - "head": "314d03f (+eb08ec5 review row)", - "scope": "(recorded with Outcome)", - "outcome": "ADDENDUM 5 wave E-3b implemented per the design-agent plan: generation attempts clamped to route budget minus a measured 2s recovery reserve (single call-site, all four attempt kinds); truncation self-heal gated on retry viability (reserve+5s floor) with observable truncation_retry_skipped_budget_reserve marker; additive route_budget_exhausted_by_retrieval runtime flag; eval route-ceiling gains the triple-condition cross-region carve-out (context + runtime flag + zero generation) with retrieval-exhausted audit cells — local/release gates provably strict. Fixes I3 (54ms budget overrun after 22.6s provider timeout), I5 (82s truncation waste class), resolves I2 (clozapine 13.3s retrieval vs 12s runtime budget = geography, now suppressed ONLY in the sanctioned cross-region context with full auditability). Reviewer verdicts: rag-retrieval-reviewer APPROVE-WITH-NITS (2 P3: prod-dead requestTimeoutMs retained for symmetry; report-cell coupling cosmetic; cached-replay invariant PROVEN — budget-exhausted answers never cached, carve-out unreachable via replay; marker isolation proven — SLO counters key on fallback_reason not answer_retry_reasons); clinical-governance-reviewer APPROVE-WITH-NITS (prior row) — internal-timeout→PublicApiError→existing-fallback path verified, all safety gates still applied to recovery answers. ALSO BANKED — E-2 targeting baseline (canary run #58, 29788404357, all-green incl. first execution of the !cancelled()-fixed instrument, ~$1-2): metric_rates relevance 0.6 / readability 1.0 / artifact_leaks 1.0 / intent_coverage 0.9333 / fail_closed 0.9; targeting_rate 0.5909 (13/22); by intent: document_lookup 5/5, red_result_action 3/3, contraindication 2/2, dose 1/5, monitoring_schedule 1/5, pathway_referral 1/2; all 9 misses = missing dose figure/schedule-interval (answer lengths 73-232 chars) → E-3c co-primary target alongside the wasted-generation class. Phase E spend ≈$3-6 of ≤$20.", - "checks": "Red-proofs: reserve pinned 3 independent ways (exact 23000ms grant, deadline flag clear, total under budget); self-heal skip pins exact marker + single provider call; offline flag pinned true/false. Focused: route-budget 9/9, eval-quality 27/27, fallback+offline 52/52, parser/abort regressions 15/15. Full suite 3043 passed / 1 known container pdf artifact. typecheck+lint+prettier clean. No provider calls; live proof = E-4 paired run" + "date": "2026-08-21", + "ref": "claude/phase-5-closeout", + "head": "c3ca68fa7f13e2d7ae6c4c96ccfcafb67a59135a", + "scope": "Phase 5 close-out: measurement baselines, staging parity, D4 documentation correction (#316) (supersedes 2026-08-21)", + "outcome": "Supersedes the 2026-08-21 record for the same head. No finding changed: the review outcome stands as self-review with no blocking findings. This record exists solely to satisfy the AGENTS.md rule that evidence is never compressed — the prior record summarised verify:pr-local as `(11/11, failed: none)`, which paraphrases rather than pastes the gate's decisive line. Raised by CodeRabbit on PR #2250 (comment 3833079990) and accepted. Records are immutable and content-addressed, so the correction is made by appending this superseding record rather than editing the original, per the review-ledger contract.", + "checks": "verify:pr-local — decisive output verbatim: `- completed: check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline` / `- failed: (none)` / `- not reached: (none)`. check:production-readiness — `READY: no blocking production-readiness failures.` with `PASS (9)` and `Project: Clinical KB Database (sjrfecxgysukkwxsowpy)`. check:ledger-write-discipline — `Ledger write discipline passed for 70a050752f97..HEAD.` check:outstanding-issues — `Outstanding-issues guard passed: 423 rows (67 open, 356 archived)`. format — whole tree via `npm run format`, result committed before push. live-drift run 32514326022 (workflow_dispatch on main) — `No unexpected schema drift between live and supabase/schema.sql.` / `Remote migration versions: 211 (read via rpc)` / `Remote-only (Preview blockers): 0`; every step success." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3c PR-B short-circuit)", - "head": "f7e6cbb + hardening commit", - "scope": "(recorded with Outcome)", - "outcome": "E-3c PR-B: pre-generation validated-extractive short-circuit for gate-passed routine procedural \"What...process/include/required\" queries (marker validated_routine_extractive_first), generalizing the LAI + blocked-recovery precedents via new rag-extractive-first.ts (3 predicates moved byte-verbatim, machine-verified; rag.ts 5029→4908 vs 5030 budget). Kills the run-#57 6x wasted-generation class. REVIEWS (both pre-push): rag-retrieval-reviewer APPROVE-WITH-NITS — move fidelity brace-diff verified byte-identical; confidence-gate skip PROVEN safe (passed-gate is a no-op in applyConfidenceGate; markers pairwise mutually exclusive); comparison false-positives blocked by unchanged classifier precedence; offline/source-only idempotent; zero retrieval/ranking/selection/threshold change; P2 = eval-only assertions (intent_coverage/artifact_leaks/expected-file) unverifiable offline for flip candidates (quality-nocc-document-support, quality-form-required-documentation, quality-discharge-documentation, quality-duress-pathway + rag-set siblings) → pre-merge BRANCH canary recommended and ADOPTED (offline-green + review-approved proven insufficient for this surface, 2026-07-20). clinical-governance-reviewer APPROVE-WITH-NITS — full gate-stack trace: nothing bypassed (same finalizeRagAnswerQuality, same citation scoping, numeric verification not fail-open, ungrounded-finalize defense at rag.ts:3694); P2 = pre-existing bare-cross-reference-with-overlap gap, NOT materially widened (new trigger anti-correlates), hardening recommended → APPLIED this PR: !isBareCrossReferenceAnswer screen in hasValidatedExtractiveCandidate (closes all three short-circuit paths; discriminating test added; disclosed post-review delta, strictly narrows shipping). MERGE GATE: draft until the branch canary pair (baseline #57/#58 vs branch run with answer_case_limit=44 + answer_quality_eval=true, est $3-6 of authorized envelope) is green — zero per-case regressions, recalls 1.0, quality/targeting rates >= baseline.", - "checks": "Red-proof + 3 negative guards; focused 61/61 + fallback/offline/contract suites; full suite 3061 passed / 1 known container artifact (pre-hardening tree; hardening re-verified focused); typecheck+lint+prettier clean; maintainability budget passed (4908/5030)" + "date": "2026-07-14", + "ref": "codex/specifiers-design", + "head": "c3e7024e15d2157bbc0b989276324cc6ad3eea5c", + "scope": "Specifiers UI, clinical decision-support, accessibility, and release-readiness review", + "outcome": "One P2 WCAG contrast defect was reproduced and fixed across the builder, comparison, and map accent eyebrows. No remaining high-confidence defect was found in the changed scope; residual risk is clinical/manual governance of the original specifier summaries.", + "checks": "Focused Vitest 18/18; focused Chromium desktop/mobile 2/2 with serious/critical axe WCAG A/AA scanning and overflow checks; `npm run check:production-readiness:ci` READY; `npm run verify:cheap` 2,210 passed/1 skipped; `npm run verify:pr-local` 2,213 passed/1 skipped plus production build and client-bundle secret scan; `git diff --check`. Full advisory `verify:ui` exceeded the local 10-minute execution window; provider-backed checks were not run." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3c PR-C figure-aware selection)", - "head": "043b030 + P2-fix commit", - "scope": "(recorded with Outcome)", - "outcome": "E-3c PR-C: dose/monitoring extractive answers now carry the asked-for figure/schedule when the cited chunk verbatim supports it — lead-slot promotion (dose swaps last of 2 slots, monitoring appends 2nd sentence; no-op when a lead already carries a figure) guarded by the claim-support atom corpus (sourceEvidenceText exported, promotionAtomKey byte-identical to claim-support's atomKey), plus the dose/threshold generation-fallback preferring the safe figure-carrying candidate (safety gate unchanged, filter-order-stable). Fallback helpers extracted to rag-extractive-answer (cycle-check verified); rag.ts 4908→4901. Six discriminating tests each verified red-on-prior-code incl. proving the nuke-guard load-bearing by disabling it. REVIEWS (both pre-push on 043b030): rag-retrieval-reviewer APPROVE-WITH-NITS — no-op path byte-identical verified, atom-key identity verified, filter-vs-find proven side-effect-free, 2-sentence append gate-safe, intent double-gated, zero retrieval/ordering change, imputation contract green; P2 = zero-atom monitoring figures (\"every 6 weeks\" yields no value atom) pass the guard trivially and can be nuked by claim support if sourced only from adjacent context (fails SAFE — evidence gap, never a wrong figure). clinical-governance-reviewer APPROVE-WITH-NITS — all six clinical concerns CLEARED end-to-end (verbatim-support guarantee, citation binding preserved, conservative failure test-proven, unsafe candidates impossible, wrong-drug risk controlled by pre-existing entity/multi-drug guards, no PHI); same zero-atom finding as P3 + one comment-precision nit. P2 FIXED post-review (disclosed): zero-atom figures now require the matched figure substring verbatim in sourceEvidenceText (intentFigureMatchText); proven both directions by 3 new tests (promotes from content, refuses from adjacent-context-only); comment-precision nit folded in.", - "checks": "Focused post-fix: extractive-formatting 32/32 + fallback/eval-cases/offline/contract/extractive-first 98/98 incl. imputation contract; typecheck+prettier+budgets clean; full-suite 3068-passed baseline pre-P2-fix (fix re-verified focused). Live proof = E-4 pair next" + "date": "2026-07-29", + "ref": "codex/remove-source-overlays", + "head": "c3feb4cea34dd1a0d0d675df3e063c95174f2504", + "scope": "PR #1378 babysit", + "outcome": "MERGED via squash auto-merge after Codex P1 governance restore + overlay removal. Hosted required checks green; unresolved threads 0; Bugbot no open findings.", + "checks": "Hosted PR required/Production UI/Static/Unit/Build/Safety/PR policy SUCCESS; verify:cheap 4273 pass; Bugbot no open findings" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: I9 weekly coverage raise)", - "head": "see PR head", - "scope": "(recorded with Outcome)", - "outcome": "ADDENDUM 5 post-green item I9 (plan-authorized \"after reds fixed\"): weekly scheduled canary ANSWER_CASE_LIMIT default 8→44 — the Sunday 18:00 UTC cron now guards the FULL answer-quality case set instead of the first 8 (both #57 blocking reds historically lived OUTSIDE the first 8, leaving the weekly gate blind to them). Unblocked by run #61 proving the citation gate green on the full 44. Cost: est +$1-2/week (user-authorized in the plan). Contract test pin updated in lockstep (eval-canary-workflow.test.ts). Dispatch shapes unchanged (input override still wins); operational-risk diff, plain-revert rollback.", - "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS (20/20); eval-canary-workflow contract 4/4; prettier clean; no provider calls" + "date": "2026-07-31", + "ref": "codex/chat-frontend-skill-selection-0978", + "head": "c436387c49d37e65bca49429d2b74fffe61c0bfd", + "scope": "PR #1460 review+bugbot+fix", + "outcome": "no findings; second sync after main advanced mid-pass; merge-tree clean; tip delta ledger-only; product already on main via #1456; no Bugbot/actionable threads", + "checks": "merge-tree clean; check:branch-review-ledger PASS; required CI expected after sync push" }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from 87815f4; PR: E-3a cost self-reporting)", - "head": "see PR head + follow-up pin", - "scope": "(recorded with Outcome)", - "outcome": "Phase E-3a wave (all $0 diagnostics complete, recorded here) + I8 fix: eval-canary env gains the three RAG_EVAL__\\_USD_PER_MILLION rates (gpt-5.6-terra standard tier, verified from the live OpenAI pricing page 2026-07-21; documented as a LOWER BOUND since gpt-5.6-sol strong retries cost 2x and the estimator applies one rate set) so estimated_cost_usd stops reading n/a in CI. E-3a findings: (1) discarded-generation histogram from run #57 — fast_quality_retry_strong→extractive x6, generation_quality_failed x4, provider_timeout x2; gate sub-reasons fragment_like x2, bad_final_answer_quality x1, ungrounded_extractive_fallback x1 → E-3c targets the fast-attempt-fails-extractive-wins shape first. (2) I2 resolved: routeCeilingExceeded (eval-quality.ts:157/171) keys on the RUNTIME's own route_budget_ms + deadline flag, NOT the cross-region-widened eval gates — clozapine case = 13.3s retrieval vs the runtime's 12s extractive budget, geography-amplified; design → E-3b. (3) FIXTURE-CORPUS DRIFT (major): the live corpus contains ZERO MHSP_-named files; the 44-case fixture's expectedFiles are all MHSP._/CG.MHSP._ and pass only via the eval-document-matching alias tier. All three expected-doc failures triaged: neuroleptic-side-effect-escalation = REAL retrieval-coverage gap (alias exists; Neuroleptic Side Effects (AKG).pdf indexed 11 chunks, 3 contain escalat%, yet answer retrieval returned a single off-point source) → protected-path item awaiting user go-ahead; admission-discharge x2 = top-5 preference for sibling NMHS/RKPG policies over the existing aliased AKG doc → labeling-vs-ranking decision presented to user. No fixture/alias edits made (ground truth requires sign-off).", - "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean; Supabase access read-only (documents/document_chunks SELECTs); OpenAI pricing page read via WebFetch" + "date": "2026-07-25", + "ref": "cursor/sidebar-six-item-land-cfa0 (PR #1174)", + "head": "c44a5c536e43f300feb1b88892d0b2a8ca2c4feb", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: GitHub reported DIRTY and Static PR checks failed formatting `docs/outstanding-issues.md`; 0 unresolved threads. After: merged current `origin/main` cleanly and formatted the failing document.", + "checks": "Prettier check pass; `git diff --check` pass; no provider-backed checks run." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from c308fdc; PR: labeling widen)", - "head": "see PR head", - "scope": "(recorded with Outcome)", - "outcome": "USER-APPROVED ground-truth widening (AskUserQuestion 2026-07-21: \"Widen to accept siblings\") for the two admission-discharge cases: the WIDER alias tier's AdmissionCommunityPts entry gains the two NMHS \"Admission to Discharge\" titles (Community Mental Health + Mental Health Inpatients). Deliberate exclusions documented in-code: discharge-only docs must not satisfy the admission slot; the MHHITH programme policy is too narrow. STRICT golden tier untouched (bulk-merge prohibition respected). Verified by replaying run #57's actual top-5 lists through expectedFileCoverage: admission-discharge-coverage-paraphrase now passes; admission-discharge-comparison STILL FAILS honestly (its top-5 carries no admission-side doc at all — dup discharge-planning + Falls Prevention) and is retained as a genuine comparison-class retrieval-coverage signal, folded into the same investigation as the neuroleptic case.", - "checks": "typecheck PASS; prettier clean; probe script replay recorded (paraphrase allHit true / comparison allHit false, missing admission slot); no retrieval code touched; protected-file edit (eval-document-matching.ts) per explicit user authorization" + "date": "2026-07-25", + "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", + "head": "c45189c76502050002e579cf2038157416a65f2d", + "scope": "Deduplicate ledger rows before land", + "outcome": "Removed 2 exact duplicate table row(s) introduced by union-merge churn (no unique review content lost). Production UI green after Sheet autofocus upgrade.", + "checks": "check:branch-review-ledger; hosted Production UI success on tip." }, { - "date": "2026-07-21", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from e02ba3d; PR: E-3c PR-A instrument)", - "head": "see PR head", - "scope": "(recorded with Outcome)", - "outcome": "ADDENDUM 5 wave E-3c design accepted (Plan agent, full report in session record) and PR-A delivered: eval-answer-quality gains --dump-answers (per-case answer TEXT + sections + targeting verdict JSON for the canary artifact — answers are not retained at rest by privacy design, so miss diagnosis needs eval-time capture), parseArgs/buildAnswerDumpRecord exported behind an import.meta main-guard (eval-quality precedent), canary targeting step wired with the flag. Design highlights for the record: DEFECT 1 root confirmed as fast-attempt-doomed-then-discarded on strong_routine_retrieval procedural shapes — PR-B generalizes the EXISTING validated-extractive short-circuit pattern (LAI + blocked-recovery precedents, hasValidatedExtractiveCandidate) to the measured shape via a new rag-extractive-first.ts module (net ~-110 rag.ts lines against the 5030 budget); DEFECT 2 rank-1 root = extractive lead-slot selection prefers shortest sentence and admits figure-less leads (sort at rag-extractive-answer.ts:917, 1-slot monitoring leads) — PR-C adds intent-figure-aware lead promotion with a claim-support atom-corpus nuke-proofing guard + dose/threshold fallback candidate preference (find(safe && figure) ?? find(safe)); answer-verification CLEARED as direct cause (whole-answer gap or unbold only, never per-figure deletion). H2 (strong-route comparison/complex residual) explicitly deferred as the named E-3d candidate. E-4 metrics set: discarded-generation <20% from ~47%, dose ≥3/5, monitoring ≥3/5, no intent below #58, recalls pinned 1.0, relevance/fail_closed/readability/artifact_leaks ≥ #58.", - "checks": "PR-A gates: new tests/eval-answer-quality.test.ts 4/4; typecheck, check:github-actions, check:ci-scope, eval-canary-workflow test, prettier all clean; no provider calls" + "date": "2026-07-31", + "ref": "codex/fix-search-retrieval-issues-and-run-canary", + "head": "c45cd227be6d852865eb111a2a06486d1f2c62a0", + "scope": "pr-1503 reopen-ready", + "outcome": "approved: #098 next-action (b) prohibits wholesale collapse; main synced clean; docs-only delta; PR stays closed", + "checks": "format:check; check:outstanding-issues; check:branch-review-ledger; merge-tree clean; bugbot+codex P2 fixed" }, { - "date": "2026-07-21", - "ref": "claude/database-governance-audit-10b6ed (PR #1051: source-governance audit — safe subset)", - "head": "cee396730", - "scope": "Governance-metadata observability + UI display + provenance flow test; no ranking/retrieval/generation surface touched.", - "outcome": "IMPLEMENTED + handed off (not a review of prior work). Resolved audit #1 (logger.warn on unrecognized enum values; return value unchanged), #2 (review_due_source added to frontendVisibleWarningCodes → answer-level badge; warning-severity, no refusal impact), #9 (source_metadata retained on safety-finding citations + governance pill in SafetyFindingsListContent), #13 (new tests/provenance-flow.test.ts: DB-normalize→governance→client payload sources+safety citations→render policy). Deferred #4/5/6/8/10 (RAG-protected ranking/selection/LLM-context/cache — need live eval-canary+approval), #11/#5 flag debt (D5/D4), #3 (is_public schema/RLS), #7 (conflict-detection scope), #12 (canary automation). Rebased onto origin/main (was 18 behind; conflict-free — none of the 18 commits touched the 8 files). PR-policy CI green (confirmed no ragRankingPatterns match).", - "checks": "verify:pr-local exit 0 (351 files/3129 tests, production build, client-bundle secret scan, offline RAG fixtures 36/36); typecheck + lint + prettier green. verify:ui NOT run locally: pre-existing globals.css Tailwind/Turbopack dev-compile error (git-clean, unrelated; prod build passed) — CI Production UI job covers it. check:production-readiness deferred (offline env/config validator; PR changes no env/secret/config inputs; secretless worktree). No provider calls." + "date": "2026-07-31", + "ref": "codex/fix-search-retrieval-issues-and-run-canary", + "head": "c45cd227be6d852865eb111a2a06486d1f2c62a0", + "scope": "pr-1503-review", + "outcome": "re-reviewed: Codex P2 fixed; merge-tree clean vs origin/main; docs-only; no Bugbot/P0-P1; PR remains CLOSED (GitHub headRefOid may lag closed PR)", + "checks": "merge-tree+diff-vs-main+#098-text; no push/reopen" }, { - "date": "2026-07-21", - "ref": "claude/patient-profile-input-bounds-123366 (PR #1045: FV-03 fail-safe input bounds)", - "head": "75303e8b8", - "scope": "Clinical-governance verification of FV-03 (patient-profile numeric fields → medication-safety alert engine). 4-agent adversarial workflow (consumer map + suppression audit + physiological bounds + synthesis).", - "outcome": "ADJUST→implemented. Consumer map: evaluatePatientAlerts is the ONLY numeric consumer, no dose arithmetic, sanitize() is the sole guaranteed chokepoint. Suppression audit found naive null-routing UNSAFE via the bare-renal both-null hole (medication-patient-alerts.ts:286) — nulling one out-of-range renal input while the other is present-normal → false all-clear; fixed with &&→|| (0 bare-renal contraindication rows in corpus → no-op on current data). Bounds VALIDATED (age 0-130, egfr 0-250, crcl 0-400, qtc 240-800, scr µmol/L 15-3000 unit-aware): never reject a legitimate clinical extreme. Reject-to-null (never clamp).", - "checks": "typecheck, lint, format:check, full unit+jsdom 349 files/3120 passed/0 failed (incl. 38 new/updated FV-03 tests), design-system-contract (baselines unchanged), type-scale, icon-scale, check:production-readiness READY. verify:ui in CI. No provider calls." + "date": "2026-07-13", + "ref": "claude/quality-eval-expected-doc-coverage", + "head": "c4868031b2294d26a5d35b06f9ecbb4c9b55ac28", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #562; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-21", - "ref": "claude/x4-sast-gate (PR #1012)", - "head": "0d4985e63", - "scope": "Maturity X4: blocking SAST gate on the untrusted-document parsing surface", - "outcome": "Triage-first per workorder: CI-pinned semgrep/semgrep:1.168.0 over worker/**, src/lib/ingestion*.ts, src/lib/extractors, src/app/api/{ingestion,upload} = 0 ERROR findings (24 TS rules/17 files; 55 Python rules/3 files) — gate starts green with no suppressions. Shipped `semgrep-ingestion-gate` job (no continue-on-error; container digest-pinned to the triage-verified 1.168.0 image) with p/python added for the worker OCR stack; repo-wide advisory job untouched. check-github-action-pins.mjs now enforces both policy halves fail-closed (advisory repo-wide / blocking-and-scoped gate / digest-pinned gate container). Residuals: registry-pack mutability accepted for the narrow surface; making the workflow a branch-protection required check is an operator decision outside this PR.", - "checks": "Exact gate command exit 0 in pinned container; check:github-actions (new assertions verified fail-closed); check:ci-scope; yaml-contract vitest 1/1; verify:cheap 3031 tests green. No provider calls (local Docker only)." + "date": "2026-07-13", + "ref": "origin/claude/quality-eval-expected-doc-coverage", + "head": "c4868031b2294d26a5d35b06f9ecbb4c9b55ac28", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #562; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-21", - "ref": "main", - "head": "71059eba98bc6e335c2c82cb9ab542aad44dfae8", - "scope": "database audit, drift analysis, and data contract review (/drift /data /audit)", - "outcome": "Completed offline audit of database schema, migrations, generated drift manifest, function grants, owner-scope API boundaries, therapy data indexes, and data ingestion logic. Verified drift-manifest byte-identical match to schema.sql (schema_sha256: 50da0978a164...). Found one P2 static check failure: orphaned test tests/check-july8-live-batch.test.ts references deleted script scripts/check-july8-live-batch.ts, causing npm run check:knip and verify:cheap to fail. Live Supabase schema comparison and live ingestion audits were approval-gated and skipped per provider boundary rules.", - "checks": "Local offline checks run: Vitest 339/339 test files passed (3,053/3,054 tests passed, 1 skipped); tests/drift-detection.test.ts (10/10 passed); check:function-grants (28/28 SECURITY DEFINER functions revoked); check:owner-scope (40 API routes clean against 25 owner tables); check:therapy-data-index (205 records OK); check:design-system-contract (520 files clean); strict check:type-scale & check:icon-scale; check:runtime; check:github-actions; check:ci-scope; check:ci-triage; check:pr-policy; check:gate-manifest; check:codebase-index-coverage. Provider checks skipped (approval-gated): check:drift, check:supabase-project, check:migration-history, audit:source-governance." + "date": "2026-07-24", + "ref": "audit-remediation (PR #1153)", + "head": "c4adfe9e27e43edfdfea78f296257330cda39aca", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind/conflicting + PR policy FAIL (missing Clinical Governance Preflight + RAG impact). after: merged origin/main cleanly; PR policy still FAIL — body edit forbidden this sweep (needs human to add Clinical Governance Preflight + RAG impact line); no unresolved review threads worked", + "checks": "merge only; no provider-backed checks run" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase B live pair — no code change; recorded for eval-history completeness)", - "head": "canary runs 29763761133 (#53 baseline) + 29769050798 (#54 tuned)", - "scope": "ADDENDUM 4 Phase B verdict: staged 3-class tuner weights produced ZERO live movement — NOT adopted per the measured-gain rule", - "outcome": "Offline tuner recommendations (document_lookup titleSection→0.9, table_threshold clinicalEvidence→0.95, comparison hybridRelevance→0.95; proxy comparison-mrr 0.833→1.0) staged via the B-PR-1 rag_ranking_config input; #54 log proves the override active (validation step echo). Result vs re-gated baseline: mrr@10 0.8921 vs 0.8922, irrelevant@10 0.1083 vs 0.1083, recalls 1.0/1.0 both, 36/36 both, all four headroom cases byte-identical rr (flowchart 0.20, ciwa-threshold 0.25, patient-safety 0.33, opioid 0.33). Learning: the 5-candidate linear proxy saturates; real headroom lives in fast-path saturated-tie structure (Phase C trigger condition mrr < 0.90 formally met; user authorized C). Nothing to roll back (per-run override). Spend ≈$2-4 of user-raised ≤$20 cap.", - "checks": "Both canary runs green (36/36 + answer-quality); override-active proof in #54 job log; no adoption = no code diff" + "date": "2026-07-30", + "ref": "claude/design-sync-db0a54", + "head": "c5091e9606ca2a7e26978a94f82c7e826d7f92a7", + "scope": "branch-cleanup", + "outcome": "merged PR #1443 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1443 MERGED at exact final head a1819d8a59b66efe6c5eed37a237ead443bc7569; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase C live verdict — no code change; main stays reverted at 0a498e6)", - "head": "canary run 29773198933 (#55, on f96217c)", - "scope": "ADDENDUM 4 Phase C LIVE-REFUTED: canary on the merged tail code FAILED 3/36 (doc_recall 1.0→0.9167, mrr@10 0.8921→0.8138) — the user-ordered revert (#1005) was correct and STANDS", - "outcome": "Failures: patient-safety-plan-include (PtSafetyPlan out of top-5, rr 0.33→0.14), patient-property-visual-table (rr 1.00→0.11) and schizophrenia-overview (rr 1.00→0.14) — two previously rank-1 cases destroyed. Root cause (post-hoc): the S1 lexical-chunk lift spreads hybrid_score, which is the PRIMARY release sort key — inside the dead (0.48,0.5) band it still PREEMPTS every downstream key, so raw ts_rank order overrode the boost/title/subject-aware relevance order that previously decided all-tied-at-0.48 pools. Lexically-loud chunks leapfrogged title-boosted correct documents = the #118 mechanism, reproduced live. The offline S1 test used identical-content candidates (coverage tie) and could not see it. The S2 similarity tail (tie-break-position key) remains reviewer-verified safe in isolation — retrieval reviewer verdict on the full diff: APPROVE-WITH-NITS, P3 only (0.49-lowering proven unreachable via the SQL 0.48 cap; no gate crossings in (0.92,0.94); hardening nits recorded). DISPOSITION: no re-land as-is. Any retry = S2-only + S1 redesigned to a key BELOW relevance in the comparator chain, new design + fresh pair. The staged-rollback discipline (canary pair + instant revert) worked exactly as designed. Spend ≈$4-8 of ≤$20.", - "checks": "Canary #55 read from job log (3 FAIL lines + summary); reviewer verdict from subagent report; main verified reverted (0 saturationTailUnit refs at 0a498e6)" + "date": "2026-07-30", + "ref": "cursor/safe-branch-cleanup-78a8", + "head": "c5190f38834ef2e928edc4876d971aa9d5d69fe7", + "scope": "open PR changed-scope review", + "outcome": "APPROVE after fixes: cleanup refs are discoverable, provider evidence is accurate, and issue 108 closure is preserved against current main.", + "checks": "check:branch-review-ledger PASS; check:outstanding-issues PASS; two review threads resolved" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: DB easy wins)", - "head": "see PR head", - "scope": "User-requested database + process easy-wins pass: read-only Supabase advisor sweep (user-authorized) → canary-liveness probe + advisor-disposition docs; live mutations withheld for per-item confirmation", - "outcome": "Advisors (live, read-only): security = 1 INFO (document_title_words RLS-no-policy = the deliberate fail-closed pattern — now comment-documented at the schema block so it is never 'fixed'); performance = ~33 unused-index INFOs + auth connection-strategy note → docs/db-maintenance.md TRIAGE list with retrieval-surface trgm indexes flagged RAG-protected (dropping = full canary protocol), owner-scoped indexes retained for multi-tenant design, operational candidates deferred (negligible benefit at corpus size). Implemented: ci.yml static-pr warn-only eval-canary staleness probe (actions:read, github-script pinned, >8 days → warning; never fails) — needed because #923 (2026-07-19) moved the canary cadence from daily to weekly Sunday 18:00 UTC, where a dropped fire would go unnoticed for a week (the failure-issue step only reacts to runs that happen). CORRECTION (CodeRabbit review on this PR): the initially recorded \"2026-07-20 dropped Sunday fire\" incident did not occur — 2026-07-20 is a Monday; the Sunday 2026-07-19 slot fired as scheduled run #48 (19:03 UTC, success), and under the weekly cron no 2026-07-20 slot existed. Probe stands as proactive hardening, staleness now measured from updated_at with a finite-timestamp guard. Presented for confirmation (NOT implemented): scheduled telemetry retention (purge:query-logs is owner-scoped + unscheduled; needs owner/window/policy decision), auth percentage connection strategy (dashboard config), any index drops.", - "checks": "check:github-actions PASS; check:ci-scope PASS; check:function-grants 28/28 PASS; docs:check-links 1034 PASS; supabase-schema vitest 66/66; lint+typecheck+prettier clean; Supabase access read-only only" + "date": "2026-07-13", + "ref": "origin/main (detached review worktree)", + "head": "c523cabeae4b68ebdf569ecbc18d9f5a7b5afbf1", + "scope": "repo-wide audit", + "outcome": "Changes requested: one P1 clinical-answer trust cluster; three P2 tenancy/reindex guardrail issues; three P3 information-disclosure, dead-code, and transitive-deprecation cleanup items. No P0 found.", + "checks": "`npm run verify:cheap` (1,721 passed, 1 skipped); `npm run test:coverage` (thresholds passed); `npm run build`; `npm run verify:ui` (137/137); `npm run eval:rag:offline` (36 fixtures, 60 tests); format, Edge Function, Codex workflow, import/secret/dead-reference scans. Provider-backed checks skipped." + }, + { + "date": "2026-08-24", + "ref": "codex/therapy-best-match-20260824 (PR #2342)", + "head": "c5701bdf739fa7d56ad5cd06b15e1065e747987a", + "scope": "Run PR sweep: branch drift only", + "outcome": "No unresolved review threads on current head (Cursor Bugbot / Codex findings were already resolved before this sweep). No CI failures found. PR was behind main only; synced origin/main into the branch via update_pull_request_branch (clean merge-tree confirmed offline first with git merge-tree). New CI run in progress at sweep end with zero failures in completed jobs (Change scope, Safety and config checks, Build, and most of Static PR checks all green); Production UI x3, Production UI critical, Unit coverage, and Lighthouse budget still running and deferred per the 30-minute dormant-observation cap.", + "checks": "No local gates run (sync only, no code changes). Hosted CI observed only: Change scope=success, Safety and config checks=success, Build=success, Static PR checks green through Lint step; remaining jobs unsettled at sweep end. No provider-backed checks run." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: matcher + artifact follow-ups)", - "head": "ab145f6", - "scope": "Remaining documented improvements implemented: word-boundary textContainsClinicalTerm + top-10 canary artifact rows", - "outcome": "Matcher: boundaries + internal separators widened to any non-alphanumeric run — PROVEN strict superset by artifact replay on canary #53 (1,126 term×alias×result comparisons, 0 lost matches, 7 gained = exactly the previously-documented punctuation-joined occurrences: treatment,/mood,/(opioid/ptsd.[35]/ciwa-ar ×3). More-tolerant measurement cannot fail a passing case → weekly scheduled canary = free live confirmation. Exported + 3 direct unit-test groups (superset preservation, audit classes incl. line-broken 'ciwa- ar' and 'full-blood-count', substring-inside-word rejections). Artifact: topResultSummary 5→10 rows so rr@10/irrelevant@10 metrics' actual inputs are captured — unblocks the offline irrelevant@10 labeling audit next artifact. docs/rag-behaviour updated to implemented state. Phase E remains gated on separate approval.", - "checks": "Targeted vitest 59/59; npm run test 3028 passed / 1 known container pdf-budget artifact; lint+typecheck+prettier clean; audit script run recorded above; no provider calls" + "date": "2026-08-14", + "ref": "codex/improve-guide-layout-and-fix-bugs", + "head": "c577a4b47c22ee6734e18af0da41d757d374aaca", + "scope": "PR #1948 review-and-fix", + "outcome": "fixed confirmed mobile footer keyboard-accessibility and hidden padding defects; merged latest main", + "checks": "offline: Prettier changed files; git diff --check; check:maintainability-budgets; check:base-freshness; targeted Vitest unavailable (isolated worktree has no node_modules); browser smoke covered in CI" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: RAG memory + safeguards)", - "head": "see PR head", - "scope": "(recorded with Outcome)", - "outcome": "User-directed close-out: durable RAG behaviour memory (docs/rag-behaviour/, 4 files) + AGENTS.md standing protection rules + ENFORCED safeguards — pr-policy blocking `RAG impact:` gate on protected surfaces (self-tested: undeclared/vague blocked, no-change/canary declarations pass) + source-pin contract test on imputation formulas and release comparator key order (red-proven vs a mutated constant). Confirmation canary #56 (29774459706, reverted main 0a498e6): SUCCESS — 36/36 restored, closing the #55-regression→revert→restore arc live. Phase D complete (D-1 ref input #1003, D-2 eval:trend #1006, D-3 policy §3.1 #1006, D-4 latency in trend rows); remaining documented plans: word-boundary matcher (own PR), irrelevant@10 labeling audit, Phase E (separate approval). Spend ≈$5-10 of ≤$20.", - "checks": "pr-policy self-test + workflow guard PASS; contract test 4/4 + red-proof; npm run test 3025 passed / 1 known container pdf-budget artifact; lint+typecheck+prettier clean; docs:check-links 1030 refs PASS; check:github-actions PASS" + "date": "2026-07-13", + "ref": "origin/copilot/fix-yet-again", + "head": "c57bc8af5570a5fc69fa0f804f67cfa98df76b89", + "scope": "branch-cleanup", + "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-yet-again; git diff --name-only reported 12 path(s)." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: revert Phase C pending review)", - "head": "revert of f96217c", - "scope": "User-requested revert of #1004 (Phase C saturation-tail primaries): auto-merge fired before the adversarial rag-retrieval-reviewer pass landed; retrieval code returns to the last reviewed state until that verdict is in", - "outcome": "Clean single-commit revert (the documented rollback path — helpers + 2 expression sites + 1 map call; no schema/config/cache surface). Ledger history rows from f96217c retained (docs are append-only record, not behavior). The 19:44Z post-merge canary dispatched on f96217c completes regardless and stands as Phase C's live validation datapoint; re-land decision = reviewer verdict + that pair result together. Offline state of the reverted change remains fully proven (red-proof + 121/121 + envelope tests).", - "checks": "Revert verified by vitest fast-path suite returning to pre-C 5/5 shape expected in CI; ladder on the revert = hosted pr-required" + "date": "2026-07-14", + "ref": "copilot/fix-yet-again", + "head": "c57bc8af5570a5fc69fa0f804f67cfa98df76b89", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from 5b4098d; PR: E-2 baseline record + instrument fix)", - "head": "see PR head", - "scope": "(recorded with Outcome)", - "outcome": "ADDENDUM Phase E-2 BASELINE BANKED (canary dispatch #57, run 29786560936, main 5b4098d, answer_case_limit=44): golden retrieval 36/36 green in-run (no-regression net held); eval:quality full-44 RED on exactly two gates — citation_failure_rate 0.0227 (1/44: neuroleptic-side-effect-escalation — expected doc never retrieved, generation quality-failed, extractive fallback with 1 citation) and route_ceiling_failure_count 2 (clozapine-anc-withhold-threshold: 13.3s pure retrieval vs 12s extractive budget, RPC 9.3s, zero generation; agitation-arousal-typo-dosing: 25054ms vs 25000ms after provider_timeout ate 22.6s pre-recovery). Green gates: grounded_supported 1.0, unsupported_correct 1.0 (all 14 refusals incl. both prompt-injection probes at 2ms), numeric grounding failures 0, governance danger 0, p95 17.4s. Non-blocking signals: expected_source_hit 0.6136 (both admission-discharge cases miss MHSP.AdmissionCommunityPts.pdf to sibling NMHS/RKPG policies — labeling-vs-ranking question, §3.1 class), source governance warning rate 0.8182 (metadata debt, waivable class). SYSTEMIC E-3 TARGET: ~9 of 19 generation attempts discarded (fast output fails quality gate → extractive fallback wins; ~7 cases carry fast_quality_retry_strong→extractive reasons) = ~half of generation latency+spend wasted. Instrument defect found+fixed this PR: targeting step was skipped after the red gate (GitHub failure-skip semantics) → if: gains !cancelled() so baselines observe red gates. Spend: est ~$1-2 actual (19 OpenAI-request cases; cost rates unset in CI so report shows n/a) of ≤$20 Phase E envelope. Next: cheap re-dispatch (default limit 8 + answer_quality_eval=true) to bank the skipped 30-case targeting baseline.", - "checks": "Gates this PR: check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean. Baseline evidence: job log run 29786560936 (5 failing-case diagnostics + Answer Metrics table read in full)" + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "c59ae820db3034ef3cf74ae6d0030a0472a3a264", + "scope": "Run PR babysit: merge/CI/threads", + "outcome": "Before: CONFLICTING + Static PR checks FAIL (duplicate #1149 ledger row) + 2 unresolved Codex P2s. After: merged origin/main; removed duplicate ledger row; Differentials hero slot gated on !(query.trim() && documentMatches.length); threads resolved.", + "checks": "vitest mobile-composer-reserve 9/9; check:branch-review-ledger pass; maintainability 4132/4140. No provider-backed checks run." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from e6cd6cb; PR: telemetry-retention correction)", - "head": "01368ff (+0144e69 main merge-in)", - "scope": "User-directed \"implement your recommendation for all decisions\" close-out: the scheduled-retention recommendation is RETRACTED as founded on a false premise — telemetry retention is ALREADY ACTIVE inside the database via pg_cron; docs corrected, nothing built, no live mutations", - "outcome": "Fresh read-only cron.job verification (2026-07-20) matches docs/privacy-impact-assessment.md §6 exactly: jobid 11 purge-expired-rag-queries daily 03:30 (30d), jobid 12 purge-rag-retrieval-logs daily 03:00 (90d), jobid 13 purge-rag-query-misses daily 03:45 (90d), jobid 16 purge-rag-response-cache hourly (bounded 1000); v3 worker jobs present-inactive under backlog auto-toggle (jobid 10); obsolete unbounded cache job absent; audit_logs indefinite by design. db-maintenance.md \"open decision\" section replaced with the resolved state; purge:query-logs clarified as the MANUAL owner-scoped tool (not the retention mechanism). A GitHub-side weekly deleter would have duplicated pg_cron with window drift (a 90d rag_queries sweep can never out-delete the live 30d job). Remaining decisions stand as documented no-action: auth percentage connection strategy deferred to next instance resize; operational index drops not recommended.", - "checks": "prettier + docs:check-links PASS; Supabase access read-only (single cron.job SELECT, user-authorized read-only envelope); no workflow/schema/config changes" + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "c5a145ddbcf66ebcb4c32acf75c6b9588e253b2a", + "scope": "CI babysit + Bugbot + conflict closeout", + "outcome": "READY. Merged origin/main; resolved real Dockerfile/guard-next-build conflicts by adopting main's evaluateNextBuildRamGuard + ALLOW_LOW_RAM_BUILD. Motion fixes retained: ISSUE-02/05, IMP-01 spring token, IMP-04 shimmer ::after wiring, IMP-02 AnswerSkeleton stagger. Bugbot re-review: no remaining P0/P1/P2. 0 review threads. Hosted PR required SUCCESS.", + "checks": "focused vitest earlier; guard-next-build Vitest 3/3; hosted Build/Static/Unit/Production UI/PR required SUCCESS; no provider checks." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from f33890a; PR: Phase E instrument input)", - "head": "see PR head + follow-up SHA pin", - "scope": "Phase E kickoff (user-approved with budget): eval-canary gains opt-in `answer_quality_eval` dispatch input running the 30-case eval:answer-quality fixture (5 quality metrics + per-intent targeting) — the instrument was previously never run in CI. Dispatch-only, default-off, informational (exit 0, no --targeting-floor): scheduled runs and existing dispatch shapes byte-identical; gates stay owned by eval:quality. Follows the #1003 input-only precedent.", - "outcome": "E-1 recon (all $0/read-only) recorded here: canary answer gate samples only 8 of 44 eval:quality cases (ANSWER_CASE_LIMIT default); eval:quality --provider-mode offline is a real $0 harness (provider deleted, deterministic source-only path) usable as an E-3 regression guard; live 30-day answer telemetry (34 answer-path rows): 25 full answers, misses = evidence_gap ×4 (avg 26s spent before gap), provider_incomplete_max_output_tokens ×2 (avg 82s wasted then discarded), provider_generation_failed ×1, retrieval_gap_or_conflict ×1, source_only_no_api ×1; success latency avg 13.1s / p90 25.2s. Headroom classes for E-3: truncation waste (rag.ts:4265 self-heal insufficient live), late evidence-gap detection, p90 latency, thin CI answer coverage. Next: E-2 baseline dispatch (answer_case_limit=44 + answer_quality_eval=true, est $3-8 of user-authorized ≤$20 Phase E envelope) after this merges.", - "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean; no provider calls this PR (workflow change only); RAG impact: none — retrieval steps untouched" + "date": "2026-07-28", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "c5ee34f2a17222a0ec6fb592a2dd7db4e43f1496", + "scope": "CI babysit + Bugbot recheck", + "outcome": "Before: required CI SUCCESS; GitHub CONFLICTING/DIRTY from 1-commit main staleness (merge-tree clean); 0 review threads. Bugbot: no P0/P1/product P2. After: merged origin/main (#1287). Nothing to resolve for comments.", + "checks": "Prior tip required CI SUCCESS; merge-tree clean; no provider checks." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR #1001: A-PR-2 measurement-floor completion)", - "head": "3d8f798 + 5b664f8 + e58c827", - "scope": "First provenance-stamped snapshot regeneration from a live canary artifact + alias tiering docs + fixture-length pin + lithium doc-gate — Phase A of ADDENDUM 4 functionally complete", - "outcome": "Artifact chain: user-authorized paid dispatch (canary #53, run 29763761133, 36/36 green, doc_recall 1.0 / content_recall 1.0 — first perfect content recall, ciwa alias confirmed live; mrr@10 0.8644, irrelevant@10 0.1083) emitted the first eval-canary-output artifact (51787 bytes, sha256 5af5b802… verified byte-identical after user transfer into the sandbox — this container cannot download run artifacts). Work: (1) two-tier alias documentation — investigation of the governance-review P3 showed src/lib/eval-document-matching.ts is a deliberately WIDER captured-case tier (e.g. \"Clozapine GP Shared Care\"); bulk-merge would loosen golden ground truth, so both files now carry cross-referencing do-not-merge headers instead; (2) snapshot case count pinned to live golden fixture length (regeneration instructions in failure message) — closes the coarse-floor P3; (3) snapshot regenerated via the alias-aware builder with --source-run-id provenance: agitation-im-po-options 0→5 graded positives (EMHS alias working on real data), flowchart-next-step confirmed sole zero-positive case; generatedAt promoted to validator-REQUIRED (closes the hand-edit P3); two stale data pins updated (missing-positives 2→1; broad_summary defaults-equality pin dropped — defaults' provenance was the retired snapshot, fresh recommendations are Phase B input); (4) artifact-grounded punctuation audit: 7 joined-token occurrences in top-5 previews — 3 ciwa-ar (alias-covered, incl. line-broken \"ciwa- ar\"), 4 ORDINARY-PROSE punctuation (\"treatment,\" / \"mood,\" / \"(opioid\" / \"ptsd.[35]\") — matcher word-boundary change proposed as its OWN reviewed follow-up per plan (systemic class, not bundled); (5) lithium-therapy-monitoring was the ONLY ungated case (rr@10 hardcoded 0.00 = measurement noise): expectedDocumentSubstrings [\"Lithium\"] added from live evidence (deliberately broad across the corpus's multiple legitimate lithium guidelines), snapshot rebuilt in lockstep from the same artifact, measured mrr@10 +~0.028 from de-noising. Deferred with reasons: NEW-query fixture cases (saturated-tie shapes, captured rag_query_misses) need live validation before they may gate — unlocked by Phase D-1 branch-eval dispatch or a dedicated validation dispatch; real ordering headroom for Phase B = flowchart 0.20, alcohol-ciwa 0.25, patient-safety 0.33, opioid 0.33, all text_fast_path.", - "checks": "Targeted vitest 76/76 ×3 (after each stage); npm run test 3019 passed / 1 known container-only pdf-budget artifact; prettier clean; freshness gate ACTIVE and green; no provider calls beyond the user-authorized dispatch (~$1-2, ADDENDUM 4 spend now ~$1-2 of ≤$10)" + "date": "2026-08-18", + "ref": "claude/restore-source-metadata-pin", + "head": "c5effece629b7eeadd96a4dd92bbc8c7de0cda71", + "scope": "restore .nullable() source_metadata pin in src/lib/rag/rag-row-contracts.ts after PR #2107 loosened it; add absent-key rejection test", + "outcome": "strict pin restored; 26/26 contract tests; offline 623/623; 36 golden", + "checks": "vitest rag-retrieval-row-contract 26/26; eval:rag:offline 623/623; check:rag:fixtures; tsc clean" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: #901 rerank regression closeout)", - "head": "fd5dcd1582e1c7aa8bf92ff097575e0c68aa930d", - "scope": "#901 rerank regression: baseline re-eval + offline guard net + saturated-tie fix", - "outcome": "Baseline eval-canary dispatch on remediated main b3ae061 (run 29731533081) PASSED — golden retrieval 36/36 + answer-quality green, confirming #913-#926 closed the live 4/36 regression (July 19 failing run tested the raw #901 state; fixes landed 1-8h after it, never re-evaled until now). Residual defect found by new offline repro and fixed: with byte-identical imputed fast-path primaries, selection's clamped keys tie exactly and the chunk-id fallback decides, which secondStageScore's position adjustment launders into releaseRankScore (buried the CIWA answer doc in repro); fix = contentRankScore carried on RetrievalCandidate as tie-break between clamped rerankScore and chunk id, never added to scores. Amended #901's own never-live-validated saturated-tie pin to content-rank-then-id. Guards: tests/rag-fast-path-ordering.test.ts (4 end-to-end eval-shape repros) + ranking-tuning gates (4 golden-mapped hard negatives at production weights + full-snapshot high-risk). Fixture aliases NOT changed (Step C not triggered — identity cases pass live).", - "checks": "Targeted 4-suite vitest 37/37; npm run test 2981 passed (sole fail = container-only pdf-extraction-budget artifact); verify:cheap green through all 18 pre-test checks incl. lint+typecheck; check:production-readiness PASS on substantive checks (2 FAILs = documented missing-secret class in this container); build + client-bundle scan + check:rag:fixtures PASS" + "date": "2026-07-25", + "ref": "PR #1203 / `cursor/reconcil-tooling-7f06`", + "head": "c5f237aac869b864fbc8810912df837b8a31fbab (squash)", + "scope": "prlanded / merge confirmation", + "outcome": "MERGED. Squash tip trees equal `origin/main` (two-dot empty). Late `package.json` conflict-marker fix and both reconciliation + audit npm scripts are on main. Feature worktree removed; local branch force-deleted after content proof; remote branch already gone. Closed #067 (fixture-injected preflight root), #077 (primary checkout write lease), #078 (secret-safe evidence pack).", + "checks": "Local: two-dot tree equality vs `origin/main`; presence checks for lease/evidence/preflight scripts; `package.json` scripts + no conflict markers. Prior PR-local on tip precursor green. No provider calls." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: B-PR-1 canary dispatch inputs)", - "head": "see PR head", - "scope": "eval-canary.yml workflow_dispatch gains rag_ranking_config (staged Phase B weight evals, loud malformed-JSON validation to prevent silent fallback corrupting pair comparisons) + ref (Phase D-1 pre-merge branch evals) — schedule runs unaffected (empty inputs = today's behavior)", - "outcome": "Tuner (offline, $0) on the A-PR-2 regenerated snapshot recommends 3 constrained per-class improvements (document_lookup titleSectionRelevance→0.9; table_threshold clinicalEvidence→0.95; comparison hybridRelevance→0.95 with proxy mrr 0.833→1.0), all with recall non-regression + zero high-risk hard-negative failures; medication_dose_risk + broad_summary stay neutral. Staged config JSON banked for the live pair; baseline = canary #53 re-gated (mrr@10 ≈0.8922 after lithium de-noising). Targets per approved plan: mrr@10 ≥0.90, irrelevant@10 ≤0.08, zero case regressions. Budget: user raised cap to ≤$20 (spent ≈$1-2). Security note: ref input runs branch code with eval secrets — dispatch requires repo write access (sole trusted collaborator), documented in PR risk.", - "checks": "check:github-actions PASS; check:ci-scope PASS; prettier clean; no provider calls (workflow change only)" + "date": "2026-07-13", + "ref": "codex/lithium-answer-recovery-pr", + "head": "c5fde11e64d8976e1c163d1b8618f58a52e0b8ff", + "scope": "lithium answer recovery and source governance", + "outcome": "Fixed the provider-failure path with a grounded Australian source-backed fallback, a public-safe progress lifecycle, centralised Australian authority/context selection, and fail-closed locality repair. The live audit exposed and the branch fixed hierarchy identity false conflicts plus registry projections entering clinical metadata gates. The corrected audit/backfill found zero proposals, so no production write was made. No high-confidence defect remains. Residual risk is provider latency; live generation timed out but the grounded fallback completed.", + "checks": "`npm run verify:pr-local` passed: 1,988 tests passed/1 skipped, build/client scan, 36 fixtures, and 267 offline RAG tests. After review fixes, `npm run verify:cheap` passed with 1,992 tests passed/1 skipped. `npm run check:production-readiness` passed 5/5. `npm run test:e2e:critical` passed 9/9. `node scripts/run-playwright.mjs tests/answer-progress-ui-smoke.spec.ts --project=chromium` passed 2/2. `node scripts/run-eval-safe.mjs scripts/eval-rag.ts --question \"Lithium dosing\" --expect-australian --fail-on-threshold --json` exited 0 with one grounded FSH citation and no threshold/safety failures. `npm run audit:source-governance` reported 0 gaps/conflicts/proposals across 2,851 rows. `npm run backfill:source-metadata -- --locality-only` reported 0 changes. `git diff --check` passed. Full `npm run verify:ui` was not rerun after the aggregate runner lost its local server." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: ci.yml concurrency)", - "head": "79aaacf04e64f753c480dd957a81ac9be6acbb43", - "scope": "CI workflow concurrency: stop main churn cancelling dispatch/schedule runs", - "outcome": "One-line group expression: workflow_dispatch/schedule events now get a per-run concurrency group (github.run_id) while push/PR keep the shared ref group with cancel-in-progress — fixes the release-browser-matrix livelock (cancelled twice on 2026-07-19/20 by main merges mid-run; the weekly Sunday 18:00 UTC scheduled run was subject to the same cancellation). release-browser-matrix is not a required branch-protection check; pin/scope checkers do not constrain the concurrency block. Accepted side effect: deliberate runs can overlap push runs. Rollback: plain revert.", - "checks": "check:github-actions PASS; check:ci-scope PASS; format:check PASS (repo files; local-only .claude/settings.local.json warning is gitignored)" + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "c612c88aae386a29715cadfb5dbd2b95163e1dc9", + "scope": "prlanded after squash merge", + "outcome": "MERGED. Squash tip `c612c88aa` on main; remote feature branch deleted. Product content verified on main (`check:assets`, icon Cache-Control, SignedImage/non-PDF a11y). Local review worktree retained for optional cleanup.", + "checks": "gh pr view MERGED; two-dot product-file diff empty vs origin/main; no provider checks." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: coverage tie-break follow-up)", - "head": "57ec880b306a8e2b31c5f20dacc47256fc93b4e2", - "scope": "Post-merge live-eval finding on #982 + corrective fix: saturated-tie key rankScore → query-term coverage", - "outcome": "Post-#982 golden dispatch (eval-canary run #50, 29735004222, main b9057f0 + deps) came back 35/36: the three verifiable July-19 failures (lithium-therapy-monitoring, clozapine-anc-threshold, patient-safety-plan-include) all PASS live, but alcohol-ciwa-threshold flipped pass→FAIL vs the same-morning pre-#982 run #49 (29731533081, 36/36) — failing top-3 ordered by descending rankScore (1.85/1.75/1.53, all finalScore-saturated, releaseRankScore 1.09/1.086/1.07), i.e. #982's tie-break let generic clinicalSignalBoost stacking outvote the ciwa/score/threshold-bearing chunk; #982 is the only retrieval-path delta in the window. Fix: contentRankScore → contentCoverageScore sourced from lexicalCoverageScore (query-term coverage, immune to boost stacking; ties still fall to chunk id); saturated-tie contract test re-pinned so coverage beats a HIGHER rankScore (discriminating — old key fails it); fast-path CIWA guard gains the run-#50 screening-chunk shape + content-term assertion. Live validation: tonight's 18:00 UTC scheduled canary (dispatch cap 2/2 spent ≈$2-4). Separately: ci.yml dispatch 4012 survived 30+ min of main churn under #979's per-run concurrency group (fix working); duplicate dispatch 4017 cancelled.", - "checks": "Targeted vitest 38/38; npm run test 3012 passed / 1 known container-only pdf-budget artifact; verify:cheap green to the same artifact; build + client-bundle scan + check:rag:fixtures PASS; check:production-readiness expected missing-secret FAILs only (no secrets in container)" + "date": "2026-08-27", + "ref": "update_documentation_structure (PR #2444)", + "head": "c619671065422373f746f69bca5f94147767f877", + "scope": "PR 2444 review: main sync + CI fix + review thread", + "outcome": "before: PR policy/Static PR checks/Unit coverage failing, 1 unresolved review thread, behind main by 2 commits (clean merge). after: merged origin/main (no conflicts), regenerated docs/site-map.md to drop deleted signed-urls alias route (fixes docs:check-links + site-map.test.ts), fixed CodeRabbit Major finding — upload error-path storage_cleanup_jobs ledger now carries document_id when document deletion is not confirmed so the janitor live-document guard can protect it, added required PR-body Clinical Governance Preflight + Risk and rollout sections (fixes PR policy check). Thread resolved with fix commit reference.", + "checks": "npm run typecheck (clean), npm run lint (clean), npm run test:focused -- --files src/app/api/upload/route.ts (184 passed), npm run docs:check-links (passed), npm run sitemap:check (passed), npm run format (no changes needed). No provider-backed checks run." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: eval measurement floor, ADDENDUM 4 A-PR-1)", - "head": "81ab9696da4b330ca0b2e5519891a9942f90421b", - "scope": "Measurement floor for evidence-gated ranking tuning: canary artifact emission, alias-aware snapshot builder, snapshot provenance/freshness — no ranking behavior change", - "outcome": "Closes the three gaps blocking safe tuning (Phase B): (1) eval-canary's golden step now writes the per-case JSON artifact (--json-out decoupled from --json so the tee'd log keeps the human-readable lines the failure-issue analyzer parses) and uploads .local/eval-canary/ via pinned upload-artifact (30-day retention, include-hidden-files for the dot-dir, contents = same class as the already-public step logs: titles/telemetry/220-char previews of the all-public corpus) — snapshot regeneration stops costing a paid dispatch; (2) clinicalDocumentAliases/clinicalContentAliases moved verbatim to shared scripts/lib/clinical-aliases.ts and the snapshot builder grades documentMatch/contentMatch through them (discriminating tests: EMHS agitation title and spelled-out \"absolute neutrophil count\" grade as hits only via aliases — raw labelMatches pinned false), ending tuner ground truth disagreeing with the live gates; (3) snapshots carry generatedAt + optional sourceRunId, validator accepts them, exactly-36 relaxed to at-least-36 (floor still rejects truncated artifacts; sourceCaseCount + per-case candidate minimums unchanged), and a 30-day freshness test (activates on first regeneration) blocks silent corpus drift. Builder smoke-verified end-to-end on a synthetic 36-case artifact (alias grading + provenance stamped + validator green). Static hyphen audit of all 36 cases' terms: no currently-blocked term (canary #52 = 36/36); residual risk classes documented for the A-PR-2 artifact-grounded pass — punctuation-joined tokens (IM/PO, schizo-affective, post-natal) and inert stem entries (obsess/compuls/hyperactiv/impuls can never match whole-token) that currently ride on whole-word OR-alternates.", - "checks": "Targeted vitest 52/52 (ranking-tuning + eval-retrieval + eval-quality); npm run test 3019 passed / 1 known container-only pdf-budget artifact; lint + typecheck clean; check:github-actions + check:ci-scope PASS; prettier clean; check:production-readiness expected missing-secret FAILs only (demo-mode container); no provider calls — live validation = tonight's scheduled canary emits the first artifact at $0" + "date": "2026-07-13", + "ref": "origin/coderabbitai/docstrings/abb648e", + "head": "c6215211ac02ada5db1df81ce03a36b7714f7dd8", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #539; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: matrix-remainder fixes)", - "head": "ec070ccb20b9a067216e64e8399d9cd795027024", - "scope": "Run-4012 remainder: 7 root-caused fixes (SW navigation hijack, WebKit focus/forced-colors/stale-style, Firefox tab order, CIWA alias, helper extraction)", - "outcome": "Agent-diagnosed with probe evidence: (1) production-build PWA worker registers in EVERY matrix test (pwa-lifecycle.tsx:287 NODE_ENV gate), clients.claim()s the page and serves all navigations — Chromium probe proved SW-served reloads bypass page.route entirely (routeSawNav=[]); Playwright-Firefox wedges on its only two reloads (ui-smoke 2206/2932, both deterministic) → playwright.config.ts serviceWorkers:'block' + ui-pwa 'allow' opt-in (offline/CacheStorage journey verified passing locally under the opt-in). (2) Mode-menu dismissal relied solely on wrapper focusout; WebKit Tab navigation can move focus nowhere (links excluded) or wrap into the menu → keydown Tab-close in handleModeTriggerKeyDown (agent verified no test depends on old forward-Tab behavior). (3) WebKit has no forced-colors implementation → capability skip on the token-remap test. (4) WebKit stale :disabled computed style feeds axe a phantom 1.93 contrast for the re-enabled Previous button (blend arithmetic exact: 0.4×#475467+0.6×#fff=#b5bbc2) → toBeEnabled+opacity-1 pin before the scan, failure-at-pin = direct proof. (5) Firefox includes scrollable containers in tab order (sheet body scrollHeight 1125 vs 707 measured) → conditional step-over. (6) canary #50/#51 CIWA failure root cause: whitespace-delimited textContainsClinicalTerm can never match hyphenated 'CIWA-Ar' though the dosing-table region ranks top-5 → clinicalContentAliases ciwa:[ciwa, ciwa-ar] (plan-authorized fixture-alias route; content substance unchanged). (7) tests/helpers/zero-touch.ts shared helper replaces six #995 inline stubs (CodeRabbit follow-up). NOT claimed: ui-stress 409 overflow, ui-tools 2087 navigation race, webkit answer-flow subset — next matrix run (post-merge dispatch) measures these vs the 28-failure baseline; ui-smoke 2932 webkit-side is a distinct mock-data class deliberately deferred pending that run.", - "checks": "Targeted vitest 25/25 (eval-retrieval + search-command-surface); npm run test 3012 passed / 1 known container pdf-budget artifact; verify:cheap green to same artifact; build + client-bundle scan PASS; prettier/eslint/typecheck clean; chromium ui-pwa under new SW config: offline/CacheStorage privacy journey PASS, installability = known container in-incognito artifact; UI verification not run locally beyond that: chromium ui suites carry documented container artifacts — hosted ui-critical/ui-advisory + next matrix authoritative" + "date": "2026-08-15", + "ref": "claude/services-search-redesign-163", + "head": "c6247862cb109e795f73b8aeeeb971436016c6c4", + "scope": "PR #1982 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: Phase C saturation-tail primaries)", - "head": "7572c7f", - "scope": "ADDENDUM 4 Phase C (user-authorized): per-candidate discriminative primaries for saturated fast-path ties — design-agent planned (consumer map + dead-band envelope proof), red-proven, tie-conservation guarded", - "outcome": "Mechanism: min(text_rank,1) collapses all tr≥1 candidates to byte-identical imputed primaries; ordering fell to chunk id at release. Fix: saturationTailUnit (pure, monotone, SET-INDEPENDENT — rejected per-query min-max + rank-tier designs for set-dependence/#118 authority risk; rejected full-range log rescale for moving sub-knee values across the 0.62-0.82 gate ladder) scales the excess into DEAD cap bands only: S2 table-fact similarity (0.92, 0.94) with hybrid byte-identical (gates/triggers/selection provably unchanged; similarity = the release tie-break key), S1 lexical-chunk hybrid (0.48, 0.5) behind the truthful-contract signature (sub-0.5 bars hold). Sub-knee byte-identical (fixtures now DERIVE from the helper; 0.45→0.755/0.795 pinned). Discriminating test verified RED on old formulas (2 fail: discriminating + envelope) → green with tail; equal-tr tie-conservation pins the #987 coverage comparator; second-stage-engaged pools documented out of scope (position-derived releaseRankScore sorts first there) — matches live evidence that non-engaged pools (patient-safety, opioid, flowchart) are where id-order decided. S3/S4 = C-PR-2 candidates, evidence-gated on the post-merge canary vs #54 baseline (doc/content recall MUST stay 1.0, zero per-case regressions; success signal = rr lift on the headroom cases). Rollback: single revert (helpers + 2 expression sites + 1 map call; no schema/config/cache surface).", - "checks": "Targeted vitest 121/121 (fast-path 11/11 incl. 6 new, retrieval-selection, rag-routing, rag-answer-fallback, ranking-tuning, second-stage); npm run test 3025 passed / 1 known container pdf-budget artifact; lint + typecheck + prettier clean; red-proof executed and recorded; live validation = post-merge canary dispatch (~$1-2)" + "date": "2026-08-12", + "ref": "codex/codex-cloud-github-action-bridge", + "head": "c633b92ed5cecac6495a2292ff7b84b11348120d", + "scope": "credential-isolated Codex Run PR operator security and reliability review", + "outcome": "3 findings fixed: trusted base-merge accounting, fail-closed dispatch and mutation preflight, generated-comment and rerun verification hardening", + "checks": "npm run test:ci-workflows (274 passed, 11 skipped); npm run check:github-actions; YAML parse plus 8 bash and 2 github-script syntax checks; clean merge of origin/main" }, { - "date": "2026-07-20", - "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: WebKit matrix diagnosis)", - "head": "caa298972846ef52d472bfbff98c90fc26481ed8", - "scope": "First completed release-browser-matrix in weeks (run 4012, main b9057f0, 38 min uncancelled under #979) — full triage of 28 failures + fix for the dominant cluster", - "outcome": "Run 4012: 716 passed / 28 failed (25 webkit, 3 firefox) / 4 skipped. Dominant cluster (root-caused, FIXED here): all 8 ui-universal-search webkit failures share one signature — typeahead content never enters the DOM — because commandDropdownCanDisplay (added 42a3e3c 2026-07-17, AFTER the last completed matrix; never ran on WebKit until 4012) requires fine-pointer OR zero-touch; headless browsers fail the (hover:hover)+(pointer:fine) query (proven by the zero-touch escape existing for CI at all), Chromium/Firefox pass via maxTouchPoints===0, and Playwright's Linux WebKit build advertises phantom touch points — flunking both branches and disabling useUniversalSearch entirely. Fix: beforeEach addInitScript in ui-universal-search/ui-smoke/ui-tools specs stubbing Navigator.prototype.maxTouchPoints to the runner's true 0 (inert on Chromium/Firefox; product gate + tests/search-command-surface.test.ts pins untouched). Local chromium runs of ui-universal-search fail 16/20 IDENTICALLY on unmodified main (container artifact — hosted CI chromium green in 4012 is authoritative; verified by stash/run/pop baseline). Expected delta next matrix: ≥8 webkit failures clear; candidates ui-tools:1244 + several ui-smoke answer-flow cases (same surface). NOT yet root-caused (triaged remainder, hosted-matrix-only reproduction): webkit ui-stress overflow 330/409 (360px overflow at mobile), webkit ui-accessibility 195/252 (focus dismissal; forced-colors labels), webkit ui-formulation 132, webkit ui-smoke copy-table/retry/recovery/recent-searches/source-only/differential-context/viewer-hydration/document-questions, webkit ui-tools 2087 (goto interrupted by ?q= navigation), webkit ui-universal-search 183 strict-mode duplicate options (fallback-surface rendering; likely clears with the gate fix), firefox ui-smoke 946/2206/2932 (@critical document search fails on BOTH firefox and webkit — cross-browser, highest-priority remainder).", - "checks": "prettier PASS; eslint PASS; typecheck PASS; chromium stash-baseline no-delta (16 fail pre AND post — container artifact); webkit validation lands via tonight's 18:00 UTC scheduled matrix" + "date": "2026-08-14", + "ref": "PR-1962", + "head": "c646bcff8d8f5e6fe6bbdd410c5d87471d77ad36", + "scope": "PR #1962 registry-ready Gate 2 audit fix", + "outcome": "Fixed the Gate 2 audit to wait for the Forms tasks region so carrier enumeration cannot stabilise on the loading shell; merged latest main cleanly.", + "checks": "All matched files use Prettier code style; source contract confirms FormsHomePage labels the ready-only region Forms tasks; docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 100 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." }, { - "date": "2026-07-20", - "ref": "claude/phone-scroll-fix (PR #993)", - "head": "f0f4c42e7", - "scope": "Phone scroll \"locks to bottom\" regression from #964 + all-pages phone scroll audit + guardrails", - "outcome": "Root cause: #964's phone mode-home dock made one hide-on-scroll event release ~180-260px of scroll geometry (header grid collapse + reserve-pad shrink) — more than a short mode home's remaining runway, so scrollTop clamps onto the new bottom and a 12px up-drag snaps it back (oscillation; measured 266→84px runway, 2 flips/gesture on /formulation @390×844). Invisible to all gates because the suite-wide reducedMotion:\"reduce\" disables the causal transitions. Fix: collapse-budget gate in computeScrollHideUpdate (hosts report the would-be geometry release via readChromeCollapseBudget; hide refused without runway to absorb it; budget-less consumers unchanged; bottom-clamp guard untouched). Bonus latent bug fixed: DocumentViewer's one-shot #main-content discovery could hold a detached node after shell remounts (viewer hide-on-scroll dead); observer now persists. ui-smoke bottom-hide scenario updated to the gate contract. New 18-test sweep tests/ui-phone-scroll.spec.ts (10 mode homes + 3 dashboard modes + 4 long routes, motion enabled, simulated PWA insets) verified to fail red pre-fix. Residual: real-device iOS momentum clamping is device-only — user PWA confirmation requested post-deploy.", - "checks": "vitest focused 24/24 + mobile-composer-reserve; verify:cheap 3020 green; ui-phone-scroll chromium 18/18 + webkit advisory 18/18; ui-formulation+ui-tools+ui-smoke 180/180; verify:ui 264/264; verify:pr-local green (format/build/bundle-scan/RAG fixtures). No provider calls." + "date": "2026-08-12", + "ref": "1848", + "head": "c65b9d91b760862c2ff9d5001974670219c5da02", + "scope": "full PR diff and unresolved review feedback", + "outcome": "P2 hint contrast and live-count width fixes applied", + "checks": "focused Vitest passed (81); focused ESLint passed; design-system contract passed" }, { - "date": "2026-07-20", - "ref": "Credentialed release-gate checkpoint closeout (workflow_dispatch on main `7ec25d9`; user-authorized ≤$10, single dispatch each)", - "head": "7ec25d9675dea13635fa4a895af88c93da694a42", - "scope": "Credentialed half of the release gate: CI dispatch + live eval canary", - "outcome": "CI dispatch: 9/10 jobs green (unit coverage, build, Chromium production journeys, migration replay on local Supabase emulator, production-readiness CI-safe, policy self-tests, static/safety/scope). `release-browser-matrix` (WebKit/Firefox) CANCELLED twice by main-churn: ci.yml `concurrency: CI-${ref}, cancel-in-progress: true` kills in-flight dispatch runs on every main push and this repo merges every few minutes — livelock confirmed at the 2-attempt cap; WebKit/iOS verification remains outstanding with three human options (quiet-window dispatch, the weekly scheduled run, or a one-line dedicated concurrency group for the matrix job — operational-risk change, not applied). Eval canary: golden retrieval eval FAILED 4/36 (document_recall@5 0.944, ndcg@10 0.923, force_embedding_failure_count 0, no 429s — vector layer healthy, NOT the documented vector-ptsd transient class); the July 17 dispatch PASSED this step pre-#901, so the regression window implicates #901's deterministic semantic reranking (lithium-therapy-monitoring shows three unrelated documents with byte-identical rerank scores burying the lithium guideline; two other failures add fixture-vs-corpus identity components; answer-quality subset — the July 17 failure — never ran). NO canary re-run per plan (deterministic, not transient); retrieval is clinical-path and deferred to a human decision. Provider spend ≈ $1–2 (one canary run's embeddings); matrix/CI runs $0.", - "checks": "actions_run_trigger dispatches + rerun_failed_jobs (attempt 2); job-level conclusions and log excerpts from runs 29675875530 (both attempts), 29675878737 (July 19 canary), and 29567502452 (July 17 baseline). No local provider calls; secrets never left GitHub Actions." + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "c665fce7b84d9ecda3e92b1db7bfc3c1877d0222", + "scope": "Main conflict resolve + Bugbot", + "outcome": "Real merge conflicts in `answer-verification.ts` / `rag-claim-support.ts` after #1289/#1286 landed. Resolved by retaining main band-conflict + sectionIndex claim assessment and re-applying unassessed numeric fail-closed. Bugbot: 0 reviewThreads. No comments to resolve.", + "checks": "Local: vitest claim-support+answer-verification 223/223; merge-tree clean post-resolve." }, { - "date": "2026-07-20", - "ref": "cursor/documents-search-header-3eab / PR #936", - "head": "bdc333a9fa7e420e2beb2f146c6f271196869cb5 (squash on main)", - "scope": "post-merge closeout + branch-cleanup", - "outcome": "Squash-merged to main. Product proof on main: `DocumentResultsControls`, identity-first documents results chrome, governance notice under controls, Also-in-library strip removed from documents results path. Remote feature ref already deleted by protected-main workflow; local tip `fd559a07` retained only merge/review commits with no unique product patch vs main.", - "checks": "Hosted pre-merge and post-merge required checks green (Static/Unit/Build/Production UI/PR required). Squash content proof via main tree symbols; remote `ls-remote` empty after prune; local branch deleted after this ledger row. No OpenAI/Supabase provider calls." + "date": "2026-08-08", + "ref": "claude/differentials-inpage-navigation-h2u8fq (PR #1715)", + "head": "c67c4927d8a088be267b8bd280a06f300aad60bc", + "scope": "differentials detail: adopt PR #1688 default in-page navigation template", + "outcome": "Header rebuilt to the four template slots (back / title + active-section chevron sheet / ellipsis actions / weighted segment track); new detail-section-index.ts shapes the five tabs as DocumentSections reusing DocumentSectionTrack + DocumentSectionList; labelled strip gated to sm+; max-sm:static -> relative so the absolutely-positioned track keeps a positioned ancestor; tab panel renamed via aria-label since the sm-hidden strip cannot label it; sheets kept as siblings of PhoneHeaderCollapsePortal; no scroll spy (discrete panels). Adoption manifest regenerated - the dropped Tabs/ui-tools association was a coincidental capital-T comment match, not lost coverage.", + "checks": "typecheck exit 0; lint clean --max-warnings 0; verify:pr-local 5557 passed, stops only at pre-existing pr-handoff-stop (confirmed by stashed re-run on clean base); verify:phone-chrome lock-parity+runtime PASS, contracts 119 passed, changed-browser ui-tools passed, focused-browser 7 passed; new differential-section-nav.dom 9 passed; 40 passed re-run post-format; live browser 0 h-overflow at 320/390/768, collapse matches DocumentViewer (data-scroll-hidden=true, stack bottom 0)" }, { - "date": "2026-07-20", - "ref": "cursor/fix-ui-overlap-duplicate-header-3eab / PR #944", - "head": "08181b8b45cf23d53ff7fb8682fb5f83f4417fb0 (squash on main)", - "scope": "post-merge closeout + branch-cleanup", - "outcome": "Squash-merged to main. Product proof: `gotoHome` pins `/?mode=answer` and waits for exactly one `header#search` before overlap measurement, closing the landing-preference dual-banner flake that failed Production UI then PR required on #936. Remote feature ref already deleted; local tip `418de1b9` is merge-only after squash.", - "checks": "Local before merge: verify:pr-local (2961 unit) + Chromium ui-overlap 12/12. Hosted exact-head and post-merge: Production UI, PR required, Static, Unit green (Build skipped for test-only). No OpenAI/Supabase provider calls." + "date": "2026-07-13", + "ref": "codex/dirty-work-pr-split", + "head": "c688eaf1a041b466aad1259e688dbfbe4329f700", + "scope": "branch-cleanup", + "outcome": "Retained because the branch is checked out in an active or protected worktree.", + "checks": "Fresh worktree, status, lock, and process activity scan." }, { - "date": "2026-07-20", - "ref": "origin/main PWA-surface review, window `ef042ca..e128384` (44+ commits; explicit user request) + phone install-sheet redesign (this branch, content commit d8d8c4a)", - "head": "e1283846647b20cd49ca6ae6920a7c76f2b945d7", - "scope": "PWA-version review of new progress + install-notification design elevation", - "outcome": "Sweep verdict (agent-verified): only #905/#897 (this program's own work) touched PWA surfaces in the window — sw.js CACHE_VERSION `2026-07-18-v1` and its offline.html binding, manifest (7 icons incl. monochrome; screenshots deliberately absent), icons route, kill-switch, and next.config headers all unchanged, so the privacy contract holds by construction. Geometric risk from five composer/dock-space reworks (#933 mobile-composer-reserve, #932, #930, #922, #899) probed live at 390×844: the non-install notice stack keeps correct clearance at rest (offline card bottom 744/844 with the 5.5rem gutter) and the stack's offset is now a custom property (`--pwa-notice-bottom-gap`) for one-line re-anchoring if composer geometry moves again. Redesign: install prompt + iOS hint present as a native bottom sheet on phones (full-bleed, flush bottom, grip bar matching #935's sheet language, real app icon identity via /icons/icon-192, Free/no-store meta row, two accent step chips for Share→Add to Home Screen as aria-hidden reinforcement of the unchanged accessible sentence); ≥640px keeps the #905 card/toast placements; region names, button names, and test-locked sentences unchanged.", - "checks": "Focused vitest 56/56 across the four PWA suites; `verify:cheap` 2971/2975 (sole fail = known container-only pdf-extraction-budget artifact); `test:e2e:pwa` privacy/offline green (installability fail = known container `in-incognito` artifact); `verify:ui` 243 passed/2 failed (the two long-baselined container artifacts); production build + client-bundle secret scan + bundle budget within tolerance (1303.4 vs 1278.6 KiB baseline; sheet adds ~0 JS); visual evidence at 390 light/dark/iOS-hint + 768 + 1440 with bounding-box math (full-bleed flush-bottom on phone; card/toast intact above). No provider-backed checks run." + "date": "2026-08-07", + "ref": "claude/ds-a4-component-defects (PR #1712)", + "head": "c6b2fbfd5ac45fe7f13fd786c40afa200a702051", + "scope": "design-system Track A4 - COMPONENTS section 0.4 open-defect rows (#263)", + "outcome": "Authored and self-verified, not an independent review. Eleven defects closed across ten registered components (Button ref+testId, Progress shimmer token, StageList step clamp and scoped live region, StatusMark app-type decoupling, PageHeader title floor, Disclosure print, AccessibleTable dense-header title and Button expander, Tabs invalid-value tab order, Pagination clamp/wrap/focus/announce, Links download and gap, Checkbox/RadioGroup raw dimensions). Three listed sub-defects re-measured as already fixed and were not work. Button left the reference-only adoption snapshot because AccessibleTable genuinely adopts it. Ratchets fell and none rose: edge conflicts 28 to 27, legacy shadow aliases 229 to 228; debt baseline deliberately not lowered. Merged origin/main (10 commits) and hand-resolved the docs/outstanding-issues.md conflict: id #273 had been taken on main, so the LinkAction finding was renumbered to #276; proved no id lost from either side and no duplicates. Auto-merge deliberately NOT armed - four surfaces change visibly and issue #118 means zero visual baselines, so CI compares no pixels; owner visual review requested before merge.", + "checks": "check:design-system-contract exit 0 (all three sub-checks); tsc --noEmit exit 0; lint exit 0 at --max-warnings 0; prettier --check . clean; verify:ui 407 passed (14.1m) exit 0 zero not-ok; 260 unit tests across 8 component/token suites plus 191 across 7 further suites; all re-run green after the main merge (135 passed). verify:pr-local aggregate NOT run - vitest fork workers would not start under box load; components run individually." }, { - "date": "2026-07-20", - "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", - "head": "792142c88191e201311238984b1530f784430f0e", - "scope": "exact-head merge-ready CI", - "outcome": "No remaining high-confidence product defect. Hosted required checks green on tip after Prettier format fix. Residual: branch protection still needs a human approving review (`mergeStateStatus=BLOCKED`, empty `reviewDecision`).", - "checks": "Hosted exact-head: PR policy, Sync PR policy body, Static, Safety, Unit, Build, Production UI, Advisory UI, PR required all SUCCESS. Local Mode Playwright 5/5 + route-coverage hydration 3/3. No OpenAI/live Supabase writes." + "date": "2026-07-30", + "ref": "claude/frosty-mayer-2c6167", + "head": "c6cebb50c1edea2dc2b465ea02a6b43c73ea6d8d", + "scope": "design-sync [TOKENS_MISSING] repair: 3 undefined CSS custom-property refs (answer-status.tsx, favourites mockups), .design-sync/NOTES.md false-positive docs, issues #094 update + #141", + "outcome": "Fixed: --clinical-accent-strong -> --clinical-accent; --primary-hover -> --primary-strong; --success-hover -> hover:brightness-110. --med-accent* confirmed false positive (runtime-injected by medicationAccentStyle). PR #1451", + "checks": "verify:pr-local exit 0 (4570 passed/3 skipped, build 1694/1694, offline RAG 36 golden/21 suites); verify:cheap exit 0 (434 files, 4564 passed); verify:ui 339 passed + 3 pre-existing hydration-race flakes all green on isolated re-run; prettier --check . exit 0; Playwright computed-style probe proved fix in light+dark" }, { - "date": "2026-07-20", - "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", - "head": "ddbc549a6af469b61c112373d6a5099cb04810d0 + ledger", - "scope": "hydration fix + merge-readiness", - "outcome": "Fixed P1 UI regression: phone `matchMedia` in `useState` caused React #418 hydration pageerrors on DSM/specifier/differential phone journeys in Production UI. Gate now SSR-safe (`useState(false)`), syncs after mount, and refreshes from live matchMedia on Mode open. Merged `#940` header inset.", - "checks": "Local: route-coverage 3/3 previously failing; Mode smoke 3/3; audit-navigation + focused header/sheet Vitest green. Hosted: awaiting exact-head Production UI/PR required. No OpenAI/live Supabase writes." + "date": "2026-08-07", + "ref": "cursor/inpage-nav-default-235a", + "head": "c6d72e406c03e205bac86d23e84813c41332c205", + "scope": "docs: default in-page nav DocumentViewer chrome + PhoneHeaderCollapsePortal", + "outcome": "docs-only; verify:pr-local passed (low-risk docs scope)", + "checks": "verify:pr-local --files AGENTS.md,docs/search-chrome-behaviour.md" }, { - "date": "2026-07-20", - "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", - "head": "e05cd0b8ac1ef4dbc9b30307e3715fc437b1540e + ledger", - "scope": "CodeRabbit findings + merge push", - "outcome": "Closed unresolved review threads: removed PR-head `GOVERNANCE_ALL_CHECKED` self-attest (aligned sync with main + workflow guard), restored strict checklist regex, fixed unset `PYTHON_BIN` test path. Hydration Mode-sheet thread already resolved. Local: full unit 2971 passed; Mode Playwright 5/5; route-coverage 3/3; pr-policy self-test + workflow guard green.", - "checks": "Awaiting exact-head hosted CI; then human approving review remains the only merge gate. No OpenAI/live Supabase writes." + "date": "2026-08-17", + "ref": "2009", + "head": "c6d83f2703371821742537fd8da83a0d0344990d", + "scope": "direct merge-conflict re-resolution pushed onto PR #2009's own branch (codex/account-setup-polish-20260814), after main advanced again and the earlier squash-merged PR #2018 fix drifted (squash-merge discards the ancestor link to main, so it re-conflicted)", + "outcome": "pushed a real merge commit (not squashed) directly onto the PR branch so main is now a true git ancestor; mergeable_state moved dirty -> behind (trivial lag, not a conflict); PR mergeability and PR policy checks now green; full CI running for the first time on this PR", + "checks": "check-outstanding-issues self-test, ledger-inbox self-test, check:outstanding-issues, check-ledger-write-discipline, focused vitest (outstanding-issues-writer, repo-hygiene, ledger-inbox-cancellation), prettier --check, typecheck, eslint" }, { - "date": "2026-07-20", - "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", - "head": "f6522603eedabb88c311a6f7df172505673d087e", - "scope": "main sync + merge-readiness revalidation", - "outcome": "Re-merged moving `origin/main` (kept `PR_POLICY_BODY.md` for CI body sync; adopted main `python-bin` helper; retained PDF process-tree kill hardening). Mode phone Sheet path still present. PR Policy had a race with Sync PR policy body on prior tip; body now contains checked governance items matching main policy. No new P0/P1 in product scope. Merge-ready once exact-head required checks are green.", - "checks": "Local after merge: focused Vitest for extractor/sheet 1127 passed; Mode sheet symbols intact in `master-search-header.tsx`. Hosted: awaiting Static/Unit/Build/Production UI/PR policy on this HEAD. No OpenAI/live Supabase writes." + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "c6d8c2829ddd2fc52441a3696aed56fbd0262917", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior PWA lifecycle review and style-inventory repair remain applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-19", - "ref": "`origin/main` through PR #903 plus fixed 48-hour PR snapshot (`#689`–`#902`)", - "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6", - "scope": "whole-repository, all-lens regression and PR-activity review", - "outcome": "Changes requested. No P0. Confirmed five P1 defects: stale publication approvals are not bound to reviewed document state; invalid supplied credentials can become anonymous uploads; pooled duplicate uploads expose another uploader's metadata; readiness is fail-open for database usability errors; and settings promise clinical tailoring/alerts with no consumers. Eighteen P2 findings cover semantic rerank effectiveness/privacy, summary prompt trust, PDF resource limits, cancellation, auth-state loss, public storage-path exposure, query validation, provider-boundary/CI/test gaps, factsheet/Therapy behavior, Therapy startup cost, and the PR #903 ledger's incorrect claim that PR #901 has zero unresolved threads. GitHub GraphQL still reports two current unresolved P2 threads on merged PR #901.", - "checks": "Exact tree `68a58f6f..4034d2e60`: 217 commits, 566 files, +59,742/-8,242. Fixed snapshot inventory: 213 PRs created and 25 older PRs updated. On `a871dd765`, `verify:cheap` passed (317 files/2,879 tests), offline RAG passed (21 suites/294 tests), and production build plus required Chromium passed (1,682 pages; 239/239). PR #899 exact head `8242fa63d` has the same full local proof and green hosted checks; PR #903 is docs-only and passed `git diff --check`, docs links, and docs script references. Production-readiness CI, design-system, env parity, workflow guard, and offline audit passed. `docs:check-index` remains advisory-red and full-range `git diff --check` reports four intentional Markdown hard breaks plus three SQL whitespace lines. No OpenAI, Supabase, deployment, live clinical, or provider-backed release command ran." + "date": "2026-08-09", + "ref": "claude/m3-token-debt-262-261", + "head": "c6e1fe7fc42ec6f286eb5a3d8f7ddad7dfad2724", + "scope": "design-system contract: raw padding/radius/line-height ratchets + type-step selection gate (#262 parts 2/3); closed #218/#270", + "outcome": "Authored and self-verified; PR #1780 open, auto-merge deliberately not armed (gate change). Baseline additive: all 15 pre-existing metrics and every debtByPath entry byte-identical; 94/94 new findings verified present at their cited line. Mutation-tested both halves of part 3 and three failure modes of part 2.", + "checks": "check:design-system-contract, check:icon-scale, check:type-scale, check:outstanding-issues, vitest design-system-contract-utils (31 passed), format:check whole-tree, verify:cheap (exit 1 from 5 pre-existing failures, none in this diff; 3 cleared by merging main, remaining 2 byte-identical to origin/main)" }, { - "date": "2026-07-19", - "ref": "all remote feature branches and registered worktrees against `origin/main` through PR #899", - "head": "8242fa63d5f5b79fc770c9ae4f633e3a784b80e1", - "scope": "branch/worktree cleanup, useful-work recovery, and protected-main merge closure", - "outcome": "Deleted 122 stale or closed remote feature refs with exact SHA leases; four additional merged PR branches were removed by the protected-main PR workflow. Removed 32 obsolete, superseded, or merge-proven worktree registrations. Recovered useful dirty RAG work into PR #901 (deterministic and opt-in semantic reranking) and PR #902 (retrieval phase latency telemetry), preserved follow-up decisions in `docs/process-hardening.md`, and recovered four missing historical review rows. PRs #897, #899, #901, and #902 are merged with green exact-head checks and zero unresolved review threads. A detached full-repo-review worktree is deliberately retained because its ownership/activity could not be safely disproved; one unregistered `node_modules` junction residue is also retained because deletion was denied by local safety policy.", - "checks": "Fresh fetch/prune; full GitHub PR/check/thread inventory; `git worktree list --porcelain`; cherry-pick-aware right-only logs; exact leased remote deletes; exact-old-value local ref deletes; clean-worktree, path, and merged-PR proof before every removal. PR #899 local proof: focused Vitest 31/31, changed-file ESLint, `verify:cheap` 317 files / 2,879 tests, and `verify:ui` 239/239; exact-head hosted checks all passed. PR #901 local proof: `verify:cheap` 316 files / 2,870 tests; PR #902 focused Vitest 8/8 plus ESLint and typecheck. No OpenAI, Supabase, live clinical, deployment, or production-data workflow ran; provider-backed semantic canary evaluation remains approval-gated." + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "c718360809aa7bd0d3b681329e34bbb2be633bcb", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: Static PR checks failing (check:repo-awareness-snapshot drifted review_state), Production UI (1) failing (tests/ui-route-coverage.spec.ts DSM compare removal test expected the pre-hybrid-layout Choose-at-least-two-diagnoses heading, which this PR's own new hybrid-phone suppressEmptyState/showOneMoreHint logic intentionally replaces with an Add-one-more-to-compare hint at phone width), PR required aggregate failing as a result. No unresolved review threads existed (0 review threads; all 7 PR comments were bot usage-limit/CI-triage noise). Branch was not behind main (base 3265231 == origin/main tip). After: regenerated data/repo-awareness-snapshot.json via npm run snapshot:repo-awareness and updated the Playwright assertion to expect compare-slot-strip-one-more-hint instead of the old heading, matching the new intended UX already covered by tests/compare-slot-strip.dom.test.tsx. No drift merge needed (branch was current with main). No review threads to address.", + "checks": "npm run check:repo-awareness-snapshot (pass after regen), npm run test -- tests/compare-slot-strip.dom.test.tsx tests/compare-ids-chrome.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts (5 files, 52 passed), npm run typecheck (pass), npx eslint tests/ui-route-coverage.spec.ts --max-warnings 0 (pass, 0 findings), npx prettier --check tests/ui-route-coverage.spec.ts data/repo-awareness-snapshot.json (pass). No provider-backed checks run (no verify:ui/verify:release/eval:* executed)." }, { - "date": "2026-07-19", - "ref": "all remote feature branches and registered worktrees against `origin/main` through PR #899", - "head": "8242fa63d5f5b79fc770c9ae4f633e3a784b80e1", - "scope": "branch/worktree cleanup, useful-work recovery, and protected-main merge closure", - "outcome": "Deleted 122 stale or closed remote feature refs with exact SHA leases; four additional merged PR branches were removed by the protected-main PR workflow. Removed 32 obsolete, superseded, or merge-proven worktree registrations. Recovered useful dirty RAG work into PR #901 (deterministic and opt-in semantic reranking) and PR #902 (retrieval phase latency telemetry), preserved follow-up decisions in `docs/process-hardening.md`, and recovered four missing historical review rows. PRs #897, #899, #901, and #902 were merged with green exact-head checks. Correction: the original zero-unresolved-thread statement was inaccurate for PR #901; a subsequent full-repository audit recorded two unresolved semantic-rerank threads, whose code findings are remediated by the 2026-07-19 P2 audit-fix entry below. A detached full-repo-review worktree is deliberately retained because its ownership/activity could not be safely disproved; one unregistered `node_modules` junction residue is also retained because deletion was denied by local safety policy.", - "checks": "Fresh fetch/prune; full GitHub PR/check/thread inventory; `git worktree list --porcelain`; cherry-pick-aware right-only logs; exact leased remote deletes; exact-old-value local ref deletes; clean-worktree, path, and merged-PR proof before every removal. PR #899 local proof: focused Vitest 31/31, changed-file ESLint, `verify:cheap` 317 files / 2,879 tests, and `verify:ui` 239/239; exact-head hosted checks all passed. PR #901 local proof: `verify:cheap` 316 files / 2,870 tests; PR #902 focused Vitest 8/8 plus ESLint and typecheck. No OpenAI, Supabase, live clinical, deployment, or production-data workflow ran; provider-backed semantic canary evaluation remains approval-gated." + "date": "2026-07-30", + "ref": "PR #1457", + "head": "c737a83bacf9d1c6caf1fdd7be922ae16a89deb3", + "scope": "adaptive refine bar mockup", + "outcome": "APPROVE after fix: mockup controls remain wired and failure transitions now expose an assertive alert instead of disabling the live region.", + "checks": "focused accessibility test; sitemap check; ledger guard; diff review; one review finding fixed" }, { - "date": "2026-07-19", - "ref": "claude/audit-recent-changes-kde66i (audit-remediation follow-up to the ef042cacd audit row)", - "head": "see PR head", - "scope": "remediation of the three 2026-07-19 audit findings", - "outcome": "Fixed all three findings from the 24-hour merged-window audit. (1) Inert settings honesty (P2): every preference the app does not yet consume — jurisdiction, population, answer style, landing, both home-content toggles, compact citations, and all three notification toggles — now renders an explicit \"Saved for later — not active yet\" marker in `settings-dialog.tsx`; the functional appearance/density/motion rows stay unmarked. Wiring the preferences into answer generation was deliberately NOT done here (clinical-behavior change requiring governance review); the new dom test documents the contract for flipping a control live. (2) Auth offline resolution (P2/P3): `resolveInitialAuthState` gains `verificationUnavailable`, set from `isAuthRetryableFetchError(getUser().error)`, so an unreachable auth server keeps the stored session signed in while a reachable server that rejects the token still resolves signed_out; server-side bearer validation is unchanged. (3) `/medications` redirect (P3): now preserves the sanitized q/focus/run search context with the same allowlist as the root legacy-mode redirect.", - "checks": "Focused Vitest 30/30 across `settings-inert-preferences.dom` (new), `private-client-auth` (3 new cases), `audit-navigation-auth-regressions` (query-preservation case), `app-preferences`, and `site-map`. Full `verify:cheap` run recorded on the PR. No OpenAI, Supabase, deployment, or provider-backed check ran." + "date": "2026-08-08", + "ref": "cursor/fix-differentials-compare-5c66 (PR #1756)", + "head": "c739708981083b816843ceec5e50ea00818996b5", + "scope": "heavy review-and-fix", + "outcome": "merged origin/main (docs/adoption/sitemap regenerated); fixed P1 cold-load URL wipe + P2 unsupported criterion + lowercase ids; CodeRabbit empty-state/auto-seed left as intentional ModeNav handoff; threads unreplied (403)", + "checks": "vitest differentials+navigation+compare-selection DOM 37 pass; related nav tests 44 pass; eslint touched files; no provider-backed checks" }, { - "date": "2026-07-19", - "ref": "claude/audit-recent-changes-kde66i (preference wiring + session-start hook follow-up to the #906 remediation)", - "head": "see PR head", - "scope": "wiring the wireable inert preferences live and fixing the stale-node_modules session-start gap", - "outcome": "Wired three of the seven remaining inert preferences into real behavior and removed their \"Saved for later\" markers: (1) Default landing view — `GlobalSearchShellClient` applies a one-shot `router.replace` to the saved landing mode (`search`→documents, `browse`→tools via `landingModeForPreference`) on a bare \"/\" load only; explicit mode/query/run params always win, and the dashboard's existing URL-sync effect performs the switch. (2) Recent searches on home — `AnswerEmptyState` now gates its recent-query chips on `showRecentOnHome`. (3) Compact citations — the answer source capsule drops its text label to icon+count when `compactCitations` is on, with the \"No direct source found\" warning explicitly exempted so compact mode can never hide a missing-source signal. Still marked inactive with reasons documented in the test contract: jurisdiction/population/answer-style (wiring them into answer generation is provider-eval-gated per the confirmation boundary), saved-protocols-on-home (no protocols module exists), and the three notification toggles (no delivery infrastructure). Separately, `.claude/hooks/session-start.sh` now stamps the `package-lock.json` sha256 into `node_modules/.session-start-lock-hash` after `npm ci` and reinstalls when the lockfile no longer matches, closing the stale-container gap that faked a typecheck regression during the 24h audit.", - "checks": "New `tests/answer-preferences.dom.test.tsx` (recents gate on/off, compact capsule display incl. the missing-source exemption, landing mapping) and the updated `settings-inert-preferences.dom` contract (3 rows moved inert→functional) pass with `app-preferences` and `private-client-auth`: 26/26 focused. Full typecheck, scoped zero-warning ESLint, and the full Vitest suite recorded on the PR; `bash -n` on the hook. `check:production-readiness` not run: no secrets in this container (documented demo-mode expectation) and no answer-generation, retrieval, or source-governance logic changed — the capsule change is presentational with the missing-source warning locked by test. No OpenAI, Supabase, deployment, or provider-backed check ran." + "date": "2026-08-13", + "ref": "claude/disabled-button-accessibility-piclvr", + "head": "c73bba958e26e706c4957c886c9974ffcf330943", + "scope": "outstanding-issues inbox request capturing the four placeholder controls #291 left native (docs only)", + "outcome": "authored — PR #1928 opened", + "checks": "verify:pr-local 11/11 completed, none failed; check:outstanding-issues; check:ledger-write-discipline (re-run post-commit); prettier --check clean" }, { - "date": "2026-07-19", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #905; commits b2afe66 visuals + 6531178 policy + this ledger follow-up)", - "head": "6531178c1a3427dfd58c4bfcf8e29020c5731179", - "scope": "PWA install/update notice redesign (all breakpoints) + review-follow-up policy fix", - "outcome": "Redesigned the five PWA notices (install, update, iOS hint, offline, restored) as glass lux cards: per-type semantic icon tiles, heading-ink titles, corner dismiss buttons, reduced-motion-safe 280ms entrance. Deliberate placement per screen size: phones keep the bottom card above the fixed composer (thumb zone, safe areas); ≥640px floats a 25rem card bottom-right; ≥1280px moves the stack to a top-right toast under the header (same 4.25rem+safe-area offset constant as the mode-menu popover) with the animation direction flipped. Copy, roles, and button names unchanged. Plus the outline-aware pr-policy section parser fix from the same-session review (see the review row above).", - "checks": "Focused vitest pwa-lifecycle.dom 9/9 + pwa-manifest 8/8; `check:pr-policy` self-test green incl. new sub-heading case; `verify:cheap` 2828/2831 (sole fail = known container-only pdf-extraction-budget artifact); `test:e2e:pwa` privacy/offline green (installability fail = known container `in-incognito` artifact); `verify:ui` 236 passed/2 failed (the two long-baselined container artifacts); production build + client-bundle secret scan + bundle budget within tolerance (1293.4 vs 1278.6 KiB baseline); visual evidence at 390/768/1440 light+dark+offline in session scratchpad. Dev caveat recorded: Turbopack persistent `.next` cache served stale globals.css across restarts twice; fixed by setting the cache aside. No provider-backed checks run." + "date": "2026-07-25", + "ref": "`cursor/typography-audit-fixes-1c1e` (supersedes #1185)", + "head": "c78271bae02ddf82792bb0625f479483240e76b8", + "scope": "Clean cherry-pick published", + "outcome": "APPROVE-ready. Published replacement for contaminated #1185; 5-file typography delta + format + ledger.", + "checks": "Local `verify:cheap` as above; pushed to origin." }, { - "date": "2026-07-19", - "ref": "codex/fix-p2-audit-20260719", - "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6 + reviewed working diff", - "scope": "full-repository remediation of audit findings P2-6 through P2-23 across RAG, cancellation, privacy/API validation, PDF extraction, auth durability, offline/CI verification, Factsheets, Therapy Compass, and review records", - "outcome": "Remediated all 18 recorded P2 findings with scoped code and regression tests. Semantic rerank signals and safety identifiers now survive answer ranking; source summaries reject embedded instructions; shared search/embedding/answer work respects per-caller cancellation; public search omits internal storage paths and document chunk validation fails closed; JS PDF extraction enforces dimensions and aggregate budgets before copying; transient auth validation outages retain local user data; offline release and CI PDF prerequisites are deterministic; Factsheet print/save state is honest and persistent; Therapy artifact actions are capability-aware and catalogue routes load a compact generated index; the prior PR #901 thread claim is corrected. No remaining high-confidence P2 was found in the reviewed working diff. Remote review-thread disposition was not attempted because GitHub API interaction requires separate confirmation.", - "checks": "`verify:cheap` passed 318 files / 2,891 tests / 1 skipped; final PR-local constituent run passed format, lint, typecheck, and 318 files / 2,892 tests / 1 skipped; production Next.js build generated 1,682 pages and the client-bundle secret scan passed; `verify:ui` passed 239/239 Chromium tests; offline RAG fixtures passed 36 cases / 21 suites and offline RAG eval passed 295 tests; focused changed-surface Vitest and DOM suites passed; CI-scope, Therapy index, offline-release dry-run, and `git diff --check` passed. The PR-local wrapper's first build attempt was correctly blocked by the identity-verified dev server; after stopping only that isolated server, the build and remaining RAG fixture step passed directly. No OpenAI, Supabase, GitHub, hosted-CI, deployment, or production-data workflow ran." + "date": "2026-07-13", + "ref": "claude/july8-migration-batch-live-7d76fb", + "head": "c78a4d7ff570179f28a33f03759e1d91f56d0f65", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #528; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-19", - "ref": "cursor/documents-search-header-3eab / PR #936", - "head": "a7feaa3033180b672cfafaaaf75dc75088ebf052", - "scope": "documents search header redesign final review + merge readiness", - "outcome": "No remaining high-confidence P0-P1. Implemented identity-first results chrome, unified Sort/type-filter/Library toolbar, removed documents Also-in-library strip, relocated ScopeAndGovernanceNotice under controls, fixed Prettier CI failure and memo-busting empty warnings default, synced accurate PR policy body then removed the stale leftover, and repeatedly merged origin/main so squash auto-merge is not blocked behind/dirty. Hosted required checks including Production UI passed on the integrated head.", - "checks": "Local: typecheck/lint/format; focused Playwright documents `@critical` + deferred source/admin + forms sort persistence; design-system/icon-scale/maintainability; build + RAG fixtures; verify:pr-local units with known pdf-extraction-budget env artifact also on clean main. Hosted: PR policy, Static, Unit, Build, Production UI, Advisory UI, PR required green. No OpenAI/live Supabase writes." + "date": "2026-07-13", + "ref": "origin/claude/july8-migration-batch-live-7d76fb", + "head": "c78a4d7ff570179f28a33f03759e1d91f56d0f65", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #528; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-19", - "ref": "cursor/hide-favourites-guest-mode-a26d (PR #934)", - "head": "04192653", - "scope": "Final Favourites total guest-blackout review + merge readiness", - "outcome": "No P0/P1. Fixed residual P2s: rankToolRecords now fails closed by default; mode/chip filters stop double-ORing demoMode; gated deep-link mode chrome falls back to Answer; MasterSearchHeader mode-menu DOM tests added. Guest discovery closed for mode menu, sidebar, cross-mode chips, Tools Saved, universal tools ranking, also-matches, prefetch. Intentional residual: direct /favourites signup gate; mockup routes. PR body appears overwritten by unrelated Sync PR policy content — agent posted corrective comment (403 on body edit).", - "checks": "Focused Vitest 37/37; verify:cheap green; verify:pr-local green (build + client-secret scan + RAG fixtures); browser guest Tools/sidebar/favourites proof earlier. No OpenAI/Supabase writes." + "date": "2026-07-25", + "ref": "execute-system-audit-remediation (PR #1197)", + "head": "c7ae011683614c8de6027347b49e8b3fb79dfa34", + "scope": "Merge-ready polish: grant reassert + CI green path", + "outcome": "READY. Hardened migration/schema to reassert service_role EXECUTE after CREATE OR REPLACE / ISSUE-05 revokes; drift regenerated. Prior regressions remain fixed (trust gate, summaryMode, no RAG pre-classifier). Delta vs main: migration + schema + drift + ledger only.", + "checks": "check:migration-role; drift:manifest; supabase-schema + function-grants Vitest 83/83; awaiting hosted PR required on tip." }, { - "date": "2026-07-19", - "ref": "cursor/hide-favourites-guest-mode-a26d (PR #934)", - "head": "23d05539320427ea3f994eaec3c2e95daa481492", - "scope": "Favourites guest mode-switcher/sidebar auth gate review", - "outcome": "No P0/P1. Primary request correctly wired: MasterSearchHeader fails closed; ClinicalDashboard and global-search-shell both pass session favouritesAccessible to mode menu + desktop/mobile showAccountLibrary; selectSearchMode/changeMode guarded; /favourites stays on-page with signup for guests. Residual P2: guest discovery still possible via composer cross-mode Favourites chips and Tools catalog Saved workflows (content remains gated on /favourites). P2 test gap: wiring tests are source-string, not MasterSearchHeader DOM. P3: header passes precomputed access as authenticated plus demoMode (redundant OR, intentional demo reopen).", - "checks": "Focused Vitest favourites-auth-gate + app-modes 26/26; prior verify:cheap green on branch; browser guest check: sidebar omits Your library/Favourites, /favourites shows signup gate; mode-menu automation inconclusive. No OpenAI/Supabase/hosted CI." + "date": "2026-07-13", + "ref": "codex/pr-511-integration", + "head": "c7c1dc3f2ad05bdb38420afddcf9b66bac569fd0", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-511-integration; git diff --name-only reported 12 path(s)." }, { - "date": "2026-07-19", - "ref": "cursor/mobile-header-new-chat-inset-66c0 (PR #940)", - "head": "84eb0b6c3782e27fbbd1ec79b87b10327802ec1e", - "scope": "final mobile header new-chat edge inset review + merge readiness", - "outcome": "No high-confidence P0-P1. Root cause: unlayered `@media (max-width:639px)` zeroed `.edge-glass-header` padding and beat `@layer components`. Fixed with tokenized `--header-edge-pad: 1rem` shared by layered base + unlayered phone guard; Playwright symmetry checks at 360/390; source contract blocks a `max(0px, safe-area)` regression. Merged latest `origin/main` (including #933/#942/#943) while keeping the header-edge-pad token. Residual: headless Chromium cannot exercise asymmetric safe-area `max()`; DocumentViewer gains the same pad but is outside the symmetry test.", - "checks": "Local geometry probe 360/390/640 = 16px/16px symmetric; CSS contract Vitest 5/5; `ui-overlap` Chromium 14/14; prior `verify:ui` 242/242 on the functional head; `verify:cheap` unit suite hit only the known container-only `pdf-extraction-budget` python ENOENT artifact (also fails on clean main / hosted-CI-green elsewhere). PR marked ready; squash auto-merge enabled. No OpenAI/live Supabase/provider calls." + "date": "2026-08-25", + "ref": "codex/ward-flow-phone-test", + "head": "c80c5178c282a1c900d9cc94f8078961467e9b05", + "scope": "Ward Flow phone drawer advisory test follow-up", + "outcome": "updated the stale phone navigation assertion after PR #2373 auto-merged", + "checks": "focused Chromium mockup test passed; full format passed" }, { - "date": "2026-07-19", - "ref": "cursor/pr-policy-body-cleanup-f46b (PR #942) + PR #933 closeout", - "head": "7c8e6aadf0890b143372fb96f13d9de47a416db9", - "scope": "post-merge CI triage for #933 PR-policy red check", - "outcome": "PR #933 product merge (`bd864de0`) already on main with green post-merge main CI (Static/Unit/Build/Production UI/SAST/Docker). Sole remaining red check on #933 was post-ready PR policy against a stale synced body with unchecked governance boxes (from leftover `PR_POLICY_BODY.md` introduced by #932). Token cannot edit merged PR bodies (403). Removed the stale template via #942 so Sync PR policy body no longer reapplies unchecked governance. Local composer regression 6/6 on main; reserve unit 11/11. No product regression.", - "checks": "Hosted #933 pre-merge + main push green; #942 required checks green then squash-merged; focused Chromium composer 6/6; reserve Vitest 11/11. No OpenAI/Supabase provider calls." + "date": "2026-07-27", + "ref": "PR #1280 / `claude/top-search-design-mockups-w53znc`", + "head": "c844560da909b7f88a1ef351fc833ad45cfb0a81 vs origin/main 7740535a", + "scope": "Thorough merge-readiness review vs main", + "outcome": "APPROVE AFTER MAIN SYNC. No P0/P1. Presentation-only shared results band rebuild; clean merge-tree; hosted PR required + Production UI green on tip; 0 unresolved threads. Branch is 1 commit behind unrelated safety-plan #1281 — final-merge audit fails closed until tip contains origin/main. Residual P2 (non-blocking): phone overflowing-rail `mask-image` lacks forced-colors clear (pattern exists for edge-glass); ResizeObserver does not unobserve removed children.", + "checks": "Diff review of 6 unique files; `git merge-tree` clean; `audit:final-merge --dry-run` fails only on missing main ancestor; band DOM 9/9; hosted checks green on tip; no provider-backed app checks." }, { - "date": "2026-07-19", - "ref": "cursor/safari-edge-to-edge-f46b (PR #933)", - "head": "15061964dd2fdf9665f72b7282f5cc81c736e57f", - "scope": "final Safari edge-to-edge / phone dock reserve review + merge readiness", - "outcome": "No high-confidence P0-P1. Confirmed implementation: shared reserve module collapses to 0.75rem when dock hides; shell uses block scrollport + inner mobile-composer-reserve-pad so clearance contributes to scrollHeight; child dock-sized env(safe-area) pads removed; DocumentViewer owns its dock pad. Review polish: formulation/specifier max-sm:min-h-0 alignment, document-route ownership simplification, hidden-pad CSS token guard. Residual P2/P3 only: differentials compare zero-inset backdrop margin, idle 2rem vs max(2rem,safe-area) ~2px, unused-looking #main-content padding transition still needed by ClinicalDashboard. Merge-ready.", - "checks": "Local: format/lint/typecheck/knip/budgets pass; unit 2952 passed with only pre-existing pdf-extraction-budget (python ENOENT, also fails on clean main); production build + client-bundle secret scan pass; focused Chromium composer suite 6/6 (forms hide, tablet/desktop clearance, differentials compare, service-detail endpoint, document-viewer hide, long-answer dock). Hosted CI on prior head fully green including Production UI; polish head re-checked before merge. No OpenAI/live Supabase/provider calls." + "date": "2026-07-25", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "c88c4516476cae3246e1975ce648dff0f3ecb3f7", + "scope": "Ledger append-only placement fix", + "outcome": "CORRECTION: relocated the five PR #1142-unique ledger rows that had been inserted below the table header / among older entries so they append after the final existing record, without rewriting any other rows' content. Restores the append-only contract called out in the Codex P1.", + "checks": "`npm run check:branch-review-ledger`; no provider-backed checks run" }, { - "date": "2026-07-19", - "ref": "cursor/specifiers-results-ui-7850 (PR #941)", - "head": "ef9bcf23bb93cbaddddeda3aedf08e6d037e2f18", - "scope": "Specifiers results UI elevation final review + merge readiness", - "outcome": "No high-confidence P0-P1. Ranking blurb removed; solid Aegean subnav kept vs soft family chips; diagnosis control content-sized with min-h-tap; match cards single Open hit target with motion-reduce and guarded typical language. Re-synced origin/main after #936 ledger append conflict. Residual risk: hosted Production UI must finish green on exact head; full verify:cheap still hits known container-only pdf-extraction-budget failures also seen on main.", - "checks": "Local: format:changed; lint/typecheck on touched files; design-system + icon-scale; vitest specifiers+reserve 10/10; Playwright ui-specifiers 5/5 including filter interactions; production build + client-bundle secret scan; offline RAG fixtures 36/21. PR marked ready for review. No OpenAI/live Supabase provider calls." + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "c89756f89d61730e926b35c4e5152e087650f440", + "scope": "CI babysit: Build RAM guard + escalation class + alias scope", + "outcome": "FIXED. Unit coverage: removed neuroleptic document_lookup short-circuit that broke title-supported escalation rescue (medication_dose_risk + escalation_risk). Build: CI/GITHUB_ACTIONS warn-and-continue under <10 GiB reported RAM. CodeRabbit: medicationDoseQueryContext alias equivalence is per named medication; multi-med regression added; Prefered typo fixed.", + "checks": "Focused Vitest clinical-search + escalation-rescue + guard-next-build 79/79; tip `c89756f8`; no provider checks." }, { - "date": "2026-07-19", - "ref": "local branches and worktrees after PRs #905 and #907", - "head": "e377ab1aed44d56c303eede80572c1df82ddcd6e", - "scope": "final local branch/worktree cleanup and useful-history preservation", - "outcome": "Reduced 153 local branches to `main` plus the two actively edited task branches. Deleted 150 redundant refs using cherry-pick containment, exact merged-PR heads, synthetic no-op merge trees, exact duplicate-head retention, merged-PR commit association, and explicit supersession review. Removed two clean obsolete worktrees and retained only the active auth/Supabase and P2-remediation worktrees for their owners. Archived the final 66 superseded historical heads in a verified 76,395,256-byte Git bundle before ref deletion. PRs #905 and #907 merged through protected `main`; PR #906 subsequently merged through protected `main` and its remote branch was removed.", - "checks": "Fresh fetch/prune and PR inventory; exact-old-value `git update-ref`; `git merge-tree --write-tree`; GraphQL commit-to-PR association for 178 commits; reverse-patch checks against a detached fresh-main worktree; verified bundle `Database-local-refs-before-final-cleanup-20260719-0525.bundle`; final branch/worktree/remote checks. No OpenAI, Supabase, deployment, live clinical, or production-data workflow ran." + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "c8a3dd118b8bf802418598c7cb48083893625004", + "scope": "production governance preflight follow-up", + "outcome": "The live dry-run correctly stopped because 554 registry projections are deliberately public (`owner_id = null`) while 232 differentials remain owner-scoped. No second tenant exists. Updated reconciliation to preserve public/owner scope, reject any foreign owner or label-owner mismatch, and scope generated intent labels to the existing document owner without mutating ownership.", + "checks": "Read-only production ownership and label topology probes; focused registry/governance Vitest 18/18; scoped ESLint; Prettier; full TypeScript; `git diff --check`; production dry-run inspected 786 documents (554 public, 232 owner-scoped), planned 786 metadata updates and 786 intent-label inserts, and reported zero chunk rows/OpenAI calls." }, { - "date": "2026-07-19", - "ref": "main / `codex/supabase-database-review`", - "head": "4034d2e60ebb6616130ff17bf3cb69368f36f8f6 + reviewed working diff", - "scope": "live `Clinical KB Database` security, migration, schema-drift, integrity, and performance review against current repo", - "outcome": "Confirmed and remediated a P1 privacy defect: 601 private-document title-vocabulary rows were reachable by the service-role query corrector; the live public-only sync/backfill now reports zero private or out-of-scope rows. Applied the committed retrieval-count bound, audit-metadata minimization, registry cleanup/index, public-title corrector, and atomic summary-rate-limit migrations. The missing FK and registry indexes are present and no invalid indexes remain. A second P1 was found in the untracked live `ingestion-worker`: gateway JWT verification accepted any project JWT before privileged direct-Postgres job processing. Recovered the deployed source into the repo, restricted it to POST plus a gateway-verified `service_role` claim, expanded the Deno checker to every tracked Edge Function, and deployed exact-matching v13 with JWT verification enabled. Review also exposed a repo mirror/test gap: the count-clamp migration was not reflected in `schema.sql`; the branch now mirrors it and locks both sources in the focused test. Remaining hosted blocker: `postgres` cannot assume managed `supabase_admin`, so the fail-closed default-ACL migrations and final title-word constraint/trigger migration remain unapplied; the intentional service-role-only table still produces one INFO no-policy advisor.", - "checks": "Supabase connector project identity, migration and Edge Function inventory, full drift snapshot comparison, security/performance advisors, catalog integrity/ACL/index queries, Vault JWT-role compatibility check, post-apply invariants, exact deployed-source hashes, and unauthenticated live rejection (401); focused retrieval/schema/drift Vitest 82/83 with only manifest freshness failing; Edge/retrieval auth 9/9; Deno check for both functions; offline RAG 36 cases / 294 tests; function-grant guard; scoped ESLint, Prettier, and `git diff --check`. `check:supabase-project` was attempted but stopped before provider contact because local project env vars are unset. `drift:manifest` was blocked because Docker Desktop could not start and was cleaned up. `verify:cheap`, `verify:pr-local`, production-readiness, OpenAI, hosted CI, broader deployment, and commit/push were not run." + "date": "2026-07-28", + "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", + "head": "c8af3d1ab830", + "scope": "CI babysit + Codex thread closeout", + "outcome": "MERGEABLE; 0 behind main; merge-tree CLEAN. Fixed earlier Static type-scale failure; suppressed shared composer on phone nav mockup; resolved 4 Codex P2 threads (scroll, overflow More, progress clamp x2). Bugbot: no cursor[bot] findings.", + "checks": "check:type-scale --strict PASS; hosted Static/Build/Unit/Advisory PASS on tip; Production UI pending; no provider checks." }, { - "date": "2026-07-19", - "ref": "origin/main 24-hour merged window (d1937d78e..ef042cacd, ~30 PRs incl. #853/#859/#861/#865/#868/#871–#874/#879/#885–#888/#890–#894/#896)", - "head": "ef042cacd", - "scope": "integrated post-merge regression audit of the full 24h window (code review + design/performance/defect angles)", - "outcome": "No P0/P1 regression found at the merged tip. One confirmed P2: the new settings surface (`use-app-preferences.ts` + `settings-dialog.tsx`) presents jurisdiction, population, answer-style, landing, home-content, compact-citations, and all notification preferences as live controls, but no consumer reads them — only density/motion (html attributes + globals.css) and theme are functional; a clinician selecting \"Conservative\" answer style reasonably but wrongly believes generation changed. One plausible P2/P3: `AuthProvider.initializeSession` now requires a live `getUser()` round-trip, so a transient network failure on load resolves a valid stored session to signed_out (INITIAL_SESSION replay is also skipped); the deliberate stale/tampered-token defense does not distinguish retryable network errors. One P3: `/medications` legacy redirect drops the query string while `/applications` and `/differentials/presentations` preserve theirs. Cleared after inspection: worker image-placement dedupe (key symmetric on both sides), title-word purge/scope migration (matches its replayed review), RPC-layer-only cancellation consolidation (intentional per PR #861), services route-chunk fix intact with no other heavy client value-imports (type-only imports verified), forced-colors ButtonFace/ButtonText flip, codex-autofix/pr-policy workflow changes conform to AGENTS.md (pin retained, rename-aware routing, workflow_sha checkout), audit-metadata allowlist exhaustive over the closed AuditAction union, answer-stream merged abort signals. Environment note (not a repo defect): the session-start hook skips `npm install` when node_modules exists, so this window's dependency bumps left the container stale and `verify:cheap` failed at typecheck until `npm ci`; the hook should compare a lockfile hash.", - "checks": "`npm ci` then typecheck clean and full Vitest 2828 passed / 1 failed / 2 skipped — the sole failure is the long-baselined container-only `tests/pdf-extraction-budget.test.ts` artifact (hosted-CI-green through #826/#835/#872/#890). First `verify:cheap` run passed every static guard (runtime, actions-pin, ci-scope, ci-triage, pr-policy, sitemap, brand, type-scale, icon-scale, function-grants, owner-scope, lint) before the stale-deps typecheck stop. No OpenAI, Supabase, deployment, or provider-backed check ran." + "date": "2026-08-08", + "ref": "cursor/forms-info-disclosure-68d6 (PR #1735)", + "head": "c8bbe0ee2dc7094bfea2a000320be4e8e7a00184", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "CodeRabbit unique disclosure id fix landed (index+label); thread unreplied (API 403)", + "checks": "vitest forms-information-disclosure.dom 2 passed; check:design-system-adoption; no provider-backed checks" }, { - "date": "2026-07-19", - "ref": "origin/main foreign merges post-#896 landing (541da7b #871 remediation + f4557ca #892 policy parsing; explicit user review request)", - "head": "ef042ca6a34d33862936e77e4b71068978382c1e", - "scope": "Bug review of recent main changes (diff-review protocol)", - "outcome": "One P2 confirmed and fixed in PR #905: #892's widened heading matcher ended a required PR-body section at ANY next heading, so `###` sub-structure inside `## Verification` truncated the section and false-rejected valid bodies (fail-closed; repo template unaffected; repro via direct evaluatePullRequestPolicy probe old-vs-new). No P0/P1. Cleared after verification: `src/lib/client-env.ts` (no env leakage; production demote-to-demo removal deliberate and fail-safe — upload gating still locked via canUsePrivateApis), applications/medications redirect routes (fixed targets, 307+HEAD alias, no open-redirect/header-injection), test infra (no weakened assertions; route-coverage spec added to all projects), and the three biggest #871 UI diffs read inline (ClinicalDashboard upload tablist roving-tabindex + hydration-safe useSyncExternalStore role switch; visual-evidence unavailable-source rows became real non-interactive elements; favourites library demo-gates prototype items with sound menu keyboard nav). Residual (report-only): pr-policy `section()` remains fence-unaware (headings inside fenced code can satisfy required-section checks — pre-existing class, author-controlled attestation surface); dev-only Turbopack persistent-cache staleness served an old globals.css compile across restarts twice this session (fixed by setting `.next` aside).", - "checks": "Reviewer fan-out: general lane completed with concrete probes (pr-policy self-test, node repro on old parser from f4557ca^, adversarial body probes); UI lane agent lost to session limit and re-done inline on the three biggest diffs, leaning on the merged tree's green gates (verify:ui 236-passed run in this session covers #871's own new specs). No provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/archive-advisory-ui-scope", + "head": "c8d50c7ac275212cbebf5c53fe859d863e800bbf", + "scope": "archive issue 137 after current-main verification", + "outcome": "approved: implementation and fail-open self-tests remain green on current main", + "checks": "check:ci-scope; check:gate-manifest; check:outstanding-issues; diff check" + }, + { + "date": "2026-08-18", + "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", + "head": "c8e171f504b6eadcfe99cf724aa03d6f5bca43c8", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "mergeable_state blocked = CI still in flight, not failing; only non-required 'GitGuardian Security Checks' app check showed conclusion:failure. Diff inspected (get_diff): pure UI/services-facet code, a docs ledger record, and a design-system manifest update - no secret-shaped content. Very likely a false positive on the added record filename's 64-char hex hash (docs/branch-review-records/*.record.md), not a real credential leak. GitGuardian is not in the pr-required aggregate (changes/static-pr/safety/coverage/build/ui-critical/db-reset-verify), so no merge-blocking action taken; flagged for the user to confirm via the GitGuardian dashboard link on the check.", + "checks": "get_diff inspected manually; no local gates run; no provider-backed checks run." }, { - "date": "2026-07-19", - "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", - "head": "87d4a479cd320220c91eba5c91e253e843dcc98f", - "scope": "final Mode phone-sheet review + merge-readiness", - "outcome": "No remaining high-confidence P0/P1. Fixed residual P2 Sheet backdrop drag-dismiss (gesture must start on dimmed area). Phone ≤639px Mode menu uses bottom Sheet; desktop absolute dropdown/keyboard/blur contracts preserved. Python PDF extractor resolves python/python3 and process-group kills reliably. Clinical governance: UI + fail-closed extractor binary resolution only; no answer/source/privacy surface change. Safe to merge after hosted required checks green on this HEAD.", - "checks": "`verify:cheap` 2954 passed; Mode Playwright 5/5 (phone sheet/backdrop/desktop/keyboard/a11y); `check:production-readiness:ci` READY; prettier format check fixed for CI Static; no OpenAI/live Supabase writes; full `verify:ui`/`verify:release` not required beyond Mode proofs." + "date": "2026-07-27", + "ref": "PR #1269 / `dependabot/npm-development/...`", + "head": "c9114439e6e6", + "scope": "Bugbot review", + "outcome": "HOLD; rebase after #1268. Playwright 1.61.1→1.62.0 is residual flake risk; prettier/eslint-config-next/@next/bundle-analyzer patches otherwise low risk.", + "checks": "package.json/lock diff; merge-tree CLEAN; no provider checks." }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "2df3181859345339d777ac814908b3095cea36fd", - "scope": "ModeHomeMain contentAlign fix for differentials mobile clipping", - "outcome": "No high-confidence P0–P2. Fix correctly introduces exclusive `contentAlign` (`center` | `start` | `startOnPhone`), migrates therapy/formulation/specifiers off broken className justify overrides, top-aligns differentials results via `autoRunSearch`, and guards with static + Playwright fold assertions. Residual: DSM/forms/services still default-center; justify-strip leaves variant prefixes; Playwright `0.55*vh` upper bound may flake if header band grows; Chip compact overrides still dual-utility via `cn()`.", - "checks": "Static diff vs `origin/main`; inventory of all `ModeHomeMain` call sites; justify-strip regex probe; `npx vitest run tests/mode-home-main-align.test.ts` 4/4. Not run: Playwright/`verify:ui` (browser), `verify:cheap`/`verify:pr-local`, provider-backed checks." + "date": "2026-08-27", + "ref": "claude/home-page-scroll-stability-cbnak6", + "head": "c917e079635ee17c3059205b5356b4c51e6362cf", + "scope": "Phone defects from device screenshots: safety-findings sheet scroll lock and flex-clipped card; stopped-answer notice placement plus the never-clearing pending skeleton; phone answer-results bottom padding pb-4 -> pb-10; sidebar Documents entry repointed to /?mode=documents. 11 files, +118/-39.", + "outcome": "Merged to main 2026-08-27 as squash 28b1fef (PR #2422). Squash verified by content: git diff c917e079 28b1fef is empty, so nothing was dropped by the auto-merge.", + "checks": "CI green on head c917e079 (run 33072264164): Static PR checks, Build + bundle budget, Unit coverage, Safety and config, Caring Contacts, Production UI critical and Production UI 1/2/3 (Chromium journeys), Lighthouse budget, PR required - all success. Local before push: typecheck clean; lint clean at --max-warnings 0; full offline unit suite 10,814 passed with 3 pre-existing failures confirmed identical on a stashed tree. verify:ui and the verify:phone-chrome browser stages NOT run in this container - the lock pins Playwright chromium-1234, the image ships chromium-1194, and the #255 guard forbids substituting; browser proof delegated to CI Production UI. Lighthouse desktop-root LCP read high across four branch runs (961 FAILED, then 925/900/852 passing, vs main 748/705) and is recorded as its own unresolved ledger item rather than treated as cleared." }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "3a775d4fd9a44e97388c0041cb421f06265a7721", - "scope": "fresh final review (user-requested) + main sync (#937)", - "outcome": "No high-confidence P0–P2. Product delta unchanged vs prior merge-ready head; #933 reserve + #938 contentAlign remain complementary. Merged `origin/main` (#937) cleanly. Follow-up: dropped `PR_POLICY_BODY.md` when syncing #942 so this PR does not reintroduce the stale template; live PR description already correct. Residual: required human approving review.", - "checks": "Local: align+composer-reserve Vitest 9/9; focused Chromium overlap+fold+compare 14/14. Hosted CI green on prior tip." + "date": "2026-08-24", + "ref": "claude/review-queue-header-design-of7baq (PR #2338)", + "head": "c934541ceca611481073c4b761da98b99545b05a", + "scope": "Run PR sweep: drift sync", + "outcome": "No code fix needed; branch was only behind origin/main (clean merge-tree). Merged origin/main and pushed. Both existing review threads already resolved. Remaining CI failure: PR policy blocks on missing Clinical Governance Preflight section (src/lib/mode-secondary-navigation.ts change triggers clinicalRisk) — left open, PR body edits are out of scope for this sweep.", + "checks": "npx vitest run tests/therapy-compass-pathways.test.ts tests/route-reachability.test.ts tests/therapy-compass-mode-wiring.test.ts tests/therapy-review-regressions.test.ts tests/mode-nav-contract.test.ts tests/mode-secondary-navigation.test.ts tests/therapy-compass-responsive-contract.test.ts — 113 passed; no provider-backed checks run" }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "74c370d81342dd729398dc2b40ba3158ea30f1db", - "scope": "follow-up review + residual polish (policy body, align API, UI flake)", - "outcome": "Prior residuals closed: `PR_POLICY_BODY.md` rewritten for #938 (Sync PR policy body was overwriting with stale #932 text); `withoutJustifyUtilities` strips prefixed utilities; Chip uses exclusive `density` type scale; DSM/forms/services use `startOnPhone`; Best Answer fold bound uses header+240px; `ui-overlap` waits for a single `header#search`. No remaining high-confidence P0–P2 in the ModeHomeMain/differentials mobile scope.", - "checks": "`npx vitest run tests/mode-home-main-align.test.ts` 5/5; Prettier on touched files. Playwright focused rerun and hosted Production UI expected after push." + "date": "2026-07-24", + "ref": "codex/query-ribbon-search-headings (PR #1166)", + "head": "c94e89f392f578c4b2c749195dd485b74959074c", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING. After: merged origin/main clean. CI re-running.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "b62d414ca9001fbc1ac0d50b315450e107751d67", - "scope": "merge-readiness after policy + hosted UI", - "outcome": "No remaining high-confidence P0–P2. PR description sync + `verify:ui` evidence keep PR policy green; hosted Production UI / PR required green on exact head.", - "checks": "Local: align Vitest 5/5; ui-overlap 12/12; differentials fold Playwright 1/1. Hosted: Production UI, Advisory UI, Static, Unit, Build, PR policy, PR required, Sync PR policy body all pass." + "date": "2026-08-16", + "ref": "codex/chat-service-facets-317-service-facets-317", + "head": "c957fc16e36381d775ce2fa068ec7cada68b4810", + "scope": "PR #2004 registry service facet contract test", + "outcome": "P2 false-negative contract guard fixed: compare restored tags with the raw fixture payload so a parser regression cannot agree with itself; no runtime defects found", + "checks": "Manual mutation proof reproduced the false negative; c957fc16 exact-head CI, static checks, unit coverage, safety/config, SAST, and secret scan passed; fix committed with ledger for exact-head CI rerun" }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "e177b5e877aa2f834b3a601fa37679fa3e77b0e3", - "scope": "merge main (#933) + post-merge revalidation", - "outcome": "Merged `origin/main` (Safari edge-to-edge #933) with ledger conflict resolved by keeping both review rows. No product conflicts; `contentAlign`, Chip density, and Best Answer fold asserts intact. No new P0–P2. Still blocked only by required human approving review; squash auto-merge remains enabled.", - "checks": "Local after merge: align+composer-reserve Vitest 9/9; focused Chromium dock-hide + fold + compare-dock 3/3. Hosted on merge head: Production UI, PR required, Unit, Static, Build, PR policy all SUCCESS." + "date": "2026-07-13", + "ref": "codex/live-migration-history-alignment", + "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/live-migration-history-alignment; git diff --name-only reported 12 path(s)." }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "efe472fac3489473e2465da2d92980508c20fd81", - "scope": "merge main (#934 favourites) + #941 sync", - "outcome": "Merged favourites guest-gate (#934) then Specifiers results UI (#941). Product conflicts none: kept `contentAlign=\"startOnPhone\"` on Specifiers home while taking #941 results chrome. `ui-overlap` gotoHome wait conflict resolved with settled single-header short-circuit. No new P0–P2. Residual: human approving review required for squash auto-merge.", - "checks": "Local: align Vitest; favourites+app-modes+tools 42 tests; Chromium ui-overlap+ui-tools 95/95; verify:cheap unit stage green. Hosted CI green on pre-#941 tip; re-running after this merge." + "date": "2026-07-13", + "ref": "origin/codex/live-migration-history-alignment", + "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/live-migration-history-alignment; git diff --name-only reported 12 path(s)." }, { - "date": "2026-07-19", - "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", - "head": "f6682cc08eb0fcc0b8dd170d5c9358b3fedc0c0d", - "scope": "final meticulous review + safe-merge handoff", - "outcome": "No high-confidence P0–P2. Forms/services now centre when unseeded/loading and use `startOnPhone` only when seeded (avoids sparse empty homes). CodeRabbit risk-line comment dispositioned as stale #932 body confusion. Residual: branch protection still requires a human approving review before squash auto-merge can land.", - "checks": "Local: align Vitest 5/5; focused Chromium overlap+fold 13/13; verify:cheap/pr-local unit stages 2953/2955 with only known container `pdf-extraction-budget` Python ENOENT failures; format/lint/typecheck/RAG fixtures pass; local `next build` blocked by running ensure server (hosted Build green). Hosted exact-head: Production UI, PR required, Unit, Static, Build, PR policy all SUCCESS. Enabled squash `--auto` merge." + "date": "2026-07-14", + "ref": "codex/live-migration-history-alignment", + "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-19", - "ref": "work", - "head": "39378863a5d713bfdeb617377a90319ae75810d4", - "scope": "Repository-wide static review sweep across security/auth/privacy, RAG/clinical answers, database/RLS, UI/accessibility, CI/release automation, dependencies/build/runtime, and local verification hygiene.", - "outcome": "Findings recorded in docs/audit/repo-wide-review-sweep-2026-07-19.md. Highest severity: P1 summary-mode non-stream route contract drift; P1 release PR policy coverage gap.", - "checks": "npm run workflow:flightplan -- --write-evidence (pass); npm run format:check (failed existing formatting drift); npm run check:knip (failed missing node_modules); npm run typecheck (failed missing TypeScript binary); npm run lint (failed heavy-run lock because typecheck was active); npm run check:runtime (failed missing tsx/node_modules). Provider-backed checks skipped per confirmation boundary." + "date": "2026-07-25", + "ref": "PR #1090 / `cursor/fix-phone-dock-edge-1b1d`", + "head": "c993975f6b18393a9ff09f9145fd42dbb35df942 (merged as 09028ef217209fceb53f1122ac7738b509bce323)", + "scope": "prlanded — phone dock edge-to-edge / white-strip fix", + "outcome": "MERGED. Content verified on `origin/main` (empty three-dot diff; spot-check dock CSS, ClinicalDashboard inset-0 shell, edge-to-edge Playwright test). No orphaned late commits. Remote branch already deleted; local branch removed. Codex review found no major issues; required CI green at merge.", + "checks": "Hosted required + Production UI green at merge; local maintainability budget + Prettier follow-ups landed in tip `c993975f`." }, { - "date": "2026-07-18", - "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase 3, PR #872, final reviewed head ba46c1581a3c4e87d5d5989f3eb77483c9aa8aa5)", - "head": "ba46c1581a3c4e87d5d5989f3eb77483c9aa8aa5", - "scope": "PWA offline-page design upgrade (plan Phase 3)", - "outcome": "Rebuilt the `public/offline.html` visual shell on mirrored Clinical White / Aegean Graphite tokens (each value annotated with its source token): pure-white canvas, aligned text/border/hover values, system UI font stack, and the clinical-accent focus ring replacing the off-contract amber. Privacy copy, structure, forced-colors behavior, safe-area insets, and target sizes unchanged. `CACHE_VERSION` bumped to the new unique `2026-07-18-v1` with the offline.html sha256 pairing updated — the Phase 1 binding guard exercised for real and enforced the paired move. A transient typecheck failure from stale `.next/dev` route types (cross-branch dev-server state) self-resolved after server regeneration; nothing was deleted.", - "checks": "Focused Vitest 55/55 including the binding guard on the new pairing. `verify:cheap` 2778 passed/1 failed and `verify:pr-local` unit stage identical — the lone failure is the known container-only `pdf-extraction-budget` artifact (clean-main baselined; hosted CI green on #826/#835). `test:e2e:pwa`: the cold-offline journey rendered and asserted the redesigned page through the new-version worker; sole installability error remains the container `in-incognito` artifact. `verify:ui` 219 passed/2 failed — the same two clean-main-baselined container artifacts, no new failures. Build/bundle stages deferred to the blocking hosted CI Build job. No provider-backed checks run." + "date": "2026-07-29", + "ref": "claude/dazzling-blackwell-f348d0", + "head": "c9bec8f9dce38cb647de9aa64ebf08bf7823a524", + "scope": "branch-cleanup-deletion-pending", + "outcome": "DELETION PENDING — content proven fully on main. Branch tip IS the merge-base with main (c9bec8f9), so the tip is a direct ancestor of main; tree comparison of merge-base vs tip shows 0 changed files. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", + "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." }, { - "date": "2026-07-18", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #826)", - "head": "3d9ee5f44dea9edb1ef5af28f5f265d88d8b9f29", - "scope": "PWA hardening implementation (plan Phase 1)", - "outcome": "Implemented the three open findings from the 2026-07-17 PWA setup review with zero cache-semantics change: committed the rule-6 retirement worker `public/sw-kill-switch.js` with a five-test lock (`tests/pwa-kill-switch.test.ts`), bound the `offline.html` sha256 to the sw.js `CACHE_VERSION` pairing in `tests/pwa-manifest.test.ts` (drift trap closed), added the `?pwa-dev=0` local teardown to `pwa-lifecycle.tsx` with a dom test proving foreign workers and caches stay untouched, and updated `docs/pwa.md` rules 1 and 6 plus the local-dev cleanup step. Phase 0 of the approved plan (pr-policy `base_ref` checkout fix + the Set-Cookie worker-test case) was found already merged to main and skipped.", - "checks": "Focused Vitest 53/53. `verify:cheap` and the `verify:pr-local` unit stage green except `tests/pdf-extraction-budget.test.ts`, which fails identically on clean main in this container (child-process semantics; baselined twice). `verify:ui` 218 passed with 2 container-baselined pre-existing failures: the `ui-pwa` installability test (Chromium `in-incognito` artifact, reproduced from a clean-main detached worktree with its own server) and the `ui-smoke` document-viewer PDF-canvas mobile test (also fails on clean main `54229f0`; flagged as possible upstream regression). `format:check` clean for repo files. Conditional build/bundle stages deferred to the blocking hosted CI Build job on PR #826. No provider-backed checks run." + "date": "2026-07-13", + "ref": "claude/mystifying-wing-55853c", + "head": "c9c3d2b0c0e71f09e8153f60fa6b2508dccddc25", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor c9c3d2b0c0e71f09e8153f60fa6b2508dccddc25 origin/main`." }, { - "date": "2026-07-18", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #835)", - "head": "d46f381ac27b53b1bd5ac0ef77962fbd48cf3aa7", - "scope": "PWA manifest and install-UX polish (plan Phase 2)", - "outcome": "Implemented Phase 2 of the PWA plan with cache semantics untouched: `launch_handler` navigate-existing/auto and `display_override` standalone/minimal-ui in `manifest.ts`; `monochrome-192/512` icon variants rendered as a white alpha-only silhouette from the shared brand mark via `BRAND_MONOCHROME`; a one-time iOS/iPadOS Add to Home Screen hint in `pwa-lifecycle.tsx` (30-day dismissal key, never in standalone, timer-deferred eligibility for the set-state-in-effect lint rule). Docs Installability section updated; manifest screenshots remain deferred per the production-capture precondition. Phase 2 re-scout confirmed zero upstream drift before implementation.", - "checks": "Focused Vitest 55/55. `verify:cheap` 2773 passed/1 failed and `verify:pr-local` unit stage identical — the lone failure is the known container-only `pdf-extraction-budget` artifact (clean-main baselined; hosted CI green on #826). `test:e2e:pwa`: privacy journey passed; icon probes validated both new monochrome PNGs; sole installability error remains the container `in-incognito` artifact. `verify:ui` 219 passed/2 failed — exactly the two clean-main-baselined container artifacts, no new failures. `format:check` clean. Build/bundle stages deferred to the blocking hosted CI Build job on PR #835. No provider-backed checks run." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "ca57a7151c8ba82f9b70284572bffb90d4df62d5", + "scope": "PR #1482 concurrent reconciliation and #105 preservation", + "outcome": "No findings; concurrent repair retained, invalid #105 archive removed, main open #105 restored", + "checks": "outstanding guard PASS 146 rows/next-id 149; ledger guard PASS; three deployment-input contracts reviewed" }, { - "date": "2026-07-18", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #890, plan Phase 4; single-batch implementation+ledger commit — Phase 3 landed as squash 44a4c511bc1381168474794d6f89273564659ead)", - "head": "ceabc04d75fd0cea2a120d504418d44edd704bfb", - "scope": "App-wide performance pass: audit-then-fix + budget ratchet (plan Phase 4)", - "outcome": "Audit on post-#872 main: enforced gzip budget +3.13% over the 1,363,382-byte baseline; analyzer treemap showed pdfjs-dist (123 KB) and cross-mode-differentials data (121 KB) already correctly lazy, and disproved the suspected forms-catalog dashboard leak (type-only import). Confirmed one real defect: the 143-line `/services` client home page value-imported `defaultServiceSlug` from `@/lib/services`, compiling the ~915 KB services snapshot (~100 KB gzip) into its route chunk. Fixed by computing the slug in the server page (`src/app/services/page.tsx`) and passing it as a prop; the client component builds its task cards from the prop. Measured result: budget swung from +3.13% to −3.97%; baseline ratcheted down 1,363,382 → 1,309,286 bytes gzip so CI locks the win. pdfjs/differentials/#718 paths deliberately untouched per audit rules. Two transient `.next/dev` generated-type corruptions from the long-lived dev server were resolved by stopping the server and setting the generated dir aside (reversible); nothing hand-deleted.", - "checks": "Build + `check:bundle-budget --json` before/after (artifacts in session scratchpad); `check:bundle-budget -- --update` for the ratchet; `npm run test` 2789 passed/1 failed (known container-only `pdf-extraction-budget` artifact, hosted-CI-green through #826/#835/#872); `verify:cheap` green to the same artifact; `verify:ui` 219 passed/2 failed (the two long-established container artifacts; ui-tools spec covering the services surface passed); `verify:pr-local` unit stage identical; typecheck/lint/format clean. Lighthouse not run (dev-server churn; bundle evidence sufficed for this fix set). No provider-backed checks run." + "date": "2026-08-09", + "ref": "claude/breadcrumb-header-mockups-cei6lw", + "head": "ca5e4e7ae9b53af49b362ad11ca988fdd1c3a9d0", + "scope": "breadcrumb header shipped: InPageNavHeader breadcrumb shape + factsheet detail adoption", + "outcome": "self-reviewed; browser-verified at 390/700/834/1280; phone-chrome gate blocked by #255 playwright drift", + "checks": "typecheck, lint, test (5806 passed, 1 pre-existing unrelated fail), build, check:bundle-budget, check:design-system-contract, format:changed, sitemap:check, docs+ledger checks" }, { - "date": "2026-07-18", - "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #896, plan Phase 5; content commit + this ledger follow-up)", - "head": "a6c2b4e92374e9002fb00c547eb5677d01ce538c", - "scope": "Design-polish sweep: audit-then-fix (plan Phase 5, final phase)", - "outcome": "Audit on post-#890 main: three strict design guards clean; full re-run of the 07-token-adoption-audit grep method shows all July 3 debt resolved (M1–M3 done, L4 reduced to the deliberate theme-aware `ring-white/N dark:ring-white/10` glass idiom, L5/L7 gone; production hex all legitimate print/brand/console/comment classes); 43-capture live sweep across 15 routes × desktop/phone + 320px spots + dark/reduced-motion/forced-colors spots found 0 overflow and 0 console errors. Three defects found and fixed: (1) forced-colors solid-button labels rendered as blank Canvas-on-Canvas backplate boxes (axe-invisible) — command controls flattened to the native HCM ButtonFace/ButtonText pairing and accent glyph tokens flipped to ButtonText inside the existing forced-colors block, regression-locked by a new ui-accessibility test; (2) tools desktop 6-up quick-action rail truncated card titles at 1440×1000 — card metrics tightened, all six titles verified unclipped; (3) privacy page rendered \"systemand\" from a JSX newline-adjacent-to-tag drop — explicit space, locked by a privacy-ui assertion. Dated July 18 run appended to docs/redesign/07-token-adoption-audit.md (archived design-qa.md not resurrected).", - "checks": "Guards + focused vitest 14/14; `verify:cheap` chain green to the known container-only pdf-extraction-budget artifact (2806/2809); `verify:ui` 220 passed/2 failed (the two long-baselined container artifacts, hosted-CI-green through #826/#835/#872/#890); `test:e2e:accessibility` 8/8 incl. the new forced-colors token test; production build + client-bundle secret scan passed; `check:bundle-budget` within tolerance vs the Phase 4 ratchet (1290.6 vs 1278.6 KiB baseline); `verify:pr-local` runtime/format/lint/typecheck/build/rag-fixtures green with the same sole unit-suite artifact. `verify:release` not run (provider-backed; awaits explicit confirmation). No provider-backed checks run." + "date": "2026-08-13", + "ref": "codex/ci-iteration-speed-current2-20260813", + "head": "ca788d41e1e6b64dc6b9bc63609074d92470d7e7", + "scope": "CI iteration performance and reliability implementation", + "outcome": "No P0-P2 findings after current-main reconciliation and review fixes; uncommitted diff requires review again after commit", + "checks": "CI workflow contracts 289 passed 12 skipped; typecheck lint filtered coverage inventory clean build and bundle budgets passed" }, { - "date": "2026-07-18", - "ref": "codex/chat-audit-remediation-pr-0a27 / PR #873", - "head": "4bea60e9fc5c181fee33b2af27a4b6e3176eac27", - "scope": "CI auto-resolve risk-routing regression and PR handoff", - "outcome": "Confirmed the broader audit remediation was already merged through PR #814. Fixed the residual rename-routing gap by classifying both current and previous paths and explicitly covering `src/data`, reusable GitHub actions, and the action-pin/Codex guard scripts. Automated PR review then found one P2: an excluded old test path could still trigger high-risk routing when paired with a non-excluded new docs path. Fixed before handoff by deriving non-excluded paths first and using that same set for risk and complexity checks. No P0-P2 remained; no product runtime, clinical behavior, provider configuration, or production data changed.", - "checks": "Full `verify:pr-local` passed on the initial three-file patch: Node/npm runtime, changed-file format, ESLint, TypeScript, 301 Vitest files/2,788 tests, and 36 offline RAG fixtures; build skipped as unaffected. After the review fix, the Codex workflow guard, action-pin guard, Prettier, focused Vitest 54/54, and `git diff --check` passed. Hosted checks on the initial PR head passed; the review fix was also verified by the focused local checks before the final main merge. GitHub interactions were user-authorized; no Supabase/OpenAI/live-service command ran." + "date": "2026-08-21", + "ref": "claude/frontend-design-6sl1ft", + "head": "ca7b187ae74991d3135437c79c8cc41e8db1e567", + "scope": "prlanded", + "outcome": "landed clean — PR #2210 merged 2026-08-21T11:07:02Z by BigSimmo via merge commit ca7b187 (merge method 'merge', not squash); content diff ca7b187..3dde98d empty, 0 of 11 commits orphaned, remote branch auto-deleted", + "checks": "git diff --stat ca7b187 3dde98d empty; per-commit ancestry 11/11 reachable from origin/main; final CI green incl. Production UI (1)(2)(3), Production UI critical, Advisory UI, Unit coverage, Build, Static PR checks; Lighthouse mobile-root CLS confirmed as the documented bistable 0.016/0.223 flake, not a diff regression" }, { - "date": "2026-07-18", - "ref": "codex/main-merge-51278-final-20260718-late", - "head": "45fa3c6c7, 14a0a898c", - "scope": "merge integration of 51278a70d onto fresh origin/main", - "outcome": "Replayed the requested historical design-audit commit onto fresh `origin/main`. Kept current-main versions for five conflicts, including the regenerated drift manifest and current schema assertions. Fixed the duplicate sitemap-generator declaration, corrected redirect-section coverage, and restored the current `Clinical Guide` UI contract.", - "checks": "`git diff --check` and `npm run sitemap:check` passed. `npm run test` was attempted twice but blocked by the repository-wide heavy-command lock held by a separate Playwright worktree; no provider-backed checks ran." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: WebKit matrix diagnosis)", + "head": "caa298972846ef52d472bfbff98c90fc26481ed8", + "scope": "First completed release-browser-matrix in weeks (run 4012, main b9057f0, 38 min uncancelled under #979) — full triage of 28 failures + fix for the dominant cluster", + "outcome": "Run 4012: 716 passed / 28 failed (25 webkit, 3 firefox) / 4 skipped. Dominant cluster (root-caused, FIXED here): all 8 ui-universal-search webkit failures share one signature — typeahead content never enters the DOM — because commandDropdownCanDisplay (added 42a3e3c 2026-07-17, AFTER the last completed matrix; never ran on WebKit until 4012) requires fine-pointer OR zero-touch; headless browsers fail the (hover:hover)+(pointer:fine) query (proven by the zero-touch escape existing for CI at all), Chromium/Firefox pass via maxTouchPoints===0, and Playwright's Linux WebKit build advertises phantom touch points — flunking both branches and disabling useUniversalSearch entirely. Fix: beforeEach addInitScript in ui-universal-search/ui-smoke/ui-tools specs stubbing Navigator.prototype.maxTouchPoints to the runner's true 0 (inert on Chromium/Firefox; product gate + tests/search-command-surface.test.ts pins untouched). Local chromium runs of ui-universal-search fail 16/20 IDENTICALLY on unmodified main (container artifact — hosted CI chromium green in 4012 is authoritative; verified by stash/run/pop baseline). Expected delta next matrix: ≥8 webkit failures clear; candidates ui-tools:1244 + several ui-smoke answer-flow cases (same surface). NOT yet root-caused (triaged remainder, hosted-matrix-only reproduction): webkit ui-stress overflow 330/409 (360px overflow at mobile), webkit ui-accessibility 195/252 (focus dismissal; forced-colors labels), webkit ui-formulation 132, webkit ui-smoke copy-table/retry/recovery/recent-searches/source-only/differential-context/viewer-hydration/document-questions, webkit ui-tools 2087 (goto interrupted by ?q= navigation), webkit ui-universal-search 183 strict-mode duplicate options (fallback-surface rendering; likely clears with the gate fix), firefox ui-smoke 946/2206/2932 (@critical document search fails on BOTH firefox and webkit — cross-browser, highest-priority remainder).", + "checks": "prettier PASS; eslint PASS; typecheck PASS; chromium stash-baseline no-delta (16 fail pre AND post — container artifact); webkit validation lands via tonight's 18:00 UTC scheduled matrix" }, { - "date": "2026-07-18", - "ref": "codex/rag-merge-final-20260718-655a", - "head": "20e5964bbfdcac0311b89c96931a43544be545a6", - "scope": "RAG recovery, grounding, and latency merge closure", - "outcome": "Reviewed the recovered historical RAG fix series against fresh `origin/main`. No additional source change was needed: current main already contains the stricter source-scoped numeric grounding, blocked-retrieval-only extractive recovery, generic LAI deterministic recovery, per-case answer latency diagnostics, and agitation lexical-path protections. The only residual branch diff was proven unreachable because every medication-chart trigger yields explicit search terms; it was intentionally not carried forward.", - "checks": "Full local Vitest: 301 files / 2,779 tests passed. Offline RAG fixture and production-contract validation: 36 golden cases, 21 suites, 294 tests passed. Prettier and `git diff --check` passed. `verify:cheap` reached its lint stage after all preceding static guards passed, but was blocked twice by active heavyweight jobs in other registered worktrees; it was not retried. No Supabase, OpenAI, live retrieval, production-readiness, deployment, or hosted CI command was run." + "date": "2026-08-14", + "ref": "claude/issues-reconcile-lnhvja", + "head": "cabdd290b00ff81569955cdd4a1b6b6b9f8999de", + "scope": "serialized outstanding-issues reconciliation (9 requests, 2 cancels)", + "outcome": "PR #1967 open", + "checks": "issues:reconcile applied 9; check:outstanding-issues pass; verify:pr-local failed:(none)" }, { - "date": "2026-07-18", - "ref": "local repository cleanup against `origin/main`", - "head": "1d9fdcfdd", - "scope": "repository-maintenance summary (non-skip aggregate)", - "outcome": "Removed 26 clean, exact-proven redundant worktree registrations (58 -> 32 before the temporary cleanup worktree) and deleted 78 unregistered local branches: 73 direct `origin/main` ancestors plus five exact/covered squash-merge refs for PRs #852, #859, #868, #869, and #870. Preserved all dirty, active, open-PR-owned, backup, ledger-protected, and patch-unique/ambiguous work, including the divergent local `main`; no reset, force operation, remote-branch deletion, or source replay was performed. Six unregistered Windows directory residues remain without `.git` markers after Git cleanup. Clean standalone deltas were either already merged/current-main content or owned by active PR/task work, so no product change was duplicated. This aggregate row is audit history only and must not be used to skip a future branch-level cleanup review.", - "checks": "Mandatory task-start preflight; fresh fetch/prune; full local branch/worktree/status and Codex task ownership inventory; 863-PR GitHub snapshot before the API rate limit was exhausted; cherry-pick-aware history, exact merged-head/descendant proof, and synthetic merge-tree checks; exact-old-value `git update-ref` deletion; per-worktree clean/head rechecks; final worktree/prune inventory. No OpenAI, Supabase, deployment, production-data, or live clinical workflow ran." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "caced05a1bd9f0047e14ce5ab21d56f03f8ce0ec", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "fixed Build bundle-budget post-success hang (CI timeout→cancelled); stream measure + exitProcess failsafe + 3m step timeout; supersedes a861c968/2257c221", + "checks": "vitest bundle-budget 14/14; check:bundle-budget done; check:github-actions passed" }, { - "date": "2026-07-18", - "ref": "origin/main framework and dependency modernization snapshot", - "head": "4057677c8b92a5e1d997ec44958764fa91f5d424", - "scope": "parallel build/infra, backend, and frontend modernization audit", - "outcome": "Changes requested. No P0. Confirmed two P1 defects: Supabase SSR 0.12 auth-cookie responses discard mandatory anti-cache headers, and reindex bypasses the server-only-aware TSX runner after mutation-capable setup. Five P2 blockers cover the Webpack-to-Turbopack production cutover, incomplete Railway image-build watch ownership, missing clean `next typegen`, Node 26 types over a Node 24 runtime, and App Router retry actions that reset without re-fetching. P3 removal-readiness debt remains in Zod and Next Image APIs. Manual rewrite zones are auth response ownership, bundler/CSP/artifact consumers, JSZip resource limits, OpenAI request typing, and React Compiler adoption in the stateful dashboard/viewer roots.", - "checks": "Parallel read-only source/config/test audit against the exact snapshot; Node 24.18.0/npm 11.17.0; exact-version Next 16.2.10 bundled upgrade, Turbopack, error-boundary, and codemod guidance; TypeScript 6 backend no-emit analysis and Node import probes via a separately installed exact-version local dependency tree; `git diff --check`. No install, registry outdated/audit, full repo lint/typecheck/test/build/browser/Docker, Supabase/OpenAI, deployment, or hosted CI run; this worktree had no `node_modules`." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase C live verdict — no code change; main stays reverted at 0a498e6)", + "head": "canary run 29773198933 (#55, on f96217c)", + "scope": "ADDENDUM 4 Phase C LIVE-REFUTED: canary on the merged tail code FAILED 3/36 (doc_recall 1.0→0.9167, mrr@10 0.8921→0.8138) — the user-ordered revert (#1005) was correct and STANDS", + "outcome": "Failures: patient-safety-plan-include (PtSafetyPlan out of top-5, rr 0.33→0.14), patient-property-visual-table (rr 1.00→0.11) and schizophrenia-overview (rr 1.00→0.14) — two previously rank-1 cases destroyed. Root cause (post-hoc): the S1 lexical-chunk lift spreads hybrid_score, which is the PRIMARY release sort key — inside the dead (0.48,0.5) band it still PREEMPTS every downstream key, so raw ts_rank order overrode the boost/title/subject-aware relevance order that previously decided all-tied-at-0.48 pools. Lexically-loud chunks leapfrogged title-boosted correct documents = the #118 mechanism, reproduced live. The offline S1 test used identical-content candidates (coverage tie) and could not see it. The S2 similarity tail (tie-break-position key) remains reviewer-verified safe in isolation — retrieval reviewer verdict on the full diff: APPROVE-WITH-NITS, P3 only (0.49-lowering proven unreachable via the SQL 0.48 cap; no gate crossings in (0.92,0.94); hardening nits recorded). DISPOSITION: no re-land as-is. Any retry = S2-only + S1 redesigned to a key BELOW relevance in the comparator chain, new design + fresh pair. The staged-rollback discipline (canary pair + instant revert) worked exactly as designed. Spend ≈$4-8 of ≤$20.", + "checks": "Canary #55 read from job log (3 FAIL lines + summary); reviewer verdict from subagent report; main verified reverted (0 saturationTailUnit refs at 0a498e6)" }, { - "date": "2026-07-18", - "ref": "PR #861 / codex/design-audit-main-safe-20260720-final", - "head": "d8c1916ac (functional head 593d5aa00 + current-main merge)", - "scope": "design-audit/search cancellation merge review", - "outcome": "Fixed unsupported Forms pathway claims, propagated cancellation through every retrieval RPC, removed duplicate favourites “Also matches” results, and resolved all four review threads. Merged as `3b2dd9ef76ff1c8c099fc1972065628d23b853b1`; exact `origin/main` commit and tree content were verified after merge.", - "checks": "Exact-head hosted Static PR checks, Unit coverage, Build, Safety and config checks, Production UI, Advisory UI, Migration replay, PR required, PR policy, Semgrep, Gitleaks, and GitGuardian checks passed. No Supabase, OpenAI, or other product-provider call ran." + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (pair verdict — no code change; main stays at 22b6a2e)", + "head": "canary run 29794759627 (#59, branch head 7310cb3 = merged PR-B content)", + "scope": "(recorded with Outcome)", + "outcome": "E-3b + E-3c PR-B LIVE-VALIDATED (pair vs banked #57/#58): route_ceiling_failures 2→0 (E-3b proven: agitation timeout now fits inside budget; clozapine retrieval-exhausted ceiling honestly excused via the triple-condition cross-region carve-out — exactly one \"retrieval-exhausted\" audit cell in the report); p95 17.4s→15.47s (-11%); golden retrieval SUCCESS 36/36 (stop-ship criterion held); validated_routine_extractive_first fired on 4 of the 6 target cases (patient-safety-plan 3.3s, treatment-team-process 2.6s, ect-procedure 2.2s, illegal-substances 2.2s — all pure extractive, zero generation, was 6-9s each with a discarded attempt), the other 2 (community-home-visits, best-practice-prescribing) stayed on generation+fallback because their extractive candidates legitimately fail validation gates = the designed-conservative outcome; ZERO new failing cases (list 5→2, both known residuals: neuroleptic citation red = Option A territory, admission-comparison expected-doc = non-blocking labeling residual); grounded 1.0 + unsupported_correct 1.0 held; targeting 0.5909→0.619, fail_closed 0.9→0.9333, readability/artifact_leaks/intent_coverage unchanged; relevance 0.6→0.5667 = single-case wobble on n=30, WATCH in E-4, not a gate. Discarded-generation rate materially down (4 conversions; residual = the H2 strong-route slice named as E-3d candidate, per design's 20-33% expectation band). MERGE STANDS (user had armed auto-merge pre-verdict; revert drill not triggered). Spend +~$3-6 → Phase E total ~$6-12 of ≤$20.", + "checks": "Pair evidence: run #59 job log (Blocking failures = citation only; Answer Case Diagnostics markers; metric_rates + targeting blocks); dump artifact populated for PR-C diagnosis" }, { - "date": "2026-07-18", - "ref": "PR #865 / codex/docs-migration-runbook-safety-20260718", - "head": "78ea2ccd6", - "scope": "migration runbook, rollback safety, and clinical-governance review", - "outcome": "Replaced stale sole-pending-migration guidance, prohibited restoring the unscoped corrector, added forward-only rollback and exact migration ordering, and marked the historical WIP report superseded. Review uncovered the pre-existing private title-word P1, so the runbook now blocks live rollout until a forward purge/invariant migration is merged and verified. The review thread was resolved; merged as `ec9142628752e6d11531e20a6ebf2e95cf39f865` with exact changed blobs verified on `origin/main`.", - "checks": "Documentation links 915, documented scripts 299, affected Markdown Prettier, static migration-order/rollout-blocker assertions, and `git diff --check` passed. Hosted Static, PR required, policy, Semgrep, Gitleaks, and GitGuardian passed; docs-irrelevant jobs skipped. No Supabase/OpenAI/database migration/deployment/provider call ran." + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (E-4 pair verdict — no code change; #1039 merged as 9b655fa)", + "head": "canary run 29800029819 (#60, main 9b655fa = E-3b+PR-B+PR-C)", + "scope": "(recorded with Outcome)", + "outcome": "PHASE E-3 WAVE CLOSED — E-4 VERDICT: ADOPT (no revert). 44-case: the ONLY blocking red is the KNOWN persisting neuroleptic citation case (0.0227, identical #57 signature: generation quality-failed → extractive fallback 1 citation — the pre-declared Option A carve-out, retrieval-side, untouched by answer waves); route_ceiling_failures 0 CONFIRMED ON MAIN (E-3b: agitation 23.1s < 25s after 20.3s provider timeout; clozapine 14.5s with exactly one retrieval-exhausted audit cell); grounded 1.0 / unsupported_correct 1.0 / numeric 0 / governance-danger 0 all held; expected_source_hit 0.6136→0.6364 (#1020 widen); generation attempts 19→9 across 44 cases (10+ cases short-circuit via validated_routine_extractive_first at 2-6s, zero generation spend — the absolute wasted-generation seconds collapse; residual 6 discarded attempts are the named E-3d H2 strong/comparison slice). Targeting vs #58 baseline: rate 0.5909→0.6667, dose 1/5→2/4 (sertraline + quetiapine still miss), document_lookup 5/5→6/6, contraindication 2/2, red_result 2/2, pathway 1/2; readability/artifact_leaks 1.0. NOT met: monitoring_schedule flat 1/5 — per-miss lens shows answers of 73-232 chars with NO schedule token available to promote (olanzapine-lai 79ch, metabolic 73ch = single-fact extractive answers; the PR-C promotion is a no-op when no figure-bearing fact is extracted) → root is fact-extraction/retrieval depth on monitoring shapes, queued as the Option-A-wave companion diagnosis (dump artifact 8483731630, 30d retention). WATCH escalated: relevance 0.6 (#58) → 0.5667 (#59) → 0.5333 (#60) — two single-case steps coinciding with more terse extractive answers; fail_closed 0.9 = exactly the #58 main baseline (#59's 0.9333 was the outlier), safety texture flat. Adoption per plan criteria: targeting ≥ baseline ✓, grounded/refusal 1.0 ✓, golden 36/36 ✓ (in-run), ceilings 0 ✓, citation red = carved known case ✓. CodeRabbit post-review follow-up landed pre-merge (02b5c78): interval-regex full-match reorder (atom path proven to intercept the claimed exploit; reorder = drift hardening), clinicalValueAtomKey exported (mirror deleted), guard tests made honestly discriminating + genuine zero-atom \"annually\" coverage both directions. Instrument note: cost rates live on the targeting step env but eval:quality still reports cost n/a (estimator not consuming them in the 44-case path) — minor tooling residual. Spend +~$2-4 → Phase E total ~$8-16 of ≤$20.", + "checks": "Evidence: run #60 job log read in full (Threshold Status: citation-only; Answer Metrics + 44-row diagnostics; targeting metric_rates + 7-miss list); artifact eval-canary-output 8483731630 sha256 d5c7006e… (download blocked in-session — GitHub App scope; log tee carried the targeting output)" }, { - "date": "2026-07-18", - "ref": "PR #868 / codex/private-title-privacy-20260718", - "head": "77482fc9e (privacy implementation + rollout-order follow-up)", - "scope": "title-vocabulary privacy, migration safety, and merge-readiness review", - "outcome": "Fixed the historical private/non-indexed `document_title_words` exposure with a forward purge, exact indexed-public-title invariant, concurrency-safe `FOR SHARE` guard, constraint/ACL/RLS hardening, and a fail-closed postcondition. Review then found and fixed a P1 rollout interval by purging inside `20260717171000` before its table-backed corrector is installed, while retaining the forward migration for already-applied environments. The review thread was resolved; merged as `0df01d88ac36616a3f47e2e94e758432ef27999c` and verified on fresh `origin/main`.", - "checks": "Disposable Postgres replay and drift-manifest regeneration; focused schema Vitest 66/66 before the final docs-only sync; function-grant check; scoped ESLint; diff/manifest proof. Exact-head hosted Static, Unit coverage, Safety/config, Migration replay, PR required, policy, Semgrep, Gitleaks, and GitGuardian passed. Non-required Supabase Preview failed against a separate preview target and was not touched or rerun. No live Supabase/OpenAI/product-provider command or production migration apply ran." + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Option A wave verdict — no code change; #1040 merged as cde6c5c)", + "head": "canary run 29827012719 (#61, main cde6c5c) vs banked #60 (29800029819)", + "scope": "(recorded with Outcome)", + "outcome": "OPTION A WAVE ADOPTED — FIRST FULLY-GREEN 44-CASE CANARY IN PROGRAM HISTORY (Blocking failures: None). (1) Option A payoff EXCEEDED: citation_failure_rate 0.0227→0; the neuroleptic-side-effect-escalation case flipped from wrong-doc→failed-generation→1-citation-fallback to **strong route, successful gpt-5.6-sol generation, passed in 15.4s with no fallback marker** — the rescued S3 retrieval fixed generation itself, not just the citation count; expected_source_hit 0.6364→0.6591. (2) Golden held exactly as the blast-radius analysis promised: 36/36 PASS, content_recall 1.0, mrr@10 0.8921 BYTE-IDENTICAL to the pre-wave baseline (zero ordering movement — no golden case fires the predicate), irrelevant@10 0.1083→0.0917 (slightly better). (3) Parity payoff PARTIAL: monitoring targeting 1/5→2/5 (olanzapine-lai flipped — previously called a retrieval-depth residual; quetiapine-dose also flipped on the dose side); lithium-range (232ch) + metabolic (73ch, byte-identical answer to #60) did NOT flip despite offline-proven fixes — their live chunk sets evidently contain no admissible schedule sentence even under the widened gate → reclassified as retrieval-depth/live-content residuals joining adhd; below the ≥3/5 target but strictly improved, no regression anywhere. Dose 2/5 vs 2/4: same passing count, applicable set grew (new quality-metformin-renal-dosing miss = eval-set churn, not regression). (4) No-worse EXCEEDED: relevance 0.5333→0.6 (the two-step watch-item slide FULLY REVERSED to the #58 level), targeting_rate 0.6667→0.6957, fail_closed 0.9 held, readability/artifact_leaks 1.0, route ceilings 0, grounded 1.0, unsupported_correct 1.0, numeric 0, p95 22.8s, red_result 3/3. Adoption per the measured-gain rule: primary goal achieved, three case flips, relevance recovered, zero regressions. Residual queue: monitoring retrieval-depth trio (lithium-range/metabolic/adhd), E-3d H2 discards, weekly ANSWER_CASE_LIMIT 8→44 raise now unblocked (gate would be green), comparison-class coverage. Wave spend +~$2-4 → Phase E + Option A total ~$12-20 of ≤$20.", + "checks": "Evidence: run #61 job log read (Threshold Status: None; Answer Metrics; neuroleptic diagnostics row; targeting metric_rates + 6-miss list; golden 36 PASS lines + summary). Revert drill NOT triggered." }, { - "date": "2026-07-18", - "ref": "PR #871 / codex/design-audit-final-pr-20260718", - "head": "bb85b546e + ledger closeout", - "scope": "final current-main design/accessibility audit integration, hosted review resolution, and PR-readiness review", - "outcome": "No remaining high-confidence P0-P2 defect after current-main reconciliation, two independent read-only reviews, and remediation of every confirmed review finding. The follow-ups made client demo state fail closed in production for both prototype items and set suggestions, separated local no-auth upload capability from Favourites demo treatment, kept unavailable Favourites controls focusable with accessible reasons, restored visible skip-target focus, limited Favourites selection to the wide layout that exposes its workspace, aligned upload/index semantics with each responsive rendering mode, exposed filtered Tools results as a labelled group, and kept Therapy Compass in an honest loading state until its catalogue resolves. The audit also distinguishes completed browser assertions from an incomplete valid document-source redirect case. External design-target fidelity remains unverified without an approved target.", - "checks": "Canonical local PR verification completed through runtime, changed-file formatting, full ESLint, TypeScript, full Vitest, webpack production build/client-secret scan, and offline RAG fixtures. Focused Therapy, navigation/auth, demo-boundary, and unavailable-control regressions passed after correcting one test-order issue; the final demo/upload boundary selection passed 4/4; scoped zero-warning ESLint, changed-file formatting, and `git diff --check` passed. The full local Chromium sweep completed 236/237 with one hydration-timing failure: the app-mode test clicked before React attached its handler. The existing handler-readiness pattern was applied; focused rerun attempts were then lock-blocked by another registered worktree, so exact-head hosted Chromium remains the required proof. Initial hosted checks, including Production UI, passed before these final follow-ups. No OpenAI, Supabase, production-data, deployment, or live clinical workflow ran." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (Phase B live pair — no code change; recorded for eval-history completeness)", + "head": "canary runs 29763761133 (#53 baseline) + 29769050798 (#54 tuned)", + "scope": "ADDENDUM 4 Phase B verdict: staged 3-class tuner weights produced ZERO live movement — NOT adopted per the measured-gain rule", + "outcome": "Offline tuner recommendations (document_lookup titleSection→0.9, table_threshold clinicalEvidence→0.95, comparison hybridRelevance→0.95; proxy comparison-mrr 0.833→1.0) staged via the B-PR-1 rag_ranking_config input; #54 log proves the override active (validation step echo). Result vs re-gated baseline: mrr@10 0.8921 vs 0.8922, irrelevant@10 0.1083 vs 0.1083, recalls 1.0/1.0 both, 36/36 both, all four headroom cases byte-identical rr (flowchart 0.20, ciwa-threshold 0.25, patient-safety 0.33, opioid 0.33). Learning: the 5-candidate linear proxy saturates; real headroom lives in fast-path saturated-tie structure (Phase C trigger condition mrr < 0.90 formally met; user authorized C). Nothing to roll back (per-run override). Spend ≈$2-4 of user-raised ≤$20 cap.", + "checks": "Both canary runs green (36/36 + answer-quality); override-active proof in #54 job log; no adoption = no code diff" }, { - "date": "2026-07-18", - "ref": "PR batch screenshot queue → #808 / cursor/pr-queue-land-bfe7", - "head": "3b54a785c7c6073024b6bae0182b6a9321154595", - "scope": "open-PR review + merge babysit", - "outcome": "Consolidated unique remaining work from screenshot PRs onto current main via #808 (Also matches placement, factsheets, audit metadata minimize with numeric storageRemoved, answer-progress UI gate, global-error role=alert). Superseded already-landed #800/#799/#801/#802 (via #798/#804). Closed conflicted/failing design-audit duplicates #789/#790/#803/#806/#807/#788 and older duplicates #748/#749/#751 without replaying Production UI regressions.", - "checks": "Hosted #808: required checks green (Static/Unit/Build/Production UI/Migration replay/PR required). Supabase Preview failed (non-blocking concurrent preview limit). Local focused Vitest audit+factsheets; sitemap:check; ci-change-scope self-test. verify:cheap PDF budget failures pre-existing on main. No OpenAI/live Supabase writes." + "date": "2026-07-31", + "ref": "codex/complete-repository-maturity-programme", + "head": "cb07a6c3698bc5683a0783555032490cbf09b674", + "scope": "PR #1472 reopen prep", + "outcome": "approved-with-notes", + "checks": "verify:pr-local green (444 files / 4645 tests); maintainability 4336/4351; focused RAG 730; bugbot none; CodeRabbit baseline fixed; main merged clean; PR left CLOSED" }, { - "date": "2026-07-18", - "ref": "PR batch screenshot queue → #808/#812/#814", - "head": "44555ab9e414f615981eb444f46a62333c28ec18", - "scope": "open-PR review + merge babysit", - "outcome": "Screenshot PRs #784–#789 closed as superseded. Unique residual work landed via #808 and #812. Design-audit/Playwright stack landed via #814 after Production UI fixes (Clinical Guide H1, service mocks, reduced-motion dock asserts), presentations empty-query fallback, and CodeRabbit thread resolution (RightRail remount, IS DISTINCT FROM, no-op dropped trigram migration). #783 already merged. Communication #17 inaccessible from this token.", - "checks": "Hosted #808/#812/#814 required checks green including Production UI; migration replay green on #814. No OpenAI/live Supabase writes." + "date": "2026-07-13", + "ref": "origin/claude/site-performance-speed-61d154", + "head": "cb0bcf35498385bca1180462c8ab79b6f8293708", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/site-performance-speed-61d154; git diff --name-only reported 20 path(s)." }, { - "date": "2026-07-18", - "ref": "PR batch screenshot queue → #853 / cursor/pr-queue-land-3084", - "head": "11ec0122f (tip of cursor/pr-queue-land-3084)", - "scope": "open-PR review + merge babysit", - "outcome": "Reviewed screenshot PRs #833/#837/#845–#852 + Communication #19. #852/#848 already merged. Closed superseded/unsafe: #833/#837 (empty vs main), #845 (clinical-search over-expand; fixed in #853), #846/#847/#849 (Production UI red design-audit dupes), #850 (CONFLICTING), #851 (schema-test regressions), #726 (CONFLICTING CodeRabbit UTG). Unique safe fix landed in #853: agitation chart expansion without bare table/management over-trigger. Communication #19 inaccessible (repo not resolvable).", - "checks": "Focused Vitest clinical-search 42/42. Local verify:cheap unit suite hit pre-existing pdf-extraction-budget failures also on main (2 tests). Hosted #853 required checks green (Static/Unit/Build/PR required/policy/Semgrep/Gitleaks/GitGuardian). Squash-merged to main. Also closed follow-on dupes #854 (same failing tip as #851) and #855 (Clinical KB H1 reverts #814 Clinical Guide contract; Static/PR policy red). Communication #19 inaccessible. No OpenAI/live Supabase writes." + "date": "2026-07-14", + "ref": "claude/site-performance-speed-61d154", + "head": "cb0bcf35498385bca1180462c8ab79b6f8293708", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-18", - "ref": "PR batch screenshot queue → #883–#888 / #891", - "head": "8b0a600209 (main tip after #887)", - "scope": "open-PR review + merge babysit", - "outcome": "Reviewed and land-safe-merged screenshot PRs. Merged #888 (worker placement dedupe), #891 (PR policy `github.workflow_sha` checkout superseding incorrect #884 `base.sha`), #886 (mobile differentials FAB), #885 (Compare selected href; closed duplicate #883/#882), #887 (Therapy mode-home align + nested-main landmark fix). Closed superseded #884/#883/#882/#881/#877/#875. Fixed PR-policy bodies (Clinical KB governance checkbox), resolved Codex/CodeRabbit threads, Prettier on therapy landmark files, and re-synced branches through main between merges. No high-confidence residual P0-P1 on landed heads.", - "checks": "Hosted required checks green per PR before squash auto-merge (PR policy, Static, Unit, Build, Production UI where UI-scoped, PR required, Semgrep, Gitleaks, GitGuardian). Local: `check:pr-policy`, focused therapy landmark Vitest 5/5, Prettier on touched therapy files. No OpenAI/live Supabase writes." + "date": "2026-07-13", + "ref": "origin/dependabot/npm_and_yarn/eslint-10.7.0", + "head": "cb724b649082bcaf7046a5a8fd913c6ae603dd31", + "scope": "branch-cleanup", + "outcome": "Retained for open PR #547.", + "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-07-17", - "ref": "codex/chat-audit-remediation-port-20260717", - "head": "4f41093ba01f88e6d04a53f0782e8676806e3f6f", - "scope": "audit-findings remediation and local merge-readiness review", - "outcome": "No remaining high-confidence P0-P2 defect in the reviewed diff. The review fixed two integration issues before handoff: transactional delete moved `rag_response_cache` cleanup out of the API route but left the explicit route-table guard stale, and upstream added a migration after the intentionally final fail-closed ACL assertion. The guard now matches direct route queries and the unapplied ACL migration is renumbered last. Publication requires explicit approved manifests, delete/reindex is serialized transactionally with upload compensation, PDF extraction is bounded, search ignores staged generations, and unsafe effective default ACLs block.", - "checks": "Rebasing and regenerated drift manifest against local `origin/main` 220de891; disposable Docker schema replay; publication/delete/ACL SQL fixtures; Python 4/4; focused Vitest 237/237 plus post-sync schema/retrieval 66/66; docs guards; offline RAG 290/290; production-readiness CI ready; `verify:cheap` 2602/2602 before final upstream sync; exact-head `verify:pr-local` formatting, lint, typecheck, 2628/2628 tests, production build (1043 pages), client-secret scan, and RAG fixtures; `git diff --check`. No live Supabase/OpenAI/GitHub/hosted-CI/provider checks, deployment, or live migration apply." + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "cb73b200ccbafa4378df8d7ae103beb8e464e783", + "scope": "CI babysit + Bugbot closeout", + "outcome": "COMPLETED for current tip. Required CI green (PR policy, Static, Unit, Build, PR required, SAST, Gitleaks). Body retains checked Clinical Governance Preflight. Bugbot: no findings. No unresolved review threads. Residual: human approving review only.", + "checks": "Hosted tip `cb73b200`: all required checks SUCCESS. Local claim-support Vitest 40/40. No providers." }, { - "date": "2026-07-17", - "ref": "codex/chat-forms-import-6914", - "head": "e5caaa46cad5fb9a937f1dc43312723799b98abb + working-tree diff", - "scope": "shared Forms/Services catalogue access and LOCAL_NO_AUTH_OWNER_ID review", - "outcome": "Fixed one P1 availability/design defect: authenticated reads materialized a private copy of the shared catalogue on first access, creating drift, unnecessary writes, and possible registry-corpus side effects. Forms/Services now merge the reviewed shared baseline with private owner overrides for list, detail, and universal search; older partial overrides retain missing shared metadata; no registry GET seeds or embeds. Private rows and linked documents remain owner-scoped. The ignored local owner setting was corrected to the verified sole live-owner UUID and source validation now requires a UUID. No remaining high-confidence defect in scope.", - "checks": "Focused registry/universal Vitest initially exposed four local expectation/count mismatches; corrected registry suite passed 17/17 and registry/logging suite passed 23/23. Full TypeScript passed. `verify:cheap` passed runtime, action pins, sitemap, brand, type/icon/function guards, full lint, and TypeScript; full Vitest reached 2,588 passing with one stale logging-guard failure, which was fixed and focused-verified. The final full-suite rerun was terminated by the 5-minute host timeout without a reported assertion failure. `git diff --check` passed. No Supabase/OpenAI/provider call or schema/RLS mutation was run for this review." + "date": "2026-08-03", + "ref": "claude/ds-v2-adopt", + "head": "cb898bec11082c533aae5f42fbd415de1ff0f5e4", + "scope": "review-and-fix PR #1595", + "outcome": "fixed P1 stale Open source nav + P2 clipboard metadata + RadioGroup id; dispositioned #225 favourites triple live; merge-tree clean", + "checks": "vitest 111 passed (answer-copy, cited-href, clipboard-product, ui-v2-components, ui-v2-answer-safety)" }, { - "date": "2026-07-17", - "ref": "codex/chat-supabase-migration-preflight-b463", - "head": "f7c4e293ef35acc54f2b82bbccb2990d51289d5c", - "scope": "live production Supabase security, integrity, drift, and performance review plus remediation", - "outcome": "Resolved and deployed the P2 retrieval-performance issue with `20260717160000_optimize_owner_public_retrieval`: owner/public filtering now happens in one scoped query and index-unit text/term candidates use separate GIN-friendly branches. Warm text retrieval improved from 1.269 seconds to 34 ms; warm index-unit retrieval completed in 36-39 ms (first cold run 2.376 seconds with 2,009 physical reads). No P0/P1 security, privacy, RLS, privilege, storage, migration-history, or integrity issue was found.", - "checks": "Isolated Docker schema replay; pre-deploy drift showed exactly four intended function changes; linked production push; post-deploy `No unexpected schema drift`; exact project and migration-history checks; security and performance advisors; live access-scope parity; bounded `EXPLAIN ANALYZE`; post-migration logs; focused Vitest 74/74; offline RAG fixtures 36/36 and contract tests 291/291; ESLint; TypeScript; function grants; production readiness. Full `verify:cheap` reached the 10-minute host timeout during broad Vitest and ended with EPIPE; focused and domain checks passed. No OpenAI calls, write load test, or backup/PITR restore test was performed." + "date": "2026-07-13", + "ref": "claude/perf-r2-bundle-hygiene", + "head": "cb9c0f9502f61bd29fe3761e1ad3122a3233a27c", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #475; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-17", - "ref": "codex/ci-answer-progress-regression", - "head": "bfa0ed3dfc69d5b333ba43479023cb9a8e8925d3", - "scope": "CI verification gap", - "outcome": "Fixed: the production answer-progress Playwright journey was excluded by both top-level and Chromium project matchers, while its filename also skipped the CI UI trigger; its assertions could therefore change without the required UI job executing.", - "checks": "Local static inspection of `playwright.config.ts`, `scripts/ci-change-scope.mjs`, Vitest globs, and CI workflow; classifier self-test confirms the journey now sets `ui_changed=true`. Focused Playwright execution reached the isolated Next build but was blocked by unavailable Google font downloads; no hosted CI or provider-backed checks run." + "date": "2026-07-24", + "ref": "codex/query-ribbon-search-headings (PR #1166)", + "head": "cbb493c2b51dd7120df39cfbcd5f19b73f882d43", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Before: not behind at start, then main advanced (8 behind); required checks green except Production UI still pending on prior head; 0 unresolved review threads; no Bugbot findings. After: merged origin/main cleanly (docs/branch-review-ledger.md + src/app/layout.tsx auto-merge). No code fix needed.", + "checks": "merge origin/main only; no provider-backed checks run." }, { - "date": "2026-07-17", - "ref": "codex/design-audit-20260716", - "head": "47b58ddf95826231a6057b400e7f601c403a129d + reviewed working diff", - "scope": "exhaustive design, accessibility, UX, interaction, route, responsive, HTML/CSS/JS/TSX, and test-coverage audit with remediation", - "outcome": "No P0. Fixed two P1 trust/responsive defects and the confirmed P2/P3 set: false Favourites provenance/demo leakage/dead controls, Therapy phone reflow/load recovery/contrast, semantic tabs/search/filters, error focus/theme, deterministic Forms back navigation, honest unavailable actions, application dialog semantics, duplicate differential keys, skip-link target, Playwright project isolation, and route coverage. External visual-target fidelity remains unavailable.", - "checks": "Static 261-file/~67,944-line inventory; independent combined-diff review; focused Vitest 21/21; jsdom 24/24; architecture 6/6; accessibility browser 5/5; focused route/browser recovery; lint; TypeScript; runtime/workflow/sitemap/brand/type/icon checks; production build with 1,043 pages and client-secret scan; `git diff --check`. Canonical aggregate Vitest was Windows-runner inconclusive and full UI was not repeated after focused remediation. No provider/API checks." + "date": "2026-07-26", + "ref": "PR #1253 / `remediate-system-audit-findings`", + "head": "cc1fa9d48434c809e2cf73dfeb3124d2b36f0968", + "scope": "Authorized babysit peek", + "outcome": "CLOSED before sweep actions. CONFLICTING vs main with clinical/answer/privacy paths; non-trivial — no merge attempted. Policy failure was missing Clinical Governance Preflight (body not agent-managed).", + "checks": "merge-tree conflict inventory only; no provider-backed checks." }, { - "date": "2026-07-17", - "ref": "codex/header-footer-scroll-timing-20260717", - "head": "8298bfdcb40c207dbac1128e83c07b4aba782e32", - "scope": "header and bottom-composer scroll timing, motion, responsive behavior, and merge readiness", - "outcome": "Added deliberate hide/reveal travel thresholds with direction-reset handling, aligned header and composer easing/durations, and preserved reduced-motion and breakpoint behavior. No remaining high-confidence P0-P2 defect was found in the scoped diff or focused live behavior.", - "checks": "Focused Vitest 7/7; targeted Chromium UI 5/5; scoped ESLint; Prettier; full TypeScript; full lint; `git diff --check`. `verify:cheap` reached the aggregate Vitest phase, where two repository graph scans exceeded their 30-second test timeout under local disk contention; isolated assertions passed until the same timeout. No Supabase/OpenAI/live-provider checks run." + "date": "2026-07-26", + "ref": "PR #1253 / `remediate-system-audit-findings`", + "head": "cc1fa9d48434c809e2cf73dfeb3124d2b36f0968", + "scope": "open-PR babysit sweep: close without merge", + "outcome": "CLOSED (not merged). ~507 behind with real merge-tree conflicts across answer API/evidence/tests/docs; PR policy missing governance/RAG impact. Salvageable ideas need clean rebuild on main, not this tip.", + "checks": "merge-tree conflict inventory; no provider-backed checks." }, { - "date": "2026-07-17", - "ref": "codex/historical-branch-cleanup-20260717", - "head": "e36ac0c6628264c7ed6c494a597a62d0214b68f6", - "scope": "branch-cleanup and historical-content recovery", - "outcome": "Completed the pending historical cleanup: deleted 55 exact-SHA remote refs and 20 redundant local refs, removed nine clean merged worktrees, preserved every dirty, active, open-PR, or patch-unique worktree, and recovered the still-useful governance incident runbook from `codex/domain-1-governance-remediation`. Historical code changes were either tied to merged PRs or reviewed as superseded by current implementations; open PRs #699, #700, #702, and #704 remain protected.", - "checks": "Fresh `git fetch --prune`; GitHub PR inventory and exact commit-to-merged-PR associations; exact remote SHA rechecks before deletion; cherry-pick-aware logs; two-dot tree and branch-only-file review; Codex task-to-worktree cross-check; focused documentation validation recorded in the cleanup PR. No OpenAI, Supabase, production-data, or live clinical workflow was run." + "date": "2026-08-07", + "ref": "claude/ds-truth-fixes (PR #1655)", + "head": "cc349d1305df7cc0619d73a9487d8eb04d65acff", + "scope": "prlanded", + "outcome": "MERGED; squash tip empty vs branch tip 1ffa4be19ea91e4da686082aec832cba5eddb47f; design-system truth fixes + retire left/right knob", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-07-17", - "ref": "codex/mobile-search-phone-refresh-20260717 (supersedes PR #700)", - "head": "42a3e3ce65dc5a0e1dce386e0b91fccd23d13d6c + reviewed follow-up diff", - "scope": "phone universal-search command-panel recovery and merge-readiness review", - "outcome": "Recovered the still-useful behavior from PR #700 onto current `main`, including its hydration fix and wide-touch regression coverage. Hosted Production UI then exposed one desktop focus race: capability state intentionally initializes false for hydration safety, but an input could receive focus before the post-hydration effect synchronized the real browser state. The follow-up recomputes the same guarded predicate synchronously on focus; it requires the placement breakpoint plus either a fine pointer or a zero-touch desktop fallback, so wide touch devices remain suppressed while desktop keeps the first command-panel interaction. No remaining high-confidence P0-P2 defect was found in the scoped diff.", - "checks": "Focused Vitest 7/7; `npm run ensure` verified the project at `http://localhost:3751`; hosted static, safety, coverage, build, advisory UI, Semgrep, Gitleaks, and GitGuardian passed; the first hosted Production UI run isolated the nine desktop regressions. The focused browser proof reproduced the desktop race while the wide-touch regression passed, and exact-head hosted Production UI remains required after the focus fix. `format:changed -- --check` and `git diff --check` passed before the final follow-up. No Supabase/OpenAI/product-provider command ran." + "date": "2026-08-18", + "ref": "claude/schema-work-mem-codify-6200f1", + "head": "cc46d8164537306436a42fdfcf4116c0b56e0449", + "scope": "db remediation Phase 3 (reframed): codify live SET work_mem on ten match_* RPCs, eight schema-only objects, three chain-stale columns; forensics section Phase 3; #316 + #183 inbox requests (PR #2106)", + "outcome": "Reviewed and handed off; no function body changed; ten manifest def_hash equal live production hashes 10/10; staging proof deliberately not run (Phase 2 re-measure absent on main); production window listed in PR body", + "checks": "drift:manifest 75s; check:migration-role passed; vitest 8 schema/drift files 149 passed; verify:pr-local all stages green except test (3 red: session-start-hook env + two host-load timeouts, both pass in isolation 182/182); check:rag:fixtures 36/26 passed; medication checks up to date; pr-policy ok clinicalRisk preflight satisfied" }, { - "date": "2026-07-17", - "ref": "codex/performance-latency-remediation-20260717", - "head": "f277d13512e85dcaae4f9b94d028a8087e41375a", - "scope": "end-to-end database, network, middleware, client rendering, migration, privacy, and merge-readiness review", - "outcome": "Fixed all confirmed performance findings plus three final review blockers: title-vocabulary backfill now installs its privacy trigger first, canonical schema replay preserves hardened trigger-function ACLs, and medication auto-seeding no longer aborts its own owner-cache flight. The isolated worktree also uses Next's supported Webpack fallback only when shared dependencies resolve outside the project. No remaining high-confidence P0-P2 defect was found in the reviewed diff.", - "checks": "Docker scratch replay and drift-manifest regeneration passed; live read-only plans selected lexical, table-fact trigram, and chunk HNSW indexes; exact TypeScript passed; focused Vitest owner-cache 9/9, runner safety 12/12, bundle budget 10/10, offline RAG 291/291, and earlier aggregate unit run 2,657 passed with its sole corrected schema assertion subsequently validated by direct ordering/ACL checks; production build and bundle budget passed at 1,363,382 gzip bytes; targeted Chromium dashboard deferral and NDJSON search passed, while the viewer trace reached all hydration/preview assertions and its corrected download-control selector remains for exact-head hosted UI. No OpenAI calls, live Supabase writes/migrations, deployment, or production mutation ran." + "date": "2026-07-27", + "ref": "`codex/phone-bottom-band-root-20260727`", + "head": "cc63ee90928d402eb9c5dd241e411ed88cc01f27", + "scope": "Hosted Applications search hydration follow-up review", + "outcome": "APPROVE. The final hosted Chromium failure was a test synchronization race: server-rendered content was visible before the controlled global-search input had its React onChange handler, so hydration could discard an immediate fill. Both shared-search tests now wait for the React handler and assert the accepted value before checking filtering. No product behavior changed and no P0-P3 finding remains.", + "checks": "Exact locked Next 16.2.11 / Playwright 1.61.1 production Chromium repeat PASS (20/20); `verify:cheap` PASS (25 gates; 393 files; 3519 passed / 2 skipped); no non-GitHub provider-backed checks." }, { - "date": "2026-07-17", - "ref": "codex/pwa-privacy-safe-20260717", - "head": "35fa8c929d44a9bd84b3f7f2b795354d3b6dae02", - "scope": "privacy-safe PWA shell and merge-readiness review", - "outcome": "No remaining high-confidence product defect in the changed scope. The pre-push browser gate found and fixed one P2 test defect: cleanup referenced `PWA_CACHE_PREFIX` without passing it into the browser context, and the cold installability flow now has a focused 120-second budget. The worker caches only the generic offline page and allow-listed public shell assets; navigations, APIs, auth, queries, documents, uploads, signed URLs, range requests, and cross-origin traffic remain network-only.", - "checks": "Current-main integration; focused Vitest 81/81; full uncached ESLint; TypeScript; scoped Prettier and diff checks; production Webpack build generated 1,043 pages and the client-bundle secret scan passed; full Vitest produced 2,506 passes plus six contention timeouts, with all affected files passing 24/24 serially; focused Chromium PWA 2/2. No Supabase/OpenAI/live-provider checks run." + "date": "2026-07-26", + "ref": "PR #1255 / `execute-audit-remediation-plan`", + "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", + "scope": "Authorized babysit peek", + "outcome": "CLOSED before sweep actions. CONFLICTING vs main including `api/answer`, ClinicalDashboard, privacy routes; non-trivial — no merge attempted. Policy failure was missing Clinical Governance Preflight.", + "checks": "merge-tree conflict inventory only; no provider-backed checks." }, { - "date": "2026-07-17", - "ref": "codex/scroll-geometry-stability-20260717", - "head": "f88a41ae5fb62ae39d5d1d33fd5e21490e1ea60e", - "scope": "phone scroll geometry and boundary stability review", - "outcome": "Confirmed two coupled P2 interaction defects: hiding the fixed bottom composer removed its reserved space and changed the scroll viewport, while collapsing the in-flow header at the bottom produced a browser-driven scrollTop clamp that was misread as an upward gesture. The dock now keeps stable clearance, hide/reveal uses directional hysteresis, and geometry clamps are rebased without revealing chrome. No other high-confidence defect remains in the changed scope.", - "checks": "Focused Vitest 8/8; TypeScript; scoped ESLint; Prettier; `git diff --check`. `npm run verify:cheap` reached the full Vitest phase but was stopped after making no progress under concurrent local Vitest workloads. Turbopack rejected the external node_modules junction and Webpack did not reach the identity endpoint, so exact-head hosted UI and required CI remain the merge gates. No Supabase/OpenAI/live-provider checks run." + "date": "2026-07-26", + "ref": "PR #1255 / `execute-audit-remediation-plan`", + "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", + "scope": "open-PR babysit sweep: close without merge", + "outcome": "CLOSED (not merged). Unsafe #1188 lineage: ~507 behind, merge-tree dirty, literal `>>>>>>> theirs` in `evidence-panels.tsx`, dangling `renderSystemNotice`. Intentional maintainability already on main via #1213.", + "checks": "Marker/dangling-call grep on tip; merge-tree conflict inventory; no provider-backed checks." }, { - "date": "2026-07-17", - "ref": "codex/scrolling-cleanup-20260717", - "head": "ff77cd06c + latest origin/main sync", - "scope": "cross-page scrolling and interaction stability review", - "outcome": "Fixed two confirmed P2 defects: desktop action-popup placement performed synchronous geometry work for every captured scroll event, and submitted differential searches with zero document matches fell back to the home state. Placement is now coalesced per animation frame with passive scroll listeners, and submitted empty-evidence results remain visible. Hardened three popup/navigation browser helpers that reproduced hydration timing failures. No other high-confidence defect remains in the scoped diff.", - "checks": "Scroll-focused Chromium 28/28; final affected Chromium 5/5; source regressions 2/2; scoped ESLint; Prettier; TypeScript and production build passed before the final upstream-only sync; `git diff --check`. The aggregate local Vitest/UI runs were affected by concurrent-worktree resource contention, so exact-head hosted CI remains required before merge. No Supabase/OpenAI/live-provider checks run." + "date": "2026-07-30", + "ref": "origin/execute-audit-remediation-plan", + "head": "cc645928cefb18e4c08870ddc1c483bc051a92b9", + "scope": "branch-cleanup", + "outcome": "RETAIN at new HEAD (prior branch-cleanup deletion was a different tip). Closed PRs #1255/#1188; tip still has 30-file unique three-dot content vs main. Keep until ported or explicitly rejected.", + "checks": "ledger lookup (earlier DELETED at 8b863911); cherry-pick; gh CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-17", - "ref": "codex/test-reliability-hardening", - "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + reviewed remediation diff", - "scope": "implementation and merge-readiness review of heavyweight locking, offline test isolation, focused/live test selection, Playwright ownership, flake classification, CI consolidation, and browser race fixes", - "outcome": "No remaining high-confidence P0-P2 issue in the reviewed diff. Three scoped integration defects were fixed before handoff: advisory mockup tests were unreachable behind the production route boundary; explicit focused-test paths did not fail closed when deleted or missing; and JUnit spec identities were relative to the Playwright test directory while the ledger uses repository-relative paths. Provider scrubbing was expanded to all repository-specific Supabase/database/E2E credentials, and early Playwright server signal/launch failures now fail immediately. Residual risk is final integration with the latest `main` and the full production Chromium run.", - "checks": "Offline focused Vitest 36/36 then 22/22; full TypeScript passed; targeted Prettier passed; `git diff --check` passed. Full ESLint was externally interrupted without a result and remains required on the clean integrated tree. Provider-backed Supabase/OpenAI checks were not run." + "date": "2026-08-10", + "ref": "PR #1788", + "head": "cc64d8356ca964ef2e550f4493f17778965ada79", + "scope": "Run PR sweep", + "outcome": "merged origin/main (resolved in-page-nav ContextualBackLink+rail); fixed restore metadata/signature/guest clear, privacy copy, tap targets, medication pathname mock; threads dispositioned; tip follows", + "checks": "merge-tree clean; vitest answer-thread/privacy/nav/medication/in-page-nav pass; CI pending after push" }, { - "date": "2026-07-17", - "ref": "final historical branch/worktree cleanup against `origin/main`", - "head": "5d195d7ca8752b2ae4006725c6b145c5662bb687", - "scope": "branch-cleanup", - "outcome": "Merged PRs #716 and #717, closed superseded PR #700, and removed the three clean task worktrees. Deleted exact remote refs for `codex/mobile-search-phone-fix-20260717` (`590f32b73`), `claude/audit-findings-review-phgz92` (`ea3b8f95b8`), `codex/chat-forms-import-6914` (`b05da82f82`), `codex/chat-supabase-migration-preflight-b463` (`1ef0faee95`), and `codex/dsm-diagnosis-mode` (`f6cda83ca6`); the merged #716/#717 branches were deleted automatically. Deleted 14 unregistered local refs only after direct-main ancestry, exact ledger deletion-pending proof, or exact merged-PR commit provenance. Final inventory found zero remote branches without an open PR or registered worktree, zero locally merged or exact deletion-pending orphan refs, and no retired target refs or paths. Thirteen non-ancestor local refs and 25 registered worktrees remain preserved because they are backups, patch-unique/unresolved, open-PR-owned, or ownership could not be safely disproved.", - "checks": "Fresh fetch/prune; exact GitHub PR/head/merge associations; cherry-pick-aware logs; DSM PR #661 exact commit/file provenance; exact leased remote deletes; exact-old-value local `update-ref` deletes; clean-worktree and path/process checks; worktree prune; final zero-orphan inventory. The Codex task registry lookup timed out, so ambiguous registered worktrees were conservatively retained. No Supabase, OpenAI, production-data, or live clinical workflow ran." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "cc68da45cf37c5fbb6e588106e9d3bf8ab8004c3", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior focused UI review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-17", - "ref": "main (origin/main)", - "head": "e5caaa46cad5fb9a937f1dc43312723799b98abb", - "scope": "PWA setup review (service worker, offline fallback, lifecycle, manifest, headers/CSP, proxy bypass, test + CI wiring)", - "outcome": "Completed the interrupted PWA setup review at current `main`. The PWA surface (`public/sw.js`, `public/offline.html`, `src/components/pwa-lifecycle.tsx`, `src/app/manifest.ts`, `docs/pwa.md`, all four PWA test files) is byte-identical to the already-reviewed `codex/pwa-privacy-safe-20260717` merge (35fa8c9); the only post-review deltas (#705) touch `next.config.ts` dist-dir guards, `playwright.config.ts`, and `vitest.config.mts` without changing PWA behavior. Privacy contract confirmed sound: network-only navigations with offline fallback, cache-first restricted to hashed `/_next/static` with MIME/destination validation, credentials omitted, cross-origin/query/auth/no-store/Set-Cookie requests blocked, bounded versioned caches, no auto-skipWaiting. No P0-P2 findings. P3: `docs/pwa.md` rule 6 requires an explicit retirement/kill-switch worker but none is committed. P3: `offline.html` is precached at install and never revalidated, so editing it without bumping `CACHE_VERSION` in `sw.js` strands installed clients; suggest a Vitest guard binding the `offline.html` content hash to `CACHE_VERSION`. Minor (documented): `?pwa-dev=1` registration persists until manual unregister. P4: optional manifest polish (`launch_handler`, `display_override`); `next.config.ts`/`src/lib/security-headers.ts` diffs do not set `ui_changed`, so served-header e2e assertions rely on the static guard in `tests/pwa-manifest.test.ts` (deliberate per the scope self-test). Housekeeping: the stale local `codex/pwa-optimization` checkout with uncommitted precursor files exists only on the owner machine and was left untouched.", - "checks": "Focused Vitest via `npm run test -- tests/pwa-service-worker.test.ts tests/pwa-manifest.test.ts tests/pwa-lifecycle.dom.test.tsx`: 45 passed (38 node + 7 jsdom) after `npm install` restored the lockfile-pinned `jsdom` missing from this container. Config inspection: `playwright.config.ts` testMatch and production pattern include `ui-pwa.spec.ts`; `ci.yml` `ui-critical` runs `npm run test:e2e:pr` (chromium, grep-invert quarantine/mockup) gated by `ui_changed`, whose patterns cover `public/`, `src/app`, `src/components`, and `tests/ui-*.spec.ts`; Vitest projects include `tests/**/*.test.ts` plus `tests/**/*.dom.test.tsx`, so the PWA unit tests run inside `npm run test` and `verify:cheap`. `git diff f7c4e293e..e5caaa4` over the PWA paths showed no changes. `tests/ui-pwa.spec.ts` confirmed to assert the CacheStorage inventory privacy contract with API/Supabase/OpenAI routes blocked. Not run: local Playwright PWA e2e (browser gate separate; covered in the CI PR gate) and provider-backed checks (confirmation-required)." + "date": "2026-07-13", + "ref": "main (PR #570 squash, glass header)", + "head": "cc6bfc1c80902ca3c91e5ba2ebe78a80f3fd9e14", + "scope": "post-merge review: CSS/visual/a11y/perf + logic/regression", + "outcome": "No P0/P1. P2s confirmed and fixed in follow-up: build pipeline dropped ALL hand-authored backdrop-filter declarations (manual -webkit- duplicates confused Lightning CSS — header scrim, bottom dock, and composer pill were tint-only in every engine); scrim retuned to carry the bar's frost alone (header backdrop-root removed) with masks fading to true zero; private-scope alert made sticky inside main (was scroll-away in non-answer modes); scroll-hide reporter reset on breakpoint-gate change; non-forced fallback backgrounds layered to preserve the utility-wins contract.", + "checks": "Ran custom Playwright probe (`node scratchpad/probe-blur.mjs`, Chromium 390x844): baseline showed `getComputedStyle(.edge-glass-header-backdrop).backdropFilter === \"none\"` on all three passes, after fix `blur(14px)/blur(20px)/blur(26px)` — passed; Ran `node scripts/run-playwright.mjs tests/ui-smoke.spec.ts --project=chromium -g \"glass header|collapse hide|private-scope alert|phone (short|long) answer stays\"`: 6/6 passed; Ran `node scripts/run-playwright.mjs tests/ui-smoke.spec.ts --project=chromium` (full file): 71 passed, 4 failed (pre-existing `/privacy` heading test, fails identically on clean main); Ran `npm run verify:cheap`: exit 0 (1935 unit tests passed); Ran `npm run format:check`: passed; Not run: WebKit/Safari real-device check (no WebKit runner in this environment — served client chunk verified to pair `-webkit-backdrop-filter` with each declaration for Safari <= 17)" + }, + { + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "cc999ff537622d2bfa73df4d56be2b45b16c449a", + "scope": "Required base sync through main 3824095d8bf2", + "outcome": "approved", + "checks": "git diff --check; CI scope self-test; ledger and issue guards" }, { - "date": "2026-07-17", - "ref": "PR #635 / claude/github-actions-codex-issue-f4t4s5", - "head": "ab09a8d52cc0a8a7e71b37885aaa358aae2522c8", - "scope": "post-merge merge-readiness review", - "outcome": "Already squash-merged to main on 2026-07-14 by BigSimmo. No open review threads or inline comments. CI required checks all green (Change scope, Static PR checks, Safety and config checks, Unit coverage, PR required, Semgrep, Gitleaks, GitGuardian); UI/build/migration jobs correctly skipped. Landed diff is test/guard hardening only for missing `CODEX_TRIGGER_TOKEN` graceful skip. No high-confidence P0-P2 defect. Source branch already deleted. No further merge action needed.", - "checks": "Hosted CI status via `gh pr checks 635` (all required pass); local `node scripts/check-codex-autofix-workflow.mjs` pass; focused Vitest `tests/codex-autofix-workflow.test.ts` 41/41. No OpenAI/Supabase/provider writes." + "date": "2026-08-24", + "ref": "cursor/dictionary-persistent-filter-band-4ee0 (PR #2341)", + "head": "cc99fef611bcb3ed4d7bb2b79434a136b8f61c99", + "scope": "Run PR sweep: CI diagnosis + drift sync", + "outcome": "Before: PR required failing (Production UI shard 3 red on an unrelated differentials-compare-queue test); behind main. Diagnosed via job log: failure was in tests/ui-tools.spec.ts differentials compare queue test, unrelated to this PR's dictionary-only diff. Re-ran the failed job on the pre-sync head — it passed, confirming flake not regression. Synced origin/main in (clean merge-tree) via update_pull_request_branch. Post-sync full CI green (PR required success at run 32741127269). All 4 review threads were already resolved by the author before the sweep; none required action.", + "checks": "No local code changes and no local gates run for this PR — root cause was CI-side (rerun) and branch drift (sync), both diagnosed/fixed via GitHub. No provider-backed checks run." }, { - "date": "2026-07-17", - "ref": "PR #699 / codex/test-reliability-hardening", - "head": "6202835ab1cf3703af311b9afdf372f74c63e040", - "scope": "branch-cleanup-superseded", - "outcome": "Closed as fully superseded by merged PR #705 (`e5caaa46c`). Range-diff maps the original implementation commit to #705's first integration commit; #705 then adds seven focused reliability fixes, while #699's remaining commit is merge-only and contributes no unique relevant patch. The exact-SHA remote ref and the unregistered local predecessor ref (`b518c1de9`) were deleted after final rechecks.", - "checks": "Fresh GitHub PR/head/status inventory; exact `ls-remote` and local-ref checks; cherry-pick-aware log; range-diff against PR #705's merged head; merge-parent verification; exact leased remote deletion and exact-old-value local `update-ref` deletion. No Supabase/OpenAI/product-provider checks run." + "date": "2026-08-17", + "ref": "claude/database-drift-allowlist-48839e", + "head": "ccbb4cd8a95fd074f70931f73e79b31b525ef579", + "scope": "remediation Phase 6: schema_drift_snapshot v2 history probe migration (not deployed), check-drift migration_history allowlist + guard contract, search-health index-monitoring ratchet, PR #2058", + "outcome": "self-review: migration authored + mirrored + manifest regenerated, not deployed; five superseded guards seeded, rest left as expected findings; 44-entry ratchet list red-then-green", + "checks": "check:migration-role pass; drift:manifest replay 46s; focused schema/drift suite 8 files 127 passed; verify:pr-local all gates green except tests/session-start-hook.test.ts (env: bash head 127 / temp EPERM, unrelated); check:rag:fixtures 36 golden cases pass" }, { - "date": "2026-07-17", - "ref": "PR #704 / codex/scroll-geometry-stability-20260717", - "head": "35e74ddbd61bacc5b34f06efbd58091f092665fd", - "scope": "nested scroll-source review follow-up", - "outcome": "Confirmed the outside-diff CodeRabbit finding: the standalone shell shared one intent history across main and descendant scroll containers, so a switch from a deep main offset to a near-zero nested offset could falsely reveal chrome. Scroll metrics now identify their source, source changes rebase direction and travel while preserving visibility, and unit/UI regressions cover the switch. No unresolved actionable review finding remains.", - "checks": "Focused Vitest 9/9; TypeScript; scoped ESLint; Prettier; `git diff --check`. Exact-head hosted CI and UI remain required after push. No Supabase/OpenAI/live-provider checks run." + "date": "2026-08-20", + "ref": "PR #2198 (claude/phase-4-index-restoration-b0f4ea)", + "head": "ccc3572f3d069751d3850046ea1e6ea0c2ed8c7a", + "scope": "migration-history alignment RPC: 20260820120000 migration_history_versions(), check-migration-history-alignment.ts transport, schema.sql mirror, drift manifest, new tests, drift/forensics/board docs", + "outcome": "Authored and self-reviewed. Root cause proven from live-drift run 32378402265 (compare step success, alignment step 406 PGRST106). Fix is a service-role-only security-definer RPC; Data-API exposure and a management-API token were considered and rejected in forensics. NOT DEPLOYED: db push from this branch in an approved window must precede merge (D4 off), else check:drift reports a missing function. Staging needs the same migration by the Phase 2 method.", + "checks": "check:migration-role PASS; drift:manifest replay PASS (58s, 94 functions, service_role-only acl); vitest drift-detection+migration-history-guards+search-health-index-coverage+migration-history-alignment 40/40 PASS; format whole-tree exit 0; verify:pr-local 12 checks PASS then typecheck/test BLOCKED by DATABASE_HEAVY_RUN_ADMISSION_BUSY from other worktrees - delegated to CI on PR #2198; no provider-backed gate run" }, { - "date": "2026-07-17", - "ref": "PR #713 / codex/chat-workflow-ideas-0916", - "head": "b52112df6aa36311d7420189064acd79dcf2c3f5 + reviewed follow-up diff", - "scope": "workflow toolkit review follow-up", - "outcome": "Fixed all 14 actionable Codex and CodeRabbit threads: cross-platform path fixtures, installation-managed preflight guidance, complete Supabase-backed API database scoping, per-command approval boundaries, plugin-ignore narrowing, isolated CI-scope proof, remote-Git command guarding, repository-skill verification classification, `TypeError` diagnosis, strict CLI option values, machine-parseable JSON evidence output, and preservation of baseline database/clinical approval gates in the RAG lab. No unresolved actionable finding remains in the reviewed scope.", - "checks": "`npm run verify:cheap` passed with 273 files and 2,599 tests; focused toolkit Vitest 20/20; CI-scope self-test; plugin-ignore proof; `git diff --check`. Exact-head hosted CI remains required after the follow-up push. No Supabase, OpenAI, or other live product-provider command was run." + "date": "2026-08-02", + "ref": "codex/docker-delivery-hardening", + "head": "ccdc8ff801056c7318cd0ecc99b461861f83cff4", + "scope": "Figma MCP OAuth npm registry and Codex Cloud access", + "outcome": "No P0/P1. Fixed P2 Cloud Figma credential scrub gap and removed unavailable duplicate desktop MCP; private registry auth and fresh Cloud acceptance remain external.", + "checks": "codex-cloud test 15/15; static Cloud PASS; targeted Prettier PASS; diff check PASS; Figma MCP read/write PASS; registry ping E401" }, { - "date": "2026-07-17", - "ref": "PR #716 / codex/pr-process-hardening-20260717", - "head": "220de891f10f82df11eb2e8137367514c139a206 + reviewed implementation/follow-up diff", - "scope": "PR metadata, CI triage, review routing, Actions permissions, secret scanning, and branch-hygiene hardening", - "outcome": "No remaining high-confidence P0-P2 defect in the reviewed process diff. Added a trusted base-SHA PR metadata/risk policy with draft and merge-queue handling; corrected CI triage to compare only the same workflow's latest completed `main` run; wired self-tests into local/hosted gates; documented the policy; created the missing durable Codex routing labels; removed four unused per-head routing labels; and applied read-only default Actions tokens, immutable Action pinning, no Actions-authored approvals, push protection, and automatic merged-branch deletion. Four policy defects were fixed before merge: API-only paths no longer trigger UI evidence, slash-bearing outcome titles are accepted, all seven governance items are required exactly, and placeholder risk/rollback text is rejected.", - "checks": "Offline `check:pr-policy`, `check:ci-triage`, `check:ci-scope`, action-pin check, scoped Prettier, and `git diff --check` passed. Initial hosted CI passed static, safety, coverage, build, images, Semgrep, Gitleaks, GitGuardian, and the aggregate gate; exact-head CI is required after the review fix. Broader local gates were deferred because other registered worktrees repeatedly held the heavyweight lock. GitHub provider inspection/settings changes were explicitly authorized. No Supabase/OpenAI/product-provider command ran." + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "cceea70588d50d3f119394e93e50f7b38ed6f920", + "scope": "Superseding P2 implementation review after parallel branch merge", + "outcome": "APPROVE pending exact-head required CI. Merged the concurrently advanced PR branch without force or rebase. Both sides fixed the same portal-focus defect; the resolved tree retains the native listener on the actual addon DOM host and removes the document-global custom event, which could clear the universal header focus pin during unrelated desktop mutations. Retained the stronger static and browser assertions from the remote branch. No unresolved code conflict or product finding remains.", + "checks": "Merge conflicts limited to the duplicate focus implementations and duplicate UI test; TypeScript PASS; header-scroll contracts 15/15; focused production Chromium regression 1/1. Earlier exact local tree: `verify:cheap` PASS and phone-scroll 39/39. No provider-backed checks." }, { - "date": "2026-07-17", - "ref": "PR #718 / codex/performance-latency-remediation-20260717", - "head": "b5f509744d4f4bac74d414644cd1802f64b97fa9", - "scope": "CodeRabbit performance and SQL correctness follow-up", - "outcome": "Resolved nine confirmed findings and dispositioned one stale test comment: document downloads revalidate signed URLs on every action; committed-generation filtering precedes detail pagination; enrichment fallback errors preserve identity; caller cancellation leaves the shared classifier flight alive; registry seeding preserves its cache signal; aliases emit canonical corrections; rate-limit success metadata is coherent; ambiguous upserts use named constraints; and grantable default ACLs fail closed. The proxy mock duplicate was not present. No remaining high-confidence P0-P2 defect was found.", - "checks": "Integrated focused Vitest 122/122; post-format Vitest 71/71; `npm run verify:cheap` passed runtime/policy/static guards, ESLint, TypeScript, and 2,684/2,684 tests; focused Prettier and `git diff --check`; disposable Docker replay, regenerated drift manifest, and transactional local SQL probes. No OpenAI calls, live Supabase DDL/migration/data write, deployment, or production mutation ran." + "date": "2026-08-08", + "ref": "cursor/run-pr-sweep-ledger-d56c (PR #1698)", + "head": "ccf7284cbbe2315e5dc6a1bf126403a8a2205fa7", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: DIRTY/CONFLICTING, PR mergeability fail, behind 33, 0 threads, fake single-parent merge tip → after: real merge origin/main (conflicts resolved: docs/outstanding-issues.md + lighthouse-budget.json took main), merge-tree clean, unique diff ledger-only, 0 threads", + "checks": "check:outstanding-issues pass; check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean; format; no provider-backed checks run" }, { - "date": "2026-07-17", - "ref": "PR #718 / codex/performance-latency-remediation-20260717", - "head": "d47ef7a329256687a615c33dd311806c2c1214a8", - "scope": "hosted UI and migration-order merge-blocker follow-up", - "outcome": "Fixed both integration defects exposed by the exact-head UI run: the document scope surface now triggers the deferred, deduplicated catalogue load, and viewer navigation closes unrelated disclosures before opening or scrolling to the selected section. Updated SSR-aware browser fixtures without restoring the removed detail request. Renumbered all three new migrations after the latest production migration and regenerated the drift manifest. No remaining high-confidence P0-P2 defect was found in the follow-up diff.", - "checks": "Focused Vitest 65/65; scoped ESLint and Prettier; `git diff --check`; isolated production Webpack build and TypeScript; focused Chromium 7/7 including both stress viewports; Docker schema replay and drift-manifest regeneration passed in 15 seconds with unchanged schema SHA. No OpenAI calls or live Supabase DDL, migration, rate-limit RPC, or data write ran." + "date": "2026-07-13", + "ref": "claude/differentials-artifact-filter-c5aea0", + "head": "cd4f6015ee6e400c0b13148a62dc7f17d5604130", + "scope": "branch-cleanup", + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/differentials-artifact-filter-c5aea0; git diff --name-only reported 8 path(s)." }, { - "date": "2026-07-17", - "ref": "PR #732 / claude/edge-to-edge-content-lv9x7k", - "head": "354f9bf31b56d811d8611a9b248f7aebc7cde082", - "scope": "open-PR review + merge babysit", - "outcome": "No high-confidence P0-P2. Phone shell/sheet/settings replace dvh clamps with h-full inside fixed inset-0 parents (iOS Safari toolbar collapse). Merged to main via auto-merge.", - "checks": "Hosted required checks + Production UI green; pairwise merge-tree with sibling UI PRs clean." + "date": "2026-07-31", + "ref": "origin/codex/sidebar-test-fix-20260723", + "head": "cd54e68fbf7b07b5dffe3220e36af2caa528da54", + "scope": "branch-cleanup", + "outcome": "safe remote delete: tip is ancestor of exact merged PR #1174 head; archived batch14", + "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" }, { - "date": "2026-07-17", - "ref": "PR #733 / claude/follow-up-design-sizing-250cop", - "head": "6565815b3bd000cb0224e52f8d0e4d84ae28371d", - "scope": "open-PR review + merge babysit", - "outcome": "No high-confidence P0-P2. Follow-up chip row margin-bottom -0.125rem -> 0.4375rem stops overlap with composer pill. Merged to main.", - "checks": "Hosted required checks + Production UI green." + "date": "2026-08-18", + "ref": "claude/post-reconcile-review-2026-08-18", + "head": "cd5fe0f4026c43af78ab0f80f78d661e88faedc0", + "scope": "retire stale visual-register instructions in issues/ledger skills + AGENTS.md; queue reconcile-serialization follow-up", + "outcome": "clean — three instruction surfaces no longer point at the ISSUES-LIST.html artifact #338 retired; check:skills regression introduced and fixed within the diff (220-word canonical budget)", + "checks": "verify:pr-local (22/22 gates, 0 failed, 0 unreached); test:ci-workflows 325 passed; check:skills exit 0 (was 1 mid-change, baseline re-measured); format (whole tree)" }, { - "date": "2026-07-17", - "ref": "PR #736 / claude/phone-touch-optimization-673ur4", - "head": "755da28c29bf37e39fe2ab3d355f141a8f6eda35", - "scope": "open-PR review + merge babysit", - "outcome": "No high-confidence P0-P2. Touch floors reuse min-h-tap/size-tap; Therapy Compass phone overflow via tc-stack-sm/tc-scroll-sm. Merged to main.", - "checks": "Hosted required checks + Production UI green; globals.css auto-merges with #733." + "date": "2026-07-30", + "ref": "codex/review-pr1432", + "head": "cda13602d3dc65f1933943d31695f82b161ad6de", + "scope": "branch-cleanup", + "outcome": "local worktree HEAD is contained in final merged PR #1432 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-07-17", - "ref": "PR #737 / claude/therapy-compass-display-6kisnw", - "head": "594584dc79d9d6c14018dcce088357a251504d4f", - "scope": "open-PR review + merge babysit", - "outcome": "No high-confidence P0-P2. Display rename Therapy Compass -> Therapy only (nav/sidebar/page/sitemap). Merged to main.", - "checks": "Hosted required checks + Production UI green." + "date": "2026-08-17", + "ref": "claude/mobile-bottom-toggle-cutoff-efo7mv", + "head": "cda47837bc632e545033b6b52fe589c6edbe891d", + "scope": "src/components/DocumentViewer.tsx phone content-reserve padding; tests/clinical-dashboard-merge-artifacts.test.ts; tests/ui-phone-scroll-page-owned.spec.ts", + "outcome": "PR #2042 opened. DocumentViewer's hidden-composer content padding kept at 0.75rem resting pad instead of 0, fixing a reported real-device (installed iOS PWA) flush-to-edge bottom-scroll defect diagnosed from a user screen recording; not reproducible in Chromium (browser or forced-standalone). Two contract tests updated to match. Physical iPhone acceptance and CI verify:ui/verify:pr-local still owed (Playwright unavailable in this sandbox: chromium-1194 vs required chromium-headless-shell-1234).", + "checks": "targeted vitest (278 tests across DocumentViewer/scroll-hide-related files) pass; tsc --noEmit clean; eslint clean; prettier --check clean; verify:pr-local/verify:ui NOT run (Playwright browser version mismatch); physical device NOT verified" }, { - "date": "2026-07-17", - "ref": "PR #738 / cursor/storage-bucket-migration-02e7", - "head": "b2755c814b47cdec6868bd009f3ca1cdbc3a7dea", - "scope": "open-PR review + merge babysit", - "outcome": "Merge-ready storage-bucket idempotent migration + PR-policy base_ref checkout. Comment clarified for on-conflict reconciliation. Duplicate #710 closed. Merged to main.", - "checks": "Hosted required checks + Migration replay green; review thread resolved." + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "cdde82e087ed3e7ad6be3662b1b96aa55462cae5", + "scope": "CI babysit + Bugbot + main sync", + "outcome": "FIXED. Required CI was already green on prior tip; branch was BEHIND (merge-tree CLEAN). Merged origin/main. Bugbot P2s fixed: wired shimmer-sweep into `.animate-skeleton-shimmer::after`, applied `.stagger-item` on AnswerSkeleton, knob uses `var(--ease-spring)`. ISSUE-02/05 reduced-motion halt retained. 0 review threads to resolve.", + "checks": "focused vitest 34/34; tsc --noEmit PASS; merge-tree CLEAN; no provider-backed checks." }, { - "date": "2026-07-17", - "ref": "PR #739 / cursor/pwa-optimization-merge-02e7", - "head": "0d4aa5c73a4ff30274bb6286be04465286c815d7", - "scope": "open-PR review + privacy fix + merge babysit", - "outcome": "P1 fixed: removed backdated RAG migrations/schema seed that would regress public-only title corrector privacy. Also fixed sitemap API/redirect classification, services RightRail remount, focus=1 mode-menu flake, and merge conflict markers. Supersedes #735/#721. Merged to main.", - "checks": "Hosted full CI green including Production UI/Migration replay after fixes; unresolved CodeRabbit threads resolved. No OpenAI/Supabase writes." + "date": "2026-08-18", + "ref": "claude/cls-regression-correction", + "head": "ce131d748fe85f60cc52a5711c4a41af2d1168fc", + "scope": "docs/outstanding-issues-inbox/51e687a9-406a-4f2e-bb70-f6ba9aebef53.json", + "outcome": "created PR #2078: cancels the mistaken CLS-regression request from #2059 after local Lighthouse reproduction against origin/main showed every route/strategy matching baseline exactly, including mobile-root CLS 0.013/0.013 -- no code regression, CI failures were environmental noise", + "checks": "node scripts/ledger-inbox.mjs cancel (validated merge-safe); local Lighthouse repro: CHROME_PATH=/opt/pw-browsers/chromium npm run verify:lighthouse -- --keep, all 10 route/strategy cells matched baseline exactly" }, { - "date": "2026-07-17", - "ref": "PR batch #732-#739 (screenshot queue)", - "head": "1ab611915e0630a527a533ee7ff16b82fd3e8982", - "scope": "multi-PR merge babysit summary", - "outcome": "Merged in order: #738, #733, #737, #732, #736, #739. #735 left open (token cannot close; CONFLICTING/superseded by #739). #710/#721 closed as duplicates. Residual: close #735 manually.", - "checks": "Hosted CI babysit + merge-tree; #739 Production UI flake fixed and re-verified green before merge." + "date": "2026-07-14", + "ref": "codex/formulation-workspace", + "head": "ce6baa31ffe9647d736a18e95f9d95a95bda313c", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-17", - "ref": "work", - "head": "a185a59113619d160b29d8977b39a4a916e142b3", - "scope": "component wiring and merge-readiness review", - "outcome": "Reviewed the integrated PR #718 merge commit across its API routes, document viewer/dashboard wiring, universal-search streaming, owner catalogue cache, RAG response paths, migrations, and regression coverage. No new high-confidence P0-P2 defect was found beyond the previously recorded PR #718 reviews. The highest residual risk is exact-environment UI and full-suite verification because this checkout has no dependencies and its Node 20 runtime does not satisfy the required Node 24 toolchain.", - "checks": "Static merge/diff inspection; `git diff --check`; `git fsck --no-dangling --no-reflogs`. `npm run verify:pr-local` was blocked before checks because `tsx` is unavailable (`node_modules` is absent); installation was not attempted because the local Node 20.20.2/npm environment conflicts with `package.json`'s Node 24/npm 11 requirement. No provider-backed command ran." + "date": "2026-08-08", + "ref": "claude/mode-routing-search-pages-jabe17 (PR #1760)", + "head": "ce880f23f7ae5cbf9bc28a8a87f1de6585a4343e", + "scope": "home-mode seed navigation context, its contract test, and three outstanding-issues rows", + "outcome": "handoff: PR #1760 opened; carries focus/scope context through the cold-/ replaceState, repoints the contract test at behaviour, records #285/#286 and a third #255 reproduction", + "checks": "lint clean; tsc --noEmit clean; unit 5710 passed/1 pre-existing pr-handoff-stop failure (#286); maintainability budgets passed; check:outstanding-issues 284 rows unique; format committed; UI delegated to CI (mismatched Chromium, #255)" }, { - "date": "2026-07-15", - "ref": "codex/design-polish-pass", - "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + reviewed working diff", - "scope": "full live design, responsive, UX, accessibility, design-system, routing, performance, lint, testing, documentation, and release-readiness review", - "outcome": "No P0/P1 reproduced. Fixed the P2 duplicate phone scroll surface in the shared standalone shell and added a regression test; fixed mode-menu Tab dismissal; explicitly hid decorative dynamic icons; restricted press scaling to motion-safe environments; moved sheet backdrops and forced-colour glass/backdrop behavior onto design tokens. External target fidelity remains blocked because no independent Figma/mockup source was supplied.", - "checks": "Live 30-route desktop + 21-route phone sweep; targeted 320/390/639/768/1440/1920 proofs; `npm run verify:cheap` (2417 passed/1 skipped); `npm run verify:ui` (175/175); focused keyboard 1/1; accessibility media/axe 5/5; scoped Prettier, ESLint, TypeScript, type-scale, and icon-scale passed. Provider-backed checks not run." + "date": "2026-08-17", + "ref": "claude/packet-s4-adversarial-fixtures-5ho5tp", + "head": "ce89605ec0ccb993ea413c5d63c561d010061fb6", + "scope": "packet S4 (B0): adversarial fixture contract, check:rag:adversarial-fixtures validator, baseline record, data-flow register, planned-path allowlist removals", + "outcome": "Implemented and self-reviewed; offline only, no retrieval/ranking/generation surface touched. Three provider-backed baseline gates recorded as pending_owner_run rather than filled in. Surfaced an unreconciled answer-gate denominator (HANDOVER records 45/45; rag-eval-cases.ts defines 44) for S5.", + "checks": "verify:pr-local exit 0 post-merge (19/19 completed, failed: none); npm run test 640 files / 6834 passed, 4 skipped; eval:rag:offline 24 suites / 597 tests; check:rag:adversarial-fixtures 24 cases / 8 categories / 6 canaries; docs:check-links 1822 refs; docs:check-scripts 491 refs; npm run format committed" }, { - "date": "2026-07-15", - "ref": "codex/documents-closed-default", - "head": "49f63791bced2b1764a11ab723aea94b45b026b6", - "scope": "documents viewer disclosure defaults and related defect hunt", - "outcome": "Fixed the inconsistent default-open document viewer sections by making indexed text, high-yield summary, tables/diagrams, and indexing details a native mutually exclusive closed disclosure group. The section navigation opens its requested disclosure and deep-linked evidence still reveals its target. The hunt also removed the explicitly open nested table-review queue, preserved printable summary content through the browser print lifecycle, and added cold-server readiness guards to the affected viewer tests. No other high-confidence default-open defect remains in the live Documents scope.", - "checks": "`npm run verify:cheap`; TypeScript; focused ESLint/Prettier; clean-worktree mocked Chromium coverage for deep-linked evidence, structured summary, closed/mutually-exclusive disclosures, navigation opening, and print state restore; `git diff --check`. Turbopack could not run through the local external `node_modules` junction, so clean browser verification used Next's supported Webpack dev mode. No Supabase/OpenAI/live-provider checks run." + "date": "2026-07-31", + "ref": "claude/frosty-mayer-2c6167", + "head": "ce8f61ff96f78b8d0df4b79004490370d13db945", + "scope": "PR #1451 review+bugbot+fix", + "outcome": "clean; merged main; archived #161; mockup already on main; no threads", + "checks": "merge-tree clean; check:outstanding-issues; 0 unresolved threads" }, { - "date": "2026-07-15", - "ref": "codex/outstanding-work-cleanup", - "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f + working-tree diff", - "scope": "repo-wide outstanding-work reconciliation and cleanup", - "outcome": "No high-confidence P0/P1 remained in the locally executable scope. Fixed the stale architecture index for DSM/specifier routes, pruned redundant Knip configuration, removed the unused `SignedImage` default export, and reconciled maintained docs so completed/superseded plans no longer present as active work. Retained explicitly blocked work: provider-gated operator actions, the live-eval shadow reindex harness, deep-memory section-ownership design, and RAG follow-ups that require live evidence or product/security decisions. Full Knip findings were triaged rather than mass-deleted; unresolved-import scan is clean.", - "checks": "Offline `npm run verify:cheap` passed with 2,417 tests/1 skipped; docs links 806, script refs 264, codebase index 35/35; Knip unresolved scan clean; typecheck clean; focused Vitest 15/15; env-name parity clean; `git diff --check`. Provider-backed Supabase/OpenAI/GitHub/Railway, dependency audit, browser, build, drift, and release gates not run." + "date": "2026-07-18", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #890, plan Phase 4; single-batch implementation+ledger commit — Phase 3 landed as squash 44a4c511bc1381168474794d6f89273564659ead)", + "head": "ceabc04d75fd0cea2a120d504418d44edd704bfb", + "scope": "App-wide performance pass: audit-then-fix + budget ratchet (plan Phase 4)", + "outcome": "Audit on post-#872 main: enforced gzip budget +3.13% over the 1,363,382-byte baseline; analyzer treemap showed pdfjs-dist (123 KB) and cross-mode-differentials data (121 KB) already correctly lazy, and disproved the suspected forms-catalog dashboard leak (type-only import). Confirmed one real defect: the 143-line `/services` client home page value-imported `defaultServiceSlug` from `@/lib/services`, compiling the ~915 KB services snapshot (~100 KB gzip) into its route chunk. Fixed by computing the slug in the server page (`src/app/services/page.tsx`) and passing it as a prop; the client component builds its task cards from the prop. Measured result: budget swung from +3.13% to −3.97%; baseline ratcheted down 1,363,382 → 1,309,286 bytes gzip so CI locks the win. pdfjs/differentials/#718 paths deliberately untouched per audit rules. Two transient `.next/dev` generated-type corruptions from the long-lived dev server were resolved by stopping the server and setting the generated dir aside (reversible); nothing hand-deleted.", + "checks": "Build + `check:bundle-budget --json` before/after (artifacts in session scratchpad); `check:bundle-budget -- --update` for the ratchet; `npm run test` 2789 passed/1 failed (known container-only `pdf-extraction-budget` artifact, hosted-CI-green through #826/#835/#872); `verify:cheap` green to the same artifact; `verify:ui` 219 passed/2 failed (the two long-established container artifacts; ui-tools spec covering the services surface passed); `verify:pr-local` unit stage identical; typecheck/lint/format clean. Lighthouse not run (dev-server churn; bundle evidence sufficed for this fix set). No provider-backed checks run." }, { - "date": "2026-07-15", - "ref": "HEAD (detached) 0c56f27a37af88a073d2bb695d2cf4c05067ff4f", - "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f", - "scope": "test flakiness, runner safety, CI duplication, and local execution-churn audit", - "outcome": "P1 test-integrity issues: `run-vitest.mjs` can report success when Vitest terminates by signal and force-kills concurrent same-worktree runs; the default Vitest glob can execute the live Supabase owner-search test when credentials are present, while that test silently passes on authentication failure. P2 cluster: Playwright server races/shared `.next` state and config-time persistent-server startup; CI reruns the full unit suite for coverage and PR-local RAG verification repeats 21 suites; known-flake tracking is substring-only, not tied to quarantine, and structurally requires a non-empty ledger; unseeded property tests; repeated module resets/source-graph parsing; long retrying browser matrices and swallowed `networkidle` timeouts; host-wide concurrent worktrees/install/test/server activity causes memory pressure, native-module lock failures, and invalidated runs.", - "checks": "Pure review, no source mutation except this ledger append. Offline `node scripts/flake-ledger.mjs --self-test` passed (confirming the non-empty invariant); ledger matching confirmed `narrow-viewport-parallel` applies to an unquarantined blocking title; `node scripts/verify-pr-local.mjs --dry-run --files src/lib/rag.ts` confirmed full test + build + offline RAG duplication. Full Vitest/Playwright not run because this worktree has no dependencies and concurrent repo work was active; provider-backed checks not run (confirmation boundary)." + "date": "2026-07-13", + "ref": "codex/pr-473-fixes", + "head": "ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe origin/main`." }, { - "date": "2026-07-15", - "ref": "HEAD / main snapshot (detached review worktree)", - "head": "0c56f27a37af88a073d2bb695d2cf4c05067ff4f", - "scope": "comprehensive repository review", - "outcome": "Changes requested: two P1 defects (high-risk clinical claim support can accept a different trigger condition on lexical overlap; document-mode URL auto-run loops on navigation and leaves search loading indefinitely), one P2 supply-chain guard gap (the action-pin checker accepts mutable major tags and ignores SHA-pinned major versions), and one P3 orientation-doc gap (DSM and legacy specifier routes are absent from the codebase index). No P0 found.", - "checks": "Node 24/npm 11 and `npm ls --depth=0`; format, runtime, lint, TypeScript, sitemap/brand/icon/type-scale, docs links/scripts, CI/action/Codex guards; coverage 259 files passed/1 skipped and 2,417 tests passed/1 skipped; offline RAG 36 fixtures plus 282 tests; production build/client-secret scan; deployment boot smoke; critical Chromium 8/10 with two reproducible document-search failures; accessibility 5/5; viewport/focus checks through 1920x1080. Provider-backed governance, quality, drift, tenancy, hosted CI, and the cross-browser matrix were blocked or skipped by policy/targeted failures." + "date": "2026-07-13", + "ref": "origin/claude/mobile-search-bar-popup-bx163m", + "head": "ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe origin/main`." }, { - "date": "2026-07-15", - "ref": "HEAD detached 570e6ba56 + WIP tree", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "thorough multi-lens review: WIP RAG/schema + clinical design/UI + architecture/bug-hunt", - "outcome": "Changes requested: no P0. Confirmed P1s in WIP — registryCorpusDetailHref typecheck break; ChunkLoadCache error/null poisoning across parallel hydrations; registry cleanup `::uuid` cast abort; corrector GIN unused by query path; new table-facts trgm index expression mismatch vs trgm_matches. Design: production clinical shell stays token/a11y-aligned; favourites nav multi-gradient bars and mockup hex drift fight clinical density. Residual: concurrent cache race, SECURITY DEFINER revoke gaps, schema/migration lifecycle drift, accidental pnpm-lock.yaml.", - "checks": "`npm run typecheck` (red: registry link callers + stale .next apps types); static SQL/expr/diff review; architecture + bug-hunt agents; design-system grep (tokens, reduced-motion, forced-colors). Not run: vitest, verify:*, ensure/browser screenshots, live Supabase/OpenAI. frontend-ui-reviewer subagent blocked by usage limit — design pass done inline." + "date": "2026-07-21", + "ref": "claude/database-governance-audit-10b6ed (PR #1051: source-governance audit — safe subset)", + "head": "cee396730", + "scope": "Governance-metadata observability + UI display + provenance flow test; no ranking/retrieval/generation surface touched.", + "outcome": "IMPLEMENTED + handed off (not a review of prior work). Resolved audit #1 (logger.warn on unrecognized enum values; return value unchanged), #2 (review_due_source added to frontendVisibleWarningCodes → answer-level badge; warning-severity, no refusal impact), #9 (source_metadata retained on safety-finding citations + governance pill in SafetyFindingsListContent), #13 (new tests/provenance-flow.test.ts: DB-normalize→governance→client payload sources+safety citations→render policy). Deferred #4/5/6/8/10 (RAG-protected ranking/selection/LLM-context/cache — need live eval-canary+approval), #11/#5 flag debt (D5/D4), #3 (is_public schema/RLS), #7 (conflict-detection scope), #12 (canary automation). Rebased onto origin/main (was 18 behind; conflict-free — none of the 18 commits touched the 8 files). PR-policy CI green (confirmed no ragRankingPatterns match).", + "checks": "verify:pr-local exit 0 (351 files/3129 tests, production build, client-bundle secret scan, offline RAG fixtures 36/36); typecheck + lint + prettier green. verify:ui NOT run locally: pre-existing globals.css Tailwind/Turbopack dev-compile error (git-clean, unrelated; prod build passed) — CI Production UI job covers it. check:production-readiness deferred (offline env/config validator; PR changes no env/secret/config inputs; secretless worktree). No provider calls." }, { - "date": "2026-07-15", - "ref": "PR #656 / claude/specifiers-v2-design-r55baf", - "head": "58ce935758c31672a0a051c5b3e6b888a7d8d153", - "scope": "full DSM/ICD specifier catalogue and clinical-content gate review", - "outcome": "No remaining high-confidence code defect after the review sequence corrected source provenance, verified-content wording, search ranking/deduplication, empty-state behavior, and neutral mixed-source labelling. The 494 unverified definitions remain withheld from display and ranking. Residual risk is the PR-declared qualified-clinician and TGA classification review before broader clinical deployment.", - "checks": "GitHub review-thread inventory (0 unresolved); exact-head hosted required CI, build, critical UI, UI regression, coverage, static, and security checks green. No live Supabase/OpenAI or provider-backed clinical workflow run." + "date": "2026-08-17", + "ref": "claude/search-results-differentials-prs-o7z531 (PR #2047)", + "head": "cee5c5a645f4cb9346df2571b555b9e8c117a256", + "scope": "Run PR sweep: merged during sweep", + "outcome": "Merged by BigSimmo (repo owner) mid-sweep, no action needed from this session. CI had been green apart from the same denoland/setup-deno codeload.github.com transient observed across this sweep.", + "checks": "no action taken; PR merged by owner before this session acted" }, { - "date": "2026-07-15", - "ref": "PR #673 / cursor/audit-remediation-plan-0411", - "head": "03fe72683d83606b73c951914278eabe897fc395 + reviewed follow-up diff", - "scope": "docs audit remediation plan review + CI", - "outcome": "Fixed the hosted Prettier failure and all actionable review comments: preserved the real branch ref for the generic ledger parser, corrected `npm run` commands, scoped the no-P0/P1 verdict without obscuring the M4 code P1, disambiguated finding IDs from wave IDs, aligned wave-to-ledger update instructions with the review protocol, and made B3 require the Supabase project-identity preflight before provider-backed release gates. No additional high-confidence defect remains in the changed docs.", - "checks": "GitHub unresolved-thread inventory; focused Prettier on all changed docs; docs link/script reference checks; `git diff --check`. Docs-only; no Supabase, OpenAI, or other live-service checks." + "date": "2026-08-22", + "ref": "codex/ward-management-design (PR #2289)", + "head": "cef2f3eea634d07b9a191bc72a4f3a4ed7c00d10", + "scope": "Repair CI drift after main merge", + "outcome": "Repaired stale documentation paths and generated contract drift; contextual Ward back navigation now uses the standard history-aware control; PR shard coverage includes Ward roles.", + "checks": "Focused Vitest: 3 files, 59 passed; docs links: 2,664 references resolve; adoption, site-map, codebase-index, design-system contract, and diff check passed. npm run format launcher was blocked by executor Network request disconnected; changed paths were formatted with repository Prettier." }, { - "date": "2026-07-15", - "ref": "PR #677 / claude/cleanup-branches-worktrees-mxov4x", - "head": "a93db73a29ca6a19619a6592e2e30ca9ea2f8218", - "scope": "active PR review and remediation", - "outcome": "All three actionable review findings are fixed: every branch namespace is parsed from the ledger table, only an exact completed cleanup review at the current HEAD suppresses repeat work, pending deletions remain actionable, and GitHub provider provenance is accurate. No additional high-confidence defect remains in the changed scope.", - "checks": "GitHub unresolved-thread inventory (0 remaining); hosted required CI green; exact-head focused Vitest `tests/repo-hygiene.test.ts` (9/9); `node scripts/sweep-branch-ledger.mjs --no-fetch --json`; `git diff --check`. No Supabase, OpenAI, or other live-service checks." + "date": "2026-08-17", + "ref": "claude/database-coordination-chat-9c0730", + "head": "cef640f25aeee9b1fd8fc6c95a351ff1a6c348d3", + "scope": "docs/database-remediation-coordination.md board re-baseline (#316), PR #2044", + "outcome": "coordinator self-review: docs-only, anchor corrected #312→#316, board rebuilt from main record", + "checks": "prettier --check pass; docs:check-links 1799 refs resolve" }, { - "date": "2026-07-15", - "ref": "PR #679 / claude/therapy-compass-pages-rz0m5l", - "head": "f5ca25f8b6b14f41e63f708933fe4bb311994795", - "scope": "Therapy Compass production promotion and review-followup", - "outcome": "All five review findings are fixed on the reviewed head: run-enabled shared-composer links stay on the Therapy Compass route, production data loads outside `/mockups`, deep links seed the in-tool search, and same-route query changes remount the provider. No additional high-confidence defect remains in the changed scope.", - "checks": "GitHub review-thread inventory; exact-head hosted build, critical UI smoke, UI regression, unit coverage, static, security, and image checks green; focused Vitest 28/28; TypeScript; `git diff --check`. No live Supabase/OpenAI checks run." + "date": "2026-08-04", + "ref": "pull/1584", + "head": "cf53491531ee48125e95832fd094b58d8db13273", + "scope": "Run PR sweep full changed scope", + "outcome": "closed as incompatible", + "checks": "BLOCKED AS DESIGNED: proposed Node 26 violates repository engines Node 24.x and npm 11.x; CI reported actual Node v26.5.1." }, { - "date": "2026-07-15", - "ref": "PR #680 / claude/rag-scalability-review-x0s55l", - "head": "32e242ab7fc386ea82b19c7cfc2112aa41f06f9a", - "scope": "privacy, public-catalog throttling, ingestion-recovery, and merge-readiness review", - "outcome": "Audit remediation wave 1 plus review follow-ups. Confirmed and fixed: mixed-owner document list/detail responses exposed nested summary internals and free-form document metadata for public rows; anonymous catalog rate limiting skipped known-slug detail routes; and ingestion recovery could retry a failed row without seeing a legitimate pending/fresh-processing sibling. Ownership-specific projections/redaction now cover list and detail responses, every catalog detail path is throttled, and both recovery scripts pass every open sibling to the planner. No remaining unresolved review thread or high-confidence defect.", - "checks": "GitHub exact-head review-thread inspection (0 unresolved); hosted required CI, UI regression, migration replay, build, coverage, static, and security checks green; local focused route/recovery Vitest 163/163; TypeScript; earlier full `verify:cheap`; Prettier; `git diff --check`. No live Supabase/OpenAI/provider checks run." + "date": "2026-08-08", + "ref": "cursor/safety-plan-copy-timer-a650", + "head": "cf57b34a36b768e150cd776f7e19acfd984245f7", + "scope": "PR #1717 unblock", + "outcome": "fixed missing it() closer from Copilot autofix; merged origin/main after #1668; merge-tree clean; no unresolved threads", + "checks": "local: vitest patient-safety-plan.dom.test.tsx (8/8); format ok; pending hosted CI after push" }, { - "date": "2026-07-15", - "ref": "PR #682 / claude/codex-builder-perf-flakiness-ck5yv7", - "head": "dc942dddb87c8a1fa8d84d88052b3d50dd883a43 + reviewed follow-up diff", - "scope": "CI performance, cache correctness, browser-lane routing, and merge-readiness review", - "outcome": "Confirmed and fixed two P2 CI safety gaps: the cached `node_modules` key ignored `package.json` and `.npmrc`, allowing install-contract changes to reuse stale modules and skip `npm ci`; and removing the advisory quarantine job made any newly tagged UI test run nowhere. The cache now covers every install input and the quarantine lane performs only a cheap source scan when empty, preserving the speed improvement without losing coverage. No remaining unresolved review thread or high-confidence defect.", - "checks": "GitHub exact-head checks green before final main sync; focused Vitest 6/6; GitHub Actions pin check; CI-scope self-test; TypeScript; Prettier; `git diff --check`. Final hosted exact-head checks required after push. No live Supabase/OpenAI checks run." + "date": "2026-08-23", + "ref": "codex/clinical-operations-programme", + "head": "cf6cd61edd80080ab79229870405466176f93920", + "scope": "pr-2306-review", + "outcome": "fixed", + "checks": "clinical-hazard-controls,hosted-migration-role,vitest-39,eslint,typecheck,docs-links,sitemap-check" }, { - "date": "2026-07-14", - "ref": "claude/audit-ci-browser-gate-2026-07-13", - "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`; worktree/activity scan." + "date": "2026-08-23", + "ref": "codex/clinical-operations-programme", + "head": "cf6fb9980a70dc093f9550e820e2f3cd02ace092", + "scope": "PR #2306 unresolved-thread verification and merge-blocker remediation", + "outcome": "Confirmed and fixed favourite-set reorder scoping and Railway DPA evidence linkage; verified resolved duplicate-declaration finding remains fixed.", + "checks": "focused Vitest: favourites/privacy/answer-slo/ops-digest/operational-alerts (31 passed); migration-role; TypeScript typecheck; Prettier check; diff check" }, { - "date": "2026-07-14", - "ref": "claude/beautiful-hamilton-5df54c", - "head": "5e2e90f0a3af4039c7e15515151569228476a60c", - "scope": "branch-cleanup", - "outcome": "Deleted local redundant ref; exact head was already represented on `origin/main`.", - "checks": "Local cherry-pick-aware comparison and prior exact-head ledger evidence." + "date": "2026-07-31", + "ref": "codex/chat-frontend-skill-selection-0978", + "head": "cf9ed2d12a68f0577b755d540bdd8dde0ff6ddc1", + "scope": "PR #1460 reopen readiness", + "outcome": "READY for reopen as conflict-free tip; product brace-expansion patch already on main via #1456; remaining unique delta is one historical ledger row; no Bugbot findings; no P0-P2 findings", + "checks": "merge-tree clean; check:branch-review-ledger PASS; installed-lock-parity PASS; vitest installed-lock-parity 6/6; brace-expansion@1.1.18 maxLength present; npm audit not re-run; PR left CLOSED" }, { - "date": "2026-07-14", - "ref": "claude/calculators-search-page", - "head": "ed600b8bf5a07ef48f464d36f099e5f1cd1e5d13", + "date": "2026-07-13", + "ref": "claude/responsive-design-review-4d7395", + "head": "cfee2595b6fccd9b419a4aa221a0b813e9b51dc3", "scope": "branch-cleanup", - "outcome": "Retained (user decision): clinical-calculators mockup feature; note PR #670 has since merged to origin/main so this content is now also on main.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/responsive-design-review-4d7395; git diff --name-only reported 5 path(s)." }, { - "date": "2026-07-14", - "ref": "claude/canary-gate-fixes", - "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-07-30", + "ref": "codex/address-performance-issues-in-package", + "head": "cff469310f90279cf60e746e3b0f6703a9886be9", + "scope": "bugbot", + "outcome": "clean; no cursor[bot] findings; no P0-P2 product defects; Codex alias P2 already fixed in ff270e957; merge conflict resolved (main open queue + PR #117 hashed asset note)", + "checks": "build-therapies-index --check; vitest therapy-compass 20/20; check:outstanding-issues; bugbot triage" }, { - "date": "2026-07-14", - "ref": "claude/canary-latency-recalibration", - "head": "c27d87c1a5cc02721dbcb9fbdf9e0229b4c62a38", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-07-27", + "ref": "PR #1261/#1262/#1263 audit cluster", + "head": "closed tips", + "scope": "Close without merge", + "outcome": "Closed per review: unsafe lineage / tip markers / privacy+RAG P1s / parallel verify:cheap rewrite. Thin PDF exit-137 salvage opened separately.", + "checks": "Prior Bugbot + merge-tree evidence; no provider checks." }, { - "date": "2026-07-14", - "ref": "claude/codebase-index-coverage", - "head": "258782c8426541f43e03009ccf6bb27b9ce90ca5", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "code fix ee6a56bd0fc08ded140c36b5de213bda40d93179", + "scope": "PR babysit: main sync + P1 inclusivity/static/build fix", + "outcome": "Supersedes the earlier #1254 sweep rows for the new head after main advanced to `dbcd4cea605ee7f5af8f2f9b5ff22d18385131ea`. Before: GitHub reported DIRTY/CONFLICTING, PR policy failed missing RAG/clinical body, Static failed Prettier, Build/Production UI failed typecheck, and Codex P1 thread `3651695530` was unresolved. `git merge-tree --write-tree origin/main 91aeb19d4d4856a3aa120265d3602414b472e19a` was clean, so merged `origin/main` without conflicts; fixed threshold inclusivity (`<`/`<=`, `>`/`>=` stay distinct), source-open telemetry types, missing `onOpenSource`, missing `SourceGovernanceWarning` export, and lint/Prettier issues. PR body/thread resolution/squash merge still require GitHub write tooling unavailable in this Cursor run, so DO NOT MERGE until those are completed and hosted required CI is green.", + "checks": "Focused Vitest evidence/source metadata 67/67 PASS; `npm run typecheck` PASS; `npm run format:check` PASS; `npm run lint` PASS; `npm run build` PASS; `npm run check:rag:fixtures` PASS; `npm run check:production-readiness` failed only for missing local Supabase/OpenAI env secrets. No provider-backed evals/checks run." }, { - "date": "2026-07-14", - "ref": "claude/codebase-review-ade6ed", - "head": "a96b8ffafb88da22f667b41edf01b215866dde32", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-26", + "ref": "PR #1256 / `codex/pr1246-header-blur-followup`", + "head": "correction to 547d3a100c73333895554cf66eb0efd8d8dde8da", + "scope": "CSS prefix contract correction", + "outcome": "FIXED. Hosted Unit coverage exposed the repository guard forbidding hand-authored `-webkit-backdrop-filter`; retained the standard `backdrop-filter: none` source rule and removed the duplicate vendor declaration, which the CSS toolchain owns. This supersedes only the prior row's claim that both declarations should be authored.", + "checks": "Targeted `clinical-dashboard-merge-artifacts` and mobile paint contract rerun required; Production UI continued separately." }, { - "date": "2026-07-14", - "ref": "claude/dependency-report", - "head": "dbf1a8dbae3cab8ef5dfe54bcdf157709d752579", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; its inactive worktree was removed without deleting the ref.", - "checks": "Local cherry-pick-aware comparison and reachability check." + "date": "2026-08-15", + "ref": "claude/services-search-redesign-163", + "head": "d007d4a11a0d7b52283fe0088583259ef27c0264", + "scope": "Services bookmark readiness — correcting the 216a72e4 record", + "outcome": "PRIOR RECORD WAS FALSE. Record 216a72e4 claimed 'Fix service bookmark readiness and mutation race' at head 720e7027a9f08e518eb6344e74dfde35d78d5981. That object does not exist in this repository (git cat-file fails; not an ancestor of the branch) and src/components/services/ was byte-identical between 285e12d3c939 and the then-remote tip 87e7fcc2 — no fix had landed. The named defect was real and is fixed here instead", + "checks": "git cat-file -t on the claimed head: object does not exist; git diff 285e12d..87e7fcc2 -- src/components/services/: empty; new DOM regression test mutation-verified (reverting the gate fails it); focused vitest 12/12; typecheck clean" }, { - "date": "2026-07-14", - "ref": "claude/design-elevation-e1e2", - "head": "b91437c9068b6dba2f25e831d360e2dbcbeeb75a", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`; detached head remained remotely anchored before worktree removal." + "date": "2026-07-26", + "ref": "PR #1212 / `cursor/pr1196-coalesce-main-4711`", + "head": "d01352a096114a7804a97bf126cdf168c304b1ec", + "scope": "Open-PR hygiene: sync main (merge-tree clean)", + "outcome": "Before: GitHub DIRTY/CONFLICTING; update-branch 422. After: clean `ort` merge of origin/main in worktree and push; mergeable. Coalesce search path retained.", + "checks": "merge origin/main + push; no provider calls." }, { - "date": "2026-07-14", - "ref": "claude/design-sync-fixes-p1", - "head": "8103c560fb7e69dcadb1155cf9feb706aa8a8517", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-17", + "ref": "claude/packet-s4-adversarial-fixtures-5ho5tp", + "head": "d041ec2aad0676c47713e8c621eba534aaeaffa1", + "scope": "packet S4 (B0) conflict resolution + secret-scanner remediation", + "outcome": "Resolved three base advances. Two real conflicts kept both sides: rag-offline-contract-tests.json (this packet and main each appended a suite) and HANDOVER.md section 2 (S4 row vs S1b row); scripts-index.md conflicted only on its generated count line and was regenerated. Corrected the stale S1b row to merged, verified from git (PR #2035 landed as merge 92f7618). Gitleaks and GitGuardian flagged the original PHI canaries as high-entropy secrets: tokens are now letters-only, enforced by the validator regex, the published schema and a unit test, with one historical-commit fingerprint in .gitleaksignore. GitGuardian's incidents against commit 57fd5ae are SaaS-side and cannot be resolved from the repository.", + "checks": "verify:pr-local exit 0 on merge head d041ec2 (19/19 completed, failed: none); npm run test 642 files / 6871 passed, 4 skipped; eval:rag:offline 25 suites / 603 tests; check:rag:adversarial-fixtures 24 cases / 8 categories / 6 canaries; hosted Secret Scan, SAST, PR Policy and PR mergeability green on d041ec2; npm run format committed" }, { - "date": "2026-07-14", - "ref": "claude/docs-script-linter", - "head": "9f31fc5b62d4cd69cfe2ee92241d7e15e33d8de0", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-22", + "ref": "work", + "head": "d078a1f1de737e7d9402579a7221235f8c1116fe", + "scope": "Task 7 Clinical Ask external authority evidence", + "outcome": "P1: route bypasses profile allowedAuthorityIds and enables all registry domains for mode; fix before Task 8", + "checks": "ledger lookup; static diff review; prior focused tests noted; no provider calls" }, { - "date": "2026-07-14", - "ref": "claude/document-page-redesign-7dd487", - "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "d0a96caa01b90dffa40e60770b7700f36e8ba43f", + "scope": "Run PR re-sync sweep", + "outcome": "Before: CONFLICTING @8adaaf229. After: merged origin/main clean (ort). CI re-running. Threads: not re-triaged.", + "checks": "merge origin/main and/or conflict re-check only; no provider-backed checks run" }, { - "date": "2026-07-14", - "ref": "claude/document-viewer-redesign-55b68b", - "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-23", + "ref": "codex/task-performance-remediation", + "head": "d0c199b2a62f1383268f1f38054c65f2e1e154f5", + "scope": "performance remediation: CLS attribution and geometry, intent prefetch, bundle provenance and fixture guards", + "outcome": "PASS - no P0/P1/P2 findings after measured 1024-1279 boundary fix, main synchronization, isolated route-type repair, and stale governance-request cancellation", + "checks": "independent exact-range review; changed Vitest 228/228; typecheck 5049 inputs; merged production CLS matrix exit 0; issue, ledger, docs, governance, formatting and diff gates pass" }, { - "date": "2026-07-14", - "ref": "claude/filter-layout-search-prominence-kwrbwl", - "head": "59ced590a932e1c7fe28f26a94eb05105ce0e4dd", - "scope": "branch-cleanup", - "outcome": "Retained: newly pushed active work (feat(dsm) compact category filter); single unique commit, no PR yet.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-18", + "ref": "claude/lighthouse-baseline-refresh", + "head": "d0dc1a6a30067f75c6142229fd8524cba77cc456", + "scope": "Lighthouse baseline refresh from pinned-browser CI run at 533989f", + "outcome": "shipped", + "checks": "check-lighthouse-budget.test.ts 64 passed; prettier clean; diff audited (only metric values + updatedAt)" }, { - "date": "2026-07-14", - "ref": "claude/hero-composer-hydration", - "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", - "scope": "branch-cleanup", - "outcome": "Deleted local redundant ref; the separately named teardown branch and its locked worktree were preserved.", - "checks": "Local cherry-pick-aware comparison plus worktree lock scan." + "date": "2026-08-17", + "ref": "claude/s1-rag-mitigation-231-86c182", + "head": "d0e7bbf0246dbf3e3f7cb92dd541aecc33178ef8", + "scope": "RAG answer-verification faithfulness fixes (#231 S1) + review-nit test coverage", + "outcome": "PR #2022 CI green (PR required SUCCESS, CLEAN/MERGEABLE); CodeRabbit nitpick addressed; Codex/CodeRabbit both usage-limited so no further bot review; ready for owner merge", + "checks": "eval:rag:offline 583/583 on merged head 9098cc7c5; focused vitest answer-verification+rag-claim-support 227/227 after nit; check:production-readiness READY" + }, + { + "date": "2026-08-13", + "ref": "codex/dynamic-mode-header", + "head": "d0e7feaf1ae85d6665b7815bc44f559aa5b42d2f", + "scope": "dynamic shared mode header density and overflow interactions", + "outcome": "P2 Medication rail regression fixed; no remaining P0-P2 findings", + "checks": "134 focused tests on current main; responsive Chromium matrix; Medication Chromium journey; lint; typecheck; production build" }, { - "date": "2026-07-14", - "ref": "claude/lithium-search-issue-7903a2", - "head": "a6b2dbcd6e289ada4d8abb88861dc43063236058", - "scope": "branch-cleanup", - "outcome": "Deleted local ref using prior exact-head squash-merge evidence; remote ref was left untouched.", - "checks": "Prior PR #460 exact-source-head ledger evidence and fresh worktree scan." + "date": "2026-08-07", + "ref": "codex/combined-wip-backups-20260807 (PR #1701)", + "head": "d110f99e8eee87bf279c0eddd6a57837a8c64f5e", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "NOT merged/synced -- aborted intentionally. Confirmed the CRITICAL Sentry privacy-leak finding (raw relatedDocuments, including unredacted labels/owner_id, sent to client via /api/search route's top-level relatedDocuments field and smartPanel.relatedDocuments instead of the already-computed clientRelatedDocuments projection) and replied with root-cause + fix location, but did not push a fix. While resolving this PR's docs/outstanding-issues.md conflict against main, found a second silent regression baked into the PR branch itself: scripts/outstanding-issues.mjs reverted to an old 10-cell row schema (vs current main's 7-cell schema), which produces NO merge conflict against main and would land invisibly. Given a 177-file diff (+3716/-14512) with two independent silent regressions already found, declined to push a partial fix and instead recommended the branch be rebuilt from current main per-commit rather than bulk-merged. Thread left open (blocker requires human decision on the branch).", + "checks": "raw branch-tip diff of scripts/outstanding-issues.mjs vs main (confirms schema revert, not merge-induced), git merge-tree (clean for the two files inspected, not exhaustively audited)" }, { - "date": "2026-07-14", - "ref": "claude/medication-alerts-database-cb8o83", - "head": "a0ca895015df8ebe6ae57fa8a811a1fbb240e623", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-28", + "ref": "codex/consolidate-design-mockups", + "head": "d120dbcca5ab4c5caab85176aace052788320405", + "scope": "dirty-work consolidation review", + "outcome": "APPROVE. Isolated calculator and therapy-navigation experiments under mockup routes, kept production calculators/navigation unchanged, and fixed the final decorative-icon accessibility lint finding.", + "checks": "boundary Vitest 3/3; design-system contract PASS; sitemap PASS; mockup Playwright 16/16; verify:cheap PASS (413 files, 4201 passed, 3 skipped); no provider checks." }, { - "date": "2026-07-14", - "ref": "claude/medspacy-assertion-eval", - "head": "0ebe88bdc893f362f2793f8062d48656a3d70302", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "differential clinical-cue regression and formatter follow-up", + "outcome": "Aligned the focused result-row assertion with the displayed compact-cue normalization and formatted the mobile rank calculation reported by changed-file formatting. Targeted Vitest unavailable because this isolated worktree has no node_modules/vitest.", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-07-14", - "ref": "claude/observability-alerts-rollback-8d9b79", - "head": "67144fe56b776fb58d2518d057d41612399f65b6", - "scope": "branch-cleanup", - "outcome": "Deleted local ref using prior exact-head squash-merge evidence; newer remote work remained untouched.", - "checks": "Prior PR #536 exact-source-head ledger evidence and fresh ref scan." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "Differentials changed-file formatter blocker", + "outcome": "Restored the single 115-column mobile rank expression after exact-head CI showed the preceding wrapped form was not Prettier-valid.", + "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs origin/main HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head changed-file formatter failure reviewed" }, { - "date": "2026-07-14", - "ref": "claude/perf-r2-bundle-hygiene", - "head": "95ce39f7715caeadc8197c35c2c41500183a715e", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "Differentials formatter blocker remediation (supersedes 2026-08-15)", + "outcome": "Supersedes immutable record 74e47bb0fd4e2b3ff3ec524606a00b573db356d6b17cf68b4829a19643b9b71a: factored the preceding non-best count into a Prettier-stable expression after exact-head CI rejected both wrapped and one-line forms.", + "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head static failure reviewed" }, { - "date": "2026-07-14", - "ref": "claude/perf-r2-hot-path", - "head": "843dcf8d287950b2ddf86a121701dfbb95ac86c0", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "Differentials pinned formatter exception (supersedes 2026-08-15 remediation)", + "outcome": "Supersedes the prior formatter-remediation record: documented a one-statement Prettier exclusion after exact-head CI rejected both equivalent wraps of the rank identity predicate; no runtime behaviour changed.", + "checks": "git diff --check b7d2bbcc75f8e3aadf498575b2ae4c44ebd3cc79; node scripts/ledger-inbox.mjs check; node scripts/check-outstanding-issues.mjs; node scripts/check-branch-review-ledger.mjs; node scripts/check-ledger-write-discipline.mjs 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 HEAD; node scripts/ci-change-scope.mjs --self-test; exact-head static failures reviewed" }, { - "date": "2026-07-14", - "ref": "claude/perf-r2-network-caching", - "head": "424ae6b045d9ec38443292a1569de4b04d6a295d", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "PR #1971 base sync", + "outcome": "Merged main 6f7b7deefaf7e0cd062b748f18fc6ca8988093f6 into the reviewed PR head; merge tree was clean.", + "checks": "git merge-tree --write-tree exact-head main: clean; git diff --check; ledger guards." }, { - "date": "2026-07-14", - "ref": "claude/perf-r2-payload-trim", - "head": "5a6ce71153198c746fab96859d5895374ac05bb9", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/differential-results-ui-20260814", + "head": "d12e0217c4adc057e27ad92fb5dad144ba38995a", + "scope": "PR #1971 differential result formatter follow-up", + "outcome": "Reverted a manual binary-expression wrap: the exact line is 115 columns and must remain inline under the repository 120-column Prettier contract.", + "checks": "git diff --check; ledger/outstanding/branch-ledger/ledger-discipline guards; ci-change-scope self-test passed; npm test -- tests/differentials-compare-selection.dom.test.tsx unavailable: node_modules/vitest/vitest.mjs absent." }, { - "date": "2026-07-14", - "ref": "claude/perf-r2-plan-cache-migration", - "head": "471099c3031520fc4a083f802af3c8f95a9c7d44", + "date": "2026-07-13", + "ref": "codex/domain-5-clinical-safety", + "head": "d14ef4b4dd43d5e08c11c08a70492da0c1abe4ad", "scope": "branch-cleanup", - "outcome": "Retained (user decision): preserves unmerged perf-r2 batch image signed-URL endpoint + client-fetch-cache absent from main; sibling perf-r2 dups pending deletion.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor d14ef4b4dd43d5e08c11c08a70492da0c1abe4ad origin/main`." }, { - "date": "2026-07-14", - "ref": "claude/pr-672-specifiers-formulation-3n123f", - "head": "059398c962711f57e5f9ee7c6b4783066cd6718f", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-30", + "ref": "codex/issues-028-033", + "head": "d1794901192128a8202d004ad9a005025bff82e9", + "scope": "privacy-safe error tracking and prompt source governance", + "outcome": "No findings; provider remains opt-in and prompt metadata is non-ranking", + "checks": "verify:pr-local; focused privacy/governance tests; npm audit --omit=dev" }, { - "date": "2026-07-14", - "ref": "claude/process-hardening-consolidation", - "head": "2ecd302920b94a75d6031b54f61a4d058ad44a25", + "date": "2026-07-13", + "ref": "origin/codex/rag-canary-completion", + "head": "d1b7647bde73e7d0558472ad6aa19c3b49d94639", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "outcome": "Retained for open PR #612 and active worktree activity.", + "checks": "Fresh GitHub open-PR query and moving-head observation; deletion prohibited." }, { - "date": "2026-07-14", - "ref": "claude/pt-audit-monitor-marker-fix", - "head": "7d41cbe5a42b9a7f90d15ad3e80cdca6596548e0", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`; clean worktree removal." + "date": "2026-08-18", + "ref": "claude/rag-d4-reconcile-inbox", + "head": "d1d75055396cff3ea15c6ef6c45d9363440b4175", + "scope": "issues:reconcile (17 requests) + HANDOVER G1/S1d/S1c/S2 rows + COORDINATION §7 (docs-only)", + "outcome": "single fresh-base reconcile; 0 pending afterwards; G1/S1c/governance rows closed", + "checks": "check:outstanding-issues 0 pending/234 applied; check:ledger-write-discipline passed 981d85de0301..HEAD; verify:pr-local docs scope" }, { - "date": "2026-07-14", - "ref": "claude/pt-audit-pr2-variant-early-exit", - "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", + "date": "2026-07-13", + "ref": "origin/codex/rag-canary-completion", + "head": "d1ecab038cb423de6a8c1ee0d7201b0b6f2dca06", "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "outcome": "Retained for open PR #612.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-07-14", - "ref": "claude/pt-audit-pr4-trust-copy", - "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-09", + "ref": "claude/m2-ds-gates-blocking", + "head": "d204c6f7c84a5e7de3f28061121fda68e7d28670", + "scope": "M2 design-system gates: #264 + gate 4 of #265", + "outcome": "ready-to-merge; supersedes the 8ed66a05 row — the tap-floor defect renumbered #289 to #291 after main claimed #289/#290, and main was merged in", + "checks": "post-merge ds-contract PASS (colour-only 4, numerals 2, inversions 0) against main's new #1765/#1766 component code; outstanding-issues guard PASS 289 rows next-id=292; ledger guard PASS 774 rows; format clean" }, { - "date": "2026-07-14", - "ref": "claude/pt-audit-pt17-live-monitor", - "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-07-27", + "ref": "PR #1286 / `fix-test-run-lock`", + "head": "d2219a8be89e6c218c4412fe40d4eb4b86fd79bf", + "scope": "Merge-conflict repair + Bugbot + CI fix", + "outcome": "FIXED. Resolved CONFLICTING merge vs main by keeping main soft-glass phone chrome, shared test-run-lock coordinator, tokenized document-nav mockups, and accessible-name Playwright contract; preserved PR forced-colors:border and literalShadowClasses 0 ratchet. Bugbot found no remaining P0-P2 on unique product delta. Removed 9 exact duplicate ledger rows introduced by merge=union.", + "checks": "Focused design-system + knip + mobile-chrome-paint + test-runner-safety PASS; ledger guard PASS after dedupe; hosted Static PR re-run pending; no provider-backed checks." }, { - "date": "2026-07-14", - "ref": "claude/pwa-optimization-plan-4b7c4f", - "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", + "date": "2026-07-13", + "ref": "origin/copilot/fix-failing-ci", + "head": "d248707d09f62bb153d0eece69b4f7f4e8aeb7dc", "scope": "branch-cleanup", - "outcome": "Deleted local redundant ref after its clean inactive worktree was unregistered.", - "checks": "Exact-head ancestry and local worktree/activity scan." + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci; git diff --name-only reported 36 path(s)." }, { "date": "2026-07-14", - "ref": "claude/remove-client-sentry", - "head": "8d54ddc980a0c883d1f8013e05aa1f96a85e622a", - "scope": "branch-cleanup", - "outcome": "Retained: new patch-unique work appeared during the cleanup pass.", - "checks": "Final local ref refresh after `origin/main` advanced concurrently." + "ref": "copilot/fix-failing-ci", + "head": "d248707d09f62bb153d0eece69b4f7f4e8aeb7dc", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-14", - "ref": "claude/repo-agents-evaluation-8a41cd", - "head": "b8b484398557231ce4ce05693b784dc3bac16299", + "date": "2026-08-08", + "ref": "claude/document-image-mobile-view-30xzw8", + "head": "d257df7e11913db1d367535171fac726f47e7f1c", + "scope": "PR #1737 document-viewer phone image review-and-fix", + "outcome": "fixed P1 expand fixture/threshold + P2 double-tap stage coords/pointer-up + resize re-clamp; Production UI timeout root cause cleared; merge-tree clean", + "checks": "verify:pr-local PASS (525 files/5653 tests); lint; typecheck; focused vitest 64/64; Production UI delegated to CI" + }, + { + "date": "2026-07-13", + "ref": "claude/psychiatry-calculators-mockups-8dd1a4", + "head": "d25f495a03b96d328874eee3eb2e78863f7611ef", "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { "date": "2026-07-14", - "ref": "claude/repo-next-steps-e53523", - "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", - "scope": "launch-readiness and RAG-performance follow-up", - "outcome": "Branch changes were already squash-merged by PR #513. Fresh review found one P1 governance inconsistency (Singapore app/worker processing omitted from the PIA's cross-border account) and three P2 follow-ups: degraded-answer SLO overcounting, a second blocking shared-cache miss diagnostic query, and stale launch/RAG backlog status. No source fix was applied in this review.", - "checks": "`git diff --check c3828ceb9f3812abeebc1b653361fc254dda9f5e..3f7d6d76f597f2a0311af1052480f84b68ecc259`; focused Vitest 92/92; `npm run eval:rag:offline` 36 fixtures and 59/59 contract tests; `npm run verify:cheap` passed runtime, action pins, sitemap, type scale, lint, typecheck, and 1,672 passed/1 skipped tests. Provider-backed Supabase/OpenAI, browser, release, drift, and live retrieval-quality checks were not run." + "ref": "codex/database-productivity-pack", + "head": "d25f495a03b96d328874eee3eb2e78863f7611ef", + "scope": "branch-cleanup", + "outcome": "Retained because its checked-out worktree is dirty and task-backed, despite no unique committed patch remaining.", + "checks": "Worktree status and Codex task-registry scan." }, { - "date": "2026-07-14", - "ref": "claude/repo-productivity-ideas-2e8b98", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "date": "2026-07-13", + "ref": "claude/supabase-auth-connection-cap-8907c5", + "head": "d28cf149c36f0e44d3bde49068187f262190d74e", "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained.", - "checks": "Local cherry-pick-aware comparison; clean inactive worktree removal." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #525; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-14", - "ref": "claude/sentry-client-capture", - "head": "beaab0bf2f0b1d27c6253004d400ac7be3ade19e", + "date": "2026-07-13", + "ref": "origin/claude/supabase-auth-connection-cap-8907c5", + "head": "d28cf149c36f0e44d3bde49068187f262190d74e", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and a live shell references its worktree.", - "checks": "Local patch comparison, clean status, and path-referencing process scan." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #525; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-14", - "ref": "claude/site-performance-speed-61d154", - "head": "cb0bcf35498385bca1180462c8ab79b6f8293708", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion (user decision): redundant perf-r2 duplicate; unmerged batch-endpoint work preserved in retained claude/perf-r2-plan-cache-migration. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-08", + "ref": "cursor/phone-mode-dense-production-05c0 (PR #1648)", + "head": "d2a0c8b12bcf3ea6b56c3d8291e4aa09da3e603e", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "post-merge Unit coverage: restored usesPhoneSearchLayout min-h ternary for audit-navigation contract; CI re-running", + "checks": "vitest audit-navigation+mode-nav+header-scroll-hide 66 passed; no provider-backed checks" }, { - "date": "2026-07-14", - "ref": "claude/specifiers-v2-design-r55baf", - "head": "343f4ee4e89844e6a668910958ce1e3f119c128e", - "scope": "branch-cleanup", - "outcome": "Retained: open PR #656 (full DSM-5-TR specifier catalog; +19k, novel data/loaders not on main).", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-02", + "ref": "claude/ds-v2-values", + "head": "d2a29198415292a28ed1dbf1c740c94f6c12ddb3", + "scope": "PR #1571 review-and-fix (ds-v2-values tap/radius)", + "outcome": "fixed+clarified: gate2 objective acknowledges h-10/unwired audit not blocked; overlay 430px assertion scoped to media block; prior tip 48012d35 Production UI+PR required green", + "checks": "verify:cheap; verify:pr-local; 2 smoke; UI overlay contract; CI Production UI (1)(2)(3)+PR required SUCCESS on 48012d35" }, { - "date": "2026-07-14", - "ref": "claude/therapy-compass-pages-rz0m5l", - "head": "5a89a521add5a02dc4f6dd640b393c5bdd690183", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-13", + "ref": "codex/domain2-remediation", + "head": "d2a90f082d2f696a3c903e08544ae156bc93de41", + "scope": "branch-cleanup", + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/domain2-remediation; git diff --name-only reported 46 path(s)." }, { - "date": "2026-07-14", - "ref": "codex/database-productivity-pack", - "head": "d25f495a03b96d328874eee3eb2e78863f7611ef", - "scope": "branch-cleanup", - "outcome": "Retained because its checked-out worktree is dirty and task-backed, despite no unique committed patch remaining.", - "checks": "Worktree status and Codex task-registry scan." + "date": "2026-08-27", + "ref": "codex/therapy-pathways-redesign (PR #2413)", + "head": "d2bbc44f084707d8844485c67c8cd76d57e04b39", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: mergeable_state dirty (conflict vs main), all real CI green on prior head (19fca0d), 0 unresolved review threads (4 PR comments were all automated bot usage-limit/status noise, no actionable findings). After: merged origin/main (b183dc65) into branch; only conflicts were generated files docs/design-system/COMPONENTS.md and docs/design-system/adoption-manifest.json, resolved by regenerating via 'node scripts/generate-design-system-adoption.mjs --write' (no manual edits); PR mergeability check now succeeds. No review threads needed action (none existed). No CI fix needed beyond the merge itself.", + "checks": "npx vitest run tests/therapy-pathways-mobile.dom.test.tsx tests/therapy-compass-responsive-contract.test.ts tests/playwright-pr-shards.test.ts -- 25 passed; npm run check:design-system-adoption -- design system adoption checked: 55 components, 76 roots; npm run check:playwright-pr-shards -- PR UI shard parity OK: 31 production specs across 3 groups; pre-commit hook ran docs:check-inventory and docs:check-index -- both current. No provider-backed checks run." }, { - "date": "2026-07-14", - "ref": "codex/domain-1-governance-remediation", - "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", - "scope": "branch-cleanup", - "outcome": "Retained (user decision): novel governance incident runbooks + clinical-production-posture lib + clinical-query-privacy-notice component never merged to main.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-19", + "ref": "claude/lightweight-mode-homes", + "head": "d2d7f3d361f89fe45791b5b79074804d718e4b9f", + "scope": "PR #2157 lightweight mode homes consolidation", + "outcome": "Reviewed and fixed: PR policy body was empty, blocking merge. Restored Documents mode's dedicated workspace after another automated pass folded it into the generic shared home and deleted real functionality (recent documents, browse library, open-a-source-PDF) with no equivalent replacement -- confirmed live via browser and Playwright, and confirmed the account owner never actually approved that loss. Reverted a redirect-on-empty-query regression on differentials/formulation/specifiers search routes that two separate automated passes introduced, both breaking a pinned Playwright phone-scroll spec that neither pass's Vitest-only verification could catch. Fixed stale docs/comments (Therapy devOnly rationale, route tables, site-map descriptions). Full unit suite green (683 files), targeted Playwright verification on Chromium green for the restored Documents spec.", + "checks": "npm run test (683 files, full suite green); 187 targeted vitest re-runs across every touched file; npx tsc typecheck clean; npx eslint clean; npx prettier --check clean; Playwright tests/ui-smoke.spec.ts Documents @critical spec run live against dev server -- chromium passes end to end, webkit fails one narrow cross-browser focus-restoration assertion (non-functional)" }, { - "date": "2026-07-14", - "ref": "codex/dsm-diagnosis-mode", - "head": "abba3c7d2909017f1691041c2caa11d9716c565e", + "date": "2026-07-30", + "ref": "codex/docs-sync-automation-pr", + "head": "d2fd16d547df557ffcf13219ff96d437cafe445a", "scope": "branch-cleanup", - "outcome": "Retained because its checked-out worktree is dirty and task-backed, despite no unique committed patch remaining.", - "checks": "Worktree status and Codex task-registry scan." + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "merged PR #1494 strengthens the hook fix; unique documentation review record copied; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-07-14", - "ref": "codex/dsm-diagnosis-mode", - "head": "f6cda83ca6aed3a24d999ef4ccd38bff167d4788", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-02", + "ref": "claude/ds-v2-values", + "head": "d33721b436c05014e8ef1f362a945fe9574e676e", + "scope": "DS V2 PR-V values", + "outcome": "Wave 2 self-verified before push: 5a close-out (no value deltas remain after decision J2; contract metrics unchanged at rawColorLiterals 2 / literalShadowClasses 0 / legacyTapClasses 0), 5b tap knob 2.75rem to 3rem in @theme with --tap-min reduced to var(--spacing-tap) across 426 *-tap sites and three pins flipped in-commit, 5c --radius-md 8px to 10px across 243 rounded-md sites with the 4px-grid pin naming both half-steps and 14 arbitrary radius literals absorbed. Two carve-outs recorded in SPEC 4.10/4.6: the phone composer stays 44px below 431px, and the 2px mode-nav hairline stays off the ladder. An offline.html tap bump was reverted before push because it would have forced a service-worker CACHE_VERSION bump. Known-red local gate: tests/ui-smoke.spec.ts:2221 phone runway pin fails on unmodified origin/main here too (maxOffset 99 at base vs 111 at this head, reproduced in a pristine capture worktree) while CI run 30720360137 is green on the same tree - plan finding L, CI binding.", + "checks": "typecheck exit 0; verify:pr-local PASS with 4880 passed 3 skipped (4883) in 471 files, production build compiled, client-bundle secret scan passed, eval:rag:offline fixture line plus 574/574 (better than the J4 known-red baseline); verify:ui 346 passed 1 failed (the known-red phone runway pin); verify:phone-chrome --full=never contracts 116/116 and ui-tools 87/87 with the same single known-red test; test:e2e:critical 15/15; design-system contract, branch-review-ledger, outstanding-issues, sitemap, docs link/index/inventory/scripts all exit 0" }, { - "date": "2026-07-14", - "ref": "codex/dsm-diagnosis-mode", - "head": "f6cda83ca6aed3a24d999ef4ccd38bff167d4788", - "scope": "DSM diagnosis mode, local clinical catalogue, search/comparison/differential UI, accessibility, and merge-readiness review", - "outcome": "One P2 mobile tap-target defect was fixed across the DSM header, filters, comparison controls, and result actions. No remaining high-confidence P0-P2 finding after preserving current `main` and its Specifiers integration during conflict resolution. Residual risk is formal clinical governance and regulatory review of the paraphrased local DSM reference content before broader clinical deployment.", - "checks": "Focused Vitest 48/48; `npm run verify:cheap` passed with 2,321 tests/1 skipped; targeted Chromium DSM redirect/search/detail journey 1/1; CI-mode production readiness READY; `git diff --check`. Provider-backed Supabase/OpenAI and full advisory `verify:ui`/release checks were not run." + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "d36914a79fa4304273429aab0d7f271010f3bb96", + "scope": "ledger process tooling bundle (#313 dirty-tree gate, 829597d4 merge-loss detector, #211/#168/#258 plans)", + "outcome": "PR #1944 — five separate commits, each independently revertible. Two code items: check-ledger-write-discipline.mjs now refuses a verdict while a governed ledger path is dirty (gated on default HEAD so guard-push.mjs explicit --head and clean CI are unaffected); new scripts/audit-merge-loss.mjs advisory blob-comparison sweep, exits 0 and asks for human confirmation, not wired into CI or verify:cheap by design. Three docs-only plans. Found and fixed during build: the shared git() helper trim() was corrupting porcelain status parsing, and JSDoc types were needed to stop TS inferring never[] for the classifier landings parameter. Noted: classifyPullRequestFiles reports operationalRisk true solely from the package.json script entry.", + "checks": "npm run verify:pr-local — 18 gates completed, 1 failed: check:medication-lexicon-report, reproduced identically in a clean detached worktree at origin/main d47aa6d so pre-existing and not caused here; tests/ledger-write-discipline.test.ts 9 passed; tests/merge-loss-audit.test.ts 14 passed; both script self-tests passed; audit:merge-loss --since 6 independently rediscovered the acf78bf casualties #1803/#1800/#1804/#1796/#1811" }, { - "date": "2026-07-14", - "ref": "codex/dsm-main-integration-20260714", - "head": "9e013894b2e45d6be39af1ef4593a14604886476", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-17", + "ref": "dependabot/github_actions/github-actions-6d70da7aad (PR #2011)", + "head": "d3920e636e191a31240cee4897b314ec9329c587", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch; PR required: success" }, { - "date": "2026-07-14", - "ref": "codex/eval-canary-quota-handling", - "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", - "scope": "branch-cleanup", - "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-31", + "ref": "core_rag_security_hub", + "head": "d39db0ec72583680f666078a4a366083bf37fcf9", + "scope": "PR Group 2: Core RAG, Security, DB Functions & Developer Hub (#DHAR98, #0JJ4RD, #2X46NY, #S4R2W3, #N8B176, #VKH7N1, #CJCH2E, #FDST2Q, #XKS6FD, #ZW43ZT, #G693BZ)", + "outcome": "PASS: All 11 Group 2 tasks verified clean against database guards, RAG quality gates, DOM component tests, full typecheck, and Prettier formatting with zero regressions.", + "checks": "npm run check:migration-role, npm run check:function-grants, npm run check:owner-scope, npm run typecheck, vitest run tests/developer-hub-components.dom.test.tsx tests/developer-ingestion-page.dom.test.tsx tests/documents-is-public.test.ts tests/supabase-schema.test.ts tests/extractive-answer-formatting.test.ts (247/247 passed), npm run format" }, { - "date": "2026-07-14", - "ref": "codex/eval-canary-structured-errors", - "head": "f8b543e6b22c2979aa64b60748f31a5ef31e87d3", - "scope": "branch-cleanup", - "outcome": "Retained because an idle Codex task still owns the clean worktree; no local or remote deletion was attempted.", - "checks": "Codex task-registry and worktree scan; zero-unique patch check." + "date": "2026-08-08", + "ref": "claude/ds-a4-component-defects", + "head": "d3a697aa8784c9cbdecfba24402cf2269bfe15d4", + "scope": "heavy review-and-fix PR #1712", + "outcome": "Lint blocker fixed (react-hooks/refs in Pagination); CodeRabbit threads dispositioned; synced main (4a9d81d3 Lighthouse pin); merge-tree clean; verify:cheap 5567 passed; verify:pr-local green; check:design-system-contract passed", + "checks": "lint; typecheck; prettier --check .; verify:cheap (5567 passed); verify:pr-local; check:design-system-contract; check:branch-review-ledger; vitest ui-v2-components.dom (75 passed)" }, { - "date": "2026-07-14", - "ref": "codex/formulation-specifier-separation-current", - "head": "17c9ea7383f5b463ec648317cd170c24b8e7c584", + "date": "2026-07-31", + "ref": "origin/claude/outstanding-issues-triage-24c8ow", + "head": "d3c2a17a848be5458664355de4fd41d0933d2705", "scope": "branch-cleanup", - "outcome": "Retained: open PR #672 (Specifiers/Formulation separation residual; core already landed on main via #674).", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "outcome": "safe remote delete: merged PR #1428 content and post-merge #122 disposition are superseded by later current-main issue records; archived batch19", + "checks": "PR #1428 merged; post-merge tail inspection; current issue-row comparison; no local worktree; exact ls-remote SHA match; bundle verify" }, { - "date": "2026-07-14", - "ref": "codex/formulation-specifier-separation-current", - "head": "25d7f733f + uncommitted fix", - "scope": "Specifiers/Formulation boundary bug hunt and remediation", - "outcome": "Confirmed two P1 clinical-navigation/content boundary defects: the completed Formulation change deleted the distinct psychiatric Specifiers workspace and redirected every `/specifiers/*` route into Formulation; a later universal-search contract also labelled Formulation mechanism results as `specifiers`. Restored the independent Specifiers catalogue, detail, builder, compare, and map surfaces; registered both app modes and action sets; kept submitted searches in their owning standalone workspace; and split universal search into real `specifiers` and `formulation` domains with correct records, headings, mode ownership, and destinations.", - "checks": "Offline only: full Vitest 2,404 passed/1 skipped, TypeScript, full ESLint, focused Vitest 56/56, sitemap check, `git diff --check`, production-readiness READY with expected missing-env warnings, identity-checked server at `http://localhost:3384`, and repaired Chromium journeys for Specifiers desktop/mobile, Formulation mobile, and explicit route-family separation all passed. No provider-backed or live API checks run." + "date": "2026-08-24", + "ref": "claude/browser-test-gate-handoff-d5c1db (PR #2347)", + "head": "d3f5edc26b319f5feccebd628fd537855321f33c", + "scope": "Run PR sweep: CI fixes (owner closed mid-sweep)", + "outcome": "Before: PR required failing (Static PR checks: stale outstanding-issues snapshot + 3 broken docs-links; PR policy: Clinical Governance Preflight unchecked) and behind main. Fixed: (1) regenerated data/outstanding-issues-snapshot.json via its generator script; (2) added 3 scoped docs-link-checker allowlist entries in scripts/check-docs-links.mjs for historical/quoted-diagnostic path references in the Phase 2B SDD archive docs (verified locally, not a broken link). Synced origin/main in (clean merge-tree) both times. Static PR checks went green after both fixes. PR policy remained red (Clinical Governance Preflight checkboxes require a PR-body edit, outside this sweep's authorization). The PR owner (BigSimmo) then closed the PR at 14:42 UTC for unrelated reasons (auto-merge armed on incomplete work; a known-false workspace-coverage claim; explained in PR comment) — not an action taken by this sweep. Both fix commits remain on the branch per the owner's own comment (nothing lost).", + "checks": "node scripts/generate-outstanding-issues-snapshot.mjs + node scripts/check-outstanding-issues-snapshot.mjs (pass); node scripts/check-docs-links.mjs (pass, 3322 refs resolve); prettier --check scripts/check-docs-links.mjs (pass). No provider-backed checks run." }, { - "date": "2026-07-14", - "ref": "codex/formulation-workspace", - "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", + "date": "2026-07-13", + "ref": "claude/design-sync-78bad6", + "head": "d3f68661646488390bfefa79b1f2e511c2ecb2d3", "scope": "branch-cleanup", - "outcome": "Retained because its checked-out worktree has uncommitted work.", - "checks": "Fresh worktree status and Codex task-registry scan." + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-14", - "ref": "codex/formulation-workspace", - "head": "ce6baa31ffe9647d736a18e95f9d95a95bda313c", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-11", + "ref": "codex/quality-review-integration", + "head": "d3fcef8bbc9ab12b929771421b532c1ed8b7e1e7", + "scope": "branch-integration-review", + "outcome": "Replayed the quality, testing, and TypeScript fixes onto current `origin/main` and consolidated the stronger standalone auth callback coverage into this branch.", + "checks": "Changed-file Prettier; focused Vitest (5 files, 23 tests); `git diff --check`; original branch full Vitest/coverage/lint/typecheck and targeted Chromium evidence retained" }, { - "date": "2026-07-14", - "ref": "codex/global-answer-reliability", - "head": "01d2749978d4e8f3b4ac508e068ec7b8d331f816", - "scope": "release-readiness / answer generation, source governance, progress, and document access", - "outcome": "No unresolved P0-P2 findings after fixing demo-path governance parity, preserving feedback-token binding during the `origin/main` rebase, and binding legacy-summary feedback to the delivered governed answer. Ready for hosted PR checks.", - "checks": "`npm run verify:pr-local` (2,223 passed, 1 skipped; production build and offline RAG evaluation passed); focused Chromium answer regressions (4/4 passed); focused answer and route regressions (124/124 passed)." + "date": "2026-08-15", + "ref": "claude/capture-ongoing-drop-question", + "head": "d40e89ebb7a77f589683a6a6244fdcb84ad4c4af", + "scope": "Withdraw unsupported index-loss P1 after exact Action-log set comparison; merge main", + "outcome": "fixed", + "checks": "git diff --check; ledger and issue guards" }, { - "date": "2026-07-14", - "ref": "codex/global-answer-reliability", - "head": "eb6160a140e1d785340f171a534a9d74da267179", + "date": "2026-07-13", + "ref": "claude/psych-vocab-seed", + "head": "d41c65f209029ba37bd54424640918559209ffa1", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; the inactive clean worktree was removed without deleting the ref.", - "checks": "Local cherry-pick-aware comparison and reachability check." + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #605.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-14", - "ref": "codex/lithium-answer-recovery-pr", - "head": "5bc19c665b1d9d9069485bb871d7ddb566858ccd", + "date": "2026-07-13", + "ref": "origin/claude/psych-vocab-seed", + "head": "d41c65f209029ba37bd54424640918559209ffa1", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; the inactive clean worktree was removed without deleting the ref.", - "checks": "Local cherry-pick-aware comparison and reachability check." + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #605.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-14", - "ref": "codex/live-migration-history-alignment", - "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/fix-ecg-animation-on-mobile-devices", + "head": "d4662baa81ba738b2278f624f213db416fde95a5", + "scope": "review-and-fix", + "outcome": "Merged latest main, resolved the CSS-test conflict, and fixed the WebKit late-notice test race", + "checks": "Focused Vitest 2/2; design-system contract; changed-file ESLint; typecheck; Prettier; branch-review, outstanding-issues, ledger-discipline and final-merge audit. Browser/provider gates not run locally." }, { - "date": "2026-07-14", - "ref": "codex/offline-retrieval-signal-followup", - "head": "ef448e212d12c1cadbeb3ea053ca6639e6f0ada4", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-18", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR #835)", + "head": "d46f381ac27b53b1bd5ac0ef77962fbd48cf3aa7", + "scope": "PWA manifest and install-UX polish (plan Phase 2)", + "outcome": "Implemented Phase 2 of the PWA plan with cache semantics untouched: `launch_handler` navigate-existing/auto and `display_override` standalone/minimal-ui in `manifest.ts`; `monochrome-192/512` icon variants rendered as a white alpha-only silhouette from the shared brand mark via `BRAND_MONOCHROME`; a one-time iOS/iPadOS Add to Home Screen hint in `pwa-lifecycle.tsx` (30-day dismissal key, never in standalone, timer-deferred eligibility for the set-state-in-effect lint rule). Docs Installability section updated; manifest screenshots remain deferred per the production-capture precondition. Phase 2 re-scout confirmed zero upstream drift before implementation.", + "checks": "Focused Vitest 55/55. `verify:cheap` 2773 passed/1 failed and `verify:pr-local` unit stage identical — the lone failure is the known container-only `pdf-extraction-budget` artifact (clean-main baselined; hosted CI green on #826). `test:e2e:pwa`: privacy journey passed; icon probes validated both new monochrome PNGs; sole installability error remains the container `in-incognito` artifact. `verify:ui` 219 passed/2 failed — exactly the two clean-main-baselined container artifacts, no new failures. `format:check` clean. Build/bundle stages deferred to the blocking hosted CI Build job on PR #835. No provider-backed checks run." }, { - "date": "2026-07-14", - "ref": "codex/openai-gpt56-rag-upgrade", - "head": "7e4b535fc53fe61ace561facdb8c7a224c18d86f", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and an idle Codex task owns the worktree.", - "checks": "Local patch comparison plus Codex task-registry scan." + "date": "2026-07-17", + "ref": "PR #718 / codex/performance-latency-remediation-20260717", + "head": "d47ef7a329256687a615c33dd311806c2c1214a8", + "scope": "hosted UI and migration-order merge-blocker follow-up", + "outcome": "Fixed both integration defects exposed by the exact-head UI run: the document scope surface now triggers the deferred, deduplicated catalogue load, and viewer navigation closes unrelated disclosures before opening or scrolling to the selected section. Updated SSR-aware browser fixtures without restoring the removed detail request. Renumbered all three new migrations after the latest production migration and regenerated the drift manifest. No remaining high-confidence P0-P2 defect was found in the follow-up diff.", + "checks": "Focused Vitest 65/65; scoped ESLint and Prettier; `git diff --check`; isolated production Webpack build and TypeScript; focused Chromium 7/7 including both stress viewports; Docker schema replay and drift-manifest regeneration passed in 15 seconds with unchanged schema SHA. No OpenAI calls or live Supabase DDL, migration, rate-limit RPC, or data write ran." }, { - "date": "2026-07-14", - "ref": "codex/openai-gpt56-rag-upgrade", - "head": "f83d7d49b32fb9bb8b8c2ede99e93675574c88d8", - "scope": "PR review follow-up", - "outcome": "Confirmed and remediated five scoped review findings: answer-quality JSON no longer retains owner-scoped answer previews; valid tablet/mmol dose phrases are accepted; review-fallback routing uses a shared token; the classifier sends only supported structural schema constraints and validates bounds after parsing; and equivalent maximum-dose wording remains eligible. Replaced the redundant dashboard source-string guard with the existing mixed-version browser behavior regression.", - "checks": "Focused Vitest 123/123; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (234 files passed, 1 skipped; 2,229 tests passed, 1 skipped); `git diff --check`. Provider-backed retrieval remains separately blocked by exhausted OpenAI embedding quota after case 24/36." + "date": "2026-07-28", + "ref": "PR #1289 / `codex/rag-reliability-final`", + "head": "d49af8acb42ccedbfe6c8b3f03d30769ba906ec7", + "scope": "Bugbot review (exact head)", + "outcome": "APPROVE. No high-confidence P0–P2. Application `src/`/`supabase/`/`tests/`/`scripts/` trees are unchanged vs prior APPROVE tip `a1ca6a01`; tip delta is docs evidence + clean merge from `main`. No unresolved `cursor[bot]` Bugbot threads. Residual risk: unapplied BMJ attestation migration (`#022`) correctly fails closed with `503 source_review_v2_unavailable` until qualified hosted apply.", + "checks": "Focused high-risk Vitest 358 + 1502 passed; merge-tree CLEAN vs `origin/main`; no provider-backed checks; no PR comment mutations." + }, + { + "date": "2026-07-31", + "ref": "PR-1510", + "head": "d49b65f4bf80962481dcf0a9c9d99c04547c5977", + "scope": "PR #1510 post-1511 exact changed scope", + "outcome": "APPROVE after current-main reconciliation and append-only ledger normalization; no remaining P0-P2 findings", + "checks": "issues, review ledger, design-system contract, docs links/scripts/index, changed-format and diff checks PASS; prior exact-head typecheck and focused ESLint retained; fresh hosted CI required" + }, + { + "date": "2026-08-01", + "ref": "work", + "head": "d4a4463172671cff3fd333feb685fa397e4f95d0", + "scope": "latency, lazy loading, React and Next.js frontend performance", + "outcome": "P2 eager document administration bundle boundary fixed; no P0/P1 findings", + "checks": "lint; typecheck; 463 files/4811 tests; production build; bundle budget" }, { - "date": "2026-07-14", - "ref": "codex/performance-prompt-audit", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "branch-cleanup", - "outcome": "Deleted local redundant ref after confirming no patch-unique content remained.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-08", + "ref": "codex/lighthouse-hardening (PR #1746)", + "head": "d4af6a6356de3327906936a237405e4e7ccba0cb", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY + 3 Codex P2 + Static contract fail → main sync; process-group kill; suite deadline; normalized samples; contract test updated; threads unreplied (API 403)", + "checks": "vitest live-web-vitals-inputs+check-lighthouse-budget 61; ci-cache-safety 32; no provider-backed checks" }, { - "date": "2026-07-14", - "ref": "codex/please-thoroughly-review-this-repo", - "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-06", + "ref": "claude/settings-nav-freeze-desktop-tdzh7z (PR #1641)", + "head": "d4ecd2b5fc48a8d8f37f081cac2d80beb749df01", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: mergeable/BLOCKED, 0 unresolved threads, 0 behind main; prior CI reds were infra (npm ECONNRESET on Unit coverage; e7f380f3 cancelled at Set up job). after: pushed d4ecd2b5 ResizeObserver pin-clamp distance reset; all review threads remain resolved; CI re-triggered but GitHub Actions major_outage — runs pending/queued, no product failure to fix; merge tree clean", + "checks": "local typecheck PASS; local lint (settings-dialog) PASS; format unchanged; no provider-backed checks run; hosted CI awaiting Actions recovery (run 31120931239)" }, { - "date": "2026-07-14", - "ref": "codex/rag-canary-completion", - "head": "b6a092fc9712efe6cb2849c219b29ce4fe0c71ee", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; its detached inactive worktree was safely removed.", - "checks": "Local patch comparison and commit reachability check." + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "d50a0f76671832b4460238ef7162d76c7646cdef", + "scope": "PR #1377 CI/review babysit", + "outcome": "Ledger tip after babysit record. Product fix remains e52c25c7 (scope behind admission); Codex P1 thread resolved; main synced.", + "checks": "same local gates as prior row; hosted CI pending on tip" }, { - "date": "2026-07-14", - "ref": "codex/rag-canary-recovery", - "head": "d6bd7fa7c0b9b29e9b7eddfd28e0478e042a0455", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-31", + "ref": "claude/clinical-kb-design-system-333a69", + "head": "d51b2b7ac8969e21aae9c328c525ae22dccbcccd", + "scope": "v2 design-system layer: tokens+26 components, C1 reconciliation, cascade port, HCM block, danger contrast, AsyncButton type", + "outcome": "handoff: PR opened, squash auto-merge armed on green", + "checks": "vitest contracts 67/67 pre-merge, 74/74 post-merge; export baseline tsc/lint/verify:ui 344 recorded" }, { - "date": "2026-07-14", - "ref": "codex/rag-performance-followups", - "head": "5502fd498ea2069f810795a8659f98ab3abf8c80", - "scope": "release-readiness review", - "outcome": "The local release review found no P0-P2 defect after correcting one stale PIA statement; the later hosted review follow-up is recorded below. The scoped RAG round-trip, SLO, retention, privacy, and documentation changes were ready for PR handoff. Highest residual risk is the known live hybrid-RPC latency tail; model experiments remain blocked by provider quota and legal execution remains operator/counsel work.", - "checks": "Rebased onto `origin/main`; runtime and full Prettier check; ESLint; TypeScript; Vitest 2,213 passed/1 skipped; Next.js production build (636 pages) plus client-bundle secret scan; offline RAG 36 fixtures and 277/277 contract tests; `git diff --check`. Live retention jobs 13/16 were already verified during this workstream." + "date": "2026-07-31", + "ref": "claude/sentry-agent-monitoring-eri94v", + "head": "d521fe9dc4ce50e94273a77ee819332afc5bc7e1", + "scope": "Ingestion-worker Sentry error reporting (worker/observability.ts, SAFE_TAGS worker keys, @sentry/node direct dep, docs + ledger #183)", + "outcome": "pass — additive capture only; privacy scrubbers reused, worker events pinned by tests", + "checks": "verify:pr-local exit 0 (460 files/4794 tests, build, eval:rag:offline),build:worker,npm ci --dry-run,check:outstanding-issues" }, { - "date": "2026-07-14", - "ref": "codex/rag-performance-followups", - "head": "fa0a6178fbbbb50de2544b4ec6cbd3f6cc9da0ae", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and a Codex task still references the worktree.", - "checks": "Local patch comparison plus Codex task-registry scan." + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "d5455837231f5cb6a927e8c4752ef5aa9c72767c", + "scope": "Merge conflict + CI + Bugbot review", + "outcome": "Merged origin/main (164 behind). Fixed conflicts in ClinicalDashboard/global-search-shell/mode-home/search-scope/tests/pdf extractor. Renamed duplicate migration 20260724120000→20260724130200. CI: skills openai.yaml, owner-scope setup-status exemption, sitemap, drift hash, answer-render duplicate key, setup-status mock `.eq`. Bugbot: fixed Codex P1 view-only indexing + P2 differential back; also fixed P2 viewer visibility for retained images and duplicate-upload cleanup ledger fail-closed.", + "checks": "Focused Vitest (back-href/worker/skills/setup-status/owner-scope/drift/sitemap/search-scope/favourites/forms/therapy/document-detail/upload-ledger) + typecheck + check:skills/migration-role/sitemap; no provider-backed checks." }, { - "date": "2026-07-14", - "ref": "codex/railway-deploy-filters", - "head": "435274bb2a567272b3abf0519fa45a82ba6d797d", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "date": "2026-08-24", + "ref": "PR #2359 / claude/dev-hub-phase-2-recovery", + "head": "d554a86de2c527d6f59aa6aaabf43b130a786089", + "scope": "PR #2359 current changed scope", + "outcome": "P2 findings confirmed: complete review corpus omitted legacy/archive rows; fallback UI counts disagreed with rendered groups. Smallest fixes applied; no additional P0-P2 findings in changed scope.", + "checks": "Hosted failure root cause: stale review_state snapshot; focused Vitest first attempt blocked by repository coordinator capacity; local snapshot gate reproduced expected review_state drift." }, { - "date": "2026-07-14", - "ref": "codex/release-blocker-remediation", - "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", - "scope": "branch-cleanup", - "outcome": "Retained because its active checked-out worktree has substantial uncommitted work.", - "checks": "Active Codex task and fresh worktree status scan." + "date": "2026-07-31", + "ref": "codex/moderate-batch-20260730", + "head": "d582c49fe3a2f01bad179d06f84484754b639458", + "scope": "PR #1485 accordion/catalogues", + "outcome": "APPROVE after Bugbot/CodeRabbit triage; fixed differential LRU soft-success on Retry and credential/error pulses; no open review threads; merge-tree clean vs main", + "checks": "vitest catalog DOM 12/12; check:outstanding-issues; merge-tree clean; Bugbot: no cursor[bot] threads; CodeRabbit threads resolved" }, { - "date": "2026-07-14", - "ref": "codex/release-blocker-remediation", - "head": "1ca2f9f372e23f563de0bc4f823cd341d82a562a", - "scope": "branch-cleanup and merge-readiness", - "outcome": "Retained. PR #655 has green completed checks but currently conflicts with `main`; its branch remains checked out in an active worktree.", - "checks": "Authenticated PR metadata and check rollup; exact-head, worktree, and mergeability confirmation. No merge, rebase, conflict resolution, or branch deletion attempted." + "date": "2026-07-30", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "d5842e62238237ff5c47da0b32ef8d9f12819714", + "scope": "PR #1398 babysit", + "outcome": "COMPLETE for tip: cleared main conflict; fixed Codex P2 (reject refs/*→origin/* nesting); prior Codex P2 (destination check) already fixed in de594186 and resolved; 0 unresolved threads; merge-tree clean. Hosted CI re-running.", + "checks": "repo-hygiene 40/40; verify:cheap earlier PASS on pre-tip; format:changed PASS; Bugbot none; Codex P2 resolved" }, { - "date": "2026-07-14", - "ref": "codex/release-blocker-remediation", - "head": "550e0588866c38583bd9445fc109ea7832a98211", - "scope": "working-tree release remediation review", - "outcome": "Reconciled the remediation onto current main after three retained-stash fast-forward syncs, preserving the extracted RAG and document-viewer architecture and main's Sentry removal. Review confirmed and fixed the Windows offline-release launcher failure, the offline Railway health-check blocker, and shared staging-test passwords. No remaining high-confidence issue was found in the changed local scope. Provider-backed production and staging evidence remains a post-PR gate.", - "checks": "`npm ci` and `npm ls --depth=0` passed; focused registry/offline/RAG/viewer/tenancy Vitest 207/207 plus health/config follow-up 15/15; `npm run format:check`; `npm run check:github-actions`; `npm run check:ci-scope`; `npm run verify:cheap` passed runtime, generated guards, lint, TypeScript, and full Vitest (254 files passed, 1 skipped; 2,325 tests passed, 1 skipped); `git diff --check`." + "date": "2026-08-14", + "ref": "PR-1958", + "head": "d5acb3e677556420df94a0adf8fbeba06ce5dc73", + "scope": "Tools mode navigation; shared-home route contract; docs/branch-review-records", + "outcome": "fixed Tools preference persistence and stale CI source-contract assertion; merged latest main", + "checks": "manual adversarial review; targeted source contracts; git merge-tree; git diff --check; docs links; ledger inbox; ledger guards; focused Vitest unavailable (node_modules absent)" }, { - "date": "2026-07-14", - "ref": "codex/release-blocker-remediation", - "head": "8a7ec72b22bff98b8d4b31d533ae9a0738dee071", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-30", + "ref": "codex/close-issue-127", + "head": "d5fd28f75b404046f13507aa3705d55898d7669c", + "scope": "review finding wording correction", + "outcome": "approved: causal wording now matches PR 1427 implementation", + "checks": "check:outstanding-issues; prettier check; diff check" }, { - "date": "2026-07-14", - "ref": "codex/release-blocker-remediation", - "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", - "scope": "branch-cleanup", - "outcome": "Retained because its active checked-out worktree continued moving during the cleanup pass and still contains uncommitted work.", - "checks": "Active Codex task and final worktree/ref refresh; deletion prohibited." + "date": "2026-08-12", + "ref": "claude/segmented-control-count", + "head": "d5ff3160242986d2fac80ed9a915390b5c69b6e1", + "scope": "SegmentedControl option hint slot (filter rollout prerequisite)", + "outcome": "PR #1848 opened; additive, no call site passes hint yet; fixed a concatenated accessible name (All62 -> All (62))", + "checks": "lint/typecheck/test green, 80 in ui-v2-components, 56 design-sync with no regen needed, clean build, bundle-budget within tolerance" }, { - "date": "2026-07-14", - "ref": "codex/repository-review-remediation", - "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-16", + "ref": "codex/finalize-tooling-follow-through-documentation", + "head": "d60649bbc14bfcba72d9f9a2fc65e3eff189bb41", + "scope": "PR #1994 unblocking review and scope repair", + "outcome": "P1 accidental 1035-file scope and stale-base conflict removed; invalid Context7 4.0.2 and nonexistent checklist changes dropped; current ingestion plan retained with safer execution rules; distinct manual adversarial pass completed", + "checks": "GitHub exact-head/tree/compare and contract inspection; official package metadata check; static Markdown and immutable-record validation; local npm gates unavailable without a checkout, deferred to exact-head CI" }, { - "date": "2026-07-14", - "ref": "codex/specifiers-design", - "head": "65d8f533f23ca59190b1f7ed0ad86fd050381805", + "date": "2026-07-13", + "ref": "claude/wonderful-fermat-f00d79", + "head": "d6284c75b022f813f205fd3a73cce92b057a2a17", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Local cherry-pick-aware comparison to current `origin/main`." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #477; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-14", - "ref": "codex/specifiers-design", - "head": "c3e7024e15d2157bbc0b989276324cc6ad3eea5c", - "scope": "Specifiers UI, clinical decision-support, accessibility, and release-readiness review", - "outcome": "One P2 WCAG contrast defect was reproduced and fixed across the builder, comparison, and map accent eyebrows. No remaining high-confidence defect was found in the changed scope; residual risk is clinical/manual governance of the original specifier summaries.", - "checks": "Focused Vitest 18/18; focused Chromium desktop/mobile 2/2 with serious/critical axe WCAG A/AA scanning and overflow checks; `npm run check:production-readiness:ci` READY; `npm run verify:cheap` 2,210 passed/1 skipped; `npm run verify:pr-local` 2,213 passed/1 skipped plus production build and client-bundle secret scan; `git diff --check`. Full advisory `verify:ui` exceeded the local 10-minute execution window; provider-backed checks were not run." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "d63682c7e68b6ea41670a0db2349817c2e29988f", + "scope": "Asset and image optimization remediation review", + "outcome": "READY after follow-up. Added transformation parameters to `SignedImage`, aspect ratio box reservation (`aspect-[4/3]`) to non-PDF source previews, immutable `Cache-Control` headers to PWA icon routes, ARIA live region attributes to image error containers, top-level `width`/`height` to `icon.svg`, WebP/AVIF public asset optimization script, SVG icon preload in root layout, explicit image caching and sizing config in `next.config.ts`, and `svgo` verification in CI. Fixed omitted CI static check step and missing PR policy governance preflight metadata. No P0-P2 findings in modified scope.", + "checks": "`gh pr checks 1195` verified PR policy, GitGuardian security checks, and Supabase preview passing after PR body metadata update. Verification results in subagent worktree: pre-existing syntax error in github action script bypassed via authorized format guard during commit; no RAG retrieval or ranking behavior change; no OpenAI, live Supabase, or provider database mutation performed." }, { - "date": "2026-07-14", - "ref": "codex/universal-search-domain-exclusions", - "head": "6b2c4ffbc81b9a35746ee2fa8795c73a2f65d4fc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "d63682c7e68b6ea41670a0db2349817c2e29988f", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "DO NOT MERGE. Stale divergent base `faa50e6e3` (not ancestor of main; 434 behind) still carries literal conflict markers in `answer`/`upload` API routes. P1: `minimumCacheTTL: 86400` contradicts private signed-URL cache warning. P1: mutating `svgo` `check:assets` wired into required CI. P2: SignedImage transform query params silent no-op (not SSRF); immutable year-long unversioned icons; orphan AVIF binaries.", + "checks": "Verified markers via `git grep` on head; next.config comment contradiction confirmed. No provider calls." }, { - "date": "2026-07-14", - "ref": "codex/universal-search-mode-ranking", - "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", - "scope": "branch-cleanup", - "outcome": "Retained because its active checked-out worktree has uncommitted work and a live Node process.", - "checks": "Active Codex task, worktree status, and process scan." + "date": "2026-08-07", + "ref": "cursor/settings-features-mockups-97ac (PR #1657)", + "head": "d64288ce0f2f111b1838ded31a23d0020b38da8b", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 17, checks green, 0 threads → after: merged origin/main (conflicts: none), CI re-running; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-14", - "ref": "codex/universal-search-mode-ranking", - "head": "6a0c37f8e3b4b23fa52c49fec28dcbc8d635b80f", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "d65141d47132e5f7d4efeb02fd908fb0562bf255", + "scope": "PR #1489 reopen prep: merge conflict + bugbot", + "outcome": "mergeable vs origin/main; no unresolved review threads; no P0-P2 product defects; added alias must-revalidate headers and deleted dead sidebar transition helper", + "checks": "merge-tree clean; check:outstanding-issues; build-therapies-index --check; therapy Vitest 21/21; format; typecheck" }, { - "date": "2026-07-14", - "ref": "copilot/29199485110", - "head": "4e09b838bda6a774f067b8e13717af2103502857", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-30", + "ref": "PR #1394 / `claude/top-search-design-mockups-w53znc`", + "head": "d658f120253ac0a2dbfe1c9b1a14c6a0744af14d", + "scope": "CI/review closeout tip (supersedes 8c39158d row)", + "outcome": "FIXED layout `/tools` false-positive; `#115` deferred with human disposition; threads resolved; merge-tree clean; CI settling", + "checks": "vitest adoption 6/6; full unit 4451/4; typecheck; Bugbot" }, { - "date": "2026-07-14", - "ref": "copilot/29202241308-fix-database-issue", - "head": "29db1aa1b29a812bf4c7eb7af5ea33371f086157", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-07", + "ref": "cursor/ship-first-redesign-mockups-2398 (PR #1654)", + "head": "d6610b20a6b51bcfda266e1645fe695014c4b627", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No action needed: PR required green, no unresolved review threads, not behind main. Only advisory Lighthouse job failing (never chased).", + "checks": "get_check_runs (PR required: success), get_review_comments (0 unresolved threads)" }, { - "date": "2026-07-14", - "ref": "copilot/database-ci-setup", - "head": "45fa392a24987e4b596d80fc81528912e62d95c9", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-25", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "d6b5d23f7e97f99310a249db8e9f006833e697c6", + "scope": "Open-PR maintenance: CI fix + threads + drift", + "outcome": "Before: 24 commits behind, Static PR checks/PR required failed, 2 unresolved Codex threads. After: merged current main cleanly and removed the branch-introduced byte-identical PR #1149 ledger duplicate; hydration suppression fix was already present.", + "checks": "branch-review-ledger guard pass (717 records); targeted lint blocked by active repository heavyweight lock in worktree 6314; `git diff --check` pass; no provider-backed checks run." + }, + { + "date": "2026-07-13", + "ref": "origin/claude/rag-cross-reference-guard", + "head": "d6ba5930ecf9fcf5be1d441a197f7f53a3086ce5", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #573; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-14", - "ref": "copilot/fix", - "head": "060b2cd9c0cb38fa0cb0521ce3f67ead13a9ab87", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-13", + "ref": "origin/codex/rag-canary-recovery", + "head": "d6bd7fa7c0b9b29e9b7eddfd28e0478e042a0455", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { "date": "2026-07-14", - "ref": "copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd", - "head": "b6097f0fbf19f82527ea95a385efb2ca7b8ec794", + "ref": "codex/rag-canary-recovery", + "head": "d6bd7fa7c0b9b29e9b7eddfd28e0478e042a0455", "scope": "branch-cleanup-deletion-pending", "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-14", - "ref": "copilot/fix-accessibility-test-timeouts", - "head": "17e11e45835510d2a43b8ea6fdfeed10df11e0d7", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-13", + "ref": "origin/coderabbitai/simplify/10f39fd", + "head": "d6d41d79d3bdb126974bb0b2605f7a82de9babb3", + "scope": "branch-cleanup", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #534; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-14", - "ref": "copilot/fix-again", - "head": "0b2d29a143926279b327ff302c2de3d5fe0edbc5", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-27", + "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", + "head": "d6d76f9b61479997f747ddd45767d81b851e207c", + "scope": "Exact-main sync review after hydrated-interaction test hardening", + "outcome": "APPROVE pending fresh exact-head hosted checks. Current `origin/main` merged with one test-only overlap in the differential compare endpoint journey. The resolution preserves main's handler-readiness guard and 15-second live-endpoint convergence while keeping the feature branch's atomic document-owner assertion. Main's remaining hydrated-interaction changes merged automatically; no production component, phone geometry, or retrieval behavior conflicted. No P0-P3 finding remains.", + "checks": "Pre-sync `verify:phone-chrome` PASS: 92/92 contracts, 12/12 focused phone journeys, 323/323 full Chromium; post-sync exact resolved production differential journey PASS 1/1; production build/TypeScript and `git diff --check` PASS; hosted required checks pending." }, { - "date": "2026-07-14", - "ref": "copilot/fix-another-one", - "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-14", + "ref": "PR-1958", + "head": "d74f208924b9b5ed3a5314b29018a727f1e84b69", + "scope": "PR #1958 final current-base sync", + "outcome": "Merged the current main after the Tools-directory review; preserved the combined shared-test resolution and left a clean merge tree.", + "checks": "docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 102 immutable; prior exact-head CI was green; current exact-head CI is pending; dependency-backed local UI checks unavailable in isolated worktree." }, { - "date": "2026-07-14", - "ref": "copilot/fix-barriers", - "head": "8711ee2b15c3b9a1a0e8444ba2ee799d6c5e6ab7", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-08", + "ref": "cursor/differentials-query-lit-stream-8bc0 (PR #1757)", + "head": "d76c4cc8b8633a65df66ea46b090c2864a2c1592", + "scope": "heavy review-and-fix", + "outcome": "CI fix on tip: type-scale text-3xs; presentations redirect lowercases+drops unknown while preserving valid cross-workflow ids; prior P1/P2 fixes retained", + "checks": "check:type-scale; vitest audit-nav+differentials-nav+stream; no provider" }, { - "date": "2026-07-14", - "ref": "copilot/fix-ci-error", - "head": "e6e735d2668f7383acc45bdb7cc7dc183e7a73a8", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-11", + "ref": "1821", + "head": "d76e90547dbdb104256b66a508c15c74302002fc", + "scope": "review-and-fix", + "outcome": "dispositioned", + "checks": "PR policy:success; PR mergeability:success; Gitleaks:success; Semgrep:success; Semgrep ingestion gate:success; Safety and config checks:success; Build:success; Production UI critical:success; Production UI (1):success; Production UI (2):success; Production UI (3):failure test not reproduced outside this PR; PR required:failure" }, { - "date": "2026-07-14", - "ref": "copilot/fix-ci-issue", - "head": "a95b282433e6b01bdd6444eb9b2de9148daf2363", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-18", + "ref": "claude/db-remediation-board-phase3-2026-08-18", + "head": "d78029abf911dfb9e728f3c64a7dc166e2e6cea2", + "scope": "docs/database-remediation-coordination.md board update after #2104/#2106 (#316)", + "outcome": "coordinator self-review: docs-only, verified against main 511d22f4d and open PR #2111", + "checks": "prettier --check pass; docs:check-links 1923 refs resolve" }, { - "date": "2026-07-14", - "ref": "copilot/fix-ci-issues", - "head": "5f1c6f64a544705df9df970e09da3b85f0d90efa", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-22", + "ref": "codex/ward-management-design (PR #2289)", + "head": "d784b33eed0347a4b439935e78e189a0088dafb6", + "scope": "Merge current main and validate Ward Flow review fixes", + "outcome": "Merged current main with semantic Ward Flow conflict resolution; preserved external review fixes and removed the retired constellation route.", + "checks": "Formatter plus generated site-map/adoption, codebase-index, and design-system contract passed; focused Vitest blocked by coordinator admission (exit 75); no provider-backed checks." }, { - "date": "2026-07-14", - "ref": "copilot/fix-ci-test-to-pass", - "head": "660e5789f56a0a54f68616392fb456e1ad10e48c", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-31", + "ref": "origin/codex/universal-ledger-active-20260724", + "head": "d788e79134bd059a8a448fb3bb91804dc42909b2", + "scope": "branch-cleanup", + "outcome": "safe remote delete: tip is ancestor of exact merged PR #1114 head; archived batch14", + "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" }, { - "date": "2026-07-14", - "ref": "copilot/fix-database-action-error", - "head": "7ff6c547e55100d7dfff912530e006f0a5ee70a2", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-04", + "ref": "pull/1588", + "head": "d79d19c97a918edf785c5a066e691435a3f31518", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed; exact-head CI required", + "checks": "PASS: conflict resolved from current main; combined lock regenerated with 0 vulnerabilities; prior jsdom exact-head build, coverage, static, Lighthouse, container and scans passed. Final merged-tree CI required." }, { - "date": "2026-07-14", - "ref": "copilot/fix-database-action-issue", - "head": "b367aeb084a60fc46d3e4e8d3b318491a1530ac6", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-14", + "ref": "claude/ledger-process-tooling-50uqfc", + "head": "d7adf35c18f6f23d9585d9442a0da99e7c90192b", + "scope": "PR #1944 review-and-fix", + "outcome": "Fixed five validated P2 findings", + "checks": "audit self-test, targeted classifier probes, JSON parse, ledger and docs guards; Vitest unavailable: npm ci package downloads corrupted" }, { - "date": "2026-07-14", - "ref": "copilot/fix-database-action-run-issues", - "head": "de36fd3ef8aa101e75a22fab8ff15940bb241e00", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "d7f1ac58d00d20a2405eb1641054d31c3a5b996e", + "scope": "Final focus lifecycle remediation review", + "outcome": "APPROVE pending exact-head required CI. Addressed the final CodeRabbit and Codex P2 lifecycle findings: the addon host is now tracked as state so listeners follow conditional host creation/replacement, focus is recomputed on attach, a scoped MutationObserver clears the pin when focused portal content unmounts without focusout, and cleanup clears the latch. The phone regression now activates the focused Back link with Enter and proves the destination header can hide again. No unresolved code finding remains locally.", + "checks": "Focused production Chromium focus-and-navigation regression 1/1; complete phone-scroll suite 39/39; header-scroll contracts 15/15; TypeScript PASS; `verify:cheap` PASS (393 files; 3514 passed / 2 skipped). No provider-backed checks." }, { - "date": "2026-07-14", - "ref": "copilot/fix-database-actions", - "head": "50cf0744df83708405d0bd215e22f19dc1f27815", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-18", + "ref": "codex/ward-management-design (PR #2140)", + "head": "d7f5b76e29aa2ca489c3f3401f19bd18508e462f", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No fix applied — branch history is unrelated to main (git merge-base/merge-tree fails: 'refusing to merge unrelated histories', root commits differ entirely). GitHub cannot build refs/pull/2140/merge, so pull_request (ci.yml/pr-required) never ran; only pull_request_target jobs ran (PR mergeability: failure — real merge conflict; PR policy: failure — Clinical Governance Preflight unchecked, 7/7 boxes empty in template). 0 unresolved review threads (only bot rate-limit/ignored notices). Left for human: branch needs re-basing/re-creation onto main or history investigation — out of scope for mechanical sweep; PR body also needs governance section completed by author, which this session may not edit.", + "checks": "git fetch/merge-base/merge-tree (local, offline); mcp__github__pull_request_read get/get_status/get_check_runs/get_review_comments/get_comments; mcp__github__actions_list + get_job_logs on both failing workflow runs. No provider-backed checks (build/test/eval) run — no code fix was possible or attempted." }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci", - "head": "d248707d09f62bb153d0eece69b4f7f4e8aeb7dc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-08", + "ref": "cursor/safety-snapshot-mobile-4ab3", + "head": "d7fcbc2095ae3cfbefabfad1333b85de0ca42a4b", + "scope": "differentials Safety Snapshot mobile density redesign", + "outcome": "ship; tightened Watch-for wrap; phone 390 screenshot + unit 21/21", + "checks": "test:differential-detail,phone-visual-390" }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci-again", - "head": "28dacd7f19320bcbf2b03e5e40c7e97fc46a80cd", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-10", + "ref": "work", + "head": "d812c7692505e9f68e7c428d26c67e53ef001046", + "scope": "non-answer mode search typo tolerance and closest-match behavior", + "outcome": "P2 exact-text-only catalogue matching fixed with conservative typo tolerance; answer RAG unchanged", + "checks": "5 focused Vitest files (49 tests), typecheck, changed-file ESLint" }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci-another-one", - "head": "59207b23fe88a23b0e2f3a6d7f1a288e0cca5132", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "d81c55b23815948a7043333ad4f56c09ec107c4f", + "scope": "CodeRabbit thread fixes + PR policy body sync", + "outcome": "FIXED: duplicate serviceWorkers key; sheet focus trap excludes aria-hidden/inert ancestors; WCC in clozapine blood-intent gate; formulation Open Worry click-once outside toPass; PR_POLICY_BODY.md added for Sync PR policy body (token cannot edit non-agent-managed description).", + "checks": "retrieval-query-variants + playwright-isolation Vitest pass; local pr-policy evaluate ok; no provider checks." }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci-one-more-time", - "head": "00b61456b3f4fd528b24476865fde3b046b105ea", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-13", + "ref": "origin/main", + "head": "d88fdafb15471f02de7f85e2426f5ea46e13ebb8", + "scope": "branch-cleanup", + "outcome": "Protected base branch retained.", + "checks": "Resolved as main / origin/main; deletion prohibited." }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci-test", - "head": "1de23d35e534c33cf444bc5e81e60c7384e8d072", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-30", + "ref": "PR #1441", + "head": "d8bd22192ce974d4d2340ff26959ee41480218e9", + "scope": "PR readiness: issue ledger, upload parity, CircleCI cleanup", + "outcome": "FIXED: review found the Docker build lacked MAX_UPLOAD_MB input and open issue #119 still requested obsolete CircleCI investigation; both are repaired, with no remaining P0-P2 findings in scope.", + "checks": "upload parity default and 50/50 pass; 50/40 mismatch fails; outstanding-issues, branch-review-ledger, and gate-manifest guards pass" }, { - "date": "2026-07-14", - "ref": "copilot/fix-failing-ci-yet-again", - "head": "8f2928b9dc925ac9ccc31e413ab422d2ffa77118", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-18", + "ref": "PR #861 / codex/design-audit-main-safe-20260720-final", + "head": "d8c1916ac (functional head 593d5aa00 + current-main merge)", + "scope": "design-audit/search cancellation merge review", + "outcome": "Fixed unsupported Forms pathway claims, propagated cancellation through every retrieval RPC, removed duplicate favourites “Also matches” results, and resolved all four review threads. Merged as `3b2dd9ef76ff1c8c099fc1972065628d23b853b1`; exact `origin/main` commit and tree content were verified after merge.", + "checks": "Exact-head hosted Static PR checks, Unit coverage, Build, Safety and config checks, Production UI, Advisory UI, Migration replay, PR required, PR policy, Semgrep, Gitleaks, and GitGuardian checks passed. No Supabase, OpenAI, or other product-provider call ran." }, { - "date": "2026-07-14", - "ref": "copilot/fix-issue-in-database-action", - "head": "82c0e87224880ccbeee39f4101e98cf29683f74f", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "d8fde21e65ce010b72bc56f1e57334cdfac764c5", + "scope": "required base sync through main 17402395", + "outcome": "Approved — required main update merged; prior calculator-mode review remains applicable with no PR-path conflict", + "checks": "git diff --check; ci-change-scope self-test; ledger/inbox/outstanding/discipline guards passed" }, { - "date": "2026-07-14", - "ref": "copilot/fix-issue-with-database-connection", - "head": "67f5bb2744939922ceb280fab8785ee0259b26f2", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-07", + "ref": "claude/answer-shell-ds-adoption (PR #1658)", + "head": "d9221389c5b11123e7d7bc882bda342a6fd9e11d", + "scope": "prlanded", + "outcome": "MERGED: AnswerCard on live answer shell; tip empty vs squash; remote branch deleted", + "checks": "content tree empty vs squash; no provider-backed checks run" }, { - "date": "2026-07-14", - "ref": "copilot/fix-one-more-time", - "head": "2682cbade791fc07f09d23fa11908eead223d3c7", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-30", + "ref": "claude/section-spy-browser-coverage", + "head": "d949859c3f446ea94774848cbf29a1060f607e32", + "scope": "branch-cleanup", + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "rejected WIP test: collapsed-disclosure predicate is vacuous and hidden phone header is clicked without reveal; no production change; clean worktree; batch12 bundle verified" }, { - "date": "2026-07-14", - "ref": "copilot/fix-please-work", - "head": "2f55346e72555500d17a08be02e6b649daa1a7cc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-24", + "ref": "`cursor/sidebar-six-item-land-cfa0` / PR #1174 content-proof `d97c11e6`", + "head": "d97c11e6", + "scope": "#066 land/proof of six-item sidebar from `cd54e68f` onto main", + "outcome": "PROVE — feature content landed; focused 20/20; verify:pr-local PASS; ensure spot-check PASS; verify:ui 267/267. Not merged to main.", + "checks": "vitest favourites+therapy; verify:pr-local; ensure+computerUse spot-check; verify:ui" }, { - "date": "2026-07-14", - "ref": "copilot/fix-yet-again", - "head": "c57bc8af5570a5fc69fa0f804f67cfa98df76b89", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-28", + "ref": "`codex/fix-p2-audit-20260719`", + "head": "d99a71b82abf605f26fcc81ba61cdc805a99a36f", + "scope": "Bugbot-style unique product delta vs origin/main (playwright SW block, ClinicalDashboard focus drop, sheet Tab trap, clinical-search neuroleptic/clozapine/med-dose, rag-retrieval-variants, supporting tests)", + "outcome": "CHANGES REQUESTED. No P0. P1: `medicationDoseQueryContext` named-medication gate requires canonical generic token in evidence (`evidenceTokens.has(\"clozapine\")`) and ignores brand aliases, so Clozaril-only evidence fails for Clozaril/clozapine monitoring queries and can rank below unrelated high-hybrid monitoring docs (−0.24 / missed +0.26). P2: neuroleptic side-effects early `document_lookup` return preempts dose classification (`What dose applies for neuroleptic side effect management?` → `document_lookup`). Cleared: SW block + PWA allow, documents `focus:true` removal on in-place pushState ask path, clozapine blood-token retention, Clozaril→clozapine variant intent via analysis.medications. Highest residual: sheet Tab trap rewrite has no Tab-cycle DOM proof.", + "checks": "Offline red proofs via temporary Vitest probes (brand gate + neuroleptic class); focused clinical-search regressions 6/6; no OpenAI/Supabase/hosted CI." }, { - "date": "2026-07-14", - "ref": "copilot/rerun-all-ci-again", - "head": "4615e39557112515cc9e4938fb5dd397f19ff70d", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-25", + "ref": "`codex/mobile-search-filter-dropdowns-dcbb32`", + "head": "d9f0051ef8335817e7fa29aeb02ee6324331df39", + "scope": "Release review: responsive search-result filter dropdowns across production modes", + "outcome": "APPROVE with verification note. No P0-P2 finding. Phone result-type rails are replaced by page-specific native selects while desktop controls remain intact; shared controls own a real 44px interactive target and retain forced-colors/focus behavior. Highest residual risk is browser-specific native-select rendering outside Chromium. RAG impact: no retrieval behaviour change - result filtering and sort presentation only.", + "checks": "`npm run verify:cheap` pass twice (378 files, 3351 passed, 1 skipped); focused production Chromium routes and accessibility/stress guards pass; production `npm run build` and client-bundle secret scan pass; offline RAG fixtures 36/36 pass. `verify:pr-local` reached unit tests but local infrastructure tests timed out under heavy worktree contention; two remained timeout-only on focused retry. Required hosted checks must pass on the exact published head before merge. No live clinical/provider workflow ran." }, { - "date": "2026-07-14", - "ref": "cursor/audit-remediation-plan-0411", - "head": "6d4b946e981a9251aaeb12097b6edc9e9dab2b60", - "scope": "branch-cleanup", - "outcome": "Retained: open PR #673 (audit remediation plan docs).", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-21", + "ref": "claude/worktree-cleanup-guard", + "head": "d9f67213557eadda67e1cfc983e6948ecf57fe70", + "scope": "scripts/clean-worktree.mjs, scripts/check-base-freshness.mjs, .claude/settings.json", + "outcome": "author-implemented; PR #2240 opened", + "checks": "self-test, lint, typecheck, format(unchanged)" }, { - "date": "2026-07-14", - "ref": "cursor/fix-pr654-ci-53b4", - "head": "9f880853ea7d268186d982f4623b71f46e77d3dc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-07-31", + "ref": "claude/frosty-mayer-2c6167", + "head": "da0b7d5ab1b39e0f57ec33309a8876289324f1d4", + "scope": "PR #1451 review+bugbot+fix", + "outcome": "clean; re-synced #1521; archived #161; docs-only unique delta; no threads", + "checks": "merge-tree clean; check:outstanding-issues; 0 threads" }, { - "date": "2026-07-14", - "ref": "detached review worktree (origin/main at scan start)", - "head": "0696ded585ff9611e5a1325bc6e6c85d0c74bb50", - "scope": "repository-wide comprehensive and security audit", - "outcome": "Eight security findings survived final calibration: two P2 (uncapped full-page PDF OCR raster; broad indexed-document public promotion) and six P3 (PDF deadline and aggregate budgets, delete/reindex lifecycle race, staged-generation document search, cross-tenant correction vocabulary, and fail-open future-object default privileges). Seven additional candidates were rejected. One P2 operational documentation drift was also confirmed between the operator backlog and launch runbook. No source fix was applied.", - "checks": "Codex Security standard scan completed with 763 ranked source-like files and 70 deep-reviewed selections; seven safe offline finding probes passed; local action-pin, documentation-link/script-reference, codebase-index, CI-scope, and autofix-workflow guards passed; offline npm audit reported zero cached advisories; `git diff --check` passed. Lint, typecheck, full tests, build, browser, live Supabase/OpenAI, hosted CI, drift, and production checks were not run because this checkout lacked `node_modules` and provider access was not authorized." + "date": "2026-07-30", + "ref": "codex/outstanding-deletion-guard", + "head": "da1bed4bcb05f2b975823c76bab0913278cfaea6", + "scope": "issue 148 deletion guard", + "outcome": "approved: no P0-P2 findings; base comparison is fail-closed in CI and preserves archive moves", + "checks": "verify:cheap; deletion self-test; unreadable-base proof; CI scope; GitHub Actions pin guard" }, { - "date": "2026-07-14", - "ref": "fix/accessibility-remaining-findings", - "head": "9f880853ea7d268186d982f4623b71f46e77d3dc", - "scope": "branch-cleanup-deletion-pending", - "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", - "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." + "date": "2026-08-21", + "ref": "claude/local-cloud-settings-migration-bf4707", + "head": "da6088e70ccb67d4ba83fa4efa1dcb75eb317d92", + "scope": "Claude Code web container parity: cloud-profile snapshot, tiered provisioner, SessionStart registration, docs, tests", + "outcome": "PR #2227 opened; lint/typecheck/format/docs gates green; 16/16 new tests; browser+python+deno+gh+plugin installs unverified (no Linux container locally)", + "checks": "lint, typecheck, prettier --check . (whole tree, escalated via .prettierignore change), format:changed, verify:pr-local (13 checks completed), tests/claude-cloud-profile.test.ts 16 passed" }, { - "date": "2026-07-14", - "ref": "fix/accessibility-remaining-findings", - "head": "e6e735d2668f7383acc45bdb7cc7dc183e7a73a8", - "scope": "branch-cleanup and merge-readiness", - "outcome": "Retained. PR #654 is mergeable and its scoped accessibility diff had no high-confidence review finding, but the required UI regression check remains in progress and GitHub reports the PR blocked.", - "checks": "Authenticated PR metadata and check rollup; five-file diff review; mergeability and exact-head confirmation. No merge attempted." + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "da6cc04bc3a3823db4d2f14581ceec15f7757b80", + "scope": "Codex P2 heading hierarchy", + "outcome": "FIXED. Reverted mockup popup/sheet titles h2→h3 under Section h2 (hierarchy regression; same finding as PR #1200). Added answer-evidence-popups-heading-contract. Retained CI fixes: diagnosis-detail S: locator + Build RAM-guard CI warn.", + "checks": "Vitest heading+guard contracts 3/3; no provider-backed checks." }, { - "date": "2026-07-14", - "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "clinical governance + RAG full-repo audit (source governance/citations, answer verification/clinical safety, privacy/query-privacy/private-search-scope, generation failure modes/degradation, retrieval/ranking/selection, ingestion/OCR index quality)", - "outcome": "No high-confidence P0/P1. Fail-closed governance chokepoint (`buildGovernedAnswerClientResponse`) applies to both `/api/answer` and `/api/answer/stream`; numeric/quote/citation verification, prompt-injection neutralization, owner-scope tenancy, and query/answer redaction all conservative. Two P3 observations: (1) `secondStageScore` demotion penalties can be floored away by `Math.max(hybrid_score, boosted)` at the tail of the list (rag.ts:663); (2) `outdatedPenalty` default-ON uses governance metadata to weight ranking (eval-gated, demotion-only) — in tension with the \"no governance weighting\" principle but conservative. D4/D5 (#649) levers verified default-OFF with tests.", - "checks": "Pure review, no mutations except this ledger append. Offline: focused Vitest governance/verification/privacy/scope suites 79/79 + 98/98 passed. Provider-backed (Supabase/OpenAI), browser, release, and live retrieval-quality checks not run (confirmation boundary)." + "date": "2026-08-18", + "ref": "PR #2105 (list_manual_ledger_tasks)", + "head": "da90923057da6e53ae8e2adf3f360280b0ddeee9", + "scope": "src/lib/medication-interaction-lexicon.ts, docs/medication-interaction-lexicon-review.md, data/medications-snapshot.json, data/medication-interaction-index.json, src/app/api/images/signed-urls/route.ts, tests/private-access-routes.test.ts, docs/filter-contract.md, src/components/clinical-dashboard/result-filter-control.tsx, src/components/favourites/favourites-storage.ts, src/components/clinical-dashboard/favourites-command-library-page.tsx, src/components/DocumentViewer.tsx, src/components/document-viewer/document-rail-panels.tsx, tests/medication-interaction-lexicon-coverage.test.ts, docs/outstanding-issues-inbox/**", + "outcome": "REMEDIATED 2026-08-18. Branch carried fabricated clinical governance content (self-asserted 'Clinical Lead APPROVED' sign-off contradicting the file's own UNREVIEWED banner, no named reviewer) and an undisclosed reduction of 18 medication-interaction-lexicon terms (antibiotics, penicillins, cephalosporins, oral contraceptives, sulfonylureas, calcium channel blockers, methotrexate, others) behind a code comment describing an unrelated 'z-drugs' removal that matched nothing actually deleted. Also merged the Warfarin duplicate records (warfarin-vka/warfarin-anticoagulant) against a prior explicit decision to leave them separate (outstanding-issues #322), deleted a 'dead' API route (/api/images/signed-urls) that main has since wired up for live use via batch-signed-urls.ts, reverted an already-landed filter-density fix (#309, main 0b5b92c), and independently reinvented favourites-storage.ts dropping main's O(N^2) listener fix. All of the above reverted to main's content via merge da90923; only the disclosed bbox-overlay feature (#320) and modality field removal were kept. 10 real merge conflicts against main resolved (not staleness).", + "checks": "typecheck: tsc -p tsconfig.typecheck.json --noEmit exit 0; vitest run across 11 targeted files (bbox-overlay, document-clinical-summary, private-access-routes, medication-interaction-lexicon-coverage, document-section-index, document-section-nav, therapy-compass-pathways, therapy-tabs, favourites, filter-contract, filter-contract.dom): 232/232 passed; prettier --check .: clean; eslint on touched files: clean; check:ledger-write-discipline: passed (against correct main merge-base, direct invocation); check:outstanding-issues: passed (56 pending, 251 applied, 361 rows, collision-free); no provider-backed checks run" }, { - "date": "2026-07-14", - "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "frontend/UI/accessibility audit — global-search-shell, master-search-header, composer, answer surfaces, document viewer, clinical dashboard modules; design-token usage, reduced-motion/forced-colors, icon aria, focus traps, composer/header placement", - "outcome": "No P0. P2: (1) `aria-describedby`+`aria-hidden=\"true\"` conflict in `mode-action-popup.tsx:622,651` makes menu descriptions invisible to AT; (2) ~25 dynamic `` render sites missing `aria-hidden` across dashboard modules — ESLint `require-lucide-icon-aria` rule gap for LucideIcon-typed variables; (3) Mode menu (`role=\"menu\"` in header) does not close on Tab — keyboard users can Tab away from an open menu without dismissing it; (4) No live region on streaming `NaturalLanguageAnswer` — screen reader users not notified of incremental answer content. P3: (5) `--surface-glass`/`--panel-gloss` not remapped in `@media (forced-colors: active)` block — image-lightbox and PDF toolbar control bars could become invisible in high-contrast; (6) `bg-black/45` on Sheet backdrop instead of `var(--overlay-backdrop)` token; (7) `active:scale-[0.99]` on action-popup buttons without `motion-safe:` — still fires as a visual jump under reduced-motion; (8) Microsoft/Google brand hex squares not `forced-color-adjust:none` — lose brand identity in high-contrast mode.", - "checks": "Pure static review, no mutations. Files read: `master-search-header.tsx`, `global-search-shell.tsx`, `globals.css`, `sheet.tsx`, `mode-action-popup.tsx`, `image-lightbox.tsx`, `answer-content.tsx`, `ClinicalDashboard.tsx` (partial), `use-dismissable-layer.ts`, `layout.tsx`, `eslint-rules/require-lucide-icon-aria.mjs`, `ui-accessibility.spec.ts`, `process-hardening.md`. Browser/live checks not run (confirmation boundary)." + "date": "2026-08-04", + "ref": "pull/1603", + "head": "dab117d474224964da40af2a1edc016e5dd7ffdf", + "scope": "Run PR sweep full changed scope", + "outcome": "merged", + "checks": "PASS: dependency audit, Knip check, typecheck, build, full unit coverage, Lighthouse, provider-free container verification, scans and PR required." }, { - "date": "2026-07-14", - "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "full repo-structure audit (broken imports, dead files, redundant config, module dependency, structural debt)", - "outcome": "No P0/P1. P2: `RAG_TEXT_WEAK_OR_RELAXATION=true` in `.env.example` contradicts `default(\"false\")` in `env.ts` (process-hardening hardened this to off); `reindex-eval-gate.ts` (488 lines) has no production importer — test-only orphan; `bundle-budget.json` still has `enforce: false` + `totalGzipBytes: null` after first production build window passed. P3: `client-env.ts` duplicates `isLocalNoAuthMode`/`publicUploadsEnabled` from `env.ts` using raw `process.env` (intentional server-only split, but divergent implementations); `OPENAI_PRICE_*`, `SPEND_ALERT_DAILY_USD` env vars undocumented in `.env.example`; `rag.ts` → extracted-module architecture still has acknowledged runtime back-edges in `rag-extractive-answer` but no import cycles detected by `architecture-boundaries.test.ts`; several `mockup`-named component files not removed from `src/components/` (production use gated via `mockupsEnabled()`).", - "checks": "`npm run verify:cheap` green (2,290 passed/2 skipped, 0 lint errors, typecheck clean, sitemap aligned, type-scale 0 hits, runtime Node 24/npm 11). `npm run check:env-parity` clean. `npm run docs:check-scripts` passed 266 refs. Architecture-boundaries suite (no cycles, server modules isolated, scripts not imported). Provider-backed (Supabase/OpenAI), browser, release, and live-eval checks not run (confirmation boundary)." + "date": "2026-07-13", + "ref": "codex/rag-review-followup", + "head": "db2fbf0576a4911fcde06580fee8cf1ff6e393f8", + "scope": "branch-cleanup", + "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/rag-review-followup; git diff --name-only reported 8 path(s)." }, { - "date": "2026-07-14", - "ref": "HEAD (detached) 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "RAG retrieval/ranking/selection/answer-generation audit (fresh scoped pass; PR #649 D4/D5 governance levers safe-by-default focus, token/effort waste, provider routing)", - "outcome": "No P0/P1. Both #649 levers verified safe-by-default and fail-safe: D4 `unknownCurrentnessPenalty` default 0 (no-op, clamped non-negative, activated only via `RAG_RANKING_CONFIG`); D5 `NEXT_PUBLIC_RAG_TRUST_CAP_ALL_CLAIMS` unset=false (only tightens display trust high→medium, never exposes more; `NEXT_PUBLIC` correct as `buildAnswerRenderModel` runs client-side in `ClinicalDashboard.tsx`). Reasoning-effort defaults correct (`OPENAI_STRONG_REASONING_EFFORT`=medium, fast=low; `strongReasoningEffortForQueryClass` never raises, caps routine at medium, keeps dose/threshold at configured). Provider mode default `auto`. P3 (reaffirmed): (1) `Math.max(hybrid_score, boosted)` floor at rag.ts:663 can nullify demotion penalties (outdated/unknown/poor/lowIndex) at the list tail, making D4 partly inert when activated; (2) `document_status` defaults to `\"unknown\"` (source-metadata.ts:34) for unenriched docs, so activating D4 penalizes the corpus-wide fallback status, not a curated signal — same mechanism that dropped selection doc-recall@5 1.0→0.76 (retrieval-selection.ts:340) — eval gate is the safeguard.", - "checks": "Pure review, no mutations except this ledger append. Offline focused Vitest: answer-render-policy + ranking-config + answer-responsiveness-gate 54/54 passed. Provider-backed (Supabase/OpenAI), `eval:retrieval:quality`, browser, and release checks not run (confirmation boundary)." + "date": "2026-08-18", + "ref": "claude/dictionary-mode-ui-updates-uwoicy (PR #2132)", + "head": "db3069a5312ac272da47199dcc97662f8f90b08b", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "No fix needed: all required in-scope checks (static-pr, safety, coverage, build, production-ui-critical, production-ui, changes) passed on head db3069a5; PR required only failed because lighthouse-budget was cancelled with no real failure. 0 unresolved review threads (3 PR comments are bot rate-limit notices only, no action needed). Branch is behind main (cleanly mergeable per git merge-tree) so attempted git merge origin/main -> push; merge itself was clean with zero conflicts (docs/ledger files only, no code/package-lock changes), but the push was blocked by the local ledger-write-discipline guard (guard-push.mjs): merging main's later reconciliation commit alongside this PR's own still-pending docs/outstanding-issues-inbox/91536913-....json request made the guard see a 'partial reconciliation' (31 items moved to applied/, 1 retained) even though the retained item is this PR's own unrelated new request, not part of main's completed batch. Did not override with SKIP_LEDGER_WRITE_GUARD=1 per hard guardrail to heed pre-push blocks; reset the local unpushed merge commit back to origin's tip so no drift was introduced. PR head remains db3069a5 (unchanged), nothing pushed.", + "checks": "git merge-tree --write-tree origin/main (clean, exit 0); attempted git merge origin/main + git push (blocked by guard-push.mjs ledger-write-discipline check, not overridden); no provider-backed checks run" }, { - "date": "2026-07-14", - "ref": "local branches (5 refs)", - "head": "multiple SHAs", - "scope": "local branch cleanup", - "outcome": "Safely deleted 5 local branches that were squash-merged or had no changes (including `claude/canary-latency-recalibration`, `claude/process-hardening-consolidation`, `codex/fix-registry-indexing-health`, `codex/pr-556-sync`, and `codex/pr-597-fix`).", - "checks": "Verified diff was identical to origin/main and confirmed MERGED status on GitHub." + "date": "2026-07-30", + "ref": "claude/white-element-positioning-t607pk", + "head": "db341491b0d94cf11641eb98aa8726629580a652", + "scope": "bugbot", + "outcome": "pr-bugbot: no cursor[bot] Bugbot findings on PR #1393 head. Hosted Cursor check suite 82712209672 stuck queued (0 check-runs) since 2026-07-30T02:33:11Z; rerequest 403. Local Bugbot-equivalent: no P0/P1 confirmed.", + "checks": "gh-graphql-threads:empty; gh-review-comments:0; pr-bugbot-agent; rerequest:403; no-fixes" }, { - "date": "2026-07-14", - "ref": "local merged-ref deletion batch (40 refs)", - "head": "f0eec3ec504bdbaa2a82e2a3f86876c05925a6c2", - "scope": "branch-cleanup", - "outcome": "Deleted 40 non-checked-out local branch refs after exact-head revalidation showed each ref was the exact head of, or an ancestor of, merged PR work; no candidate changed or became checked out during deletion.", - "checks": "Fresh `git fetch --prune origin`; authenticated all-PR inventory; exact SHA guard; worktree guard; merged-PR reachability and cherry-pick-aware comparison to `origin/main`; `git branch -D` completed for all 40 candidates." + "date": "2026-07-30", + "ref": "claude/white-element-positioning-t607pk", + "head": "db341491b0d94cf11641eb98aa8726629580a652", + "scope": "phone-chrome safe-area paint fix", + "outcome": "APPROVED — no P0/P1. One P2 pre-existing residual (spacer/bar mismatch on notched tablet sm+ in PWA mode — worse before, slightly better after; no action needed). P3: contract test slice brittleness (indexOf '/>') and invariant-6 prose length. No defects introduced.", + "checks": "vitest header-scroll-hide-contract 27/27 green; source read: master-search-header.tsx, globals.css forced-colors block, tests/header-scroll-hide-contract.test.ts, docs/search-chrome-behaviour.md" }, { - "date": "2026-07-14", - "ref": "main", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "branch alignment", - "outcome": "Fast-forwarded local `main` to latest `origin/main` commit.", - "checks": "Verified main and origin/main revisions and updated ref locally." + "date": "2026-07-30", + "ref": "claude/white-element-positioning-t607pk", + "head": "db341491b0d94cf11641eb98aa8726629580a652", + "scope": "pr-diff-review", + "outcome": "No P0/P1. Phone chrome-safe-area-top paint fix from --background to --surface is correct for collapse-strategy modes; overlay answer path unchanged (no spacer). Scroll-hide h-0 release untouched. Residual: sm+ translucent glass vs opaque spacer (pre-existing, improved); hosted Cursor Bugbot suite stuck queued with 0 runs.", + "checks": "vitest:header-scroll-hide-contract:27-pass; frontend-ui-reviewer; local-bug-hunt; gh-threads:0; no-provider-gates" }, { - "date": "2026-07-14", - "ref": "main", - "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", - "scope": "branch-cleanup", - "outcome": "Protected local base retained and safely fast-forwarded to the latest locally observed `origin/main`.", - "checks": "Ancestry check; confirmed `main` was unattached before `git branch -f main origin/main`." + "date": "2026-08-16", + "ref": "PR-2008 / codex/tools-show-all-20260816", + "head": "db72f545635c9e611da3c4f3bb70bbda991699a4", + "scope": "PR #2008 latest-base refresh after green exact-head CI", + "outcome": "Merged main 4b601e34f2a3398121a23e7db64a04690075ddd3; its default-off clinical answer evidence preview changes do not overlap the launcher component or dedicated Show all regression; no new P0/P1/P2 defects confirmed", + "checks": "Exact-head PR required, static, build, unit, production UI, critical UI, CI-managed Lighthouse budget, SAST, and secret scans passed at f34fad1f725410995fe90f1d356c7764de9b5a07; 54585e98df133c0b49cf32cc878473ea0beba46d-to-4b601e34f2a3398121a23e7db64a04690075ddd3 compare reviewed; clean non-overlapping merge-tree construction" }, { - "date": "2026-07-14", - "ref": "main / 570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "head": "570e6ba56ae60bea56a32801b9cc96c5a8dfde4f", - "scope": "repo-wide multi-skill audit (repo-auditor, security, clinical-governance, RAG, ingestion-worker, API, frontend-ui, release-readiness, testing/code-quality)", - "outcome": "Highest code P1: anonymous public catalogs bypass rate limits while serving multi-MB payloads (medications 3.4 MB, services 894 KB, differentials 1.2 MB; `shouldResolvePublicCatalogAccess()` early-return in registry/medications/differentials routes skips `consumeSubjectApiRateLimit()` for requests without session cookie or bearer token). Active OPERATOR/LEGAL launch blockers: PIA-1 APP 8 overseas processing (Railway SG + OpenAI US), PIA-2 Railway `RAG_QUERY_HASH_SECRET` verify, unrun `verify:release`/golden evals, staging soak, Eval Canary trust, operator-backlog staleness vs runbooks. Confirmed code P2 cluster: public-doc DTO leaks (`storage_path`), single-layer service-role tenancy, commit-RPC unreachable fallback (`worker/main.ts:545-547`), recovery plan pending+failed unique-index crash, unwired `decideReindexGate`, CI scope misses (`src/lib/app-modes.ts`/`clinical-safety.ts` skip UI/RAG gates), a11y describedby/icon/Tab/live-region gaps, soft `@critical` safety UI assert, unenforced bundle budget, `.env.example` weak-OR flag. Residual risk: OCR quality upstream labels + hybrid-RPC latency tail.", - "checks": "Specialist audits + `ci-change-scope` probe; structure `verify:cheap` (2,290/2 skipped); focused Vitest governance/RAG/ingestion suites; no provider/live Supabase/OpenAI/`verify:release`/`check:drift` (confirmation boundary)." + "date": "2026-07-28", + "ref": "codex/chat-mode-page-navigation-2328", + "head": "db7fee69d13239de92800ff83e85610884bdde7d", + "scope": "six-pr-consolidation", + "outcome": "ported-to-#1336; tip closed", + "checks": "diff-vs-main,merge-tree,port-review" }, { - "date": "2026-07-14", - "ref": "multiple remote branches (16 refs)", - "head": "multiple SHAs", - "scope": "remote branch cleanup", - "outcome": "Safely deleted 16 fully merged and redundant remote branches on origin (including `claude/canary-gate-fixes`, `claude/codebase-index-coverage`, `claude/design-elevation-e1e2`, `claude/design-sync-fixes-p1`, `claude/docs-script-linter`, `claude/document-image-viewer-review-ox7t11`, `claude/generation-token-starvation-fix`, `claude/github-actions-codex-issue-f4t4s5`, `claude/hero-composer-hydration`, `claude/pdf-signed-url-refresh`, `claude/pt-audit-monitor-marker-fix`, `claude/pt-audit-pr2-variant-early-exit`, `claude/pt-audit-pr4-trust-copy`, `claude/pt-audit-pt17-live-monitor`, `codex/eval-canary-quota-handling`, and `cursor/clean-sentry-lockfile-orphans-74cf`).", - "checks": "Confirmed zero unique commits against origin/main and MERGED/CLOSED status on GitHub via `gh pr list`." + "date": "2026-07-30", + "ref": "PR #1427 / claude/ci-testing-review-2l8klp", + "head": "db8209be707b79142d1d228d8c4e04120f9cdeaa", + "scope": "ci-testing-review", + "outcome": "Measured PR CI from the Actions API: Production UI is 15m26-16m31 of a 16.8-18.6min run (83-89% of wall clock; Playwright itself 339 passed (13.5m)), every other job done by minute 4; 25/60 completed runs in an 83min window were cancelled (42%). FIXED: sharded ui-critical across 3 runners (count measured - N=4 gives the same 121-test critical path, N=5/N=8 give empty shards which would go red without --pass-with-no-tests); root-caused the real red (ui-phone-scroll dragScrollBy clamped silently and returned nothing, so a 720px request could deliver a fraction and the correct assertion failed 10s later) and made the drag prove its delivery with assertions byte-identical; browser-cache restore-keys; codex-autofix job timeouts; visual config serialised; gate-count guard added and mutation-proven. DEFERRED as #125-#129: ui_changed over-firing on src/app/api, cold Next cache in the Playwright build, advisory-UI cost vs zero quarantine tests, inert CI_TRIAGE, dead changes outputs.", + "checks": "verify:cheap PASS (431 files / 4493 passed, 4 skipped); verify:pr-local PASS (same); prettier --check . PASS; check-gate-manifest PASS + mutation-proven red at stale count; shard balance measured via playwright --list; verify:ui NOT RUN - container cannot launch Chromium (issue #121, build 1234 vs 1194) so the phone-scroll fix and the sharded job are unexecuted, PR CI is first execution" }, { - "date": "2026-07-14", - "ref": "origin merged-ref deletion batch (26 refs)", - "head": "f0eec3ec504bdbaa2a82e2a3f86876c05925a6c2", - "scope": "branch-cleanup", - "outcome": "Deleted 26 origin branch refs whose current remote SHA exactly matched a merged PR head. No checked-out branch, open-PR head, or changed remote ref was included.", - "checks": "Authenticated `gh pr list`; `git ls-remote --heads origin`; exact remote-SHA, open-PR, and worktree guards immediately before three non-force `git push origin --delete` batches; all 26 deletions succeeded." + "date": "2026-08-22", + "ref": "codex/implement-mode-aware-clinical-ask-feature", + "head": "db8ec0cd798e004dbf1ccbd2da91ffbd0bda7c9a", + "scope": "pr-ci-fix", + "outcome": "fixes-applied: merged origin/main (globals.css + ClinicalDashboard conflicts resolved); P1 fix streamClinicalAsk stuck-state on non-SSE failure (ClinicalDashboard + GlobalSearchShell); P2 fix strip raw evidence extracts from public SSE response (response-governance.ts); P2 fix schema.sql and drift-manifest.json synced with migration 20260822120000; PR_POLICY_BODY.md governance preflight confirmed valid; typecheck+focused-tests green; thread replies blocked (gh CLI read-only, no MCP write tools available)", + "checks": "typecheck:pass,vitest-clinical-ask-response-governance:17/17,vitest-clinical-ask-orchestrator-route-external:17/17,check:migration-role:pass,pr-policy-local:pass" }, { - "date": "2026-07-14", - "ref": "origin/claude/canary-latency-recalibration", - "head": "c27d87c1a5cc02721dbcb9fbdf9e0229b4c62a38", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "date": "2026-07-30", + "ref": "claude/x3-rag-coverage-gate-qx9j7d (PR #1463, squashed as dba7356f)", + "head": "dba7356fc8dc926d951d6de6f019d5b8e000be21", + "scope": "X3/#101 per-request hydration extraction from rag.ts into rag-hydration.ts", + "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 4780->4543, budget ratcheted to 4543, no back-edge (cluster referenced zero rag.ts-local symbols), both public re-exports preserved; squash captured 100% of branch content", + "checks": "typecheck, lint, check:knip, check:maintainability-budgets 4543/4543, focused vitest 83/83 incl rag-query-concurrency, eval:rag:offline 572/572 36 golden, format:check, verify:cheap, verify:pr-local build+bundle-scan, post-merge content verification on main" }, { - "date": "2026-07-14", - "ref": "origin/claude/codebase-index-coverage", - "head": "258782c8426541f43e03009ccf6bb27b9ce90ca5", - "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "date": "2026-07-30", + "ref": "dba7356fc8dc926d951d6de6f019d5b8e000be21", + "head": "dba7356fc8dc926d951d6de6f019d5b8e000be21", + "scope": "X3 hydration unit: per-request hydration extraction from rag.ts into rag-hydration.ts (PR #1463)", + "outcome": "clean and landed — byte-identical move verified against pre-merge main, rag.ts 4780->4543, budget ratcheted to 4543, no back-edge, both public re-exports preserved. Supersedes the earlier row for this HEAD, which was keyed only to the slash-form branch token and so returned NOT REVIEWED on a landed-SHA lookup; it also mislabelled the unit as #101, which is the unrelated open canary-gated retrieval-parallelisation recommendation", + "checks": "typecheck, lint, check:knip, check:maintainability-budgets 4543/4543, focused vitest 83/83, eval:rag:offline 572/572 36 golden, format:check, verify:cheap 442 files 4625 passed, verify:pr-local, post-merge content verification on main" }, { - "date": "2026-07-14", - "ref": "origin/claude/dependency-report", - "head": "dbf1a8dbae3cab8ef5dfe54bcdf157709d752579", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "date": "2026-08-27", + "ref": "codex/tooling-hooks-ci-invariants", + "head": "dba86f029eed2c6d8a4c6c7594840c60d5d004a2", + "scope": "PR #2397 babysit: merge main, conflict resolution, review thread fixes", + "outcome": "mergeable; snapshot regenerated; 5 premature inbox done requests removed; dev-drive-cache fails closed; Medication pin /medications", + "checks": "vitest session-start-hook+sidebar-production 18/18; check:dev-drive-cache; check:outstanding-issues-snapshot" }, { - "date": "2026-07-14", - "ref": "origin/claude/design-elevation-e1e2", - "head": "b91437c9068b6dba2f25e831d360e2dbcbeeb75a", - "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "dba8c9f72fdb84495736b7c8a5c723f4153b3612", + "scope": "PR #1621 babysit standalone-shell review fixes", + "outcome": "supersede: prior row HEAD ef92d628 was unresolvable; tip after main sync is this SHA; product fixes unchanged", + "checks": "ledger:append correction; merge-tree clean vs main" }, { - "date": "2026-07-14", - "ref": "origin/claude/design-sync-fixes-p1", - "head": "8103c560fb7e69dcadb1155cf9feb706aa8a8517", - "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "dba8c9f72fdb84495736b7c8a5c723f4153b3612", + "scope": "Run PR sweep", + "outcome": "merged main (stale DIRTY); superseded unresolvable ledger HEAD per Devin; no product threads open", + "checks": "merge-tree clean" }, { "date": "2026-07-14", - "ref": "origin/claude/docs-script-linter", - "head": "9f31fc5b62d4cd69cfe2ee92241d7e15e33d8de0", + "ref": "claude/dependency-report", + "head": "dbf1a8dbae3cab8ef5dfe54bcdf157709d752579", "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." + "outcome": "Retained: patch-unique content remains; its inactive worktree was removed without deleting the ref.", + "checks": "Local cherry-pick-aware comparison and reachability check." }, { "date": "2026-07-14", - "ref": "origin/claude/document-image-viewer-review-ox7t11", - "head": "b874d857acfb32ec635332967e94d5bbc96ca68c", + "ref": "origin/claude/dependency-report", + "head": "dbf1a8dbae3cab8ef5dfe54bcdf157709d752579", "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", "checks": "Offline remote-tracking comparison only; no fetch or GitHub query." }, { - "date": "2026-07-14", - "ref": "origin/claude/github-actions-codex-issue-f4t4s5", - "head": "1f4cdd51b0dfb98495fc293bf511c167071a217c", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; prior open-PR state was not refreshed without provider approval.", - "checks": "Offline remote-tracking comparison only." - }, - { - "date": "2026-07-14", - "ref": "origin/claude/medication-alerts-database-cb8o83", - "head": "c3b95239fba1b523ef7796a8fca0ef6dc7a271d8", + "date": "2026-07-30", + "ref": "codex/review-pr1441-v3", + "head": "dbfd3068f8c47b5fb6465ae0b24015835fd50adb", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and no merge disposition was inferred.", - "checks": "Offline remote-tracking comparison only." + "outcome": "exact merged PR #1441 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-14", - "ref": "origin/claude/medspacy-assertion-eval", - "head": "0ebe88bdc893f362f2793f8062d48656a3d70302", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-07-28", + "ref": "PR #1341 / cursor/pr1340-ledger-prlanded-c9d2 (merged)", + "head": "dc23e8cce6b00c042cb367cf7397b1d11b72dc37", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED. Ledger babysit+prlanded for #1340 missing on main; fold/sync+squash.", + "checks": "hosted-pr-required,static,circleci,merge-tree-clean" }, { - "date": "2026-07-14", - "ref": "origin/claude/process-hardening-consolidation", - "head": "2ecd302920b94a75d6031b54f61a4d058ad44a25", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "dc472567ab0be7c404d515f9a2be8f1fdc377e3e", + "scope": "Exact tip after Bugbot trigger post", + "outcome": "Docs-only exact-head row after posting `@cursor review` via ManagePullRequest. Product delta unchanged from `c89756f8`/`6f06b845`.", + "checks": "tip `dc472567`; unresolved threads 0; no provider checks." }, { - "date": "2026-07-14", - "ref": "origin/claude/pt-audit-monitor-marker-fix", - "head": "7d41cbe5a42b9a7f90d15ad3e80cdca6596548e0", - "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; local ref and worktree were removed." + "date": "2026-08-17", + "ref": "claude/database-coordination-chat-9c0730 (PR #2044)", + "head": "dc75f039d94275da215871afd95361b4877192dd", + "scope": "Run PR sweep: CI diagnosis", + "outcome": "0 behind main, no sync needed. PR required check: success. Only failing check is advisory GitGuardian, flagging a pre-existing false positive (synthetic canary token in tests/rag-adversarial-fixtures.test.ts, same incident 36221231 seen across most PRs in this sweep - not a real credential). No review threads. No action needed.", + "checks": "PR required: success; GitGuardian finding inspected and confirmed false-positive test fixture" }, { - "date": "2026-07-14", - "ref": "origin/codex/eval-canary-quota-handling", - "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", - "scope": "branch-cleanup", - "outcome": "Remote deletion candidate: no patch-unique content remains, pending live PR/provider confirmation.", - "checks": "Offline remote-tracking comparison only; local ref was removed." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "dc8068590d5be469ff30789b8b345896a3f1cdb9", + "scope": "PR #1441 sync after PR #1470", + "outcome": "approved; catalogue payload disposition and upload-limit closures both preserved", + "checks": "upload self-test, issues, ledger, diff pass" }, { - "date": "2026-07-14", - "ref": "origin/codex/eval-canary-structured-errors", - "head": "f8b543e6b22c2979aa64b60748f31a5ef31e87d3", + "date": "2026-07-31", + "ref": "origin/codex/bugbot-audit-pr-review-ledger", + "head": "dc8cc93baa1d7dd5bc3a56d7196972c1555bd30c", "scope": "branch-cleanup", - "outcome": "Retained because an idle Codex task still owns the branch worktree, despite zero unique patch content.", - "checks": "Offline remote-tracking comparison plus Codex task-registry scan." + "outcome": "safe remote delete: ledger-only high-risk review history normalized into central ledger; archived batch16", + "checks": "commit-row extraction; archive lookup; bundle verify" }, { - "date": "2026-07-14", - "ref": "origin/codex/global-answer-reliability", - "head": "eb6160a140e1d785340f171a534a9d74da267179", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-07-15", + "ref": "PR #682 / claude/codex-builder-perf-flakiness-ck5yv7", + "head": "dc942dddb87c8a1fa8d84d88052b3d50dd883a43 + reviewed follow-up diff", + "scope": "CI performance, cache correctness, browser-lane routing, and merge-readiness review", + "outcome": "Confirmed and fixed two P2 CI safety gaps: the cached `node_modules` key ignored `package.json` and `.npmrc`, allowing install-contract changes to reuse stale modules and skip `npm ci`; and removing the advisory quarantine job made any newly tagged UI test run nowhere. The cache now covers every install input and the quarantine lane performs only a cheap source scan when empty, preserving the speed improvement without losing coverage. No remaining unresolved review thread or high-confidence defect.", + "checks": "GitHub exact-head checks green before final main sync; focused Vitest 6/6; GitHub Actions pin check; CI-scope self-test; TypeScript; Prettier; `git diff --check`. Final hosted exact-head checks required after push. No live Supabase/OpenAI checks run." }, { - "date": "2026-07-14", - "ref": "origin/codex/lithium-answer-recovery-pr", - "head": "5bc19c665b1d9d9069485bb871d7ddb566858ccd", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-07-28", + "ref": "PR #1352 / execute-audit-remediation-fixes", + "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", + "scope": "open-pr-merge-sweep", + "outcome": "SKIP-CLOSE confirmed: stale continuation of merged #1305; REAL merge-tree conflicts across answer route, ClinicalDashboard, OverlayProvider, z-index ladder, private-access tests, etc. Close attempted → 403.", + "checks": "merge-tree-conflicts,gh-pr-1305-MERGED" }, { - "date": "2026-07-14", - "ref": "origin/codex/openai-gpt56-rag-upgrade", - "head": "7e4b535fc53fe61ace561facdb8c7a224c18d86f", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and an idle task owns the local worktree.", - "checks": "Offline remote-tracking comparison plus Codex task-registry scan." + "date": "2026-07-28", + "ref": "PR #1352 / execute-audit-remediation-fixes (closed)", + "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", + "scope": "open-pr-merge-sweep", + "outcome": "CLOSED as superseded junk: stale continuation of merged #1305 with real merge-tree conflicts. Supersedes prior SKIP-CLOSE 403 row; closed via ManagePullRequest.", + "checks": "merge-tree-conflicts,gh-pr-1305-MERGED,manage-pr-close" }, { - "date": "2026-07-14", - "ref": "origin/codex/rag-canary-completion", - "head": "b6a092fc9712efe6cb2849c219b29ce4fe0c71ee", + "date": "2026-07-30", + "ref": "origin/execute-audit-remediation-fixes", + "head": "dcdcb5b2b0546eddbb5bfd6efdb68122be2eabaa", "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "outcome": "RETAIN. Closed PR #1352 (earlier #1305 merged from same name). Tip still has 33-file unique three-dot diff vs main; several added paths now exist on main via other merges but residual patch remains. Keep.", + "checks": "ledger lookup; cherry-pick+name-status; path existence on main; gh #1352 CLOSED #1305 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-14", - "ref": "origin/codex/rag-performance-followups", - "head": "fa0a6178fbbbb50de2544b4ec6cbd3f6cc9da0ae", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains and a Codex task references the local worktree.", - "checks": "Offline remote-tracking comparison plus Codex task-registry scan." + "date": "2026-07-28", + "ref": "PR #1351 / audit-design-fixes-clean", + "head": "dcf0844d4ec715dcb32ddd3fc958d731a8657cb4", + "scope": "open-pr-merge-sweep", + "outcome": "LEFT OPEN for other agent (EmptyState/actions + audit a11y). Head advanced during sweep; do not steal. MERGEABLE/BEHIND at handoff.", + "checks": "coordination-leave;no-product-edit" }, { - "date": "2026-07-14", - "ref": "origin/codex/railway-deploy-filters", - "head": "435274bb2a567272b3abf0519fa45a82ba6d797d", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-08-13", + "ref": "codex/performance-fixes-20260813", + "head": "dcfad28410600a3ef1c32270390e6220b7ebf2dc", + "scope": "registry latency, Therapy home loading, Sentry release and request errors", + "outcome": "No unresolved findings; fixed missing Accept-Encoding cache variance during review", + "checks": "97 focused tests passed before final cache fix; format, lint, typecheck, docs and ledger passed; full test wrapper timed out with EPIPE; final cache assertion pending coordinator capacity" }, { - "date": "2026-07-14", - "ref": "origin/codex/specifiers-design", - "head": "65d8f533f23ca59190b1f7ed0ad86fd050381805", - "scope": "branch-cleanup", - "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", - "checks": "Offline remote-tracking comparison only." + "date": "2026-08-18", + "ref": "claude/ledger-issues-reconcile-945d0a", + "head": "dd47bbe7e402e203e3d094127d1955ea0b650d4f", + "scope": "docs/outstanding-issues-inbox ledger queueing", + "outcome": "PR #2130: queued 7 immutable ledger requests (done #DP6M3G, update #231 re-grade P1->P2, done #BTVMVK/#ND10QT as duplicates, 3 new P3 recs). No canonical ledger edit — reconciliation deferred to a dedicated follow-up PR because check:ledger-write-discipline cannot pass a same-PR add+reconcile.", + "checks": "check:outstanding-issues passed (16 pending, 339 applied); check:ledger-write-discipline passed for 53438ae4392a..HEAD; prettier --check passed" }, { - "date": "2026-07-14", - "ref": "origin/main", - "head": "aef020797b91a1e6f3e2584e3d7b12e29ea54046", - "scope": "branch-cleanup", - "outcome": "Protected remote-tracking base retained; snapshot only, with no provider fetch performed.", - "checks": "Final locally observed remote-tracking ref after concurrent repo activity." + "date": "2026-07-25", + "ref": "PR #1185 / `execute-typography-audit-fixes`", + "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", + "scope": "Explicit thorough Antigravity PR review", + "outcome": "REBASE/CHERRY-PICK ONLY. Intentional delta is safe (5 files, font-stack + mockup heading/truncation). Tree still carries conflict markers from `faa50e6e3` so PR as-is cannot build. Cherry-pick `dd641579` onto current main.", + "checks": "Intentional `git show --stat`; marker scan on head. No provider calls." }, { - "date": "2026-07-14", - "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", - "head": "0301d59ab8d6afeecd340bb08b40b98ff6b95c6c", - "scope": "PR review follow-up", - "outcome": "Confirmed and fixed one additional maximum-dose wording gap discovered after the current-main merge: `not to exceed` and `not more than` numeric limits now reach the same validated extractive path as the existing equivalent phrases.", - "checks": "Focused Vitest 84/84; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; focused Prettier and `git diff --check`. The immediately preceding merged head also passed `npm run verify:cheap` (236 files passed, 1 skipped; 2,242 tests passed, 1 skipped), production build, and all hosted required checks. Provider-backed retrieval remains blocked by exhausted OpenAI embedding quota after case 24/36." + "date": "2026-07-25", + "ref": "PR #1185 / `execute-typography-audit-fixes`", + "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", + "scope": "Fresh Cursor review + Bugbot + prlanded", + "outcome": "DO NOT MERGE / CLOSE+REDO. Confirms prior ledger: intentional tip commit is safe typography-only (5 files), but branch tree still carries committed conflict markers from `faa50e6e3` (answer/upload routes, docs, tests) so the PR cannot build. Codex P1 markers + upload publisher spoof + P2 mobile back regression are real on that dirty tree. `prlanded`: not merged (`state=OPEN`, `mergedAt=null`). Replacement: cherry-pick tip onto current main as `cursor/typography-audit-fixes-1c1e`.", + "checks": "Bugbot on PR head; `git show` of tip; marker scan; `git merge-tree`/diff vs main. No provider calls. Hosted PR policy FAIL." }, { - "date": "2026-07-14", - "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", - "head": "1c6c780f30f33d47e7dfb57dce56d5fd0501d46e", - "scope": "PR review follow-up", - "outcome": "Confirmed and remediated three remaining scoped findings: empty `max_output_tokens` responses now reach the RAG retry path; equivalent maximum-dose wording satisfies the maximum-dose intent gate without requiring literal `maximum` or `dose` tokens; and long-form clinical dose units are accepted consistently by evidence extraction and final-answer validation.", - "checks": "Focused Vitest 99/99; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (235 files passed, 1 skipped; 2,238 tests passed, 1 skipped); `npm run build` generated 636 static pages and passed the client-bundle secret scan; configured production readiness was READY with three documented warnings; `git diff --check`. Provider-backed retrieval remains separately blocked by exhausted OpenAI embedding quota after case 24/36." + "date": "2026-07-30", + "ref": "origin/execute-typography-audit-fixes", + "head": "dd641579f4cf54f82de89ef268ac8aa6acb439b5", + "scope": "branch-cleanup", + "outcome": "RETAIN. Closed PR #1185 (clean successor #1294 merged); tip blobs still differ from main on globals.css and mockup typography tweaks. Not empty; keep.", + "checks": "ledger lookup; cherry-pick; blob equality; gh #1185 CLOSED #1294 MERGED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-14", - "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", - "head": "f2652021c1f14533f17c4a9724ef6dff17dd43f5", - "scope": "PR review follow-up", - "outcome": "Confirmed and fixed the two final scoped findings: GPT-5.6-and-later model families now use the TTL prompt-cache request shape, and unrelated prose containing `maximum` can no longer pass the maximum-dose evidence gate without a clinical dose value or explicit dose wording.", - "checks": "Focused Vitest 99/99 before current-main integration and 163/163 after it; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed after integrating `origin/main` (239 files passed, 1 skipped; 2,248 tests passed, 1 skipped); focused Prettier and `git diff --check`. The reviewed head passed every hosted required check before these narrow fixes. Provider-backed retrieval remains blocked by exhausted OpenAI embedding quota after case 24/36." + "date": "2026-08-15", + "ref": "codex/pwa-install-polish-20260815", + "head": "dd687f20c2143466b40d51ce2831542130964af4", + "scope": "PWA install lifecycle: style-contract registry and current-base merge", + "outcome": "Fixed PR-introduced unregistered PWA visual classes; stale install-sheet exemption removed; merged current base", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; static PWA registry assertion; targeted Vitest unavailable (node_modules absent)" }, { - "date": "2026-07-14", - "ref": "PR #629 / codex/eval-canary-quota-handling", - "head": "8fe1be6d0c58c60afeeb82f720b03c90ce57c2cf", - "scope": "review-followup", - "outcome": "One P2 structured-error retry defect confirmed and fixed on `codex/eval-canary-structured-errors`.", - "checks": "GitHub connector thread inspection; `tests/eval-utils.test.ts` 14/14; focused ESLint and Prettier." + "date": "2026-08-18", + "ref": "claude/code-setup-review-a95519", + "head": "dd6dddc8e2f8ced52516405e3ffe46f16ff540bb", + "scope": "Claude Code environment: hook exec bit + bash registration + contract test, settings.json permissions block, base-freshness stdout hook mode + fetch timeout, clean-worktree --merged/--squashed with confidence line, PreCompact + push-format hooks, AGENTS.md hook section, newtask Dev Drive pinning, Windows test fix", + "outcome": "shipped as PR #2113; session-start.sh was mode 100644 and bare-path registered so it could never run on the Linux web containers it exists for, invisible locally under core.fileMode=false on the ReFS Dev Drive; fixed via index mode + bash registration + contract test. clean-worktree ancestor detection alone finds 2 of 49 because the repo squash-merges, so --squashed (whole-branch patch-id) was added, finding 9, with a confidence line separating proven from inferred after one candidate showed 2 of 21 files still differing. runWorktreeCleanup byte-identical (1969 bytes both sides) so verify:preflight unaffected. No worktree removed: re-verification immediately before deletion showed two candidates had gained 2 unmerged commits since the scan and a third had been switched branches by a live session. A raw NUL byte in clean-worktree.mjs was replaced with the escape after it made a git-diff-pipe-grep verification vacuous. tests/session-start-hook.test.ts:142 failed on every Windows run and sits inside verify:pr-local's last step, so the PR gate was red locally for every diff; fixed by comparing the path tail", + "checks": "npm run test: 668 files passed / 7129 tests passed / 0 failed, real exit 0 (captured to file, not piped); verify:pr-local completed 23 checks incl lint + typecheck; new hook contract tests 6 passed; clean-worktree --self-test passed; --merged and --merged --squashed run against the live 49-worktree fleet with count unchanged and --remove never run; prettier --check . clean; eslint clean; pr-policy classifier clinicalRisk/operationalRisk/ragRanking/ui all false; NOT run: verify:ui (no UI surface), verify:release and all provider-backed gates, check:production-readiness" }, { - "date": "2026-07-14", - "ref": "PR #632 / codex/rag-performance-followups", - "head": "07cac8f4e094bf4b5ccd264feb6420fbd4e35e2b", - "scope": "review-followup", - "outcome": "CodeRabbit's APP 1/5 governance contradiction was confirmed and corrected; Railway's pending DPA and Singapore processor basis are now explicit checklist/status items. The optional cache-miss granularity suggestion was not adopted because it would undo the reviewed single-read cold-miss design or require a broader schema/RPC change.", - "checks": "GitHub review-thread inspection; focused Prettier and `git diff --check` passed. Local production-readiness inspection reported the expected missing provider env; the Railway production-context check had already passed on this workstream." + "date": "2026-07-27", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "dd9d96b64042004f9162b5ef2eaf4495073a5a60", + "scope": "CI babysit + Bugbot + main sync (exact head)", + "outcome": "Supersedes pending-push row. Merged origin/main; no failing required CI on prior tip; 0 review threads; no hosted cursor[bot] comments. Fixed P2: process-failure tests ungated from hasPyMuPDF and assert PdfExtractorProcessError by name. No P0/P1.", + "checks": "Vitest tests/pdf-extractor.test.ts 2 passed / 4 skipped; merge-tree clean; no provider checks." }, { - "date": "2026-07-14", - "ref": "PR #632 / codex/rag-performance-followups", - "head": "0c792b8c10516c85d18832fc96562dd70a671b5f", - "scope": "review-followup", - "outcome": "One P1 privacy-disclosure defect was confirmed: OpenAI retrieval embedding can receive query text even when answer synthesis remains source-only. Fixed the PIA and public `/privacy` copy to distinguish retrieval-embedding egress from model-backed synthesis egress, with focused copy coverage.", - "checks": "GitHub connector review-thread inspection; focused privacy UI test, ESLint, TypeScript, Prettier, production-readiness, and `git diff --check`." + "date": "2026-07-27", + "ref": "PR #1263 / `implement-audit-design-fixes`", + "head": "dda4a42baa34", + "scope": "Bugbot + merge-tree review", + "outcome": "DO NOT MERGE / CLOSE. Same unsafe lineage; tip carries literal conflict markers; route-group file-location conflicts; confirmed P1s persist raw clinical query offline and drain offline queue without owner binding. Rebuild empty/error states on main under `(search-app)/` if still needed.", + "checks": "tip marker grep; merge-tree; Codex P1 validation; no provider checks." }, { - "date": "2026-07-14", - "ref": "PR #632 / codex/rag-performance-followups", - "head": "a2eb6db0efbef983e1b3242261d5cc6b2b9d839d", - "scope": "review-followup", - "outcome": "One late P2 rollout-compatibility defect was confirmed: the provider-fallback SLO would omit recent rows written before `provider_generation_degraded` existed. Fixed the count predicate to include the new flag or legacy `generation_fallback:` reasons while continuing to exclude intentional extractive routes.", - "checks": "GitHub connector review-thread inspection; focused answer-SLO test, ESLint, TypeScript, Prettier, and `git diff --check`." + "date": "2026-07-30", + "ref": "origin/implement-audit-design-fixes", + "head": "dda4a42baa34e28f12d1e676fcabdbdfaef820c8", + "scope": "branch-cleanup", + "outcome": "RETAIN. Closed PR #1263; tip still carries unique not-found/error route files and a large three-dot diff vs main. Keep.", + "checks": "ledger lookup; cherry-pick; path existence; gh #1263 CLOSED; GitHub reads explicitly authorized; no non-GitHub provider checks." }, { - "date": "2026-07-14", - "ref": "PR #632 / codex/rag-performance-followups", - "head": "aa264e92c44b42fdcceeac6292011ba51169b862", - "scope": "review-followup", - "outcome": "One P2 SLO-classification defect was confirmed: the broad source-only `degraded` flag also included healthy extractive answers. Fixed by persisting and counting a separate `provider_generation_degraded` flag derived only from `generation_fallback`.", - "checks": "GitHub connector plus UTF-8 thread-aware review inspection; focused ESLint; 45/45 targeted Vitest tests; TypeScript; offline RAG 36 fixtures and 277/277 contract tests; `git diff --check`." + "date": "2026-07-20", + "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", + "head": "ddbc549a6af469b61c112373d6a5099cb04810d0 + ledger", + "scope": "hydration fix + merge-readiness", + "outcome": "Fixed P1 UI regression: phone `matchMedia` in `useState` caused React #418 hydration pageerrors on DSM/specifier/differential phone journeys in Production UI. Gate now SSR-safe (`useState(false)`), syncs after mount, and refreshes from live matchMedia on Mode open. Merged `#940` header inset.", + "checks": "Local: route-coverage 3/3 previously failing; Mode smoke 3/3; audit-navigation + focused header/sheet Vitest green. Hosted: awaiting exact-head Production UI/PR required. No OpenAI/live Supabase writes." }, { - "date": "2026-07-14", - "ref": "PR #633 / codex/specifiers-design", - "head": "03daca3bfdf86517b9956f3c7d91be27d9f1a751", - "scope": "Review follow-up and failed UI regression", - "outcome": "Eight distinct P2 behaviors across nine review threads were confirmed and fixed: initial selection normalization, duplicate query removal, clinical applicability mapping, canonical Specifiers routing, severity-neutral base wording, diagnostic-section ordering, base/specifier compatibility, and severe psychotic-features wording. The failed app-menu keyboard test was a stale order assertion and now covers the inserted Specifiers item.", - "checks": "Focused Vitest 6/6; focused Chromium 4/4; scoped ESLint and TypeScript; CI-mode production readiness READY; production build and client-bundle secret scan passed. Hosted required checks passed on the refreshed `main` merge before the final compatibility fixes; provider-backed Supabase/OpenAI checks were not run." + "date": "2026-07-13", + "ref": "claude/pt-audit-pr2-variant-early-exit", + "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-14", - "ref": "PR #634 / codex/global-answer-reliability", - "head": "588c34c3d455c367e6aa38dc9fce64191678631b", - "scope": "review-followup", - "outcome": "One late P2 quota-bypass defect was confirmed: streamed full-document summaries consumed only the general answer quota. Fixed the route to enforce the stricter `document_summarize` quota before starting the stream or provider work while retaining the general answer ceiling.", - "checks": "GitHub connector review-thread inspection; focused private-access route suite 116/116; ESLint; TypeScript; Prettier; `git diff --check`." + "date": "2026-07-13", + "ref": "origin/claude/pt-audit-pr2-variant-early-exit", + "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", + "scope": "branch-cleanup", + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { "date": "2026-07-14", - "ref": "PR #634 / codex/global-answer-reliability", - "head": "b411329ec5f181661e5d49276c398440aa928fa2", - "scope": "review-followup", - "outcome": "One late P2 fast-context defect was confirmed: Australian tier ordering could push a higher-ranked supplementary passage outside the four-chunk routine fast budget. Fixed by preserving the retrieval-ranked, crowding-capped candidate budget before applying the order-only Australian preference within that set.", - "checks": "GitHub connector review-thread inspection; focused RAG context-budget suite 22/22; ESLint; TypeScript; Prettier; `git diff --check`." + "ref": "claude/pt-audit-pr2-variant-early-exit", + "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", + "scope": "branch-cleanup", + "outcome": "Deleted local ref after confirming no patch-unique content remained; remote ref was left untouched.", + "checks": "Local cherry-pick-aware comparison to current `origin/main`." }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "1ca2f9f372e23f563de0bc4f823cd341d82a562a", - "scope": "review-followup", - "outcome": "One P1 offline-startup defect was confirmed: production instrumentation still required OpenAI after readiness and health accepted explicit offline mode. Fixed the boot guard so only explicit `offline` may omit OpenAI while `auto` and `openai` remain fail-closed.", - "checks": "GitHub review-thread inspection; focused instrumentation/readiness/health Vitest 21/21; scoped ESLint; Prettier; `git diff --check`. Hosted required checks on the reviewed head were green, including Gitleaks, PR required, unit coverage, build, UI, SAST, Docker images, and migration replay." + "date": "2026-07-28", + "ref": "PR-1298", + "head": "de14ee2c45cbd0cb5a3b366febef70bcc2ea245e", + "scope": "PR #1298 full diff vs origin/main", + "outcome": "BLOCKED: protected RAG behaviour change lacks required live baseline-to-post canary", + "checks": "Local diff review found no additional high-confidence P0-P2 defect; prior exact-head PR required passed; offline Vitest is insufficient for ranking trust; no provider-backed canary run" }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "1ece1b891ed2d7f9577a060ae481e33cd4925ea4 + reviewed follow-up diff", - "scope": "offline release latency follow-up", - "outcome": "The offline quality release gate reproducibly isolated one live timeout: a generic agitation table-lookup question was expanded into an unnecessary ten-term dose/route AND query, making lexical retrieval take about 39 seconds. Dose/route expansion now requires an actual dosing/route signal; the same case retrieves its expected source and four citations in 1.27 seconds without a model.", - "checks": "Focused clinical-search/retrieval Vitest 111/111; scoped ESLint; Prettier; `git diff --check`; live provider-free single-case quality eval passed with zero model/request/token/cost/generation evidence." + "date": "2026-07-25", + "ref": "mobile-ergonomics-fixes (PR #1156)", + "head": "de1a82b4936", + "scope": "Babysit sweep: mobile touch ergonomics — squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "3b152ed1f2f4f08b5672adaf0dc3b433f8ba8db1 + reviewed follow-up diff", - "scope": "final review-thread and release-readiness follow-up", - "outcome": "Confirmed and fixed one P1 maintenance-path tenancy defect: registry embedding metadata refreshes could re-private public registry documents. The refresh now preserves public/owner scope, keeps generated intent-label ownership aligned, is idempotent, and rejects foreign-owner documents. Three scoped P2 review items were also resolved: answer-owner ref mutation moved out of render, PDF page changes use router navigation without scroll reset, and the worker-free staging harness no longer enqueues a reindex job before cleanup. No other high-confidence issue remained in the reviewed follow-up diff.", - "checks": "GitHub review-thread inspection; bundled Next.js navigation guide; focused Vitest 38/38; scoped ESLint; Prettier; full TypeScript; `git diff --check`. Final-head hosted CI, staging evidence, and provider-free production governance gates remain required after push." + "date": "2026-07-25", + "ref": "mobile-ergonomics-fixes (PR #1156)", + "head": "de1a82b4936", + "scope": "Babysit sweep: mobile touch ergonomics ? squash-merged", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "3ed3a7a2df37d7d15143ab7606e5748ac7ecca09 + reviewed follow-up diff", - "scope": "offline dose-route latency follow-up", - "outcome": "The next isolated timeout was a short IM/PO agitation question receiving the same blanket ten-term AND expansion. Agitation dose/route retrieval now keeps only the dose and route signals present in the question; the exact case retrieves its expected source and five citations in 1.54 seconds without a model. All remaining RAG cases 23–44 passed individually, so no further deadline crash remains.", - "checks": "Focused clinical-search/retrieval Vitest 111/111; scoped ESLint; Prettier; `git diff --check`; live provider-free case 22 passed; live provider-free cases 23–44 passed individually." + "date": "2026-07-13", + "ref": "origin/copilot/fix-database-action-run-issues", + "head": "de36fd3ef8aa101e75a22fab8ff15940bb241e00", + "scope": "branch-cleanup", + "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-database-action-run-issues; git diff --name-only reported 6 path(s)." }, { "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "978d4f462fcdd4f665060bfc86ed62d8617751cb + reviewed follow-up diff", - "scope": "final automated-review disposition", - "outcome": "Fixed the remaining valid review findings: offline evaluation now excludes forced-vector fixtures and owns provider-mode selection; registry detection is shared; staging Supabase calls are bounded; retrieval is covered by a request-start deadline; deadline-expired answers are not cached; and registry label reconciliation preserves reviewer metadata and confidence while refreshing generator-owned metadata. The unsupported-related-document deadline finding was not applicable because the configured unsupported route budget is intentionally `0` and creates no deadline.", - "checks": "GitHub review-thread inspection; focused Vitest 58/58; scoped ESLint; Prettier; full TypeScript; `git diff --check`. Flaky aggregate browser/local suites intentionally not repeated; final-head hosted CI and staging evidence remain required." + "ref": "copilot/fix-database-action-run-issues", + "head": "de36fd3ef8aa101e75a22fab8ff15940bb241e00", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "a3f3a89676015cd5f018c07e8c3ad9483f91cef6 + reviewed follow-up diff", - "scope": "offline adversarial-latency follow-up", - "outcome": "The final blocking offline-quality failure was an adversarial secret-exfiltration query that correctly refused but first spent about 25 seconds in lexical retrieval. Adversarial manipulation now short-circuits at the search boundary before provider-client creation, cache access, classification, aliases, or Supabase work, and is never cached.", - "checks": "Focused Vitest 2/2; scoped ESLint; Prettier; full TypeScript; `git diff --check`; live provider-free adversarial case completed in 100 ms with 0 ms RPC time; `eval:quality:release:offline` passed with zero blocking failures and zero model, request-ID, token, cost, or generation-latency evidence. Flaky local browser/composite suites intentionally not repeated; hosted CI remains authoritative." + "date": "2026-07-26", + "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", + "head": "de4864ef06626931ecd6bd22b97387f80f529cb2", + "scope": "Production UI second-failure repair", + "outcome": "APPROVE pending final hosted required CI. The first repair exposed a second invalid assumption in the same new test: `/formulation/worry` does not own a fixed phone dock, so geometry used the `-1` missing sentinel. Replaced it with the established submitted Forms result route, explicitly waiting for the dock and unfocused composer before asserting paint and scroll-hide geometry.", + "checks": "Exact focused production Chromium test pass 1/1 (isolated Next build); Prettier, ESLint and `git diff --check` pass; prior hosted run had 290/291 Production UI tests pass with this single invalid-route assertion." }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "c8a3dd118b8bf802418598c7cb48083893625004", - "scope": "production governance preflight follow-up", - "outcome": "The live dry-run correctly stopped because 554 registry projections are deliberately public (`owner_id = null`) while 232 differentials remain owner-scoped. No second tenant exists. Updated reconciliation to preserve public/owner scope, reject any foreign owner or label-owner mismatch, and scope generated intent labels to the existing document owner without mutating ownership.", - "checks": "Read-only production ownership and label topology probes; focused registry/governance Vitest 18/18; scoped ESLint; Prettier; full TypeScript; `git diff --check`; production dry-run inspected 786 documents (554 public, 232 owner-scoped), planned 786 metadata updates and 786 intent-label inserts, and reported zero chunk rows/OpenAI calls." + "date": "2026-07-13", + "ref": "codex/responsive-accessibility-audit", + "head": "de533acdf4cba2bdc1ec9e13d207b86d09968fc8", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor de533acdf4cba2bdc1ec9e13d207b86d09968fc8 origin/main`." }, { - "date": "2026-07-14", - "ref": "PR #655 / codex/release-blocker-remediation", - "head": "dedb38a4a1bb05f87b94a89f5cade7b4a8109c99 + reviewed follow-up diff", - "scope": "late automated-review safety follow-up", - "outcome": "Fixed two newly raised scoped issues: provider-free governance now rejects public differential projections while continuing to allow the three intentionally public registry kinds, and owner-scoped answer-thread clearing also removes the unscoped legacy session/local key so old clinical text is not retained.", - "checks": "GitHub review-thread inspection; focused Vitest 13/13; scoped ESLint; Prettier; `git diff --check`." + "date": "2026-07-13", + "ref": "origin/codex/responsive-accessibility-audit", + "head": "de533acdf4cba2bdc1ec9e13d207b86d09968fc8", + "scope": "branch-cleanup", + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor de533acdf4cba2bdc1ec9e13d207b86d09968fc8 origin/main`." }, { - "date": "2026-07-14", - "ref": "PR #666 / codex/release-blocker-remediation", - "head": "9b56eebe4b23ab783207445fb827c317c8d59be8 + reviewed follow-up diff", - "scope": "review-followup", - "outcome": "One late P2 retrieval-contract gap was confirmed: the optimized agitation query retained IM/PO but could drop other already-supported amount, route, and frequency aliases. Medication evidence intent is now shared with retrieval selection, and focused agitation queries preserve requested numeric units, SC, SL, PRN, and frequency signals without restoring the broad ten-term expansion.", - "checks": "GitHub review-thread inspection; focused clinical-search/retrieval Vitest 112/112; scoped ESLint; Prettier; `git diff --check`. Hosted final-head TypeScript/build/CI and exact-head staging evidence remain required after push." + "date": "2026-08-07", + "ref": "claude/handover-review-nlhuln", + "head": "de8b74e2fb94d1ec9b1982c15a2dea43421c3eee", + "scope": "outstanding-issues ledger capture after the mode-nav rollout (PR #1685)", + "outcome": "Confirmed #256's two remaining suspected section sets are dead (/forms/ and /differentials/presentations/ draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #261 (delete-or-keep the consumer-less action kind) and #262 (addon-slot single-owner rule held by two lists agreeing by coincidence). #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows.", + "checks": "check:outstanding-issues passed (260 rows, 119 open, unique ids, no ids deleted from base 1ff9ed206456); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff" }, { - "date": "2026-07-14", - "ref": "worktrees (6244, 8ba3, b6ff, e6b5, repo-improvement-review-09945c)", - "head": "detached HEADs", - "scope": "local worktree cleanup", - "outcome": "Safely removed and unregistered 5 clean, inactive worktrees from the git registry.", - "checks": "Ran `git worktree remove` and verified final active worktrees." + "date": "2026-08-07", + "ref": "claude/handover-review-nlhuln", + "head": "de8b74e2fb94d1ec9b1982c15a2dea43421c3eee", + "scope": "outstanding-issues ledger capture after the mode-nav rollout (PR #1685) (supersedes 2026-08-07)", + "outcome": "Confirmed #256's two remaining suspected section sets are dead (/forms/ and /differentials/presentations/ draw no section nav; form-decision-context-mobile is a testId not an id; ruled out sectionId indirection in both files). Added #271 (delete-or-keep the consumer-less action kind) and #272 (addon-slot single-owner rule held by two lists agreeing by coincidence) — renumbered from this PR's original #261/#262 because main claimed #261-#270 via PR #1678 design-system tracks in the interim. #207/#226/#231 reviewed and deliberately left untouched as existing P1 rows.", + "checks": "check:outstanding-issues passed (270 rows, 129 open, 141 archived, unique ids, next-id=273 above the highest, no ids deleted from base d32dd549a3dd); prettier --check clean on the changed file; rows written via scripts/outstanding-issues.mjs, never hand-edited; no code gates run - docs-only diff" }, { - "date": "2026-07-13", - "ref": "backup/site-formatting-pre-rebuild-a0ba77112", - "head": "a0ba771124c40bb8c5fe9d3cdfa81f98d33dc3c8", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-22", + "ref": "work", + "head": "dea32b8d26b32f03827bf71c0814315d92a7cb5c", + "scope": "current design system and live UI", + "outcome": "P2 shared-home route titles were not mode-specific; fixed locally with focused metadata coverage. Remaining recommendations documented in handoff.", + "checks": "design-sweep; local identity; phone/desktop visual inspection; focused Vitest" }, { - "date": "2026-07-13", - "ref": "claude/answer-page-design-polish-ffd5a6", - "head": "b2c772606126f8323424bc9c0b636bac77c08789", + "date": "2026-07-30", + "ref": "codex/authenticated-live-tests", + "head": "dec121d05643a204399519e8869a6cda4e319574", "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/answer-page-design-polish-ffd5a6; git diff --name-only reported 10 path(s)." + "outcome": "safe-delete: ancestor of merged PR #1448 head 3e50d136; archived batch13", + "checks": "gh pr list; git merge-base --is-ancestor; git bundle verify" + }, + { + "date": "2026-08-07", + "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", + "head": "dec8f7489b4e5492e924af30dec85859932af3bb", + "scope": "review-and-fix", + "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean); Bugbot mid-table finding dispositioned (row was tip-append before #1679; post-merge order correct; ledger guard passed); no P0/P1; 0 threads; no code fix; merge left to user", + "checks": "check:branch-review-ledger pass; ledger:dedupe none; merge-tree clean vs origin/main; format unchanged; no provider gates" + }, + { + "date": "2026-07-14", + "ref": "PR #655 / codex/release-blocker-remediation", + "head": "dedb38a4a1bb05f87b94a89f5cade7b4a8109c99 + reviewed follow-up diff", + "scope": "late automated-review safety follow-up", + "outcome": "Fixed two newly raised scoped issues: provider-free governance now rejects public differential projections while continuing to allow the three intentionally public registry kinds, and owner-scoped answer-thread clearing also removes the unscoped legacy session/local key so old clinical text is not retained.", + "checks": "GitHub review-thread inspection; focused Vitest 13/13; scoped ESLint; Prettier; `git diff --check`." }, { - "date": "2026-07-13", - "ref": "claude/audit-ci-browser-gate-2026-07-13", - "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-28", + "ref": "PR #1269 / dependabot/npm-development (merged)", + "head": "dee52deb44271e99dde8021513471eba1a1955d5", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED after #1268 (lockfile order). Dev bumps: bundle-analyzer/eslint-config-next 16.2.12, playwright 1.62, prettier 3.9.6.", + "checks": "hosted-pr-required,static,unit,build,circleci" }, { - "date": "2026-07-13", - "ref": "claude/audit-ci-browser-gate-2026-07-13", - "head": "65a8a0c9e7c3a165b09a1ad79e893af8c2c6973b", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-14", + "ref": "worktrees (6244, 8ba3, b6ff, e6b5, repo-improvement-review-09945c)", + "head": "detached HEADs", + "scope": "local worktree cleanup", + "outcome": "Safely removed and unregistered 5 clean, inactive worktrees from the git registry.", + "checks": "Ran `git worktree remove` and verified final active worktrees." }, { - "date": "2026-07-13", - "ref": "claude/audit-remediation-2026-07-13", - "head": "6b24b66c844c08ac78f992380914c05e15ecef7c", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #582.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-09", + "ref": "cursor/dsm-search-header-fix-15d6", + "head": "df088c766f1761496189ec09146aa54c23b1c012", + "scope": "dsm-search-header", + "outcome": "pass: removed catalogue page strip; ribbon + category filter match target", + "checks": "vitest dsm-search-empty-state; npm test 5857 passed; lint; typecheck; ensure phone /dsm/search?q=Delirium" }, { - "date": "2026-07-13", - "ref": "claude/axe-a11y-scan", - "head": "0c6b3e5e21b0132ccf50b0f32a5d2e5b775fdc68", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #586.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-18", + "ref": "claude/revert-2065-claim-condition-regression", + "head": "df1266970dc7ba056142b6c39b8311c1914e473d", + "scope": "revert PR #2065 (claim-leading for/in condition binding) after live canary 32097916649 regressed agitation-im-po-route-short-terms to 0 citations; deterministic extractive path bisected to 964869fc3", + "outcome": "single-commit revert; probe restores 5 citations; offline 614/614; confirmation canary owed post-merge", + "checks": "vitest rag-claim-support 157/157; eval:rag:offline 614/614; check:rag:fixtures 36 golden; live probe x2" }, { - "date": "2026-07-13", - "ref": "claude/beautiful-hamilton-5df54c", - "head": "5e2e90f0a3af4039c7e15515151569228476a60c", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 5e2e90f0a3af4039c7e15515151569228476a60c origin/main`." + "date": "2026-07-30", + "ref": "PR-1435", + "head": "df255ee5bf8269cca32b5ef426d1c37c1f7bcebc", + "scope": "PR #1435 tablet search header flow", + "outcome": "tablet composer now follows desktop normal-flow ownership; stale pinning assertion corrected; no remaining findings", + "checks": "29 focused tests pass; typecheck and formatting pass; focused Chromium route 1 passed" }, { - "date": "2026-07-13", - "ref": "claude/beautiful-williamson-57d144", - "head": "072434cd5f59b1441dd114958489028972c42d34", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #474; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-29", + "ref": "claude/clinical-kb-pwa-review-asi3wb", + "head": "df29f311b60cadf8e43bf51283a9d6f496b295e3", + "scope": "branch-cleanup-deletion-pending", + "outcome": "DELETION PENDING — content proven fully on main. Branch tip IS the merge-base with main (df29f311), so the tip is a direct ancestor of main; tree comparison of merge-base vs tip shows 0 changed files. Backs no open PR. Deletion blocked by HTTP 403; HEAD recorded here so the later branch-cleanup row can be keyed to it after the ref is gone. Supersedes the aggregate main-keyed row at 855aa291, which recorded no candidate HEADs.", + "checks": "local git only for the content proof: git merge-base, git diff --name-only (0 files), git diff --name-only origin/main... (0 files), full history after git fetch --unshallow. PROVIDER-BACKED evidence obtained (GitHub reads, authorised repo-scope): open-PR head cross-check via GitHub API against PRs #1374/#1377/#1384/#1385/#1386/#1387, and GitHub MCP capability inspection. PROVIDER-BACKED MUTATION ATTEMPTED AND REJECTED: git push origin --delete returned HTTP 403; no branch was deleted. No OpenAI/Supabase/hosted-CI calls." }, { - "date": "2026-07-13", - "ref": "claude/bundle-budget", - "head": "0eb6bb60201924d3e5153c69f2efee39960124b7", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-25", + "ref": "PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d @ 2955bc5c", + "head": "df72c725", + "scope": "CI / Production UI failure — non-answer phone header keeps the in-flow collapse hide", + "outcome": "FIXED. Single failing Playwright test: `tests/ui-smoke.spec.ts:3780 — non-answer phone header keeps the in-flow collapse hide`. Root cause: RAF debouncing in useHideOnScroll.onScroll coalesces a layout-clamp scroll event with the test's deliberate -24px upward scroll into one RAF evaluation. The hook sees lastMaxOffsetRef stale (pre-collapse visibleMaxOffset V) while the net offset is already V-96 (= newMaxOffset-24). The clamp detection fires (`lastOffset V > newMaxOffset V-72`), incorrectly suppressing the genuine reveal. Fix: added `offset >= maxOffset - revealIntentDistance` guard to the clamp detection in `computeScrollHideUpdate`. Only treat movement as geometry feedback when the net offset is within revealIntentDistance (12 px) of the new bottom edge. Unit test added. PR-required failure is downstream of Production UI only (no independent breakage).", + "checks": "verify:cheap pass (exit 0); npm run test 20/20 on use-hide-on-scroll.test.ts; Playwright chromium 9/9 scroll-hide smoke tests; Playwright chromium 1/1 target test. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "claude/canary-gate-fixes", - "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-30", + "ref": "PR-1484", + "head": "dfb23bb48a16a4da5fd54a34205d8df9796ecc66", + "scope": "PR #1484 final merge readiness after main sync", + "outcome": "approved; no new P0-P2 findings after current-main sync", + "checks": "outstanding-issues, branch-review-ledger, GitHub Actions pin, CI scope, diff check and final merge audit passed" }, { - "date": "2026-07-13", - "ref": "claude/chunking-ocr-eval-plumbing-e1ac6b", - "head": "b65de578ad50f128492d1ed316c6f11eb4a4dfc6", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #508; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-07", + "ref": "claude/pr-handoff-loop-prevention-54y5zr (PR #1670)", + "head": "dfe2946110e0ff93bd4acc571ae79c26b79a7a85", + "scope": "PR #1670 heavy review-and-fix", + "outcome": "synced origin/main (behind-but-clean DIRTY cleared); fixed CodeRabbit checks-cell to name exact #1649 gates + incomplete verify:pr-local/ui + no provider checks; Bugbot none; no P0/P1; #258/#ledger delta accurate; merge-tree clean; threads cleared", + "checks": "verify:cheap 519 files/5493 passed; verify:pr-local docs scope (format+docs+ledger+outstanding-issues); check:branch-review-ledger; check:outstanding-issues; no provider gates" }, { - "date": "2026-07-13", - "ref": "claude/code-review-42a2c3", - "head": "48cabd9b8754c06b34b006c544c7529b6f2f5400", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/code-review-42a2c3; git diff --name-only reported 65 path(s)." + "date": "2026-07-20", + "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", + "head": "e05cd0b8ac1ef4dbc9b30307e3715fc437b1540e + ledger", + "scope": "CodeRabbit findings + merge push", + "outcome": "Closed unresolved review threads: removed PR-head `GOVERNANCE_ALL_CHECKED` self-attest (aligned sync with main + workflow guard), restored strict checklist regex, fixed unset `PYTHON_BIN` test path. Hydration Mode-sheet thread already resolved. Local: full unit 2971 passed; Mode Playwright 5/5; route-coverage 3/3; pr-policy self-test + workflow guard green.", + "checks": "Awaiting exact-head hosted CI; then human approving review remains the only merge gate. No OpenAI/live Supabase writes." }, { - "date": "2026-07-13", - "ref": "claude/codebase-review-ade6ed", - "head": "8a26e238b495f2e2fdae7227c8a9a915bc27f325", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #510; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "e061ce29300cd80df5c8cd95d2ea8ecfeef1e2b0", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Run PR babysit: Codex P2 prescribing typed-draft dock path fixed + thread resolved. Before: CI mostly green, 1 unresolved Codex P2 (3644919028). After: showDesktopHomeComposer for prescribing requires !query.trim(); documents half dispositioned as not holding (home slot stays pre-submit); reply+resolve PRRT_kwDOSh5Fis6Th-6B. Not behind main.", + "checks": "npx vitest run tests/mobile-composer-reserve.test.ts PASS (9/9). No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "claude/compact-design-mockup-fcfb04", - "head": "296d09a48f67eec659045a573d6e63d6d61cab3a", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/compact-design-mockup-fcfb04; git diff --name-only reported 7 path(s)." + "date": "2026-08-18", + "ref": "claude/rag-eval-scope-detection-23b6a2", + "head": "e077c75cf46dddefcc21c5cbfeff4bbb2078fd48", + "scope": "scripts/ci-change-scope.mjs rag_eval_changed classification (#SDQSFD) + change-scope self-test", + "outcome": "Fixed: src/lib/rag/** now sets rag_eval_changed=true so eval:rag:offline and eval:rag:adversarial:offline are selected in CI and verify:pr-local; legacy flat patterns unchanged; four new self-test assertions incl. the first negative case; no workflow edit needed (ci.yml and verify-pr-local.mjs consume the classifier output). PR #2127.", + "checks": "npm run verify:pr-local (18/18 steps, 671 test files / 7250 tests passed, exit 0); npm run check:ci-scope (self-test passed); verify:pr-local --dry-run --files src/lib/rag/rag-claim-support.ts before/after (check:rag:fixtures only -> eval:rag:offline + eval:rag:adversarial:offline); mutation check (removing the new pattern fails the self-test). No provider-backed command run." }, { - "date": "2026-07-13", - "ref": "claude/cranky-swirles-619a39", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-08-17", + "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", + "head": "e0c3f640b97583b5c3efa1e5dd08070c338b460d", + "scope": "Run PR sweep: CI recovery confirmed", + "outcome": "Supersedes the pending-rerun record from this sweep. Both flagged failures resolved on rerun once sweep-wide CI concurrency dropped: Safety and config checks (codeload.github.com denoland/setup-deno flake) and Lighthouse budget (mobile-root CLS +0.223 regression, confirmed noise from concurrent Chromium load - re-measured clean). PR required: success.", + "checks": "rerun_failed_jobs x2; PR required: success" }, { - "date": "2026-07-13", - "ref": "claude/cross-border-openai-disclosure-2f170b", - "head": "14a155aabcecb79a5fbdfd442a1d684ecb901fa4", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #530; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-17", + "ref": "claude/services-navigation-removal-7bnknn (PR #2040)", + "head": "e0c3f640b97583b5c3efa1e5dd08070c338b460d", + "scope": "Run PR sweep: main sync + CI recovery", + "outcome": "Behind main -> synced clean (no conflicts). CI: Static/Build/Unit coverage/Production UI all green. Two failures traced and rerun: 'Safety and config checks' hit the same codeload.github.com 429/503 denoland/setup-deno infra flake seen across this sweep; 'Lighthouse budget' flagged a mobile-root CLS regression (+0.223 vs +0.02 tolerance) that this PR's diff (services-navigator-page.tsx/service-core-groups.ts, scoped to /services, which isn't in the Lighthouse-measured route set) cannot plausibly cause - attributed to CPU contention from this sweep's many concurrent Chromium/Lighthouse jobs. Rerun queued for both at sweep end; not yet confirmed green. 'Advisory UI' failure is non-required and ignored per policy. No review threads.", + "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs queued (Safety, Lighthouse, Advisory UI); PR required: pending final rerun result" }, { - "date": "2026-07-13", - "ref": "claude/database-rag-image-visibility-d6b809", - "head": "7a51b109df0575f570cc3351d18552d43e2f1e9f", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #515; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-17", + "ref": "claude/rag-d2-handover-sync", + "head": "e0db503cb93ec0bc9843c91cc7b84a0e8627ea6e", + "scope": "docs/rag-improvement HANDOVER/COORDINATION sync after S1b canary pair + S1d packet + S4/T4 rows (docs-only)", + "outcome": "docs-only; S1b canary root cause recorded; S1d packet added", + "checks": "verify:pr-local docs scope" }, { - "date": "2026-07-13", - "ref": "claude/design-sync-78bad6", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-20", + "ref": "origin/main PWA-surface review, window `ef042ca..e128384` (44+ commits; explicit user request) + phone install-sheet redesign (this branch, content commit d8d8c4a)", + "head": "e1283846647b20cd49ca6ae6920a7c76f2b945d7", + "scope": "PWA-version review of new progress + install-notification design elevation", + "outcome": "Sweep verdict (agent-verified): only #905/#897 (this program's own work) touched PWA surfaces in the window — sw.js CACHE_VERSION `2026-07-18-v1` and its offline.html binding, manifest (7 icons incl. monochrome; screenshots deliberately absent), icons route, kill-switch, and next.config headers all unchanged, so the privacy contract holds by construction. Geometric risk from five composer/dock-space reworks (#933 mobile-composer-reserve, #932, #930, #922, #899) probed live at 390×844: the non-install notice stack keeps correct clearance at rest (offline card bottom 744/844 with the 5.5rem gutter) and the stack's offset is now a custom property (`--pwa-notice-bottom-gap`) for one-line re-anchoring if composer geometry moves again. Redesign: install prompt + iOS hint present as a native bottom sheet on phones (full-bleed, flush bottom, grip bar matching #935's sheet language, real app icon identity via /icons/icon-192, Free/no-store meta row, two accent step chips for Share→Add to Home Screen as aria-hidden reinforcement of the unchanged accessible sentence); ≥640px keeps the #905 card/toast placements; region names, button names, and test-locked sentences unchanged.", + "checks": "Focused vitest 56/56 across the four PWA suites; `verify:cheap` 2971/2975 (sole fail = known container-only pdf-extraction-budget artifact); `test:e2e:pwa` privacy/offline green (installability fail = known container `in-incognito` artifact); `verify:ui` 243 passed/2 failed (the two long-baselined container artifacts); production build + client-bundle secret scan + bundle budget within tolerance (1303.4 vs 1278.6 KiB baseline; sheet adds ~0 JS); visual evidence at 390 light/dark/iOS-hint + 768 + 1440 with bounding-box math (full-bleed flush-bottom on phone; card/toast intact above). No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "claude/design-sync-78bad6", - "head": "d3f68661646488390bfefa79b1f2e511c2ecb2d3", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-08", + "ref": "cursor/confirm-checklist-polish-195c (PR #1734)", + "head": "e1385d67ce42023f1293a652efa9799f3eb9eb2d", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY reported → already contained main; no code change this sweep", + "checks": "no gates; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "claude/desktop-plus-menu-design-1a4bb2", - "head": "0e8752a7983e114c959d1e878ea80544a32900ce", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #478; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-27", + "ref": "`codex/phone-footer-paint`", + "head": "e1657a4a4e3e25b4a35a1dcf544b3efddb123c3f", + "scope": "Protected-main release-readiness review of phone footer safe-area paint", + "outcome": "APPROVE. The prior footer remained visually opaque because its normal/fallback terminal tints reached 72-90%, all blur masks painted through the physical edge, and hidden WebKit paint had no explicit terminal visibility state. The shared dock now has bounded localized tint, transparent gradient/mask terminals, an 88% pill, and delayed `visibility: hidden` synchronized to the 240ms exit; reduced-motion hides immediately. Therapy and calculator ownership prove the standard shared behavior. No P0-P3 finding remains. Highest residual risk is physical iOS momentum/compositor behavior beyond local WebKit emulation.", + "checks": "`verify:cheap` PASS (393 files; 3518 passed / 2 skipped); focused Therapy Chromium + WebKit PASS; calculator shared-dock Chromium + WebKit PASS; `verify:ui` PASS (314/314); `verify:pr-local` PASS including production build/client-secret scan and 36-case offline RAG fixtures; no live provider-backed checks." }, { - "date": "2026-07-13", - "ref": "claude/differentials-artifact-filter-c5aea0", - "head": "cd4f6015ee6e400c0b13148a62dc7f17d5604130", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/differentials-artifact-filter-c5aea0; git diff --name-only reported 8 path(s)." + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "e177b5e877aa2f834b3a601fa37679fa3e77b0e3", + "scope": "merge main (#933) + post-merge revalidation", + "outcome": "Merged `origin/main` (Safari edge-to-edge #933) with ledger conflict resolved by keeping both review rows. No product conflicts; `contentAlign`, Chip density, and Best Answer fold asserts intact. No new P0–P2. Still blocked only by required human approving review; squash auto-merge remains enabled.", + "checks": "Local after merge: align+composer-reserve Vitest 9/9; focused Chromium dock-hide + fold + compare-dock 3/3. Hosted on merge head: Production UI, PR required, Unit, Static, Build, PR policy all SUCCESS." }, { - "date": "2026-07-13", - "ref": "claude/differentials-page-review-a3daaf", - "head": "36cca1bf7c13718dcc60a61b75272c7c4fa5cd44", - "scope": "branch-cleanup", - "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/differentials-page-review-a3daaf; git diff --name-only reported 19 path(s)." + "date": "2026-07-25", + "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", + "head": "e19442240afbd7f28c321e399c6b4dcb0a7c9fdf / squash bb6b394617cbd906285ebe19e0e452912793320a", + "scope": "prlanded after squash merge", + "outcome": "MERGED. Two-dot content diff vs `origin/main` empty; clinical gate preserved; `no-hardcoded-hex` + theme CSS on main; PWA manifest theme colours intentionally absent. Hosted PR required SUCCESS (Unit/Build/Static/Production UI). Remote salvage branch deleted by squash `--delete-branch`.", + "checks": "`gh pr view` MERGED; `git diff origin/main e19442240` empty; trustGated grep on main; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "claude/differentials-search-ux-polish-f2ff06", - "head": "f7a3d95f54248d5c71c11084d0e5b60f2a83ae98", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor f7a3d95f54248d5c71c11084d0e5b60f2a83ae98 origin/main`." + "date": "2026-07-27", + "ref": "PR #1279 / `codex/phone-chrome-testing-infra-20260727`", + "head": "e1add338ae6b138ded13c44f5cc8f7eef5302669", + "scope": "Automated-review follow-up for required-check selection in the final merge audit", + "outcome": "APPROVE pending fresh exact-head hosted checks. The P1 was valid: the audit selected the required aggregate but incorrectly treated every advisory status as merge-blocking. Unsettled-state validation now applies only to the required aggregate, while missing or unsuccessful `pr-required` still fails closed. A regression snapshot proves a failed Advisory UI job cannot block a successful required aggregate. No other P0-P3 finding remains.", + "checks": "Focused `tests/final-merge-audit.test.ts` PASS (7/7); Prettier and `git diff --check` PASS; earlier exact-tree `verify:phone-chrome` remains the browser baseline because this follow-up changes only the audit validator and its unit test; hosted required checks must rerun on this head." }, { - "date": "2026-07-13", - "ref": "claude/document-page-redesign-7dd487", - "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/document-page-redesign-7dd487; git diff --name-only reported 13 path(s)." + "date": "2026-07-30", + "ref": "codex/docs-sync-automation", + "head": "e1c514f289a864bc741841accae5352a419fbb59", + "scope": "PR #1442 sync after PR #1459", + "outcome": "approved; issue-evidence correction and docs automation closures preserved", + "checks": "issues, ledger, inventory, gate manifest, diff pass" }, { - "date": "2026-07-13", - "ref": "claude/document-viewer-design-review-4fc027", - "head": "a82f7c3974f870a661d1f1249b29dc79d449ab15", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #509; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-26", + "ref": "PR #1246 / `codex/standardize-header-and-footer-behavior`", + "head": "e1f7dad583465a10231abc058ee4320177998894", + "scope": "Post-review main sync and stable-CI retrigger", + "outcome": "APPROVE pending hosted required CI. The automated branch-sync merge brought current `main` (`b91b4600171be08198e92bcf19b7d67e8207cb2f`) into the reviewed repair without content conflicts; `skip-branch-sync` was applied to prevent another bot-head cancellation while required checks run.", + "checks": "`git merge-tree --write-tree` clean; three-dot PR scope unchanged except the required ledger record; hosted CI retrigger pending." }, { - "date": "2026-07-13", - "ref": "claude/document-viewer-redesign-55b68b", - "head": "a493538c11d8f24f7ca92de65448cb81ea460c32", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/document-viewer-redesign-55b68b; git diff --name-only reported 3 path(s)." + "date": "2026-08-07", + "ref": "claude/handover-review-nlhuln (PR #1685)", + "head": "e200e589938c8dac2d3f76ef42ed1639b3fde18e", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: behind 1, checks green, 0 threads → after: merged origin/main (conflicts: none); PR required SUCCESS; 0 threads", + "checks": "merge-tree clean; git merge origin/main + push; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "claude/document-viewer-review-fixes", - "head": "e765b3818b4bdda32b0bee4af7c9091f5d86d86d", + "date": "2026-07-30", + "ref": "codex/review-pr1488", + "head": "e202238f7005b23e6b72a25102e5c87efc3293d3", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #505; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "useful content consolidated or superseded; safe local cleanup", + "checks": "ledger-only unique PR #1488 review record copied to consolidation branch; clean inactive worktree; batch10 bundle verified" }, { - "date": "2026-07-13", - "ref": "claude/edit-tools-responsive-layout-a2dd0b", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "e2037303151fc187953f9f6da025e2d919fe25bd", + "scope": "Final Codex P2 focus-safety review", + "outcome": "APPROVE pending exact-head required CI. Fixed the actionable P2 by bridging native `focusin`/`focusout` from the real phone addon DOM host into the shared header focus pin, because React portal events follow the source tree. A focused DocumentViewer or Differential header control can no longer collapse and clip during scroll. No other unresolved product finding remains.", + "checks": "Typecheck and `verify:cheap` PASS (393 files; 3514 passed / 2 skipped); focused production regression 1/1; complete phone-scroll suite 39/39; full `verify:ui` 308/309 with one unrelated short-runway geometry outlier, then exact failed smoke rerun PASS 1/1. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "claude/enable-automation", - "head": "9d07419ab27c5b51b2264ef208aa260448393ea2", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #604.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-25", + "ref": "codex/complete-all-pending-tasks (PR #1191)", + "head": "e2488dbb108", + "scope": "Babysit sweep: scoped-label pagination + order assertion for CodeRabbit thread — squash-merged", + "outcome": "unit + pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "claude/eval-citation-coverage-strict", - "head": "f7fb001c5ceb98874f45b4c8dad91e1b7e9c3f38", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #564; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "codex/complete-all-pending-tasks (PR #1191)", + "head": "e2488dbb108", + "scope": "Babysit sweep: scoped-label pagination + order assertion for CodeRabbit thread ? squash-merged", + "outcome": "unit + pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "claude/favourites-page-redesign-5a9c1b", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-08-13", + "ref": "codex/diagnosis-map-viewer-20260813", + "head": "e2537a49cf2b026b4ed00fd4decd26398a8ed6e9", + "scope": "PR #1918 diagnosis map viewer heavy review", + "outcome": "Fixed the PR-introduced Prettier gate failure in the new DOM regression test; a distinct manual adversarial pass found no additional reproducible P0-P2 defect across responsive layout, interactions, accessibility safeguards, clinical-summary isolation, compare routing, or server-client data boundaries", + "checks": "Exact-head pre-fix CI: Secret Scan, SAST, Build, Unit coverage, Safety and config, Lighthouse budget, Advisory UI, Production UI critical, and Production UI shards 1-3 passed; Static PR checks and PR required failed only format:changed. Offline: exact original blob reconstruction proved a one-blank-line-only fix; TypeScript syntax parse and responsive layout containment and overlap matrices passed. Post-push exact-head CI is recorded in the PR summary." }, { - "date": "2026-07-13", - "ref": "claude/forward-codify-retrieval-rpcs-05a3dc", - "head": "e8ee696dd6db4a991e6964d96e4ded40131596a5", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor e8ee696dd6db4a991e6964d96e4ded40131596a5 origin/main`." + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138 babysit)", + "head": "e27df0fa", + "scope": "Bugbot + merge babysit", + "outcome": "Merged origin/main. Fixed Bugbot medium findings: deferred clear left stale service/registry matches. No unresolved review threads.", + "checks": "Focused Vitest (deferred registry + differential + boundaries); typecheck; maintainability budgets. Watching hosted CI." }, { - "date": "2026-07-13", - "ref": "claude/gate-answer-persistence-flag-4b55da", - "head": "c26e54f9d4f8e3ee212864cb076fba0dc7074dd7", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/gate-answer-persistence-flag-4b55da; git diff --name-only reported 10 path(s)." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "e2a470b6767c6a1537cfc0a606548b90efba8f38", + "scope": "merge-conflict-review #146 hide-on-scroll", + "outcome": "resolved: combined main range-change hold + viewportHeightChanged rebase; no remaining complicated conflicts", + "checks": "vitest use-hide-on-scroll+header-contract 53/53; format" }, { "date": "2026-07-13", - "ref": "claude/generation-token-starvation-fix", - "head": "65a8a0c9e7c3a165b09a1ad79e893af8c2c6973b", + "ref": "origin/claude/session-skills", + "head": "e2dc26162bb8ff1a50902c26a70fb5f18c5e761f", "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #594.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-13", - "ref": "claude/git-workflow-prompt-970dd4", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-07-28", + "ref": "cursor/mode-secondary-navigation-dc4e", + "head": "e33997dbdd4a62689ff17ff1f536d9e830ae22ad", + "scope": "pr-1336-babysit", + "outcome": "fixed Codex P1 horizontal scroll + P2 service section ids; merged main", + "checks": "vitest-62,eslint,tsc" }, { - "date": "2026-07-13", - "ref": "claude/github-pr-testing-review-dde615", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-08-12", + "ref": "1846", + "head": "e34a617d493d4ea89de49c089db3095e3f21fe31", + "scope": "full PR diff and unresolved review feedback", + "outcome": "P2 scope premise repaired with a production query that returns the displayed two-result subset", + "checks": "focused Vitest passed (1); focused ESLint passed" }, { - "date": "2026-07-13", - "ref": "claude/github-repos-discovery-a49873", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Deleted after the exact HEAD was proven an ancestor of origin/main.", - "checks": "git merge-base --is-ancestor succeeded; no worktree or open PR referenced the branch." + "date": "2026-07-29", + "ref": "PR #1377 / claude/latency-findings-impl-s8g01v", + "head": "e353e1d0cd20912d098ead2fe94202492468299e", + "scope": "PR #1377 CI/review babysit", + "outcome": "Synced main (DIRTY was staleness). Codex P1 fixed: scope behind admission (e52c25c7). Thread resolved. No Bugbot findings. verify:cheap + focused preamble + build + rag fixtures green locally; hosted CI re-running on tip.", + "checks": "verify:cheap exit 0 (423 files / 4278 passed); vitest answer-route-preamble 4/4; build + check:rag:fixtures pass; no provider gates" }, { - "date": "2026-07-13", - "ref": "claude/hero-composer-hydration", - "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", - "scope": "branch-cleanup", - "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", - "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/hero-composer-hydration` returned empty." + "date": "2026-07-31", + "ref": "PR-1158", + "head": "e35fa15df5c6a3376bcb9f628dbdf99f8fb6809c", + "scope": "Bugbot high-risk RAG review", + "outcome": "P1 short-query broad-summary routing change and P2 low-RAM build hard-stop recorded; live canary not rerun", + "checks": "diff versus main; CI build evidence; no provider call" }, { - "date": "2026-07-13", - "ref": "claude/hero-composer-teardown-microtask", - "head": "af9ada42fa069761d21fc1a57e60a80d89e15dbc", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-17", + "ref": "codex/historical-branch-cleanup-20260717", + "head": "e36ac0c6628264c7ed6c494a597a62d0214b68f6", + "scope": "branch-cleanup and historical-content recovery", + "outcome": "Completed the pending historical cleanup: deleted 55 exact-SHA remote refs and 20 redundant local refs, removed nine clean merged worktrees, preserved every dirty, active, open-PR, or patch-unique worktree, and recovered the still-useful governance incident runbook from `codex/domain-1-governance-remediation`. Historical code changes were either tied to merged PRs or reviewed as superseded by current implementations; open PRs #699, #700, #702, and #704 remain protected.", + "checks": "Fresh `git fetch --prune`; GitHub PR inventory and exact commit-to-merged-PR associations; exact remote SHA rechecks before deletion; cherry-pick-aware logs; two-dot tree and branch-only-file review; Codex task-to-worktree cross-check; focused documentation validation recorded in the cleanup PR. No OpenAI, Supabase, production-data, or live clinical workflow was run." }, { - "date": "2026-07-13", - "ref": "claude/home-page-sizing-plan-02011e", - "head": "05b5977c4c7152ede77039543b5ac6c686c9d905", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #517; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "codex/fix-header-behavior-on-medium-screens", + "head": "e3764d3f71615f9e8b644501704f81f39abd85d1", + "scope": "PR #1435 review+bugbot+fix", + "outcome": "READY: synced main (content conflict resolved + behind-but-clean cleared); Bugbot 0; no P0/P1; no actionable threads", + "checks": "merge-tree clean 0 behind; header-scroll-hide-contract 29/29; Bugbot/reviewThreads empty" }, { - "date": "2026-07-13", - "ref": "claude/icon-design-review-393584", - "head": "370cd7bdd6ca45484c14d04b66c51c3394472dd0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #519; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-19", + "ref": "local branches and worktrees after PRs #905 and #907", + "head": "e377ab1aed44d56c303eede80572c1df82ddcd6e", + "scope": "final local branch/worktree cleanup and useful-history preservation", + "outcome": "Reduced 153 local branches to `main` plus the two actively edited task branches. Deleted 150 redundant refs using cherry-pick containment, exact merged-PR heads, synthetic no-op merge trees, exact duplicate-head retention, merged-PR commit association, and explicit supersession review. Removed two clean obsolete worktrees and retained only the active auth/Supabase and P2-remediation worktrees for their owners. Archived the final 66 superseded historical heads in a verified 76,395,256-byte Git bundle before ref deletion. PRs #905 and #907 merged through protected `main`; PR #906 subsequently merged through protected `main` and its remote branch was removed.", + "checks": "Fresh fetch/prune and PR inventory; exact-old-value `git update-ref`; `git merge-tree --write-tree`; GraphQL commit-to-PR association for 178 commits; reverse-patch checks against a detached fresh-main worktree; verified bundle `Database-local-refs-before-final-cleanup-20260719-0525.bundle`; final branch/worktree/remote checks. No OpenAI, Supabase, deployment, live clinical, or production-data workflow ran." }, { - "date": "2026-07-13", - "ref": "claude/icon-glyph-refinements", - "head": "7e807c1c7346ae998557911421500dce70fe3cd0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #523; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-24", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "e386d074da69be3d7805a9e851f430603d3b0249", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "supersedes prior #1162 row: post-sweep HEAD includes ledger commit; conflict-marker fixes at 80212dd91+632e84c94; merge-from-main skipped (privacy/clinical/source-authority/supabase conflicts); PR policy + thread resolve deferred to human/parent", + "checks": "same gates as prior row; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "claude/ingestion-autopilot", - "head": "9122feef297a1b88050696042b10779626aef4bb", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #588.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "e3dc87000", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR required green, 1 unresolved guest-favourites dock thread, branch behind main. After: merged origin/main cleanly; gated favourites hero composer slot on favouritesAccessible; thread resolved via GraphQL; reply mutation 403 noted in commit e3dc8700.", + "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/mobile-composer-reserve.test.ts PASS (9/9); git diff --check PASS; no Supabase/OpenAI/live eval gates run." }, { - "date": "2026-07-13", - "ref": "claude/july8-migration-batch-live-7d76fb", - "head": "c78a4d7ff570179f28a33f03759e1d91f56d0f65", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #528; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-16", + "ref": "PR-2008 / codex/tools-show-all-20260816", + "head": "e40e375dfa5346614d5b0c143e9f2e8f0fe44bd8", + "scope": "PR #2008 post-review base refresh", + "outcome": "Required base refresh to 4c52fe1dbbc921be769c31b36efbcdba798ba11b reviewed; the base delta adds only unrelated branch-review records and outstanding-issue inbox updates, with no overlap with this PR's launcher or focused UI regression files; the original review disposition remains valid", + "checks": "Exact-head PR required, CI, SAST, and secret scan passed at b089bf262b1aff99f57b22e45cbd941e815175c1; a96dcbb6280ab6889c3b443be4d348950786a809-to-4c52fe1dbbc921be769c31b36efbcdba798ba11b compare reviewed; clean synthetic merge-tree verification" + }, + { + "date": "2026-08-12", + "ref": "claude/ui-smoke-flake-290", + "head": "e41ceaf9f885cf929b32b4d6e17c445b617cde1f", + "scope": "#290 ui-smoke flake reproduction attempt on current main; browser-preflight findings", + "outcome": "#290 archived not-reproducible: 3x full ui-smoke chromium runs 97 passed/0 failed/0 flaky each (291 executions) plus isolated repeat-each=5 on the named reproducer 5 passed at ~1.1s vs the ~11.5s failure signature; recorded as evidence not proof (row measured 2/5 and 3/5 failure rates) and resolved by drift past base 9ab3b73a. New #312 records that check:playwright-browser-revision OK means no root FORCED not browsers present, and that npx playwright install chromium + --project=chromium is a cheap first option", + "checks": "verify:pr-local 10/10 green; check:outstanding-issues 114 open/196 archived; 3 full ui-smoke runs captured to file with real exit codes" }, { - "date": "2026-07-13", - "ref": "claude/lithium-search-issue-7903a2", - "head": "a6b2dbcd6e289ada4d8abb88861dc43063236058", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #460; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-14", + "ref": "claude/correct-rejected-closures", + "head": "e4372b5b4e1e382ec28b79e326a0ae1f2a9901ba", + "scope": "docs/outstanding-issues-inbox — corrections for rejected closures and stale #231", + "outcome": "Queued 4 update requests. #235/#237/#238 record the rejected closure, its reason, and a Stop rule naming the evidence class that must not be reused; all three drop the stale IN FLIGHT prefix (PRs #1841/#1842 merged). #231 records that scripts/probe-generation-quality.ts now exists (a3bc4da) and PR #1861 was adjudicated superseded for phase 1, so the row no longer asks for an instrument that exists.", + "checks": "verify:pr-local (11 completed, 0 failed; first run correctly failed check:ledger-write-discipline on uncommitted edits)" }, { - "date": "2026-07-13", - "ref": "claude/magical-bouman-0a04a4", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-07-28", + "ref": "cursor/pr-policy-caveman-docs-dc4e", + "head": "e449eccc7e050736519588a89d2c35b2348e4380", + "scope": "pr-1335", + "outcome": "docs-ready: caveman×pr-policy guidance", + "checks": "content-proofread" }, { - "date": "2026-07-13", - "ref": "claude/medspacy-assertion-eval", - "head": "5098fe32e7c091c09fb1d36b5d0a0f767fc009cd", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "e47c9d410a2eaaffd73af9e41dc57113f8cc9ef1", + "scope": "PR #1490 merge conflict", + "outcome": "merged origin/main; resolved outstanding-issues against #1508 IDs; kept pre-snapshot wording", + "checks": "check:outstanding-issues,docs:check-links" }, { - "date": "2026-07-13", - "ref": "claude/missing-search-bar-a1b3d5", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "date": "2026-07-17", + "ref": "main (origin/main)", + "head": "e5caaa46cad5fb9a937f1dc43312723799b98abb", + "scope": "PWA setup review (service worker, offline fallback, lifecycle, manifest, headers/CSP, proxy bypass, test + CI wiring)", + "outcome": "Completed the interrupted PWA setup review at current `main`. The PWA surface (`public/sw.js`, `public/offline.html`, `src/components/pwa-lifecycle.tsx`, `src/app/manifest.ts`, `docs/pwa.md`, all four PWA test files) is byte-identical to the already-reviewed `codex/pwa-privacy-safe-20260717` merge (35fa8c9); the only post-review deltas (#705) touch `next.config.ts` dist-dir guards, `playwright.config.ts`, and `vitest.config.mts` without changing PWA behavior. Privacy contract confirmed sound: network-only navigations with offline fallback, cache-first restricted to hashed `/_next/static` with MIME/destination validation, credentials omitted, cross-origin/query/auth/no-store/Set-Cookie requests blocked, bounded versioned caches, no auto-skipWaiting. No P0-P2 findings. P3: `docs/pwa.md` rule 6 requires an explicit retirement/kill-switch worker but none is committed. P3: `offline.html` is precached at install and never revalidated, so editing it without bumping `CACHE_VERSION` in `sw.js` strands installed clients; suggest a Vitest guard binding the `offline.html` content hash to `CACHE_VERSION`. Minor (documented): `?pwa-dev=1` registration persists until manual unregister. P4: optional manifest polish (`launch_handler`, `display_override`); `next.config.ts`/`src/lib/security-headers.ts` diffs do not set `ui_changed`, so served-header e2e assertions rely on the static guard in `tests/pwa-manifest.test.ts` (deliberate per the scope self-test). Housekeeping: the stale local `codex/pwa-optimization` checkout with uncommitted precursor files exists only on the owner machine and was left untouched.", + "checks": "Focused Vitest via `npm run test -- tests/pwa-service-worker.test.ts tests/pwa-manifest.test.ts tests/pwa-lifecycle.dom.test.tsx`: 45 passed (38 node + 7 jsdom) after `npm install` restored the lockfile-pinned `jsdom` missing from this container. Config inspection: `playwright.config.ts` testMatch and production pattern include `ui-pwa.spec.ts`; `ci.yml` `ui-critical` runs `npm run test:e2e:pr` (chromium, grep-invert quarantine/mockup) gated by `ui_changed`, whose patterns cover `public/`, `src/app`, `src/components`, and `tests/ui-*.spec.ts`; Vitest projects include `tests/**/*.test.ts` plus `tests/**/*.dom.test.tsx`, so the PWA unit tests run inside `npm run test` and `verify:cheap`. `git diff f7c4e293e..e5caaa4` over the PWA paths showed no changes. `tests/ui-pwa.spec.ts` confirmed to assert the CacheStorage inventory privacy contract with API/Supabase/OpenAI routes blocked. Not run: local Playwright PWA e2e (browser gate separate; covered in the CI PR gate) and provider-backed checks (confirmation-required)." }, { - "date": "2026-07-13", - "ref": "claude/mobile-search-bar-fix", - "head": "b73196c2e2e4a536804cdcdb50879c29e2c582c5", - "scope": "branch-cleanup", - "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", - "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/mobile-search-bar-fix` returned empty." + "date": "2026-07-17", + "ref": "codex/chat-forms-import-6914", + "head": "e5caaa46cad5fb9a937f1dc43312723799b98abb + working-tree diff", + "scope": "shared Forms/Services catalogue access and LOCAL_NO_AUTH_OWNER_ID review", + "outcome": "Fixed one P1 availability/design defect: authenticated reads materialized a private copy of the shared catalogue on first access, creating drift, unnecessary writes, and possible registry-corpus side effects. Forms/Services now merge the reviewed shared baseline with private owner overrides for list, detail, and universal search; older partial overrides retain missing shared metadata; no registry GET seeds or embeds. Private rows and linked documents remain owner-scoped. The ignored local owner setting was corrected to the verified sole live-owner UUID and source validation now requires a UUID. No remaining high-confidence defect in scope.", + "checks": "Focused registry/universal Vitest initially exposed four local expectation/count mismatches; corrected registry suite passed 17/17 and registry/logging suite passed 23/23. Full TypeScript passed. `verify:cheap` passed runtime, action pins, sitemap, brand, type/icon/function guards, full lint, and TypeScript; full Vitest reached 2,588 passing with one stale logging-guard failure, which was fixed and focused-verified. The final full-suite rerun was terminated by the 5-minute host timeout without a reported assertion failure. `git diff --check` passed. No Supabase/OpenAI/provider call or schema/RLS mutation was run for this review." }, { - "date": "2026-07-13", - "ref": "claude/mode-home-composer-hero-fix", - "head": "50fa59812a84081bc9b2c8cbac79aa3b089c7031", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #470; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "PR #1446 / claude/ci-testing-review-2l8klp", + "head": "e6c704c6c8cd989825adf30ecbffeb57344bfa56", + "scope": "ci-testing-review-capture", + "outcome": "SUPERSEDES the 11e7e865 capture row: the Services viewport-anchor flake is now #142, not #141. Main's #141 (design-sync --clinical-accent-strong token gap from PR #1443) landed while this branch was open, colliding on the same id. Merge conflict in docs/outstanding-issues.md resolved by rebuilding from origin/main and re-applying the Services capture as #142 with next-id=143. Content of the capture is unchanged.", + "checks": "check:outstanding-issues PASS (140 rows, 68 open, 72 archived, next-id=143); merge-tree was CONFLICTING on outstanding-issues only; conflict markers removed" }, { - "date": "2026-07-13", - "ref": "claude/mystifying-wing-55853c", - "head": "c9c3d2b0c0e71f09e8153f60fa6b2508dccddc25", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor c9c3d2b0c0e71f09e8153f60fa6b2508dccddc25 origin/main`." + "date": "2026-08-08", + "ref": "claude/ds-visual-advisory-off-prs (PR #1755)", + "head": "e6d24190eb1e02c435003d429d88f2d293b14867", + "scope": "heavy review-and-fix", + "outcome": "merged origin/main; fixed Bugbot/Codex P2 merge_group exclusion via event allowlist; synced docs/testing.md + #118 note; CodeRabbit date nit dispositioned (owner +0800); threads unreplied (403)", + "checks": "vitest ci-cache-safety; check:github-actions; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "claude/observability-alerts-rollback-8d9b79", - "head": "67144fe56b776fb58d2518d057d41612399f65b6", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #536; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-14", + "ref": "copilot/fix-ci-error", + "head": "e6e735d2668f7383acc45bdb7cc7dc183e7a73a8", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-13", - "ref": "claude/ops-digest", - "head": "8355970c0371b4150f2965a49c611678a8393ad2", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #587.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-14", + "ref": "fix/accessibility-remaining-findings", + "head": "e6e735d2668f7383acc45bdb7cc7dc183e7a73a8", + "scope": "branch-cleanup and merge-readiness", + "outcome": "Retained. PR #654 is mergeable and its scoped accessibility diff had no high-confidence review finding, but the required UI regression check remains in progress and GitHub reports the PR blocked.", + "checks": "Authenticated PR metadata and check rollup; five-file diff review; mergeability and exact-head confirmation. No merge attempted." }, { - "date": "2026-07-13", - "ref": "claude/perf-r2-auth-roundtrip", - "head": "82376e73f1d12c5e94e85847b307b49819524b89", - "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/perf-r2-auth-roundtrip; git diff --name-only reported 46 path(s)." + "date": "2026-08-12", + "ref": "claude/design-issues-triage-wnr7k9", + "head": "e6eb4c64b28141654bf5eb38121e657f3c2ef77c", + "scope": "Capture two session findings into the ledger (#310 fuzzy drug-match, #311 loss-detector)", + "outcome": "docs-only; #310 records a measured cross-drug fuzzy match in open PR #1851 (fluoxetine->duloxetine at distance 2) with a tested one-line cap; #311 records promoting the derived ledger loss-detector to scripts/", + "checks": "verify:pr-local 10/10 green after npm ci; check:outstanding-issues 114 open/195 archived" }, { - "date": "2026-07-13", - "ref": "claude/perf-r2-bundle-hygiene", - "head": "cb9c0f9502f61bd29fe3761e1ad3122a3233a27c", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #475; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8", + "head": "e6eea4d9b677de6919165753b9ceae059bac1190", + "scope": "Run PR sweep", + "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", + "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" }, { - "date": "2026-07-13", - "ref": "claude/perf-r2-eval-gated", - "head": "901fae59eca2c00c99c3b4ae79a84642b405672a", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #486; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "cursor/differentials-query-lit-stream-8bc0 (PR #1757)", + "head": "e7529dd2dd847b0bfd4b53daa723a8f5a329a50e", + "scope": "heavy review-and-fix", + "outcome": "synced main; fixed P1 compare id drop + P2 mobile threshold + P2 query normalize; 3 threads need reply (API 403)", + "checks": "vitest differential-stream+differentials-navigation+differentials 42 passed; no provider-backed checks" }, { "date": "2026-07-13", - "ref": "claude/perf-r2-hot-path", - "head": "848fa9248a48ac608ca1ca470cd85d203e4b036f", + "ref": "codex/branch-cleanup-2026-07-13", + "head": "e76537b72f42827497fdbdf34769e8491f7d2f9e", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #480; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Retained as the protected cleanup controller before the final ledger commit.", + "checks": "Current task worktree; deletion prohibited until its documentation PR is merged." }, { "date": "2026-07-13", - "ref": "claude/perf-r2-network-caching", - "head": "7cea28560ae57777e449d672a265a20b4c11b44f", + "ref": "claude/document-viewer-review-fixes", + "head": "e765b3818b4bdda32b0bee4af7c9091f5d86d86d", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #479; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #505; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-13", - "ref": "claude/perf-r2-payload-trim", - "head": "0c68d07d9e570848b76f76dc06d40a340fbc3e88", + "ref": "origin/claude/document-viewer-review-fixes", + "head": "e765b3818b4bdda32b0bee4af7c9091f5d86d86d", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #482; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #505; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-13", - "ref": "claude/perf-r2-plan-cache-migration", - "head": "5f36914c0440f1dba6044c8d9ed6c9dc069e66d0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #484; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "claude/global-search-mockups-mrgmzl", + "head": "e79e499839e56bff66aecc37d1c915ac3127e995", + "scope": "prlanded", + "outcome": "merged and verified by content", + "checks": "verify:cheap exit 0 (437 files, 4576 passed); verify:pr-local exit 0; CI pr-required green on a6f2281; squash e79e499 content diff vs branch tip empty; late aria-live/role=alert commit confirmed present on main" }, { - "date": "2026-07-13", - "ref": "claude/pia3-doc-residual-cache", - "head": "4494a830df6682ce5edcaf61d6a178af162b50d7", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #535; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "claude/white-element-positioning-t607pk", + "head": "e7a27bbfb2fca907aa235c36f8966164e1ad9e27", + "scope": "pr-babysit", + "outcome": "No product fix needed. Prior PR-required failures were production-ui cancelled by repeated main merges superseding runs. Current head: merge-tree clean, 0 behind main, hosted CI success including Production UI + PR required. No unresolved review threads. Bugbot: no cursor[bot] findings; Cursor suite still queued. Local A/B proved 3 Playwright failures identical on --surface and --background (env flake).", + "checks": "verify:cheap:4451-pass; format:check:pass; phone-contracts:82-pass; hosted:PR-required:pass; hosted:Production-UI:pass; A/B-playwright:same-3-fail; bugbot:no-findings" }, { - "date": "2026-07-13", - "ref": "claude/privacy-footer-responsive-adbd0c", - "head": "ad5ef99f68dfd07d56a2ad9e2d0871b7deaf882c", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-08-08", + "ref": "claude/mode-routing-search-pages-jabe17 (PR #1744)", + "head": "e7a6b44cf4488228129fb2f7285904f9e040dcaa", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Static maintainability 4205>4140 + DIRTY → merged main; extracted payloads+home-mode-seed to 4124 lines; CI re-running", + "checks": "check:maintainability-budgets pass; typecheck; vitest clinical-dashboard-merge+search-route-ownership 25; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "claude/production-deployment-setup-d83ef8", - "head": "631f0a35fc3b2ca2e198c1aff81ddf6fbbf0e673", - "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/production-deployment-setup-d83ef8; git diff --name-only reported 13 path(s)." + "date": "2026-07-30", + "ref": "PR-1433", + "head": "e7a8102620b5b4847894b3df21f438304ea581bd", + "scope": "PR #1433 document result cards and action menu final review", + "outcome": "fixed clipped menu, clipboard fallback focus loss, and inherited action typography; no remaining findings", + "checks": "DOM Vitest 4/4; focused Chromium 1/1; typecheck, Prettier, and diff checks pass" }, { - "date": "2026-07-13", - "ref": "claude/prompt-improvement-skill-2e87bd", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", + "date": "2026-07-30", + "ref": "codex/organize-inactive-20260730", + "head": "e7b248e215714fbf823c784857f521f89d86fa3d", "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 648abfa3f7c91395b5eeca543f70e0b6ea59e9e0 origin/main`." + "outcome": "merged PR #1462 contains this exact local tip; recovery preserved; safe local cleanup", + "checks": "GitHub PR #1462 MERGED at exact final head f99bb06030780efab7c98806cbb0b2171d1a4284; git merge-base --is-ancestor passed; batch6 bundle verified" }, { - "date": "2026-07-13", - "ref": "claude/prompt-perfection-3d64fe", - "head": "a51871954182c524d961eb077e5983fb87eb2260", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor a51871954182c524d961eb077e5983fb87eb2260 origin/main`." + "date": "2026-07-30", + "ref": "codex/organize-inactive-20260730", + "head": "e7b248e215714fbf823c784857f521f89d86fa3d", + "scope": "PR #1462 changed-scope review", + "outcome": "PASS - no P0-P2 findings; exact-lock formatter resolution fails closed", + "checks": "guard-push self-test and focused contracts previously green; issues, ledger, docs, diff-check; hosted full unit pending" }, { - "date": "2026-07-13", - "ref": "claude/psych-vocab-seed", - "head": "d41c65f209029ba37bd54424640918559209ffa1", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #605.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-31", + "ref": "codex/chat-prompt-skill-review-e608", + "head": "e7b2b9ae864e4ca280761dc5e1dd23ea65afb520", + "scope": "PR #1439 review+bugbot+fix", + "outcome": "FIXED CONFLICTING: GitHub DIRTY was behind-but-clean; merged origin/main twice to current tip. Product delta: POSIX secondary-worktree bootstrap + consolidated skill contracts on main Cloud/status-hash verifier. Review+Bugbot: no P0/P1; 0 unresolved threads; no new Bugbot findings. Restored append-only ledger vs main (no historical row rewrite).", + "checks": "merge-tree clean; MERGEABLE; PR mergeability/policy/gitleaks success; Static/Unit/Safety in progress; isolation self-test 14/14; 0 unresolved threads" }, { "date": "2026-07-13", - "ref": "claude/psychiatry-calculators-mockups-8dd1a4", - "head": "d25f495a03b96d328874eee3eb2e78863f7611ef", + "ref": "origin/claude/smart-search-presentations-differentials-a199bb", + "head": "e7b8a9621d30f22c7ae20aefbba7c023d1ac06df", "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #499; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." + }, + { + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "e7d93cddd75a71a4d7c4deff48e0038c98f6706f", + "scope": "Follow-up perfection published", + "outcome": "APPROVE once tip CI green. Heading hierarchy fixed; correct policy body template on branch; product scope reduced to 4 source files + ledger/template.", + "checks": "Prettier check; pushed tip." }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr1-retrieval-dualpath", - "head": "7142bc41e6c570def1ece5903fdd923f7a953165", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-30", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "e7ff5e933ba1f34d5adbd46dd77c38aced11ed44", + "scope": "open PR changed-scope review", + "outcome": "APPROVE: ordering-risk documentation is accurate and the near-bottom refusal guard now proves its geometry is non-vacuous before asserting no hide.", + "checks": "diff check PASS; focused test review; no unresolved threads; exact-head Production UI required" }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr2-variant-early-exit", - "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-09", + "ref": "claude/m2-ds-gates-blocking", + "head": "e8447b042088998d34af750df72a946b1f074b97", + "scope": "M2 design-system gates: #264 + gate 4 of #265", + "outcome": "ready-to-merge; supersedes the d204c6f7 row — seven review findings fixed, copilot-swe-agent commits merged keeping the safer numeral classifier, tap-floor defect renumbered #291 to #293 after main claimed #291/#292", + "checks": "ds-contract PASS (colour-only 4, numerals 2, inversions 0); 11 reviewer cases probe-verified; mutation-verified incl. opacity and arbitrary-filter forms; lint 0; tsc 0 errors; format clean; outstanding-issues guard PASS 291 rows next-id=294 no ids deleted; ledger guard PASS 775 rows" }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr3-storage-unification", - "head": "6758a6c2a30f1479e742c6224ef886ef47726902", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-30", + "ref": "PR #1400", + "head": "e869cb9d7ab20939361b277d1c6fcc07bbb6ca45", + "scope": "pr-1400-guard-push-band-adoption", + "outcome": "MERGED — 17 review findings across guard-push.mjs and the band-adoption gate, all fixed and thread-resolved; each fix confirmed by reverting it and watching the guard fail. Guard now checks the pushed SHA in a git worktree (config, dynamic config, policy escalation incl. removal, lockfile Prettier parity); adoption gate replaced presence-matching with per-module reachability, closing six false greens of one root cause plus type-position edges found in self-review. Merge verified: all 8 commits ancestors of main, 4 changed files byte-identical.", + "checks": "verify:cheap 432 files / 4470 passed 4 skipped; format:check clean; PR required success; services+tools page gutting reports orphans; 6 push-guard scratch-repo cases with real exit codes; every fixture mutation-verified" }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr4-trust-copy", - "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-28", + "ref": "PR #1286 / `fix-test-run-lock`", + "head": "e86d01edee26a361cbf69aab53ab168d963e3e71", + "scope": "Production UI favourites-hub hydration flake fix", + "outcome": "FIXED. Hosted Production UI failed once after main sync on favourites hub strict-mode duplicate (`getByTestId('favourites-hub')` -> 2). Applied existing `expectSingleSettledOwner` guard to favourites smoke asserts. Not a product regression from this PR's unique delta.", + "checks": "Prior tip hosted Static/Unit/Build/Safety PASS; Production UI 322/323 then fail on favourites hydration; fix pushed; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr5-ia-canonical", - "head": "1420ac698ea31bf7d506e3dcfb3c8d25467c19c4", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-31", + "ref": "claude/fable-implementation-fc937c", + "head": "e87d4e583cec7277f6c1ff2fc5c3a08b2d1b37aa", + "scope": "pr-1531 unblock", + "outcome": "fixed static-pr eslint anon-export + build bundle-budget (-client Sentry); merge-tree-clean; 0 blocking threads", + "checks": "eslint next.config --max-warnings 0; check:bundle-budget within tolerance (1394.0/1278.6 KiB gzip); vitest error-tracking+env-sentry 6/6" }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pr6-ux-defaults", - "head": "fba18eb02acbcf5545e7aa3dd6baed3a8a3bc594", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-31", + "ref": "codex/fix-search-retrieval-issues-and-run-canary", + "head": "e8de1aebd1b32d5e901853a3473a792a66aa82cf", + "scope": "pr-1503 reopen-ready", + "outcome": "approved: #098 collapse ban kept after main sync; merge-tree clean; docs-only; PR stays closed", + "checks": "format:check; check:outstanding-issues; merge-tree clean; codex P2 fixed; bugbot clean" }, { "date": "2026-07-13", - "ref": "claude/pt-audit-pr7-ci-hardening", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "ref": "claude/forward-codify-retrieval-rpcs-05a3dc", + "head": "e8ee696dd6db4a991e6964d96e4ded40131596a5", "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor e8ee696dd6db4a991e6964d96e4ded40131596a5 origin/main`." }, { "date": "2026-07-13", - "ref": "claude/pt-audit-pr7-ci-hardening", - "head": "ec8bf327f67df4f90b4adb7c75c14e0f06993299", + "ref": "origin/claude/forward-codify-retrieval-rpcs-05a3dc", + "head": "e8ee696dd6db4a991e6964d96e4ded40131596a5", "scope": "branch-cleanup", - "outcome": "Retained for open PR #592.", - "checks": "Fresh GitHub open-PR query matched this branch." + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor e8ee696dd6db4a991e6964d96e4ded40131596a5 origin/main`." }, { - "date": "2026-07-13", - "ref": "claude/pt-audit-pt17-live-monitor", - "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-08", + "ref": "dependabot/npm_and_yarn/js-yaml-4.3.1 (PR #1668)", + "head": "e95160210e7801c1f4e863648ed6b48c8fbee71f", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "BEHIND → merged origin/main; Safety audit failed on transitive nanoid→bumped lock to 3.3.18; CI re-running", + "checks": "npm audit --omit=dev --audit-level=high clean; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "claude/pwa-optimization-plan-4b7c4f", - "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-08", + "ref": "cursor/form-1a-priority-facts-dc36", + "head": "e965d96258cdd3d5ad6f520616de0f32bf02498e", + "scope": "Form 1A priority facts: condense cards + Act section detail sheets", + "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", + "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" }, { - "date": "2026-07-13", - "ref": "claude/quality-eval-expected-doc-coverage", - "head": "c4868031b2294d26a5d35b06f9ecbb4c9b55ac28", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #562; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "cursor/form-1a-priority-facts-dc36", + "head": "e965d96258cdd3d5ad6f520616de0f32bf02498e", + "scope": "Form 1A priority facts: condense cards + Act section detail sheets (supersedes 2026-08-08)", + "outcome": "implemented; Form 1A Source status card replaced with Act sections 26/31/36/37/41/42; condensed clock/maker/criteria with tap sheets", + "checks": "typecheck pass; lint pass; npm run test 530 files / 5704 passed" }, { - "date": "2026-07-13", - "ref": "claude/query-hash-hmac-secret-0e44d3", - "head": "06dc4be72bcbdebb991ab8ad5c8d2e2eb67fcc59", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/query-hash-hmac-secret-0e44d3; git diff --name-only reported 2 path(s)." + "date": "2026-07-25", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "e966b5aa972", + "scope": "Babysit sweep: spring physics / reduced-motion — auto-merged after main sync", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "claude/rag-cross-reference-guard", - "head": "abb648e0bd64631db41412148d93eee39eb4f5d2", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #538; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "e966b5aa972", + "scope": "Babysit sweep: spring physics / reduced-motion ? auto-merged after main sync", + "outcome": "pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "claude/rag-optimization-phase-2-748178", - "head": "501b949e33ea1ac35abef7644a3cdc0aeb18cefd", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #526; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "codex/fix-merge-conflicts-and-ci-on-open-prs (PR #1170)", + "head": "e979fc892f11a17b1a8f2ef1ab058ef40d629182", + "scope": "Open-PR maintenance: CI fix + threads + drift", + "outcome": "Before: Static PR checks failed because route-group moves made nine valid legacy `src/app/*` documentation references appear missing; 0 unresolved threads; branch already contained current main. After: docs-link resolution checks known App Router route groups and the focused failure is fixed.", + "checks": "`node scripts/check-docs-links.mjs` pass (1162 references); Prettier check pass; `git diff --check` pass; no provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "claude/rag-review-improvements-f1bf84", - "head": "7154493e5e7c5ed1e2bd484503bfdbca94c23756", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #514; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1337 / claude/circleci-config-decision-f1efc6", + "head": "e9bcebb9ef7baddb2eed961bf40bbd89a358b41b", + "scope": "CI babysit: CircleCI verify green", + "outcome": "FIXED. Root cause of CircleCI red: cimg/node:24.9 fails engine-strict npm ci because @babel/parser requires Node >=24.11. Switched to cimg/node:24.18. Also addressed Codex P2s (ci-change-scope docs-only; PyMuPDF venv+PYTHON_BIN). Hosted ci/circleci: verify SUCCESS on tip; GH PR required SUCCESS. Codex threads previously resolved.", + "checks": "circleci config validate; contract Vitest 6/6; hosted CircleCI verify SUCCESS (job 225); hosted PR required/Static/Unit SUCCESS" }, { "date": "2026-07-13", - "ref": "claude/reconcile-mode-home-tokens", - "head": "8b3dee857fc0503d815b794371be19bfd088b973", + "ref": "origin/codex/rag-review-followup", + "head": "ea56104cd658217d67a0a768ec250943bdddd8e8", "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/reconcile-mode-home-tokens; git diff --name-only reported 1 path(s)." + "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #581.", + "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." }, { - "date": "2026-07-13", - "ref": "claude/relax-openai-search-gate", - "head": "fb2df603f472ea613d32ef0991f8ec00af5999c5", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/relax-openai-search-gate; git diff --name-only reported 1 path(s)." + "date": "2026-08-04", + "ref": "origin/main", + "head": "ea9d7f642b26aff1bbda0effb86e2c72754ff974", + "scope": "design-system adoption audit", + "outcome": "P1/P2: v2 shell unmounted; stale adoption docs; phone runway and component/accessibility residuals", + "checks": "exact-ref static audit; ancestor design contracts 83/83; no browser or providers" }, { - "date": "2026-07-13", - "ref": "claude/repo-agents-evaluation-8a41cd", - "head": "b8b484398557231ce4ce05693b784dc3bac16299", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-28", + "ref": "cursor/mode-secondary-navigation-dc4e", + "head": "ea9f74062269cc820af5fdc9d3d1ce09e5cf0a4a", + "scope": "pr-1336-babysit", + "outcome": "fixed P1 Suspense+DocumentViewer double-nav; P2 documents/search gate; CI babysit", + "checks": "verify:cheap,vitest-70+4189,tsc,eslint,build" }, { - "date": "2026-07-13", - "ref": "claude/repo-docs-infrastructure-4c2787", - "head": "fa75ccbf89413b6250d7f11957ee43d322410b9b", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-21", + "ref": "claude/frontend-design-6sl1ft", + "head": "eaae8bde3066749f105233c1492d6f044671b91b", + "scope": "full-frontend design review remediation: tokens, ward a11y, answer support label, gate gaps", + "outcome": "applied — 20 review findings resolved or dispositioned; 3 architectural items deliberately deferred", + "checks": "verify:pr-local exit 0 (19/19 gates; 7599 tests passed, 4 skipped, 0 errors; build 1871 pages); verify:ui delegated to CI Production UI (playwright revision drift #255)" }, { - "date": "2026-07-13", - "ref": "claude/repo-hygiene", - "head": "1db8d1508cf0cd3aec244358db32d8bc9f06a7f2", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #596.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-27", + "ref": "`claude/clinical-kb-pwa-review-asi3wb` (PR #1050: eval cost readout fix + issues-ledger capture)", + "head": "eb1046be132d8e94d9d6b4905d7e240a99f33187", + "scope": "Retrospective disposition row for PR #1050 (omitted at merge time; ride-along from the 2026-07-26 scheduled-runs reader)", + "outcome": "MERGED 2026-07-22 as squash `9fb9bc7`. External reviews dispositioned pre-merge: one Codex P2 and one CodeRabbit Major converged on the same defect (zero-usage cases with a provider attempt must stay `n/a`, not `$0`) plus two CodeRabbit ledger Minors and a real merge conflict against #1049's concurrent ID allocation — all resolved in `eb1046b` (provider-attempt cost branch; issue rows renumbered #018-#023, next-id 024), threads resolved and confirmed by the reviewer. Cost readout subsequently validated live twice: merged-main canary `30018289898` (2026-07-23) and scheduled run `30216191889` (2026-07-26, Estimated cost USD 0.235936; 9 priced + 35 provably-zero-cost cases, no `n/a`), archiving issue #020.", + "checks": "PR CI green at merge (squash auto-merge armed by the user); post-merge validation read-only from hosted run logs; tests 28/28 on `tests/eval-quality.test.ts` plus typecheck and prettier at `eb1046b`; no provider dispatch or live RAG spend for this row." }, { - "date": "2026-07-13", - "ref": "claude/repo-improvement-review-09945c", - "head": "a180fb23b886e440f4bf839bc89c2c5085f7f5c3", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-17", + "ref": "dependabot/docker/docker-images-263a700181 (PR #2013)", + "head": "eb1874db74b9be0a2657e3913ab41003f402deb0", + "scope": "Run PR sweep: CI diagnosis", + "outcome": "Not fixed — genuine incompatibility, not a bug: bumping the Dockerfile base image to node 26-bookworm-slim ships Node v26.7.0, but the repo's engine-strict floor pins Node >=24.15.0 <25 (AGENTS.md), so npm ci fails EBADENGINE in the container build. Needs an owner decision (reject the bump, or a deliberate repo-wide Node 26 migration), not a sweep-scoped code change. Left untouched; no review threads.", + "checks": "Diagnosed from CI job logs only (Container images / build-and-verify); no local reproduction attempted (Docker build), no provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "claude/repo-next-steps-e53523", - "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-28", + "ref": "PR #1337 / claude/circleci-config-decision-f1efc6", + "head": "eb2f8f867de13ca64fbdb5e95242e7e5067be6dc", + "scope": "CI babysit: CircleCI verify + Codex P2s", + "outcome": "FIXED. Root causes: (1) CircleCI missing PyMuPDF/pip so CI=1 pdf-extractor prerequisite failed; (2) naive docs-only md regex false-greened policy Markdown; (3) Bugbot P1: non-root npm install -g fails on cimg/node. Fixed by ci-change-scope docs_only halt, apt python3-pip + PyMuPDF==1.28.0, npm 11.x assert. Both Codex threads resolved. brace-expansion already on main via #1314.", + "checks": "format:check; contract Vitest 5/5; pdf-extractor 6/6 with CI=1+PyMuPDF; typecheck; lint; Bugbot re-review no remaining bugs; hosted CI/CircleCI re-running on eb2f8f86" }, { - "date": "2026-07-13", - "ref": "claude/repo-productivity-ideas-2e8b98", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "date": "2026-07-14", + "ref": "codex/global-answer-reliability", + "head": "eb6160a140e1d785340f171a534a9d74da267179", "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "outcome": "Retained: patch-unique content remains; the inactive clean worktree was removed without deleting the ref.", + "checks": "Local cherry-pick-aware comparison and reachability check." }, { - "date": "2026-07-13", - "ref": "claude/repo-task-recommendations-f32752", - "head": "00ff16704e6f290148d888c3247cf75ca0c1faa2", + "date": "2026-07-14", + "ref": "origin/codex/global-answer-reliability", + "head": "eb6160a140e1d785340f171a534a9d74da267179", "scope": "branch-cleanup", - "outcome": "Retained for open PR #577.", - "checks": "GitHub open-PR query matched this branch at classification time." + "outcome": "Retained: patch-unique content remains; remote mutation requires provider confirmation.", + "checks": "Offline remote-tracking comparison only." }, { "date": "2026-07-13", - "ref": "claude/repo-task-recommendations-f32752", - "head": "556487e08524d7f3095b76fce55add3e677fdc59", + "ref": "claude/hero-composer-hydration", + "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", + "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/hero-composer-hydration` returned empty." }, { "date": "2026-07-13", - "ref": "claude/response-formatting-cleanup-b57a9c", - "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", + "ref": "origin/claude/hero-composer-hydration", + "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", "scope": "branch-cleanup", - "outcome": "Retained: 22 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/response-formatting-cleanup-b57a9c; git diff --name-only reported 9 path(s)." + "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", + "checks": "`git log --right-only --cherry-pick --no-merges origin/main...origin/claude/hero-composer-hydration` returned empty." }, { - "date": "2026-07-13", - "ref": "claude/responsive-design-review-4d7395", - "head": "cfee2595b6fccd9b419a4aa221a0b813e9b51dc3", + "date": "2026-07-14", + "ref": "claude/hero-composer-hydration", + "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/responsive-design-review-4d7395; git diff --name-only reported 5 path(s)." + "outcome": "Deleted local redundant ref; the separately named teardown branch and its locked worktree were preserved.", + "checks": "Local cherry-pick-aware comparison plus worktree lock scan." }, { - "date": "2026-07-13", - "ref": "claude/review-chats-cleanup-83b6f5", - "head": "70ec6409a11a85e1678eb4b320519624673a94a0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 70ec6409a11a85e1678eb4b320519624673a94a0 origin/main`." + "date": "2026-08-18", + "ref": "2129", + "head": "eb9cb7481674c436464b0a81b560c3c79cc93501", + "scope": "RAG eval scorer: readability metric split (fragmentation vs v19-derived length bound), eval_config_version v1->v2, HANDOVER S3 row", + "outcome": "Approved — evaluation scorer only; no retrieval/ranking/selection/prompt change; RAG impact declared as no behaviour change; pr-policy evaluatePullRequestPolicy ok:true with 7/7 governance items", + "checks": "verify:pr-local heavy scope failed:(none) not-reached:(none) incl lint+typecheck+full unit suite+build; eval:rag:offline 26 suites/623 tests; check:rag:fixtures 36 golden/26 suites; eval:rag:adversarial:offline 24 cases/8 categories/6 canaries + 25 tests, 3 KNOWN_DIVERGENCES still pinned; vitest tests/rag-eval-cases.test.ts 32 passed (27+5 new, mutation-checked)" }, { - "date": "2026-07-13", - "ref": "claude/scroll-icon-design-8b7675", - "head": "636630a035df2da70353e4b7601d97744cdf0819", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #467; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-09-01", + "ref": "PR-2507", + "head": "ebb57785958888c2703ccb6cadac76ce344065ee", + "scope": "Run PR sweep: enforce Favourites phone tap-target minimum", + "outcome": "Replaced the blacklist-only target guard with a positive 48px-or-row-wide requirement and mutation fixtures for undersized or implicit controls.", + "checks": "Focused Favourites phone mockup test: 9 passed; diff check." }, { - "date": "2026-07-13", - "ref": "claude/search-page-redesign-d50902", - "head": "7d077a1d5fc3cbd7238bc8dc3f33733000684261", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #501; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "claude/pr-policy-caveman-fix-6875bb", + "head": "ebd169358d1d1c9c596a486c12d51101cb5860ee", + "scope": "PR policy caveman-mode carve-out (docs-only)", + "outcome": "Opened via reopened PR #1322; merged origin/main (real conflict in handoff SKILL.md resolved by hand, both step-6/step-7 edits kept); squash-auto-merge enabling", + "checks": "check:pr-policy self-test+workflow-guard PASS; prettier --check PASS; lint PASS 0 warnings; typecheck/test/rag:fixtures not run locally (cross-worktree heavy-lock contention, docs-only diff, deferred to hosted CI); no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "claude/seeded-owner-catalogue-sync-7544e2", - "head": "9613f9307be5728bb8dae0c56d6a35f053daad4c", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #507; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: matrix-remainder fixes)", + "head": "ec070ccb20b9a067216e64e8399d9cd795027024", + "scope": "Run-4012 remainder: 7 root-caused fixes (SW navigation hijack, WebKit focus/forced-colors/stale-style, Firefox tab order, CIWA alias, helper extraction)", + "outcome": "Agent-diagnosed with probe evidence: (1) production-build PWA worker registers in EVERY matrix test (pwa-lifecycle.tsx:287 NODE_ENV gate), clients.claim()s the page and serves all navigations — Chromium probe proved SW-served reloads bypass page.route entirely (routeSawNav=[]); Playwright-Firefox wedges on its only two reloads (ui-smoke 2206/2932, both deterministic) → playwright.config.ts serviceWorkers:'block' + ui-pwa 'allow' opt-in (offline/CacheStorage journey verified passing locally under the opt-in). (2) Mode-menu dismissal relied solely on wrapper focusout; WebKit Tab navigation can move focus nowhere (links excluded) or wrap into the menu → keydown Tab-close in handleModeTriggerKeyDown (agent verified no test depends on old forward-Tab behavior). (3) WebKit has no forced-colors implementation → capability skip on the token-remap test. (4) WebKit stale :disabled computed style feeds axe a phantom 1.93 contrast for the re-enabled Previous button (blend arithmetic exact: 0.4×#475467+0.6×#fff=#b5bbc2) → toBeEnabled+opacity-1 pin before the scan, failure-at-pin = direct proof. (5) Firefox includes scrollable containers in tab order (sheet body scrollHeight 1125 vs 707 measured) → conditional step-over. (6) canary #50/#51 CIWA failure root cause: whitespace-delimited textContainsClinicalTerm can never match hyphenated 'CIWA-Ar' though the dosing-table region ranks top-5 → clinicalContentAliases ciwa:[ciwa, ciwa-ar] (plan-authorized fixture-alias route; content substance unchanged). (7) tests/helpers/zero-touch.ts shared helper replaces six #995 inline stubs (CodeRabbit follow-up). NOT claimed: ui-stress 409 overflow, ui-tools 2087 navigation race, webkit answer-flow subset — next matrix run (post-merge dispatch) measures these vs the 28-failure baseline; ui-smoke 2932 webkit-side is a distinct mock-data class deliberately deferred pending that run.", + "checks": "Targeted vitest 25/25 (eval-retrieval + search-command-surface); npm run test 3012 passed / 1 known container pdf-budget artifact; verify:cheap green to same artifact; build + client-bundle scan PASS; prettier/eslint/typecheck clean; chromium ui-pwa under new SW config: offline/CacheStorage privacy journey PASS, installability = known container in-incognito artifact; UI verification not run locally beyond that: chromium ui suites carry documented container artifacts — hosted ui-critical/ui-advisory + next matrix authoritative" }, { - "date": "2026-07-13", - "ref": "claude/sentry-server-capture", - "head": "c131b9b7eed39de85b97228d05dc67542e7262eb", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-30", + "ref": "PR-1471", + "head": "ec6a8683c923cebbf3c028d6e2a89ee0efe32f18", + "scope": "PR #1471 Therapy Compass payload", + "outcome": "PASS: compact browse index preserves card fields and first-sentence best-used-for data while the search route explicitly loads the full catalogue", + "checks": "therapy index current at 205 records; focused Vitest 3 files, 20 tests passed; typecheck passed; provider-backed Lighthouse not run" }, { "date": "2026-07-13", - "ref": "claude/session-guards", - "head": "08a83b87d612fa82157f962b4de7886f15199447", + "ref": "claude/pt-audit-pr7-ci-hardening", + "head": "ec8bf327f67df4f90b4adb7c75c14e0f06993299", "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #583.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "outcome": "Retained for open PR #592.", + "checks": "Fresh GitHub open-PR query matched this branch." }, { - "date": "2026-07-13", - "ref": "claude/session-skills", - "head": "7df745420b8178df0101a35b75f1af07fea2d558", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/session-skills; git diff --name-only reported 3 path(s)." + "date": "2026-07-22", + "ref": "PR #1082 / `codex/reconcile-non-rag-p2`", + "head": "eca5af958dadc3d79269ab4f41c56110eb8dace7 (merged as d302be1cfd033eacd64a42d7ef6fe1af3c3b03ac)", + "scope": "Reproduced non-RAG P2 salvage", + "outcome": "MERGED only malformed fallback-PDF image tolerance and live-test env loading. Retryable auth was already on main; the old 31-file patch was not replayed.", + "checks": "Two red proofs; focused 37/37; `verify:cheap` 3,203 passed / 1 skipped; PR-local build/scan/offline RAG; hosted green." }, { - "date": "2026-07-13", - "ref": "claude/site-formatting-polish-b91374", - "head": "619dd99845beb02aa93f30377011b89d70fcb814", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #494; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-18", + "ref": "claude/issues-reconcile-2026-08-18-evening", + "head": "ed19e1435049e284088c0e8d042465004390c4de", + "scope": "prlanded", + "outcome": "clean — PR #2120 merged as squash ed19e143; two-dot content diff against branch tip 0771039f is empty, all 90 files landed including the review record, no orphaned late commit from the auto-merge race", + "checks": "git diff --stat ed19e143 0771039f (empty); ledger record 6b6d74c4 present on main; check:outstanding-issues on main 4575cf57 (365 rows, 48 open, 0 pending / 339 applied)" }, { - "date": "2026-07-13", - "ref": "claude/site-performance-speed-61d154", - "head": "46624913def3eaddaa1cc5aa4411f769e9c98b77", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #458; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-15", + "ref": "codex/search-phone-animation-20260815", + "head": "ed29ba4b3effa6ad58f4a6ecc240b30a6a93fdd2", + "scope": "Fresh phone browser and standalone-PWA loading animation defect hunt after physical-device failure report", + "outcome": "Fixed: moved the ECG opacity pulse from an SVG path to a normal HTML compositor layer and added WebKit raster-difference coverage", + "checks": "CSS contract 3/3; focused production WebKit 2/2; design-system contract passed" }, { - "date": "2026-07-13", - "ref": "claude/smart-search-presentations-differentials-a199bb", - "head": "0399ec7c3789cb892e0314454f971ba554839eab", + "date": "2026-07-31", + "ref": "origin/cursor/merge-sweep-ledger-2026-07-28", + "head": "ed3ec604c52f27443645ca810f72b4b71f9c6e31", "scope": "branch-cleanup", - "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", - "checks": "`git log --right-only --cherry-pick --no-merges origin/main...claude/smart-search-presentations-differentials-a199bb` returned empty." + "outcome": "safe remote delete: tip is ancestor of exact merged PR #1372 head; archived batch14", + "checks": "GitHub PR state; fetched PR head ancestry; bundle verify" }, { - "date": "2026-07-13", - "ref": "claude/spend-telemetry", - "head": "323d9cb5d94c4173881690e15699a4e224622803", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #585.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-17", + "ref": "claude/search-bar-behavior-2g0vnq (PR #2038)", + "head": "ed46e24fba1065df5aaccb52a8e634863eeaa076", + "scope": "Run PR sweep: main sync + CI", + "outcome": "Behind main -> synced clean (no conflicts). CI: PR required green after rerunning the codeload.github.com 429/503 infra flake once. No review threads. Only advisory GitGuardian false-positive.", + "checks": "git merge-tree clean; GitHub update-branch; rerun_failed_jobs; PR required: success" }, { - "date": "2026-07-13", - "ref": "claude/supabase-auth-connection-cap-8907c5", - "head": "d28cf149c36f0e44d3bde49068187f262190d74e", + "date": "2026-07-14", + "ref": "claude/calculators-search-page", + "head": "ed600b8bf5a07ef48f464d36f099e5f1cd1e5d13", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #525; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Retained (user decision): clinical-calculators mockup feature; note PR #670 has since merged to origin/main so this content is now also on main.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. No remote mutation attempted. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-13", - "ref": "claude/supabase-postgres-practices-3eeeb0", - "head": "6d26f87c245eeb5e57c564cddbdd6a4680d7862f", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 6d26f87c245eeb5e57c564cddbdd6a4680d7862f origin/main`." + "date": "2026-08-14", + "ref": "PR-1961", + "head": "ed6ad9a0f81b079568534db78283fec93b956c67", + "scope": "PR #1961 base-preserving reconciliation sync", + "outcome": "Required base sync retained the current canonical ledger: all 35 reconciliation records and the #310 correction were already present upstream; preserved only the branch’s new pending Prettier-version-trap request.", + "checks": "docs link check passed: 1775 repo path references resolve; Ledger inbox check passed: 23 pending request(s), 138 applied; branch-review-ledger self-test passed; Branch review ledger guard passed: 880 live table records + 1206 archived + 99 immutable; verify:pr-local unavailable: tsx/cli absent from isolated worktree (Node v24.14.0)." }, { - "date": "2026-07-13", - "ref": "claude/tools-responsive-layout", - "head": "45f646e1fdf43bf1201007ec9a502eed2e42717b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #464; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "origin/main (PR #1722 follow-up)", + "head": "eda8fe872de040e304621bce49535e1dfebb091e", + "scope": "Lighthouse testing thorough review", + "outcome": "P1 fixed locally: stale Chrome 150 baseline, unbounded runner phases, and live input/process limits hardened; advisory policy retained", + "checks": "offline review; check:ci-scope PASS; test:ci-workflows 13 files 248 passed 11 skipped; check:github-actions PASS; verify:lighthouse dry-run PASS; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "claude/wonderful-fermat-f00d79", - "head": "d6284c75b022f813f205fd3a73cce92b057a2a17", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #477; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-22", + "ref": "PR #1087 / `codex/reconcile-product-truth`", + "head": "edbc2260fef59ca2fa7c6973dffb85e32354bce1 (merged as 05dc52fd8408a65117e22a6236e43252203bea92)", + "scope": "Product-truth copy, account persistence and unavailable-SSO presentation", + "outcome": "MERGED. Cross-device claims now match favourites/preferences persistence; recent searches are identified as browser-session data; the contradictory “never shared” statement is removed. All unavailable setup providers and Apple elsewhere use the connected accessible “coming soon” placeholder pattern. The single review finding was fixed, replied to and resolved.", + "checks": "Red DOM proof; focused 19/19; `verify:cheap` 3,220 passed / 1 skipped; `verify:ui` 265/265; PR-local build/secret scan/offline RAG; final hosted required, Production UI, policy and security checks green. No provider calls or RAG spend." }, { - "date": "2026-07-13", - "ref": "claude/worker-edge-deploy-path-988cc3", - "head": "1b6f02170b485fe21ba56537ed6ed1061cc11679", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #527; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-17", + "ref": "claude/ledger-reconcile-issues-c1trbj (PR #2032)", + "head": "edc17cc5f059868d31bf7c523be68d8b6449ecae", + "scope": "Run PR sweep: babysit", + "outcome": "No action needed. New PR discovered mid-sweep (opened by the owner during this sweep). CI green (PR required success), mergeable_state clean, not behind main, no review threads.", + "checks": "No local checks run — nothing to fix, CI already green." }, { - "date": "2026-07-13", - "ref": "claude/worker-server-only-boot", - "head": "964564f0477635d252238612586e1f83dda3b245", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #493; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "claude/frosty-mayer-2c6167", + "head": "edc237718eeca9890e05d0cfcd075cb52fae4a2a", + "scope": "PR #1451 reopen readiness", + "outcome": "clean; re-synced main #1511; renumbered med-accent-soft #154->#155; keep closed", + "checks": "check:outstanding-issues; merge-tree clean; bugbot none" }, { - "date": "2026-07-13", - "ref": "codex/anonymous-document-access-tests", - "head": "4a3d954553a8c0618bd9c41baaadedd84bbca821", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #559; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "edcd17a1a77c123d347cbe774e3997bbcc50a059", + "scope": "CI green after re-trigger", + "outcome": "All required checks SUCCESS on tip after agent push (bot sync had left action_required). Scope: merge conflicts, CI unblock, Bugbot P1/P2 fixes, Production UI services referral test. Residual at the time: awaiting human review.", + "checks": "Hosted CI PR required SUCCESS; local Playwright services referral PASS; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "codex/api-review-fixes", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." + "date": "2026-08-12", + "ref": "codex/chat-account-setup-elevate-account-setup-elevate-20260813", + "head": "eddac9fe2b1b87f9c31f995675091c92b19b58a1", + "scope": "account setup redesign and Apple OAuth wiring", + "outcome": "READY: no findings; live Apple provider activation remains operator-gated", + "checks": "focused auth DOM 24/24; targeted Chromium 2/2; lint/typecheck/build/design contracts passed; RAG fixtures 36/36; full Vitest blocked by baseline Windows hook failures; PDF isolated 9/9" }, { - "date": "2026-07-13", - "ref": "codex/branch-cleanup-2026-07-13", - "head": "5daa779e75f7224b512c9788554c31dee5f654c5", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-25", + "ref": "cursor/pr-babysit-bugbot-agents-6c52 (PR #1167)", + "head": "ee44812aae9dad1973d8302eba5bfca5000dffb6", + "scope": "Open-PR maintenance: review-thread fixes", + "outcome": "Before: 8 unresolved Codex/CodeRabbit threads; branch current with main. After: target-head pinning, fresh-main verification, exact `cursor[bot]` identity checks, explicit mutation/provider authorization, direct reply-then-resolve semantics, and no-op ledger bookkeeping are documented.", + "checks": "Prettier check on both agent files pass; `git diff --check` pass; GitHub author probe confirmed `cursor[bot]` account type `Bot`; no provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "codex/branch-cleanup-2026-07-13", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", + "date": "2026-07-31", + "ref": "origin/agent/formulation-disabled-contrast", + "head": "ee51467cb1b937e01dd2dbdd416a3c7b37a03da7", "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "outcome": "safe remote delete: production disabled styling and service-worker isolation are on current main; private React-props polling workaround intentionally not retained; archived batch15", + "checks": "current source/test inspection; repo test-contract comparison; bundle verify" }, { - "date": "2026-07-13", - "ref": "codex/branch-cleanup-2026-07-13", - "head": "e76537b72f42827497fdbdf34769e8491f7d2f9e", - "scope": "branch-cleanup", - "outcome": "Retained as the protected cleanup controller before the final ledger commit.", - "checks": "Current task worktree; deletion prohibited until its documentation PR is merged." + "date": "2026-08-07", + "ref": "cursor/site-testing-speed-08c1 (PR #1686)", + "head": "ee58563208055cc5a610852b0f65e42ab5cb8118", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Real merge conflict in docs/outstanding-issues.md resolved content-aware (kept both sides' entries, took main's newer text for one row that referenced a since-resolved issue); lighthouse-budget.json conflict resolved by taking main's regenerated baseline. Merge surfaced 2 real TS typecheck errors from main's stricter tsconfig (NODE_ENV missing in partial env objects; non-const array losing literal type for object indexing) in this PR's own new test files -- fixed both, verified via eslint clean + targeted vitest (25/25 passed). No unresolved review threads.", + "checks": "npm run check:outstanding-issues (passed), eslint on 3 fixed files (clean), vitest on 3 fixed files (25 passed), npm run ledger:dedupe (no duplicates)" }, { - "date": "2026-07-13", - "ref": "codex/cleanup-domain1-governance", - "head": "be0b3ebd86f717ca4478dd3fb2b2bbfeb63d5fcc", - "scope": "branch-cleanup", - "outcome": "Deleted after squash-merging recovery PR #611 as 622988f47773297cedb882b6c236c6f80712c802.", - "checks": "GitHub PR state, hosted checks, merge ancestry, and zero path diff against origin/main were verified." + "date": "2026-08-07", + "ref": "cursor/site-testing-speed-08c1 (PR #1686)", + "head": "ee58563208055cc5a610852b0f65e42ab5cb8118", + "scope": "Run PR sweep: CI fix + threads + drift (supersedes 2026-08-07)", + "outcome": "Correction: prior row wrongly mentioned lighthouse-budget.json, which was not part of this PR's conflict. Real merge conflict in docs/outstanding-issues.md only, resolved content-aware (kept both sides' entries, took main's newer text for one row that referenced a since-resolved issue). Merge surfaced 2 real TS typecheck errors from main's stricter tsconfig (NODE_ENV missing in partial env objects; non-const array losing literal type for object indexing) in this PR's own new test files -- fixed both, verified via eslint clean + targeted vitest (25/25 passed). No unresolved review threads.", + "checks": "npm run check:outstanding-issues (passed), eslint on 3 fixed files (clean), vitest on 3 fixed files (25 passed), npm run ledger:dedupe (no duplicates)" }, { - "date": "2026-07-13", - "ref": "codex/codex-review-single-pass", - "head": "950e331006fe0b2d24447ea5b5df2bb83e69799b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #558; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "codex/ledger-next-20260730", + "head": "ee66a39b63fd7e39448ab13a5a5b72441f5321be", + "scope": "issue ledger closures, favourites partial-source status, CI and ledger guards", + "outcome": "FIXED. Supersedes prior reviews after merging current main answer-delivery design. No remaining P0-P2 findings; current-main #100 governance text was retained exactly, verified closures remained archived, and the sync added documentation only.", + "checks": "merge reconciliation + ledger:dedupe PASS; outstanding and branch ledger guards PASS; prior format, static, lint, typecheck, unit, build, RAG fixture, and focused Chromium evidence retained" }, { - "date": "2026-07-13", - "ref": "codex/deep-memory-live-reconcile", - "head": "59a976be639e1dede8acec65c1c14166ca71cadb", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #569; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "PR-1510", + "head": "eed59358ffdb588c3015ef317de4587d14ea00cf", + "scope": "PR #1510 reopen-ready evidence correction", + "outcome": "FIXED: removed false #098 canary attribution; NOTES #154->#157 and restored 7/4/3 token accounting; mockup tokens unchanged", + "checks": "check:outstanding-issues PASS; check:branch-review-ledger PASS; check:design-system-contract PASS; format:changed PASS; canary ancestry vs origin/main/work verified" }, { - "date": "2026-07-13", - "ref": "codex/dirty-work-pr-split", - "head": "c688eaf1a041b466aad1259e688dbfbe4329f700", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-24", + "ref": "PR #1114 / `codex/universal-ledger-main-followup-20260724`", + "head": "eedbe594a89eaa0aad8a517ee8808b089cb5ff57 + reviewed working diff", + "scope": "Streamlined-sidebar handoff in the merged universal ledger", + "outcome": "APPROVE. PRs #1112, #1116, and #1117 landed the universal-ledger baseline, two preserved UI tasks, and credential/hook hardening; this follow-up preserves that current-main schema and adds only the still-missing sidebar delivery as collision-free `#066`. The queue remains gap-free and every recommended ID has one open row. Sidebar implementation stays recoverable from remote branch `origin/codex/sidebar-test-fix-20260723` at full commit `cd54e68fbf7b07b5dffe3220e36af2caa528da54` until its local/browser/build/hosted merge proof is complete.", + "checks": "Focused sidebar/favourites tests previously passed 18/18 on the recorded implementation commit; this ledger follow-up passed Prettier, remote-ref recovery, 36-row contiguous-order/46-open-ID/next-ID invariants, and `git diff --check`. The broader reconciled precursor passed `verify:cheap` (365 files, 3,242 passed/1 skipped); fresh exact-head hosted CI is required on PR #1114. No OpenAI, Supabase, Railway, deployment, live-app, credential, or production-data action ran." }, { - "date": "2026-07-13", - "ref": "codex/domain-1-governance-remediation", - "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", - "scope": "branch-cleanup", - "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/domain-1-governance-remediation; git diff --name-only reported 56 path(s)." + "date": "2026-08-12", + "ref": "PR-1836", + "head": "eef2e275b7d5944206f1a27e23fdd78d95b383d8", + "scope": "full PR diff and unresolved review feedback", + "outcome": "No P0-P2 findings; prior review feedback already fixed and dispositioned", + "checks": "focused ledger/docs/workflow guards pass after current-main merge" }, { - "date": "2026-07-13", - "ref": "codex/domain-5-clinical-safety", - "head": "d14ef4b4dd43d5e08c11c08a70492da0c1abe4ad", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor d14ef4b4dd43d5e08c11c08a70492da0c1abe4ad origin/main`." + "date": "2026-07-19", + "ref": "origin/main foreign merges post-#896 landing (541da7b #871 remediation + f4557ca #892 policy parsing; explicit user review request)", + "head": "ef042ca6a34d33862936e77e4b71068978382c1e", + "scope": "Bug review of recent main changes (diff-review protocol)", + "outcome": "One P2 confirmed and fixed in PR #905: #892's widened heading matcher ended a required PR-body section at ANY next heading, so `###` sub-structure inside `## Verification` truncated the section and false-rejected valid bodies (fail-closed; repo template unaffected; repro via direct evaluatePullRequestPolicy probe old-vs-new). No P0/P1. Cleared after verification: `src/lib/client-env.ts` (no env leakage; production demote-to-demo removal deliberate and fail-safe — upload gating still locked via canUsePrivateApis), applications/medications redirect routes (fixed targets, 307+HEAD alias, no open-redirect/header-injection), test infra (no weakened assertions; route-coverage spec added to all projects), and the three biggest #871 UI diffs read inline (ClinicalDashboard upload tablist roving-tabindex + hydration-safe useSyncExternalStore role switch; visual-evidence unavailable-source rows became real non-interactive elements; favourites library demo-gates prototype items with sound menu keyboard nav). Residual (report-only): pr-policy `section()` remains fence-unaware (headings inside fenced code can satisfy required-section checks — pre-existing class, author-controlled attestation surface); dev-only Turbopack persistent-cache staleness served an old globals.css compile across restarts twice this session (fixed by setting `.next` aside).", + "checks": "Reviewer fan-out: general lane completed with concrete probes (pr-policy self-test, node repro on old parser from f4557ca^, adversarial body probes); UI lane agent lost to session limit and re-done inline on the three biggest diffs, leaning on the merged tree's green gates (verify:ui 236-passed run in this session covers #871's own new specs). No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "codex/domain-6-release-hardening", - "head": "9ffc2a5af1726f5fedc4d981b49981c902a2342a", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 9ffc2a5af1726f5fedc4d981b49981c902a2342a origin/main`." + "date": "2026-07-19", + "ref": "origin/main 24-hour merged window (d1937d78e..ef042cacd, ~30 PRs incl. #853/#859/#861/#865/#868/#871–#874/#879/#885–#888/#890–#894/#896)", + "head": "ef042cacd", + "scope": "integrated post-merge regression audit of the full 24h window (code review + design/performance/defect angles)", + "outcome": "No P0/P1 regression found at the merged tip. One confirmed P2: the new settings surface (`use-app-preferences.ts` + `settings-dialog.tsx`) presents jurisdiction, population, answer-style, landing, home-content, compact-citations, and all notification preferences as live controls, but no consumer reads them — only density/motion (html attributes + globals.css) and theme are functional; a clinician selecting \"Conservative\" answer style reasonably but wrongly believes generation changed. One plausible P2/P3: `AuthProvider.initializeSession` now requires a live `getUser()` round-trip, so a transient network failure on load resolves a valid stored session to signed_out (INITIAL_SESSION replay is also skipped); the deliberate stale/tampered-token defense does not distinguish retryable network errors. One P3: `/medications` legacy redirect drops the query string while `/applications` and `/differentials/presentations` preserve theirs. Cleared after inspection: worker image-placement dedupe (key symmetric on both sides), title-word purge/scope migration (matches its replayed review), RPC-layer-only cancellation consolidation (intentional per PR #861), services route-chunk fix intact with no other heavy client value-imports (type-only imports verified), forced-colors ButtonFace/ButtonText flip, codex-autofix/pr-policy workflow changes conform to AGENTS.md (pin retained, rename-aware routing, workflow_sha checkout), audit-metadata allowlist exhaustive over the closed AuditAction union, answer-stream merged abort signals. Environment note (not a repo defect): the session-start hook skips `npm install` when node_modules exists, so this window's dependency bumps left the container stale and `verify:cheap` failed at typecheck until `npm ci`; the hook should compare a lockfile hash.", + "checks": "`npm ci` then typecheck clean and full Vitest 2828 passed / 1 failed / 2 skipped — the sole failure is the long-baselined container-only `tests/pdf-extraction-budget.test.ts` artifact (hosted-CI-green through #826/#835/#872/#890). First `verify:cheap` run passed every static guard (runtime, actions-pin, ci-scope, ci-triage, pr-policy, sitemap, brand, type-scale, icon-scale, function-grants, owner-scope, lint) before the stale-deps typecheck stop. No OpenAI, Supabase, deployment, or provider-backed check ran." }, { - "date": "2026-07-13", - "ref": "codex/domain2-remediation", - "head": "d2a90f082d2f696a3c903e08544ae156bc93de41", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/domain2-remediation; git diff --name-only reported 46 path(s)." + "date": "2026-08-15", + "ref": "PR #1978", + "head": "ef1bb2eac059d1c3ad0d4cae756bb069b5b8edb2", + "scope": "review-and-fix", + "outcome": "Fixed applied cancel-of-cancel acceptance and restored guard-push executable mode; verified rewritten-history and parallel-reconcile semantics; merged latest main", + "checks": "focused Vitest 39 passed, 1 Windows skip; guard self-tests; ledger and issue guards; format; manual adversarial review (CodeRabbit CLI unavailable)" }, { - "date": "2026-07-13", - "ref": "codex/domain4-data-lifecycle", - "head": "9ffc2a5af1726f5fedc4d981b49981c902a2342a", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 9ffc2a5af1726f5fedc4d981b49981c902a2342a origin/main`." + "date": "2026-07-29", + "ref": "claude/latency-fixes-2026-07-29", + "head": "ef2a66ec72bb23fdc7725837996c079f2e8110d2", + "scope": "pr-1376-ci-bugbot-repair", + "outcome": "fixed-p1-scope-and-cache-epoch;docs-link-ci;bugbot-confirmed-no-new-p0", + "checks": "verify:cheap:pass;vitest:4273-pass;docs:check-links:pass" }, { - "date": "2026-07-13", - "ref": "codex/dose-fast-path-context", - "head": "26c93547d8ec46c0658bf98194fc2c5d1a6b383f", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #575; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-22", + "ref": "claude/rag-quality-predicate-gap-uw320a", + "head": "ef2a7d8c352503c0b9477781d6f45623e73b3db4", + "scope": "eval-quality source-backed review fallback threshold (0 -> 2) after canary 32589154243; paired test assertion; two ledger inbox requests; regenerated issues snapshot", + "outcome": "Approved. Threshold raise is evidence-led and deliberately a fixed two-case allowance rather than a rate, so a third fallback still blocks. Predicate, ranking, selection, retrieval and generation untouched. quality-antipsychotic-metabolic-monitoring deliberately left failing rather than given acceptSourceOnly, and tracked as its own ledger item.", + "checks": "verify:pr-local all 19 checks completed none failed; tests/eval-quality.test.ts 36/36 fresh; pr-policy evaluatePullRequestPolicy 0 errors 0 warnings against the real changed-file list" }, { - "date": "2026-07-13", - "ref": "codex/fix-48h-review-findings", - "head": "a035fa7d7ce16ba2758886b16b69dee0ff86f820", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #550; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-14", + "ref": "codex/offline-retrieval-signal-followup", + "head": "ef448e212d12c1cadbeb3ea053ca6639e6f0ada4", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-13", - "ref": "codex/fix-48h-review-findings-current", - "head": "49735663370735a60870d065ed0de3b9d34e077f", - "scope": "last-48-hours PR remediation", - "outcome": "Revalidated the last-48-hours findings on current main after PRs #538 and #540; retained only unique fixes across auth/cache isolation, stale-response protection, upload/routing/UI behavior, RAG coalescing, telemetry, worktree tooling, and SAST enforcement. No remaining high-confidence local defect was found in the changed scope. The approved live drift check reported only the five differences already explained by unapplied migrations from #540.", - "checks": "Focused Vitest 107/107; `npm run verify:pr-local` (1,762 passed, 1 skipped; production build and client-bundle scan; offline RAG 60/60); critical Chromium 8/8; live `check:drift`; `git diff --check`. Full Chromium remains advisory after the earlier runner hang; the required critical subset passed on current main." + "date": "2026-07-24", + "ref": "codex/document-clinical-summary-20260725 (PR #1169)", + "head": "ef4ffca5", + "scope": "Babysit sweep: Codex P2 threads", + "outcome": "Before: 2 unresolved Codex P2s (missing pages guard, placeholder summary filter). After: profileItemPages helper + usefulSummaryText placeholder filter. CI re-running.", + "checks": "npm run typecheck PASS; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "codex/fix-48h-review-findings-current", - "head": "881a24242c369f768f2517d7706102cb565b731c", + "date": "2026-07-30", + "ref": "codex/repair-pr1470", + "head": "ef79b4c79da04070030b92cc057b92936c57677b", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #551; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "exact merged PR #1470 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-13", - "ref": "codex/fix-registry-indexing-health", - "head": "5046c72731d476ca3a025be8e14ece1f837c5456", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "ef92d628683cc6a47c07b1a901b73f22d9474149", + "scope": "PR #1621 babysit standalone-shell review fixes", + "outcome": "fixed: shared searchPageShellStandalone + min-h-tap + contract; main synced; CI green CLEAN; Bugbot clean; no open threads; ledger closeout tip", + "checks": "test:5331-pass; build:pass; lint:pass; typecheck:pass; rag-fixtures:pass; CI#31025767142:pr-required-success; bugbot:no-bugs" }, { - "date": "2026-07-13", - "ref": "codex/fix-registry-indexing-health", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-08-08", + "ref": "cursor/safety-snapshot-mobile-4ab3", + "head": "ef9a5ed85a3e16dd38bca39d5a6a7e0056c7d42d", + "scope": "differentials Safety Snapshot mobile density redesign", + "outcome": "ship; final tip after Watch-for tighten + ledger supersede; phone 390 PASS; unit 21/21", + "checks": "test:differential-detail,phone-visual-390,build" }, { - "date": "2026-07-13", - "ref": "codex/indexing-health-scan", - "head": "13b19b5746625081be85894f6d1c345c57c16225", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #561; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-19", + "ref": "cursor/specifiers-results-ui-7850 (PR #941)", + "head": "ef9bcf23bb93cbaddddeda3aedf08e6d037e2f18", + "scope": "Specifiers results UI elevation final review + merge readiness", + "outcome": "No high-confidence P0-P1. Ranking blurb removed; solid Aegean subnav kept vs soft family chips; diagnosis control content-sized with min-h-tap; match cards single Open hit target with motion-reduce and guarded typical language. Re-synced origin/main after #936 ledger append conflict. Residual risk: hosted Production UI must finish green on exact head; full verify:cheap still hits known container-only pdf-extraction-budget failures also seen on main.", + "checks": "Local: format:changed; lint/typecheck on touched files; design-system + icon-scale; vitest specifiers+reserve 10/10; Playwright ui-specifiers 5/5 including filter interactions; production build + client-bundle secret scan; offline RAG fixtures 36/21. PR marked ready for review. No OpenAI/live Supabase provider calls." }, { - "date": "2026-07-13", - "ref": "codex/lithium-answer-recovery", - "head": "16e51a167ef349ef516dc862ccaa278091bf63f7", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "efc29559ede819daeec99d46e9147fe08a73bdb0", + "scope": "PR #1621 babysit standalone-shell review fixes", + "outcome": "fixed: shared searchPageShellStandalone + min-h-tap + contract; main synced; CI green CLEAN; Bugbot clean; no open threads", + "checks": "test:5331-pass; build:pass; lint:pass; typecheck:pass; rag-fixtures:pass; CI#31025767142:pr-required-success; bugbot:no-bugs" }, { - "date": "2026-07-13", - "ref": "codex/lithium-answer-recovery", - "head": "62e91f9209ca9e67b5b9edf3dc49e93677a2bf72", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-13", + "ref": "claude/rag-latency-behaviour-lpw15e", + "head": "efd97ee284f3711a5ac284fa4a1278e6fe90a6a2", + "scope": "Answer-route latency: embedding warm-up + truncation-retry floor (rag.ts, rag-route-budget.ts)", + "outcome": "PR #1907 opened; retrieval results byte-identical, generation retry admission tightened per #231 measurement", + "checks": "verify:pr-local failed:(none) incl eval:rag:offline; npm test 6361 passed" }, { - "date": "2026-07-13", - "ref": "codex/lithium-answer-recovery-pr", - "head": "43a385d207399bc33010b8d7d34c0588d358d42d", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #607.", - "checks": "Fresh GitHub open-PR query matched this branch." + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "efe472fac3489473e2465da2d92980508c20fd81", + "scope": "merge main (#934 favourites) + #941 sync", + "outcome": "Merged favourites guest-gate (#934) then Specifiers results UI (#941). Product conflicts none: kept `contentAlign=\"startOnPhone\"` on Specifiers home while taking #941 results chrome. `ui-overlap` gotoHome wait conflict resolved with settled single-header short-circuit. No new P0–P2. Residual: human approving review required for squash auto-merge.", + "checks": "Local: align Vitest; favourites+app-modes+tools 42 tests; Chromium ui-overlap+ui-tools 95/95; verify:cheap unit stage green. Hosted CI green on pre-#941 tip; re-running after this merge." }, { - "date": "2026-07-13", - "ref": "codex/lithium-answer-recovery-pr", - "head": "c5fde11e64d8976e1c163d1b8618f58a52e0b8ff", - "scope": "lithium answer recovery and source governance", - "outcome": "Fixed the provider-failure path with a grounded Australian source-backed fallback, a public-safe progress lifecycle, centralised Australian authority/context selection, and fail-closed locality repair. The live audit exposed and the branch fixed hierarchy identity false conflicts plus registry projections entering clinical metadata gates. The corrected audit/backfill found zero proposals, so no production write was made. No high-confidence defect remains. Residual risk is provider latency; live generation timed out but the grounded fallback completed.", - "checks": "`npm run verify:pr-local` passed: 1,988 tests passed/1 skipped, build/client scan, 36 fixtures, and 267 offline RAG tests. After review fixes, `npm run verify:cheap` passed with 1,992 tests passed/1 skipped. `npm run check:production-readiness` passed 5/5. `npm run test:e2e:critical` passed 9/9. `node scripts/run-playwright.mjs tests/answer-progress-ui-smoke.spec.ts --project=chromium` passed 2/2. `node scripts/run-eval-safe.mjs scripts/eval-rag.ts --question \"Lithium dosing\" --expect-australian --fail-on-threshold --json` exited 0 with one grounded FSH citation and no threshold/safety failures. `npm run audit:source-governance` reported 0 gaps/conflicts/proposals across 2,851 rows. `npm run backfill:source-metadata -- --locality-only` reported 0 changes. `git diff --check` passed. Full `npm run verify:ui` was not rerun after the aggregate runner lost its local server." + "date": "2026-07-31", + "ref": "PR-1138", + "head": "f01dcb61bad1f10ab3aa99cfc108cbe255ead386", + "scope": "Bugbot high-risk PR review", + "outcome": "Already merged; UI search deferral scope only with no protected RAG surface change", + "checks": "GitHub files/merge inventory and protected-surface filter" }, { - "date": "2026-07-13", - "ref": "codex/live-migration-history-alignment", - "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", + "date": "2026-07-31", + "ref": "origin/codex/shared-task-ledger-265ea1", + "head": "f02d3e6e331ffdf68bd05b8bc5f5d9a6740af5ed", "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/live-migration-history-alignment; git diff --name-only reported 12 path(s)." + "outcome": "safe remote delete: precursor task-ledger work reconciled into merged PR #1106 and follow-up #1114; archived batch16", + "checks": "archived PR #1106/#1114 review records; current canonical ledger; bundle verify" }, { - "date": "2026-07-13", - "ref": "codex/live-remediation-apply", - "head": "f6a50117903445414facefa1b239033f2fec3313", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #568; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "`cursor/ledger-066-067-519b`", + "head": "f04392a408eceee14215c15169cbd6b70ac2041c", + "scope": "Close stale ledger #066/#067 (+ drop resolved #030/#075 from queue)", + "outcome": "READY. #066 proven on main via #1174; #067 already fixed in #1191 in-process preflight. Docs-only ledger sync; no code change.", + "checks": "Local proof: `git show`/`log` for #1174/#1191; preflight test already in-process on main; ledger integrity asserts. No providers." }, { - "date": "2026-07-13", - "ref": "codex/openai-gpt56-rag-upgrade", - "head": "04c1d0b036cae8af4dabfc692055c7aab93d5888", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-08-25", + "ref": "claude/settings-page-review-optimize-bicxn9", + "head": "f0516962f344ec6f8306182bd4ee591de163f749", + "scope": "settings surface review and rework", + "outcome": "Reviewed and reworked: settings search index, phone/tablet section rail, 768px two-column seam, ConfirmDialog on both destructive privacy actions plus a scoped app-only reset, real preference sync state replacing two swallowed catches, new saveRecentSearches privacy gate, corrected platform-aware shortcuts, persistent live regions. Answer style deliberately left inert (protected RAG surface). PR #2364.", + "checks": "verify:pr-local exit 0 (18 gates, none failed; 815 test files, 9853 passed); verify:cheap exit 0; focused Chromium pass at 320/390/768/1280 caught and fixed a duplicate native search-clear glyph; check:production-readiness fails only on pre-existing privacy-register items byte-identical to origin/main" }, { - "date": "2026-07-13", - "ref": "codex/openai-gpt56-rag-upgrade", - "head": "4fa4c35e98d60fc104639089494b271a5f1951fd", - "scope": "OpenAI and RAG review remediation", - "outcome": "Remediated all recorded findings: clinical SSE is final-only across mixed-version deployments; buffered generation cannot silently replace a partial stream; answer caches are generation/retrieval fingerprinted; GPT-5.6 model, prompt-cache, workload routing, parsed-output, usage, safety-identifier, and error handling are capability-aware; and table-fact UUIDs fail with the shared 400 contract. Added rollout and governance documentation. Independent final review found no remaining high-confidence issue after the mixed-version client guard was added.", - "checks": "Replaced the external `node_modules` junction with a clean `npm ci`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (211 files passed, 1 skipped; 1,941 tests passed, 1 skipped); focused cache/stream tests, offline RAG preflight, production-readiness CI, changed-file Prettier/ESLint, and `git diff --check` passed before the current `origin/main` integration. Provider and post-merge checks are recorded separately when complete." + "date": "2026-08-14", + "ref": "claude/fetch-stream-catch-cleanup", + "head": "f05c2d58fc70465a52cbb23306179b5420c3a95c", + "scope": "empty catch disposition + contract guard + regenerated docs/medication-interaction-lexicon-review.md", + "outcome": "Approved — supersedes the 53ed541 record after adding the lexicon-report regeneration. 3 bare catches dispositioned inline (no behaviour change); finding recorded that all 3 were inline-script storage/cookie reads, not the fetch/stream swallowing #213 described. Lexicon report drift was pre-existing on main and a pure re-wrap (whitespace-normalised files are byte-identical); classifyPullRequestFiles reports clinicalRisk false with or without it.", + "checks": "verify:pr-local on final head: failed (none) — all 18 gates pass including check:medication-lexicon-report; npm run test 602 files / 6511 passed / 4 skipped" }, { - "date": "2026-07-13", - "ref": "codex/openai-gpt56-rag-upgrade", - "head": "7e95daf221c171515b1eb501fbbc04129aaa5342", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-08", + "ref": "cursor/compact-services-result-text-9b7d (PR #1731)", + "head": "f07828041199458bd756090d04fb5105f41e3ca4", + "scope": "PR #1731 unblock", + "outcome": "before: MERGEABLE/BEHIND(1) merge-tree CLEAN tip 14fd8aa9; required CI green (PR required + Production UI 1/2/3 + critical); 0 threads; autoMerge SQUASH armed. after: late-synced origin/main (aa6cf68c from #1668/#1717) via worktree merge (update-branch 403); merge-tree clean; 0 behind; CI will re-run on sync tip; autoMerge left armed; no product code change", + "checks": "gh pr checks --watch: PR required SUCCESS; Production UI (1)(2)(3)+critical SUCCESS; merge-tree clean; ledger:dedupe none; no provider gates" }, { - "date": "2026-07-13", - "ref": "codex/opioid-dose-retrieval-gate", - "head": "b8c5cb785e1d52d3af05212cf2bae10d412a9869", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #571; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "execute-audit-code-remediation (PR #1162)", + "head": "f07c711a0e1ee853b128733a51db182d8192c3c4", + "scope": "CI unblock after Bugbot", + "outcome": "Fixed Prettier (11 files), restored package-lock/.npmrc to main so blocking npm audit is advisory (lockfile_changed=false), updated mobile-composer-reserve contract for answer-home hero breakpoint. Prior tip e5c8c49c had Static/Safety/Unit failures.", + "checks": "format:check; focused Vitest 41; ci-change-scope lockfile_changed=false; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "codex/performance-deployment-review", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." + "date": "2026-08-08", + "ref": "claude/differentials-inpage-navigation-h2u8fq (PR #1715)", + "head": "f0b27ec857a70130d1616ddc1ccae1c9952c697b", + "scope": "heavy review-and-fix PR #1715 differentials in-page navigation", + "outcome": "merge-blocker cleared (origin/main sync); no P0/P1 findings; phone-chrome + verify:pr-local green on f0b27ec8", + "checks": "merge-tree clean post-sync; verify:phone-chrome lock-parity+runtime PASS, contracts 119 passed, changed-browser ui-tools passed, focused-browser 7 passed (19.4s); verify:pr-local Test Files 523 passed (523), Tests 5547 passed | 4 skipped (5551); lint+typecheck+build+rag fixtures green; 0 unresolved review threads" }, { - "date": "2026-07-13", - "ref": "codex/performance-prompt-audit", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8", + "head": "f0dc8e922d0cf05ff3d9f7c2c5f4d203c8449794", + "scope": "Run PR sweep", + "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", + "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" }, { - "date": "2026-07-13", - "ref": "codex/please-thoroughly-review-this-repo", - "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", + "date": "2026-07-14", + "ref": "local merged-ref deletion batch (40 refs)", + "head": "f0eec3ec504bdbaa2a82e2a3f86876c05925a6c2", "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/please-thoroughly-review-this-repo; git diff --name-only reported 1 path(s)." + "outcome": "Deleted 40 non-checked-out local branch refs after exact-head revalidation showed each ref was the exact head of, or an ancestor of, merged PR work; no candidate changed or became checked out during deletion.", + "checks": "Fresh `git fetch --prune origin`; authenticated all-PR inventory; exact SHA guard; worktree guard; merged-PR reachability and cherry-pick-aware comparison to `origin/main`; `git branch -D` completed for all 40 candidates." }, { - "date": "2026-07-13", - "ref": "codex/pr-461-fixes", - "head": "8bf455325b0915898417dd66aa61d419080c5528", + "date": "2026-07-14", + "ref": "origin merged-ref deletion batch (26 refs)", + "head": "f0eec3ec504bdbaa2a82e2a3f86876c05925a6c2", "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 8bf455325b0915898417dd66aa61d419080c5528 origin/main`." + "outcome": "Deleted 26 origin branch refs whose current remote SHA exactly matched a merged PR head. No checked-out branch, open-PR head, or changed remote ref was included.", + "checks": "Authenticated `gh pr list`; `git ls-remote --heads origin`; exact remote-SHA, open-PR, and worktree guards immediately before three non-force `git push origin --delete` batches; all 26 deletions succeeded." }, { - "date": "2026-07-13", - "ref": "codex/pr-466-fixes", - "head": "b341fed3d6f8d94f1573db1ff3939e112c3240f0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #466; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-20", + "ref": "claude/phone-scroll-fix (PR #993)", + "head": "f0f4c42e7", + "scope": "Phone scroll \"locks to bottom\" regression from #964 + all-pages phone scroll audit + guardrails", + "outcome": "Root cause: #964's phone mode-home dock made one hide-on-scroll event release ~180-260px of scroll geometry (header grid collapse + reserve-pad shrink) — more than a short mode home's remaining runway, so scrollTop clamps onto the new bottom and a 12px up-drag snaps it back (oscillation; measured 266→84px runway, 2 flips/gesture on /formulation @390×844). Invisible to all gates because the suite-wide reducedMotion:\"reduce\" disables the causal transitions. Fix: collapse-budget gate in computeScrollHideUpdate (hosts report the would-be geometry release via readChromeCollapseBudget; hide refused without runway to absorb it; budget-less consumers unchanged; bottom-clamp guard untouched). Bonus latent bug fixed: DocumentViewer's one-shot #main-content discovery could hold a detached node after shell remounts (viewer hide-on-scroll dead); observer now persists. ui-smoke bottom-hide scenario updated to the gate contract. New 18-test sweep tests/ui-phone-scroll.spec.ts (10 mode homes + 3 dashboard modes + 4 long routes, motion enabled, simulated PWA insets) verified to fail red pre-fix. Residual: real-device iOS momentum clamping is device-only — user PWA confirmation requested post-deploy.", + "checks": "vitest focused 24/24 + mobile-composer-reserve; verify:cheap 3020 green; ui-phone-scroll chromium 18/18 + webkit advisory 18/18; ui-formulation+ui-tools+ui-smoke 180/180; verify:ui 264/264; verify:pr-local green (format/build/bundle-scan/RAG fixtures). No provider calls." }, { - "date": "2026-07-13", - "ref": "codex/pr-469-fixes", - "head": "3a252e7cd53b8a825aef5d4432ff0f7373618c56", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #469; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "codex/fix-cloud-diagnostic-context (PR #1745)", + "head": "f0fef29b33724096999335e6acd8726643528e23", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Already CLEAN/green; accidental empty probe commit then recovered tip; no product change needed", + "checks": "no gates; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "codex/pr-473-fixes", - "head": "ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe origin/main`." + "date": "2026-07-31", + "ref": "codex/fix-header-behavior-on-medium-screens", + "head": "f1083c808473904152eaf92b78ad03a3213782aa", + "scope": "PR #1435 review+bugbot+fix", + "outcome": "READY: merged main (real conflict in search-chrome-behaviour resolved); Bugbot 0; no P0/P1; no actionable threads", + "checks": "merge-tree clean; header-scroll-hide-contract 29/29; prior tip CI blocked by dirty; Bugbot/reviewThreads empty" }, { - "date": "2026-07-13", - "ref": "codex/pr-481-fixes", - "head": "24fad070fb9834510309e74e1dc0e216cd08646b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #481; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "f121a2b069f3ae109d0add5433c5fbef9c50adc1", + "scope": "PR #1441 issue closures, upload-limit parity, production env precedence, and current-main merge", + "outcome": "No unresolved P0-P2 findings. Review fixed the missing Docker server-side build value and made the guard load Next production environment precedence. Main's #116 implementation and no-merge-driver issue-ledger policy are preserved.", + "checks": "Full verify:pr-local passed on code head 727ed55a7: 435 files, 4570 passed/3 skipped, build 1694 pages, client scan, RAG 36/21. Current reviewed head: upload parity self-test/default/50-vs-40 negative; outstanding ledger 144 rows/66 open/78 archived/next-id 147; branch ledger 130+1206; GitHub Actions pins; CI scope; gate manifest; docs links/scripts; formatting and diff check. Exact-head full rerun output unavailable after wrapper timeout; no provider or new browser run." }, { - "date": "2026-07-13", - "ref": "codex/pr-481-main-integration", - "head": "a6a9e0292395bb53a832e894c8ce10707d425e57", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor a6a9e0292395bb53a832e894c8ce10707d425e57 origin/main`." + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "f122ed8c096ea8a19354a6249671f3e07bae9a4f", + "scope": "CI repair", + "outcome": "formatted codebase index after latest-main coverage repair", + "checks": "Prettier check; codebase-index coverage; staged diff check" }, { - "date": "2026-07-13", - "ref": "codex/pr-483-fixes", - "head": "190affffacf2a0c0447b51fe87fdb22ae37737b1", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #483; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-05", + "ref": "codex/v2-design-system-completion", + "head": "f12da8239817ae2d6bf99b51d57cb42ad835b6f7", + "scope": "V2 design-system post-main-sync PR handoff", + "outcome": "Approved locally after main sync; hosted Linux evidence remains pending", + "checks": "format pass; diff check pass; protected RAG paths 0; verify pr-local reached full suite with one unchanged timeout; focused timeout rerun 1 pass; prior full UI 349 pass" }, { - "date": "2026-07-13", - "ref": "codex/pr-485-fixes", - "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 96dbd0394888d5a52c916dba52b94d0f83e4507e origin/main`." + "date": "2026-08-18", + "ref": "gemini/therapy-compass-and-tooling-hardening (PR #2159)", + "head": "f135f22cde36acbb3c9ab7d018565545708bb81c", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: real (git merge-tree confirmed) merge conflicts against origin/main in docs/launch-operator-runbook.md (stale search-health-index text vs the fix already merged via #2155) and docs/rag-evaluation.md (add/add — main independently gained the base doc while this branch extended it with a RAG Improvement Programme Board section; main's content was an exact prefix of this branch's version). Resolved: kept main's already-fixed runbook line, kept this branch's superset rag-evaluation.md content (main's text preserved verbatim as a prefix, extension section retained). Both playwright.config.ts and design-system docs auto-merged clean. After: merge commit pushed; typecheck clean; tests/design-system-adoption.test.ts 51/51 passed.", + "checks": "npx tsc --noEmit (clean), npx vitest run tests/design-system-adoption.test.ts (51 passed), diff verification that main's rag-evaluation.md content survived as an exact prefix. No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "codex/pr-487-fixes", - "head": "01fa32826488d274ec7ed0af5a3544834d8d0777", + "date": "2026-07-30", + "ref": "codex/review-pr1438", + "head": "f13c261ee96405dc338db184ec74009bcd3699a3", "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-487-fixes; git diff --name-only reported 12 path(s)." + "outcome": "exact merged PR #1438 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-13", - "ref": "codex/pr-488-fixes", - "head": "7afb4d06c8127341cc91ed178b79b059935fea05", - "scope": "branch-cleanup", - "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-488-fixes; git diff --name-only reported 65 path(s)." + "date": "2026-07-30", + "ref": "codex/review-pr1438", + "head": "f13c261ee96405dc338db184ec74009bcd3699a3", + "scope": "branch-cleanup-deletion-pending", + "outcome": "redundant exact head merged in PR 1438; removal deferred by primary-dirty lease", + "checks": "clean status; GitHub merged exact head; zero cherry-pick-unique commits" + }, + { + "date": "2026-07-11", + "ref": "PR #469 / claude/response-formatting-cleanup-b57a9c", + "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", + "scope": "open-PR review, unresolved comments, and CI", + "outcome": "P2 fixed: the OCR bullet sanitizer now preserves line-start O blood values when followed by blood or red-cell noun tails while still stripping non-blood bullets such as `o Negative screen`. No additional high-confidence defect was found in the nine-file diff.", + "checks": "Focused sanitizer/extractive Vitest (75/75); TypeScript; focused Prettier; `git diff --check`. Production-readiness script ran fail-closed with provider variables cleared and reported only expected missing provider configuration." }, { "date": "2026-07-13", - "ref": "codex/pr-489-fixes", - "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", + "ref": "claude/response-formatting-cleanup-b57a9c", + "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-489-fixes; git diff --name-only reported 5 path(s)." + "outcome": "Retained: 22 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/response-formatting-cleanup-b57a9c; git diff --name-only reported 9 path(s)." }, { "date": "2026-07-13", - "ref": "codex/pr-511-integration", - "head": "c7c1dc3f2ad05bdb38420afddcf9b66bac569fd0", + "ref": "origin/copilot/fix-another-one", + "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-511-integration; git diff --name-only reported 12 path(s)." + "outcome": "Retained: 22 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-another-one; git diff --name-only reported 9 path(s)." }, { - "date": "2026-07-13", - "ref": "codex/pr-514-review", - "head": "af8d86117eb63428c9272e353826648f20fa0583", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-514-review; git diff --name-only reported 16 path(s)." + "date": "2026-07-14", + "ref": "copilot/fix-another-one", + "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-13", - "ref": "codex/pr-520-review", - "head": "ff11093a2b3e7443d1403303586e1277d6f5bf22", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-520-review; git diff --name-only reported 6 path(s)." + "date": "2026-07-30", + "ref": "claude/capture-session-followups", + "head": "f18dc1fb25f4687006be897f2c11a4bb1f583f41", + "scope": "PR #1490 #143/#151/#149 reconciliation", + "outcome": "reconciled after parallel remote main-sync; #143 corrected; #151 owns fail-open; #149 separates Checks vs missing-gh", + "checks": "check:outstanding-issues; docs:check-links" }, { - "date": "2026-07-13", - "ref": "codex/pr-522-review", - "head": "344f10f9efca6dc340a6ac65128eaf2fdcddf727", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #522; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-04", + "ref": "codex/docker-delivery-hardening", + "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", + "scope": "repo audit P0/P1/P2", + "outcome": "found 2 P1 and 4 P2 defects", + "checks": "typecheck, docs:check-scripts, docs:check-index, check:worker-python-lock, owner-scope, pr-policy, ledger-check" }, { - "date": "2026-07-13", - "ref": "codex/pr-541-fix", - "head": "a37e9baf63cb06845aa8876f9c88b3d63c13f778", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-04", + "ref": "codex/docker-delivery-hardening", + "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", + "scope": "repo audit P0/P1/P2 (supersedes 2026-08-04)", + "outcome": "found 3 P1 and 4 P2 defects", + "checks": "typecheck, vitest (1 failed: token contract), docs:check-scripts, docs:check-index, check:worker-python-lock, owner-scope, pr-policy, ledger-check" }, { - "date": "2026-07-13", - "ref": "codex/pr-545-fix", - "head": "19fc55cd033be7140e0a9cb321a26a8aa835b60e", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-06", + "ref": "codex/docker-delivery-hardening", + "head": "f1c8b582544ec57c64c98fced8a26ae29b94a43a", + "scope": "branch", + "outcome": "clean", + "checks": "diff review" }, { - "date": "2026-07-13", - "ref": "codex/pr-547-fix", - "head": "4f0160b26ff9c9f24817a9972e11d5d77310a3f3", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-28", + "ref": "PR #1305 / `execute-audit-remediation-fixes`", + "head": "f1c978d9d63f3b3451c30d5e13e3428f29a706b5", + "scope": "CI Build RAM-guard fix", + "outcome": "FIXED hosted Build exit on local Docker RAM check: skip `guard-next-build` totalmem gate when `GITHUB_ACTIONS=true` (runners can report ~7.8 GiB). PR policy PASS with synced body. Prior CI tip `5d18668e` Build failed on guard; Unit/Static/Safety green. Retrigger CI for this tip.", + "checks": "Local `npm run build` PASS; `verify:cheap` prior tip PASS; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "codex/pr-556-sync", - "head": "67e396f553d098156ae9de693f021fb9ed73fd94", + "date": "2026-07-30", + "ref": "codex/archive-advisory-ui-scope", + "head": "f1d3f9ec5908b50544b7e9e054e254b5826a349c", "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "outcome": "exact merged PR #1498 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { - "date": "2026-07-13", - "ref": "codex/pr-591-fix", - "head": "2bad7ba0499626edd8f1833a18983596d0b9f941", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-28", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "f1e422e8ee64f7e161e78d9a56707a1a83cc3374", + "scope": "CI babysit: PR policy + main sync", + "outcome": "Before: PR marked ready → PR policy FAIL (missing Clinical Governance Preflight); GitHub CONFLICTING/DIRTY but merge-tree clean (17 behind). 0 unresolved review threads; Bugbot no P0/P1. After: merged origin/main; PR body updated with complete Clinical Governance Preflight (7/7 checked).", + "checks": "Local pr-policy evaluate ok; Vitest process-failure 2/2; no provider checks." }, { "date": "2026-07-13", - "ref": "codex/pr-592-fix", - "head": "5bab36c456f57b32437d6c01f0ce30b32244fec4", + "ref": "codex/pr-595-sync", + "head": "f1f17bfc4d23250bb727d01d61055702ea29b65c", "scope": "branch-cleanup", "outcome": "Retained because the ref is attached to or anchors a protected worktree.", "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { "date": "2026-07-13", - "ref": "codex/pr-595-sync", + "ref": "origin/claude/design-sync-78bad6", "head": "f1f17bfc4d23250bb727d01d61055702ea29b65c", "scope": "branch-cleanup", "outcome": "Retained because the ref is attached to or anchors a protected worktree.", "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-13", - "ref": "codex/pr-597-fix", - "head": "10b89800ce1aef97bea10f69d58dc54fa13a45c2", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-14", + "ref": "PR #626 / codex/openai-gpt56-rag-upgrade", + "head": "f2652021c1f14533f17c4a9724ef6dff17dd43f5", + "scope": "PR review follow-up", + "outcome": "Confirmed and fixed the two final scoped findings: GPT-5.6-and-later model families now use the TTL prompt-cache request shape, and unrelated prose containing `maximum` can no longer pass the maximum-dose evidence gate without a clinical dose value or explicit dose wording.", + "checks": "Focused Vitest 99/99 before current-main integration and 163/163 after it; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed after integrating `origin/main` (239 files passed, 1 skipped; 2,248 tests passed, 1 skipped); focused Prettier and `git diff --check`. The reviewed head passed every hosted required check before these narrow fixes. Provider-backed retrieval remains blocked by exhausted OpenAI embedding quota after case 24/36." }, { - "date": "2026-07-13", - "ref": "codex/pr-600-fix", - "head": "1eb6a4b7cc0ba05bca18eee0ab00dafba2833904", + "date": "2026-07-30", + "ref": "codex/review-pr1458", + "head": "f275fddcb0e2b91806f1badee3287d3bbe79964c", "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "outcome": "local worktree HEAD is contained in final merged PR #1458 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-07-13", - "ref": "codex/pr-608-fix", - "head": "a9d09ad4f0f1e549a9a88708862cc62b5d7f0374", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-17", + "ref": "codex/performance-latency-remediation-20260717", + "head": "f277d13512e85dcaae4f9b94d028a8087e41375a", + "scope": "end-to-end database, network, middleware, client rendering, migration, privacy, and merge-readiness review", + "outcome": "Fixed all confirmed performance findings plus three final review blockers: title-vocabulary backfill now installs its privacy trigger first, canonical schema replay preserves hardened trigger-function ACLs, and medication auto-seeding no longer aborts its own owner-cache flight. The isolated worktree also uses Next's supported Webpack fallback only when shared dependencies resolve outside the project. No remaining high-confidence P0-P2 defect was found in the reviewed diff.", + "checks": "Docker scratch replay and drift-manifest regeneration passed; live read-only plans selected lexical, table-fact trigram, and chunk HNSW indexes; exact TypeScript passed; focused Vitest owner-cache 9/9, runner safety 12/12, bundle budget 10/10, offline RAG 291/291, and earlier aggregate unit run 2,657 passed with its sole corrected schema assertion subsequently validated by direct ordering/ACL checks; production build and bundle budget passed at 1,363,382 gzip bytes; targeted Chromium dashboard deferral and NDJSON search passed, while the viewer trace reached all hydration/preview assertions and its corrected download-control selector remains for exact-head hosted UI. No OpenAI calls, live Supabase writes/migrations, deployment, or production mutation ran." }, { - "date": "2026-07-13", - "ref": "codex/privacy-link-only", - "head": "3ae36477f8a3b945870b545c2b0c048e597d2d29", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #557; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-13", + "ref": "codex/specifier-map-compare-20260813 (PR #1912)", + "head": "f2c2aa8ab9c881a9647e607ab09b1ebdc772e49b", + "scope": "PR #1912 heavy review follow-up: post-scroll active-state repair", + "outcome": "Exact-head Production UI trace showed the jump selection was reasserted in the same frame as the physical scroll, then overwritten by the scroll spy on its following geometry frame. Delayed the hash-guarded reassertion by one additional animation frame and added a focused ordering regression. The existing popstate guard remains unchanged. A separate builder Start over failure touched no PR-modified source and is left for the replacement exact-head run to classify.", + "checks": "Production trace: 177 tests passed and the map active state alone reverted after the target scroll; deterministic frame model changed final state from episode-features to course-onset while suppressing stale reassertion after back navigation; TypeScript transpile PASS for hook and focused regression; git diff --check PASS; no manual production or provider-backed gate run." }, { - "date": "2026-07-13", - "ref": "codex/privacy-ui-assertion", - "head": "bafceee0588483bed209b321d9fdf68f48b7ea2f", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor bafceee0588483bed209b321d9fdf68f48b7ea2f origin/main`." + "date": "2026-08-18", + "ref": "claude/bundle-budget-production-baseline", + "head": "f2cb4ec2ce11bb29444c9aca3c0572c603d48e5e", + "scope": "bundle-budget.json production baseline refresh + measurement evidence doc + outstanding-issues request", + "outcome": "Approved — investigated before refreshing: main's +8.03% is diffuse feature growth across 52 of 101 routes with no regression signature and an unchanged lockfile; production baseline moved to the measured 1518033 bytes, route/mockups budgets and tolerances left untouched", + "checks": "two full builds (main 9d832452d and baseline ca788d41) with .next removed each time; baseline reproduced to within 32 bytes of the recorded value; check:bundle-budget passes at the new baseline with all five route budgets and mockups within tolerance; tests/bundle-budget.test.ts 33 passed; outstanding-issues + ledger-write-discipline + docs link guards passed; format clean. Full unit suite, lint and typecheck not run: the diff is one JSON baseline value plus documentation and an inbox request, with no source change and no plausible compile or behaviour path" }, { - "date": "2026-07-13", - "ref": "codex/production-migration-history-final", - "head": "6e8eab2533df7ab2352b51223447f2dff1951a2a", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #565; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "f333ddc8", + "scope": "CI Build flake: RAM guard", + "outcome": "FIXED. Hosted Build failed on ubuntu-24.04 reporting 7.8 GiB because `guard-next-build.mjs` hard-exited under 10 GiB; successful sibling Build jobs skip that path on larger runners. Warn-only under CI/GITHUB_ACTIONS; keep local hard-fail. Prior tip: Unit/Static/Advisory UI green; review threads resolved.", + "checks": "Hosted Unit/Static/Advisory PASS on 6bafb32d; local full vitest 4114; no provider checks." }, { - "date": "2026-07-13", - "ref": "codex/public-anonymous-access", - "head": "7f3eded3d17c9daf6a443c9cac3f0553e4e9321b", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/public-anonymous-access; git diff --name-only reported 71 path(s)." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity", + "head": "f35a4ca178724ff59e7a876c4d819bed0b786662", + "scope": "PR #1441 final current-main sync", + "outcome": "approved after merging #1457 without overlap; upload parity and repository guards remain green", + "checks": "upload self-test pass; issues 141; ledger 141+1206; actions pin, format, diff pass" + }, + { + "date": "2026-08-15", + "ref": "codex/medication-list-spacing-20260814", + "head": "f38d4da8bc54dbe37fae0de7602a71b4fcd1a6a6", + "scope": "Medication prescribing desktop grid width and row overflow", + "outcome": "Confirmed the prior P2 grid-width fix remains present and merged current main to keep the PR current.", + "checks": "git diff --check; ledger inbox/outstanding-issues/ledger-discipline guards; direct 1024px minimum-grid calculation; Playwright unavailable because this isolated worktree has no node_modules" + }, + { + "date": "2026-08-15", + "ref": "claude/db-remediation-phase-0-wfaiyl", + "head": "f390d6cd5faddd8b30320f60a082374688dc1f71", + "scope": "Ledger reconciliation and push guard: final current-base merge", + "outcome": "Verified parallel-cancellation and rewritten-history handling with isolated Git reproductions; merged latest required base with no conflicts or new P0-P2 findings", + "checks": "git diff --check; ledger-inbox self-test; ineffective-cancellation assertion; rewritten-history guard assertion; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline" + }, + { + "date": "2026-07-24", + "ref": "PR #1175 / `cursor/ledger-009-010-032-041-063-519b`", + "head": "f3986abc39468e077643611ec2d95e374c2e901f", + "scope": "PR review + CI fix (ledger docs #009/#010/#032/#041/#063)", + "outcome": "FINDINGS FIXED. P1: Static PR checks failed on Prettier (5 docs). P1: leftover `PR_POLICY_BODY.md` from merged #1134 caused Sync PR policy body to overwrite this docs PR description with search-performance text — deleted the stale template. No P0. Product scope remains docs-only; gated brief follow-ups (wire coming-soon, Current Clinical Work storage, Factsheets second mode, governance ranking) correctly not implemented. Residual: human approving review once CI green.", + "checks": "Local: prettier --check on touched docs; ledger open/resolved/queue integrity for five IDs; no client fetch(`/api/jobs`); `verify:cheap` earlier on tip 95d68c6b. No OpenAI/Supabase writes." + }, + { + "date": "2026-07-28", + "ref": "claude/close-knip-false-positive", + "head": "f39ca98a7aed4cda8bf8980490adb79266891fb9", + "scope": "prlanded", + "outcome": "LANDED. Squash f39ca98a on main contains the docs/outstanding-issues.md #087 archive. Product tip 81ae7de2 matches squash content. Late babysit ledger row on 664b8fa1 was orphaned by auto-merge race and is fix-forwarded in this PR.", + "checks": "gh pr view MERGED; two-dot diff squash vs 81ae7de2 empty; two-dot vs late tip = ledger only; check:knip 0; hosted PR required green before merge" + }, + { + "date": "2026-08-16", + "ref": "codex/chat-trust-boundaries-212-trust-boundaries-212", + "head": "f3b55e8555614bffff2eb335b95d342b40960b6c", + "scope": "PR #2003 unblocking review and base synchronization", + "outcome": "No confirmed P0-P2 PR-introduced defects; fail-closed list parsing, generic public errors, ownership redaction, and JSON-shape contracts validated; latest main merged without conflicts; distinct manual adversarial pass completed", + "checks": "Exact-head f3b55e85 CI, PR required, static checks, unit coverage, build, lint, typecheck, safety/config, SAST, and secret scan passed; local npm gates unavailable without a checkout; final base-sync head requires CI rerun" + }, + { + "date": "2026-08-04", + "ref": "pull/1572", + "head": "f3b99dc01b85ae38eb2643d1ae534b59305ae23b", + "scope": "Run PR sweep full changed scope", + "outcome": "fixed and merged", + "checks": "PASS: focused workflow test 1/1; GitHub Actions pin check; hosted CI, SAST, Secret Scan, container and PR required." + }, + { + "date": "2026-08-14", + "ref": "claude/gate2-viewport-determinism", + "head": "f3bcced51d533d28c965277b6ab6875ad947d9b7", + "scope": "PR #1962: deterministic Gate 2 tap-carrier enumeration", + "outcome": "fixed", + "checks": "Prettier; explicit source-contract review; independent Codex adversarial review; Playwright delegated to exact-head CI (isolated worktree lacks dependencies)" + }, + { + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "f3cd6db568d4c1b39d01c50e03eeca76504bbd2c", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "supersedes ff189000 after second main sync (behind-but-clean); product fixes unchanged; merge-tree clean; no new P0-P2", + "checks": "post-sync: merge-tree origin/main clean; build-therapies-index --check: Therapy indexes are current (205 records); prior heavy gates on ff189000: verify:cheap 4661 passed; verify:pr-local client-bundle+RAG fixtures; format:check Prettier OK" }, { - "date": "2026-07-13", - "ref": "codex/public-anonymous-access", - "head": "7f3eded3d17c9daf6a443c9cac3f0553e4e9321b", - "scope": "production UI design and accessibility review", - "outcome": "Fixed the fullscreen clinical-table focus leak and divergent modal implementation, removed the non-native table-surface control, and lifted meaningful production metadata from 8-10px to the 11px floor with stronger muted contrast. No remaining high-confidence defect was found in the reviewed visual scope.", - "checks": "Baseline/final screenshots at 1440x1000 and 390x820; focused Chromium table expansion 3/3; focused Vitest 6/6; `npm run typecheck`; targeted ESLint; type-scale and focused Prettier checks; `git diff --check`. `verify:cheap` timed out in full lint/test execution; full `verify:ui` deferred under the API confirmation boundary." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "f3d90eccf78a5e8c6569c0889d1932230588f1d2", + "scope": "Bugbot triage of asset-optimization PR (supersedes d63682c7 READY row)", + "outcome": "NOT READY previously: tip carried committed conflict markers from dirty checkpoint `faa50e6e` (answer/upload routes, services UI, tests), was DIRTY vs main, and GitHub three-dot showed ~117 polluted files. Fixed: merged `origin/main`; removed SignedImage client transform rewrite (undeclared width/height/resize + max-h-52 heuristic on object/sign URLs = silent no-op/risk); replaced mutating non-recursive `svgo -f` check:assets with `scripts/check-assets.mjs` stability gate; multipass-optimized `src/app/icon.svg`; added signed-image regression test.", + "checks": "merge-tree + tsc conflict-marker scan; `vitest run tests/signed-image.dom.test.tsx` (4 pass); `npm run check:assets` OK. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "codex/rag-canary-completion", - "head": "8aa9f92e6f02870e164515778a591414dff2dce1", + "date": "2026-07-30", + "ref": "codex/review-pr1476", + "head": "f3fdc68175566635fc00a5f46e19fd9602c72a31", "scope": "branch-cleanup", - "outcome": "Retained for open PR #612.", - "checks": "Fresh GitHub open-PR query matched this branch." + "outcome": "exact merged PR #1476 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-13", - "ref": "codex/rag-canary-recovery", - "head": "1def894bff2338d68a1cd5e297a4f78671f3ca73", + "date": "2026-07-30", + "ref": "codex/review-pr1481", + "head": "f408bba957acf8903b29b6575971c9d77e0441b5", "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "outcome": "local worktree HEAD is contained in final merged PR #1481 head; archived in verified batch5 bundle", + "checks": "local HEAD ancestor of exact final merged PR head, clean status, no Git operation, no open PR claim, batch5 bundle verify ok SHA256 B8AC821B619A346C2AE375C47FDD73691082D8275728F1CFD4677956F74CBE7C" }, { - "date": "2026-07-13", - "ref": "codex/rag-remediation", - "head": "18cf01f2100c479beb2b8a089c287e8c7d978eb8", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #553; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-21", + "ref": "claude/ledger-reconcile-2026-08-21", + "head": "f4217ff30490a1c43a6ec6ed9f00e7eeffd32256", + "scope": "docs/outstanding-issues.md reconciliation of 29 queued inbox requests; no product code", + "outcome": "Serialized reconcile transaction, machine-generated by issues:reconcile on a fresh base off main 9f98bbf06. Open rows 71 -> 61, archived -> 350, pending -> 0. No in-flight reconcile existed when started.", + "checks": "verify:pr-local green (11/11 completed, none failed, exit 0); check:ledger-write-discipline passed 9f98bbf06d8a..HEAD; inbox 0 pending / 438 applied" }, { - "date": "2026-07-13", - "ref": "codex/rag-review-followup", - "head": "755ac9e517a3b81f8e12a119f80f3769dd58ae4e", - "scope": "PR #575 post-merge review finding remediation", - "outcome": "Fixed the P1 path that could combine a medication amount and route from separate chunks, expanded the shared explicit amount/route/frequency intent detector, corrected route-only failure classification, and added microgram-symbol coverage. Requested attributes must now be co-located with the medication subject before the text fast path is accepted. No additional high-confidence defect was found in the changed scope after integrating the production answer-budget fix from PR #580.", - "checks": "Focused Vitest 143/143; `npm run eval:rag:offline` (21 files, 265/265); `npm run typecheck`; targeted ESLint; full `npm test` (211 files passed, 1 skipped; 1,946 tests passed, 1 skipped); PR-local dry-run selected runtime, format, lint, typecheck, full tests, build, and offline RAG; `git diff --check`. `verify:cheap` passed all pre-test stages but its 10-minute host bound expired during the full suite; the same suite then passed independently with a longer bound." + "date": "2026-08-13", + "ref": "claude/patient-interactions-drug-alerts-3tztvw", + "head": "f44bb3f897b2c56adefa095b067b4d38b61241c8", + "scope": "bare absence-declaration rows resolve instead of parsing as unreadable", + "outcome": "triamcinolone and riboflavin no longer held at grey by a NONE. row they could always read; carve-out restricted to absence tokens and pinned both ways; 362/523 resolved, 186 of 328 can show green, zero unparsed severities", + "checks": "verify:pr-local 18/18 green (failed: none, not reached: none), 6404 unit tests" }, { - "date": "2026-07-13", - "ref": "codex/rag-review-followup", - "head": "a4b1c58ccbcf57f7a6ddd495c9217bce5544cccf", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-29", + "ref": "claude/test-coverage-analysis-2vcd8a", + "head": "f4a3f50048fa113d5e4e704defdafad2d37ba8d2", + "scope": "prlanded", + "outcome": "MERGED AND VERIFIED. PR #1383 squash-merged as f4a3f50. Content diff between the squash commit and branch tip bebc6c02 is EMPTY — nothing orphaned by the auto-merge race despite four concurrent pushes during the merge window. Landed on main: tests/calculator-scoring.test.ts (60 tests, 8 validated instruments), 9 batch signed-URL cases in tests/private-access-routes.test.ts, coverage floors raised 48/38/43/50 -> 62/53/55/64. Follow-ups renumbered #098/#099 -> #106/#107 during the main merge (main had claimed #098-#105); both rows verified present with content intact and next-id marker at 108. The three red 'PR required' results at 0922d7f/6f476b5/b72bc20 were concurrency cancellations (issue #095), not defects — all upstream jobs reported 'cancelled'; the clean run 30447852418 at tip bebc6c0 superseded them.", + "checks": "post-merge verification only: content diff squash-vs-tip EMPTY; origin/main content spot-checks PASS (test file present, floors 62/53/55/64, #106/#107 rows, 13 signed-urls refs); pre-merge local gates on the merged tree: test:coverage PASS exit 0 (424 files, 4371 passed | 4 skipped, no threshold errors); no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "codex/rag-review-followup", - "head": "db2fbf0576a4911fcde06580fee8cf1ff6e393f8", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/rag-review-followup; git diff --name-only reported 8 path(s)." + "date": "2026-07-25", + "ref": "implement-audit-recommendations-fix (PR #1140)", + "head": "f4ae0a7217e", + "scope": "Babysit sweep: viewport/keyboard audit — squash-merged after CI green + thread triage", + "outcome": "production-ui + pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "codex/release-blocker-remediation", - "head": "12377740a37e67523c720ab2952a75fd45aee2bd", - "scope": "branch-cleanup", - "outcome": "Retained because the branch is checked out in an active or protected worktree.", - "checks": "Fresh worktree, status, lock, and process activity scan." + "date": "2026-07-25", + "ref": "implement-audit-recommendations-fix (PR #1140)", + "head": "f4ae0a7217e", + "scope": "Babysit sweep: viewport/keyboard audit ? squash-merged after CI green + thread triage", + "outcome": "production-ui + pr-required", + "checks": "merged" }, { - "date": "2026-07-13", - "ref": "codex/release-blocker-remediation", - "head": "5f220f953a6ee9c4efba020b255c804b94fbf9d1", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-25", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", + "scope": "PR babysit sweep + squash merge", + "outcome": "Merged after sync/threads/CI fixes (keyboard lift, baseline reset, Sources focus). prlanded content empty.", + "checks": "Hosted PR required SUCCESS. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "codex/report-remediation", - "head": "70ec6409a11a85e1678eb4b320519624673a94a0", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 70ec6409a11a85e1678eb4b320519624673a94a0 origin/main`." + "date": "2026-07-25", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", + "scope": "PR babysit sweep: sync + threads + CI fix + squash merge", + "outcome": "Before: CONFLICTING/DIRTY (stale), threads open, behind main. After: merged origin/main, resolved Codex/CodeRabbit threads, fixed document-viewer keyboard lift + baseline reset + Sources focus restore; Production UI green; squash-merged.", + "checks": "Hosted CI PR required SUCCESS on tip 761765a3f; focused vitest keyboard/overlay contracts. No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "codex/repository-review-remediation", - "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/repository-review-remediation; git diff --name-only reported 80 path(s)." + "date": "2026-07-25", + "ref": "implement-audit-viewport-fixes (PR #1140)", + "head": "f4ae0a7217e513b893d14400fcfd49f31a3dd090", + "scope": "PR babysit sweep: sync + threads + CI fix + squash merge", + "outcome": "Before: CONFLICTING/DIRTY (stale), threads open, behind main. After: merged origin/main, resolved Codex/CodeRabbit threads, fixed document-viewer keyboard lift + baseline reset + Sources focus restore; Production UI green; squash-merged. prlanded content-diff empty.", + "checks": "Hosted CI PR required SUCCESS on tip 761765a3f; focused vitest keyboard/overlay contracts. No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "codex/repository-review-remediation", - "head": "452275824294564a1e08e6bec169bd4af744d09a", - "scope": "live migration apply and post-apply review", - "outcome": "Applied the four reviewed forward migrations to `Clinical KB Database`, aligned repository filenames to the generated production versions, and corrected the schema snapshot so the legacy unfenced commit overload remains inaccessible to `service_role`. Live drift is clean and no active ingestion/enrichment overlap or duplicate open ingestion group was found.", - "checks": "Ran `npm run check:drift`: passed clean. Ran `npm run check:production-readiness`: READY. Ran Docker schema replay: passed. Ran focused concurrency/retrieval Vitest: 166/166 passed. Ran offline RAG: 36 fixtures and 60/60 contract tests passed. Ran M13, retrieval-owner, schema-health, lexical-retrieval, concurrency, and ACL live probes: passed; lexical retrieval returned 12 truthfully scored results. Not completed: full provider retrieval-quality evaluation exceeded the local command window; deterministic live retrieval checks passed." + "date": "2026-07-27", + "ref": "PR #1275 / `codex/identify-and-fix-performance-issues-during-mode-switch`", + "head": "f4b55751", + "scope": "CodeRabbit behavioral prefetch-test disposition", + "outcome": "RESOLVED. Behavioral DOM coverage for menu-open prefetch paths (later adapted to per-option model).", + "checks": "focused vitest PASS; no provider checks." }, { - "date": "2026-07-13", - "ref": "codex/repository-review-remediation", - "head": "b72cefd2f5c0da79788cc0f8d0d40837c711ae92", - "scope": "live-drift reconciliation and release review", - "outcome": "Reconciled production migration history and live-ahead governance/retrieval definitions without mutating live; removed the migration-version collision; made captured OUT-signature changes fresh-replay-safe; preserved production ACLs; added a forward lexical-score correction; and reduced read-only live drift from 27 differences to five changes fully explained by the unapplied remediation migrations. No remaining high-confidence source defect was found in the reviewed scope.", - "checks": "Docker schema replay and regenerated manifest; isolated full Supabase migration reset; focused Vitest 74/74; full Vitest 1,712 passed/1 skipped; lint; typecheck; production build and client-bundle secret scan; configured production-readiness READY; targeted Chromium scope/modal/control QA 4/4; read-only live drift; Supabase security advisor clear. Live apply not run because authorization remained read-only." + "date": "2026-08-15", + "ref": "claude/rag-zod-hardening-tranche2", + "head": "f4bc9033d5482922de60681d764eb5e6c6ebb73f", + "scope": "rag-candidate-sources.ts signal-row Zod contracts (ledger #212 tranche 2) + 2 ledger captures", + "outcome": "Approved — 3 unchecked RPC-result casts replaced with validated assertions; similarity_origin item deliberately excluded as a clinical-output behaviour change; no ranking/ordering/scoring logic touched", + "checks": "verify:pr-local all 18 steps green, zero failures; contract + rag-imputation-contract pins 21 passed; typecheck exit 0" }, { - "date": "2026-07-13", - "ref": "codex/responsive-accessibility-audit", - "head": "de533acdf4cba2bdc1ec9e13d207b86d09968fc8", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor de533acdf4cba2bdc1ec9e13d207b86d09968fc8 origin/main`." + "date": "2026-07-31", + "ref": "PR-1485", + "head": "f4f42fbc5b4a73d0037c8c275a358d265727e0fc", + "scope": "post-review document accordion and catalogue sync", + "outcome": "APPROVE; post-review changes limited to differential refetch memoization and current-main sync; no remaining findings", + "checks": "installed-lock parity; focused catalogue/document suites 3 files 19 tests PASS; typecheck PASS; issue and review-ledger guards PASS; zero unresolved threads" }, { - "date": "2026-07-13", - "ref": "codex/result-sorting-design-polish", - "head": "00808ad9ee076018fca58006f0332565ddd5dc3a", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/result-sorting-design-polish; git diff --name-only reported 36 path(s)." + "date": "2026-08-21", + "ref": "claude/permission-prompts-issue-0dfcf3", + "head": "f5042f9f85e9ab62cd34718309dc0a8d5603ed0d", + "scope": "config: .claude/settings.json permission allowlist", + "outcome": "approved, low-risk config-only change", + "checks": "manual review, no automated gate needed for allowlist addition" }, { - "date": "2026-07-13", - "ref": "codex/review-findings-fixes", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 66883b7c86f606e617db4bee2bab6f85fff59bdc origin/main`." + "date": "2026-07-27", + "ref": "`codex/phone-chrome-testing-infra-20260727`", + "head": "f50bb000cd9addf98086cfccc07e25aa327be022", + "scope": "Protected-main release-readiness review of phone-chrome testing infrastructure", + "outcome": "APPROVE pending exact-head hosted required checks. Added installed-lock parity, risk-scoped phone verification, one-owner and atomic geometry helpers, stable chrome diagnostics, physical iPhone acceptance guidance, and a fail-closed final merge audit. The full Chromium run exposed a stale endpoint assertion while chrome changed the document range; the test now re-converges the endpoint without weakening its one-pixel contract. Current `origin/main` merged cleanly; its new Playwright matcher is mockup-only and does not alter the tested production project. No P0-P3 finding remains. Residual acceptance risk is physical Safari and cold-launch PWA paint, which was not available locally.", + "checks": "`verify:phone-chrome` PASS: contracts 91/91, focused phone journeys 12/12, full Chromium 323/323; exact repaired differential journey 1/1; Prettier, ESLint, typecheck, full unit 396 files / 3,554 passed / 2 skipped, production build/client-secret scan, offline RAG fixtures 36 cases, and `git diff --check` PASS; no live provider-backed app checks." }, { - "date": "2026-07-13", - "ref": "HEAD / origin/main (detached worktree)", - "head": "04c1d0b036cae8af4dabfc692055c7aab93d5888", - "scope": "OpenAI-facing API and integration review", - "outcome": "Read-only review found one P1 clinical-streaming defect and four P2 reliability/API-contract issues: provisional clinical prose is exposed before validation; mid-stream failure can silently trigger a second buffered generation; answer caches are not model/prompt fingerprinted; OpenAI access/model errors are under-classified; and table-fact route IDs are not validated before database access. GPT-5.6 migration also requires replacing the legacy prompt-cache parameter. No application code was changed.", - "checks": "Static call-flow, prompt, model, schema, streaming, cache, error, route, test, and governance inspection; official OpenAI model/Responses/structured-output/streaming/prompt-cache guidance reviewed. Provider-backed checks were not run. Local tests were not run because this worktree has no installed dependencies (`openai`, `vitest`)." + "date": "2026-07-24", + "ref": "codex/hydration-fixes (PR #1131)", + "head": "f5451102cc0f157d0f63a3679e532d02ae85918c", + "scope": "Run PR babysit: CI/threads/drift", + "outcome": "Run PR babysit: Codex P2 theme cookie validated+fixed + thread resolved. Before: CI mostly green, 1 unresolved Codex P2 (3644928239; prior Codex claim not on this branch). After: cookie fallback in THEME_BOOTSTRAP_SCRIPT + useTheme write/clear + shared keys; reply+resolve PRRT_kwDOSh5Fis6TiAhF. Not behind main.", + "checks": "npx vitest run tests/theme.test.ts PASS (9/9). No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "main", - "head": "528a1752f41cd29a518ca9341c93c724030173ae", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained and synchronized with origin/main.", - "checks": "Local main was unattached, its old tip was an ancestor, and the ref was fast-forwarded to origin/main." + "date": "2026-07-25", + "ref": "cursor/eval-matching-distinct-identity-6273", + "head": "f5620e3a4a2d60fd8a67fd43d8046726f1761e5f", + "scope": "Self-review of the merged #030/#075 fixes against current main", + "outcome": "Before: merged coverage matched expectations to distinct source _positions_, so one document repeated across `answer.citations` still filled both comparison slots, and first-come assignment made `allHit` depend on `expectedFiles` order; `PR_POLICY_BODY.md` was back on main (via #1153) ready to overwrite the next PR body; the #030/#075 queue row survived their archival. After: coverage dedupes by document text and assigns by maximum bipartite matching, label accumulation is linear, the stale template is removed, and #080 records the removed admission widening for approved eval re-test. Both new contracts were verified failing against main's matcher before the fix. RAG impact: no retrieval behaviour change — eval matching and label bookkeeping only.", + "checks": "Focused Vitest 39/39 (eval-document-matching, eval-utils, eval-search, search-scope, rag-imputation-contract); fail-closed proof 2 failed on the `origin/main` matcher; `npm run verify:cheap` pass (3379 passed, 5 skipped); `check:branch-review-ledger` and `check:pr-policy` pass; no OpenAI/Supabase/provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "main", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained.", - "checks": "Resolved as `main` / `origin/main`; deletion prohibited." + "date": "2026-08-04", + "ref": "origin/main", + "head": "f57203bed761f0b782aeffe92883f7b608a80f94", + "scope": "Codex Cloud environment readiness", + "outcome": "P2 incomplete provider-variable scrub; live parity and provider acceptance unverified", + "checks": "local static inspection only; no provider or runtime calls" }, { - "date": "2026-07-13", - "ref": "main", - "head": "b8b484398557231ce4ce05693b784dc3bac16299", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained.", - "checks": "Resolved as main / origin/main; deletion prohibited." + "date": "2026-07-24", + "ref": "mobile-ergonomics-fixes (PR #1156)", + "head": "f57274a4179a7e5678a5906399ed73da4801f3b3", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green, 0 threads. After: merged origin/main cleanly (ledger auto-merge); pushed f57274a41. Threads: none. Residual: CI re-running.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "main (PR #570 squash, glass header)", - "head": "cc6bfc1c80902ca3c91e5ba2ebe78a80f3fd9e14", - "scope": "post-merge review: CSS/visual/a11y/perf + logic/regression", - "outcome": "No P0/P1. P2s confirmed and fixed in follow-up: build pipeline dropped ALL hand-authored backdrop-filter declarations (manual -webkit- duplicates confused Lightning CSS — header scrim, bottom dock, and composer pill were tint-only in every engine); scrim retuned to carry the bar's frost alone (header backdrop-root removed) with masks fading to true zero; private-scope alert made sticky inside main (was scroll-away in non-answer modes); scroll-hide reporter reset on breakpoint-gate change; non-forced fallback backgrounds layered to preserve the utility-wins contract.", - "checks": "Ran custom Playwright probe (`node scratchpad/probe-blur.mjs`, Chromium 390x844): baseline showed `getComputedStyle(.edge-glass-header-backdrop).backdropFilter === \"none\"` on all three passes, after fix `blur(14px)/blur(20px)/blur(26px)` — passed; Ran `node scripts/run-playwright.mjs tests/ui-smoke.spec.ts --project=chromium -g \"glass header|collapse hide|private-scope alert|phone (short|long) answer stays\"`: 6/6 passed; Ran `node scripts/run-playwright.mjs tests/ui-smoke.spec.ts --project=chromium` (full file): 71 passed, 4 failed (pre-existing `/privacy` heading test, fails identically on clean main); Ran `npm run verify:cheap`: exit 0 (1935 unit tests passed); Ran `npm run format:check`: passed; Not run: WebKit/Safari real-device check (no WebKit runner in this environment — served client chunk verified to pair `-webkit-backdrop-filter` with each declaration for Safari <= 17)" + "date": "2026-08-07", + "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", + "head": "f596f641867b4f16f5d512c792a43833ebad0f25", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "GitHub reported dirty/conflicting mergeable_state but git merge-tree and a real test merge in a worktree were clean (stale mergeability, main had advanced past a prior bot pass). Merged origin/main directly and pushed. No unresolved review threads (all PR comments were bot status noise).", + "checks": "git merge-tree (clean), real worktree merge (clean, no conflicts), npm run ledger:dedupe (no duplicates)" + }, + { + "date": "2026-08-17", + "ref": "claude/g1-rag-document-context-qn9ubx", + "head": "f59b358d5ddba2480c585196b262afe1f4181632", + "scope": "packet G1 document_context provenance tag + ledger issueRowFingerprint display-id fix + two queued G1 closures (supersedes the f5f146a record: two further commits landed on this branch)", + "outcome": "approved — G1 is a provenance tag only, deriveConfidence and synthetic_similarity_count unchanged and pinned; ledger fix restores issues:done for ULID-backed rows with null-safety preserved; no retrieval behaviour change, no canary per owner decision 2026-08-17 Option B", + "checks": "verify:pr-local all 18 stages green at this head; full unit 642 files / 6879 passed 4 skipped; eval:rag:offline 36 golden 25 suites 603/603; 4 G1 pins + 3 ledger pins mutation-checked" }, { - "date": "2026-07-13", - "ref": "origin", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7 origin/main`." + "date": "2026-07-31", + "ref": "codex/fix-header-behavior-on-medium-screens", + "head": "f5c83aeb77b6fd65c8b10a8c2793ce1d4c5a817c", + "scope": "PR #1435 review+bugbot+fix", + "outcome": "READY: synced main twice (content conflict in search-chrome-behaviour then behind-but-clean); Bugbot 0; no P0/P1; no actionable threads", + "checks": "merge-tree clean 0 behind; header-scroll-hide-contract 29/29; Bugbot/reviewThreads empty" }, { - "date": "2026-07-13", - "ref": "origin/claude/audit-ci-browser-gate-2026-07-13", - "head": "09be064a09e8199e9359c50ea0dfceb25847cacf", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-15", + "ref": "PR #679 / claude/therapy-compass-pages-rz0m5l", + "head": "f5ca25f8b6b14f41e63f708933fe4bb311994795", + "scope": "Therapy Compass production promotion and review-followup", + "outcome": "All five review findings are fixed on the reviewed head: run-enabled shared-composer links stay on the Therapy Compass route, production data loads outside `/mockups`, deep links seed the in-tool search, and same-route query changes remount the provider. No additional high-confidence defect remains in the changed scope.", + "checks": "GitHub review-thread inventory; exact-head hosted build, critical UI smoke, UI regression, unit coverage, static, security, and image checks green; focused Vitest 28/28; TypeScript; `git diff --check`. No live Supabase/OpenAI checks run." }, { - "date": "2026-07-13", - "ref": "origin/claude/audit-remediation-2026-07-13", - "head": "6b24b66c844c08ac78f992380914c05e15ecef7c", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #582.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-29", + "ref": "PR #1380 / codex/document-reader-condensed-view", + "head": "f5cf28172d01ff2b05b627bc71bee41fdda7e1f3", + "scope": "PR #1380 CI babysit: lint + Production UI", + "outcome": "FIXED. Root causes: (1) react-hooks/set-state-in-effect in density/priorities/indexed-text sync blocked Static PR + CircleCI; (2) Prettier format drift; (3) Codex P2 inert full-view summary; (4) exclusive-accordion latched condensed indexed-text closed over deep-linked chunks (Production UI). Fixed via useSyncExternalStore + adjust-during-render + forceReveal restore. Codex thread resolved.", + "checks": "lint; format:check; typecheck; verify:cheap; vitest document-*; playwright ui-smoke document condensed (4/4); hosted Static/Build/Unit/Advisory/Production UI/PR required/CircleCI SUCCESS" }, { - "date": "2026-07-13", - "ref": "origin/claude/axe-a11y-scan", - "head": "0c6b3e5e21b0132ccf50b0f32a5d2e5b775fdc68", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #586.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-22", + "ref": "PR #1079 / `codex/fix-auth-cookie-precedence`", + "head": "f5d00416be2d52ebbf59ef1b0c108021446551a6 (merged as a8814b671b43938428fe2dbba355bf5ddf79f5c9)", + "scope": "Late auth review follow-up", + "outcome": "MERGED. Current-project SSR cookies precede stale legacy cookies; retired-project cookies are ignored; invalid modern credentials never fall back.", + "checks": "Focused auth 148/148; hosted full gates green. Heavy local rerun was lock-blocked and transparently deferred." }, { - "date": "2026-07-13", - "ref": "origin/claude/bundle-budget", - "head": "a9d09ad4f0f1e549a9a88708862cc62b5d7f0374", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-08", + "ref": "cursor/forms-info-disclosure-68d6", + "head": "f5dd1dea495e8d6e9bd5106dcf0a4d062ee02292", + "scope": "forms-info-disclosure", + "outcome": "fixed Form information tick rows to expand via DisclosureGroup", + "checks": "verify:pr-local; forms-information-disclosure.dom.test; check:design-system-adoption" }, { - "date": "2026-07-13", - "ref": "origin/claude/canary-gate-fixes", - "head": "85411f5db736e111fdb278468787dc8b32bb5ebe", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-11", + "ref": "codex/architecture-review-followup", + "head": "f5deaaee98864f1d32c1060ae14966a4f5975872", + "scope": "coderabbit-test-followup", + "outcome": "Removed probabilistic no-collision assertions from the local identity test and replaced them with deterministic normalization, repeatability, ID-shape, and port-range checks.", + "checks": "Local-server Vitest (2 passed); focused Prettier; `git diff --check`; hosted CI/SAST/Secret Scan passed on the reviewed head" }, { - "date": "2026-07-13", - "ref": "origin/claude/chunking-ocr-eval-plumbing-e1ac6b", - "head": "b65de578ad50f128492d1ed316c6f11eb4a4dfc6", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #508; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-17", + "ref": "claude/g1-rag-document-context-qn9ubx", + "head": "f5f146a497a4ed04fc1db99b7b8f90a00a1cea30", + "scope": "packet G1 — document_context similarity_origin provenance tag (types.ts, answer-stream-contract.ts, rag-row-contracts.ts, rag.ts telemetry export) + 4 discriminating pins + H5a/HANDOVER docs", + "outcome": "approved — provenance tag only; deriveConfidence and synthetic_similarity_count unchanged and pinned; no retrieval behaviour change, no canary per owner decision 2026-08-17 Option B", + "checks": "vitest 5 touched suites 58/58; full unit 642 files / 6879 passed 4 skipped; eval:rag:offline 36 golden 25 suites 603/603; check:rag:fixtures; verify:pr-local all 18 stages green (lint, typecheck, test, build, eval:rag:offline); 4 pins mutation-checked" }, { - "date": "2026-07-13", - "ref": "origin/claude/code-rabbit-credit-barrier-sibv4s", - "head": "b379a82da4be5260957d1a38bd17a6aa82ae3ce5", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #601.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-01", + "ref": "claude/ds-v2-tooling-loop (PR #1568)", + "head": "f6317ea48355c26e080ce45b6f574159e8397e24", + "scope": "PR #1568 unblock/fix", + "outcome": "merged origin/main (behind-but-clean; merge-tree was clean); cleared GitHub DIRTY/CONFLICTING; advisory review threads left open (not merge/CI blockers); auto-merge remains armed", + "checks": "merge-tree clean; ahead 7 behind 0; no provider-backed checks; no product code fix needed" }, { - "date": "2026-07-13", - "ref": "origin/claude/codebase-review-ade6ed", - "head": "a96b8ffafb88da22f667b41edf01b215866dde32", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/codebase-review-ade6ed; git diff --name-only reported 19 path(s)." + "date": "2026-08-07", + "ref": "cursor/privacy-live-signal-variants-bc81 (PR #1676)", + "head": "f63eba10f5e9b6db047302c34412ea5261cd410b", + "scope": "PR #1676 unblock", + "outcome": "before: PR policy fail (missing Clinical Governance Preflight; privacy* mockup paths trip clinicalRisk), behind-but-clean then main advanced; after: PR body preflight completed (policy green), tip synced to main via merge f63eba10 (duplicate local merge discarded), merge-tree clean, 0 unresolved threads, required CI in progress on synced tip; no code fix needed", + "checks": "local evaluatePullRequestPolicy ok after body; PR policy run 31172248093/31172327100 success; merge-tree clean; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/cross-border-openai-disclosure-2f170b", - "head": "14a155aabcecb79a5fbdfd442a1d684ecb901fa4", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #530; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-31", + "ref": "codex/chat-smart-natural-mode-search-pr-2480-landed-verify", + "head": "f64762dd6b16bd90e94773b1dc892760180747e1", + "scope": "Smart natural-language catalogue search separation", + "outcome": "no P0/P1 findings; ready for PR", + "checks": "208 focused tests; 53 post-merge tests; production Chromium 4/4; typecheck; lint; docs links; diff check" }, { - "date": "2026-07-13", - "ref": "origin/claude/de-fly-staging-doc", - "head": "4d39fe85f1f5d946e39d4b52bcc301b7e523d729", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #516; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1294 / `execute-typography-fixes-clean-2`", + "head": "f64fa84a8010008917619c16aac79e4f172a70ff", + "scope": "Ledger dedupe after main sync", + "outcome": "Removed 2 exact duplicate #1307 rows introduced by merge=union during main sync (kept first copies). Hosted required checks green on prior product tip `e5543dc6`; this tip is ledger hygiene + docs-only main sync.", + "checks": "`check:branch-review-ledger` PASS after dedupe; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/design-sync-78bad6", - "head": "f1f17bfc4d23250bb727d01d61055702ea29b65c", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-20", + "ref": "PR #935 / `cursor/mobile-mode-menu-sheet-efee`", + "head": "f6522603eedabb88c311a6f7df172505673d087e", + "scope": "main sync + merge-readiness revalidation", + "outcome": "Re-merged moving `origin/main` (kept `PR_POLICY_BODY.md` for CI body sync; adopted main `python-bin` helper; retained PDF process-tree kill hardening). Mode phone Sheet path still present. PR Policy had a race with Sync PR policy body on prior tip; body now contains checked governance items matching main policy. No new P0/P1 in product scope. Merge-ready once exact-head required checks are green.", + "checks": "Local after merge: focused Vitest for extractor/sheet 1127 passed; Mode sheet symbols intact in `master-search-header.tsx`. Hosted: awaiting Static/Unit/Build/Production UI/PR policy on this HEAD. No OpenAI/live Supabase writes." }, { - "date": "2026-07-13", - "ref": "origin/claude/document-page-redesign-7dd487", - "head": "c2cfd57b4e7ec602d96e7f042eb60ff0b10a9e8e", + "date": "2026-07-30", + "ref": "codex/chat-issue-ledger-triage-c77e", + "head": "f661dfe56ac5b0769491f1cd4cc1319be52f4050", "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/document-page-redesign-7dd487; git diff --name-only reported 13 path(s)." + "outcome": "safe-delete: ancestor of merged PR #1441 head dbfd3068; archived batch13", + "checks": "GitHub associated-PR API; git merge-base --is-ancestor; git bundle verify" }, { - "date": "2026-07-13", - "ref": "origin/claude/document-viewer-design-review-4fc027", - "head": "a82f7c3974f870a661d1f1249b29dc79d449ab15", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #509; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-19", + "ref": "PR #938 / `cursor/fix-differentials-results-top-d760`", + "head": "f6682cc08eb0fcc0b8dd170d5c9358b3fedc0c0d", + "scope": "final meticulous review + safe-merge handoff", + "outcome": "No high-confidence P0–P2. Forms/services now centre when unseeded/loading and use `startOnPhone` only when seeded (avoids sparse empty homes). CodeRabbit risk-line comment dispositioned as stale #932 body confusion. Residual: branch protection still requires a human approving review before squash auto-merge can land.", + "checks": "Local: align Vitest 5/5; focused Chromium overlap+fold 13/13; verify:cheap/pr-local unit stages 2953/2955 with only known container `pdf-extraction-budget` Python ENOENT failures; format/lint/typecheck/RAG fixtures pass; local `next build` blocked by running ensure server (hosted Build green). Hosted exact-head: Production UI, PR required, Unit, Static, Build, PR policy all SUCCESS. Enabled squash `--auto` merge." }, { - "date": "2026-07-13", - "ref": "origin/claude/document-viewer-redesign-55b68b", - "head": "0dbd83c73d2783cbe8e8d00bf04c9947a33518fc", - "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/document-viewer-redesign-55b68b; git diff --name-only reported 5 path(s)." + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "f67e5c9103c3e1483ad8e034fe7a6757c2362d74", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in f67e5c9103c3e1483ad8e034fe7a6757c2362d74, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", + "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/document-viewer-review-fixes", - "head": "e765b3818b4bdda32b0bee4af7c9091f5d86d86d", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #505; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-27", + "ref": "PR #1273 / `codex/create-mobile-navigation-mockups`", + "head": "f6964aeb", + "scope": "Implemented review fixes", + "outcome": "Type-scale tokens, phone-frame inner scroll, PriorityDock overflow selection. Rebased onto concurrent tip.", + "checks": "`check:type-scale --strict` PASS; no provider checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/enable-automation", - "head": "9d07419ab27c5b51b2264ef208aa260448393ea2", + "date": "2026-07-30", + "ref": "codex/coverage-scope-policy", + "head": "f69828a0a3315b60857443e71f207ec19449021b", "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #604.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "outcome": "exact merged PR #1499 head; un-checked-out local branch archived in verified batch3 bundle", + "checks": "GitHub merged exact head, branch not checked out, no open PR claim, batch3 bundle verify ok SHA256 48AF30DD07A04703D02F4A2FFBDE65F1E573D081E4660D4C7E240D8DB1079B8C" }, { "date": "2026-07-13", - "ref": "origin/claude/eval-citation-coverage-strict", - "head": "f7fb001c5ceb98874f45b4c8dad91e1b7e9c3f38", + "ref": "codex/live-remediation-apply", + "head": "f6a50117903445414facefa1b239033f2fec3313", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #564; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #568; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-13", - "ref": "origin/claude/fix-scroll-row-mask-mobile", - "head": "51198244b8990a1e43b8952fc0a0dad9a4495d87", + "ref": "origin/codex/live-remediation-apply", + "head": "f6a50117903445414facefa1b239033f2fec3313", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #498; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #568; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-13", - "ref": "origin/claude/forward-codify-retrieval-rpcs-05a3dc", - "head": "e8ee696dd6db4a991e6964d96e4ded40131596a5", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor e8ee696dd6db4a991e6964d96e4ded40131596a5 origin/main`." + "date": "2026-08-18", + "ref": "claude/rag-d5-reconcile-inbox", + "head": "f6a97c2121aec1f93c299b031703048ac7984d2d", + "scope": "issues:reconcile (31 requests) after #2107/#2127-#2131 (ledger-only)", + "outcome": "0 pending afterwards", + "checks": "check:outstanding-issues; check:ledger-write-discipline; verify:pr-local docs scope" }, { "date": "2026-07-13", - "ref": "origin/claude/gate-answer-persistence-flag-4b55da", - "head": "47206d8c2ab04f8a32fd64de8ba2f141999eb3e0", + "ref": "origin/coderabbitai/docstrings/4eaf00f", + "head": "f6b1ce2e214ffd4875e511ad627a85a2dedcdcb6", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #537; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #518; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-13", - "ref": "origin/claude/generation-token-starvation-fix", - "head": "5874814cd3e448dfa358a6e500115094cb3124cf", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-07-30", + "ref": "PR-1434", + "head": "f6bebf2a8c658df8b3840c1b1133be5c94a977b0", + "scope": "PR #1434 Codex Cloud setup consolidation and prompt perfector", + "outcome": "fixed Cloud runtime verification gaps and reconciled duplicate implementation after #1438; no remaining findings", + "checks": "check:codex-cloud pass; codex-cloud-setup Vitest 4/4; outstanding-issues and ledger guards pass" + }, + { + "date": "2026-07-14", + "ref": "codex/dsm-diagnosis-mode", + "head": "f6cda83ca6aed3a24d999ef4ccd38bff167d4788", + "scope": "branch-cleanup-deletion-pending", + "outcome": "Pending deletion: content already on origin/main or superseded old-lineage snapshot / throwaway CI-retry branch; branch-only-file sweep found no novel work. Remote deletion DENIED (HTTP 403, session lacks ref-delete permission); branch still exists at this HEAD — operator must complete deletion. Scope is deletion-pending so future cleanup passes re-evaluate rather than skip.", + "checks": "Provider-backed GitHub PR inventory via MCP (400 PRs #264-#674, all merged=false); local read-only git: rewritten-main-aware cherry-pick + two-dot tree + branch-only-file novelty sweep vs origin/main e75fad90; adversarial re-check. Remote `git push --delete` attempted (provider-backed write) and DENIED with HTTP 403. No OpenAI/Supabase/live-eval checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/github-actions-codex-issue-f4t4s5", - "head": "a6f64938c8d0bbf915068869977dfe86c58f0d3f", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #610.", - "checks": "Fresh GitHub open-PR query matched this branch." + "date": "2026-07-14", + "ref": "codex/dsm-diagnosis-mode", + "head": "f6cda83ca6aed3a24d999ef4ccd38bff167d4788", + "scope": "DSM diagnosis mode, local clinical catalogue, search/comparison/differential UI, accessibility, and merge-readiness review", + "outcome": "One P2 mobile tap-target defect was fixed across the DSM header, filters, comparison controls, and result actions. No remaining high-confidence P0-P2 finding after preserving current `main` and its Specifiers integration during conflict resolution. Residual risk is formal clinical governance and regulatory review of the paraphrased local DSM reference content before broader clinical deployment.", + "checks": "Focused Vitest 48/48; `npm run verify:cheap` passed with 2,321 tests/1 skipped; targeted Chromium DSM redirect/search/detail journey 1/1; CI-mode production readiness READY; `git diff --check`. Provider-backed Supabase/OpenAI and full advisory `verify:ui`/release checks were not run." }, { - "date": "2026-07-13", - "ref": "origin/claude/hero-composer-hydration", - "head": "eb7cc81c0513da46cd07b9fe1a189952914a5613", - "scope": "branch-cleanup", - "outcome": "Redundant: no patch-unique non-merge commits remain against `origin/main`; eligible for deletion when unreferenced.", - "checks": "`git log --right-only --cherry-pick --no-merges origin/main...origin/claude/hero-composer-hydration` returned empty." + "date": "2026-08-24", + "ref": "dependabot/npm_and_yarn/npm-development-2db4774c1b (PR #2297)", + "head": "f6f700fa1d8a4756fd9f162d40f8d9e0f20b4a51", + "scope": "Run PR sweep: main sync", + "outcome": "before: CI already green on prior head; branch behind main only (mergeable_state: behind), confirmed clean via git merge-tree. No fix needed. Synced via mcp__github__update_pull_request_branch (authenticated human identity). No unresolved review threads. CI re-running on new head.", + "checks": "no local gate re-run needed (prior head was fully green); no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/hero-composer-teardown-microtask", - "head": "af9ada42fa069761d21fc1a57e60a80d89e15dbc", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #504; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "PR #1217 / `cursor/sheet-focus-hardening-c6d3`", + "head": "f7208d52eca6d9059f15908367cebada568b0124", + "scope": "Sheet focus stress test + CI unblock before land", + "outcome": "READY. Stress pass found and fixed two defects in this branch's own work before land: (1) the open-sheet stack guard skipped every close-restore while any sheet was open, so closing a stacked sheet dropped focus to body instead of the sheet below (now `canRestoreFocusTo`: restore proceeds when the target is inside the top-most sheet); (2) a background surface re-focusing itself from its own focus handler could trade `focus()` calls synchronously with the controller (reclaims that do not stick are now bounded; a reclaim that holds resets the count). Resolved the #1213 conflict in favour of the event-driven controller and widened the settle window to cover the lazily imported `data-sheet-autofocus` child main's 200-attempt poll was defending. Repeated `pr-branch-sync` bot merges left hosted CI `action_required`; applying `skip-branch-sync` + this agent commit to re-trigger non-bot CI before land.", + "checks": "`verify:pr-local` green (389 files / 3458 tests, build, client-bundle scan, RAG fixtures); `test:e2e:pr` 285/285 Chromium; `ui-smoke.spec.ts --repeat-each=3` 273/273 no flake; 120-cycle browser soak of the phone mode-menu sheet (zero inert/scroll-lock leaks, focus restored every cycle, median 0 ms / max 10 ms); new `tests/sheet-focus-stress.dom.test.tsx` 13 cases + real-browser inert guard in `ui-accessibility.spec.ts`. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/home-answer-page-layout-rtx10n", - "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor 96dbd0394888d5a52c916dba52b94d0f83e4507e origin/main`." + "date": "2026-07-30", + "ref": "PR-1440", + "head": "f7260cc6a0da87cb4df1ac95ef962967e667c3f0", + "scope": "PR #1440 issue #102 ordering correction", + "outcome": "accurately restores the two canary-gated retrieval ordering constraints; no findings", + "checks": "outstanding-issues and ledger guards pass; documentation-only diff" }, { - "date": "2026-07-13", - "ref": "origin/claude/home-page-sizing-plan-02011e", - "head": "05b5977c4c7152ede77039543b5ac6c686c9d905", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #517; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "cursor/pr-1394-ledger-closeout-c2bf", + "head": "f734dc4d4c8b19d5fec43bbd388c2a421e47668a", + "scope": "PR #1399 babysit / CI+Bugbot closeout", + "outcome": "MERGE-READY. No failing CI, no unresolved review threads, merge-tree clean vs origin/main, Bugbot no bugs. Docs-only ledger append for merged #1394; no code fix required.", + "checks": "hosted PR required SUCCESS; Static PR SUCCESS (lint/typecheck/format/ledger); CircleCI verify SUCCESS; local check:branch-review-ledger PASS; prettier PASS; lint PASS; Bugbot pr-bugbot no findings" }, { - "date": "2026-07-13", - "ref": "origin/claude/icon-design-review-393584", - "head": "370cd7bdd6ca45484c14d04b66c51c3394472dd0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #519; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-09", + "ref": "cursor/differentials-diagnosis-links-9f18", + "head": "f784e81bcc0b53ef76b3da07a8e81f96d9bf0c71", + "scope": "pr-1768 unblock", + "outcome": "merged origin/main onto ba590f9; merge-tree clean; DIRTY mergeability cleared; push tip follows amend with this ledger", + "checks": "merge-tree clean; threads resolved; auto-merge was armed" }, { "date": "2026-07-13", - "ref": "origin/claude/icon-glyph-refinements", - "head": "7e807c1c7346ae998557911421500dce70fe3cd0", + "ref": "claude/differentials-search-ux-polish-f2ff06", + "head": "f7a3d95f54248d5c71c11084d0e5b60f2a83ae98", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #523; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor f7a3d95f54248d5c71c11084d0e5b60f2a83ae98 origin/main`." }, { "date": "2026-07-13", - "ref": "origin/claude/ingestion-autopilot", - "head": "9122feef297a1b88050696042b10779626aef4bb", + "ref": "origin/copilot/fix", + "head": "f7a3d95f54248d5c71c11084d0e5b60f2a83ae98", "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #588.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", + "checks": "`git merge-base --is-ancestor f7a3d95f54248d5c71c11084d0e5b60f2a83ae98 origin/main`." }, { - "date": "2026-07-13", - "ref": "origin/claude/july8-migration-batch-live-7d76fb", - "head": "c78a4d7ff570179f28a33f03759e1d91f56d0f65", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #528; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1296 / `css-layout-audit-complete`", + "head": "f7c34fd7", + "scope": "Sync main #1297 CSS/motion audit", + "outcome": "FIXED. GitHub CONFLICTING after main landed #1297; `git merge origin/main` clean (globals.css + ledger auto-merge). Retained content-auto, scoped forced-colors token remap, mockup z-[100]. Prior tip hosted PR required SUCCESS.", + "checks": "merge-tree CLEAN; focused nav test PASS; no provider checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/mobile-search-bar-popup-bx163m", - "head": "ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor ceccc7219cbd1bf2e0f5b166de94f293c7c25bfe origin/main`." + "date": "2026-07-17", + "ref": "codex/chat-supabase-migration-preflight-b463", + "head": "f7c4e293ef35acc54f2b82bbccb2990d51289d5c", + "scope": "live production Supabase security, integrity, drift, and performance review plus remediation", + "outcome": "Resolved and deployed the P2 retrieval-performance issue with `20260717160000_optimize_owner_public_retrieval`: owner/public filtering now happens in one scoped query and index-unit text/term candidates use separate GIN-friendly branches. Warm text retrieval improved from 1.269 seconds to 34 ms; warm index-unit retrieval completed in 36-39 ms (first cold run 2.376 seconds with 2,009 physical reads). No P0/P1 security, privacy, RLS, privilege, storage, migration-history, or integrity issue was found.", + "checks": "Isolated Docker schema replay; pre-deploy drift showed exactly four intended function changes; linked production push; post-deploy `No unexpected schema drift`; exact project and migration-history checks; security and performance advisors; live access-scope parity; bounded `EXPLAIN ANALYZE`; post-migration logs; focused Vitest 74/74; offline RAG fixtures 36/36 and contract tests 291/291; ESLint; TypeScript; function grants; production readiness. Full `verify:cheap` reached the 10-minute host timeout during broad Vitest and ended with EPIPE; focused and domain checks passed. No OpenAI calls, write load test, or backup/PITR restore test was performed." }, { - "date": "2026-07-13", - "ref": "origin/claude/observability-alerts-rollback-8d9b79", - "head": "67144fe56b776fb58d2518d057d41612399f65b6", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #536; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0", + "head": "f7d99db60d8b55d23be0199f7e690b9eac0bc165", + "scope": "CI repair", + "outcome": "restored Caring Contacts entries removed from the codebase index during latest-main merge resolution", + "checks": "check-codebase-index-coverage; staged diff check" }, { - "date": "2026-07-13", - "ref": "origin/claude/ops-digest", - "head": "8355970c0371b4150f2965a49c611678a8393ad2", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #587.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-27", + "ref": "PR #1281 / `claude/safety-planning-tools-page-tsq4vs`", + "head": "f7e616d1", + "scope": "Implemented review polish", + "outcome": "StepBuilderCard filled uses `isStepComplete`; clipboard DRAFT assertion added. Auto-merge temporarily disabled to land polish.", + "checks": "Focused safety-plan Vitest 3/3; no provider checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/perf-r2-auth-roundtrip", - "head": "24fad070fb9834510309e74e1dc0e216cd08646b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #481; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: E-3c PR-B short-circuit)", + "head": "f7e6cbb + hardening commit", + "scope": "(recorded with Outcome)", + "outcome": "E-3c PR-B: pre-generation validated-extractive short-circuit for gate-passed routine procedural \"What...process/include/required\" queries (marker validated_routine_extractive_first), generalizing the LAI + blocked-recovery precedents via new rag-extractive-first.ts (3 predicates moved byte-verbatim, machine-verified; rag.ts 5029→4908 vs 5030 budget). Kills the run-#57 6x wasted-generation class. REVIEWS (both pre-push): rag-retrieval-reviewer APPROVE-WITH-NITS — move fidelity brace-diff verified byte-identical; confidence-gate skip PROVEN safe (passed-gate is a no-op in applyConfidenceGate; markers pairwise mutually exclusive); comparison false-positives blocked by unchanged classifier precedence; offline/source-only idempotent; zero retrieval/ranking/selection/threshold change; P2 = eval-only assertions (intent_coverage/artifact_leaks/expected-file) unverifiable offline for flip candidates (quality-nocc-document-support, quality-form-required-documentation, quality-discharge-documentation, quality-duress-pathway + rag-set siblings) → pre-merge BRANCH canary recommended and ADOPTED (offline-green + review-approved proven insufficient for this surface, 2026-07-20). clinical-governance-reviewer APPROVE-WITH-NITS — full gate-stack trace: nothing bypassed (same finalizeRagAnswerQuality, same citation scoping, numeric verification not fail-open, ungrounded-finalize defense at rag.ts:3694); P2 = pre-existing bare-cross-reference-with-overlap gap, NOT materially widened (new trigger anti-correlates), hardening recommended → APPLIED this PR: !isBareCrossReferenceAnswer screen in hasValidatedExtractiveCandidate (closes all three short-circuit paths; discriminating test added; disclosed post-review delta, strictly narrows shipping). MERGE GATE: draft until the branch canary pair (baseline #57/#58 vs branch run with answer_case_limit=44 + answer_quality_eval=true, est $3-6 of authorized envelope) is green — zero per-case regressions, recalls 1.0, quality/targeting rates >= baseline.", + "checks": "Red-proof + 3 negative guards; focused 61/61 + fallback/offline/contract suites; full suite 3061 passed / 1 known container artifact (pre-hardening tree; hardening re-verified focused); typecheck+lint+prettier clean; maintainability budget passed (4908/5030)" }, { "date": "2026-07-13", - "ref": "origin/claude/perf-r2-bundle-hygiene", - "head": "95ce39f7715caeadc8197c35c2c41500183a715e", + "ref": "claude/eval-citation-coverage-strict", + "head": "f7fb001c5ceb98874f45b4c8dad91e1b7e9c3f38", "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-bundle-hygiene; git diff --name-only reported 40 path(s)." + "outcome": "Redundant: exact source HEAD was squash-merged by PR #564; eligible for deletion when unreferenced.", + "checks": "GitHub merged-PR source HEAD matched exactly." }, { "date": "2026-07-13", - "ref": "origin/claude/perf-r2-eval-gated", - "head": "901fae59eca2c00c99c3b4ae79a84642b405672a", + "ref": "origin/claude/eval-citation-coverage-strict", + "head": "f7fb001c5ceb98874f45b4c8dad91e1b7e9c3f38", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #486; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #564; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-13", - "ref": "origin/claude/perf-r2-hot-path", - "head": "843dcf8d287950b2ddf86a121701dfbb95ac86c0", - "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-hot-path; git diff --name-only reported 49 path(s)." + "date": "2026-08-15", + "ref": "claude/ledger-review-triage-yi63ao", + "head": "f7fdb77a66a02b5678ad14d6f196c80c8d458571", + "scope": "Outstanding-issues reconciliation for #293 and #312: final current-base merge", + "outcome": "Verified cited landings, retained #312 browser-family acceptance gap, and merged current base with no conflicts or new P0-P2 findings", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; landing and request-content assertions" }, { - "date": "2026-07-13", - "ref": "origin/claude/perf-r2-network-caching", - "head": "424ae6b045d9ec38443292a1569de4b04d6a295d", - "scope": "branch-cleanup", - "outcome": "Retained: 4 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-network-caching; git diff --name-only reported 44 path(s)." + "date": "2026-07-24", + "ref": "codex/reindex-agent-enrichment-guard (PR #1143)", + "head": "f82cf9cfa", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR required green, 1 unresolved reindex/agent-claim serialization thread, branch behind main. After: remote branch already had atomic RPC fix 2bb0470d plus merge-main d2d57d7c; validated pushed head, resolved thread via GraphQL; reply mutation 403 noted in commit f82cf9cf.", + "checks": "node scripts/run-vitest.mjs run --reporter=dot tests/reindex-enrichment-lease.test.ts tests/private-access-routes.test.ts tests/supabase-schema.test.ts tests/drift-detection.test.ts PASS (218/218); npm run check:migration-role PASS; npm run typecheck PASS; npm run check:production-readiness PASS with non-blocking warnings; no live eval gates run." }, { - "date": "2026-07-13", - "ref": "origin/claude/perf-r2-payload-trim", - "head": "5a6ce71153198c746fab96859d5895374ac05bb9", - "scope": "branch-cleanup", - "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-payload-trim; git diff --name-only reported 50 path(s)." + "date": "2026-07-22", + "ref": "PR #1078 / `codex/reconcile-auth-upload-privacy`", + "head": "f83bb6772ff8e4eb6e7ea2c6e7b53ea39ed8f990 (merged as 001ce3543cb7e8020b0f6a5c3171f14601c73e6b)", + "scope": "Optional-auth tri-state and upload-privacy revalidation", + "outcome": "MERGED auth fix. Presented invalid/malformed credentials return 401 instead of anonymous quota; absent credentials preserve public reads. Anonymous-upload metadata patch rejected as stale because uploads are already administrator-only before parsing/duplicate lookup.", + "checks": "Red auth proof; focused 141/141; `verify:cheap` 3,191 passed / 1 skipped; PR-local 3,192 passed / 1 skipped plus build/offline RAG; hosted green." }, { - "date": "2026-07-13", - "ref": "origin/claude/perf-r2-plan-cache-migration", - "head": "471099c3031520fc4a083f802af3c8f95a9c7d44", - "scope": "branch-cleanup", - "outcome": "Retained: 8 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/perf-r2-plan-cache-migration; git diff --name-only reported 52 path(s)." + "date": "2026-07-14", + "ref": "codex/openai-gpt56-rag-upgrade", + "head": "f83d7d49b32fb9bb8b8c2ede99e93675574c88d8", + "scope": "PR review follow-up", + "outcome": "Confirmed and remediated five scoped review findings: answer-quality JSON no longer retains owner-scoped answer previews; valid tablet/mmol dose phrases are accepted; review-fallback routing uses a shared token; the classifier sends only supported structural schema constraints and validates bounds after parsing; and equivalent maximum-dose wording remains eligible. Replaced the redundant dashboard source-string guard with the existing mixed-version browser behavior regression.", + "checks": "Focused Vitest 123/123; offline RAG 36 fixtures and 279/279 tests; `npm run typecheck`; `npm run verify:cheap` passed runtime/policy/lint/typecheck and full Vitest (234 files passed, 1 skipped; 2,229 tests passed, 1 skipped); `git diff --check`. Provider-backed retrieval remains separately blocked by exhausted OpenAI embedding quota after case 24/36." }, { - "date": "2026-07-13", - "ref": "origin/claude/phone-blackout-fix-nuxnt3", - "head": "551b07b44e9572d141118866271af27c67d50370", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #570; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-22", + "ref": "claude/suicide-contact-mockup-b5aaa0 (PR #2279)", + "head": "f84ae652f9e3b9e7c58fef1c9161cbf3ccbad245", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: MERGEABLE/BLOCKED, CI in progress, 1 unresolved Codex P1 on demo store split; after: shared globalThis store so page and API see the same in-memory demo state; 1 thread to resolve after push; not behind main; no provider-backed checks", + "checks": "npx vitest run tests/caring-contacts-server-store.test.ts: 2 passed; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/phone-blackout-fix-nuxnt3", - "head": "94d1613b899be6ad220817dfcf1e894889a21f69", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #578.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-27", + "ref": "codex/therapy-pathways-redesign (PR #2413)", + "head": "f8537abbef36b5e9f72eb1c745f565253a276153", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: PR required failing (Static PR checks red on check:repo-awareness-snapshot — committed data/repo-awareness-snapshot.json review_state was stale after prior sweep's ledger/docs commits); 0 unresolved review threads; branch already contained origin/main (no drift). After: ran npm run snapshot:repo-awareness to regenerate the snapshot, verified npm run check:repo-awareness-snapshot and npm run format:changed pass, committed and pushed f8537ab. All other required jobs (Build, Unit coverage, Production UI critical, Safety and config checks, Production UI shards 1-3, Lighthouse budget) were already green before this fix and untouched by it. No review threads existed to address. No main-sync needed (branch already up to date).", + "checks": "npm run check:repo-awareness-snapshot (PASS, reproduces prior CI failure then passes after regen); npm run format:changed (PASS); npm run snapshot:repo-awareness (regenerated data/repo-awareness-snapshot.json); no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/pia3-doc-residual-cache", - "head": "4494a830df6682ce5edcaf61d6a178af162b50d7", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #535; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "PR #1432", + "head": "f85995ade3a19513a531713724813adc742c360d", + "scope": "Playwright browser preflight verification", + "outcome": "focused tests pass; typecheck lease-blocked", + "checks": "16 focused tests PASS; Prettier PASS; typecheck admission blocked" }, { - "date": "2026-07-13", - "ref": "origin/claude/privacy-footer-responsive-adbd0c", - "head": "ad5ef99f68dfd07d56a2ad9e2d0871b7deaf882c", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #576; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-13", + "ref": "PR #1933 / codex/performance-live-closeout", + "head": "f86f71413e6d949d37ac82eb94314aa34562351a", + "scope": "heavy PR review and focused fix", + "outcome": "Confirmed one P2 ledger-identity defect: the proposed post-deployment update would overwrite canonical #117 and discard unresolved Therapy work. Queued an immutable cancellation for the faulty update plus a separate P2 performance issue, preserving both workstreams; no runtime behavior changed. Independent CodeRabbit review was unavailable because the repository hit its review limit, so a distinct manual adversarial pass was completed.", + "checks": "Exact-head PR required, Static PR checks, Semgrep, Semgrep ingestion gate, Gitleaks, GitGuardian, and PR mergeability passed; manual request-schema and cancellation-plan validation passed; local checkout and npm checks unavailable because the execution container could not resolve github.com." }, { - "date": "2026-07-13", - "ref": "origin/claude/production-deployment-setup-d83ef8", - "head": "7cca301849908889f963c361980c378e3aaff07f", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #511; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-11", + "ref": "claude/spacing-icon-design-review-rxwh28", + "head": "f8701a524f0eb22decc64ce1f626bdafe91751af", + "scope": "mode-home hero spacing rhythm + icon scale (PR #1815)", + "outcome": "shipped: group copy reserve banded to measured wrap points, continuous hero medallion, phone composer glyph 1.1rem->icon-lg, surface glyphs onto size-icon-*, privacy link bottom-only negative margin (fixes 8px tap overhang on the APP-5 sentence), composer phone reserve 7.625->6.625rem", + "checks": "test 6043 passed/1 pre-existing root-perm failure; lint; typecheck; build; check:icon-scale; check:type-scale; check:design-system-contract; check:rag:fixtures; check:bundle-budget; prettier --check .; verify:ui NOT run (Playwright r1234 vs image r1194, #255 - delegate to CI Production UI)" }, { - "date": "2026-07-13", - "ref": "origin/claude/psych-vocab-seed", - "head": "d41c65f209029ba37bd54424640918559209ffa1", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #605.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-17", + "ref": "codex/scroll-geometry-stability-20260717", + "head": "f88a41ae5fb62ae39d5d1d33fd5e21490e1ea60e", + "scope": "phone scroll geometry and boundary stability review", + "outcome": "Confirmed two coupled P2 interaction defects: hiding the fixed bottom composer removed its reserved space and changed the scroll viewport, while collapsing the in-flow header at the bottom produced a browser-driven scrollTop clamp that was misread as an upward gesture. The dock now keeps stable clearance, hide/reveal uses directional hysteresis, and geometry clamps are rebased without revealing chrome. No other high-confidence defect remains in the changed scope.", + "checks": "Focused Vitest 8/8; TypeScript; scoped ESLint; Prettier; `git diff --check`. `npm run verify:cheap` reached the full Vitest phase but was stopped after making no progress under concurrent local Vitest workloads. Turbopack rejected the external node_modules junction and Webpack did not reach the identity endpoint, so exact-head hosted UI and required CI remain the merge gates. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr2-variant-early-exit", - "head": "ddd67ca4a05e259e68a57f36a840d6521d8dfc0c", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-13", + "ref": "PR #1888 / claude/filter-contract-factsheets-pr-d", + "head": "f8930c36d11a15820bd0a76aa6b4ff24928db224", + "scope": "PR #1888 fresh heavy review-and-fix before required main sync", + "outcome": "Dispositioned the PR delta as superseded by current main: retained main's shared counted SegmentedControl, selected dead-end handling, dedicated DOM coverage, and current filter contract; no remaining high-confidence PR-introduced P0-P2 defect.", + "checks": "historical exact-head PR required and Production UI green; current-main factsheets component, contract, and tests reviewed; CodeRabbit unavailable (spending cap), distinct manual adversarial pass" }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr3-storage-unification", - "head": "10b89800ce1aef97bea10f69d58dc54fa13a45c2", + "date": "2026-07-14", + "ref": "codex/eval-canary-structured-errors", + "head": "f8b543e6b22c2979aa64b60748f31a5ef31e87d3", "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "outcome": "Retained because an idle Codex task still owns the clean worktree; no local or remote deletion was attempted.", + "checks": "Codex task-registry and worktree scan; zero-unique patch check." }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr4-ci-ui-regression", - "head": "0318502a5aa0ef011609c32dc7d7936ad1c6464e", + "date": "2026-07-14", + "ref": "origin/codex/eval-canary-structured-errors", + "head": "f8b543e6b22c2979aa64b60748f31a5ef31e87d3", "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "outcome": "Retained because an idle Codex task still owns the branch worktree, despite zero unique patch content.", + "checks": "Offline remote-tracking comparison plus Codex task-registry scan." }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr4-trust-copy", - "head": "46574ca1c93996505fada8c5610a62dbb11a90a5", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-22", + "ref": "codex/status-semantics-followup", + "head": "f8c4d1866c2cf0237109e620088d8d15d81b3449", + "scope": "status semantics rendered coverage and visual baseline provenance truth", + "outcome": "No findings; stale baselines stay pending and contradictory human attribution now fails closed.", + "checks": "Focused Vitest 8 passed; design-system contract, lint, typecheck, format/docs and data contracts passed; broad npm test aborted after 47 host timeouts." }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr5-ia-canonical", - "head": "2bad7ba0499626edd8f1833a18983596d0b9f941", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-07-28", + "ref": "PR #1298 / `codex/fix-p2-audit-20260719`", + "head": "f8d4d17bac65c17290b634e5c04bdd76e6d58a07", + "scope": "CI babysit closeout tip", + "outcome": "Exact HEAD after Build RAM CI bypass, escalation-class restore, per-medication alias scoping, Prettier, and review-thread resolution. Unresolved review threads: 0. Residual: hosted CI on this tip + human approving review.", + "checks": "Focused Vitest 79/79 earlier; check:branch-review-ledger PASS; tip `f8d4d17b`; no provider checks." }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr6-ux-defaults", - "head": "44fa37dfcd252c21dd3f57fc97fe4a272ab91de6", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-10", + "ref": "cursor/same-mode-focus-no-steal-6df8", + "head": "f8d7ef3faa397de7c9aecc61a66ec5428a3eeed3", + "scope": "Run PR sweep", + "outcome": "fix: Unit coverage tsconfig contract aligned to #1798 ignoreDeprecations; merged origin/main", + "checks": "vitest test-runner-safety+check-lighthouse-budget 84 passed; Unit coverage was FAIL on 3f2aae3a" }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pr7-ci-hardening", - "head": "5bab36c456f57b32437d6c01f0ce30b32244fec4", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #592.", - "checks": "Fresh GitHub open-PR query matched this branch." + "date": "2026-07-31", + "ref": "PR #1536", + "head": "f92ad5ea35a9c68c2382fd94c56cfbb3deffb185", + "scope": "documents filter panel + library naming", + "outcome": "Handoff. Made the smart-tag facet panel reachable (its only mount was gated on a selection nothing could make), merged source-type filtering into it, and renamed the library control off 'Open source filters'. Kept the ribbon library button after a browser run showed the action-menu route clears the query via onSearchModeChange. Ledger #176 filed for the separately-inert command-scope system.", + "checks": "verify:cheap exit 0 (450 files / 4710 tests); ui-smoke.spec.ts chromium 93 passed 1 failed, the failure pre-existing under Chromium 1194 vs pinned 1228; mutation-tested (old gate fails all 6 new DOM tests)" }, { - "date": "2026-07-13", - "ref": "origin/claude/pt-audit-pt17-live-monitor", - "head": "b5b5ab680d707fba05de5a15adf0ae77713e16d0", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-15", + "ref": "claude/services-search-redesign-163", + "head": "f9391318605f4a2cf743cc7a6b3448b61a8296d4", + "scope": "Services search results: progressive referral rail, compact rows, favourites bookmark (#163)", + "outcome": "Shipped; row re-measured as half-stale before building — no P0-P2 findings", + "checks": "verify:pr-local all 10 selected gates passed (runtime, lock parity, format:changed, lint, typecheck, test, build, rag fixtures, medication interactions, lexicon report); focused vitest 22/22 across services scope-empty-state, services regressions audit, band adoption, route reachability; check:design-system-contract passed at 25 edge conflicts unchanged; UI delegated to CI Production UI — chromium-1194 vs pinned 1234 (#255/#312)" }, { - "date": "2026-07-13", - "ref": "origin/claude/quality-eval-expected-doc-coverage", - "head": "c4868031b2294d26a5d35b06f9ecbb4c9b55ac28", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #562; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-22", + "ref": "PR-2291", + "head": "f93b2209ebb9a41aca3159be9ba4f2c8e0bdf289", + "scope": "Run PR: final current-main sync after review fixes", + "outcome": "newly advanced main merged cleanly; executable local gates remain blocked by runtime", + "checks": "git merge-tree --write-tree 3e5c2234b93183d41815886c1b49b947ba544aeb a8968673796710de95cc660802e75c8dbd5e4972 PASS; git diff --cached --check PASS; local setup/format/test unavailable" }, { - "date": "2026-07-13", - "ref": "origin/claude/query-hash-hmac-secret-0e44d3", - "head": "97108314ec59dd015b1947ba0d0bc41da1f58d33", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #532; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-14", + "ref": "claude/design-token-relands", + "head": "f94fa299a61f1337825083fe1178c66f65680329", + "scope": "design tokens: --shadow-tight retirement reland, contract ratchet re-pin, search-band badge token, DS Track A3 closeout", + "outcome": "self-review; 4 commits, value-preserving, gates green except a pre-existing main failure", + "checks": "verify:pr-local (all stages pass except pre-existing check:medication-lexicon-report, reproduced on pristine origin/main); vitest 601 files/6510 passed; design-token-contract + tailwind-merge 69 passed; check:design-system-contract zero slack, mutation-verified; tailwind emission probe for the new utilities" }, { - "date": "2026-07-13", - "ref": "origin/claude/rag-cross-reference-guard", - "head": "d6ba5930ecf9fcf5be1d441a197f7f53a3086ce5", + "date": "2026-07-30", + "ref": "codex/repair-pr1462", + "head": "f99bb06030780efab7c98806cbb0b2171d1a4284", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #573; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "exact merged PR #1462 head; inactive clean worktree archived in verified batch1 bundle", + "checks": "GitHub merged exact head, clean status, no Git operation, no open PR claim, bundle verify ok SHA256 18D9CFFD334278987D8FCCBED5F34125148BFF98C83D39287268103A5326BD2A" }, { - "date": "2026-07-13", - "ref": "origin/claude/rag-optimization-phase-2-748178", - "head": "501b949e33ea1ac35abef7644a3cdc0aeb18cefd", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #526; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-29", + "ref": "codex/search-composer-focus-pwa", + "head": "f9a14e8e38a568d8675c4154597f73340161e4ea", + "scope": "current diff vs origin/main: PWA search composer focus", + "outcome": "P1 fix reviewed; passive viewport scroll no longer blurs search", + "checks": "focused Vitest 48/48; typecheck; ledger guard; phone and PR plans inspected" }, { - "date": "2026-07-13", - "ref": "origin/claude/rag-review-improvements-f1bf84", - "head": "7154493e5e7c5ed1e2bd484503bfdbca94c23756", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #514; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-01", + "ref": "claude/ds-v2-therapy-teardown", + "head": "f9cf75fefcf78a2049fa756322265ecb64845254", + "scope": "PR-T therapy-compass CSS teardown: delete therapy-compass.css, migrate tc-* to design-system control recipes, resolve #205/#016(e); focusRing local after ui-primitives rename", + "outcome": "gates green", + "checks": "check:design-system-contract green; docs-surface (links/scripts/inventory/index) green; test:e2e:critical 15/15; verify:ui 344 passed; verify:pr-local green (build+client-bundle+rag fixtures 36/36)" }, { "date": "2026-07-13", - "ref": "origin/claude/reconcile-mode-home-tokens", - "head": "344f10f9efca6dc340a6ac65128eaf2fdcddf727", + "ref": "origin/codex/fix-48h-review-findings", + "head": "f9e0ca42c7b234a894b49bd2958e69ebb2d5810a", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #522; eligible for deletion when unreferenced.", + "outcome": "Redundant: exact source HEAD was squash-merged by PR #574; eligible for deletion when unreferenced.", "checks": "GitHub merged-PR source HEAD matched exactly." }, { - "date": "2026-07-13", - "ref": "origin/claude/repo-docs-infrastructure-4c2787", - "head": "fa75ccbf89413b6250d7f11957ee43d322410b9b", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." - }, - { - "date": "2026-07-13", - "ref": "origin/claude/repo-hygiene", - "head": "1db8d1508cf0cd3aec244358db32d8bc9f06a7f2", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #596.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-03", + "ref": "claude/ds-v2-adopt", + "head": "f9f73c707d9b6b6226fc04d172fef8e426513055", + "scope": "PR-J design-system adoption", + "outcome": "clinical-governance-reviewer: net-additive, nothing on origin/main weakened, dropped or narrowed; src/lib/rag untouched (0 files); patient-profile null commit path byte-identical through the FormField fold; ready unreachable over a not-source-backed answer. Three P2: source-count disagreement between notice and banner (FIXED 08e8b6be7), answerClipboardText attribution missing a sourceOnly flag (FIXED 08e8b6be7), notice can claim AI-generated above the Source-only chip (RECORDED as #228, needs approved wording). frontend-ui-reviewer: DSM icon tile lost its mobile-hidden treatment (FIXED b978d4c7b via max-sm:hidden) and the eyebrow moved beside the icon (RECORDED as #229); use-client removal on page-header confirmed a real fix; Breadcrumb href rule correct for every caller; no tap-target, hex, z-index or raw-anchor violations.", + "checks": "typecheck 0; lint 0 (max-warnings 0); unit 5048 passed / 2 known Windows codex-cloud path-mangling failures; verify:ui 346 passed 1 failed (ui-smoke:2056, re-pin from CI per finding L); eval:rag:offline 574/574 zero failures, better than the J4 baseline; verify:pr-local run over 35 changed files" }, { - "date": "2026-07-13", - "ref": "origin/claude/repo-next-steps-e53523", - "head": "3f7d6d76f597f2a0311af1052480f84b68ecc259", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #513; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-15", + "ref": "claude/ledger-review-triage-yi63ao", + "head": "fa087d2aebaceb953029d7805bf2437e03de1cd7", + "scope": "Required base sync through main d301d8f4", + "outcome": "approved", + "checks": "git diff --check; ledger and issue guards" }, { - "date": "2026-07-13", - "ref": "origin/claude/repo-task-recommendations-f32752", - "head": "00ff16704e6f290148d888c3247cf75ca0c1faa2", + "date": "2026-07-14", + "ref": "codex/rag-performance-followups", + "head": "fa0a6178fbbbb50de2544b4ec6cbd3f6cc9da0ae", "scope": "branch-cleanup", - "outcome": "Retained for open PR #577.", - "checks": "GitHub open-PR query matched this branch at classification time." + "outcome": "Retained: patch-unique content remains and a Codex task still references the worktree.", + "checks": "Local patch comparison plus Codex task-registry scan." }, { - "date": "2026-07-13", - "ref": "origin/claude/repo-task-recommendations-f32752", - "head": "3b54cc96113407203f73f41bf921d717a24dd8eb", + "date": "2026-07-14", + "ref": "origin/codex/rag-performance-followups", + "head": "fa0a6178fbbbb50de2544b4ec6cbd3f6cc9da0ae", "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "outcome": "Retained: patch-unique content remains and a Codex task references the local worktree.", + "checks": "Offline remote-tracking comparison plus Codex task-registry scan." }, { - "date": "2026-07-13", - "ref": "origin/claude/response-formatting-cleanup-b57a9c", - "head": "3a252e7cd53b8a825aef5d4432ff0f7373618c56", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #469; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "claude/ci-testing-review-2l8klp", + "head": "fa304a5332443f544a676bdf35d813797154f87c", + "scope": "PR #1466 reopen-prep", + "outcome": "READY: main merged (clean), phoneContract sibling arm fixed+pinned, Codex Cloud origin inspect uses configured URL (insteadOf-safe), prior Codex/Copilot/CodeRabbit threads resolved, no cursor[bot] Bugbot findings, PR left CLOSED", + "checks": "verify:cheap PASS (444 files / 4652 passed, 4 skipped); prettier --check . PASS; check:ci-scope PASS; verify-phone-chrome+codex-cloud-setup+test-runner-safety+playwright-project-isolation 59/59; merge-tree clean before merge; Bugbot none" }, { - "date": "2026-07-13", - "ref": "origin/claude/responsive-design-review-4d7395", - "head": "889dc73a807145cf7db3326fd2ad77f8d594652b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #520; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-14", + "ref": "codex/search-round-trip-budget", + "head": "fa37b9473a6835a6364dae45d791d7f193152bbb", + "scope": "tests/search-route-round-trip-budget.test.ts (PR #1950, ledger #098 residual + #189)", + "outcome": "Author handoff: offline test-only diff adding a pinned Supabase round-trip budget for POST /api/search, no production/RAG code changed", + "checks": "verify:pr-local full run (lint/typecheck clean; test 602 files, 6511 passed, 4 skipped; check:rag:fixtures + check:medication-interactions passed; check:medication-lexicon-report pre-existing unrelated staleness)" }, { - "date": "2026-07-13", - "ref": "origin/claude/search-timeout-failure-s6aiuj", - "head": "b341fed3d6f8d94f1573db1ff3939e112c3240f0", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #466; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-05", + "ref": "cursor/soft-mark-ungrounded-copy-ec26", + "head": "fa5b1bef1294ec57aa1003bd9c24a58f418869e0", + "scope": "Run PR sweep", + "outcome": "follow-up for Devin soft-mark copy drift left out of #1605 squash", + "checks": "local: prettier" }, { - "date": "2026-07-13", - "ref": "origin/claude/seeded-owner-catalogue-sync-7544e2", - "head": "9613f9307be5728bb8dae0c56d6a35f053daad4c", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #507; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "claude/planning-build-intelligence-9ot0nm (PR #1730)", + "head": "fa616b11e8072ac3a94dd25e02c9c096983770f5", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "DIRTY → CLEAN at current head (auto-merge/sync); local merge push blocked by armed auto-merge sentinel", + "checks": "no local gates; no provider-backed checks" }, { "date": "2026-07-13", - "ref": "origin/claude/sentry-server-capture", - "head": "1eb6a4b7cc0ba05bca18eee0ab00dafba2833904", + "ref": "claude/repo-docs-infrastructure-4c2787", + "head": "fa75ccbf89413b6250d7f11957ee43d322410b9b", "scope": "branch-cleanup", "outcome": "Retained because the ref is attached to or anchors a protected worktree.", "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { "date": "2026-07-13", - "ref": "origin/claude/session-guards", - "head": "08a83b87d612fa82157f962b4de7886f15199447", + "ref": "origin/claude/repo-docs-infrastructure-4c2787", + "head": "fa75ccbf89413b6250d7f11957ee43d322410b9b", "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #583.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "outcome": "Retained because the ref is attached to or anchors a protected worktree.", + "checks": "Fresh worktree, status, lock, and path-referencing process scan." }, { - "date": "2026-07-13", - "ref": "origin/claude/session-skills", - "head": "e2dc26162bb8ff1a50902c26a70fb5f18c5e761f", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #594.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-08-17", + "ref": "gemini/design-tokens-source-contracts (PR #2031)", + "head": "faa22eb3262d3951e398bbda6aa08108c8c574bc", + "scope": "Run PR sweep: CI diagnosis", + "outcome": "Not fixed — diagnosed a real, measured Lighthouse regression that needs design/browser review, not a blind sweep fix: 'Lighthouse budget' job failed with mobile-root CLS 0.236 vs baseline 0.013 (+0.223, tolerance +/-0.02), confirmed on 2/3 samples, no other route regressed. The only functional diff in this PR is the mode-nav icon size migration (h-[1.0625rem] w-[1.0625rem] i.e. 17px -> size-icon-md i.e. --spacing-icon-md = 16px, in mode-nav.tsx and nav-slot-ink.tsx); everything else is test-helper refactors. That is the only plausible cause but a 1px icon-size change producing an 11x-over-tolerance CLS spike needs actual browser-rendered root-causing (hydration timing, a paint reflow this sandbox's headless-less environment cannot observe) before touching a protected icon-scale token, not a guess. No review threads. Was behind main by 2 commits at snapshot; left unsynced since there is nothing to push yet.", + "checks": "Diagnosed from the CI job log for the Lighthouse budget job only; no local Chromium/Lighthouse available in this sandbox to reproduce. No provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "origin/claude/site-formatting-polish-b91374", - "head": "859633eb72dee7ab430b0cbebb0f68b77caa072a", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #506; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "codex/merge-privacy-safe-error-tracking-implementation", + "head": "fab9a9ec5181eb6ef3f8f43f303c39fa87cc1f6c", + "scope": "bugbot-review", + "outcome": "no-p0-p1; empty/partial-meta-neutralized; sentry-init-failopen; gitleaks+pr-policy-body; merge-tree-clean; PR-left-closed", + "checks": "vitest:46-pass-focused; typecheck:pass; gitleaks-range:clean; merge-tree:clean; verify:pr-local:codex-cloud-fixed" }, { - "date": "2026-07-13", - "ref": "origin/claude/site-performance-speed-61d154", - "head": "cb0bcf35498385bca1180462c8ab79b6f8293708", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/claude/site-performance-speed-61d154; git diff --name-only reported 20 path(s)." + "date": "2026-08-18", + "ref": "claude/form-names-design-rjw40t (PR #2041)", + "head": "fafc039341853d9e509cd3357d556a94ce324ce8", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "mergeable_state blocked = CI still in flight, not failing; only non-required 'GitGuardian Security Checks' app check showed conclusion:failure. Diff inspected (get_diff): a UI relabel of form-detail-page.tsx plus a docs ledger record - no secret-shaped content. Very likely the same false positive on the added record filename's 64-char hex hash as PR #2040. GitGuardian is not in the pr-required aggregate, so no merge-blocking action taken; flagged for the user to confirm via the GitGuardian dashboard link on the check.", + "checks": "get_diff inspected manually; no local gates run; no provider-backed checks run." }, { "date": "2026-07-13", - "ref": "origin/claude/smart-search-presentations-differentials-a199bb", - "head": "e7b8a9621d30f22c7ae20aefbba7c023d1ac06df", + "ref": "claude/relax-openai-search-gate", + "head": "fb2df603f472ea613d32ef0991f8ec00af5999c5", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #499; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...claude/relax-openai-search-gate; git diff --name-only reported 1 path(s)." }, { - "date": "2026-07-13", - "ref": "origin/claude/spend-telemetry", - "head": "323d9cb5d94c4173881690e15699a4e224622803", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #585.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "fb39314e", + "scope": "Babysit sweep: drift", + "outcome": "Before: behind main, PR required cancelled. After: merged origin/main cleanly. CI re-running.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/claude/subagents-clinical-rag-uqa5aa", - "head": "848c15dd3da014c08ca67df2867b86c49ddf861e", + "date": "2026-07-30", + "ref": "codex/review-pr1446", + "head": "fb580a8e2ed456e727c1c8db289ca21398f6eedb", "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #609.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "outcome": "reviewed inactive tail; content superseded or WIP rejected; safe local cleanup", + "checks": "tip is ledger-only and its exact review row is already on current main; clean worktree; batch12 bundle verified" }, { "date": "2026-07-13", - "ref": "origin/claude/supabase-auth-connection-cap-8907c5", - "head": "d28cf149c36f0e44d3bde49068187f262190d74e", + "ref": "claude/pt-audit-pr6-ux-defaults", + "head": "fba18eb02acbcf5545e7aa3dd6baed3a8a3bc594", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #525; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Retained as part of a protected active workstream.", + "checks": "Protected-set match from the two-pass activity and ownership scan." }, { - "date": "2026-07-13", - "ref": "origin/claude/type-scale-mode-home-tokens", - "head": "4c55b94f15a15f7c8b418d8dba776b007fb458a3", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #512; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "codex/docs-sync-automation", + "head": "fba8ab4af465c96b8aa318f25d792fefd10e9ada", + "scope": "PR #1442 documentation synchronization automation", + "outcome": "approved after current-main conflict resolution, generated inventory refresh, and dirty-output preservation review", + "checks": "docs inventory 194/209; focused 5/5; index, links 1417, scripts 405, issues, ledger, format, diff pass; pre-commit executed successfully" }, { - "date": "2026-07-13", - "ref": "origin/claude/worker-edge-deploy-path-988cc3", - "head": "1b6f02170b485fe21ba56537ed6ed1061cc11679", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #527; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-04", + "ref": "codex/v2-design-system-phase2-performance", + "head": "fbe48e9a91616d7be4cc853be69158f92877a759", + "scope": "phase2 phone overlay reserve CLS", + "outcome": "approved after quiet-window stabilization; transient 200px publication is blocked", + "checks": "2 files/33 tests; independent exact-head review; browser CLS and anchor proof pending integration" }, { - "date": "2026-07-13", - "ref": "origin/claude/worker-server-only-boot", - "head": "964564f0477635d252238612586e1f83dda3b245", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #493; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "cursor/pr1196-coalesce-main-4711 / PR #1212", + "head": "fbe4f46ee", + "scope": "fix-forward from #1196 review: coalesce poison + fractional PDF pixels", + "outcome": "Immediate map delete on last-waiter abort for search/embedding coalescing; ceil fractional render dims before safe-integer pixel budget. Regression tests + repro script.", + "checks": "Vitest openai-cache + pdf-extraction-budget + private-access-routes: 163 passed; node repro script. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/13b19b5", - "head": "87e8f42fed22fe6f0375a73f5653ea4c3b243385", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #566; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "PR-1493", + "head": "fbe58d8045e2888d19425c901f1b96168caf944b", + "scope": "PR #1493 post-merge ingestion recovery review", + "outcome": "approved post-merge; owner-scoped document writes, lease-preserving sibling completion, per-document partial bulk results, and recovery-owner selection are coherent with existing contracts; no reproducible P0-P2 defect found", + "checks": "reviewed exact squash diff across 8 files; branch evidence 4 focused files 183 tests passed, typecheck passed, production-readiness READY; exact hosted CI and merge-tree proof passed before merge; no live provider workflow dispatched" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/21f9540", - "head": "aa58dd1f8ba40eff536ee61b13769ebb2418befc", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #503; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-21", + "ref": "claude/auto-close-next-servers-7ymzsx", + "head": "fbeb67c2e4f8a7e144d790bd3c94129b9c95cf4f", + "scope": "scripts/dev-free-port.mjs, scripts/ensure-local-server.mjs, src/lib/local-server-utils.mjs, tests/local-server-utils.test.ts, README.md", + "outcome": "approved — self-authored PR #2212, idle-timeout self-shutdown for ensure-started background dev servers", + "checks": "eslint (clean), vitest tests/local-server-utils.test.ts (5 passed), prettier --check . (clean), manual smoke test of idle shutdown against a real next dev boot" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/4eaf00f", - "head": "f6b1ce2e214ffd4875e511ad627a85a2dedcdcb6", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #518; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-25", + "ref": "PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb`", + "head": "fc0afee8324561e7937be43b6346e260cafd00a4", + "scope": "Cursor /debug CI follow-up after favicon fix", + "outcome": "Static PR still red: knip unlisted `sharp` from `optimize-public-images.mjs` (was overrides-only). Declared `sharp@0.35.3` dependency.", + "checks": "`npm run check:knip` PASS locally after declare. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/abb648e", - "head": "c6215211ac02ada5db1df81ce03a36b7714f7dd8", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #539; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "codex/issue-ledger-upload-parity-v3", + "head": "fc116cfa0cf06d359548c1bc00d383b872fb1a48", + "scope": "PR #1482 upload-parity deployment-input repair", + "outcome": "No findings; checker changes now trigger build, container, and Railway app paths", + "checks": "check:ci-scope PASS with single-file assertion; upload parity PASS; Railway config test queued behind primary live-provider lease" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/d5ab4c3", - "head": "65e5575c4f6ff364b5bc52f7698de7d75986e871", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #521; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "codex/cloud-github-connector-policy", + "head": "fc42cf0c5d7b68c055abade44682cb1c1a600608", + "scope": "PR #1447 reopen prep", + "outcome": "no high-confidence P0-P2; residual: Cursor shell-git vs connector-gap wording", + "checks": "ledger:lookup NOT REVIEWED; git diff origin/main...HEAD (AGENTS.md+docs/codex-cloud.md); check:codex-cloud PASS (prior+rerun); format:check PASS (prior); merge-tree clean (prior); no Bugbot; no GitHub mutate" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/docstrings/faac19b", - "head": "6aba3a54370fca45af926ac98e6457b24d617dc1", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #554; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-21", + "ref": "claude/ledger-231-timeout-diagnosis-6e306e", + "head": "fc593168bd4f4d905108f9ed9897a20cc274effa", + "scope": "#231 offline diagnosis: docs/rag-improvement/231-diagnosis-2026-08-22.md, docs/README.md, docs/rag-improvement/README.md A1 pointer, and four outstanding-issues inbox requests. No src/ change.", + "outcome": "Re-scoped #231. The row premise (answerRouteBudgetMs.fast binds) is falsified: the fast budget binds in 3 of 60 Gate E case-runs and three of six provider_timeout instances are on the 35s strong budget. Defect population is 9-10 of 30, not ~20 -- 12 cases never call the provider. provider_timeout and generation_quality_failed are one fault (the quality-retry ladder, which has no deadline admission check at rag.ts:3623/3709, and whose only guard at rag.ts:3698 compares against 60000 ms inside a 35 s deadline so can never fire). New defect filed: a grounded first-choice extractive answer is never quality-checked because generatedAnswerQualityFailureReason is called only inside the !grounded branch at rag.ts:3107, so the two worst answers in the capture carry no fallback reason. Second new row filed for two clinical questions answered with a document list. Merged and cancelled the colliding Phase 5 close-out request 0a0ab127, carrying its content forward. No provider call; owner declined both paid options.", + "checks": "verify:pr-local green, 11/11 completed 0 failed (check:runtime, check:installed-lock-parity, format:changed, sitemap:check, docs:check-index, docs:check-inventory, docs:check-scripts, docs:check-links, check:branch-review-ledger, check:outstanding-issues, check:ledger-write-discipline); build skipped, no build-affecting change; lint/typecheck/unit skipped as recognised low-risk docs scope; no canary (no behaviour change)" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/simplify/10f39fd", - "head": "d6d41d79d3bdb126974bb0b2605f7a82de9babb3", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #534; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "pr/1471", + "head": "fc6b890ad987ef107701d4ad05e4adf7556759d9", + "scope": "Therapy browse payload and full-prose search preservation", + "outcome": "no findings", + "checks": "13 focused tests; therapy index guard; ledger guard" }, { - "date": "2026-07-13", - "ref": "origin/coderabbitai/utg/3f739cd", - "head": "67e396f553d098156ae9de693f021fb9ed73fd94", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #556.", - "checks": "Fresh GitHub open-PR query matched this branch." + "date": "2026-07-30", + "ref": "pr/1467", + "head": "fc7abe7f7e7ecb97dc7896c16b5553256da3ad80", + "scope": "docs: close rejected Playwright cache proposal", + "outcome": "approved after current-main reconciliation; archive entry preserved", + "checks": "issue/ledger guards; docs inventory/links/scripts; Prettier; diff-check" + }, + { + "date": "2026-08-27", + "ref": "codex/therapy-compare-phone-ux (PR #2410)", + "head": "fcfaa11a07bea6c04c4c4c1b046fb0ccaca469ba", + "scope": "Run PR follow-up: second merge-drift + real bug fix + PR-policy fix", + "outcome": "Re-synced with origin/main after PR #2416 landed (mechanical conflict only in data/repo-awareness-snapshot.json, regenerated). Also found and fixed a real regression from the earlier sweep's conflict resolution: DsmCompareChrome's onCommit had dropped ids.filter(Boolean) that origin/main carries, producing ids=,bipolar-ii-disorder after removing the first of two selections instead of ids=bipolar-ii-disorder -- exactly the failure tests/ui-route-coverage.spec.ts caught in CI. Restored the filter to match main. Added the required Clinical Governance Preflight section to the PR body since the regenerated snapshot touches data/. No review threads outstanding.", + "checks": "npx vitest run tests/compare-catalog.test.ts tests/compare-ids-chrome.dom.test.tsx tests/compare-slot-strip.dom.test.tsx tests/therapy-compare-phone-layout.dom.test.tsx tests/therapy-compare-tray.dom.test.tsx tests/phone-dock-addon-contract.test.ts -- 57 passed; no provider-backed checks run" + }, + { + "date": "2026-08-08", + "ref": "cursor/forms-results-bar-documents-style-13dc", + "head": "fd148ca931ab9c023619deed98bae5af787e4253", + "scope": "sync", + "outcome": "PR #1751 unblock: CONFLICTING→MERGEABLE; 11 behind main; merge-tree clean; merge commit fd148ca9 pushed; all static+unit+build+critical CI green; Production UI (1/2/3) pending", + "checks": "merge-tree:clean,static-pr:pass,unit-coverage:pass,build:pass,production-ui-critical:pass,safety:pass,pr-policy:pass,production-ui-1/2/3:pending" }, { "date": "2026-07-13", @@ -25057,689 +25057,685 @@ "checks": "GitHub open-PR query matched this branch at classification time." }, { - "date": "2026-07-13", - "ref": "origin/codex/anonymous-document-access-tests", - "head": "4a3d954553a8c0618bd9c41baaadedd84bbca821", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #559; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." - }, - { - "date": "2026-07-13", - "ref": "origin/codex/cleanup-domain1-governance", - "head": "be0b3ebd86f717ca4478dd3fb2b2bbfeb63d5fcc", - "scope": "branch-cleanup", - "outcome": "Deleted after squash-merging recovery PR #611 as 622988f47773297cedb882b6c236c6f80712c802.", - "checks": "GitHub PR state, hosted checks, merge ancestry, and zero path diff against origin/main were verified." + "date": "2026-07-30", + "ref": "claude/latency-findings-impl-s8g01v", + "head": "fd3753b4c8cc041889c39f74a0f763edc358c183", + "scope": "PR #1459 final docs issue review", + "outcome": "PASS - no P0-P2 findings; restores open issue 105 and records deletion-guard gap", + "checks": "outstanding-issues, ledger guard, docs links, diff-check" }, { - "date": "2026-07-13", - "ref": "origin/codex/codex-review-single-pass", - "head": "950e331006fe0b2d24447ea5b5df2bb83e69799b", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #558; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-08", + "ref": "cursor/fix-differentials-compare-5c66", + "head": "fd4801b07309625780b06afef718f93799655885", + "scope": "differentials-compare-selection-handoff", + "outcome": "fixed: preserve cross-presentation compare ids via ad-hoc /differentials/compare; URL ids sync; ModeNav Compare wired", + "checks": "verify:pr-local:5709 passed; test:focused:255 passed" }, { - "date": "2026-07-13", - "ref": "origin/codex/deep-memory-live-reconcile", - "head": "59a976be639e1dede8acec65c1c14166ca71cadb", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #569; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1335 / cursor/pr-policy-caveman-docs-dc4e (merged)", + "head": "fd5651c821426605df0cb9df44236d6c67e65f41", + "scope": "open-pr-merge-sweep", + "outcome": "MERGED ledger fold. Product AGENTS/handoff already on main via #1322 (two-dot empty). Fixed Codex P2: pr-* ledger refs → resolvable branch names; resolved blocking thread (reply 403).", + "checks": "hosted-pr-required,static,circleci,resolveReviewThread" }, { - "date": "2026-07-13", - "ref": "origin/codex/domain-1-governance-remediation", - "head": "4470bad93bcd659651f1f61ffce503f77a9b4269", - "scope": "branch-cleanup", - "outcome": "Retained: 7 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/domain-1-governance-remediation; git diff --name-only reported 56 path(s)." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: #901 rerank regression closeout)", + "head": "fd5dcd1582e1c7aa8bf92ff097575e0c68aa930d", + "scope": "#901 rerank regression: baseline re-eval + offline guard net + saturated-tie fix", + "outcome": "Baseline eval-canary dispatch on remediated main b3ae061 (run 29731533081) PASSED — golden retrieval 36/36 + answer-quality green, confirming #913-#926 closed the live 4/36 regression (July 19 failing run tested the raw #901 state; fixes landed 1-8h after it, never re-evaled until now). Residual defect found by new offline repro and fixed: with byte-identical imputed fast-path primaries, selection's clamped keys tie exactly and the chunk-id fallback decides, which secondStageScore's position adjustment launders into releaseRankScore (buried the CIWA answer doc in repro); fix = contentRankScore carried on RetrievalCandidate as tie-break between clamped rerankScore and chunk id, never added to scores. Amended #901's own never-live-validated saturated-tie pin to content-rank-then-id. Guards: tests/rag-fast-path-ordering.test.ts (4 end-to-end eval-shape repros) + ranking-tuning gates (4 golden-mapped hard negatives at production weights + full-snapshot high-risk). Fixture aliases NOT changed (Step C not triggered — identity cases pass live).", + "checks": "Targeted 4-suite vitest 37/37; npm run test 2981 passed (sole fail = container-only pdf-extraction-budget artifact); verify:cheap green through all 18 pre-test checks incl. lint+typecheck; check:production-readiness PASS on substantive checks (2 FAILs = documented missing-secret class in this container); build + client-bundle scan + check:rag:fixtures PASS" }, { - "date": "2026-07-13", - "ref": "origin/codex/domain2-remediation", - "head": "7ea33b20d230f65eb5ac5f6a7386ebd0db92a6ef", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #533; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-15", + "ref": "PR #1966 / claude/ledger-review-triage-yi63ao", + "head": "fd8e0fd55dd1a49e98039bd0057fb9221e644a93", + "scope": "unblocking PR review-and-fix", + "outcome": "No confirmed PR-introduced P0-P2 defect. Merged current main cleanly; prior ledger-closure concerns are superseded by current-main evidence.", + "checks": "ledger-inbox check PASS; outstanding-issues PASS; branch-review-ledger PASS; JSON parse 11/11; current-main claim probes PASS; diff --check PASS; npm setup unavailable (npm cache sandbox)." }, { - "date": "2026-07-13", - "ref": "origin/codex/dose-fast-path-context", - "head": "26c93547d8ec46c0658bf98194fc2c5d1a6b383f", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #575; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-26", + "ref": "PR #1238 / `cursor/header-hide-top-bar-only-4fd7`", + "head": "fdc20bfedb61a2c267c22a3d78ccc8214e6c0087", + "scope": "Continue-executing: top-bar-only hide + CI green", + "outcome": "APPROVE / MERGEABLE. Root cause fixed: collapse wraps only `header#search` (+ Therapy addon); sticky hosts pin outer [top bar | search] below `chrome-safe-area-top` without translating search away; sticky-stack composers stay `relative`. Services rail overlay hardened (testids + center scrollIntoView); ui-tools accepts sticky ancestor; Therapy nav assert uses collapse-host top under safe-area spacer. Merged main safe-area + submitted-result focus rules.", + "checks": "Hosted PR required + Production UI SUCCESS on tip; contract 14/14; focused Playwright services/desktop composers 6/6, chrome-scroll 12/12, therapy-nav 1/1. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/codex/fix-48h-review-findings", - "head": "f9e0ca42c7b234a894b49bd2958e69ebb2d5810a", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #574; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-27", + "ref": "PR #1267 / `dependabot/github_actions/...`", + "head": "fdc6bdf5e235", + "scope": "Bugbot review", + "outcome": "HOLD then MERGE after workflow approval. Pin `anthropics/claude-code-action` b76a077→be7b93b (v1.0.183) SHA matches annotated tag. merge-tree CLEAN; required CI awaiting Dependabot approval.", + "checks": "pin/tag verify; merge-tree; no provider checks." }, { - "date": "2026-07-13", - "ref": "origin/codex/fix-48h-review-findings-current", - "head": "881a24242c369f768f2517d7706102cb565b731c", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #551; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-07", + "ref": "cursor/pr-1676-unblock-ledger-ef51 (PR #1677)", + "head": "fddf495b5176f570a5238b5c17326f64f333ecff", + "scope": "review-and-fix", + "outcome": "synced origin/main (behind-but-clean DIRTY; merge-tree clean; main advanced with #1684/#1666); 0 review threads; no P0/P1; no code fix; merge left to user", + "checks": "merge-tree clean vs origin/main; ledger:dedupe none; prior tip required CI green except stale PR mergeability; format unchanged; no provider gates" }, { - "date": "2026-07-13", - "ref": "origin/codex/fix-registry-indexing-health", - "head": "5046c72731d476ca3a025be8e14ece1f837c5456", - "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "date": "2026-08-18", + "ref": "codex/caring-contact-linked-mockup", + "head": "fde840e6cdddc823245f1c9f239a51aa1951f93c", + "scope": "Caring Contact linked prototype: 13 mockup routes, 17 mockup components, docs/caring-contacts, 6 test files, playwright/package script registration, mockups bundle-budget baseline", + "outcome": "Approved for draft PR — mockup-only scope, no production route/API/library change; merged up to main and re-verified", + "checks": "verify:pr-local (lint, typecheck, docs/ledger guards passed); vitest 7033 passed / 4 failed, all four cleared as pre-existing or full-suite contention (session-start-hook fails identically on untouched origin/main; other three pass in isolation); next build compiled; bundle-budget production within tolerance, mockups baseline refreshed 296.0->370.2 KiB; check:rag:fixtures 36 cases; medication interaction + lexicon checks passed; post-sync lint + typecheck exit 0" }, { - "date": "2026-07-13", - "ref": "origin/codex/indexing-health-scan", - "head": "62e1f6abc9d1090c38b6ee861cb9dfb9bf3bac45", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #572; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-31", + "ref": "PR-1160", + "head": "fe0588b86e45385bf36969e35cbed725d8178b91", + "scope": "Bugbot high-risk review and CI fix", + "outcome": "P1 sitemap formatter regression fixed; residual orphan-child and lock-wait risks recorded", + "checks": "CI logs; local sitemap generator restore; PR-branch-only push" }, { - "date": "2026-07-13", - "ref": "origin/codex/lithium-answer-recovery-pr", - "head": "43a385d207399bc33010b8d7d34c0588d358d42d", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #607.", - "checks": "Fresh GitHub open-PR query matched this branch." + "date": "2026-08-07", + "ref": "codex/docker-delivery-hardening (PR #1656)", + "head": "fe339678ca23fc794238f458f0537a33f1b76c2c", + "scope": "prlanded", + "outcome": "MERGED; tip tree empty vs squash fe339678; remote branch deleted", + "checks": "prlanded content verify; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "origin/codex/live-migration-history-alignment", - "head": "c9853c7acdc80e3c33354c3b1a32e5df2682f521", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/live-migration-history-alignment; git diff --name-only reported 12 path(s)." + "date": "2026-08-05", + "ref": "claude/privacy-notch-safe-area", + "head": "fe352adb18d3260f0646f64ef992376e1449b0de", + "scope": "Run PR sweep", + "outcome": "merged main (stale DIRTY); superseded unresolvable ledger HEAD per Devin; no product threads open", + "checks": "merge-tree clean" }, { - "date": "2026-07-13", - "ref": "origin/codex/live-remediation-apply", - "head": "f6a50117903445414facefa1b239033f2fec3313", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #568; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-12", + "ref": "PR-1835", + "head": "fe46e5ade8018d21cf15d149711579b1b43c7fb8", + "scope": "full PR diff and unresolved review feedback", + "outcome": "P1/P2 findings fixed during fresh open-PR sweep; rename-only historical review comments dispositioned no-change", + "checks": "focused drift/docs/ledger/migration checks pass; verify:pr-local static+lint+typecheck pass, unrelated Windows unit baseline failures" }, { - "date": "2026-07-13", - "ref": "origin/codex/opioid-dose-retrieval-gate", - "head": "b8c5cb785e1d52d3af05212cf2bae10d412a9869", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #571; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "codex/ingestion-fixes-current-main-20260731", + "head": "fe68a0a817213ef33ddeee35b45034656986d089", + "scope": "ingestion fixes replacement release readiness", + "outcome": "ready after fixing unreachable partial-batch handling and invalid recovery owner lookup", + "checks": "4 focused files 183 tests passed; typecheck passed; production-readiness READY; git diff --check passed" }, { - "date": "2026-07-13", - "ref": "origin/codex/please-thoroughly-review-this-repo", - "head": "47e850ee93dd5281c792eb60618f98ba2e972b8e", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/please-thoroughly-review-this-repo; git diff --name-only reported 1 path(s)." + "date": "2026-08-09", + "ref": "claude/m3-token-debt-262-261", + "head": "fe75e6acade008e68f953e235cc035f2e5d9d216", + "scope": "PR #1780 review-and-fix", + "outcome": "fixed P2 ratchet bypasses; synced origin/main (#1775); Bugbot clean; merge-tree clean", + "checks": "vitest design-system-contract-utils 32/32; check:design-system-contract; mutation CSS-exemption; verify:cheap PASS 549/5933; verify:pr-local stages PASS after adoption flake retest; check:rag:fixtures PASS; no provider gates" }, { - "date": "2026-07-13", - "ref": "origin/codex/pr-481-main-integration", - "head": "a6a9e0292395bb53a832e894c8ce10707d425e57", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor a6a9e0292395bb53a832e894c8ce10707d425e57 origin/main`." + "date": "2026-08-17", + "ref": "claude/phone-pwa-animation-bug-suooj4 (PR #2046)", + "head": "fed037e644812c3662bedf147612ca9d63c46318", + "scope": "Run PR sweep: CI recovery", + "outcome": "0 behind main, no sync needed. CI: PR required green after rerunning the codeload.github.com 429/503 infra flake (denoland/setup-deno download in Safety and config checks) once. No review threads. Only advisory GitGuardian false-positive.", + "checks": "rerun_failed_jobs on Safety and config checks; PR required: success" }, { - "date": "2026-07-13", - "ref": "origin/codex/privacy-link-only", - "head": "3ae36477f8a3b945870b545c2b0c048e597d2d29", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #557; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-24", + "ref": "cursor/calculators-show-all-mockups-7ce3 (PR #2337)", + "head": "ff09c24260e2616b7b7c7bb12e19572aa03fba85", + "scope": "Run PR sweep: CI fix", + "outcome": "Fixed real CI failure: Static PR checks failed on check:design-system-contract arbitraryTracking ratchet — tracking-[-0.01em] in show-all-chip.tsx switched to the sanctioned tracking-[var(--tracking-display)] token (folds per globals.css letterspacing scale doc). Branch was not behind main (0 behind). Sole open review thread already resolved; no unresolved threads found. PR title/body/head changed mid-sweep via a concurrent author push (Cursor cloud agent) before this fix; re-verified against the latest head before pushing.", + "checks": "npm run check:design-system-contract — pass (arbitrary tracking 0); npx vitest run tests/calculators-mode.dom.test.tsx tests/consolidated-mode-home-redirect.test.ts tests/favourites-auth-gate.dom.test.tsx tests/calculators-show-all-mockups.dom.test.tsx — 48 passed; npx eslint on changed file — clean; no provider-backed checks run" }, { "date": "2026-07-13", - "ref": "origin/codex/production-migration-history-final", - "head": "6e8eab2533df7ab2352b51223447f2dff1951a2a", + "ref": "codex/pr-520-review", + "head": "ff11093a2b3e7443d1403303586e1277d6f5bf22", "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #565; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", + "checks": "git log --right-only --cherry-pick --no-merges origin/main...codex/pr-520-review; git diff --name-only reported 6 path(s)." }, { - "date": "2026-07-13", - "ref": "origin/codex/public-anonymous-access", - "head": "afae5df9155b518f93f6046c2d11634b9cd08a42", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #529; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-30", + "ref": "PR #1459", + "head": "ff170edd26f7846902a776bf168096d2e311af7e", + "scope": "browser verification issue evidence", + "outcome": "APPROVE after fixes: completed Lighthouse and preconnect work no longer remains in the queue, and LoadingPanel verification begins with deterministic server-response HTML before optional throttling.", + "checks": "Next 16 lazy-loading implementation inspected; issue and ledger guards; docs checks; three review findings fixed" }, { - "date": "2026-07-13", - "ref": "origin/codex/rag-canary-completion", - "head": "d1b7647bde73e7d0558472ad6aa19c3b49d94639", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #612 and active worktree activity.", - "checks": "Fresh GitHub open-PR query and moving-head observation; deletion prohibited." + "date": "2026-07-31", + "ref": "codex/address-performance-issues-in-package", + "head": "ff189000487128b94ef1362d1334e97068553779", + "scope": "PR #1489 review+bugbot+fix+heavy", + "outcome": "clean product delta; fixed generator missing-source/manifest errors + exact hash filename check; #117 Source += PR #1489; dispositioned CR ledger/#1514 nits as out-of-scope; Production UI reds on prior tip unrelated to therapy assets (doc-viewer smoke + services phone-scroll); main sync merge-tree clean; no P0-P2 product defects", + "checks": "build-therapies-index --check: Therapy indexes are current (205 records); vitest therapy-compass 21/21; verify:cheap: 445 files / 4661 passed; verify:pr-local: Client bundle secret surface check passed + Offline RAG fixture validation passed (36 golden cases); format:check: All matched files use Prettier code style!; check:outstanding-issues passed; merge-tree origin/main clean" }, - { - "date": "2026-07-13", - "ref": "origin/codex/rag-canary-completion", - "head": "d1ecab038cb423de6a8c1ee0d7201b0b6f2dca06", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #612.", - "checks": "Fresh GitHub open-PR query matched this branch." + { + "date": "2026-07-24", + "ref": "fix-physics-animation-audit (PR #1142)", + "head": "ff31b9417eca4e8726bd096fd9559b618b153181", + "scope": "User-requested merge conflict resolution", + "outcome": "Before: CONFLICTING/DIRTY vs main (behind after #1138 search-interactive-perf). After: merged origin/main with ort auto-merge (no conflict markers; ledger + search-perf files landed cleanly); pushed ff31b941. GitHub now MERGEABLE (BLOCKED only on branch-protection/CI).", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/codex/rag-canary-recovery", - "head": "d6bd7fa7c0b9b29e9b7eddfd28e0478e042a0455", - "scope": "branch-cleanup", - "outcome": "Retained as part of a protected active workstream.", - "checks": "Protected-set match from the two-pass activity and ownership scan." + "date": "2026-08-15", + "ref": "codex/calculators-mode", + "head": "ff3dfa4e32e63ccf288438a6371608b42847c18e", + "scope": "calculator search-chrome documentation formatter follow-up", + "outcome": "Aligned the search-chrome ownership table to the new longest mode label after the changed-file formatter reported Markdown table drift.", + "checks": "git diff --check; ledger-inbox; outstanding-issues; branch-review-ledger; ledger-write-discipline; ci-change-scope --self-test" }, { - "date": "2026-07-13", - "ref": "origin/codex/rag-remediation", - "head": "18cf01f2100c479beb2b8a089c287e8c7d978eb8", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #553; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-28", + "ref": "PR #1292 / `codex/chat-clinical-grounding-cap-bbc4`", + "head": "ff40a2b945caf657b45cec0d662317057c63abe3", + "scope": "CI babysit + main sync + Bugbot", + "outcome": "GitHub DIRTY/CONFLICTING with clean `merge-tree` (2 behind main). Merged `origin/main` with no content conflicts. CI already green on prior tip; no product test failures. Bugbot: reviewThreads=0; product fail-closed scan clean. No comments to resolve.", + "checks": "Local overflow Vitest 1/1; ledger guard pass; awaiting exact-head hosted CI. No providers." }, { - "date": "2026-07-13", - "ref": "origin/codex/rag-review-followup", - "head": "ea56104cd658217d67a0a768ec250943bdddd8e8", - "scope": "branch-cleanup", - "outcome": "Deleted after exact source HEAD was proven squash-merged by PR #581.", - "checks": "GitHub merged-PR source HEAD matched exactly; no worktree or open PR referenced the ref at deletion." + "date": "2026-07-24", + "ref": "cursor/search-interactive-perf-af54 (PR #1138)", + "head": "ff4b293d95f922e70ebf5ee9b0c156c41a8bff3b", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Before: CONFLICTING, CI green, 0 threads. RAG impact: no retrieval behaviour change — PR is client deferred-search/UI only (no src/lib/rag/**). After: merged origin/main; conflict resolved in src/components/ui/sheet.tsx by keeping main restoreTimersRef/unmountingRef focus-restore fix; pushed ff4b293d9. Threads: none.", + "checks": "merge origin/main only; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/codex/repository-review-remediation", - "head": "29c598cd2db4fc9c00ed56f60e8ef2adb969cccf", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/codex/repository-review-remediation; git diff --name-only reported 80 path(s)." + "date": "2026-07-29", + "ref": "1391", + "head": "ff4ddfabb8d8594da0c09e04dc37e9286745140b", + "scope": "PR #1391 merge", + "outcome": "merged as 39f2bcea. Three review P2s fixed: both ui-smoke retries made idempotent (toPass re-runs after a late-landing click; the mode-menu one clicked a toggle and oscillated) plus a second guard so the <768px branch can recover at all, and #111 archived instead of left open-and-done. One Production UI red on ui-phone-scroll.spec.ts:574 was proven a flake before re-running: the delta from the passing head baecef05 was two ui-smoke guards and one docs row, neither reachable from that spec, and the PR touches no document-viewer phone-scroll surface. Re-run green", + "checks": "verify:cheap exit 0 (429 files / 4404 tests); design-token orphan guard proven red on a reintroduced class; PR required success with UI_RESULT success on re-run" }, { - "date": "2026-07-13", - "ref": "origin/codex/responsive-accessibility-audit", - "head": "de533acdf4cba2bdc1ec9e13d207b86d09968fc8", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor de533acdf4cba2bdc1ec9e13d207b86d09968fc8 origin/main`." + "date": "2026-07-17", + "ref": "codex/scrolling-cleanup-20260717", + "head": "ff77cd06c + latest origin/main sync", + "scope": "cross-page scrolling and interaction stability review", + "outcome": "Fixed two confirmed P2 defects: desktop action-popup placement performed synchronous geometry work for every captured scroll event, and submitted differential searches with zero document matches fell back to the home state. Placement is now coalesced per animation frame with passive scroll listeners, and submitted empty-evidence results remain visible. Hardened three popup/navigation browser helpers that reproduced hydration timing failures. No other high-confidence defect remains in the scoped diff.", + "checks": "Scroll-focused Chromium 28/28; final affected Chromium 5/5; source regressions 2/2; scoped ESLint; Prettier; TypeScript and production build passed before the final upstream-only sync; `git diff --check`. The aggregate local Vitest/UI runs were affected by concurrent-worktree resource contention, so exact-head hosted CI remains required before merge. No Supabase/OpenAI/live-provider checks run." }, { - "date": "2026-07-13", - "ref": "origin/codex/result-sorting-design-polish", - "head": "51028464fe8ac671923ee739e81649ee1d9e1ab3", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #560; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-08-18", + "ref": "gemini/responsive-tokens-headers (PR #2072)", + "head": "ffd54486f93039ec7f11b4b9029616fd3d8e1f88", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "Behind main (mergeable_state: behind), all check runs green or in-flight with no failures. Synced via update_pull_request_branch (human/operator BigSimmo identity); CI re-triggered on the merge commit. Review threads not yet re-swept post-sync.", + "checks": "No local gates run; no provider-backed checks run." }, { - "date": "2026-07-13", - "ref": "origin/copilot/29199485110", - "head": "4e09b838bda6a774f067b8e13717af2103502857", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/29199485110; git diff --name-only reported 16 path(s)." + "date": "2026-08-06", + "ref": "claude/pr-handoff-stop-hook (PR #1649)", + "head": "fff524d73ebfafeef7bdc50752a6d14f253ebc2e", + "scope": "Run PR sweep: CI fix + threads + drift", + "outcome": "before: 5 unresolved threads (Devin create-from-output + 4 CodeRabbit), mergeable/BLOCKED, Actions major outage leaving CI pending; after: hardened jq-less input/output separation + session fail-open + prefix unlock + tests (9 passed) in fff524d73ebfafeef7bdc50752a6d14f253ebc2e, threads replied+resolved, branch current with main, CI re-triggered (Actions outage — not babysat)", + "checks": "npx vitest run tests/pr-handoff-stop.test.ts (9 passed); bash -n hook OK; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/copilot/29202241308-fix-database-issue", - "head": "29db1aa1b29a812bf4c7eb7af5ea33371f086157", - "scope": "branch-cleanup", - "outcome": "Retained: 6 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/29202241308-fix-database-issue; git diff --name-only reported 14 path(s)." + "date": "2026-07-26", + "ref": "PR #1259 / `codex/phone-header-hidden-edge`", + "head": "head 0025d17a2c8c727d4e6cf44ae368f6448a84eeba / squash ecf54db378c8081b36c8fd62eaadbd716a1750c8", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Edge-to-edge phone header collapse + shared hide/reveal + portaled addon focus lifecycle. Supersedes earlier blocked babysit rows. Remote branch deleted by merge.", + "checks": "Hosted PR required/Production UI/Unit/Build/Static SUCCESS; focused phone-scroll/header contracts PASS; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/database-ci-setup", - "head": "45fa392a24987e4b596d80fc81528912e62d95c9", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/database-ci-setup; git diff --name-only reported 16 path(s)." + "date": "2026-07-26", + "ref": "cursor/formulation-a11y-linear2-14d4 (PR #1250)", + "head": "head 14b4e80ee41b16a80c974b6a1f8201407a0df05b / squash b91b4600171be08198e92bcf19b7d67e8207cb2f", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Formulation disabled-state accessibility (#064) on main; product two-dot diff empty vs pre-merge tip. Superseded conflicted PRs #1219, #1223, #1226, #1231, #1249 closed. Remote feature branch deleted at merge.", + "checks": "Focused Chromium formulation 7/7; verify:cheap 3473 tests; hosted Production UI + PR required SUCCESS; `git diff 14b4e80e origin/main -- formulation-builder-page.tsx ui-formulation.spec.ts` empty. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix", - "head": "f7a3d95f54248d5c71c11084d0e5b60f2a83ae98", - "scope": "branch-cleanup", - "outcome": "Redundant: the exact HEAD is an ancestor of `origin/main`; eligible for deletion when no worktree or open PR references it.", - "checks": "`git merge-base --is-ancestor f7a3d95f54248d5c71c11084d0e5b60f2a83ae98 origin/main`." + "date": "2026-07-26", + "ref": "PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d`", + "head": "head 2597dd305fd61e4e16166cccd109ff6f8eae0a33 / squash c4d5f47a39", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Phone Answer edge-dock hide/reveal, layout-clamp versus upward-intent detection, and composer focus binding, reconciled against the #1222 cross-breakpoint header. `git diff c4d5f47a 2597dd30` empty, so the content landed intact; remote branch deleted at merge; required contexts Gitleaks, PR required and PR policy all SUCCESS on the merged head. Two things worth keeping: merging `main` made the ledger's `union` driver re-append records both sides already carried, failing `check:branch-review-ledger` twice in one hour (see #082), and the final head was a `coderabbitai[bot]` auto-fix swapping an inline two-step upward scroll for the shared `scrollPrimarySurface` helper in `tests/ui-smoke.spec.ts` — an identical earlier auto-fix had been reverted on this branch, so it was re-proven rather than trusted.", + "checks": "`npm run verify:ui` 285/285 Chromium on the production build; `npm run verify:cheap` pass except the pre-existing `tests/pdf-extractor.test.ts` Python-OCR case, whose subject is absent from the diff (3437/3439 otherwise); `ui-chrome-scroll` + `ui-phone-scroll` 30/30 across phone, tablet and desktop; `use-hide-on-scroll` + `header-scroll-hide-contract` + `mobile-composer-reserve` 39/39; the CodeRabbit-modified in-flow collapse test re-run 3/3. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd", - "head": "b6097f0fbf19f82527ea95a385efb2ca7b8ec794", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-961c247e-5acb-45db-b4ed-62fcf97681cd; git diff --name-only reported 17 path(s)." + "date": "2026-07-25", + "ref": "PR #1217 / `cursor/sheet-focus-hardening-c6d3`", + "head": "head 65f7580ce4f4821f8d1ad55aa2c84b7e11ca62fe / squash 20300bb9f60dee09632fdce27d1191dde19e92b5", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Two-dot content diff of `src`/`tests` vs `origin/main` empty; `sheet-focus.ts` on main carries `canRestoreFocusTo`, `MAX_CONSECUTIVE_RECLAIMS`, the 10s event-driven settle window and no `setInterval`; `sheet.tsx` restores through `canRestoreFocusTo` at both call sites. Hosted PR required SUCCESS (Static/Safety/Unit/Build/Production UI/Advisory UI); post-merge push CI on `20300bb9` SUCCESS (CI, Docker image build, SAST, Secret Scan). Remote feature branch deleted by merge. The one red rollup entry was a `pull_request_target` PR Policy run cancelled by its own successor, which reported SUCCESS.", + "checks": "`gh pr view` state=MERGED mergedBy=BigSimmo; `git diff origin/main HEAD -- src tests` empty; `git show origin/main:...` symbol checks; `gh run list --branch main` on the squash commit. No provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-again", - "head": "0b2d29a143926279b327ff302c2de3d5fe0edbc5", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-again; git diff --name-only reported 8 path(s)." + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "head 7f9c56c148fbd743ea3b48fe86c67461c42fc0f4 / squash 5d6f06156f0370427361343f249bf1d7f180e874", + "scope": "prlanded after squash merge", + "outcome": "LANDED. IMP-04 dead mockup/primitive export prune intact on main. CodeRabbit ledger thread dispositioned. Remote branch deleted by merge.", + "checks": "Hosted PR required/Production UI/Static/Unit/Build SUCCESS; `git diff` tip vs main empty; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-another-one", - "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", - "scope": "branch-cleanup", - "outcome": "Retained: 22 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-another-one; git diff --name-only reported 9 path(s)." + "date": "2026-07-26", + "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", + "head": "head 83419c98fea9385df9beb10a9062d2dc7289f0f0 / squash dbcd4cea605ee7f5af8f2f9b5ff22d18385131ea", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Mode-switch lag/portal keep-alive; Documents cross-mode ownership fixed; submitted-param hard-load P2 seeded for `run=1`+query only. Codex thread resolved then squash-merged. Remote branch deleted by merge.", + "checks": "Hosted PR required/Production UI/Static/Unit/Build SUCCESS; verify:cheap PASS pre-merge; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-barriers", - "head": "8711ee2b15c3b9a1a0e8444ba2ee799d6c5e6ab7", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-barriers; git diff --name-only reported 3 path(s)." + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "head b5aa92f0febbd0425c5f3d809356946a7d2371f5 / squash 4d54abfa4d467b16e5e2f0fe3f16b8b3b52bc967", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Provenance/governance UI tokens, citation telemetry, threshold inclusivity (`lt`/`lte`/`gt`/`gte`), locality audit kept out of offline pr-local. Supersedes earlier DO NOT MERGE babysit rows after thread resolve + green CI. Remote branch deleted by merge.", + "checks": "Hosted PR policy/PR required/Static/Unit/Build/Production UI/Migration SUCCESS; Codex P1 thread resolved; no provider-backed evals." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-ci-issues", - "head": "5f1c6f64a544705df9df970e09da3b85f0d90efa", - "scope": "branch-cleanup", - "outcome": "Retained: 8 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-ci-issues; git diff --name-only reported 7 path(s)." + "date": "2026-07-26", + "ref": "PR #1257 / `cursor/therapy-search-trim-e63e`", + "head": "head b80a3810819846760e862e1d0d4aa746ae6b0237 / squash 024ebffdf753b8487af4615768d19d882b27d2b7", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Therapy search intro/local query field removed; Codex sidebar assertion thread resolved on tip. Remote branch deleted by merge.", + "checks": "Hosted Production UI + PR required SUCCESS; merge-tree clean; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-database-action-error", - "head": "7ff6c547e55100d7dfff912530e006f0a5ee70a2", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-database-action-error; git diff --name-only reported 6 path(s)." + "date": "2026-07-26", + "ref": "PR #1212 / `cursor/pr1196-coalesce-main-4711`", + "head": "head b88d69bb1dc1aa6c6ca8f34f3df3641801b60bd0 / squash a9920e3fc29fce9ad2ffb547811e085a708680b9", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Search/embedding coalesce poison + fractional PDF pixel budget on main. GitHub CONFLICTING was stale drift; merge-tree clean before sync. Remote branch deleted by merge.", + "checks": "Hosted PR required/Production UI/Unit/Build/Static SUCCESS on tip; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-database-action-run-issues", - "head": "de36fd3ef8aa101e75a22fab8ff15940bb241e00", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-database-action-run-issues; git diff --name-only reported 6 path(s)." + "date": "2026-07-26", + "ref": "PR #1238 / `cursor/header-hide-top-bar-only-4fd7`", + "head": "head db4390b3814910d0210497e2982414904f2e0704 / squash cdbe0e662366f9308813e8d5fe8951ca11a47d6b", + "scope": "prlanded after squash merge", + "outcome": "LANDED. Top-bar-only hide-on-scroll with sticky search stack below `chrome-safe-area-top`; two-dot content diff empty vs `origin/main`. Remote feature branch deleted at merge. Required CI green at merge (PR policy, PR required, Production UI).", + "checks": "`gh pr view` MERGED; `git diff origin/main db4390b3` empty; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-failing-ci", - "head": "d248707d09f62bb153d0eece69b4f7f4e8aeb7dc", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci; git diff --name-only reported 36 path(s)." + "date": "2026-07-25", + "ref": "PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0` (supersedes #1188)", + "head": "merge 8e3a49d0449ec2c1b8e4e10f6cd500c0c8c9550b", + "scope": "prlanded after safe close+#1213 land", + "outcome": "LANDED. #1188 CLOSED (not merged). #1213 squash-merged to main after PR required green (Production UI/Static/Unit/Build/Migration). Content verified on main: dashboard-notices extract, indexing-v3 utils `export async function sha256Hex`, Sheet autofocus defense. Remote feature branch deleted by merge.", + "checks": "Hosted CI run 30165248633 success; gh pr merge squash; git cat-file content checks on origin/main. No provider calls." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-failing-ci-again", - "head": "28dacd7f19320bcbf2b03e5e40c7e97fc46a80cd", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci-again; git diff --name-only reported 40 path(s)." + "date": "2026-07-24", + "ref": "PR #1135 / `cursor/sitewide-design-ux-review-6176`", + "head": "merge origin/main @ 3d6954a3", + "scope": "babysit: re-merge main after #1133; renumber UX archive IDs", + "outcome": "CONFLICTING after `main` advanced with database-interface audit. Kept product UX fixes; rebuilt `docs/outstanding-issues.md` from `origin/main` and archived sitewide UX defects as collision-free `#070`–`#074` (provisional PR IDs `#068`–`#072` collided with main `#068` drift-manifest / `#069` table-facts profile). Native-`disabled` CodeRabbit ask remains declined (focusable coming-soon contract).", + "checks": "Local merge conflict resolution only; hosted CI pending on merge commit. No provider-backed gates." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-failing-ci-another-one", - "head": "59207b23fe88a23b0e2f3a6d7f1a288e0cca5132", - "scope": "branch-cleanup", - "outcome": "Retained: 3 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-failing-ci-another-one; git diff --name-only reported 36 path(s)." + "date": "2026-07-26", + "ref": "PR #1241 / `cursor/imp04-prune-dead-exports-01f2`", + "head": "merge origin/main 6fd8902b", + "scope": "Main sync after GitHub CONFLICTING", + "outcome": "SIMPLE. Staleness behind #1256/#1246/#1252/#1251. `git merge-tree` clean; only overlapping path was append-only ledger. Dropped 2 exact-duplicate #1238 rows re-appended by union driver (kept earlier copies). No product conflict markers; IMP-04 prune surface unchanged.", + "checks": "merge-tree clean; merge ort; `check:branch-review-ledger`; no provider calls." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-issue-in-database-action", - "head": "82c0e87224880ccbeee39f4101e98cf29683f74f", - "scope": "branch-cleanup", - "outcome": "Retained: 6 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-issue-in-database-action; git diff --name-only reported 66 path(s)." + "date": "2026-07-26", + "ref": "open-PR hygiene (merge-ready keep)", + "head": "multi", + "scope": "Confirm clean supersedes after Antigravity closures", + "outcome": "KEEP OPEN / MERGE-READY: #1241 IMP-04 (PR required green), #1239 page-anchored composer (PR required green), #1200 typography supersede (Production UI pending), #1224 ledger docs (CLEAN). Noted on each PR. #1231 leave open (outstanding-issues.md conflict only). #1212 leave open (GitHub DIRTY; needs worktree sync). Drafts #1227/#1199 untouched.", + "checks": "gh pr checks + merge-tree classify; comments posted. No merges to main." }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-issue-with-database-connection", - "head": "67f5bb2744939922ceb280fab8785ee0259b26f2", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-issue-with-database-connection; git diff --name-only reported 1 path(s)." + "date": "2026-07-24", + "ref": "open-PR conflict sweep (13 clean + 5 conflicted)", + "head": "multi-head", + "scope": "Conflict fix sweep", + "outcome": "Merged origin/main into #1124 #1140-1142 #1146-1148 #1153 #1156-1158 #1167 #1169 #1171 #1172 (clean). Resolved conflicts on #1131 #1134 #1153 #1167 #1162. All 18 open PRs mergeable after sweep.", + "checks": "merge-tree classify + per-PR merge; focused private-access tests on #1162; Bugbot on #1162; no provider-backed checks" }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-one-more-time", - "head": "2682cbade791fc07f09d23fa11908eead223d3c7", - "scope": "branch-cleanup", - "outcome": "Retained: 2 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-one-more-time; git diff --name-only reported 0 path(s)." + "date": "2026-07-24", + "ref": "open-PR conflict sync (20 PRs)", + "head": "multi-head", + "scope": "Conflict resolution pass", + "outcome": "Before: 8 PRs behind/dirty (#1124 #1131 #1162 #1169 #1174-1177). After: merged origin/main into all; all 20 open PRs MERGEABLE behind=0 (BLOCKED only by CI/reviews).", + "checks": "merge origin/main per branch; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-please-work", - "head": "2f55346e72555500d17a08be02e6b649daa1a7cc", - "scope": "branch-cleanup", - "outcome": "Retained: 1 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-please-work; git diff --name-only reported 5 path(s)." + "date": "2026-07-24", + "ref": "open-PR conflict sync (22 PRs)", + "head": "multi-head", + "scope": "Conflict resolution pass", + "outcome": "Before: all 22 open PRs behind/dirty vs main (several CONFLICTING/DIRTY). After: merged origin/main into every open head; all pushes OK; merge-tree classified 22/22 clean.", + "checks": "merge origin/main per branch; check:branch-review-ledger on #1172; no provider-backed checks run" }, { - "date": "2026-07-13", - "ref": "origin/copilot/fix-yet-again", - "head": "c57bc8af5570a5fc69fa0f804f67cfa98df76b89", + "date": "2026-07-27", + "ref": "branch-cleanup aged and closed-ref batch", + "head": "multi-head", "scope": "branch-cleanup", - "outcome": "Retained: 5 patch-unique non-merge commit(s) remain and ownership or merge disposition is unresolved; deletion blocked.", - "checks": "git log --right-only --cherry-pick --no-merges origin/main...origin/copilot/fix-yet-again; git diff --name-only reported 12 path(s)." + "outcome": "REMOVED. Deleted 36 clean branch-backed worktrees older than 72 hours while retaining their refs, then deleted 16 old temporary or exact closed-PR local refs and 11 exact closed-PR remote refs after verified recovery bundles. Restored and retained one permission-locked Antigravity worktree; retained all dirty, open-PR, recent, archive/preserve, secret-bearing, high-risk, divergent, detached, or potentially useful UI refs.", + "checks": "Fresh GitHub open/all/closed PR inventories; 72-hour creation/closure cutoff; exact tip checks; four verified incremental bundles for 21 refs in this pass; no force worktree removal, application tests, or provider-backed application workflows run." }, { - "date": "2026-07-13", - "ref": "origin/dependabot/github_actions/actions/checkout-7", - "head": "791b3cc27c43651bdecca3f154c506f51d110d8d", + "date": "2026-07-27", + "ref": "branch-cleanup exact merged-head batch", + "head": "multi-head", "scope": "branch-cleanup", - "outcome": "Retained for open PR #541.", - "checks": "GitHub open-PR query matched this branch at classification time." + "outcome": "REMOVED. Deleted 30 additional clean worktrees and 34 additional local branches whose exact tips matched GitHub merged PR head records. Preserved the newly merged `codex/settings-ux` worktree under a recent-work grace rule, along with all checked-out, dirty, open-PR, closed-unmerged, secret-safeguarded, process-locked, or unmatched refs.", + "checks": "GitHub merged/open PR head inventory; exact OID match immediately before removal; no force worktree removal; no application tests or provider-backed application workflows run." }, { - "date": "2026-07-13", - "ref": "origin/dependabot/npm_and_yarn/eslint-10.7.0", - "head": "4f0160b26ff9c9f24817a9972e11d5d77310a3f3", + "date": "2026-07-27", + "ref": "branch-cleanup merged/equivalent batch", + "head": "multi-head", "scope": "branch-cleanup", - "outcome": "Retained because the ref is attached to or anchors a protected worktree.", - "checks": "Fresh worktree, status, lock, and path-referencing process scan." + "outcome": "REMOVED. Deleted 63 clean inactive worktrees, 64 local branches, and 2 remote branches only after `origin/main` ancestor or cherry-pick-equivalence proof. Retained the primary/current branches, all open-PR heads, 42 dirty worktrees, patch-unique or ambiguous refs, two secret-safeguarded worktrees, and two process-locked worktrees restored after removal refusal.", + "checks": "Fresh `git fetch --prune origin`; reconciliation preflight 209 worktrees / 42 dirty / 0 active Git operations / 0 matching worktree Node processes; verified incremental recovery bundle for 20 non-ancestor equivalent refs; no application tests or provider-backed application workflows run." }, { - "date": "2026-07-13", - "ref": "origin/dependabot/npm_and_yarn/eslint-10.7.0", - "head": "cb724b649082bcaf7046a5a8fd913c6ae603dd31", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #547.", - "checks": "GitHub open-PR query matched this branch at classification time." + "date": "2026-07-27", + "ref": "open-PR recommendation implementation (Cursor)", + "head": "multi-head", + "scope": "Implement review recommendations safely", + "outcome": "CLOSED #1261/#1262/#1263 without merge (unsafe audit lineage). Pushed fixes: #1273 type-scale + phone-frame scroll + PriorityDock selection; #1275 prefetch source-contract tighten; #1280 rail MutationObserver + main sync; #1281 StepBuilderCard completeness + clipboard draft test (automerge temporarily disabled to land polish). Opened #PDF-137 salvage branch for exit-code 137. Dependabot #1267-1269 left HOLD — workflow approve/update-branch 403 for this integration token; no merge to main.", + "checks": "type-scale strict PASS; focused Vitest safety-plan 3/3 and prefetch contract 1/1 and band 9/9; PDF extractor pymupdf tests skipped in this VM; no provider-backed checks; no main merges." }, { - "date": "2026-07-13", - "ref": "origin/dependabot/npm_and_yarn/typescript-7.0.2", - "head": "5e7ff09e9b24f54b719a36876ae6dad2283a6232", - "scope": "branch-cleanup", - "outcome": "Retained for open PR #545.", - "checks": "GitHub open-PR query matched this branch at classification time." + "date": "2026-07-27", + "ref": "open-PR review + Bugbot sweep (Cursor)", + "head": "multi-head", + "scope": "Fresh review of all open PRs + pr-bugbot on each head", + "outcome": "Reviewed 10 open PRs after #1277 merged. No hosted `cursor[bot]` Bugbot comments existed on any PR; ran repo `pr-bugbot` triage per head instead. Cluster: close #1261/#1263 (unsafe audit lineage); salvage/rebuild only thin #1262 bits; hold Dependabot #1267→#1268→#1269 pending workflow approval; fix #1273 type-scale + mockup UX before design trust; sync #1275 and restore ledger from main; #1280 blocked by unrelated Loading-answer strict-mode flake; #1281 sound clinical follow-up with two P2 polish items.", + "checks": "merge-tree classification; gh PR/CI/thread inventory; pr-bugbot review-only agents; no provider-backed checks; no PR mutations." }, { - "date": "2026-07-13", - "ref": "origin/main", - "head": "528a1752f41cd29a518ca9341c93c724030173ae", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained.", - "checks": "Final refreshed origin/main snapshot before the ledger PR." + "date": "2026-07-25", + "ref": "open-pr-babysit-continuation-20260725", + "head": "multipass", + "scope": "(recorded with Outcome)", + "outcome": "Babysit continuation after 14 merges: #1177 landed; #1174/#1178/#1153 in progress; drafts #1187/#1192 skipped; large cluster #1162/#1185/#1186/#1188/#1190 content-conflicted (skip).", + "checks": "merge-tree inventory; no provider-backed checks." }, { - "date": "2026-07-13", - "ref": "origin/main", - "head": "7ecade0b4e4ee611f8a5b5f168b2061f9f3370d7", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained.", - "checks": "Resolved as `main` / `origin/main`; deletion prohibited." + "date": "2026-07-25", + "ref": "open-pr-babysit-sweep-20260725", + "head": "multipass", + "scope": "Babysit continuation: approved action_required workflows; Sources autofocus fix on #1141; ledger dedupe #1157; outstanding-issues merges #1175/#1177; skipped non-trivial conflict clusters #1162/#1185-1190/#1187 draft", + "outcome": "gh checks + merge-tree", + "checks": "in-progress" }, { - "date": "2026-07-13", - "ref": "origin/main", - "head": "d88fdafb15471f02de7f85e2426f5ea46e13ebb8", - "scope": "branch-cleanup", - "outcome": "Protected base branch retained.", - "checks": "Resolved as main / origin/main; deletion prohibited." + "date": "2026-07-14", + "ref": "local branches (5 refs)", + "head": "multiple SHAs", + "scope": "local branch cleanup", + "outcome": "Safely deleted 5 local branches that were squash-merged or had no changes (including `claude/canary-latency-recalibration`, `claude/process-hardening-consolidation`, `codex/fix-registry-indexing-health`, `codex/pr-556-sync`, and `codex/pr-597-fix`).", + "checks": "Verified diff was identical to origin/main and confirmed MERGED status on GitHub." }, { - "date": "2026-07-13", - "ref": "origin/main (detached review worktree)", - "head": "c523cabeae4b68ebdf569ecbc18d9f5a7b5afbf1", - "scope": "repo-wide audit", - "outcome": "Changes requested: one P1 clinical-answer trust cluster; three P2 tenancy/reindex guardrail issues; three P3 information-disclosure, dead-code, and transitive-deprecation cleanup items. No P0 found.", - "checks": "`npm run verify:cheap` (1,721 passed, 1 skipped); `npm run test:coverage` (thresholds passed); `npm run build`; `npm run verify:ui` (137/137); `npm run eval:rag:offline` (36 fixtures, 60 tests); format, Edge Function, Codex workflow, import/secret/dead-reference scans. Provider-backed checks skipped." + "date": "2026-07-14", + "ref": "multiple remote branches (16 refs)", + "head": "multiple SHAs", + "scope": "remote branch cleanup", + "outcome": "Safely deleted 16 fully merged and redundant remote branches on origin (including `claude/canary-gate-fixes`, `claude/codebase-index-coverage`, `claude/design-elevation-e1e2`, `claude/design-sync-fixes-p1`, `claude/docs-script-linter`, `claude/document-image-viewer-review-ox7t11`, `claude/generation-token-starvation-fix`, `claude/github-actions-codex-issue-f4t4s5`, `claude/hero-composer-hydration`, `claude/pdf-signed-url-refresh`, `claude/pt-audit-monitor-marker-fix`, `claude/pt-audit-pr2-variant-early-exit`, `claude/pt-audit-pr4-trust-copy`, `claude/pt-audit-pt17-live-monitor`, `codex/eval-canary-quota-handling`, and `cursor/clean-sentry-lockfile-orphans-74cf`).", + "checks": "Confirmed zero unique commits against origin/main and MERGED/CLOSED status on GitHub via `gh pr list`." }, { - "date": "2026-07-13", - "ref": "origin/railway/code-change-MTk6ya", - "head": "540b07816b4f0f804e4270566fb3b757b852cf06", - "scope": "branch-cleanup", - "outcome": "Redundant: exact source HEAD was squash-merged by PR #462; eligible for deletion when unreferenced.", - "checks": "GitHub merged-PR source HEAD matched exactly." + "date": "2026-07-26", + "ref": "open-PR babysit sweep (Cursor)", + "head": "origin/main @ ecf54db378c8081b36c8fd62eaadbd716a1750c8", + "scope": "triage + close + sequential land", + "outcome": "Queue cleared. Closed #1255/#1253 as unsafe/superseded. Squash-merged useful #1257, #1212, #1241, #1248, #1254, and late-arriving #1259 after CI green + thread triage. Open PR count 0 at closeout.", + "checks": "Per-PR hosted required CI green at merge; merge-tree used to classify GitHub CONFLICTING as staleness vs real conflicts; no provider-backed checks." }, { - "date": "2026-07-11", - "ref": "claude/mobile-search-bar-fix (PR #456)", - "head": "b73196c2e2e4a536804cdcdb50879c29e2c582c5", - "scope": "PR required-testing review", - "outcome": "All 4 Advisory UI regression failures confirmed PR-caused via A/B against pre-merge main (01f2cee0d): the 640px mode-home query moved the phone composer out of the hero, contradicting the design tests; residual ≥640px vanish remained when the slot never mounts. PR merged (b32c17b34) before the rework landed; follow-up fix shipped on `claude/mode-home-composer-hero-fix` (0px hero query restored, portal-outcome inline fallback, new `@critical` composer-presence test). Also found: main CI red on every push — missing `RAG_QUERY_HASH_SECRET` secret fails the deployment boot smoke and skips `release-browser-matrix`; owner adding the secret.", - "checks": "Local chromium A/B (PR head 4/5 fail vs baseline product-pass); rework targeted run 6/6 pass incl. new `@critical`; `npm run typecheck`; `npm run lint`; focused Prettier check" + "date": "2026-07-24", + "ref": "codex/apply-phone-layout-to-all-home-pages (PR #1124)", + "head": "pending", + "scope": "Babysit: ledger dedupe + merge readiness", + "outcome": "Before: Static PR failed on exact duplicate ledger rows after main sync. After: removed duplicate rows; squash auto-merge armed.", + "checks": "check:branch-review-ledger PASS; no provider-backed checks run" }, { - "date": "2026-07-11", - "ref": "codex/architecture-review-followup", - "head": "f5deaaee98864f1d32c1060ae14966a4f5975872", - "scope": "coderabbit-test-followup", - "outcome": "Removed probabilistic no-collision assertions from the local identity test and replaced them with deterministic normalization, repeatability, ID-shape, and port-range checks.", - "checks": "Local-server Vitest (2 passed); focused Prettier; `git diff --check`; hosted CI/SAST/Secret Scan passed on the reviewed head" + "date": "2026-07-26", + "ref": "PR #1231 / `cursor/formulation-accessibility-linear-14d4`", + "head": "pending", + "scope": "Open-PR hygiene: resolve outstanding-issues conflict", + "outcome": "Merged origin/main; kept PR `#064` linear-ready detail and added main `#082` bot-sync row; pushed.", + "checks": "conflict resolve only; no provider calls." }, { - "date": "2026-07-11", - "ref": "codex/architecture-review-integration", - "head": "665103250ccc33b5870862b8d8467607a1ae5d23", - "scope": "coderabbit-followup", - "outcome": "Fixed POSIX project-root identity collisions and closed dynamic-import and self-cycle gaps in the architecture regression guard.", - "checks": "Local-server Vitest passed; architecture-boundaries Vitest passed (6 tests); `npm run typecheck`; focused Prettier; `git diff --check`" + "date": "2026-07-26", + "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", + "head": "pending final pushed head after ledger append", + "scope": "PR babysit: sync main + Codex P2 submitted-param seed", + "outcome": "Before: GitHub reported DIRTY/CONFLICTING while `git merge-tree --write-tree origin/main 7250d6d38269b734d903f9995782a4eedeaeebcb` was clean; branch was 1 behind main with 1 unresolved Codex P2. Merged `origin/main` cleanly, dropped one exact-duplicate PR #1241 ledger row reintroduced by the union driver, and fixed the P2 by deriving standalone shell chrome from `window.location.search` via `useSyncExternalStore` before the delayed `useSearchParams` bridge hydrates. Hosted CI, thread reply/resolution, and squash merge to main remain the final babysit gates.", + "checks": "`npm run test -- --run tests/search-route-ownership.test.ts` PASS (12/12); `npm run lint` PASS; `npm run check:branch-review-ledger` PASS; `npm run verify:cheap` PASS (393 files; 3505 passed / 5 skipped); no provider-backed checks." }, { - "date": "2026-07-11", - "ref": "codex/architecture-review-integration", - "head": "b45df727b29aad8ba4ec5d4e96d1f0599d7dad8a", - "scope": "branch-integration-review", - "outcome": "Replayed the reviewed architecture fixes onto current `origin/main`; preserved current CI/autofix history and found no new high-confidence defect in the integrated diff.", - "checks": "`npm run check:runtime`; `npm run check:github-actions`; `npm run sitemap:check`; `npm run lint`; `npm run typecheck`; focused Vitest (24 passed); full Vitest with `--testTimeout=30000` (1,433 passed, 1 skipped); `git diff --check`" + "date": "2026-07-26", + "ref": "PR #1248 / `cursor/fix-mode-switch-lag-22f6`", + "head": "pending final pushed head after UI CI fix", + "scope": "PR babysit: Production UI failure fix", + "outcome": "Supersedes the prior PR #1248 babysit row for hosted CI closeout. Production UI failed only on two branch-adjacent chrome tests after the P2 fix: restricted the browser query fallback to submitted searches (`run=1` + `q/query`) so route-owned query pages do not adopt submitted chrome, and aligned the phone-scroll reserve-transition assertion with the `data-reserve-transitioning` marker for no-dock/expired-marker states.", + "checks": "Hosted log diagnosis from run `30187649755`; local exact Chromium production rerun `npm run test:e2e:pr -- tests/ui-phone-scroll.spec.ts tests/ui-tools.spec.ts --grep \"formulation/builder\\\\?mechanism=rumination|differentials presentation comparison\"` PASS (2/2); no provider-backed checks." }, { - "date": "2026-07-11", - "ref": "codex/design-ux-review-integration", - "head": "98093ec7b", - "scope": "branch-integration-review", - "outcome": "Replayed the reviewed design and UX fixes onto current `origin/main`, preserved the lightweight evidence-panel boundary, and retained the merged quality fixes.", - "checks": "`npm run check:type-scale`; combined focused Vitest (8 files, 42 tests); runtime/action/sitemap/type-scale/lint stages of `verify:cheap`; typecheck blocked by stale worktree dependencies pending hosted clean install; `git diff --check`" + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "pending pushed head after CodeRabbit follow-up", + "scope": "PR babysit: evidence false-positive hardening", + "outcome": "Follow-up to the prior #1254 row after CodeRabbit re-opened evidence threads on the pushed head. Fixed scoped source-governance issues: bare `clozapine` now only binds its own dose comparator when the captured threshold is mg-qualified; table/prose same-value unknown comparator is compatible with known comparator; cross-source conflicts require document-level disagreement rather than one internally inconsistent document plus another source repeating one side. Production UI hosted failure was a single `/tools` strict-locator browser flake; exact local production rerun passed. PR body metadata and reply/resolve remain blocked by missing GitHub write tooling in this run.", + "checks": "`npm run test -- tests/evidence.test.ts` PASS (26/26); `npm run typecheck` PASS; `npm run lint` PASS; `npm run build` PASS; `npm run check:rag:fixtures` PASS; exact local `npm run test:e2e:pr -- tests/ui-tools.spec.ts --grep \"mode home search is centered at desktop width on /tools\"` PASS (1/1). No provider-backed checks run." }, { - "date": "2026-07-11", - "ref": "codex/pr-check-followup", - "head": "298e8f5bec2a4673dd225da3f446f008b8f25953", - "scope": "residual-pr-check-hardening", - "outcome": "Ported only the three PR-check improvements not already merged by PR #454: pinned Supabase CLI/cache ownership, advisory Semgrep coverage for Edge Functions, and regression guards for both contracts.", - "checks": "`npm run check:github-actions`; `npm run check:ci-scope`; focused Prettier; `git diff --check`" + "date": "2026-07-26", + "ref": "PR #1254 / `apply-audit-remediation-fixes`", + "head": "pending pushed head after Production UI locator hardening", + "scope": "PR babysit: Production UI strict-locator rerun fix", + "outcome": "Hosted Production UI failed twice on different `tests/ui-tools.spec.ts` strict locators because duplicated page containers under `mobile-composer-reserve-pad` made `getByTestId(...)` ambiguous in full-suite browser state. Product code unchanged; tests now scope to visible/current page containers and the metrics helper measures a visible home container. PR body metadata and review-thread reply/resolve still require GitHub write tooling unavailable in this run.", + "checks": "Exact local production rerun `npm run test:e2e:pr -- tests/ui-tools.spec.ts --grep \"mode home search is centered at desktop width on /tools|13YARN service detail is usable at mobile\"` PASS (2/2). No provider-backed checks run." }, { - "date": "2026-07-11", - "ref": "codex/quality-review-integration", - "head": "d3fcef8bbc9ab12b929771421b532c1ed8b7e1e7", - "scope": "branch-integration-review", - "outcome": "Replayed the quality, testing, and TypeScript fixes onto current `origin/main` and consolidated the stronger standalone auth callback coverage into this branch.", - "checks": "Changed-file Prettier; focused Vitest (5 files, 23 tests); `git diff --check`; original branch full Vitest/coverage/lint/typecheck and targeted Chromium evidence retained" + "date": "2026-07-25", + "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", + "head": "pending-ci-retrigger", + "scope": "CI unblock after bot sync", + "outcome": "Hosted pr-branch-sync merged main onto tip (`68d0ceaab`), leaving CI `action_required` for bot-authored runs. Pushing agent commit to re-trigger non-bot CI before squash-merge; then close #1190.", + "checks": "Local pwa-manifest 8/8; trust gate present; prior unit failure fixed. No provider-backed checks." }, { - "date": "2026-07-11", - "ref": "codex/repository-review-remediation", - "head": "70ec6409a11a85e1678eb4b320519624673a94a0", - "scope": "comprehensive repository report remediation", - "outcome": "Revalidated all 17 findings from the 2026-07-09 comprehensive review. Remediated the current workflow injection, document scope, numeric faithfulness, ingestion lease/ownership, transactional enrichment replacement, request and upload budgets, browser identity isolation, PHI retention, public DTO, cache cancellation/versioning, evidence labelling, modal focus, misleading controls, telemetry, orphan-module issues, and two server/client loading-boundary failures exposed during browser QA. The runbook filename was already fixed on the reviewed head.", - "checks": "TypeScript, lint, focused Vitest (68/68), full offline Vitest (1,607/1,607; 1 skipped), production build, client-bundle secret scan, Docker schema replay and regenerated drift manifest, isolated full migration reset, local lease-reclaim concurrency proof, cache/enrichment SQL smoke, configured production-readiness (`READY`), Chromium document-scope/modal QA (4/4), manual disabled-control accessibility snapshots, and `git diff --check` passed. Read-only live drift found 26 unexpected differences, including the three unapplied remediation functions; no live mutation was performed." + "date": "2026-07-25", + "ref": "cursor/pr1190-dark-mode-salvage-f453 (PR #1214)", + "head": "pending-ci-retrigger-2", + "scope": "CI unblock + skip-branch-sync", + "outcome": "Repeated pr-branch-sync bot merges left CI `action_required`. Applied `skip-branch-sync` label and agent retrigger so required checks can finish for squash-merge; then close #1190.", + "checks": "Hosted CI pending on tip; no provider-backed checks." + }, + { + "date": "2026-07-25", + "ref": "cursor/sidebar-six-item-land-cfa0 (PR #1174)", + "head": "pending-merge", + "scope": "CORRECTION: clarify sync vs product merge for the d97c11e6 content-proof row", + "outcome": "The earlier \"from `cd54e68f` onto main\" / \"merged onto current main\" wording meant the feature branch was synchronized with `origin/main` (main merged into the feature branch); the six-item sidebar product change is not yet on `main` until this PR merges. Date 2026-07-25 on the c44a5c53 sweep row is the actual execution date (not future-dated).", + "checks": "CodeRabbit threads on ledger/OI wording; no provider-backed checks run." }, { - "date": "2026-07-11", - "ref": "codex/responsive-accessibility-audit", - "head": "66883b7c86f606e617db4bee2bab6f85fff59bdc", - "scope": "responsive and accessibility audit", - "outcome": "P2 fixed: the mobile expandable clinical table no longer wraps semantic table content in a duplicate ARIA button, and its full-screen dialog now traps keyboard focus while preserving Escape dismissal and focus return. Added responsive ARIA and focus regression coverage. No additional high-confidence responsive or accessibility defect was reproduced across audited primary app modes and 320px-1440px widths.", - "checks": "Multi-width DOM/geometry/contrast audit; a11y media (2/2); overlap (12/12); table Vitest (6/6); TypeScript; lint/static checks; full Vitest (1,598 passed, 1 skipped); `npm run verify:ui` (132/132); Prettier; `git diff --check`. Provider checks skipped." + "date": "2026-07-24", + "ref": "cursor/pr-queue-hygiene-72ec", + "head": "pending-push", + "scope": "PR queue hygiene", + "outcome": "Add pr-branch-sync workflow + sync:pr-branches helper; bump postcss to clear npm audit high; document anti-churn guidance in AGENTS/process-hardening/pr-babysit/run-pr.", + "checks": "check:github-actions PASS; docs:check-scripts/index PASS; vitest sync-open-pr-branches 3/3; npm audit high clean; no provider-backed checks run" }, { - "date": "2026-07-11", - "ref": "PR #461 / claude/differentials-search-ux-polish-f2ff06", - "head": "8bf455325b0915898417dd66aa61d419080c5528", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "Preserved diagnosis selections through workflow-aware comparison routing, constrained cross-workflow IDs to supported candidates, and removed comparison controls from presentation rows. Restored all four required core UI smoke markers and hardened answer/search mocks against invalid payloads and stale-response races.", - "checks": "Focused differential Vitest (22/22); TypeScript; full required CI, advisory Chromium, CodeRabbit, Semgrep, Gitleaks, and GitGuardian passed on the final head." + "date": "2026-07-25", + "ref": "`cursor/typography-audit-fixes-1c1e` (supersedes #1185)", + "head": "pending-push", + "scope": "Clean cherry-pick of typography audit tip onto `origin/main`", + "outcome": "APPROVE-ready local. Scope is only font-stack + mockup heading/truncation/tabular-nums. No conflict markers. Highest residual risk: visual-only mockup/CSS change; unrelated Vitest flakes seen locally (pdf-extractor SIGKILL, reconciliation-preflight timeout) not tied to this delta.", + "checks": "`npm run verify:cheap`: lint+typecheck+static gates pass; Vitest 3379 pass / 2 env flakes. No provider/UI matrix." }, { - "date": "2026-07-11", - "ref": "PR #466 / claude/search-timeout-failure-s6aiuj", - "head": "54d52292eeb9e1c7856b3dad89d1b72e0d49fd53", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "P2 fixed: SSE progress/token/error emission now tolerates a client cancellation racing an enqueue, so the catch path cannot throw while reporting the original stream error. No additional high-confidence defect was found in the six-file diff.", - "checks": "Focused SSE and search utility Vitest (13/13); TypeScript; focused Prettier. Hosted advisory browser failure was shared stale assertion drift and is rerun after this push." + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "pending-push", + "scope": "CORRECTION: remove exact-duplicate ledger row", + "outcome": "Removed a merge-union exact duplicate of the `cursor/ledger-066-067-519b` / `f04392a40` READY row (kept the earlier copy). No product change.", + "checks": "`npm run check:branch-review-ledger`" }, { - "date": "2026-07-11", - "ref": "PR #469 / claude/response-formatting-cleanup-b57a9c", - "head": "f1864308e0b287bb83b2a13daca4c3aa2ab95a3e", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "P2 fixed: the OCR bullet sanitizer now preserves line-start O blood values when followed by blood or red-cell noun tails while still stripping non-blood bullets such as `o Negative screen`. No additional high-confidence defect was found in the nine-file diff.", - "checks": "Focused sanitizer/extractive Vitest (75/75); TypeScript; focused Prettier; `git diff --check`. Production-readiness script ran fail-closed with provider variables cleared and reported only expected missing provider configuration." + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "pending-push", + "scope": "Follow-up perfection pass", + "outcome": "FIXED: reverted nested mockup titles to `h3` under Section `h2`; restored correct `PR_POLICY_BODY.md` after stale overwrite; remaining product delta is font-stack + recent-search `min-w-0` + bedside `leading-tight` drop + clinical-console `tabular-nums` + ledger.", + "checks": "Heading hierarchy re-check; Prettier check on touched files." }, { - "date": "2026-07-11", - "ref": "PR #473 / claude/mobile-search-bar-popup-bx163m", - "head": "7cef01852a9713ec51184578868212df5805adbf", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "P1 merge-conflict markers removed from the shared search header while retaining the all-viewport hero portal and inline fallback. P2 fixed: phone-hidden command results can no longer open, report expanded state, receive keyboard navigation, or execute an invisible selection. The launcher and global-shell conflict findings were already resolved at the reviewed head.", - "checks": "No conflict markers; TypeScript; focused Prettier; app-mode/search/universal-search Vitest (37/37); `git diff --check`. Browser proof delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." + "date": "2026-07-25", + "ref": "PR #1200 / `cursor/typography-audit-fixes-1c1e`", + "head": "pending-push", + "scope": "Production UI flake fix", + "outcome": "FIXED reproducible Sources Find autofocus: Sheet open retries now upgrade from close-button fallback to late-mounted `data-sheet-autofocus` (was leaving focus on Close after drawer children mount). Typography product delta unchanged. Removed temporary `PR_POLICY_BODY.md`.", + "checks": "`node scripts/run-vitest.mjs run tests/sheet.dom.test.tsx` 5/5." }, { - "date": "2026-07-11", - "ref": "PR #481 / claude/perf-r2-auth-roundtrip", - "head": "24fad070fb9834510309e74e1dc0e216cd08646b", - "scope": "main-integration follow-up", - "outcome": "The stacked PR had merged into an already-merged feature base, so its reviewed delta was not present on `main`. Replayed only PR #481's first-parent patch onto current `main`, preserving current answer-route behavior while adding client payload trimming and cookie-authenticated proxy refresh coverage.", - "checks": "`npm run verify:cheap`; focused proxy/payload/clinical-safety Vitest (18/18); `npm run check:production-readiness:ci`; focused Prettier; `git diff --check`." + "date": "2026-07-27", + "ref": "PR #1285 / `cursor/pdf-extractor-sigkill-137-0687`", + "head": "pending-push", + "scope": "CI babysit + Bugbot + main sync", + "outcome": "Before: required CI SUCCESS on tip `630792c9`; mergeable but BEHIND main; 0 unresolved review threads; no `cursor[bot]` Bugbot comments. After: merged `origin/main` cleanly; pr-bugbot found no P0/P1 — fixed P2 by moving SIGKILL/exit-137 regressions out of `describe.runIf(hasPyMuPDF)` and asserting `PdfExtractorProcessError` by name so the OOM path cannot silently skip or pass via JS fallback.", + "checks": "Focused Vitest `tests/pdf-extractor.test.ts` 2 passed / 4 skipped (PyMuPDF absent locally); merge-tree clean; no provider-backed checks." }, { - "date": "2026-07-11", - "ref": "PR #483 / claude/differentials-page-review-a3daaf", - "head": "36cca1bf7c13718dcc60a61b75272c7c4fa5cd44", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "P2 fixed: authenticated diagnosis detail responses now derive related links, overlap links, and comparison presentation from the owner's current diagnosis and presentation rows rather than the bundled snapshot. Added an owner-only catalog regression test. No additional high-confidence defect was found in the changed scope.", - "checks": "Focused differentials route/catalog Vitest (26/26); TypeScript; focused Prettier; `git diff --check`. Production readiness ran fail-closed with provider variables cleared and reported only expected missing provider configuration." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: revert Phase C pending review)", + "head": "revert of f96217c", + "scope": "User-requested revert of #1004 (Phase C saturation-tail primaries): auto-merge fired before the adversarial rag-retrieval-reviewer pass landed; retrieval code returns to the last reviewed state until that verdict is in", + "outcome": "Clean single-commit revert (the documented rollback path — helpers + 2 expression sites + 1 map call; no schema/config/cache surface). Ledger history rows from f96217c retained (docs are append-only record, not behavior). The 19:44Z post-merge canary dispatched on f96217c completes regardless and stands as Phase C's live validation datapoint; re-land decision = reviewer verdict + that pair result together. Offline state of the reverted change remains fully proven (red-proof + 121/121 + envelope tests).", + "checks": "Revert verified by vitest fast-path suite returning to pre-C 5/5 shape expected in CI; ladder on the revert = hosted pr-required" }, { - "date": "2026-07-11", - "ref": "PR #485 / claude/home-answer-page-layout-rtx10n", - "head": "96dbd0394888d5a52c916dba52b94d0f83e4507e", - "scope": "open-PR review and CI", - "outcome": "Integrated the all-viewport hero composer, retained the compact hero scale, made composer width continuous across 1024px, and restored a mobile centering height floor. Review ledger SHAs were expanded to full IDs and source guards cover the layout invariants.", - "checks": "Focused source guards (30/30); TypeScript; full Vitest (1,594 passed, 1 skipped); required and advisory UI, build, static, unit, CodeRabbit, Semgrep, Gitleaks, GitGuardian, and post-merge main CI passed." + "date": "2026-07-19", + "ref": "claude/audit-recent-changes-kde66i (audit-remediation follow-up to the ef042cacd audit row)", + "head": "see PR head", + "scope": "remediation of the three 2026-07-19 audit findings", + "outcome": "Fixed all three findings from the 24-hour merged-window audit. (1) Inert settings honesty (P2): every preference the app does not yet consume — jurisdiction, population, answer style, landing, both home-content toggles, compact citations, and all three notification toggles — now renders an explicit \"Saved for later — not active yet\" marker in `settings-dialog.tsx`; the functional appearance/density/motion rows stay unmarked. Wiring the preferences into answer generation was deliberately NOT done here (clinical-behavior change requiring governance review); the new dom test documents the contract for flipping a control live. (2) Auth offline resolution (P2/P3): `resolveInitialAuthState` gains `verificationUnavailable`, set from `isAuthRetryableFetchError(getUser().error)`, so an unreachable auth server keeps the stored session signed in while a reachable server that rejects the token still resolves signed_out; server-side bearer validation is unchanged. (3) `/medications` redirect (P3): now preserves the sanitized q/focus/run search context with the same allowlist as the root legacy-mode redirect.", + "checks": "Focused Vitest 30/30 across `settings-inert-preferences.dom` (new), `private-client-auth` (3 new cases), `audit-navigation-auth-regressions` (query-preservation case), `app-preferences`, and `site-map`. Full `verify:cheap` run recorded on the PR. No OpenAI, Supabase, deployment, or provider-backed check ran." }, { - "date": "2026-07-11", - "ref": "PR #487 / claude/answer-page-design-polish-ffd5a6", - "head": "b2c772606126f8323424bc9c0b636bac77c08789", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "Two findings fixed: expanded weak/unsupported prior answers retain an explicit source-review warning, and cross-mode search actions no longer log an incorrect detail-open telemetry event. Added a persisted prior-turn browser assertion. No additional high-confidence defect was found in the changed scope.", - "checks": "Focused answer-render and cross-mode Vitest (20/20); TypeScript; focused Prettier; `git diff --check`. Browser assertion delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." + "date": "2026-07-19", + "ref": "claude/audit-recent-changes-kde66i (preference wiring + session-start hook follow-up to the #906 remediation)", + "head": "see PR head", + "scope": "wiring the wireable inert preferences live and fixing the stale-node_modules session-start gap", + "outcome": "Wired three of the seven remaining inert preferences into real behavior and removed their \"Saved for later\" markers: (1) Default landing view — `GlobalSearchShellClient` applies a one-shot `router.replace` to the saved landing mode (`search`→documents, `browse`→tools via `landingModeForPreference`) on a bare \"/\" load only; explicit mode/query/run params always win, and the dashboard's existing URL-sync effect performs the switch. (2) Recent searches on home — `AnswerEmptyState` now gates its recent-query chips on `showRecentOnHome`. (3) Compact citations — the answer source capsule drops its text label to icon+count when `compactCitations` is on, with the \"No direct source found\" warning explicitly exempted so compact mode can never hide a missing-source signal. Still marked inactive with reasons documented in the test contract: jurisdiction/population/answer-style (wiring them into answer generation is provider-eval-gated per the confirmation boundary), saved-protocols-on-home (no protocols module exists), and the three notification toggles (no delivery infrastructure). Separately, `.claude/hooks/session-start.sh` now stamps the `package-lock.json` sha256 into `node_modules/.session-start-lock-hash` after `npm ci` and reinstalls when the lockfile no longer matches, closing the stale-container gap that faked a typecheck regression during the 24h audit.", + "checks": "New `tests/answer-preferences.dom.test.tsx` (recents gate on/off, compact capsule display incl. the missing-source exemption, landing mapping) and the updated `settings-inert-preferences.dom` contract (3 rows moved inert→functional) pass with `app-preferences` and `private-client-auth`: 26/26 focused. Full typecheck, scoped zero-warning ESLint, and the full Vitest suite recorded on the PR; `bash -n` on the hook. `check:production-readiness` not run: no secrets in this container (documented demo-mode expectation) and no answer-generation, retrieval, or source-governance logic changed — the capsule change is presentational with the missing-source warning locked by test. No OpenAI, Supabase, deployment, or provider-backed check ran." }, { - "date": "2026-07-11", - "ref": "PR #488 / claude/code-review-42a2c3", - "head": "7a8ea145013444f7cc29631499f48a8b0454937a", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "Confirmed the remaining public error-code finding was already fixed at the reviewed head. Added the two focused advisory UI assertion stabilizations required by the hosted failure logs; no additional high-confidence defect was found in the changed scope.", - "checks": "`tests/http-error-response.test.ts` (3/3); Prettier check on affected files; `git diff --check`; hosted required CI passed before the test-only fix. Browser rerun deferred to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: DB easy wins)", + "head": "see PR head", + "scope": "User-requested database + process easy-wins pass: read-only Supabase advisor sweep (user-authorized) → canary-liveness probe + advisor-disposition docs; live mutations withheld for per-item confirmation", + "outcome": "Advisors (live, read-only): security = 1 INFO (document_title_words RLS-no-policy = the deliberate fail-closed pattern — now comment-documented at the schema block so it is never 'fixed'); performance = ~33 unused-index INFOs + auth connection-strategy note → docs/db-maintenance.md TRIAGE list with retrieval-surface trgm indexes flagged RAG-protected (dropping = full canary protocol), owner-scoped indexes retained for multi-tenant design, operational candidates deferred (negligible benefit at corpus size). Implemented: ci.yml static-pr warn-only eval-canary staleness probe (actions:read, github-script pinned, >8 days → warning; never fails) — needed because #923 (2026-07-19) moved the canary cadence from daily to weekly Sunday 18:00 UTC, where a dropped fire would go unnoticed for a week (the failure-issue step only reacts to runs that happen). CORRECTION (CodeRabbit review on this PR): the initially recorded \"2026-07-20 dropped Sunday fire\" incident did not occur — 2026-07-20 is a Monday; the Sunday 2026-07-19 slot fired as scheduled run #48 (19:03 UTC, success), and under the weekly cron no 2026-07-20 slot existed. Probe stands as proactive hardening, staleness now measured from updated_at with a finite-timestamp guard. Presented for confirmation (NOT implemented): scheduled telemetry retention (purge:query-logs is owner-scoped + unscheduled; needs owner/window/policy decision), auth percentage connection strategy (dashboard config), any index drops.", + "checks": "check:github-actions PASS; check:ci-scope PASS; check:function-grants 28/28 PASS; docs:check-links 1034 PASS; supabase-schema vitest 66/66; lint+typecheck+prettier clean; Supabase access read-only only" }, { - "date": "2026-07-11", - "ref": "PR #489 / claude/document-viewer-redesign-55b68b", - "head": "9130c8b15a22dbbc965464a247ae930c04f2da62", - "scope": "open-PR review, unresolved comments, and CI", - "outcome": "P2 fixed: document deep links now expand the mobile indexed-text details and scroll the branch-specific visible mobile or desktop chunk instead of the first duplicated DOM match. Added focused desktop/mobile assertions. No additional high-confidence defect was found in the three-file diff.", - "checks": "Focused Prettier; TypeScript; `git diff --check`. Browser proof delegated to hosted CI because Turbopack rejects the isolated worktree's external node_modules junction." + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: RAG memory + safeguards)", + "head": "see PR head", + "scope": "(recorded with Outcome)", + "outcome": "User-directed close-out: durable RAG behaviour memory (docs/rag-behaviour/, 4 files) + AGENTS.md standing protection rules + ENFORCED safeguards — pr-policy blocking `RAG impact:` gate on protected surfaces (self-tested: undeclared/vague blocked, no-change/canary declarations pass) + source-pin contract test on imputation formulas and release comparator key order (red-proven vs a mutated constant). Confirmation canary #56 (29774459706, reverted main 0a498e6): SUCCESS — 36/36 restored, closing the #55-regression→revert→restore arc live. Phase D complete (D-1 ref input #1003, D-2 eval:trend #1006, D-3 policy §3.1 #1006, D-4 latency in trend rows); remaining documented plans: word-boundary matcher (own PR), irrelevant@10 labeling audit, Phase E (separate approval). Spend ≈$5-10 of ≤$20.", + "checks": "pr-policy self-test + workflow guard PASS; contract test 4/4 + red-proof; npm run test 3025 passed / 1 known container pdf-budget artifact; lint+typecheck+prettier clean; docs:check-links 1030 refs PASS; check:github-actions PASS" }, { - "date": "2026-07-10", - "ref": "codex/architecture-review-fixes", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "architecture-review", - "outcome": "Seven findings fixed in the working tree: three runtime cycles, unbounded owner caches, a client/server env boundary breach, reversed runtime-to-scripts ownership, and architecture-doc drift.", - "checks": "`npm run test -- tests/architecture-boundaries.test.ts tests/bounded-ttl-cache.test.ts tests/rag-score.test.ts tests/rag-cache-utils.test.ts tests/rag-cache-invalidation.test.ts tests/evidence-panels.test.ts tests/clinical-dashboard-merge-artifacts.test.ts`; `npm run verify:cheap`; `npm run check:production-readiness:ci`" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from 5b4098d; PR: E-2 baseline record + instrument fix)", + "head": "see PR head", + "scope": "(recorded with Outcome)", + "outcome": "ADDENDUM Phase E-2 BASELINE BANKED (canary dispatch #57, run 29786560936, main 5b4098d, answer_case_limit=44): golden retrieval 36/36 green in-run (no-regression net held); eval:quality full-44 RED on exactly two gates — citation_failure_rate 0.0227 (1/44: neuroleptic-side-effect-escalation — expected doc never retrieved, generation quality-failed, extractive fallback with 1 citation) and route_ceiling_failure_count 2 (clozapine-anc-withhold-threshold: 13.3s pure retrieval vs 12s extractive budget, RPC 9.3s, zero generation; agitation-arousal-typo-dosing: 25054ms vs 25000ms after provider_timeout ate 22.6s pre-recovery). Green gates: grounded_supported 1.0, unsupported_correct 1.0 (all 14 refusals incl. both prompt-injection probes at 2ms), numeric grounding failures 0, governance danger 0, p95 17.4s. Non-blocking signals: expected_source_hit 0.6136 (both admission-discharge cases miss MHSP.AdmissionCommunityPts.pdf to sibling NMHS/RKPG policies — labeling-vs-ranking question, §3.1 class), source governance warning rate 0.8182 (metadata debt, waivable class). SYSTEMIC E-3 TARGET: ~9 of 19 generation attempts discarded (fast output fails quality gate → extractive fallback wins; ~7 cases carry fast_quality_retry_strong→extractive reasons) = ~half of generation latency+spend wasted. Instrument defect found+fixed this PR: targeting step was skipped after the red gate (GitHub failure-skip semantics) → if: gains !cancelled() so baselines observe red gates. Spend: est ~$1-2 actual (19 OpenAI-request cases; cost rates unset in CI so report shows n/a) of ≤$20 Phase E envelope. Next: cheap re-dispatch (default limit 8 + answer_quality_eval=true) to bank the skipped 30-case targeting baseline.", + "checks": "Gates this PR: check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean. Baseline evidence: job log run 29786560936 (5 failing-case diagnostics + Answer Metrics table read in full)" }, { - "date": "2026-07-10", - "ref": "codex/architecture-review-fixes", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "frontend-architecture-review", - "outcome": "Shared cycle/env findings confirmed and fixed; three additional findings fixed for defeated lazy boundaries, duplicate shell/dashboard subscriptions, and unstable search-context values.", - "checks": "`npm run test -- tests/architecture-boundaries.test.ts tests/evidence-panels.test.ts tests/clinical-dashboard-merge-artifacts.test.ts`; `npm run verify:cheap`; UI gate deferred pending explicit local-API approval" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted; PR: B-PR-1 canary dispatch inputs)", + "head": "see PR head", + "scope": "eval-canary.yml workflow_dispatch gains rag_ranking_config (staged Phase B weight evals, loud malformed-JSON validation to prevent silent fallback corrupting pair comparisons) + ref (Phase D-1 pre-merge branch evals) — schedule runs unaffected (empty inputs = today's behavior)", + "outcome": "Tuner (offline, $0) on the A-PR-2 regenerated snapshot recommends 3 constrained per-class improvements (document_lookup titleSectionRelevance→0.9; table_threshold clinicalEvidence→0.95; comparison hybridRelevance→0.95 with proxy mrr 0.833→1.0), all with recall non-regression + zero high-risk hard-negative failures; medication_dose_risk + broad_summary stay neutral. Staged config JSON banked for the live pair; baseline = canary #53 re-gated (mrr@10 ≈0.8922 after lithium de-noising). Targets per approved plan: mrr@10 ≥0.90, irrelevant@10 ≤0.08, zero case regressions. Budget: user raised cap to ≤$20 (spent ≈$1-2). Security note: ref input runs branch code with eval secrets — dispatch requires repo write access (sole trusted collaborator), documented in PR risk.", + "checks": "check:github-actions PASS; check:ci-scope PASS; prettier clean; no provider calls (workflow change only)" }, { - "date": "2026-07-10", - "ref": "codex/design-ux-review-fixes", - "head": "648abfa3f7c91395b5eeca543f70e0b6ea59e9e0", - "scope": "design-system + UX + design", - "outcome": "Five issue groups confirmed; scoped fixes applied in the worktree.", - "checks": "`npm run check:type-scale`; focused Vitest (19/19); `npm run typecheck`; `npm run lint`; `npm run sitemap:check`; browser/API-backed checks awaiting approval" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (PR: I9 weekly coverage raise)", + "head": "see PR head", + "scope": "(recorded with Outcome)", + "outcome": "ADDENDUM 5 post-green item I9 (plan-authorized \"after reds fixed\"): weekly scheduled canary ANSWER_CASE_LIMIT default 8→44 — the Sunday 18:00 UTC cron now guards the FULL answer-quality case set instead of the first 8 (both #57 blocking reds historically lived OUTSIDE the first 8, leaving the weekly gate blind to them). Unblocked by run #61 proving the citation gate green on the full 44. Cost: est +$1-2/week (user-authorized in the plan). Contract test pin updated in lockstep (eval-canary-workflow.test.ts). Dispatch shapes unchanged (input override still wins); operational-risk diff, plain-revert rollback.", + "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS (20/20); eval-canary-workflow contract 4/4; prettier clean; no provider calls" }, { - "date": "2026-07-10", - "ref": "codex/pr-testing-streamlining", - "head": "155c801cd58f797037d8aaa8b885405a1c599249", - "scope": "working-tree diff: PR testing streamlining", - "outcome": "Changes requested: 2 P1 clinical-gate defects and 7 P2/P3 scope, local parity, and UI-process defects.", - "checks": "`npm run check:ci-scope`; `npm run check:github-actions`; `npm run check:codex-autofix-workflow`; `npm run eval:rag:offline`; `npm run test:e2e:critical`; targeted scope classifications; `git diff --check`" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from c308fdc; PR: labeling widen)", + "head": "see PR head", + "scope": "(recorded with Outcome)", + "outcome": "USER-APPROVED ground-truth widening (AskUserQuestion 2026-07-21: \"Widen to accept siblings\") for the two admission-discharge cases: the WIDER alias tier's AdmissionCommunityPts entry gains the two NMHS \"Admission to Discharge\" titles (Community Mental Health + Mental Health Inpatients). Deliberate exclusions documented in-code: discharge-only docs must not satisfy the admission slot; the MHHITH programme policy is too narrow. STRICT golden tier untouched (bulk-merge prohibition respected). Verified by replaying run #57's actual top-5 lists through expectedFileCoverage: admission-discharge-coverage-paraphrase now passes; admission-discharge-comparison STILL FAILS honestly (its top-5 carries no admission-side doc at all — dup discharge-planning + Falls Prevention) and is retained as a genuine comparison-class retrieval-coverage signal, folded into the same investigation as the neuroleptic case.", + "checks": "typecheck PASS; prettier clean; probe script replay recorded (paraphrase allHit true / comparison allHit false, missing admission slot); no retrieval code touched; protected-file edit (eval-document-matching.ts) per explicit user authorization" }, { - "date": "2026-07-10", - "ref": "codex/pr-testing-streamlining", - "head": "155c801cd58f797037d8aaa8b885405a1c599249", - "scope": "working-tree remediation review", - "outcome": "All recorded P1-P3 findings fixed; no remaining high-confidence issue in the changed scope.", - "checks": "`npm run verify:cheap`; `npm run verify:pr-local`; `npm run eval:rag:offline`; `npm run test:e2e:critical`; `npm run test:e2e:advisory`; CI YAML parse; scope/action/Codex guards; `git diff --check`" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from e02ba3d; PR: E-3c PR-A instrument)", + "head": "see PR head", + "scope": "(recorded with Outcome)", + "outcome": "ADDENDUM 5 wave E-3c design accepted (Plan agent, full report in session record) and PR-A delivered: eval-answer-quality gains --dump-answers (per-case answer TEXT + sections + targeting verdict JSON for the canary artifact — answers are not retained at rest by privacy design, so miss diagnosis needs eval-time capture), parseArgs/buildAnswerDumpRecord exported behind an import.meta main-guard (eval-quality precedent), canary targeting step wired with the flag. Design highlights for the record: DEFECT 1 root confirmed as fast-attempt-doomed-then-discarded on strong_routine_retrieval procedural shapes — PR-B generalizes the EXISTING validated-extractive short-circuit pattern (LAI + blocked-recovery precedents, hasValidatedExtractiveCandidate) to the measured shape via a new rag-extractive-first.ts module (net ~-110 rag.ts lines against the 5030 budget); DEFECT 2 rank-1 root = extractive lead-slot selection prefers shortest sentence and admits figure-less leads (sort at rag-extractive-answer.ts:917, 1-slot monitoring leads) — PR-C adds intent-figure-aware lead promotion with a claim-support atom-corpus nuke-proofing guard + dose/threshold fallback candidate preference (find(safe && figure) ?? find(safe)); answer-verification CLEARED as direct cause (whole-answer gap or unbold only, never per-figure deletion). H2 (strong-route comparison/complex residual) explicitly deferred as the named E-3d candidate. E-4 metrics set: discarded-generation <20% from ~47%, dose ≥3/5, monitoring ≥3/5, no intent below #58, recalls pinned 1.0, relevance/fail_closed/readability/artifact_leaks ≥ #58.", + "checks": "PR-A gates: new tests/eval-answer-quality.test.ts 4/4; typecheck, check:github-actions, check:ci-scope, eval-canary-workflow test, prettier all clean; no provider calls" }, { - "date": "2026-07-10", - "ref": "codex/quality-testing-typescript-fixes", - "head": "648abfa3f", - "scope": "code-quality + testing + TypeScript", - "outcome": "17 confirmed P2/P3 issues fixed; no P0/P1 findings; residual large-module complexity noted.", - "checks": "Focused Vitest and Playwright; full Vitest 1427 passed/1 skipped; coverage; lint; typecheck; production-readiness CI" + "date": "2026-07-21", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from 87815f4; PR: E-3a cost self-reporting)", + "head": "see PR head + follow-up pin", + "scope": "(recorded with Outcome)", + "outcome": "Phase E-3a wave (all $0 diagnostics complete, recorded here) + I8 fix: eval-canary env gains the three RAG_EVAL__\\_USD_PER_MILLION rates (gpt-5.6-terra standard tier, verified from the live OpenAI pricing page 2026-07-21; documented as a LOWER BOUND since gpt-5.6-sol strong retries cost 2x and the estimator applies one rate set) so estimated_cost_usd stops reading n/a in CI. E-3a findings: (1) discarded-generation histogram from run #57 — fast_quality_retry_strong→extractive x6, generation_quality_failed x4, provider_timeout x2; gate sub-reasons fragment_like x2, bad_final_answer_quality x1, ungrounded_extractive_fallback x1 → E-3c targets the fast-attempt-fails-extractive-wins shape first. (2) I2 resolved: routeCeilingExceeded (eval-quality.ts:157/171) keys on the RUNTIME's own route_budget_ms + deadline flag, NOT the cross-region-widened eval gates — clozapine case = 13.3s retrieval vs the runtime's 12s extractive budget, geography-amplified; design → E-3b. (3) FIXTURE-CORPUS DRIFT (major): the live corpus contains ZERO MHSP_-named files; the 44-case fixture's expectedFiles are all MHSP._/CG.MHSP._ and pass only via the eval-document-matching alias tier. All three expected-doc failures triaged: neuroleptic-side-effect-escalation = REAL retrieval-coverage gap (alias exists; Neuroleptic Side Effects (AKG).pdf indexed 11 chunks, 3 contain escalat%, yet answer retrieval returned a single off-point source) → protected-path item awaiting user go-ahead; admission-discharge x2 = top-5 preference for sibling NMHS/RKPG policies over the existing aliased AKG doc → labeling-vs-ranking decision presented to user. No fixture/alias edits made (ground truth requires sign-off).", + "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean; Supabase access read-only (documents/document_chunks SELECTs); OpenAI pricing page read via WebFetch" }, { - "date": "2026-07-10", - "ref": "codex/review-autofix-flow", - "head": "155c801cd58f797037d8aaa8b885405a1c599249", - "scope": "codex-autofix-flow", - "outcome": "Fixed exact connector authorization, trusted-marker deduplication, and strict self-trigger matching; added regression coverage.", - "checks": "`npm run check:codex-autofix-workflow`; focused Vitest (4 passed); `npm run verify:cheap` pre-test stages passed before tool timeout; `npm test` (1,415 passed, 1 skipped); focused Prettier check; `npm run check:github-actions`" + "date": "2026-07-20", + "ref": "claude/clinical-kb-pwa-review-asi3wb (restarted from f33890a; PR: Phase E instrument input)", + "head": "see PR head + follow-up SHA pin", + "scope": "Phase E kickoff (user-approved with budget): eval-canary gains opt-in `answer_quality_eval` dispatch input running the 30-case eval:answer-quality fixture (5 quality metrics + per-intent targeting) — the instrument was previously never run in CI. Dispatch-only, default-off, informational (exit 0, no --targeting-floor): scheduled runs and existing dispatch shapes byte-identical; gates stay owned by eval:quality. Follows the #1003 input-only precedent.", + "outcome": "E-1 recon (all $0/read-only) recorded here: canary answer gate samples only 8 of 44 eval:quality cases (ANSWER_CASE_LIMIT default); eval:quality --provider-mode offline is a real $0 harness (provider deleted, deterministic source-only path) usable as an E-3 regression guard; live 30-day answer telemetry (34 answer-path rows): 25 full answers, misses = evidence_gap ×4 (avg 26s spent before gap), provider_incomplete_max_output_tokens ×2 (avg 82s wasted then discarded), provider_generation_failed ×1, retrieval_gap_or_conflict ×1, source_only_no_api ×1; success latency avg 13.1s / p90 25.2s. Headroom classes for E-3: truncation waste (rag.ts:4265 self-heal insufficient live), late evidence-gap detection, p90 latency, thin CI answer coverage. Next: E-2 baseline dispatch (answer_case_limit=44 + answer_quality_eval=true, est $3-8 of user-authorized ≤$20 Phase E envelope) after this merges.", + "checks": "check:github-actions PASS; check:ci-scope PASS; check:gate-manifest PASS; prettier clean; no provider calls this PR (workflow change only); RAG impact: none — retrieval steps untouched" }, { - "date": "2026-07-10", - "ref": "codex/review-autofix-flow", - "head": "155c801cd58f797037d8aaa8b885405a1c599249", - "scope": "codex-autofix-flow-followup", - "outcome": "Fixed untrusted workflow-level concurrency interference and migrated the bridge from the Node 20 action runtime to `actions/github-script@v9`; added direct embedded-script execution coverage.", - "checks": "Focused Vitest (13 passed); targeted ESLint; `tsc --noEmit`; `npm run check:codex-autofix-workflow`; `npm run check:github-actions`; focused Prettier check; `git diff --check`" + "date": "2026-07-25", + "ref": "PR #1188 / `execute-audit-remediation-plan` + replacement PR #1213 / `cursor/pr1188-fix-build-breakers-6ee0`", + "head": "tip 8b8639113925601e1687bfe4f1f29c44a4308b61 (broken); rebuild fd67d6bf3", + "scope": "Cursor Bugbot+/review+/prlanded+/debug (fresh pass)", + "outcome": "DO NOT MERGE #1188; NOT LANDED (OPEN, CONFLICTING/DIRTY, 469 behind). Runtime-proof P0s: tsc TS1185 conflict markers in answer/upload/answer-status/etc; ClinicalDashboard orphaned import body; dangling `renderSystemNotice`; `async export function sha256Hex`. PR policy FAIL (missing Clinical Governance Preflight). Intentional ~11-file delta rebuild is PR #1213 on clean main (tsc/eslint/pins green). Close #1188 after #1213.", + "checks": "Bugbot; isolated worktree tsc on tip; gh pr view/checks; fix-branch tsc+eslint+pins+16 Vitest. No provider/UI matrix." }, { - "date": "2026-07-10", - "ref": "codex/review-autofix-flow", - "head": "155c801cd58f797037d8aaa8b885405a1c599249", - "scope": "codex-autofix-residual-fixes", - "outcome": "Replaced one-shot PR deduplication with a three-cycle head-SHA cap, made comment permission failures fail visibly, and pinned `github-script` v9.0.0 to its verified immutable commit.", - "checks": "TDD red run (7 expected failures); focused Vitest green run (15 passed); `npm run verify:cheap` (152 files passed, 1 skipped; 1,426 tests passed, 1 skipped); focused Prettier check; `git diff --check`; official `git ls-remote` tag verification" + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "tip after container RAM-gate fix", + "scope": "CI container Build flake", + "outcome": "FIXED. `Container images / app-image` failed because Dockerfile `npm run build` hit the same local RAM floor (7.8 GiB, no CI env in the build stage). Guard now also skips for `CI=1` and `/.dockerenv`; Dockerfile sets `ENV CI=1`.", + "checks": "awaiting exact-head hosted container + PR required; no provider checks." }, { - "date": "2026-07-09", - "ref": "example/branch", - "head": "abc1234", - "scope": "branch-cleanup", - "outcome": "Example: already merged into `main`; no unique patch content.", - "checks": "`git log --right-only --cherry-pick main...example/branch`; `git diff --name-status main...example/branch`" + "date": "2026-07-28", + "ref": "PR #1297 / `motion-audit-fixes-clean`", + "head": "tip-after-ledger-dedupe", + "scope": "Ledger hygiene", + "outcome": "Dropped 1 exact-duplicate #1306 row introduced by ledger merge=union during main sync; first copy retained.", + "checks": "check:branch-review-ledger PASS; no provider checks." } - ], - "counts": { - "records": 2663, - "refs": 1628 - } + ] } } diff --git a/docs/codebase-index.md b/docs/codebase-index.md index dd89cfec4d..755e529f8b 100644 --- a/docs/codebase-index.md +++ b/docs/codebase-index.md @@ -635,6 +635,26 @@ repo-awareness-snapshot.ts` (`loadRepoAwarenessSnapshot`) is the typed reader, w fails when the committed snapshot is behind the repository it describes. `src/lib/developer-area/ freshness.ts` is the label-agnostic content-age helper both the ledger and the repo-awareness pages use to render their freshness stamp. +- **What the snapshot deliberately does NOT commit, and why:** the gate compares only `routes`, + `documentation` and `test_health`. The two keys it excludes are excluded because they change on + both sides of every concurrent append, and a committed field that always differs is a merge + conflict — which sets `mergeable_state=dirty` on GitHub, suppresses `refs/pull//merge`, and + leaves the PR check list reading empty rather than red. So the excluded keys carry only content + that can merge: `review_state.records` is ordered by `head` (a uniformly distributed sha, so two + branches appending a review record land far apart), it stores no aggregate `counts` + (`reviewStateCounts()` derives them at render), and `REVISION_INPUTS` excludes the review corpus + so a `ledger:append` no longer moves `captured_revision`. Adding anything back to those keys + means meeting the same bar: too volatile to compare is too volatile to commit in a conflicting + shape. +- **The gate needs git, and says so when it has none:** `check:repo-awareness-snapshot` reaches git + through the generator (`git ls-files`, `git log`), so in a checkout with no git — a `git archive` + export, or a container image without `.git` — it logs `Skipped: no git repository rooted here` + and exits **0**. A skip and a pass share that exit code, so read the message, not the code. The + check is deliberately "a repository ROOTED HERE" rather than "inside a work tree": an export + extracted inside another checkout answers `git rev-parse --is-inside-work-tree` with the outer + repository's `true`, and the generator then reads that repository, finds every document + untracked, and fails with an unexplained six-hundred-path error. Nothing is lost by skipping — + CI always runs this gate against a real checkout. - **Task ledger data:** `src/lib/developer-area/ledger-snapshot.ts` imports the generated `data/outstanding-issues-snapshot.json` (never hand-edited; listed in `.prettierignore`) rather than reading `docs/outstanding-issues.md` at runtime — the production Docker image never copies diff --git a/docs/outstanding-issues-inbox/39f1842e-9780-4c73-8082-28cf9f271104.json b/docs/outstanding-issues-inbox/39f1842e-9780-4c73-8082-28cf9f271104.json new file mode 100644 index 0000000000..a5f7f6acac --- /dev/null +++ b/docs/outstanding-issues-inbox/39f1842e-9780-4c73-8082-28cf9f271104.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "id": "39f1842e-9780-4c73-8082-28cf9f271104", + "createdOn": "2026-09-02", + "action": "add", + "payload": { + "pri": "P3", + "type": "issue", + "summary": "The developer hub's pending-requests panel reads empty during local dev, because no lifecycle regenerates the snapshot for the dev server", + "detail": "Raised by Codex review on PR #2530 (scripts/generate-outstanding-issues-snapshot.mjs) and verified rather than accepted on trust. THE FINDING IS CORRECT: npm run dev and npm run ensure invoke no prebuild, so ledger-snapshot.ts imports the committed JSON and the ledger page's 'requests not yet applied' count and list render empty while requests exist in docs/outstanding-issues-inbox/. That is the #338 class of failure the developer hub exists to prevent - a panel silently under-reporting. IT IS NOT A REGRESSION FROM PR #2530, and this matters for how it gets fixed: measured on main at 45a3dcacb before that branch existed, the committed snapshot already carried counts.pending 0 while 8 inbox requests were tracked in the same commit. The panel was already blank in dev. PR #2530 changed it from accidentally blank to blank by design, and added a gate that keeps it that way, so the fix now has to be deliberate. THE OBVIOUS FIX IS WRONG: adding a predev that generates the pending-inclusive form would write a populated pending into the tracked working tree on every dev-server start, which is precisely the churn #Y090R5 records and PR #2530 removed - and check:outstanding-issues-snapshot now fails on a committed non-empty pending, so a developer would be left with a permanently dirty tracked file that the gate refuses. Two shapes are worth weighing instead. (a) A development-only reader: the ledger page merges docs/outstanding-issues-inbox/*.json from disk when NODE_ENV is not production, leaving the committed artefact untouched. Cheap, but it adds an environment-conditional code path to a module whose docstring records that reading docs/ live was deliberately rejected because the production image never copies docs/ - the divergence would be benign here (production gets the true list from prebuild) but the reasoning must be written down rather than quietly reversed. (b) Generate the pending-inclusive form to a SEPARATE gitignored sidecar that the page reads when present, so nothing tracked is ever dirtied; costs a second artefact and a tolerant reader. Neither is urgent: the panel is administrator-gated, 404s for non-admins in production, and is correct in the deployed image because prebuild regenerates it there.", + "source": "Codex review on PR #2530, 2026-09-02", + "issueUlid": "01M1GC7018707F0970T8GT50SM" + } +} diff --git a/docs/outstanding-issues-inbox/52120ceb-7c70-4c40-b401-c4bbd051903d.json b/docs/outstanding-issues-inbox/52120ceb-7c70-4c40-b401-c4bbd051903d.json new file mode 100644 index 0000000000..be16e7d20b --- /dev/null +++ b/docs/outstanding-issues-inbox/52120ceb-7c70-4c40-b401-c4bbd051903d.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "52120ceb-7c70-4c40-b401-c4bbd051903d", + "createdOn": "2026-09-02", + "action": "done", + "payload": { + "id": "#EFETZT", + "outcome": "Fixed the merge-conflict half. The committed snapshot now carries only content that can merge: review_state.records is ordered by head (a uniformly distributed sha) instead of date-descending, so two branches appending a review record insert hundreds of lines apart and git resolves both hunks; review_state.counts is gone because an aggregate over an append-only set changes on both sides of every append and no ordering can disperse that (reviewStateCounts() derives it at render); and REVISION_INPUTS now excludes docs/branch-review-records/** and the rotated archives, so a ledger:append no longer moves captured_revision. Snapshot version bumped to repo-awareness-snapshot-v2 so a stale committed file fails loudly. The staleness half was already fixed by the COMPARED_CONTENT_KEYS exclusion. Also carved data/repo-awareness-snapshot.json into ci-change-scope perfExclusionPatterns, mirroring the sibling: regenerating it was flipping perf_changed and forcing a ~7-minute Lighthouse run against a budget the change cannot move, which was part of this row's measured per-occurrence cost.", + "baseRowFingerprint": "6925801b83cc83fc17f4c83405e29ddbdc69e3cd26cae804e2d22ab05df1aae6" + } +} diff --git a/docs/outstanding-issues-inbox/a24114b2-feb8-4588-94f8-82a88ea3fc53.json b/docs/outstanding-issues-inbox/a24114b2-feb8-4588-94f8-82a88ea3fc53.json new file mode 100644 index 0000000000..b14084de7e --- /dev/null +++ b/docs/outstanding-issues-inbox/a24114b2-feb8-4588-94f8-82a88ea3fc53.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "id": "a24114b2-feb8-4588-94f8-82a88ea3fc53", + "createdOn": "2026-09-02", + "action": "add", + "payload": { + "pri": "P3", + "type": "issue", + "summary": "Developer-hub CODE still flips perf_changed, so an admin-only mockup route pulls a full Lighthouse run", + "detail": "Found while fixing #EFETZT on 2026-09-02 and deliberately NOT fixed in that PR, because it means editing a fail-closed CI classification surface. PR #2530 added data/repo-awareness-snapshot.json to perfExclusionPatterns in scripts/ci-change-scope.mjs, mirroring the carve-out data/outstanding-issues-snapshot.json already had for the same reason (PR #2302). That closes the common case - a handoff PR that only regenerates the snapshot no longer pays a ~7-minute Lighthouse budget run against a budget the change cannot move. It does NOT close the code case. src/components/developer-area/hub/** and src/lib/developer-area/** match the generic 'src' entry in perfPatterns (ci-change-scope.mjs:226) and are not excluded, because only the ROUTE WRAPPER lives under the excluded src/app/mockups prefix - the panel components live one directory hop away under src/components. So a PR touching the developer hub's own code still triggers lighthouse-budget for /mockups/development/**, which 404s for non-admins in production (src/app/mockups/layout.tsx and src/proxy.ts gate it behind DEVELOPER_AREA_HEADER) and cannot appear in either budgeted journey. WHY IT WAS LEFT: the exclusion list is a fail-closed safety surface, and widening it by directory prefix risks exempting a future component that IS reachable from a budgeted route. The safe shape is probably an explicit list of the developer-hub component and lib paths rather than a prefix, pinned by an assertScope self-test beside the two that already exist (ci-change-scope.mjs:1022), plus a test proving a non-hub file under src/components still flips perf_changed. Cost of leaving it is bounded and only paid by developer-hub PRs, which are rare.", + "source": "session 2026-09-02, PR #2530; verification-router review", + "issueUlid": "01M1G8RXVY9ZGNW7CR1YQ4SE5J" + } +} diff --git a/docs/outstanding-issues-inbox/b11bdfdd-70eb-4bf9-9384-4d30af2a6ad2.json b/docs/outstanding-issues-inbox/b11bdfdd-70eb-4bf9-9384-4d30af2a6ad2.json new file mode 100644 index 0000000000..98aa9b8658 --- /dev/null +++ b/docs/outstanding-issues-inbox/b11bdfdd-70eb-4bf9-9384-4d30af2a6ad2.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "id": "b11bdfdd-70eb-4bf9-9384-4d30af2a6ad2", + "createdOn": "2026-09-02", + "action": "add", + "payload": { + "pri": "P2", + "type": "issue", + "summary": "Web-container sessions start on a shallow clone, so two committed specs fail with messages that read as content errors", + "detail": "Measured 2026-09-02 in a Claude Code web container on origin/main 45a3dcacb. The session's checkout is a SHALLOW CLONE (depth 102). Two specs in the committed suite then fail, stably across two full runs, and neither message says anything about history depth: tests/clinical-hazard-controls.test.ts fails with 'CLINICAL-TRUTH-AUTHORITY: reviewedCommit does not exist 883f1007a85cd4e02198f39c12c4a4e467d4b89e' plus 'path is absent from reviewedCommit', and tests/rag-plan-package-parity.test.ts fails with 'manifest reconciledBase is unavailable locally: f3d1a3cce2c943ad3083425ed9c7c46dbef23087' from scripts/build-rag-plan-packages.mjs --check --require-origin-main. Both read as governance-manifest corruption, which is exactly the wrong conclusion: the commits are real and simply absent from a truncated history. PROOF: git fetch --deepen=2000 takes the clone from 102 to 5462 commits, both commits then resolve under git cat-file -e, and the two specs pass 27/27 with no code change. AGENTS.md already prescribes this remedy under 'Deleting code you believe is dead' for check:dead-code-candidate ('assessed on a shallow clone, where nothing can be dated - run git fetch --deepen=2000 first'), so the fix is known; it is simply not applied at session start and these two specs are not covered by that note. COST: a full npm run test is about six minutes, so a session can burn two of them before recognising the pattern, and the plausible-looking failure text invites someone to 'fix' a hazard manifest that is not broken. OPTIONS, cheapest first: have .claude/hooks/session-start.sh deepen the clone when git rev-parse --is-shallow-repository reports true (it already provisions Node and runs npm ci, so it is the natural place and the cost is one fetch); or make the two checks detect a shallow repository and fail with that as the stated reason rather than naming the commit; or document it in docs/testing.md. The first is preferred because it fixes the dead-code gate's known problem at the same time.", + "source": "session 2026-09-02, PR #2530 verification", + "issueUlid": "01M1G8RF0Q1M0J6DDX9C5G79V9" + } +} diff --git a/docs/outstanding-issues-inbox/bcbdf769-62cf-4d67-be04-9065a603f439.json b/docs/outstanding-issues-inbox/bcbdf769-62cf-4d67-be04-9065a603f439.json new file mode 100644 index 0000000000..3ee70134b7 --- /dev/null +++ b/docs/outstanding-issues-inbox/bcbdf769-62cf-4d67-be04-9065a603f439.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "bcbdf769-62cf-4d67-be04-9065a603f439", + "createdOn": "2026-09-02", + "action": "done", + "payload": { + "id": "#JFRCZ4", + "outcome": "Established by the git archive export the row asked for, and the probe found a real defect rather than confirming the skip. Outside any repository the gate logs a skip and exits 0, which was already correct. But an export extracted INSIDE another checkout answered git rev-parse --is-inside-work-tree with the OUTER repository's true; the generator then read that repository, found all 566 documents untracked, and threw an error the skip path could not recognise - exit 1 with a six-hundred-path dump and no explanation, exactly the unexplained failure this row predicted. isGitRepository now requires a repository ROOTED at the checkout (comparing git rev-parse --show-toplevel to cwd, normalised for Windows separators and case), pinned by a nested-repository fixture test. The isGitRepoImpl false branch also had no direct coverage - the existing test drove the message-sniffing path instead - and now has a test asserting generation is never reached. Behaviour is documented in docs/codebase-index.md, including that a skip and a pass share exit code 0 so the message must be read. Also silenced git's stderr in listDocumentPaths, which made a successful filesystem fallback print 'fatal: not a git repository'.", + "baseRowFingerprint": "7528fa05cd74f1ff7c85fcd6916fbc34ce4e46d1d26ca89d852925b72df9fa9d" + } +} diff --git a/docs/outstanding-issues-inbox/d1a71c3e-a4ce-4c64-b31d-aab39ed3c79c.json b/docs/outstanding-issues-inbox/d1a71c3e-a4ce-4c64-b31d-aab39ed3c79c.json new file mode 100644 index 0000000000..e5e159a04f --- /dev/null +++ b/docs/outstanding-issues-inbox/d1a71c3e-a4ce-4c64-b31d-aab39ed3c79c.json @@ -0,0 +1,11 @@ +{ + "version": 2, + "id": "d1a71c3e-a4ce-4c64-b31d-aab39ed3c79c", + "createdOn": "2026-09-02", + "action": "done", + "payload": { + "id": "#Y090R5", + "outcome": "Both symptoms closed. The core conflict was already fixed before this row was actioned - check-outstanding-issues-snapshot.mjs excludes pending and counts.pending, so an inbox PR no longer has to regenerate the snapshot - but two residues were live and are now fixed. First, regenerating still WROTE pending into the committed file (measured: generate() returned counts.pending 8 against a file committed with 0), so npm run build via prebuild, or npm run docs:update, dirtied the tree and re-armed the conflict for whoever committed the result; the generator now emits an empty pending by default and only fills it under --with-pending, which prebuild passes, so the built image still shows the true unapplied list while the committed artefact never carries another branch's queued requests. Second, the clinicalRisk:true misclassification named on this row is fixed: scripts/pr-policy.mjs now exempts data/repo-awareness-snapshot.json and data/outstanding-issues-snapshot.json by exact path from the blanket data/ clinical-risk rule, pinned by self-test assertions including one proving a neighbour under data/ keeps its risk. Ledger PRs no longer need a Clinical Governance Preflight for files holding no clinical data.", + "baseRowFingerprint": "ebf94cc0a0c0d5af374a264181b2d727a0e3bc7d158271aba2d8fe59fc797b83" + } +} diff --git a/docs/scripts-index.md b/docs/scripts-index.md index df5ff81f7c..c53033d8ee 100644 --- a/docs/scripts-index.md +++ b/docs/scripts-index.md @@ -1,6 +1,6 @@ # Scripts index -Curated map of `scripts/` (284 files) and the `package.json` script surface (286 entries), +Curated map of `scripts/` (284 files) and the `package.json` script surface (287 entries), grouped by purpose. This is orientation, not an exhaustive per-file listing — the authoritative command list is `package.json`, and `npm run docs:check-scripts` verifies every `npm run ` referenced in docs resolves to a real script. `npm run docs:update` refreshes the exact counts above. diff --git a/package.json b/package.json index c10e5656b6..9dcf147960 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,8 @@ "check:outstanding-issues": "node scripts/check-outstanding-issues.mjs --self-test && node scripts/outstanding-issues.mjs --self-test && node scripts/ledger-inbox.mjs --self-test && node scripts/ledger-inbox.mjs check && node scripts/check-outstanding-issues.mjs && npm run check:outstanding-issues-snapshot", "snapshot:issues": "node scripts/generate-outstanding-issues-snapshot.mjs", "snapshot:repo-awareness": "node scripts/run-tsx.mjs scripts/generate-repo-awareness-snapshot.ts", - "prebuild": "npm run snapshot:issues", + "prebuild": "node scripts/generate-outstanding-issues-snapshot.mjs --with-pending", + "postbuild": "node scripts/generate-outstanding-issues-snapshot.mjs", "check:outstanding-issues-snapshot": "node scripts/check-outstanding-issues-snapshot.mjs", "check:ledger-write-discipline": "node scripts/check-ledger-write-discipline.mjs --self-test && node scripts/check-ledger-write-discipline.mjs", "issues:add": "node scripts/ledger-inbox.mjs add", diff --git a/scripts/check-outstanding-issues-snapshot.mjs b/scripts/check-outstanding-issues-snapshot.mjs index 305be5fa9a..0f0221cb6a 100644 --- a/scripts/check-outstanding-issues-snapshot.mjs +++ b/scripts/check-outstanding-issues-snapshot.mjs @@ -24,6 +24,9 @@ const FIX = "node scripts/generate-outstanding-issues-snapshot.mjs"; * * Excluding them fails safe: every canonical ledger content difference (open, * queue, counts.open, counts.p1..p3, counts.queued, counts.resolved) is still caught. + * + * Excluding `pending` from the VALUE comparison is not the same as permitting it + * in the committed file, and `compareSnapshots` enforces the difference below. */ const COMPARED_CONTENT_KEYS = ["queue", "open"]; @@ -52,6 +55,23 @@ export function compareSnapshots(committed, regenerated) { } } + // `pending` is excluded from the value comparison above, but the committed + // file must still be EMPTY of it. Excluding a field from comparison never + // stopped it conflicting in git — the bytes still ship, and their value + // depends on every other branch's queued requests, which is the whole of + // `#Y090R5`. The generator defaults to an empty `pending` for exactly this + // reason, but `prebuild` passes `--with-pending` so the built image can show + // the true list, and `prebuild` also runs on any local `npm run build`. That + // leaves a dirtied working tree a developer can commit by accident, which + // re-arms the conflict. This is the backstop that makes the invariant + // enforced rather than merely conventional. + if (Array.isArray(committed?.pending) && committed.pending.length > 0) { + differences.push( + `pending: the committed snapshot carries ${committed.pending.length} inbox request(s); it must be empty. ` + + "A local `npm run build` rewrites it via `prebuild --with-pending` — re-run the generator with no flag to clear it.", + ); + } + const topLevelKeys = new Set([...Object.keys(regenerated), ...Object.keys(committed ?? {})]); for (const key of topLevelKeys) { if (!(key in regenerated)) differences.push(`unexpected key in the committed snapshot: ${key}`); diff --git a/scripts/check-repo-awareness-snapshot.ts b/scripts/check-repo-awareness-snapshot.ts index 3f0f6218c3..76e782862a 100644 --- a/scripts/check-repo-awareness-snapshot.ts +++ b/scripts/check-repo-awareness-snapshot.ts @@ -1,5 +1,6 @@ import { execFileSync } from "node:child_process"; -import { readFileSync } from "node:fs"; +import { readFileSync, realpathSync } from "node:fs"; +import path from "node:path"; import { pathToFileURL } from "node:url"; import type { RepoAwarenessSnapshot } from "@/lib/developer-area/repo-awareness-types"; @@ -24,16 +25,76 @@ const FIX = "npm run snapshot:repo-awareness"; * * Excluding them fails safe: every deterministic content difference in routes, * documentation, and test health is still caught. + * + * Excluding a key from comparison was never enough on its own, though, and + * `#EFETZT` is what that cost: the un-compared content still shipped in the + * committed file, still changed on both sides of every append, and still + * conflicted — which sets `mergeable_state=dirty`, suppresses + * `refs/pull//merge`, and leaves the check list empty rather than red. So the + * two excluded keys now carry only content that CAN merge: `captured_revision` + * no longer moves for a review-record append (`REVISION_INPUTS` excludes the + * review corpus), and `review_state` is ordered by `head` and stores no + * aggregate totals. Anything added back here must satisfy the same rule — if it + * is too volatile to compare, it is too volatile to commit in a conflicting + * shape. */ const COMPARED_CONTENT_KEYS = ["routes", "documentation", "test_health"] as const; +/** + * Resolve for comparison: follow symlinks, normalise separators, and case-fold + * on the platforms whose paths are case-insensitive. + * + * `git rev-parse --show-toplevel` answers in git's own idiom — forward slashes + * and a drive letter on Windows (`D:/Repos/Database`) where `process.cwd()` + * gives backslashes — so a raw string comparison of the two would differ on + * every Windows checkout and skip the gate for everyone on the workstation. + * + * `realpathSync` can throw on a path that has since gone; fall back to the + * unresolved form rather than letting a comparison helper decide the gate. + */ +function comparablePath(value: string): string { + let resolved: string; + try { + resolved = realpathSync(path.resolve(value)); + } catch { + resolved = path.resolve(value); + } + return process.platform === "win32" ? resolved.toLowerCase() : resolved; +} + +/** + * True only when `cwd` is the ROOT OF ITS OWN repository — not merely somewhere + * inside one. + * + * `--is-inside-work-tree` alone was not enough, and the difference is not + * academic. Extract a `git archive` export into a directory that happens to sit + * inside another checkout and git answers `true` for the OUTER repository. The + * generator then runs `git ls-files --others` there, every document in the + * export looks untracked to it, and the generator throws its + * "Untracked Markdown documents" error — which is not a git-availability + * message, so the skip below cannot recognise it. The gate exits 1 with a + * six-hundred-path dump and no explanation of why (`#JFRCZ4`; reproduced by + * extracting an export under a scratch repository). + * + * Comparing the toplevel to `cwd` is the exact question this gate needs, not an + * approximation of it: every path it reads — `OUTPUT_PATH`, `docs/`, the review + * corpus — is relative to `cwd`, so a repository rooted anywhere else is + * describing different content by definition. + * + * It fails in the SAFE direction. A false negative skips a staleness check that + * CI still runs against the real checkout; a false positive compares this + * repository's snapshot against another repository's files, which is the + * unexplained red the row was opened for. + */ export function isGitRepository(cwd = process.cwd()): boolean { try { - execFileSync("git", ["rev-parse", "--is-inside-work-tree"], { + const topLevel = execFileSync("git", ["rev-parse", "--show-toplevel"], { cwd, + encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], - }); - return true; + }).trim(); + if (!topLevel) return false; + return comparablePath(topLevel) === comparablePath(cwd); } catch { return false; } @@ -89,8 +150,16 @@ export function checkRepoAwarenessSnapshot(options: CheckSnapshotOptions = {}): } = options; if (!isGitRepoImpl()) { + // Reported on stdout with exit 0, so a reader must read the line rather + // than the exit code to tell a skip from a pass. That is deliberate: the + // gate compares a committed artefact against what git says the repository + // contains, and without git there is no second opinion to compare against — + // failing would turn every archive export and container build red for a + // check that cannot run. CI always runs it against a real checkout, so the + // coverage this skip gives up is recovered there. log( - "[repo-awareness] Git repository not available (git-less environment); skipping repo-awareness snapshot staleness check.", + "[repo-awareness] Skipped: no git repository rooted here (a git archive export, or a checkout without git). " + + "The staleness check needs git to say what the repository contains; CI runs it against a real checkout.", ); return 0; } @@ -135,7 +204,8 @@ export function checkRepoAwarenessSnapshot(options: CheckSnapshotOptions = {}): log( `[repo-awareness] in step with ${outputPath} (${regenerated.routes.counts.pages} pages, ` + - `${regenerated.documentation.counts.documents} documents, ${regenerated.review_state.counts.records} reviews)`, + `${regenerated.documentation.counts.documents} documents, ` + + `${regenerated.review_state.records.length} reviews)`, ); return 0; } diff --git a/scripts/ci-change-scope.mjs b/scripts/ci-change-scope.mjs index 7f32994a66..84dab7e8be 100644 --- a/scripts/ci-change-scope.mjs +++ b/scripts/ci-change-scope.mjs @@ -294,6 +294,15 @@ const perfExclusionPatterns = [ // perf_changed and the job failed mobile TBT +32.7% against a baseline // the same change cannot move. "data/outstanding-issues-snapshot.json", + // Same reasoning, same developer hub, sibling artefact: + // `src/lib/developer-area/repo-awareness-snapshot.ts` imports this JSON and + // the only route importers are under `src/app/mockups/development/`. It was + // missed when the sibling was carved out, and it is the more frequent one — + // every `ledger:append` regenerates it, so a routine handoff paid a + // ~7-minute Lighthouse run against a budget the change cannot move + // (`#EFETZT`, whose measured cost is "one full CI round trip" per + // occurrence). + "data/repo-awareness-snapshot.json", ]; function isPerfChangedPath(filePath) { @@ -1030,6 +1039,11 @@ function selfTest() { assertScope("perf-off-for-outstanding-issues-snapshot", ["data/outstanding-issues-snapshot.json"], { perf_changed: false, }); + // The sibling developer-hub snapshot, carved out for the same reason. Pinned + // separately because it was the one the original carve-out missed. + assertScope("perf-off-for-repo-awareness-snapshot", ["data/repo-awareness-snapshot.json"], { + perf_changed: false, + }); assertScope("perf-on-for-build-config", ["next.config.ts", "postcss.config.mjs", "tsconfig.json"], { perf_changed: true, }); diff --git a/scripts/generate-outstanding-issues-snapshot.mjs b/scripts/generate-outstanding-issues-snapshot.mjs index 86e23aafc4..e70f1dadb9 100644 --- a/scripts/generate-outstanding-issues-snapshot.mjs +++ b/scripts/generate-outstanding-issues-snapshot.mjs @@ -243,10 +243,36 @@ function resolveRevision({ ledgerPath = LEDGER_PATH, snapshotPath = OUTPUT_PATH return resolveMonotonicRevision(readLedgerRevision(ledgerPath), readCommittedRevision(snapshotPath)); } -export function generate({ ledgerPath = LEDGER_PATH, inboxDir = INBOX_DIR, snapshotPath = OUTPUT_PATH } = {}) { +/** + * `includePending` defaults to FALSE, and that default is the point. + * + * `pending` is the one section derived from `docs/outstanding-issues-inbox/` + * rather than from the canonical ledger, so its value depends on every OTHER + * branch's queued requests. Writing it into the committed artefact is what made + * two concurrent ledger PRs conflict on a file neither of them was really + * changing (`#Y090R5`; PR #2284 conflicted twice in an hour and was closed + * rather than untangled). `check-outstanding-issues-snapshot.mjs` already + * excludes `pending` and `counts.pending` from comparison for exactly that + * reason — but excluding a field from the gate never stopped it conflicting in + * git, because the bytes still shipped. With eight requests queued, a plain + * `npm run docs:update` or `npm run build` rewrote the committed `pending` and + * re-armed the conflict for whoever committed the result. + * + * So the committed artefact carries an empty `pending`, and only the caller + * that needs the live list asks for it: `prebuild` passes `--with-pending`, so + * the Docker image — which regenerates this file during `next build` — still + * shows the developer hub the true set of unapplied requests. Nothing a reader + * sees is lost; what is lost is a conflict in a file nobody was editing. + */ +export function generate({ + ledgerPath = LEDGER_PATH, + inboxDir = INBOX_DIR, + snapshotPath = OUTPUT_PATH, + includePending = false, +} = {}) { return buildSnapshot({ ledgerMarkdown: readFileSync(ledgerPath, "utf8"), - inboxRecords: readInboxRecords(inboxDir), + inboxRecords: includePending ? readInboxRecords(inboxDir) : [], revision: resolveRevision({ ledgerPath, snapshotPath }), }); } @@ -258,6 +284,9 @@ export function generate({ ledgerPath = LEDGER_PATH, inboxDir = INBOX_DIR, snaps // drive-letter leading slash — the guard would silently never fire and the // file would never be written. if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) { - writeFileSync(OUTPUT_PATH, `${JSON.stringify(generate(), null, 2)}\n`, "utf8"); - console.log(`[snapshot] wrote ${OUTPUT_PATH}`); + // Only `prebuild` passes this. See `generate()` for why the committed file + // deliberately carries an empty `pending`. + const includePending = process.argv.slice(2).includes("--with-pending"); + writeFileSync(OUTPUT_PATH, `${JSON.stringify(generate({ includePending }), null, 2)}\n`, "utf8"); + console.log(`[snapshot] wrote ${OUTPUT_PATH}${includePending ? " (with pending inbox requests)" : ""}`); } diff --git a/scripts/generate-repo-awareness-snapshot.ts b/scripts/generate-repo-awareness-snapshot.ts index eb01ca3d44..08f0a1b79e 100644 --- a/scripts/generate-repo-awareness-snapshot.ts +++ b/scripts/generate-repo-awareness-snapshot.ts @@ -1,4 +1,4 @@ -import { execFileSync } from "node:child_process"; +import { execFileSync, type ExecFileSyncOptionsWithStringEncoding } from "node:child_process"; import { existsSync, readFileSync, readdirSync, writeFileSync } from "node:fs"; import path from "node:path"; import { pathToFileURL } from "node:url"; @@ -136,9 +136,18 @@ function scanDocsDirectory(dir: string, baseDir = dir): string[] { * to scanning docs/ directly from the filesystem. */ export function listDocumentPaths(repoRoot = process.cwd()): string[] { - const options = { + // Annotated rather than inferred. The two sibling call sites pass their + // options inline, so `stdio` gets `StdioOptions` from context; a standalone + // object has no such context, and `as const` would infer a readonly tuple + // that `execFileSync` rejects. + const options: ExecFileSyncOptionsWithStringEncoding = { cwd: repoRoot, - encoding: "utf8" as const, + encoding: "utf8", + // Silence git's stderr, matching `readReviewRecordRows` and + // `readCapturedRevision`. Without it a git-less checkout takes the + // filesystem fallback below and still prints `fatal: not a git repository`, + // so a run that succeeded reads as a failure (`#JFRCZ4`). + stdio: ["ignore", "pipe", "ignore"], }; try { const untracked = filterDocumentPaths( @@ -444,30 +453,47 @@ export function buildReviewStateSection(rows: readonly { file: string; line: str const head = rawHead.replaceAll("`", ""); return { date, ref, head, scope, outcome, checks }; }) - // Newest first, then ref, head and scope. That is NOT guaranteed to be a - // total order: 21 records in the current corpus share a date, ref AND head, - // because one branch can be reviewed twice at one commit under different - // scopes, and nothing structurally prevents two records sharing all four. + // Ordered by `head` — a DISPERSING key, not a presentational one. This is + // the whole point of the ordering, so do not "restore" newest-first here. // - // Determinism therefore rests on two further facts, not on the comparator: - // `readReviewRecordRows` sorts filenames and preserves row order within - // each file, so its output order is the same on every platform, and - // `Array.prototype.sort` is specified stable, so ties keep that order. If - // either ever stops holding — records merged from a - // second source, or an unsorted glob — this comparator will start flapping - // the staleness gate for exactly those records, and no test will say why. + // The corpus holds 2,662 records across only 53 distinct dates, so a + // date-descending order put every new record into the same dense block at + // the head of the array. Two branches each appending one review record — + // the ordinary handoff — therefore inserted on the same lines and produced + // a hard conflict in the committed snapshot, which sets + // `mergeable_state=dirty` on GitHub. That suppresses `refs/pull//merge`, + // so `pull_request` CI does not run at all and the check list reads empty + // rather than red (`#EFETZT`; twice in fifteen minutes on PR #2413). + // + // A commit sha is uniformly distributed hex — 2,323 distinct values here — + // so concurrent appends land hundreds of lines apart and git's three-way + // merge resolves both hunks with no conflict. Newest-first is presentation + // and belongs to the page: `ReviewStatePageContent` sorts before paginating. + // + // `head` alone is NOT a total order — a branch reviewed twice at one commit + // under different scopes repeats it — so date, ref and scope break ties. + // Even those four are not provably total, and determinism therefore rests + // on two further facts, not on the comparator: `readReviewRecordRows` sorts + // filenames and preserves row order within each file, so its output order + // is the same on every platform, and `Array.prototype.sort` is specified + // stable, so ties keep that order. If either ever stops holding — records + // merged from a second source, or an unsorted glob — this comparator will + // start flapping the staleness gate for exactly those records, and no test + // will say why. .sort( (left, right) => - right.date.localeCompare(left.date) || - left.ref.localeCompare(right.ref) || left.head.localeCompare(right.head) || + left.date.localeCompare(right.date) || + left.ref.localeCompare(right.ref) || left.scope.localeCompare(right.scope), ); - return { - records, - counts: { records: records.length, refs: new Set(records.map((record) => record.ref)).size }, - }; + // No `counts` here, deliberately — see `ReviewStateSection` in + // `repo-awareness-types.ts`. An aggregate over an append-only set changes on + // BOTH sides of every concurrent append, so a stored count is a guaranteed + // conflict no ordering can disperse. `reviewStateCounts()` derives it once at + // render instead, so a count and its own list still cannot disagree. + return { records }; } /** @@ -511,12 +537,23 @@ export function buildReviewStateSection(rows: readonly { file: string; line: str * * Docs are a `*.md` glob rather than the `docs/` directory: inbox JSON and * other non-emitted files under that tree must not advance the stamp. + * + * The review corpus is excluded from that glob, mirroring `EXCLUDED_DOC_PREFIXES`. + * Appending a review record writes `docs/branch-review-records/.record.md`, + * which the bare glob matched — so every handoff moved this stamp on both the + * feature branch and `main`, and two lines that always differ are a conflict no + * amount of dispersal in `review_state.records` can avoid (`#EFETZT`). Dropping + * a true input is the sanctioned direction stated above: it can only understate + * freshness, never overstate it. The rotated archives go with it for the same + * reason. */ const REVISION_INPUTS = [ "src/app", "src/lib/app-modes.ts", "src/lib/consolidated-mode-home-redirect.ts", ":(glob)docs/**/*.md", + ":(exclude,glob)docs/branch-review-records/**", + ":(exclude,glob)docs/archive/branch-review-ledger-*.md", "tests/flake-ledger.json", "scripts/generate-site-map.ts", ]; diff --git a/scripts/pr-policy.mjs b/scripts/pr-policy.mjs index e651452f46..8a03fd0908 100644 --- a/scripts/pr-policy.mjs +++ b/scripts/pr-policy.mjs @@ -71,6 +71,33 @@ const clinicalRiskPatterns = [ /^(?:src\/data|data|public\/therapy-compass-data)\//, ]; +/** + * Exact paths that live under `data/` but hold no clinical content at all. + * + * `clinicalRiskPatterns`' `data/` rule exists for clinical reference datasets + * shipped straight to clinicians — see its comment above. These two are + * generated REPOSITORY-METADATA exports for the developer hub: route and + * document inventories, the review-record corpus, and the outstanding-issues + * ledger. Nothing in either reaches a clinician. + * + * Sweeping them in had a cost worth stating, because it is the reason this list + * exists rather than the mere tidiness of a correct label: every ledger PR that + * regenerated one was blocked until its body carried a complete + * `## Clinical Governance Preflight` for a file holding no clinical data + * (`#Y090R5`, measured on PR #2299). Ticking clinical governance boxes + * reflexively on changes with no clinical output is precisely the habit that + * section exists to prevent, so a false positive here actively erodes the gate. + * + * EXACT paths, deliberately — never a prefix, and never a directory. A + * `data/`-wide carve-out would silently exempt the next clinical dataset added + * beside them, which is the failure direction this classifier must never take. + * Anything else under `data/` stays clinical-risk. + */ +const nonClinicalGeneratedDataPaths = new Set([ + "data/repo-awareness-snapshot.json", + "data/outstanding-issues-snapshot.json", +]); + const operationalRiskPatterns = [ /^\.github\/(?:actions|workflows)\//, /^(?:package|package-lock)\.json$/, @@ -267,7 +294,9 @@ export function classifyPullRequestFiles(files) { const normalized = [...new Set((files ?? []).map(normalizePath).filter(Boolean))]; return { files: normalized, - clinicalRisk: normalized.some((file) => clinicalRiskPatterns.some((pattern) => pattern.test(file))), + clinicalRisk: normalized.some( + (file) => !nonClinicalGeneratedDataPaths.has(file) && clinicalRiskPatterns.some((pattern) => pattern.test(file)), + ), operationalRisk: normalized.some((file) => operationalRiskPatterns.some((pattern) => pattern.test(file))), ragRanking: normalized.some((file) => ragRankingPatterns.some((pattern) => pattern.test(file))), migration: normalized.some((file) => migrationPatterns.some((pattern) => pattern.test(file))), @@ -689,6 +718,18 @@ function selfTest() { assert.equal(classifyPullRequestFiles(["src/data/therapies-index.json"]).clinicalRisk, true); assert.equal(classifyPullRequestFiles(["public/therapy-compass-data/pathways.json"]).clinicalRisk, true); assert.equal(classifyPullRequestFiles(["data/clinical-snapshot.json"]).clinicalRisk, true); + // Generated developer-hub metadata under `data/`: not clinical, so no + // governance preflight. Pinned per file, and paired with the assertion above + // proving the surrounding `data/` rule still bites for everything else. + assert.equal(classifyPullRequestFiles(["data/repo-awareness-snapshot.json"]).clinicalRisk, false); + assert.equal(classifyPullRequestFiles(["data/outstanding-issues-snapshot.json"]).clinicalRisk, false); + // The carve-out is per file, not a prefix: a neighbour keeps its risk, and a + // mixed PR is still clinical-risk because of the other file. + assert.equal(classifyPullRequestFiles(["data/repo-awareness-snapshot.json.bak"]).clinicalRisk, true); + assert.equal( + classifyPullRequestFiles(["data/repo-awareness-snapshot.json", "data/medications-snapshot.json"]).clinicalRisk, + true, + ); // Unreviewed clinical content switches and mode reachability in src/lib (#P5542X). assert.equal(classifyPullRequestFiles(["src/lib/clinical-content-policy.ts"]).clinicalRisk, true); assert.equal(classifyPullRequestFiles(["src/lib/app-modes.ts"]).clinicalRisk, true); diff --git a/src/components/developer-area/hub/review-state-page-content.tsx b/src/components/developer-area/hub/review-state-page-content.tsx index d547288e45..7872cb3274 100644 --- a/src/components/developer-area/hub/review-state-page-content.tsx +++ b/src/components/developer-area/hub/review-state-page-content.tsx @@ -1,7 +1,12 @@ import { CountTile, META_CLASS, PanelSection } from "@/components/developer-area/hub/panel-primitives"; import { PanelPageShell } from "@/components/developer-area/hub/panel-page-shell"; import { REVIEW_STATE_PAGE_SIZE, ReviewStateTable } from "@/components/developer-area/hub/review-state-table"; -import { loadRepoAwarenessSnapshot, resolveRepoFreshness } from "@/lib/developer-area/repo-awareness-snapshot"; +import { + loadRepoAwarenessSnapshot, + resolveRepoFreshness, + reviewRecordsNewestFirst, + reviewStateCounts, +} from "@/lib/developer-area/repo-awareness-snapshot"; /** * The synchronous, directly-testable half of the review-state route. This @@ -15,7 +20,13 @@ import { loadRepoAwarenessSnapshot, resolveRepoFreshness } from "@/lib/developer export function ReviewStatePageContent({ requestedPage = 1 }: { requestedPage?: number }) { const snapshot = loadRepoAwarenessSnapshot(); const freshness = resolveRepoFreshness(snapshot, new Date()); - const { records, counts } = snapshot.review_state; + // Both derived here, not read from the snapshot. The stored order is by + // `head` so that concurrent appends merge cleanly, and the stored totals were + // removed for the same reason — see `ReviewStateSection` in + // `repo-awareness-types.ts`. Presentation order and totals are this page's + // job, and both come from the same array it renders. + const records = reviewRecordsNewestFirst(snapshot.review_state.records); + const counts = reviewStateCounts(records); const totalPages = Math.max(1, Math.ceil(records.length / REVIEW_STATE_PAGE_SIZE)); const page = Math.min(Math.max(1, requestedPage), totalPages); diff --git a/src/lib/developer-area/repo-awareness-snapshot.ts b/src/lib/developer-area/repo-awareness-snapshot.ts index d3475f1b68..7bc6157738 100644 --- a/src/lib/developer-area/repo-awareness-snapshot.ts +++ b/src/lib/developer-area/repo-awareness-snapshot.ts @@ -6,6 +6,7 @@ import { type DocumentationSection, type QuarantinedTest, type RepoAwarenessSnapshot, + type ReviewRecord, } from "./repo-awareness-types"; /** @@ -75,6 +76,43 @@ export function isQuarantineExpired(entry: QuarantinedTest, now: Date): boolean return now.getTime() > endOfExpiryDay.getTime(); } +/** + * The review-state totals, derived rather than stored. + * + * `ReviewStateSection` explains why: a stored aggregate over an append-only set + * conflicts on every concurrent append. Computing both here — once, from the + * same array the page renders — keeps the guarantee the stored counts gave, + * that a count and its own list cannot disagree. + * + * `refs` counts distinct recorded refs, not records: one branch reviewed twice + * at different heads is one ref and two records, which is what the panel's two + * tiles are there to tell apart. + */ +export function reviewStateCounts(records: readonly ReviewRecord[]): { records: number; refs: number } { + return { records: records.length, refs: new Set(records.map((record) => record.ref)).size }; +} + +/** + * Newest first, for reading. The snapshot stores records ordered by `head` so + * concurrent appends merge cleanly, so presentation order has to be applied + * here — see `buildReviewStateSection` in the generator. + * + * Copies before sorting: the snapshot is a module-level import shared by every + * request, and sorting it in place would mutate that shared array. + * + * Ties keep the stored order, which is itself deterministic, so repeated calls + * on one snapshot always produce the same list. + */ +export function reviewRecordsNewestFirst(records: readonly ReviewRecord[]): ReviewRecord[] { + return [...records].sort( + (left, right) => + right.date.localeCompare(left.date) || + left.ref.localeCompare(right.ref) || + left.head.localeCompare(right.head) || + left.scope.localeCompare(right.scope), + ); +} + export type DocumentEntry = DocumentationSection["documents"][number]; /** diff --git a/src/lib/developer-area/repo-awareness-types.ts b/src/lib/developer-area/repo-awareness-types.ts index f6b43fdd5f..76965e55db 100644 --- a/src/lib/developer-area/repo-awareness-types.ts +++ b/src/lib/developer-area/repo-awareness-types.ts @@ -10,7 +10,14 @@ * No value imports here, and in particular no `import` of the generated JSON: * the types must be usable before the JSON file exists. */ -export const REPO_AWARENESS_SNAPSHOT_VERSION = "repo-awareness-snapshot-v1"; +/** + * v2 dropped `review_state.counts` and re-ordered `review_state.records` by + * `head`. Both are shape changes, so the version moves with them: a committed + * snapshot left at v1 fails `assertRepoAwarenessVersion` loudly instead of + * rendering a page from data whose order and totals no longer mean what the + * reader is told. + */ +export const REPO_AWARENESS_SNAPSHOT_VERSION = "repo-awareness-snapshot-v2"; export type RouteArea = "product" | "mockup"; @@ -29,6 +36,25 @@ export type RoutesSection = { }; }; +/** + * `sections[]` carries a name and nothing else, deliberately. + * + * It once carried per-section `documents` and `uncatalogued` totals — thirty + * numbers across fifteen sections that nothing read, because the documentation + * page computes `section.documents.length` at render from the list it is about + * to show. `#XHADPV` asked for that to be a decision rather than an omission, + * since it made the generator's "counts are computed once, so a count and its + * own list cannot disagree" rule carry an undocumented exception. The decision + * is to stop emitting them, and the rule it follows is the one stated on + * `ReviewStateSection` below: a count over a set that grows by append is + * derived at render; a count over a closed set stays generator-computed. + * + * `counts` here is that second case and stays. `documents` and `sections` are + * closed sets — they change only when someone deliberately adds a document or a + * section, never as a side effect of another branch's work — so a stored total + * cannot become a conflict, and computing it once in the generator keeps it + * honest against its own list. + */ export type DocumentationSection = { documents: { path: string; section: string; catalogued: boolean }[]; sections: { name: string }[]; @@ -64,9 +90,29 @@ export type ReviewRecord = { checks: string; }; +/** + * No `counts`, and that is the deliberate rule this file states once for the + * whole snapshot: + * + * A count over an APPEND-ONLY set is derived at render. A count over a closed + * set stays generator-computed. + * + * The generator rule "counts are computed once, so a count and its own list + * cannot disagree" holds for `routes` and `documentation`, whose lists change + * only when someone deliberately adds a route or a document. It cannot hold for + * an append-only set: every concurrent append changes the aggregate on BOTH + * sides, so a stored total is a guaranteed merge conflict that no ordering can + * disperse. `documentation.sections[]` already dropped its per-section + * `documents`/`uncatalogued` counts for the render-time list (`#XHADPV`, which + * asked for exactly this choice to be made deliberately rather than by + * omission); `review_state.counts` follows for the stronger reason (`#EFETZT`). + * + * Deriving loses nothing: `reviewStateCounts()` in `repo-awareness-snapshot.ts` + * computes both totals once from the very list the page renders, so they still + * cannot disagree with it. + */ export type ReviewStateSection = { records: ReviewRecord[]; - counts: { records: number; refs: number }; }; export type RepoAwarenessSnapshot = { diff --git a/tests/developer-review-state-page.dom.test.tsx b/tests/developer-review-state-page.dom.test.tsx index ebbb9d8316..088d6febfb 100644 --- a/tests/developer-review-state-page.dom.test.tsx +++ b/tests/developer-review-state-page.dom.test.tsx @@ -3,7 +3,11 @@ import type { ReactNode } from "react"; import { describe, expect, it, vi } from "vitest"; import { ReviewStatePageContent } from "@/components/developer-area/hub/review-state-page-content"; -import { loadRepoAwarenessSnapshot } from "@/lib/developer-area/repo-awareness-snapshot"; +import { + loadRepoAwarenessSnapshot, + reviewRecordsNewestFirst, + reviewStateCounts, +} from "@/lib/developer-area/repo-awareness-snapshot"; // PanelPageShell's back control is a ContextualBackLink, which calls // next/navigation's useRouter for its history-aware click handler. Outside an @@ -33,6 +37,12 @@ vi.mock("@/lib/developer-area/repo-awareness-snapshot", async (importOriginal) = }); const snapshot = loadRepoAwarenessSnapshot(); +// The snapshot stores records ordered by `head` so concurrent appends merge +// cleanly; reading order and totals are the page's job. These mirror what the +// component derives, so the assertions below describe rendered output rather +// than the storage order. +const displayRecords = reviewRecordsNewestFirst(snapshot.review_state.records); +const counts = reviewStateCounts(displayRecords); describe("developer review state page", () => { it("renders inside the shared shell with the repository freshness label", () => { @@ -43,12 +53,8 @@ describe("developer review state page", () => { it("shows records and distinct recorded refs as separate readable values", () => { render(); - expect(screen.getByTestId("developer-review-state-count-records-value")).toHaveTextContent( - String(snapshot.review_state.counts.records), - ); - expect(screen.getByTestId("developer-review-state-count-refs-value")).toHaveTextContent( - String(snapshot.review_state.counts.refs), - ); + expect(screen.getByTestId("developer-review-state-count-records-value")).toHaveTextContent(String(counts.records)); + expect(screen.getByTestId("developer-review-state-count-refs-value")).toHaveTextContent(String(counts.refs)); expect(screen.getByText("distinct recorded refs")).toBeInTheDocument(); }); @@ -60,7 +66,7 @@ describe("developer review state page", () => { it("renders only the current page's records (up to 50 on page 1) — never the full committed set", () => { render(); - const expectedFirstPageCount = Math.min(50, snapshot.review_state.counts.records); + const expectedFirstPageCount = Math.min(50, counts.records); expect(within(screen.getByTestId("developer-review-state-records")).getAllByRole("listitem")).toHaveLength( expectedFirstPageCount, ); @@ -79,12 +85,12 @@ describe("developer review state page", () => { const previousLinks = screen.getAllByRole("link", { name: "Previous page" }); expect(previousLinks[0]).toHaveAttribute("href", "?page=1"); const secondPageRows = within(screen.getByTestId("developer-review-state-records")).getAllByRole("listitem"); - expect(secondPageRows[0]).toHaveTextContent(snapshot.review_state.records[50].head); + expect(secondPageRows[0]).toHaveTextContent(displayRecords[50].head); }); it("clamps an out-of-range requested page to the last real page", () => { render(); - const totalPages = Math.max(1, Math.ceil(snapshot.review_state.counts.records / 50)); + const totalPages = Math.max(1, Math.ceil(counts.records / 50)); expect(screen.getByText(new RegExp(`Page ${totalPages} of ${totalPages}`))).toBeInTheDocument(); expect(screen.queryByRole("link", { name: "Next page" })).not.toBeInTheDocument(); }); @@ -92,14 +98,18 @@ describe("developer review state page", () => { it("shows the newest record first and never a raw escaped pipe", () => { render(); const rows = within(screen.getByTestId("developer-review-state-records")).getAllByRole("listitem"); - expect(rows[0]).toHaveTextContent(snapshot.review_state.records[0].head); + expect(rows[0]).toHaveTextContent(displayRecords[0].head); + // The page must APPLY reading order, not inherit it. The stored order is by + // `head`, so its first record is not the newest one — if this ever passes + // without `reviewRecordsNewestFirst`, the page is showing storage order. + expect(snapshot.review_state.records[0].head).not.toBe(displayRecords[0].head); expect(screen.getByTestId("developer-review-state-records").textContent).not.toMatch(/\\\|/); }); it("renders a record's outcome verbatim, in full, never classified or truncated (ruling R7)", () => { render(); const rows = within(screen.getByTestId("developer-review-state-records")).getAllByRole("listitem"); - const pageRecords = snapshot.review_state.records.slice(0, 50); + const pageRecords = displayRecords.slice(0, 50); let longestIndex = 0; for (const [index, record] of pageRecords.entries()) { if (record.outcome.length > pageRecords[longestIndex].outcome.length) longestIndex = index; @@ -111,7 +121,7 @@ describe("developer review state page", () => { it("renders a clear empty state instead of an empty review list", () => { vi.mocked(loadRepoAwarenessSnapshot).mockReturnValue({ ...snapshot, - review_state: { ...snapshot.review_state, records: [], counts: { records: 0, refs: 0 } }, + review_state: { ...snapshot.review_state, records: [] }, }); render(); diff --git a/tests/outstanding-issues-snapshot-gate.test.ts b/tests/outstanding-issues-snapshot-gate.test.ts index 61ea8b38d5..f810bbcdb2 100644 --- a/tests/outstanding-issues-snapshot-gate.test.ts +++ b/tests/outstanding-issues-snapshot-gate.test.ts @@ -4,13 +4,32 @@ import { compareSnapshots } from "../scripts/check-outstanding-issues-snapshot.m const BASE = { version: "outstanding-issues-snapshot-v1", ledger_revision: { sha: "a".repeat(40), committed_at: "2026-08-20T00:00:00Z" }, - counts: { open: 2, p1: 1, pending: 1 } as Record, + counts: { open: 2, p1: 1, pending: 0 } as Record, queue: [{ order: 1, ids: ["#1"] }], open: [{ id: "#1" }, { id: "#2" }], - pending: [{ request_id: "r1", action: "add", summary: "s" }], + // Empty, because that is the shape a COMMITTED snapshot must have — see the + // "refuses a committed snapshot" test below. Typed rather than inferred: an + // empty literal infers `never[]`, which no test could then populate. + pending: [] as { request_id: string; action: string; summary: string }[], }; describe("compareSnapshots", () => { + it("refuses a committed snapshot that carries inbox requests", () => { + // Excluding `pending` from the value comparison is not the same as + // permitting it in the committed file. Its value depends on every other + // branch's queued requests, so committing it re-arms the conflict + // `#Y090R5` exists to end — and a plain `npm run build` writes it, because + // `prebuild` passes `--with-pending` so the built image can show the true + // list. Without this the gate would wave that through. + const committedWithPending = structuredClone(BASE); + committedWithPending.pending = [{ request_id: "r1", action: "add", summary: "s" }]; + const differences = compareSnapshots(committedWithPending, BASE); + expect(differences.join(" ")).toMatch(/pending: the committed snapshot carries 1 inbox request/); + // The message has to name the way out, because the usual cause is a local + // build rather than anything the author did on purpose. + expect(differences.join(" ")).toMatch(/npm run build/); + }); + it("reports no differences when in step", () => { expect(compareSnapshots(BASE, structuredClone(BASE))).toEqual([]); }); @@ -45,9 +64,14 @@ describe("compareSnapshots", () => { it("ignores pending inbox drift and counts.pending drift to isolate feature branch conflicts", () => { const pendingDrift = structuredClone(BASE); - pendingDrift.pending = []; + // The REGENERATED side carries the live inbox; the committed side stays + // empty. That divergence must not be reported, which is what isolates a + // feature branch from every other branch's queued requests. + const regeneratedWithInbox = structuredClone(BASE); + regeneratedWithInbox.pending = [{ request_id: "r1", action: "add", summary: "s" }]; + regeneratedWithInbox.counts = { ...regeneratedWithInbox.counts, pending: 1 }; pendingDrift.counts = { ...pendingDrift.counts, pending: 99 }; - expect(compareSnapshots(pendingDrift, BASE)).toEqual([]); + expect(compareSnapshots(pendingDrift, regeneratedWithInbox)).toEqual([]); }); it("notices a key the generator no longer emits", () => { diff --git a/tests/outstanding-issues-snapshot.test.ts b/tests/outstanding-issues-snapshot.test.ts index 401547a580..808f3e2463 100644 --- a/tests/outstanding-issues-snapshot.test.ts +++ b/tests/outstanding-issues-snapshot.test.ts @@ -203,6 +203,53 @@ describe("buildSnapshot", () => { * refuses a repo-less image. The `fatal:` line git prints on stderr during this * block is the reproduction, not a test failure. */ +describe("pending inbox requests in the committed artefact", () => { + let dir: string; + let ledgerPath: string; + let inboxDir: string; + let snapshotPath: string; + + beforeEach(() => { + dir = mkdtempSync(join(tmpdir(), "issues-snapshot-pending-")); + ledgerPath = join(dir, "outstanding-issues.md"); + inboxDir = join(dir, "inbox"); + snapshotPath = join(dir, "outstanding-issues-snapshot.json"); + mkdirSync(inboxDir); + writeFileSync(ledgerPath, LEDGER, "utf8"); + writeFileSync( + join(inboxDir, "11111111-2222-3333-4444-555555555555.json"), + JSON.stringify({ + id: "11111111-2222-3333-4444-555555555555", + action: "add", + createdOn: "2026-09-01", + payload: { summary: "Queued on some other branch" }, + }), + "utf8", + ); + }); + + afterEach(() => rmSync(dir, { force: true, recursive: true, maxRetries: 5, retryDelay: 100 })); + + it("omits pending by default, so an ordinary branch never rewrites this file", () => { + // The committed artefact must not depend on what OTHER branches have + // queued, or two concurrent ledger PRs conflict on a file neither is really + // changing (`#Y090R5`). Everything derived from the canonical ledger is + // still rebuilt in full — only the inbox-derived section is withheld. + const snapshot = generate({ ledgerPath, inboxDir, snapshotPath }); + expect(snapshot.pending).toEqual([]); + expect(snapshot.counts.pending).toBe(0); + expect(snapshot.counts.open).toBe(3); + }); + + it("includes pending when the caller asks, which is how the built image stays truthful", () => { + // `prebuild` passes `--with-pending`, so the developer hub in the deployed + // image still lists the requests that have not been reconciled yet. + const snapshot = generate({ ledgerPath, inboxDir, snapshotPath, includePending: true }); + expect(snapshot.counts.pending).toBe(1); + expect(snapshot.pending[0].summary).toBe("Queued on some other branch"); + }); +}); + describe("ledger revision when git cannot be read", () => { let dir: string; let ledgerPath: string; diff --git a/tests/repo-awareness-gate.test.ts b/tests/repo-awareness-gate.test.ts index d66824de4d..dfbd57c12b 100644 --- a/tests/repo-awareness-gate.test.ts +++ b/tests/repo-awareness-gate.test.ts @@ -1,6 +1,15 @@ +import { execFileSync } from "node:child_process"; +import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + import { describe, expect, it } from "vitest"; -import { checkRepoAwarenessSnapshot, compareSnapshots } from "../scripts/check-repo-awareness-snapshot"; +import { + checkRepoAwarenessSnapshot, + compareSnapshots, + isGitRepository, +} from "../scripts/check-repo-awareness-snapshot"; import { generate } from "../scripts/generate-repo-awareness-snapshot"; const regenerated = generate(); @@ -40,7 +49,6 @@ describe("compareSnapshots", () => { it("ignores review_state differences to eliminate concurrent review record merge conflicts", () => { const committed = structuredClone(regenerated); - committed.review_state.counts.records += 1; committed.review_state.records = [ { date: "2026-08-28", @@ -92,6 +100,75 @@ describe("checkRepoAwarenessSnapshot", () => { expect(errors).toHaveLength(0); }); + it("skips without generating at all when no git repository is rooted here", () => { + // The branch that actually fires in a `git archive` export, and the one the + // existing coverage above misses: it drives the message-sniffing catch by + // throwing from `generateImpl`, which is a different path. Here generation + // must never be reached, because in a git-less checkout the generator would + // silently fall back to a filesystem scan and compare a plausible-looking + // wrong answer. + const logs: string[] = []; + const errors: string[] = []; + let generated = false; + let exitCode: number | null = null; + + const code = checkRepoAwarenessSnapshot({ + isGitRepoImpl: () => false, + generateImpl: () => { + generated = true; + return regenerated; + }, + log: (msg) => logs.push(msg), + error: (msg) => errors.push(msg), + exit: (c) => { + exitCode = c; + }, + }); + + expect(code).toBe(0); + expect(exitCode).toBeNull(); + expect(generated).toBe(false); + expect(errors).toHaveLength(0); + // The skip shares its exit code with a pass, so the message is the only + // thing that distinguishes them — it has to say both what was skipped and + // that CI still covers it. + expect(logs.join(" ")).toMatch(/Skipped: no git repository rooted here/); + expect(logs.join(" ")).toMatch(/CI runs it against a real checkout/); + }); + + it("rejects a repository that is merely an ancestor, not this checkout", () => { + // The exact shape that produced the unexplained red: a `git archive` export + // extracted INSIDE another checkout. `--is-inside-work-tree` answered the + // OUTER repository's `true`, the generator then read that repository, found + // every document untracked, and threw a six-hundred-path error the skip + // could not recognise — exit 1 with no explanation (`#JFRCZ4`). + const outer = mkdtempSync(join(tmpdir(), "repo-awareness-outer-")); + try { + execFileSync("git", ["init", "--quiet", "."], { cwd: outer, stdio: "ignore" }); + const nested = join(outer, "nested-export"); + mkdirSync(nested); + + // A directory that is inside a work tree but is not its root: git answers + // happily here, and answers about the wrong repository. + expect( + execFileSync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: nested, encoding: "utf8" }).trim(), + ).toBe("true"); + expect(isGitRepository(nested)).toBe(false); + + // The outer repository's own root still answers true, so the check + // distinguishes "not this checkout" from "no git at all". + expect(isGitRepository(outer)).toBe(true); + } finally { + // Bounded retries, per the repo convention: on Windows a recursive delete + // races the locks git still holds over the objects it just wrote. + rmSync(outer, { force: true, recursive: true, maxRetries: 5, retryDelay: 100 }); + } + }); + + it("still recognises this checkout, so the tightened check has not disabled the gate", () => { + expect(isGitRepository(process.cwd())).toBe(true); + }); + it("passes with exit 0 when committed snapshot matches generated snapshot", () => { const logs: string[] = []; const errors: string[] = []; diff --git a/tests/repo-awareness-generator.test.ts b/tests/repo-awareness-generator.test.ts index d99678ca81..85662c3c82 100644 --- a/tests/repo-awareness-generator.test.ts +++ b/tests/repo-awareness-generator.test.ts @@ -338,15 +338,25 @@ describe("buildReviewStateSection", () => { expect(section.records[0].checks).toBe("2 failed | 14 passed"); }); - it("orders newest first so the most recent review is the first thing read", () => { + // Do not "fix" this back to newest-first. The stored order is deliberately + // dispersing, not presentational: a commit sha is uniformly distributed, so + // two branches each appending one record insert hundreds of lines apart and + // git merges both hunks. Newest-first clustered every append into the same + // dense same-date block and produced the hard conflicts of `#EFETZT`, which + // set `mergeable_state=dirty` and suppressed CI entirely. Reading order is + // `reviewRecordsNewestFirst()`, applied by the page. + it("orders by head, so concurrent appends land far apart and merge cleanly", () => { + // ROW_A's head sorts before ROW_B's, which is the reverse of their dates — + // so this fails if the comparator is ever restored to date-descending. const section = buildReviewStateSection([ROW_A, ROW_B]); - expect(section.records.map((record) => record.ref)).toEqual(["claude/two", "claude/one"]); + expect(section.records.map((record) => record.ref)).toEqual(["claude/one", "claude/two"]); }); - it("counts records and distinct refs", () => { + it("stores no aggregate count, because one cannot merge across concurrent appends", () => { const again = { file: "docs/branch-review-records/ccc.record.md", line: ROW_A.line }; const section = buildReviewStateSection([ROW_A, ROW_B, again]); - expect(section.counts).toEqual({ records: 3, refs: 2 }); + expect(section.records).toHaveLength(3); + expect(section).not.toHaveProperty("counts"); }); it("fails loudly and names the file when a row has the wrong number of columns", () => { @@ -410,7 +420,7 @@ describe("the real review record corpus", () => { expect(rows.some((row) => row.file === "docs/branch-review-ledger.md")).toBe(true); expect(rows.some((row) => row.file.startsWith("docs/archive/branch-review-ledger-"))).toBe(true); expect(rows.some((row) => row.file.startsWith("docs/branch-review-records/"))).toBe(true); - expect(section.counts.records).toBeGreaterThan(2_500); + expect(section.records.length).toBeGreaterThan(2_500); expect(section.records.some((record) => record.ref === "claude/latency-findings-impl-s8g01v")).toBe(true); for (const record of section.records) { expect(record.date).toMatch(/^\d{4}-\d{2}-\d{2}$/); @@ -432,7 +442,7 @@ describe("generate", () => { expect(snapshot.version).toBe(SNAPSHOT_VERSION); expect(snapshot.routes.counts.pages).toBeGreaterThan(0); expect(snapshot.documentation.counts.documents).toBeGreaterThan(0); - expect(snapshot.review_state.counts.records).toBeGreaterThan(2_500); + expect(snapshot.review_state.records.length).toBeGreaterThan(2_500); expect(snapshot.test_health.counts.quarantined).toBeGreaterThanOrEqual(0); }); diff --git a/tests/repo-awareness-snapshot.test.ts b/tests/repo-awareness-snapshot.test.ts index 24d0718622..3fca57fa8f 100644 --- a/tests/repo-awareness-snapshot.test.ts +++ b/tests/repo-awareness-snapshot.test.ts @@ -6,6 +6,8 @@ import { isQuarantineExpired, loadRepoAwarenessSnapshot, resolveRepoFreshness, + reviewRecordsNewestFirst, + reviewStateCounts, } from "@/lib/developer-area/repo-awareness-snapshot"; import { REPO_AWARENESS_SNAPSHOT_VERSION } from "@/lib/developer-area/repo-awareness-types"; @@ -29,15 +31,51 @@ describe("loadRepoAwarenessSnapshot", () => { expect(snapshot.version).toBe(REPO_AWARENESS_SNAPSHOT_VERSION); expect(snapshot.routes.counts.pages).toBeGreaterThan(0); expect(snapshot.documentation.counts.documents).toBeGreaterThan(0); - expect(snapshot.review_state.counts.records).toBeGreaterThan(2_500); + expect(snapshot.review_state.records.length).toBeGreaterThan(2_500); }); - it("keeps each section's count equal to the length of its own list", () => { + it("keeps each stored count equal to the length of its own list", () => { const snapshot = loadRepoAwarenessSnapshot(); expect(snapshot.routes.counts.pages).toBe(snapshot.routes.pages.length); expect(snapshot.documentation.counts.documents).toBe(snapshot.documentation.documents.length); expect(snapshot.test_health.counts.quarantined).toBe(snapshot.test_health.quarantined.length); - expect(snapshot.review_state.counts.records).toBe(snapshot.review_state.records.length); + }); + + it("stores review records ordered by head, so concurrent appends merge cleanly", () => { + // The committed corpus itself, not a fixture: this is the property that + // stops a `ledger:append` on two branches conflicting on the same lines + // (`#EFETZT`). A regenerated snapshot that clusters appends again fails here. + const heads = loadRepoAwarenessSnapshot().review_state.records.map((record) => record.head); + expect([...heads].sort((left, right) => left.localeCompare(right))).toEqual(heads); + }); + + it("carries no stored review-state aggregate, which could not merge", () => { + expect(loadRepoAwarenessSnapshot().review_state).not.toHaveProperty("counts"); + }); +}); + +describe("reviewStateCounts", () => { + it("counts records and distinct refs from the list the page renders", () => { + const records = loadRepoAwarenessSnapshot().review_state.records; + const counts = reviewStateCounts(records); + expect(counts.records).toBe(records.length); + expect(counts.refs).toBe(new Set(records.map((record) => record.ref)).size); + // One ref reviewed at several heads is one ref and several records, which + // is exactly what the panel's two tiles exist to tell apart. + expect(counts.refs).toBeLessThan(counts.records); + }); +}); + +describe("reviewRecordsNewestFirst", () => { + it("puts the newest record first without mutating the shared snapshot", () => { + const stored = loadRepoAwarenessSnapshot().review_state.records; + const storedOrder = stored.map((record) => record.head); + const sorted = reviewRecordsNewestFirst(stored); + const dates = sorted.map((record) => record.date); + expect([...dates].sort((left, right) => right.localeCompare(left))).toEqual(dates); + // The snapshot is a module-level import shared by every request, so sorting + // it in place would reorder it for every later reader. + expect(stored.map((record) => record.head)).toEqual(storedOrder); }); });