Goal
Define the public Go seller-framework API that makes adcp-go feel first-class, not just a typed MCP helper. This should be the Go equivalent of the JS/Python decisioning-platform layer, adapted to Go idioms.
Why
The current adcp.Register surface works and is small, but adopters still hand-wire too much: update/list_creatives outside Config, auth/account context, task handoff, validation, and production guardrails. A first-class Go SDK needs one coherent framework surface.
Scope
- Define the target public API for seller implementations.
- Decide whether to evolve
adcp.Config or add a higher-level builder/platform abstraction.
- Group handlers by domain/specialism without making simple sellers verbose.
- Include extension points for auth, account resolution, tenant routing, validation, idempotency, task handoff, and webhooks.
- Keep dependency boundaries explicit; optional heavier integrations belong in subpackages.
Acceptance Criteria
- A design doc or ADR lands in-repo.
- The design includes a minimal hello-seller example and a production translator-pattern example as target consumers.
- The API avoids global state and uses functional options/interfaces where appropriate.
- Existing
adcp.Register users have a clear migration path or compatibility wrapper.
Related
Goal
Define the public Go seller-framework API that makes adcp-go feel first-class, not just a typed MCP helper. This should be the Go equivalent of the JS/Python decisioning-platform layer, adapted to Go idioms.
Why
The current
adcp.Registersurface works and is small, but adopters still hand-wire too much: update/list_creatives outside Config, auth/account context, task handoff, validation, and production guardrails. A first-class Go SDK needs one coherent framework surface.Scope
adcp.Configor add a higher-level builder/platform abstraction.Acceptance Criteria
adcp.Registerusers have a clear migration path or compatibility wrapper.Related