Skip to content

Define the 2.0 freeze contract and audit baseline #446

Description

@1aron

Goal and background

The repository already uses Manifest v1 / languageVersion 3, Rust as the single semantic source, and static rendering by default. This work inventories evidence and closes gaps rather than rebuilding existing capabilities.

Parent tracker: #445
Baseline: 70444b18c8102fa7a9d811ec51ef96902573792c
Phase: 2.0 freeze

Ownership and scope

schema, engine, compiler, tooling, runtime, official integrations, and site

Dependencies

None. Start with the baseline.

Implementation tasks

  • Create a contract inventory covering Language, Directives, Cascade, Manifest/IR, Rendering, Tooling/AI, Extensibility, and future compatibility. Record public entrypoints, Rust owners, downstream consumers, source evidence, tests, and documentation.
  • Turn the seven principles into verifiable examples: native CSS semantics, explicit named styles, abbreviations without inference, no value-based property inference, semantic ordering, static first, and one semantic source.
  • Run scoped baseline checks and distinguish pre-existing failures, environment blockers, and missing coverage.
  • Correct AI guidance only where exports or source establish that it is stale. Classify each finding as required for 2.0, recommended for 2.0, deferred to 2.x, or intentionally rejected.

Acceptance criteria

  • All eight areas have an owner, evidence, and a validation entrypoint.
  • The baseline records the commit, tool versions, and actual results. Reading a test does not count as passing it.
  • Existing capabilities are not listed as new features. Every follow-up fix has a reproducible case or an explicit contract gap.

Validation

Core scoped Rust tests; existing boundary, package, and API checks; pnpm run check:ai-context after AI structure changes.

Completion report

Include source and test evidence, PRs, actual commands and results, and any CSS/API/syntax/migration impact. Checks that were not run or were blocked must not be reported as passing.

Final acceptance (2026-09-28)

The dated eight-area contract inventory, ownership map, baseline and required/recommended/deferred classification are recorded in the freeze audit. AI context, boundary, package and API census gates pass. The integrated removal advances ABI to 14; the earlier ABI 13 bookkeeping observation is historical.

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