chore(quickstart): move the demo onto the published 0.4.0 packages - #163
Open
TheBlackBit wants to merge 1 commit into
Open
chore(quickstart): move the demo onto the published 0.4.0 packages#163TheBlackBit wants to merge 1 commit into
TheBlackBit wants to merge 1 commit into
Conversation
Bumps examples/quickstart from ^0.3.1 to ^0.4.0 for both packages and regenerates its lockfile against the registry. This is the post-publish check docs/PUBLISHING.md calls for: unlike the workspace suites, the quickstart installs the PUBLISHED tarballs, so its quickstart-smoke job is what proves the release is actually consumable — packaging mistakes (a missing runtime asset, a wrong dependency range) only surface here. Verified locally against the published 0.4.0: clean install resolves 0.4.0/0.4.0 from the registry and `npm run smoke` is green, 14/14, including the bypass assertions (unverified place-order refused, payment-only verify of an age-gated order refused, tampered cart mandate refused, an 18+ proof refused at a 21+ gate, and no cross-order bleed). Deliberately NOT changed: server.mjs still hand-wires the Redis env vars rather than calling redisStorage.fromEnv(). That helper is still unmerged (#128), so it does not exist in 0.4.0 and using it here would break the smoke on startup. Swap it after #128 lands and ships. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Ever Morales <ever.morales@koombea.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
In plain terms
Version 0.4.0 of both packages is now live on npm. The runnable demo in this repository was still asking for the previous version, 0.3.1. This points it at 0.4.0.
It is also the real test that the release worked. Everything else in this repository tests the code sitting on disk. The demo is the only thing that downloads the actual published packages the way a new developer would, so it is the only thing that can catch a packaging mistake — a file left out of the download, or a version that quietly pulls in the wrong companion package. A release is not really confirmed until this passes.
What you're approving
How to test
cd examples/quickstart rm -rf node_modules npm install npm run smokeThe install should pull 0.4.0 for both packages straight from npm, and the smoke test should end with
smoke green — contract holds.I ran exactly this before opening the pull request. All 14 checks passed:
Worth noting what those last several checks mean in plain terms, because they are the point: someone cannot buy age-restricted goods without proving their age; proving they are 18 does not get them past a 21 gate; editing the price on the way to checkout is refused; and one shopper proving their age never unlocks checkout for a different shopper. All of that holds in the published packages, not just in the source.
For reviewers — the detail
Why this is the post-publish check
docs/PUBLISHING.mdstep 3 names this pull request as the real verification: the workspace test suites resolve@openmobilehub/credentagent-gatethrough the npm workspace symlink, so they cannot detect a packaging fault. The quickstart is not a workspace and installs from the registry, soquickstart-smokeexercises the published tarballs.deployed-smokethen re-runs the same assertions against the live demo once this merges and deploys.Two failure classes only this catches, both live risks in this particular release:
dist/ui/mcp-app.htmlfrom disk at request time rather than importing it, so if thefilesallowlist missed it the packages would still install and typecheck, and fail only when a widget is requested. Assertion (g) covers it — and it is present, 556,843 bytes.npm versiondoes not rewrite a sibling workspace dependency range, so the storefront's dependency on the gate had to be corrected by hand from^0.3.1to^0.4.0during the release. Left uncorrected,^0.3.1resolves to>=0.3.1 <0.4.0and a published 0.4.0 storefront would have pulled a 0.3.x gate. Confirmed correct on the registry:npm view @openmobilehub/credentagent-storefront@0.4.0 dependenciesreports^0.4.0, and the regenerated lockfile here resolves both to the 0.4.0 tarballs.Verified before opening
rm -rf node_modules && npm install— exit 0;node -pon both installed manifests reports0.4.0 / 0.4.0, resolved fromregistry.npmjs.org.npm run smoke— exit 0, 14/14, output above.credentagent.doctor()returns{ ok: true, findings: [] }, anddefineHost,createStorefront, and the policy builders are all present and callable.The
redisStorage.fromEnv()deferralexamples/quickstart/server.mjscontinues to hand-assemble the Redis credentials fromKV_REST_API_*/UPSTASH_REDIS_REST_*. #128 — the pull request addingredisStorage.fromEnv()to collapse that into one line — is still open and therefore absent from 0.4.0. The author of #128 verified that swapping the example ahead of a release fails withTypeError: redisStorage.fromEnv is not a functionand the server never comes up. The swap belongs in a follow-up after #128 merges and ships in a release.Release context
0.4.0 published from tag
v0.4.0(commit12c32ce) via run 30502804107, green in 48s, gate then storefront. npm serves 0.4.0 for both. The breaking change in this release — theDelegatedVerifierverify/settle split — is documented in #161 and affects only integrators who implemented that interface against 0.3.1; it does not touch the quickstart, which uses the built-in flows.🤖 Generated with Claude Code