Skip to content

docs(verification): storyboards vs. scenarios disambiguation (closes #4035)#4373

Merged
bokelley merged 1 commit intomainfrom
bokelley/docs-storyboards-vs-scenarios
May 11, 2026
Merged

docs(verification): storyboards vs. scenarios disambiguation (closes #4035)#4373
bokelley merged 1 commit intomainfrom
bokelley/docs-storyboards-vs-scenarios

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Summary

Closes the docs half of #4035. Three things in AdCP share the word "scenarios" and they aren't the same; external implementers grep node_modules/@adcp/sdk/dist/lib/testing/scenarios/*.js and conclude things about AdCP that aren't true (e.g. "sales-guaranteed doesn't cover proposal-finalize" — wrong, the YAML storyboard does).

What changed

  • New page: docs/building/verification/storyboards-vs-scenarios.mdx
  • Cross-references: <Note> callouts added to conformance.mdx and validate-your-agent.mdx so readers grepping legacy scenarios get redirected to storyboards
  • Nav: docs.json updated in both building/verification group locations

The disambiguation

What it is Normative?
Storyboards YAML, run via comply(). The conformance spec. ✅ Yes
comply_test_controller scenarios Protocol-level tool operations (force_*, simulate_*, seed_*) ✅ Yes (different concept)
@adcp/sdk/testing/scenarios/*.ts Legacy TS test runners, predate comply() ❌ No

Plus a three-line decoder ("if you see a .yaml under /compliance/..., trust as spec; if you see a .ts under testing/scenarios/, don't").

Out of scope (filed in #4035 for adcp-client)

  • @deprecated JSDoc on testing/scenarios/* exports
  • Mirroring storyboard CLI verbs (scenarios show <id> if scenarios stay public)
  • Decision on whether testing/scenarios/* becomes internal-only

Stack note

Push A item 3 of 4 in the compliance reporting fidelity initiative.

🤖 Generated with Claude Code

…4035)

Three things in AdCP share the word "scenarios" and they aren't the same.
External implementers grepping `node_modules/@adcp/sdk/dist/lib/testing/
scenarios/media-buy.js` for `buying_mode` and concluding sales-guaranteed
coverage is missing the proposal/refine/finalize lifecycle have a
reasonable evidence path — but the conclusion is wrong, because the YAML
storyboards do cover that lifecycle (`proposal_finalize`, `refine_
products`). The scenario file just predates `comply()` and is no longer
the source of truth.

New page `docs/building/verification/storyboards-vs-scenarios.mdx` names
the three things explicitly:

1. **Storyboards** (YAML at `/compliance/{version}/...`, run via `comply()`)
   — the conformance specification. Normative.
2. **`comply_test_controller` scenarios** (`force_*`, `simulate_*`,
   `seed_*` operations the seller exposes) — protocol-level tool
   operations that storyboards use to drive deterministic state.
   Normative, but different from storyboards.
3. **`@adcp/sdk/testing/scenarios/*.ts`** — legacy TypeScript test
   runners predating storyboard-driven `comply()`. Non-normative. May
   differ from storyboard contents.

Plus a three-line decoder: "if you see a `.yaml` under `/compliance/...`,
trust as spec; if you see a `.ts` under `testing/scenarios/`, don't."

Cross-linked from `conformance.mdx` and `validate-your-agent.mdx` via
`<Note>` callouts pointing readers at the disambiguation page when they
might be tempted to read the legacy scenarios as the spec.

Out of scope (lives in `adcp-client` repo): marking the legacy
`testing/scenarios/*` exports `@deprecated`, mirroring the storyboard
CLI verbs, or removing the export entirely. The packaging decision is
tracked in #4035; this PR ships the docs half.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit ad6782c into main May 11, 2026
18 checks passed
@bokelley bokelley deleted the bokelley/docs-storyboards-vs-scenarios branch May 11, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant