Skip to content

Update UCP agent profiles to the 2026-08-25 release - #44

Open
gil-- wants to merge 1 commit into
Shopify:mainfrom
gil--:update-ucp-2026-08-25
Open

Update UCP agent profiles to the 2026-08-25 release#44
gil-- wants to merge 1 commit into
Shopify:mainfrom
gil--:update-ucp-2026-08-25

Conversation

@gil--

@gil-- gil-- commented Sep 3, 2026

Copy link
Copy Markdown
Member

Summary

  • Bump the agent profiles the CLI sends in meta["ucp-agent"].profile from UCP 2026-04-08 to 2026-08-25. The release is pinned once as UCP_VERSION in src/constants.ts; DEFAULT_PROFILE_URL (valid-with-capabilities, global catalog) and UCP_PROFILE (personal_agent, merchant checkout) derive from it.
  • Update the seven profile URLs in skill/references/direct-api.md and skill/references/catalog-mcp.md. The fulfillment example now carries the explicit "type": "shipping_address" destination discriminator introduced in 2026-08-25.
  • Add tests/ucp-version.test.ts: pins the version, asserts catalog calls send the capabilities profile and checkout calls send the personal-agent profile, and confirms --profile-url overrides only the catalog profile.
  • Add a minor changeset.

Why now

Shopify storefronts (shopify.supply, www.allbirds.com via /.well-known/ucp) default to 2026-08-25, and the global catalog's dev.shopify.catalog.global extension now declares requires.protocol.min: "2026-08-25".

Compatibility review

Diffed every schema the CLI touches between ucp.dev/2026-04-08 and ucp.dev/2026-08-25:

  • Unchanged: MCP method names, the meta.ucp-agent / idempotency-key definitions, message and payment schemas, search filters, and the checkout status enum.
  • Response-only additions: actions[] and policies[] on catalog search/lookup/product responses (ucp_request: omit), ignored harmlessly by the renderer.
  • Fulfillment: destinations gain a type discriminator that is required in business responses but optional in agent requests, so existing request payloads stay valid.
  • Shop Pay: the dev.shopify.shop_pay handler remains at 2026-04-08 inside the 2026-08-25 personal_agent profile, so the complete_checkout instrument shape is untouched.

Test plan

  • pnpm typecheck, pnpm test (108 passing), pnpm build
  • Live shop --format json search "running shoes" --limit 1 against the real global catalog negotiated ucp.version: "2026-08-25" with status: "success"
  • End-to-end merchant checkout with the new personal_agent profile (needs a signed-in account and a live cart)

Both profiles the CLI sends in meta["ucp-agent"].profile
(valid-with-capabilities for the global catalog, personal_agent for
merchant checkout) move from 2026-04-08 to 2026-08-25, pinned via a
single UCP_VERSION constant in src/constants.ts. The skill reference
docs use the new profile URLs, and the shipping destination example
carries the explicit "type": "shipping_address" discriminator that
2026-08-25 introduced.

Request shapes are unchanged between the two releases: MCP method
names, the meta.ucp-agent / idempotency-key definitions, the message
and payment schemas, and the checkout status enum all diff clean.
Catalog responses gain optional actions[] and policies[] fields.
Shopify's global catalog extension now requires protocol >= 2026-08-25.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@gil--
gil-- marked this pull request as ready for review September 3, 2026 22:58
@joerj123
joerj123 self-requested a review September 7, 2026 11:24
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.

1 participant