Skip to content

Master CSS 2.0 Architecture & Language Freeze / 2.x Roadmap #445

Description

@1aron

Goal

Complete the approved eight-area Master CSS 2.0 freeze audit, necessary fixes, tests, and documentation, and establish the 2.x roadmap.

Source: https://chatgpt.com/share/6ab73679-aaa4-83e8-bf90-247435566cb3?ogimg=plain
Baseline commit: 70444b18c8102fa7a9d811ec51ef96902573792c

Agreed boundaries

  • Apply layered stability to Manifest v1 / languageVersion 3. General-purpose editing and lossless roundtripping belong to 2.x.
  • Preserve Rust as the single semantic source, native CSS semantics, explicit named styles, and static-first rendering.
  • Verify and close gaps in existing capabilities. Every CSS behavior change requires tests and an explanation.
  • Include repairs to existing shared build configuration, CI, and preview deployment settings, explicitly authorized by Aron on 2026-09-27.
  • Exclude publication, package renaming, unrelated release changes, and exposing a private SPI. Migration contract differences still require review of the exact old/new evidence before recording human QA approval.

Finding classification

  • Required for 2.0: invalid CSS, contradictory semantics across entrypoints, unsafe autofixes, version/hydration incompatibility, or dependency violations. These block the freeze.
  • Recommended for 2.0: documentation, diagnostics, coverage, or existing public-contract gaps. Complete these before the freeze.
  • Deferred to 2.x: new third-party, editing, or extension capabilities.
  • Intentionally rejected: value-based inference, TypeScript semantic fallbacks, runtime by default, or public internal indexes/private SPIs.

Validation rules

Each issue records PRs, commands, results, and limitations. Start with scoped checks. Run lint for affected packages, build/type-check for public types or exports, codegen/parity for ABI changes, and e2e/payload review for runtime changes. Report pre-existing failures and environment blockers separately.

Tracking

Execution order: A → B → C → D → E → F/G → H → I → J → K.

Existing report: #444. B verifies current mode/breakpoint behavior before deciding how to resolve it.

Final acceptance (2026-09-28)

All freeze acceptance issues #446–#456 are complete. Complete Compose removal was integrated before final validation, with native declarations/selectors and ordered duplicates preserved. ABI 14, diagnostics report 4, lint batch 2 and MCP directive inspection 2 reflect the removed APIs; Manifest v1 and language v3 remain unchanged. The 1,033-case Rust migration denominator retains 488 exact cases, 25 supersets, 494 approved changes and 26 approved historical removals; all 21 reviewed Manifest case digests remain unchanged. Roadmap deliverables #455/#456 are complete; #457–#460 remain open for 2.x implementation/research. #444 remains a separate published-RC report.

Merged into rust through PR #461 at 262adb809b928af7082107e1b5633d945cb7f427. The verified candidate is 16a90bdde96ef08ba4312e5d94aaf36d50048dca; removal commit 9d9817241 is preserved through integration merge e231a700e.

Final CI passes Linux package tests/lint/types (111/111 tasks), site build/CSS contract/Playground/lint/types and examples (36/36); Windows package tests (59/59 tasks, including Vite 676/676) and examples (36/36); Rust fmt/Clippy/workspace/codegen/parity; eight native targets; and Linux runtime/Next E2E. Runtime E2E passes 432 cases across Chromium, Firefox and WebKit, plus 10 Next cases.

Both deployments at this exact candidate pass page, canonical and removal-notice checks: Cloudflare and Vercel. Cloudflare health passes. Visual checks on the preceding candidate cover identical production site sources.

The dated audit preserves scoped commands and historical failures; this final result supersedes its pending CI status. The Compose integration review and site CSS review explain intentional contract changes. Site lint has 265 existing warnings and zero errors. No npm publication, package rename, version bump, lockfile change or release-workflow change is included.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions