Skip to content
Merged
Changes from all commits
Commits
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
16 changes: 16 additions & 0 deletions docs/branch-review-ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -999,5 +999,21 @@ This file is append-only. Never rewrite or delete an existing review record; app
| 2026-07-25 | cursor/alias-slot-disjointness-guard-6273 (PR #1215) | `406cf21eb730809fb06df00b1a9299e3462c728a` | prlanded — generalized #030 contracts + ledger #081 | 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. | `npm run verify:cheap` green; hosted `PR required` green; tree-identity check `git diff b2d794c5 406cf21e` empty. No provider-backed checks. |
| 2026-07-25 | cursor/ledger-081-closeout-6273 (PR #1220) | `84e91194ecca7f74c0d70b9e30e1dbd05ab7853f` | prlanded — archive outstanding item #081 | 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. | `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. |
| 2026-07-26 | cursor/global-header-scroll-hide-4fd7 (PR #1222) | `af235c399d8298fcbb28c6e7a990fafdf27d3531` / squash `0b82a826dd7953a14c56491ae9e52f3fae77ee5b` | prlanded after squash merge | 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). | `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. |
| 2026-07-25 | execute-audit-code-remediation (PR #1162) | edcd17a1a77c123d347cbe774e3997bbcc50a059 | CI green after re-trigger | 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. | Hosted CI PR required SUCCESS; local Playwright services referral PASS; no provider-backed checks. |
| 2026-07-25 | execute-audit-code-remediation (PR #1162) | 0b4dccc21022dfb0ef82c870c6bd97532545b5d5 | prlanded: merge confirmed | 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. | prlanded content check vs origin/main; hosted PR required SUCCESS on edcd17a1; no provider-backed checks. |
| 2026-07-25 | PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d` | `0c2b60a646fd6e7a53cf24f778aa59e3d54ba8aa` | Explicit thorough open-PR review (Antigravity/Cursor queue) | 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. | 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. |
| 2026-07-25 | PR #1187 / `cursor/fix-mode-switch-lag-22f6` | `113de416970cceea8952df55b3fe41cd7a2ca82a` | Explicit thorough open-PR review | 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. | 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. |
| 2026-07-25 | PR #1195 / `subagent-Asset-Optimization-Implementer-self-b295a5bb` | `d63682c7e68b6ea41670a0db2349817c2e29988f` | Explicit thorough Antigravity PR review | 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. | Verified markers via `git grep` on head; next.config comment contradiction confirmed. No provider calls. |
| 2026-07-25 | PR #1190 / `remediate-dark-mode-audit` | `00eca49b9b0d7e5fbfa5703a15e9e930963984a6` | Explicit thorough Antigravity PR review | 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. | `git grep trustGatedAnswerForClinicalNotes` main vs head; marker scan. No provider calls. |
| 2026-07-25 | PR #1188 / `execute-audit-remediation-plan` | `8b8639113925601e1687bfe4f1f29c44a4308b61` | Explicit thorough Antigravity PR review | 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. | `git show` of broken import + utils.ts; marker scan. No provider calls. |
| 2026-07-25 | PR #1186 / `remediate-repository-audit-findings` | `8637fec36dea6534c02e5b3f12e5a913c10bc455` | Explicit thorough Antigravity PR review | 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. | `git show` eval-retrieval duplicate const; marker scan. No provider/eval runs. |
| 2026-07-25 | PR #1185 / `execute-typography-audit-fixes` | `dd641579f4cf54f82de89ef268ac8aa6acb439b5` | Explicit thorough Antigravity PR review | 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. | Intentional `git show --stat`; marker scan on head. No provider calls. |
| 2026-07-25 | PR #1162 / `execute-audit-code-remediation` | `692eb248c095d64443a5f9ed0ab7b02394f0ed4b` | Explicit thorough Antigravity PR review | 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. | merge-tree conflict list; static auth/RPC review. No provider/migration replay. |
| 2026-07-25 | PR #1186 / `remediate-repository-audit-findings` | `8637fec36dea6534c02e5b3f12e5a913c10bc455` | Explicit Bugbot PR review (reconfirm same HEAD) | 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. | Marker grep + tsc sample; catalog count node; static lock/sweep/skill-create review. No provider/eval runs. |
| 2026-07-25 | PR #1186 / `remediate-repository-audit-findings` | `8637fec36dea6534c02e5b3f12e5a913c10bc455` | Cursor Bugbot+review+prlanded (fresh pass, same HEAD) | 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. | Bugbot; tsc sample; marker/catalog grep; gh pr view mergeable; no provider/eval/UI runs. |
| 2026-07-25 | PR #1090 / `cursor/fix-phone-dock-edge-1b1d` | `c993975f6b18393a9ff09f9145fd42dbb35df942` (merged as `09028ef217209fceb53f1122ac7738b509bce323`) | prlanded — phone dock edge-to-edge / white-strip fix | 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. | Hosted required + Production UI green at merge; local maintainability budget + Prettier follow-ups landed in tip `c993975f`. |
| 2026-07-25 | execute-system-audit-remediation (PR #1197) | 16c3184743002af037ee4899b7b8e46e574b8457 | Bugbot + local high-risk review + runtime summaryMode repro; prlanded check | 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. | 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. |
| 2026-07-25 | execute-system-audit-remediation (PR #1197) | 12ab1af1a353b4e3d0aa54a7d05145e296d3b2f0 ? merge 8ec2a3cb698df98785ac33c12040475ceb980542 | prlanded + merge-ready closeout | 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). | Hosted PR required SUCCESS; Migration replay/Unit/Static/PR policy SUCCESS; Semgrep fail was Docker Hub pull timeout (infra). No provider-backed checks. |
| 2026-07-26 | PR #1192 / cursor/fix-mobile-composer-edge-scroll-5b1d | `771683af` + main `584b8045` | Reconcile against the #1222 cross-breakpoint header and run the gates the branch never re-ran | 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. | `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. |
| 2026-07-25 | PR #1217 / `cursor/sheet-focus-hardening-c6d3` | head `65f7580ce4f4821f8d1ad55aa2c84b7e11ca62fe` / squash `20300bb9f60dee09632fdce27d1191dde19e92b5` | prlanded after squash merge | 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. | `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. |
| 2026-07-26 | PR #1192 / `cursor/fix-mobile-composer-edge-scroll-5b1d` | head `2597dd305fd61e4e16166cccd109ff6f8eae0a33` / squash `c4d5f47a39` | prlanded after squash merge | 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. | `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. |