Replies: 1 comment
-
|
cc @igrigorik @amithanda @richmolj @lemonmade -- would love TC eyes on which of these are worth designing next |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have a handful of open issues on the repo that go beyond simple bug fixes -- they touch schema design, new operations, and cross-capability boundaries. Some I have already turned into PRs (#402, #403), but the rest need design decisions that I do not think should be made unilaterally.
Posting this here so the TC can look at them together and decide which ones are worth pursuing, which need more discussion, and which should wait.
Already shipped as PRs
buyer_notesstring to line items for per-item instructions (food customization, gift messages)variant.availabilitywith quantity, restock date, low-stock threshold, and per-location stockBoth are optional-field additions, backward-compatible, no breaking changes. Reviews welcome.
Needs TC design input
These are the ones I did not PR because they have open design questions.
#343 - Guest checkout (identity-optional checkout path)
The checkout flow assumes OAuth-based identity linking, which blocks scenarios where account creation is unnecessary -- voice agent ordering a coffee, one-time farmers market purchases, agent-mediated impulse buys. The issue proposes an
auth_modefield on the buyer object and aguest_checkoutconfig flag on the checkout capability.Why it needs TC input: Three design questions are unresolved:
auth_modelive on thebuyerobject or on the checkout request metadata?buyer.emailas mandatory, or leave that to business policy?These are not implementation questions -- they are architecture choices that affect how the ecosystem evolves.
#346 - No way to discover available discounts before applying codes
The discount extension is reactive: you submit a code, you find out if it works. There is no way to ask "what promotions are running?" before guessing. For agents, this means they can not proactively tell a buyer "there is a 20% off sale right now" unless they already know the code.
Why it needs TC input: Adding a
list_discountsoravailable_promotionsoperation touches all three transport bindings (REST, MCP, embedded). It also raises a business sensitivity question -- some merchants do not want all their active promotions exposed programmatically.#348 - Orders lack modification support after placement
Once checkout completes, the order is read-only. No
cancel_order, nomodify_order, no line-item-level changes. Platforms fall back tocontinue_urlfor anything beyond reading status, which breaks the agent flow.Why it needs TC input: Order modification is a large surface area. It needs new operations in three transport bindings, new webhook events, modification window semantics, and re-authorization flows for quantity increases. This is probably a multi-PR effort that should start with an agreed-upon scope.
#347 - Fulfillment extension and order events are disconnected
At checkout, the buyer picks "Express Shipping." After purchase, a fulfillment event says "shipped." Nothing connects the two -- the event does not reference which fulfillment method or option was selected. The agent can not say "your express order shipped" because it does not know which shipment is which.
Why it needs TC input: Linking fulfillment events back to checkout selections crosses the fulfillment-order capability boundary. The fulfillment extension currently lives on checkout only; extending its references into order events is a structural decision.
#344 - Cart session persistence guidance
The cart schema defines
expires_atbut says nothing about reasonable TTLs, session binding, reconnection semantics, or cross-transport persistence. There is even a TODO in the spec:cart.mdline 103 saysTODO: discuss continue_url destination - cart vs checkout. This one is docs-only, no schema changes needed.What I am looking for
Not expecting all of these to move forward at once. Even a "yes, #343 is worth designing" or "hold off on #348 until v2" would help prioritize. Happy to write the PRs for anything the TC greenlights.
Beta Was this translation helpful? Give feedback.
All reactions