docs: layered architecture, decision page, version-adaptation guide#1437
Merged
Conversation
e4dba7f to
d843ee7
Compare
…tion guide Reorients adopters around how much of L0–L3 they want to inherit from the SDK vs. write themselves. Targets two recurring wrong conclusions: early implementers whose mental model of the SDK is frozen at AdCP 2.5, and new implementers who treat AdCP as a thin protocol. - New: docs/architecture/adcp-stack.md (full L0–L4 reference + version model) - New: docs/where-to-start.md (decision page; three questions, cost table) - New: docs/guides/VERSION-ADAPTATION.md (recipes for the three mechanisms) - Wiring: callouts on index.md, getting-started.md, guides/BUILD-AN-AGENT.md route mis-aimed readers without blocking on-target ones - Cross-link: CONFORMANCE.md from L3 layer + early-implementer punch list Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…filled coverage matrix, softened tone) After running three builder personas (early implementer, greenfield builder, SSP PM) over the doc set, all three pointed at the same shaped gaps: - No migration path for hand-rolled adopters → adds docs/guides/MIGRATE-FROM-HAND-ROLLED.md (inventory, lowest-risk-first swap order, conflict modes, intermediate conformance states, when-not-to-migrate). - "~4 person-months" cost claim was unsourced → decomposed into a per-component breakdown table in adcp-stack.md with stated assumptions. - SDK coverage matrix was a template → filled with current rows for @adcp/sdk 6.6.x (6.7 in flight), Python adcp 4.x in flight, adcp-go in development, with a "last updated" line. - One preachy line in where-to-start.md → softened to name the legitimate cases for going lower. Cross-links updated: where-to-start.md Q3 and the recommended-path section both point at the new migration guide; the cost-breakdown section is referenced from where-to-start.md and from "what early implementers underestimate." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.7.0 published to npm; row promoted from "6.6.x GA, 6.7 in flight" to "6.7.0 GA". Last-updated line refreshed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…d example Closes the two residual gaps surfaced by the early-implementer persona in round-2 review: - §4 "Rollback per step" — per-swap revert mechanism table (revert flag, what state may have leaked, what to verify), the 2 a.m. on-call recipe, and the "don't plan irreversible swaps" rule. - §6 "Worked example: two buyers, mid-swap" — concrete code + shape-comparison table for buyer A on 2.5 / buyer B on 3.0 during step 3 of the swap order, showing how `adcpVersion` pinning + the SDK's adapters keep handler code on a single canonical shape. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
d843ee7 to
12577cf
Compare
3 tasks
bokelley
added a commit
that referenced
this pull request
May 3, 2026
* Revert "docs: layered architecture, decision page, version-adaptation guide (#1437)" This reverts commit aa85657. * docs: remove now-redundant adcp-stack.md, point readers at protocol docs Beyond the strict revert in the previous commit: - Removes docs/architecture/adcp-stack.md (introduced in #1436). The same layered-architecture content now lives canonically at /docs/building/sdk-stack on the protocol docs site, language-agnostic. - Adds a top-of-page pointer in docs/index.md so SDK readers find /docs/building/sdk-stack, /where-to-start, /migrate-from-hand-rolled, and /version-adaptation on the protocol docs site for protocol-level orientation. The remaining pages here stay @adcp/sdk-specific (TypeScript/JavaScript). - Empty changeset (docs-only). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Brian O'Kelley <brian@agenticadvertising.org> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reorients adopters around how much of L0–L3 they want to inherit from
@adcp/sdkvs. write themselves. Targets two recurring wrong conclusions:What's in it
docs/architecture/adcp-stack.md(new) — full L0–L4 reference. Each layer: what it does, what's in it, what an SDK at that layer should provide, what you give up by skipping it. Includes the version-adaptation summary and a "what early implementers underestimate" punch list.docs/where-to-start.md(new) — short decision page. Three questions (caller vs. agent / value-add / pre-existing hand-rolled), recommended path for ~95% of adopters, "what you give up by going lower" cost table.docs/guides/VERSION-ADAPTATION.md(new) — code-level recipes for the three version-handling mechanisms:adcpVersionpinning + bundle-gated runtime acceptance +ConfigurationErrorsemantics@adcp/sdk/server/legacy/v5subpath co-existence importssupported_versionsdeclaration withVERSION_UNSUPPORTEDenvelope andVersionUnsupportedErrortyped throwindex.md,getting-started.md,guides/BUILD-AN-AGENT.mdroute mis-aimed readers towhere-to-start.mdwithout blocking on-target ones. Cross-link toCONFORMANCE.mdfrom L3 + early-implementer item Fix Fly.io deployment timeout issues #2.Reviewed by
createAdcpServerFromPlatform(platform, opts)two positional args, bundle-gated vs. major-gated runtime acceptance,VersionUnsupportedErrorpre-flight throw alongside the envelope read). All addressed.where-to-start.mdandadcp-stack.md(resolved by single-sourcing in the architecture doc), the "no single SDK" / "95% start at L4" tone tension (resolved with a bridge sentence), and a brokenprotocol-overview.mdlink inindex.md(resolved by removal). Cross-linking gaps toCONFORMANCE.mdfilled.Notes for reviewers
src/lib/version.ts,src/lib/utils/adcp-version-config.ts,src/lib/core/SingleAgentClient.ts,src/lib/server/create-adcp-server.ts,src/lib/server/decisioning/runtime/from-platform.ts, andexamples/decisioning-platform-mock-seller.ts.docs/architecture/adcp-stack.mdwas originally drafted on a sibling feature branch; this PR brings the file (with the reviewer-driven edits) into main directly. Order with that branch is fine either way — feature branch will rebase cleanly.Test plan
./architecture/adcp-stack.md,./guides/VERSION-ADAPTATION.md,./where-to-start.md,./guides/CONFORMANCE.md,./guides/BUILD-AN-AGENT.md#two-paths)🤖 Generated with Claude Code