Skip to content

[codex] Reject unsupported StyleX declarations - #66

Merged
0thernet merged 1 commit into
mainfrom
codex/stylex-property-validation-20260909
Sep 9, 2026
Merged

0thernet merged 1 commit into
mainfrom
codex/stylex-property-validation-20260909

Conversation

@0thernet

@0thernet 0thernet commented Sep 9, 2026

Copy link
Copy Markdown
Member

Summary

Make unsupported StyleX declarations fail compilation instead of silently disappearing. Product browser comparisons found missing borders even though the source had typechecked: the pinned StyleX 0.19 property-specificity expander defaults to silent validation and drops unsupported shorthand rules.

The public compiler and package transform now select the supported propertyValidationMode: "throw" option. The canonical compiler identity binds that policy; old silent-validation manifests cannot pass by recalculating their own hashes. Mapped and unmapped transforms share the same option. Supported longhands, conditional declarations, and supported font shorthands retain their behavior.

This prepares v0.5.12. Generated build tools and the manifest were refreshed. Runtime JavaScript and standalone CSS remain byte-identical, including all 701 canonical rules. Existing immutable releases are untouched. Design-kit and footer manifests must be rebuilt against the new compiler before products adopt fresh graph generations; this PR does not claim those downstream upgrades are complete.

Evidence and remaining work

  • Focused compiler, source-map, and pinned-parser tests: 84 passed, 0 failed, 95 assertions; typecheck passed.
  • Artifact seal: package inventory, typecheck, build, and compiler-artifact verification passed, including six exact adopter stylesheets.
  • Regression coverage rejects all 18 pinned unsupported shorthands, nested pseudo/media forms, and omitted/silent/warn compiler identities. It verifies supported emitted declarations and no leaked partial rule inventory after failure.
  • The packed-consumer smoke checks the exported validation policy. KB rationale and dependency-upgrade requirements are recorded in the repository.
  • Independent source, generated-bundle, manifest, and KB reviews passed. The final canonical local gate passed at 54b38a82cdad2f8991f0231e0b14af54a83509ed (tree 3c1ca9e0951aa90378ecb4123f8cf255bfc129c7): 693 tests, 0 failures, 32,077 assertions across 57 files; package, deterministic artifacts, Vite 7/8 production/source-map matrices, Next 16.2.12/16.3.3, packed Bun, and the full primitive browser gallery all passed. Chrome for Testing 151.0.7922.34 was used. Scheduler ownership returned with a clean tracked/untracked worktree and no matching gate survivor.
  • Exact-head CI 34398389749 and CodeQL 34398384065 passed. No unresolved review threads remain. Post-merge validation and immutable v0.5.12 publication are still required; downstream manifest rebuilds and product adoption remain separate work.

The base is the reviewed UI v0.5.11 release commit. Keep the unrelated Next development PRs #58/#59 and dependency PR #61 separate.

@0thernet
0thernet marked this pull request as ready for review September 9, 2026 20:17
@0thernet
0thernet merged commit ad4da38 into main Sep 9, 2026
5 checks passed
@0thernet
0thernet deleted the codex/stylex-property-validation-20260909 branch September 9, 2026 20:17
Sign up for free to 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.

1 participant