Slices
Each slice is something a Buyer, Staff or an Agent can do, end to end, deployed. A slice is done when it is deployed, an end-to-end test proves it, and it has a row here.
| # | Slice | Status | Proven by | Demo |
|---|---|---|---|---|
| 0 | Walking skeleton: the shop's page shows its name, read from its ShopDO through engine | Done, 2026-10-23 | e2e/slice-00-skeleton.spec.ts |
/ |
| 1 | Menu: the Buyer sees the Menu in its Sections, with prices and what's sold out | Done, 2026-10-23 | e2e/slice-01-menu.spec.ts |
/ |
| 2 | An Agent finds the Shop and searches its Menu over UCP | Done, 2026-10-23 | e2e/slice-02-agent-catalog.spec.ts |
/.well-known/ucp |
| 3 | Cart: the Buyer adds Items, changes quantities and removes lines, and the totals follow | Done, 2026-10-23 | e2e/slice-03-cart.spec.ts |
/, /cart |
| 4 | Order: the Buyer places their Cart for Pickup under their name, with no payment yet | Done, 2026-10-23 | e2e/slice-04-order.spec.ts |
/cart, /orders/… |
| 5 | Staff accept the order live, and the Buyer sees it | Next | ||
| 6 | Decline, and the 60-second timeout | |||
| 7 | Viva payment: authorize, capture on accept, void otherwise | |||
| 8 | An Agent orders through UCP, over MCP |
Known gaps
What the built slices leave out on purpose, and the slice that takes it on.
- The demo shop and its Menu are fixtures that engine creates on first request. Merchant signup replaces them.
- The UCP adapter checks that a request names a platform profile, but doesn't fetch it or negotiate capabilities yet (slice 8).
- The Menu has no photos.
- A Cart that is never placed never expires, and engine keeps it.
- Every Order is for Pickup, and the Buyer gives only a name. Delivery, its area, fee and minimum order have no slice yet.
- A placed Order waits for an Acceptance that nothing gives yet (slice 5).
- Whoever has an Order's link can see it.