Repository navigation
feat: link game credit to the tic-tac-toe tutorial - #7
Merged
Merged
Conversation
yia-mw-agent
approved these changes
Oct 31, 2026
yia-mw-agent
left a comment
Contributor
There was a problem hiding this comment.
Helmet-Review-Request: #7 (comment)
Reviewed the full merge-base-to-head diff (base main, merge-base bcd5fb7, 6 files) at 71d0f00, which was also the live head at start and before submitting. No material defects.
What I checked:
- catalog.tsx: two SagaAttribution instances (name and prefix/href props match the installed SDK API) render "Built with saga-a2ui, learn how to build your Saga."; both open only through the host links, so the SDK's busy/failure feedback is kept. The CSS makes the paragraphs inline.
- Both destinations return HTTP 200; the tutorial URL matches the 0.11.0-rc.1 dependency in package.json.
- card.spec.ts: the host stub records ui/open-link requests; the new test asserts exact URLs in both themes at 320px with no horizontal overflow, and the credit text assertions cover the playing, completed and error states.
- expiry.test.ts: START = Date.now() + 24h keeps the alarms ahead of Miniflare's real-time scheduler. Production expiry and storage code is untouched.
- README and data-handling doc copy match the new behaviour and state that the card itself fetches neither destination.
Validation on this head (npm run check): brand check, icon digests, typecheck, 45 game tests, 16 Workers tests, 15 browser tests and the wrangler dry-run build all pass. This runtime has no git-lfs, so I fetched the four LFS PNGs from the LFS API (SHA-256 verified) in my review worktree; nothing was committed or pushed.
Non-blocking:
- If a link request fails, the SDK's status message is a block element and appears between the two inline links. It stays readable, and it is covered by the SDK's own failure feedback.
- The tutorial URL is pinned to the 0.11.0-rc.1 release path, so it needs updating when the SDK dependency moves. The README already says this.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The game card now reads “Built with saga-a2ui, learn how to build your Saga.” The framework name opens https://saga-ai.dev/ and “how to build your Saga” opens the versioned React tic-tac-toe tutorial. Both actions use the SDK's existing host-link component, including its failure feedback, in playing, completed and recoverable-error states. The same canonical game view serves local and hosted entrypoints.
Validation:
npm run checkpasses (45 game tests, 16 Workers tests, 15 browser checks, types and dry-run build); the additional 320px light/dark link checks pass. Browser tests assert exact host-open requests and preserve the embedded artwork and no-network checks. Tutorial destination returns HTTP 200. LFS pointers andgit diff --checkpass.The full check exposed a stale expiry-test clock fixed to October 30; its alarms were now in the real scheduler's past. The test fixture starts ahead of real time so cleanup remains explicitly test-driven. Production expiry/storage code and deployment configuration are unchanged. Production deployment follows review and merge.