Conversation
Add data-surface-variant aliases and standalone surface-level defaults for bridge-generated and runtime-assigned markup. Update docs, demo coverage, release notes, and package metadata for the 1.3.0 API contract.
- CSS: Level-1/2/3 rules now set internal --_is-* vars with public bridge tokens as first fallback instead of writing to public tokens, preserving import-order independence - Test: Resolve state-layer opacity values via a probe element's opacity property rather than reading raw custom-property token streams - index.html: Replace @latest with @<version> placeholder in embedded CDN code block for reproducibility
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
|
@copilot resolve the merge conflicts in this pull request |
There was a problem hiding this comment.
Pull request overview
This PR prepares the repository for the 1.5.0 release candidate by formalizing the new entry-point model (state-only core + standalone preset + preserved compatibility bundle), strengthening deterministic validation and contract tests, and tightening CI/release safety (pinned actions, Node version lanes, and release metadata checks). It also refreshes the README/wiki so published-package consumers get durable, npm-safe guidance that matches the shipped artifacts.
Changes:
- Added authored CSS modules (
styles/state-core.css,styles/standalone-preset.css) plus a build pipeline that generates/pins public bundles (state-core.css,standalone-preset.css,interactive-surface.css) and verifies parity/minified artifacts. - Expanded contract + documentation + entry-point Playwright coverage, including UI Style Kit integration assertions and package/README/wiki invariants.
- Updated CI and release workflows (Node 20/22 matrix, pinned action SHAs, publish-time release metadata validation) and refreshed README/wiki/changelog for 1.5.0.
Reviewed changes
Copilot reviewed 45 out of 61 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| wiki/Token-Reference.md | Reorganized and expanded token contract documentation (core vs preset, transition tuple, fallbacks). |
| wiki/Testing-and-Quality.md | Documented validation tiers and clarified deterministic vs browser gates. |
| wiki/Roadmap.md | Updated roadmap framing and guardrails around the 1.5.0 release candidate. |
| wiki/Publishing-and-Releases.md | Clarified release ownership, identity checks, and distribution verification steps. |
| wiki/Installation-and-Usage.md | Updated installation/import guidance for new entry points and pinned CDN usage. |
| wiki/Home.md | Refreshed project positioning and entry-point summary for 1.5.0. |
| wiki/Getting-Started.md | Simplified “fast path” to the standalone preset and pinned CDN guidance. |
| wiki/FAQ.md | Updated entry-point guidance, state semantics, and release-candidate status. |
| wiki/Contributing.md | Added contribution rules and updated local validation workflow guidance. |
| wiki/API-Reference.md | Documented entry points, interaction precedence, and added a package-resolution contract table. |
| wiki/Accessibility.md | Clarified semantic responsibilities and updated reduced-motion/forced-colors guidance. |
| wiki/_Sidebar.md | Updated navigation links to durable absolute Wiki URLs plus live example links. |
| wiki/_Footer.md | Expanded footer navigation and added live reference links. |
| tests/ui-style-kit-compat.spec.ts | Expanded compatibility assertions (transition ownership, lift composition, forced colors, core-only paint preservation). |
| tests/public-contract.test.mjs | Added deterministic contract checks for selectors/tokens/exports and UI Kit optionality. |
| tests/interactive-surface.spec.ts | Updated assertions to match translate-based lift and formatting changes. |
| tests/entry-points.spec.ts | Added Playwright coverage validating entry-point behavior boundaries and file-input styling. |
| tests/documentation.test.mjs | Added comprehensive documentation/link/version/contract synchronization tests. |
| tests/build.test.mjs | Added generated-bundle map/parity tests and stale-target reporting. |
| styles/state-core.css | Introduced authored state core (state precedence, transition tuple tokens, translate-based lift, a11y media queries). |
| styles/standalone-preset.css | Introduced authored preset (neutral paint/variants/levels/icon roles/geometry + forced-colors paint). |
| state-core.css | Generated public state-core bundle with header and normalization. |
| scripts/check-no-hex-colors.mjs | Extended hex-color guard to cover authored + generated stylesheets. |
| scripts/build.mjs | Replaced single-file copy/minify with a multi-bundle generator, parity verifier, and minification pipeline. |
| README.md | Rebuilt as an npm-first guide with durable links, entry-point comparison, and semantic usage recipes. |
| playwright.config.mjs | Set worker count and normalized formatting for stable test execution. |
| package.json | Bumped to 1.5.0, raised Node engine to >=20, added exports/files/scripts for new entry points + validation tiers. |
| package-lock.json | Updated lockfile metadata for 1.5.0 and new dev tooling. |
| docs/superpowers/specs/2026-07-19-interactive-surface-1.4.0-refinement-design.md | Added design spec capturing goals/contracts for the refactor and release gates. |
| demo/demo.js | Added demo state-lab behavior (tabs, token editor dialog, import/export helpers, embedded README renderer). |
| CHANGELOG.md | Added 1.4.0 and 1.5.0 release-candidate entries describing changes, a11y, docs, and testing. |
| assets/site.webmanifest | Added PWA manifest for demo/site packaging. |
| assets/favicon-links.html | Added reference snippet for favicon/manifest link tags. |
| assets/browserconfig.xml | Added Windows tile configuration. |
| .stylelintrc.cjs | Minor formatting adjustment. |
| .github/workflows/wiki-sync.yml | Pinned checkout actions to commit SHAs for reproducibility. |
| .github/workflows/npm-publish.yml | Pinned actions, moved Node to 22, added release metadata validation, and ensured tag-based checkout. |
| .github/workflows/ci.yaml | Added Node 20/22 matrix lanes with explicit validation scripts; pinned actions. |
| .github/workflows/browser-tests.yml | Pinned actions and aligned Node version with CI/release lanes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Describe the change and why it is needed.
Scope
Overview
This pull request introduces several improvements to CI workflows, release validation, and documentation. The most significant changes are the addition of a release metadata validation step to the npm publishing workflow, expansion of Node.js version test coverage in CI, and updates to the changelog for recent releases. Additionally, actions are now pinned to specific commit hashes for improved security and reproducibility.
CI and Release Workflow Improvements:
.github/workflows/npm-publish.ymlto ensure the release tag matches the package version and that the changelog contains a dated heading for the release. This helps prevent publishing errors due to mismatched versions or incomplete documentation..github/workflows/ci.yamlto test against both Node.js 20 and Node.js 22, with corresponding validation scripts, ensuring compatibility with supported Node.js versions..github/workflows/browser-tests.ymland.github/workflows/npm-publish.ymlfrom 24 to 22 for better alignment with supported environments. [1] [2]actions/checkout,actions/setup-node) to specific commit hashes across workflows for improved supply chain security and reproducibility. [1] [2] [3]Documentation:
CHANGELOG.mdwith detailed entries for versions 1.4.0 and 1.5.0, including new features, fixes, accessibility improvements, and testing changes.Other minor improvements include a stylelint config formatting fix [1] and a small workflow trigger cleanup in
.github/workflows/npm-publish.yml[2].Validation
List commands you ran and results.
npm run lint:css npm run test:install npm test npm run pack:dryAPI and Behavior Impact
Documentation
Notes
Anything reviewers should focus on.