Skip to content
Merged
Show file tree
Hide file tree
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
2 changes: 2 additions & 0 deletions docs/branch-review-ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -1285,6 +1285,7 @@ Records before 2026-07-28 were written by hand and had drifted: 146 lines carrie
| 2026-07-29 | agent/document-topbar-actions (PR #1381) | 9da8ccfb19ff81b876a9bfff4e6b5870641e44d8 | PR #1381 CI triage | merged via squash auto-merge after main sync; all required checks green; no product code fix; no Bugbot/review threads | hosted CI pr-required pass; Production UI pass; CircleCI pass; lint; typecheck; document-viewer-shell.dom; Bugbot none |
| 2026-07-29 | codex/chat-document-header-overlay-document-header-overlay-20260729 | 48ed6cc95f886837f4ddbb369fdbc611a0958f17 | document phone header overlay | No high-confidence findings; physical iPhone acceptance remains | verify:pr-local unit 4373 pass; build PASS; focused Playwright 2 pass; phone gate contended |
| 2026-07-29 | codex/document-reader-condensed-view | 5678e878d4fe681d33bb58df5b5b3468a138a1c8 | pr-1380-ci-green-resync | 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 | hosted CI success on 7150899a; merge-tree clean; bugbot no P0/P1 |
| 2026-07-29 | claude/design-system-followups-1375 | 906c5a1cfc0d10c6788002825401481844366d2a | 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 | PR #1391 opened; auto-merge off pending user review | 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 |
| 2026-07-29 | cursor/recent-pr-bugfixes-f30d | 2c424d9980acab6a2b982d52920c946de21b18d0 | pr-1374-merge-main-staleness | merged origin/main; merge-tree clean; GitHub DIRTY was staleness | merge-tree-clean; push |
| 2026-07-29 | cursor/recent-pr-bugfixes-f30d | 1d2669858a3a53844938b521a7f6de572a60c712 | PR review | P1 found: mounted DocumentViewer signed URLs not cleared on auth change | git diff; review threads; actions list/logs; targeted test blocked (missing node_modules/vitest) |
| 2026-07-29 | claude/latency-findings-impl-s8g01v | 71db10c41de872fca6e400626704a549f145c66c | latency audit implementation (PR #1377) | 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. | verify:cheap exit 0 (423 files, 4278 passed/4 skipped); check:branch-review-ledger pass; focused preamble + server-timing suites pass |
Expand All @@ -1300,3 +1301,4 @@ Records before 2026-07-28 were written by hand and had drifted: 146 lines carrie
| 2026-07-29 | cursor/page-anchored-search-composer-30ee | 7ff134ca7f614db527b8d142676640305533669d | branch-cleanup-deletion-pending | 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. | local git only for the content proof: git merge-base, git diff --name-only <merge-base> <tip> (0 files), git diff --name-only origin/main...<tip> (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. |
| 2026-07-29 | cursor/pr-1379-babysit-ledger-9365 | be2de03f855cb7fdfccea4bb74d05eb4c9bf6c61 | branch-cleanup-deletion-pending | 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. | local git only for the content proof: git merge-base, git diff --name-only <merge-base> <tip> (0 files), git diff --name-only origin/main...<tip> (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. |
| 2026-07-29 | claude/latency-findings-impl-s8g01v | 9e2ee65ca0bcce45a3cb6a0539e265ec8d961582 | PR #1377 latency findings — #098 stale offline-harness references | 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. | prettier --check clean; docs:check-links 1363; docs:check-scripts 390; grep confirms no stale refs remain |
| 2026-07-29 | 1374 | c14edb9c6f0bdbbfb147752503e016f2543fd803 | PR #1374 review + merge | merged as 3704007c — DocumentViewer identity-bound state clear (P1) implemented and verified red without it; all 12 review threads resolved | verify:cheap exit 0 (429 files / 4403 tests); PR required success; Production UI success |
12 changes: 12 additions & 0 deletions docs/design-system.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,18 @@ line-height/tracking — set `leading-*`/`tracking-*` at the call site):

- **10px is the floor.** An 8px `text-4xs` step existed and is retired — indefensible at any
density in a clinical product. Do not reintroduce a sub-10px step.
- **Leading** uses Tailwind's own steps plus two named additions for the cases they cannot
express: `leading-display` (1.05) for large display headings and `leading-prose` (1.6) for
the `max-w-[68ch]` body measure. Arbitrary `leading-[…]` is at zero in production and
`tests/design-token-contract.test.ts` keeps it there. **Never redefine `--leading-tight` /
`-snug` / `-normal` / `-relaxed`** — those are Tailwind theme names, and shadowing one
silently retunes every existing `leading-tight` / `leading-snug` call site. The same test
fails if they reappear in `:root` or `@theme`.
- **Intermediate font weights are deliberate, not drift.** Geist is a variable face, so
`520` / `540` / `560` / `580` / `640` / `650` / `680` interpolate rather than snapping, and
the band/panel treatments in `globals.css` and Therapy Compass use them on purpose. Do
**not** "normalise" them onto 600/700 — that was attempted on 2026-07-28 and reverted. Weight
is an expressive axis here; only flag a weight that is genuinely arbitrary and unexplained.
- Arbitrary `text-[Npx]` is **banned**; `npm run check:type-scale` counts offenders.
**Ratchet:** the count must never rise (baseline recorded in
`docs/process-hardening.md`). When it reaches 0, wire `check:type-scale --strict` into
Expand Down
Loading
Loading