feat(design): add advisory conformance check and local Studio - #8313
BillLeoutsakosvl346 wants to merge 21 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
There was a problem hiding this comment.
All reported issues were addressed across 113 files
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 114 files
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 114 files
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
There was a problem hiding this comment.
No issues found across 114 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 114 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 114 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 114 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 114 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Re-trigger cubic
What this adds
findingslist; unresolved inputs and inspection failures remain separate.contracts.generated.json, generated from public EMCN APIs, actual recipes, slots, forwarding, ownership metadata and global CSS. There is no manual component inheritance registry. Aliases, namespaces and compound exports are discovered; finite prop values follow the actual public type.@designAllow/@designProtectTSDoc beside components for intentional customization and special ownership. Generation never executes product modules, and historical analysis cannot read current workspace implementations.tools/design-studio, with generated inventory, live fixtures, indicative samples and external captures. Every detected Extra is included without an approval gate. Missing fixtures and failed captures stay visible and make refresh incomplete. Nonvisual constants do not receive component cards; variant coverage requires props to reach the actual export.Product appearance is unchanged: EMCN implementation edits in this update are ownership comments. Reports, manifests and images are external. Landing, docs, Monaco presentation, provider brands and intentional block identity palettes remain excluded. The Studio is absent from the deployed Sim route tree. This remains a draft against staging and supersedes #7827 after rollout verification.
Files by purpose
scripts/design-conformance/: generated metadata, shared source analysis, diff reports, warning annotations and the rule contract.contracts.jsonnow holds general policy.scripts/generate-design-contracts.ts, root command scripts and the audit runner: generation and read-only freshness validation.scripts/design-scan/andscripts/design-studio/: full inventory/reporting and explicit local refresh/capture.tools/design-studio/: the standalone local UI, source-backed fixtures and labeled indicative samples. No production Sim route.Local workflow
Prefer EMCN and global tokens where they fit, and explain intentional new treatments in normal PR review. Review records add context but never suppress raw findings or control Studio inclusion. Regeneration cannot hide the originating central change. CI validates freshness and runs the diff check; it does not capture browsers or commit generated files.
Verification
19943bfd): the original 1,312 findings plus 331 review signals become 2,534 unified findings: 1,490 unchanged, 69 reclassified, 84 removed and 975 added. Additions include 859 automatically discovered chrome overrides and 37 previously missed imperative paint assignments. Removed legacy chrome exceeded actual ownership or duplicated another output; unresolved anchor semantics remain unchecked. Every occurrence was reconciled by rule and source location in external review evidence. The measured full scan was 234.5s / 3.6 GiB maximum RSS while another refresh ran; this is not an isolated speed benchmark.See
scripts/design-conformance/README.mdfor the rule contract, scope, exclusions and static-analysis limits. Unresolved runtime styling, ambiguous forwarding and token cycles remain diagnostics; they are never treated as proven conformance.