# Monday morning — eCommerce AgentCore deploy / test gates

Use this after cloning the sample. Check boxes in your runbook PR.

## Identity & session

- [ ] Cognito (or Okta/Entra) app client issues JWT with `role` claim (`shopper` | `associate` | `admin`)
- [ ] AgentCore Runtime authorizer validates JWT; unauthenticated invoke fails
- [ ] Shopper token cannot obtain associate-scoped workload credentials for inventory writes

## Gateway & Policy

- [ ] Upload [`gateway/commerce-openapi.yaml`](gateway/commerce-openapi.yaml) as Gateway OpenAPI target
- [ ] Wire credential provider (IAM / API key / OAuth) for the commerce API
- [ ] Attach Cedar (or NL→Cedar) from [`policy/refund-and-cancel.cedar`](policy/refund-and-cancel.cedar)
- [ ] Policy mode **`LOG_ONLY`** for ≥3 business days; review DENY spans in CloudWatch
- [ ] Flip to **`ENFORCE`** only after false-deny rate is acceptable
- [ ] Confirm `cancelOrder` DENY for `delivered` fixture `ORD-1001`
- [ ] Confirm `createReturn` DENY (or escalate path) for refundUsd `100`
- [ ] Confirm `updateInventory` DENY with shopper JWT

## Runtimes

- [ ] Deploy 4 specialist Runtimes + 1 supervisor (or equivalent MCP targets)
- [ ] Supervisor env has specialist ARNs; dry-run replaced with real InvokeAgentRuntime
- [ ] Memory namespaces keyed by shopper / associate id (no cross-tenant reads)
- [ ] Cap specialist hops = 2; escalate on ambiguity

## Observability

- [ ] OTEL / AgentCore Observability enabled on supervisor + Gateway
- [ ] Dashboard: routing distribution, tool error rate, Policy ALLOW/DENY
- [ ] Alarm on Policy DENY spike and specialist p95 latency

## Product gates

- [ ] ≤5 tools and one team? Document why you still need multi-agent (or collapse)
- [ ] Human escalation queue wired (`commerce-tier2` or your ticketing tool)
- [ ] No payment capture / card data in agent tools (out of scope for this sample)
