Skip to content

docs(issues): close the shipped Therapy convergence row and queue what remains - #2158

Merged
BigSimmo merged 2 commits into
mainfrom
claude/therapy-ui-kit-divergence
Aug 18, 2026
Merged

docs(issues): close the shipped Therapy convergence row and queue what remains#2158
BigSimmo merged 2 commits into
mainfrom
claude/therapy-ui-kit-divergence

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

Summary

Three queued ledger requests, from re-measuring Therapy against the shared design system on main at adf93a75 — after both #2122 (component convergence) and #2150 (production exposure) landed. Each is independently revertible and separately actionable.

Why the UI kit is the P2 rather than a tidy-up.StatusBadge renders the "Needs source review" label. Since #2150 removed the production gate, that badge is the per-record half of the only thing standing between an unreviewed therapy record and a clinical decision — and it is a module-private implementation no shared contract governs.

Both new records carry migration hazards rather than just a target, because a naive swap would regress safety properties this repo already paid for:

  • StatusBadge pairs its warning tone with a TriangleAlert glyph via reviewStatusMeta. Any swap must preserve that shape channel or the warning becomes colour-only and trips the status-colour boundary ratchet.
  • Meter's colour-only status was deliberately fixed in 8c791a1ad by naming the completeness band in text; swapping to shared Progress without carrying that forward regresses it.

A suggested order is recorded — Eyebrow and Tag/TagRow first as lowest-risk, Meter and StatusBadge last with the colour-only contract tests extended first.

Verification

  • npm run verify:pr-local

failed: (none). Recognised low-risk documentation scope, so the router ran the focused contracts — 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 — and skipped lint, typecheck, the unit suite and the build, none of which have a plausible failure path in three added JSON files.

The measurements in the records were taken directly from main at adf93a75 rather than recalled: shared-component import counts per module, therapyBtn call sites per file, and the ui.tsx export list.

  • npm run verify:ui when UI, routing, styling, browser behavior, reduced-motion, or forced-colors behavior changed

UI verification not run: not applicable — no source file is touched, so no rendered surface can change.

  • npm run verify:release before release or handoff confidence claims

Verification not run: provider-backed, not authorized, and no release confidence is claimed.

  • npm run eval:retrieval:quality (must stay 36/36) when retrieval, ranking, selection, chunking, or scoring behavior changed

Verification not run: not applicable — no retrieval surface is touched.

  • npm run eval:rag -- --limit 15 + npm run eval:quality -- --rag-only when answer generation, the synthesis prompt, or answer post-processing changed

Verification not run: not applicable — answer generation is untouched.

  • npm run check:production-readiness when clinical workflow, privacy, environment, Supabase, source governance, or deployment behavior changed

Verification not run: not applicable — this queues ledger records and changes no behaviour.

  • npm run check:deployment-readiness when deployment startup, hosting, or rollout behavior changed

Verification not run: not applicable — no deployment behaviour changed.

Risk and rollout

  • Risk: None to the running product. Three added, append-only inbox request files. No existing file is modified, nothing is referenced at runtime, and the canonical docs/outstanding-issues.md is untouched. Acting on either new record later is a separate change with its own review.
  • Rollback: git revert this single commit. The done request is likewise inert until reconciled.
  • Provider or production effects: None. No OpenAI, Supabase, Railway or hosted-CI mutation was performed.

Notes

All three land as pending and take effect only when npm run issues:reconcile next runs from its own deliberately serialized fresh-base branch — including the done, so #FEWQZ5 stays visibly open until then.

The stale-row problem this closes is worth noticing in its own right: queueing a task and completing it in the same session leaves the reconcile to create a row for finished work. Nothing detects that, and it would recur.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CXpFsse3vVMy7CTxNRi568


Generated by Claude Code

…emains
Measured on main at adf93a7, after #2122 (component convergence) and
#2150 (production exposure) both landed.
- Closes `#FEWQZ5`. Its three stages — Button call sites, card-recipes
adoption, page headers — all shipped in #2122, so the row described
finished work. It was queued before that PR landed and the reconcile
applied it afterwards, which is how a completed task ends up reading
as open.
- Queues the private UI kit as a P2. `therapy-compass/ui.tsx` exports
eight components whose shared equivalents Therapy imports zero times:
Chip, StatusMark, ErrorState, Progress, the eyebrowText primitive and
CategoryIconTile. This is the duplication `card-recipes.ts` was written
to end, one layer down, and #2122 did not reach it. It matters most for
`StatusBadge`, which renders "Needs source review" — since #2150 that
is the per-record half of the only thing between an unreviewed record
and a clinical decision, and it is module-private.
- Queues `therapyBtn` as a P3: 30 raw call sites across 8 files, kept
deliberately in #2122 because list rows and disclosure headers are not
Buttons, but with no shared recipe covering them either.
Both new records carry migration hazards rather than just a target:
`StatusBadge` must keep its `TriangleAlert` shape channel or the warning
becomes colour-only, and `Meter`'s colour-only fix from 8c791a1 must
not be regressed by a naive swap to shared `Progress`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitaiBot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in:18 minutes

Limit details: You’ve used the included review currently available. Your 101 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 34a46fca-31f6-42a6-8670-61467949ad8a

📥 Commits

Reviewing files that changed from the base of the PR and between 459b0fe and e641a09.

📒 Files selected for processing (3)
  • docs/outstanding-issues-inbox/338d45ec-397e-4eb4-b991-3185079509a4.json
  • docs/outstanding-issues-inbox/95093e96-5953-48a0-a8bc-508d625fb57e.json
  • docs/outstanding-issues-inbox/ff1ea3f9-2bdc-4a9f-86de-185ec1b6c9e5.json

Comment @coderabbitai help to get the list of available commands.

@supabase

supabaseBot commented Aug 18, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@BigSimmo
BigSimmo enabled auto-merge August 18, 2026 21:29
@BigSimmo
BigSimmo merged commit 90e1a82 into mainAug 18, 2026
24 checks passed
@BigSimmo
BigSimmo deleted the claude/therapy-ui-kit-divergence branch August 18, 2026 21:33
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BigSimmo@claude