A Next.js-based demo application showcasing the RetailAgentOS engine for unified commerce platform (UCP) integration, including offer evaluation, quote lifecycle management, and WebMCP tool registration for AI shopping assistants.
Strong schema definitions with proper JSON Schema validation, clear parameter constraints (minLength, maxLength, enums), and comprehensive input validation. Tool names follow verb_noun convention (get_, search_, evaluate_, find_, apply_, prepare_, request_, revise_). Descriptions are present and actionable (avg ~120 chars). However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions are minimal or absent for many fields (e.g., 'lines' array lacks explanation of what each line represents). Error handling guidance is not visible in tool definitions. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications (READ_ONLY vs WRITE). Missing idempotency guidance despite idempotencyKey parameters in 3 tools.
Apply a RetailAgentOS-approved repair to a shopping plan
Evaluate a shopping plan against storefront rules and constraints
Find valid alternative products for a shopping plan decision
Retrieve the storefront's capabilities and configuration
Prepare and validate a cart for checkout
Request a merchant quote for a custom product configuration
Revise a previously validated cart with new line items
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and how to chain tools. This violates pattern:tool and pattern:response-shaper.
Nested object parameters lack descriptions. 'lines' array (present in 6 tools) has no explanation of what each line item represents or how it maps to products. 'budget' object lacks guidance on currency codes or amount constraints. Violates pattern:tool-description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Search the storefront catalog by query string
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite explicit risk classifications. 5 tools marked WRITE (apply_plan_repair, prepare_validated_cart, request_quote, revise_validated_cart) should declare destructiveHint=true. 3 tools with idempotencyKey should declare idempotentHint=true. Violates pattern:tool-annotation.
Error handling and recovery guidance absent from tool definitions. No indication of what errors are retryable, what requires user intervention, or what recovery steps to take. Violates pattern:recovery-guide and pattern:error-classification.
Parameter descriptions are generic or missing for critical fields. 'decisionId' appears in 4 tools but is only described in apply_plan_repair. 'fulfillmentMode' in evaluate_shopping_plan has good description but 'requestedDeliveryWindow' is vague ('An actual requested delivery deadline or window'). Violates pattern:tool-description.