Skip to content

Commit baa6d54

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
docs(design): describe safe output and React style boundaries
1 parent 46f62fd commit baa6d54

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

‎scripts/design-conformance/README.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Use the actual PR target for `--base`. Working-tree mode includes staged, unstag
2222

2323
Regenerate when EMCN implementation, public API, recipes, ownership metadata or global styles change. Review and commit `contracts.generated.json` alongside the source. `check:design-generated` is read-only and runs through the existing audit runner: missing, tampered, malformed or stale output fails. During editing the diff check derives fresh facts and reports staleness with the regeneration command; it still shows the originating source change after regeneration.
2424

25+
Generation writes a regular file within the canonical repository root. Symlinked output files and parents are rejected. Historical `--check --ref` reads only the committed artifact, independently of the checkout output.
26+
2527
CI uses immutable event base/head revisions. It publishes file/line warnings, a summary and a JSON artifact. Findings do not fail the design step; inability to inspect the changed source does. Infrastructure freshness is a separate required audit. CI does not capture browser previews or commit generated files.
2628

2729
## Files and source facts
@@ -73,6 +75,8 @@ Monaco theme/syntax presentation, provider branding and every block/trigger cata
7375

7476
Static analysis handles bounded immutable constants/imports, finite alternatives, supported helper returns, JSX/CSS/HTML strings and known runtime overrides. Arbitrary JS, dynamic cascade, unsupported parsers/forwarding and ambiguous data flow cannot be approved. Limits include 2 MiB per source, resolution depth 12 and bounded branch/summary caches. Generator diagnostics preserve unresolved token aliases, cycles and delegated implementation gaps. A token definition proves source provenance; it does not prove that the token exists under every runtime selector or theme. Context-dependent token availability and dynamic cascade still need visual review. CSS comparison tracks `@apply` changes but does not expand its runtime cascade position relative to ordinary declarations.
7577

78+
Inline React styles preserve strings and custom variables. Only proven numeric values receive React's dimensional `px` conversion; unitless properties follow the pinned React serializer. A numeric-looking central reference without scalar type evidence remains explicitly unchecked.
79+
7680
## Debt and review records
7781

7882
Diff matching counts occurrences by source treatment and owner. Unchanged debt and line shifts stay quiet; another copy warns. Source-only styling changes are traced to consumers. An unrelated deletion cannot cancel a new occurrence.

0 commit comments

Comments
 (0)