Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .changeset/docs-sandbox-framing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
---

Rewrites the AAO Verified framing in `docs/building/verification/aao-verified.mdx`, `docs/building/verification/conformance.mdx`, and `docs/building/by-layer/L3/comply-test-controller.mdx` to reflect the (Sandbox) verdict from #4379. Closes the docs half of #4380. Front-of-page sections (intro, axis tables, badge meaning, lifecycle, claim instructions, supporting-spec references) now describe the (Sandbox) tier: same storyboards as (Spec), real production endpoint, `account.sandbox: true` flagging, zero real-world side effects. `comply_test_controller` doc gains a prominent dev/staging-only callout. Deprecated canonical-campaign sections in aao-verified.mdx (eight observability checks, two discovery paths, webhook ownership, maintenance windows) carry a Warning banner pointing readers at the new framing; full removal of those sections tracked as a follow-up sweep.
10 changes: 9 additions & 1 deletion docs/building/by-layer/L3/comply-test-controller.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,17 @@ description: "Optional sandbox tool that lets the storyboard runner walk full li

# Compliance test controller

<Note>
**The compliance test controller is a dev/staging-only affordance, not a production-time concept.** AAO grading does NOT require or use it. The AAO compliance heartbeat drives storyboards against the seller's registered production URL with `account.sandbox: true` on every request, and the seller's prod stack is responsible for honoring the flag — no controller endpoint needed.

Sellers MAY implement the controller in their dev or staging environment to support their own integration testing — walking lifecycle state machines deterministically, seeding fixtures, forcing transitions that would otherwise require waiting for real time. That's its purpose. It MUST NOT be exposed on production deployments (see [Sandbox gating](#sandbox-gating) below).

Confused about how the controller relates to AAO Verified (Sandbox)? See [#4379](https://github.com/adcontextprotocol/adcp/issues/4379) for the framing decision: (Sandbox) attests "real production endpoint correctly handles sandbox-flagged traffic across the full storyboard suite." The controller is the developer-side affordance for *your* testing, not the AAO-side grading mechanism.
</Note>

AdCP defines lifecycle state machines for accounts, creatives, media buys, SI sessions, and delivery reporting. Many transitions in these state machines are seller-initiated — creative approval, account suspension, budget depletion, delivery accrual. A storyboard runner can only exercise buyer-initiated flows, leaving seller-initiated transitions untested.

The **compliance test controller** is an optional tool that sellers expose in sandbox mode. It allows a storyboard runner to trigger seller-side state transitions deterministically, enabling end-to-end lifecycle verification.
The **compliance test controller** is an optional tool sellers expose in their dev/staging environment to support deterministic local testing. It allows a runner to trigger seller-side state transitions on demand, enabling end-to-end lifecycle verification during development.

## Motivation

Expand Down
Loading
Loading