Repository navigation
[Component Audit] Divider: keep numeric labels visible and named - #7572
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
Contributor
PR Analysis Report
|
cixzhang
force-pushed
the
night-watch-component-audit/Divider/2026-10-15
branch
from
October 15, 2026 10:50
b93ea4d to
c39b3bf
Compare
cixzhang
force-pushed
the
night-watch-component-audit/Divider/2026-10-15
branch
from
October 15, 2026 10:52
c39b3bf to
eac8e25
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User impact
People who use a numeric label such as
0now get one visible label and the separator is named0; previously the value escaped both label branches as two anonymous text nodes. Boolean or empty-string labels now leave one continuous unnamed rule instead of empty label spacing.Audit scope
core/Divider9025ab3434c5489570d0a355d04bc1be6026406deac8e2516cd4747a08405a368fc66affb8908a46Authority
architecture:public-component-api/INV5–INV9— accepted ReactNode content and root inputs remain observable and compatible.architecture:component-theming-surface/INV4,INV6,INV14— an open visual axis requires a visible deterministic fallback, but the current target/inner-rule ownership does not settle how to add it safely.architecture:container-padding/INV1,INV3,INV7–INV10— full bleed consumes only inherited logical inset.spec:AST-020/FR1— rendered separator orientation and name remain programmatically available.spec:AST-029/FR3–FR10— observational contract backfill, closed evidence inventory, objective remediation, and exact-head eligibility report.Before and after score
variantpath has no deterministic inner-rule fallback. A naive subtle fallback hides existing root theme paint, so OQ2 remains an owner decision.true; root ref and BaseProps composition remain unchanged.76.0 / 96 measured). After: 1 retained BLOCK.Sensitivity: resolving the retained theming BLOCK with no other score change projects 97.2 / A.
Objective remediation
No variant paint, theme target, public prop, export, default, or full-bleed behavior changes in this pull request.
FR5 closed evidence inventory
index.ts,Divider.tsx, focused ref/prop testsdividertarget and reflected axesthemeProps, target inventory, docs/spec mapInventory closure: every public export, prop, ReactNode partition, orientation, built-in/open variant path, root seam, target axis, and full-bleed branch is represented.
Needs Review
Should Divider's open
variantaxis close, or which painting part should own a deterministic custom-value fallback?The root target can carry theme paint while the inner rule carries built-in paint. Adding a subtle inner fallback can cover existing root background paint; keeping the current path can make an unmatched custom rule disappear. This is a pre-existing theming/API ownership decision, not safe objective remediation. It remains the one open BLOCK in the scorecard and does not prevent this audit PR from landing because the PR neither introduces nor worsens it.
OQ1 also remains recorded: whether Rule or Label should gain separate stable targets. This PR does not add, move, or remove a target.
Independent exact-head self-review
Private read-only review at
eac8e2516cd4747a08405a368fc66affb8908a46: CLEAN. Earlier reviews found one theming regression and five evidence/documentation issues; all were corrected, and the final exact head has no actionable finding.Validation
Passed locally on the frozen head:
pnpm check:repo, including knowledge, changeset, sync, package-boundary, i18n, and fixture checksExact-head Linux CI supplied scoped axe, RTL readback, Stable visual regression, and rendered numeric-label evidence. Every required check is green; one unrelated flaky node watch-mode test passed on the owned rerun.
Writing rubric results
FR10 exact-head eligibility report
{ "schemaVersion": 1, "component": "Divider", "package": "core", "mode": "nightly", "rubricVersion": "1.16.6", "repositoryHead": "eac8e2516cd4747a08405a368fc66affb8908a46", "componentContractHead": "eac8e2516cd4747a08405a368fc66affb8908a46", "inventory": {"closed": true, "rows": 6}, "score": {"before": 79.2, "after": 91.6, "beforeBlocks": 2, "afterBlocks": 1, "status": "verified-exact-head"}, "unresolvedObjectiveGaps": [], "unresolvedManualGaps": ["OQ1: separate Rule or Label public targets", "OQ2: close the open variant axis or choose its painting owner and fallback"], "remediations": [ {"id": "react-node-label", "state": "verified-locally", "evidence": "red-before/green-after scalar and numeric label tests"}, {"id": "V10", "state": "verified-exact-head-ci", "evidence": "owned NumericLabel story plus existing state stories"} ], "approvals": {"privateExactHeadSelfReview": "clean", "specOwner": "passed-draft-n/a", "reviewSignal": "success-app-15368"}, "checks": {"local": "green except unsupported local browser launch", "exactHeadCI": "green-after-owned-flake-rerun"}, "eligibility": {"eligible": true, "reasons": ["private exact-head review clean", "exact-head browser and required CI green", "owner-exempt Review signal success from GitHub Actions App 15368", "spec-owner gate passed as draft-only N/A", "one pre-existing theming BLOCK remains but is not introduced or worsened"]} }