docs(design-system): recover two stranded backlog corrections, re-measured - #1719
Conversation
Replays a correction stranded in a local-only worktree when PR #1712 squash-merged and its branch was deleted before the commit could be pushed. Both figures were re-measured today against origin/main 2675e6e rather than copied forward, and one claim in the stranded version turned out to be wrong. #262: legacyShadowAliases counts SEVEN tokens, not one and not eight — the regex has matched tight|card|soft|hover|elevated|lux|lift since PR #1616 and has never included focus. Measured total 228 = tight 100, soft 72, elevated 17, hover 17, card 12, lux 8, lift 2. So --shadow-tight is 100 production sites across 55 files rather than the 155 or 229 previously recorded, clearing all 100 will not zero the ratchet, and #261's --shadow-focus does not appear in this metric at all. #266: adoption is 23 unadopted, not 24, since Button moved via #263 — its sole production importer is src/components/AccessibleTable.tsx. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…it was stale Replays a correction stranded in a local-only worktree when PR #1712 squash-merged and its branch was deleted before the commit could be pushed. Re-measured today against origin/main 2675e6e: all three fold onto FormField, which renders hint AND error unconditionally (form-field.tsx:131-132) and merges aria-describedby caller -> hint -> error (form-field.tsx:107-109); TextField and SearchField each take an external id and a Ref<HTMLInputElement>, Select an external id and a Ref<HTMLSelectElement>. Landed in PR 13, not the PR 7 the row pointed at. Section 4's 'Do: fold TextField/SearchField/Select/Checkbox/RadioGroup onto this shell (PR 7)' was stale in a second way and is corrected too: Checkbox and RadioGroup deliberately do NOT fold onto FormField — a group keeps fieldset/legend and composes FieldHint/FieldError directly (choice.tsx:207-210). Left as written, that line asks a future session to 'finish' a fold that is finished and to break one that was a deliberate decision. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 42 minutes 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 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 for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR updates design-system documentation. It records completed ChangesDesign-system documentation
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 534405600d
ℹ️ 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".
Codex review on PR #1719 flagged SCOPE/COUNT RE-MEASURED and COMPONENTS.md rows dated 2026-08-09 while the recording commits were authored on 2026-08-08. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
|
@cursor ping — diagnostic test from cloud agent: please reply with a short ack only (no code changes). This is a top-level conversation comment to verify GitHub mention triggers. |
|
@cursoragent Diagnostic ping only. Reply with a short ack that you received this top-level mention. Do not change code, push, or open PRs. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/design-system/COMPONENTS.md`:
- Around line 393-396: Clarify the surrounding documentation to distinguish
component integration from product adoption, explicitly stating which status
applies to Select. Update the conflicting wording in COMPONENTS.md and the
related outstanding-issues entry so Select is not presented as pending
integration or counted twice, while preserving the deliberate Checkbox and
RadioGroup distinction.
In `@docs/outstanding-issues.md`:
- Line 307: Update the adoption-count statement near line 88 from 27 adopted
components to 30, matching the current productImportFiles and generated manifest
totals; alternatively, explicitly label 27 as historical context.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 2bc48930-80dd-4b6b-981f-90979c71a0a6
📒 Files selected for processing (2)
docs/design-system/COMPONENTS.mddocs/outstanding-issues.md
…tion, re-measure the ui-primitives row Two review findings on PR #1719, both valid. Section 4 said 'Select/choice controls remain separate adoption work', which contradicted the section above it and was wrong on both axes for Select: select.tsx consumes FormField (folded in PR 13), and adoption-manifest.json gives Select 2 production importers, so it is adopted. The genuinely unadopted member of the trio is SearchField, at zero, which the sentence did not mention. Rewritten to state the two axes explicitly — integration is complete for TextField, SearchField and Select, and deliberately declined for Checkbox/RadioGroup; adoption is measured TextField 3, Select 2, SearchField/Checkbox/RadioGroup 0 — so a control cannot be read as pending on one axis because it is pending on the other. The ui-primitives row carried three stale figures. Re-measured on this head: the module is 698 lines, not 686; 157 production files import it, not 200 — that figure is 202 including mockups, the same mockup-inclusive mislabelling this PR already corrects for the shadow aliases; and 30 of the 53 registered components are adopted, not 27. Future-dated 2026-08-09 records were already corrected to 2026-08-08 by f3a91c6 before this commit; verified none remain under docs/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Same defect Codex flagged on PR #1719: the commits recording these measurements were authored 2026-08-08 (07:xx UTC), so a 2026-08-09 stamp places every re-measurement after the commit that recorded it. Four occurrences, in the #118, #269 and #270 rows. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CodeRabbit flagged the claude/ds-doc-corrections row as understating the scope of PR #1720. That finding conflates two things: the row records a different ref at a different head, and it was accurate as written. But it does predate the review pass on #1719, whose scope grew by one commit afterwards, so a superseding row is warranted on its own merits — appended through ledger:append --supersede rather than editing the append-only original. Same for #1720's own row, which recorded 824c1b7 and now supersedes to 6916c80 with the tone?: never fix and its type-contract test. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Summary
Docs-only. Recovers two correctness fixes to the design-system backlog that were stranded in a local-only worktree: they were committed while GitHub auth was down, and
claude/ds-a4-component-defectswas deleted when PR #1712 squash-merged, so the branch they lived on no longer exists to push. Every figure was re-measured againstorigin/maintoday rather than copied forward, and one claim in the stranded version turned out to be wrong.docs/outstanding-issues.md—#262A3 scope re-measured. The design-system contract'slegacyShadowAliasesmetric counts seven tokens, not one and not the eight an earlier note claimed:LEGACY_SHADOW_ALIAShas matchedtight|card|soft|hover|elevated|lux|liftsince PR ui: complete and activate the v2 design system #1616 and has never includedfocus. Measured total 228 = tight 100, soft 72, elevated 17, hover 17, card 12, lux 8, lift 2. So--shadow-tightis 100 production sites across 55 files, not the 155 or 229 previously recorded; clearing all 100 leaves 128 aliases across the other six tokens, solegacyShadowAliases = 0is not the success criterion; and#261's--shadow-focusdoes not appear in this metric at all, so the two rows do not overlap the way the earlier note said.docs/outstanding-issues.md—#266adoption count re-measured. 53 registered, 30 with at least one production importer, 23 unadopted — not 24.Buttonmoved into the adopted set via#263/ PR fix(design-system): close the open COMPONENTS §0.4 defect rows (#263) #1712; its sole production importer issrc/components/AccessibleTable.tsx.docs/design-system/COMPONENTS.md— theTextField/SearchField/Select§0.4 row was stale. All three defects are closed. Each folds ontoFormField, which rendershintanderrorunconditionally (form-field.tsx:131-132) and mergesaria-describedbycaller → hint → error (form-field.tsx:107-109);TextField/SearchFieldtake an externalidand aRef<HTMLInputElement>,Selectan externalidand aRef<HTMLSelectElement>. It landed in PR 13, not the PR 7 the row pointed at.docs/design-system/COMPONENTS.md§4 was stale in a second way.**Do:** fold TextField/SearchField/Select/Checkbox/RadioGroup onto this shell (PR 7)asks a future session to finish a fold that is finished and to break one that was a deliberate decision:CheckboxandRadioGroupkeep<fieldset>/<legend>and composeFieldHint/FieldErrordirectly on purpose (choice.tsx:207-210).Why this is worth a PR of its own: later sessions scope work from these two files. Left as they are, the next session redoes finished form-control work and plans
--shadow-tightcleanup against a figure that overstates it by roughly 1.55x.Verification
npm run check:outstanding-issues— passed:274 rows (131 open, 143 archived), unique ids, next-id=277 above the highest, no merge driver, no ids deleted from base 2675e6e1d1a5.npx prettier --check .— passed:All matched files use Prettier code style!(whole tree, not per-file).legacyShadowAliaseswas done by running the contract's ownanalyzeClassContractsInSource/analyzeCssContractsInSourceover the same walkscripts/check-design-system-contract.mjsuses (src/**,.ts/.tsx/.css, mockups excluded), not by grep. A raw grep reports 160--shadow-tightoccurrences and is the figure that produced the earlier wrong number.docs/design-system/adoption-manifest.jsononorigin/main; the manifest is generated and was not edited.Both ledger rows were written with
npm run issues:update, never by hand.🤖 Generated with Claude Code
Summary by CodeRabbit