Skip to content

fix: require the view major and drop the rc-only z export before 1.0 - #404

Merged
timeleft-- merged 4 commits into
mainfrom
claude/saga-1.0.0-contract
Nov 5, 2026
Merged

timeleft-- merged 4 commits into
mainfrom
claude/saga-1.0.0-contract

Conversation

@timeleft--

Copy link
Copy Markdown
Member

Removes the two transitional forms that 1.0.0-rc.1 kept so pinned consumers could move, now that the examples game has moved (saga-a2ui-examples#8, merged as 9f3c0f8).

Changes

  • operationViewFromHtml requires major. The deprecated overload is gone. A missing major throws TypeError, as a zero, negative or fractional one already did. Every view is addressed ui://views/<file>.v<major>.html.
  • The stacks no longer export z. z3 is the one name for A2UI's Zod 3.
  • The tutorial pin moves to 9f3c0f8. The chapters follow the maintained game: z3, major: 1, @saga-a2ui/react-mcp-stack@1.0.0-rc.1, and the game's current credit. The move-list guided change applies to it.
  • The Blueprint and the development reference describe major as required.

Versions

Both forms existed only in the 1.0.0-rc.1 prerelease, and no stable release ever had them. The touched packages (mcp and both stacks) go to 1.0.1-rc.1, and promotion turns that into the stable 1.0.x.

Checks

  • npm run typecheck: passes, including the newly pinned game.
  • npx vitest run after npm run build: 3,819 tests pass. scripts/docs-release.test.ts and scripts/verify-safeguards.test.ts timed out under full-suite load; both pass on their own (76/76).
  • npm run lint: exit 0.
  • mw-version.py check: version policy passes.

🤖 Generated with Claude Code

1.0.0-rc.1 kept two transitional forms so pinned consumers could move: an
omitted operationViewFromHtml major (the old digest address) and the
stacks' deprecated z export. The examples game now passes major: 1 and uses
z3 (saga-a2ui-examples 9f3c0f8), so remove both. A missing major throws
TypeError, and the tutorial pin and chapters follow the maintained game.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Nov 5, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
saga-a2ui 🟢 Ready View Preview Nov 5, 2026, 5:09 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@mintlify

mintlify Bot commented Nov 5, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
saga-a2ui 🟡 Building – Nov 5, 2026, 5:08 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

yia-mw-agent
yia-mw-agent previously approved these changes Nov 5, 2026

@yia-mw-agent yia-mw-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helmet-Review-Request: #404 (comment)

Reviewed the full merge-base-to-head diff (base main 4a5eec2, 19 files) at a6b1e12.

No material defects.

  • operationViewFromHtml: major is now required in the type, and a missing one still throws TypeError at runtime through viewUriForMajor (new test covers it with @ts-expect-error). Every caller in the repo already passes major (lit-host, react-card-consumer, fetch-consumer, both stack fixtures, the tutorial).
  • The deprecated z export is removed from both stacks, with export-list tests updated. z3 remains. No remaining source consumer of the stack z; the frozen docs/releases/0.11.0-rc.1 snapshots are left alone, as they should be.
  • Tutorial pin moves to saga-a2ui-examples 9f3c0f8 with the new tar digest; docs, checkpoint and guided change agree with it (tic-tac-toe-document test passes).
  • Versions: mcp and both stacks go to 1.0.1-rc.1, the stacks' mcp dependency and lockfile follow.

Checks I ran on this head: npm ci; npm run typecheck (all packages, examples, templates and demo pass; only the apps/lynx-fixture step fails with a missing @lynx-js/types because that fixture's own dependencies are not installed here, unrelated to this diff); vitest on packages/mcp, lit-mcp-stack, react-mcp-stack plus guide, consumer-boundary and tic-tac-toe-document tests (854 pass); scripts/tic-tac-toe.test.ts (8 pass); npm run lint (ESLint exit 0; actionlint unavailable in this environment).

Non-blocking: the tutorial credit link points at docs/releases/0.11.0-rc.1, which mirrors the examples game's credit; fine as is.

timeleft-- and others added 3 commits November 5, 2026 12:28
…c-tac-toe spec

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@yia-mw-agent yia-mw-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helmet-Review-Request: #404 (comment)

Reviewed the full merge-base-to-head diff against current main (20 files) at d8216a5. I found no material defects.

What I checked:

  • operationViewFromHtml now requires major. major is typed as required, viewUriForMajor still throws TypeError for a missing, zero, negative, fractional or non-number value, and the unused viewUriForHtml import is gone. The new test uses @ts-expect-error for the missing case. Every remaining caller in the repo (examples/react-card-consumer, both stack fixtures, scripts/fetch-consumer, apps/lit-host/src/mcp/content-resource.ts, the tutorial) passes major.
  • Both stacks drop the deprecated z export and keep z3. The exports tests and the stack test now use z3. No other z import from a stack remains.
  • Tutorial: the pin moves to examples 9f3c0f8, with the matching archive SHA-256. Lessons 1 to 3 and the checkpoint follow the game (z3, major: 1, the two-link credit). The react-mcp-stack pin is 1.0.0-rc.1, which already has z3 and accepts major. The Blueprint, development reference and e2e spec are consistent with the code.
  • Versions: mcp is 1.0.2-rc.1 and both stacks are 1.0.1-rc.1, with the lockfile in step. mw-version.py check --base origin/main passes with the PR title.

Checks run at this head:

  • npm ci, npm run build and npm run typecheck pass for everything except the Lynx fixture, whose toolchain (rspeedy, @lynx-js/types) is not installed in this checkout. The change does not touch it.
  • vitest for packages/mcp, lit-mcp-stack, react-mcp-stack plus tic-tac-toe-document, tic-tac-toe, stage-tutorial-game and guide: 36 files, 788 tests passed.
  • Playwright e2e/tic-tac-toe.spec.ts (lit project): 27 of 27 passed.
  • Lint on the changed source was advisory only and clean.

Non-blocking: the credit's tutorial link is pinned to docs.saga-a2ui.dev/.../releases/0.11.0-rc.1/.... This matches the maintained game, so it is correct today, but the link will need updating when the docs release moves.

@timeleft--
timeleft-- merged commit aa370a6 into main Nov 5, 2026
5 of 6 checks passed
@timeleft--
timeleft-- deleted the claude/saga-1.0.0-contract branch November 5, 2026 17:47
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.

2 participants