Skip to content

issues: record why component metrics stay in :root rather than @theme - #2381

Merged
BigSimmo merged 4 commits into
mainfrom
claude/answer-page-redesign-review-4ufdl5
Aug 26, 2026
Merged

issues: record why component metrics stay in :root rather than @theme#2381
BigSimmo merged 4 commits into
mainfrom
claude/answer-page-redesign-review-4ufdl5

Conversation

@BigSimmo

@BigSimmoBigSimmo commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

One immutable inbox request, plus the regenerated snapshot that tracks it.

Review bots have now asked twice, on consecutive PRs, to move a component metric into the Tailwind 4 @theme block: cardTextWidth (max-w-[158px], #2374) and --answer-message-gutter (calc(2.75rem + 1px), #2377). Both were declined for the same reason, and that reason currently lives only in a code comment beside --answer-mark-* in src/app/globals.css — which the bots do not read. So the same conversation is paid for on every PR that adds one.

The record states the rule as already practised (a component metric is not a scale step, so it stays a :root custom property; @theme generates a whole utility family and implies a design decision that was never made; and tests/tailwind-merge-config.test.ts couples every @theme--spacing-* token to CLINICAL_TWMERGE_THEME.spacing, so the move is never one line). Its next action is small and docs-only: a prohibition-table row in docs/design-system/GATES.md §3, in the same shape as the #336 breakpoint decision already recorded there. It explicitly does not propose converting either value.

Recorded rather than fixed here because the owning PR (#2377) has already merged, so the request cannot ride it. That is the tension AGENTS.md names under "PR bundling" — a bookkeeping-only PR is the thing to avoid — and the alternative was losing the reasoning, so it is noted rather than pretended away.

Verification

  • npm run check:outstanding-issues — "in step with data/outstanding-issues-snapshot.json (91 open, 5 pending)".
  • npm run check:ledger-write-discipline — "self-test passed", then "Ledger write discipline passed for f8c810b..HEAD", proving the request record is immutable and docs/outstanding-issues.md was not touched.
  • No test, lint, typecheck, build or browser gate was run, and none is warranted: the diff is one JSON request record plus its generated snapshot, and no executable source changed. npm run issues:reconcile is deliberately NOT run here — it belongs to a dedicated fresh-base ledger branch, never an ordinary PR.

Risk and rollout

  • Risk: None to the product. The change adds a queued request record and updates the generated snapshot that counts it; nothing reads either at runtime.
  • Rollback: git revert the single commit. The request is immutable and unapplied, so reverting removes it cleanly with no canonical ledger state to unwind.
  • Provider or production effects: None. No provider-backed command was run and no live service was contacted.
  • RAG impact: none — no file under src/lib/rag/**, no retrieval RPC, no ranking surface, no golden fixture. classifyPullRequestFiles returns ragRanking: false.

Clinical Governance Preflight

The preflight is completed because classifyPullRequestFiles returns clinicalRisk: true for this diff — the data/** pattern matches data/outstanding-issues-snapshot.json. That file is bookkeeping, not clinical content, but the classifier is the gate and it is answered on its own terms rather than argued with.

  • Source-backed claims still require linked source verification before clinical use
    • No answer, citation or source surface is touched. No rendering, wording or verification behaviour changes.
  • No patient-identifiable document workflow was introduced or expanded without explicit governance approval
    • No document workflow is touched. The diff adds a repository bookkeeping record about a CSS convention.
  • Supabase target remains Clinical KB Database (sjrfecxgysukkwxsowpy)
    • Unchanged. No Supabase configuration, migration or project reference appears in this diff.
  • Service-role keys and private document access remain server-only
    • Unchanged. No route, client, key or access path is touched.
  • Demo/synthetic content remains clearly separated from real clinical sources
    • Unchanged. No demo fixture or corpus file is touched.
  • Source metadata, review status, and outdated/unknown-source behavior remain conservative
    • Unchanged. No metadata, review-status or staleness behaviour is touched.
  • Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed
    • No decision-support behaviour changed. This diff contains no executable source.

Notes

  • data/outstanding-issues-snapshot.json is generated. It was regenerated with node scripts/generate-outstanding-issues-snapshot.mjs, never hand-edited, and check:outstanding-issues is what proves it matches the ledger.

Generated by Claude Code


Note

Low Risk
Bookkeeping-only JSON and a generated snapshot; no runtime, auth, or clinical behaviour changes.

Overview
Captures repeated CodeRabbit pushback on PRs #2374 and #2377 (moving component metrics like cardTextWidth and --answer-message-gutter into Tailwind 4 @theme) as a P3 recommendation in the outstanding-issues inbox, without changing CSS or docs in this PR.

The new pending request states the practised rule—component metrics belong on :root custom properties, not @theme scale tokens—and sets a docs-only follow-up: add a prohibition-table row in docs/design-system/GATES.md §3 (same shape as the #336 breakpoint decision), explicitly not migrating those two values here.

data/outstanding-issues-snapshot.json is regenerated so pending goes from 4 to 5 and lists the new inbox item; the snapshot also normalizes ledger_revision.committed_at to +00:00 offset form.

Reviewed by Cursor Bugbot for commit c7cecae. Configure here.

Review bots have now asked twice, on consecutive PRs, to move a component
metric into the Tailwind 4 `@theme` block — `cardTextWidth` on #2374 and
`--answer-message-gutter` on #2377. Both were declined for the same reason, and
that reason lives only in a code comment beside `--answer-mark-*` in
globals.css, which the bots do not read. So the same conversation is paid for
on every PR that adds one.
The record proposes the small docs-only fix: a prohibition-table row in
docs/design-system/GATES.md section 3, in the same shape as the #336 breakpoint
decision already recorded there — the artifact a reviewer or a future session
actually finds. It explicitly does NOT propose converting either value.
Queued as an immutable inbox request; a later serialized `issues:reconcile`
allocates the id and edits the canonical ledger. `check:outstanding-issues`
reports in step (5 pending).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AP3MXGx1bGeEBmFKYkeLA8
@supabase

supabaseBot commented Aug 26, 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 ↗︎.

@coderabbitai

coderabbitaiBot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

Next included review available in 57 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 95 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 98f6ae82-a77a-44ad-a4ec-9db77767dc0e

📥 Commits

Reviewing files that changed from the base of the PR and between f8c810b and e299347.

⛔ Files ignored due to path filters (3)
  • docs/outstanding-issues-inbox/40ff11ca-52f3-4b95-9118-5e0c107e68f0.json is excluded by !docs/**
  • docs/outstanding-issues-inbox/970b4089-9e76-4bcf-821e-2e70e16a3617.json is excluded by !docs/**
  • docs/outstanding-issues-inbox/b85ad821-4c9b-4925-b86b-2d5767052b20.json is excluded by !docs/**
📒 Files selected for processing (1)
  • data/outstanding-issues-snapshot.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/answer-page-redesign-review-4ufdl5

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

cursor[bot]
cursorBot previously approved these changes Aug 26, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Approved. Cursor Bugbot completed successfully with no findings that need human review, and no approval policy requires extra review. No reviewers were assigned.

Open in WebView Automation

Sent by Cursor Approval Agent: Pull Request Router and Approver

@BigSimmo
BigSimmo enabled auto-merge (squash) August 26, 2026 02:16

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:c7cecae051

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

cursor[bot]
cursorBot approved these changes Aug 26, 2026

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Cursor Bugbot was not present after the first check poll so that signal was skipped, and no approval policy requires extra review. No reviewers were assigned.

Open in WebView Automation

Sent by Cursor Approval Agent: Pull Request Router and Approver

@BigSimmo
BigSimmo merged commit e5d9979 into mainAug 26, 2026
41 checks passed
@BigSimmo
BigSimmo deleted the claude/answer-page-redesign-review-4ufdl5 branch August 26, 2026 02:40
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