Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
146fd94
fix(ui): release hidden phone header safe area
BigSimmo Jul 26, 2026
472f4e2
Merge remote-tracking branch 'origin/main' into codex/phone-header-hi…
BigSimmo Jul 26, 2026
16e7bfd
fix(ui): standardize phone header collapse
BigSimmo Jul 26, 2026
d8742d9
docs: record phone header release review
BigSimmo Jul 26, 2026
e175c3d
Merge remote-tracking branch 'origin/main' into codex/phone-header-hi…
BigSimmo Jul 26, 2026
31608d9
test(ui): assert therapy mode home ownership directly
BigSimmo Jul 26, 2026
7cd4638
docs: record synced phone header review
BigSimmo Jul 26, 2026
a2c1a27
test(ui): scope service detail to live shell
BigSimmo Jul 26, 2026
3300f94
docs: record PR 1259 CI repair
BigSimmo Jul 26, 2026
1166fcf
Merge remote-tracking branch 'origin/main' into codex/phone-header-hi…
cursoragent Jul 26, 2026
01c04ae
docs: record PR 1259 main sync
BigSimmo Jul 26, 2026
69b3a38
fix(ui): keep focused phone header addons visible
cursoragent Jul 26, 2026
a82713d
test(ui): update phone header focus contract
cursoragent Jul 26, 2026
d3d4234
docs: record PR 1259 babysit closeout
cursoragent Jul 26, 2026
e203730
fix(ui): pin focused portaled phone headers
BigSimmo Jul 26, 2026
5dc4a36
docs: record PR 1259 focus review
BigSimmo Jul 26, 2026
cceea70
Merge remote-tracking branch 'origin/codex/phone-header-hidden-edge' …
BigSimmo Jul 26, 2026
2622c60
docs: record PR 1259 focus resolution
BigSimmo Jul 26, 2026
6081ff0
fix(ui): clear phone header addon focus lifecycle
cursoragent Jul 26, 2026
e1d35fd
fix(ui): avoid route hook for header focus cleanup
cursoragent Jul 26, 2026
d7f1ac5
fix(ui): track phone header focus lifecycle
BigSimmo Jul 26, 2026
acfedb4
docs: record PR 1259 lifecycle review
BigSimmo Jul 26, 2026
482d6f2
Merge remote-tracking branch 'origin/codex/phone-header-hidden-edge' …
BigSimmo Jul 26, 2026
0025d17
docs: record PR 1259 final lifecycle resolution
BigSimmo Jul 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/branch-review-ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -1076,9 +1076,18 @@ This file is append-only. Never rewrite or delete an existing review record; app
| 2026-07-26 | PR #1241 / `cursor/imp04-prune-dead-exports-01f2` | `720fd19879f6463a87ad61309b91148f90efa23e` | PR babysit: sync main, supersede stale READY row, close review thread | 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. | `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. |

| 2026-07-26 | PR #1241 / `cursor/imp04-prune-dead-exports-01f2` | `5de2f4cdfa707ed53145b2e39a7f283995887f85` | Authorized babysit sweep | Threads: 1 CodeRabbit ledger rewrite request dispositioned (append-only policy; hosted CI already green). Merged `origin/main` (mechanical). 0 unresolved left. | Hosted required CI previously SUCCESS on prior tip; no provider-backed checks. |
| 2026-07-26 | `codex/phone-header-hidden-edge` | `16e7bfdb33cbf05199b8044fc199ab2a9457c132` | Protected-main release-readiness review of shared phone header collapse | 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. | `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. |
| 2026-07-26 | PR #1248 / `cursor/fix-mode-switch-lag-22f6` | pending final pushed head after ledger append | PR babysit: sync main + Codex P2 submitted-param seed | 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. | `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. |
| 2026-07-26 | PR #1248 / `cursor/fix-mode-switch-lag-22f6` | pending final pushed head after UI CI fix | PR babysit: Production UI failure fix | 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. | 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. |
| 2026-07-26 | `codex/phone-header-hidden-edge` | `31608d98a578b9311c3cec2d66b6ba7c37809c0c` | Superseding release-readiness review after main sync | 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. | 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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `a2c1a2739afd41fddc648d28eabef106d60e553c` | Hosted Production UI failure triage and test hardening | 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. | 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. |
| 2026-07-26 | PR #1254 / `apply-audit-remediation-fixes` | code fix `ee6a56bd0fc08ded140c36b5de213bda40d93179` | PR babysit: main sync + P1 inclusivity/static/build fix | 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. | 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. |
| 2026-07-26 | PR #1254 / `apply-audit-remediation-fixes` | pending pushed head after CodeRabbit follow-up | PR babysit: evidence false-positive hardening | 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. | `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. |
| 2026-07-26 | PR #1254 / `apply-audit-remediation-fixes` | pending pushed head after Production UI locator hardening | PR babysit: Production UI strict-locator rerun fix | 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. | 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. |
| 2026-07-26 | PR #1254 / `apply-audit-remediation-fixes` | `5b616da1f84ffde127473e327e3ab63369244749` | PR babysit: ledger duplicate clarification | 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. | `npm run check:branch-review-ledger` required after this append; no provider-backed checks run. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `1166fcff041c7f7e3e59bbef9e758307e3b0b89e` | Automated main sync after #1254 | 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. | `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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `e2037303151fc187953f9f6da025e2d919fe25bd` | Final Codex P2 focus-safety review | 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. | 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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `a82713dc2699969efbfef10a39bdfa11565bec4e` | PR babysit: main sync + Codex P2 focus fix | 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. | 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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `cceea70588d50d3f119394e93e50f7b38ed6f920` | Superseding P2 implementation review after parallel branch merge | 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. | 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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `d7f1ac58d00d20a2405eb1641054d31c3a5b996e` | Final focus lifecycle remediation review | 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. | 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. |
| 2026-07-26 | PR #1259 / `codex/phone-header-hidden-edge` | `482d6f2489c9ca1ee4603f0013bd9b3190a2cc36` | Superseding lifecycle resolution after concurrent branch merge | 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. | 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. |
Loading
Loading