Migrate from 3.0.5 details.status placeholder to AGENT_SUSPENDED / AGENT_BLOCKED codes (3.1 consolidation)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Search the Go SDK for code that emits or consumes PERMISSION_DENIED with details.status and inspect its error handling and tests. Compare those paths with the AdCP 3.1 error codes described here; confirm whether this SDK integrated the 3.0.5 placeholder before changing anything. Done means suspended and blocked use their dedicated codes, while the sandbox-only reason path remains unchanged.
Written by the indexing model from the issue text.
Description
Heads-up: AdCP 3.0.5 details.status placeholder is being consolidated in 3.1
AdCP 3.0.5 shipped error-details/agent-permission-denied.json carrying a placeholder shape for per-agent commercial-status rejections:
{
"code": "PERMISSION_DENIED",
"details": {
"scope": "agent",
"status": "suspended" // or "blocked"
}
}
That shape was a placeholder while the dedicated codes were being designed. AdCP 3.1 (PR adcontextprotocol/adcp#3906, in flight) consolidates the placeholder into two dedicated error codes:
| Before (3.0.5) | After (3.1) |
|---|---|
code: PERMISSION_DENIED, details: { scope: "agent", status: "suspended" } |
code: AGENT_SUSPENDED (no details payload) |
code: PERMISSION_DENIED, details: { scope: "agent", status: "blocked" } |
code: AGENT_BLOCKED (no details payload) |
code: PERMISSION_DENIED, details: { scope: "agent", reason: "sandbox_only" } |
unchanged |
The dedicated codes carry recovery: "terminal" directly at the wire level (the placeholder shape inherited PERMISSION_DENIED's correctable, which contradicted the no-retry MUST). The status field is removed from agent-permission-denied.json in 3.1 — this is not a deprecation window; envelopes carrying details.status will fail schema validation against 3.1.
Action
If this SDK has integrated against the 3.0.5 placeholder shape:
- Switch any code that emits
PERMISSION_DENIED + scope:"agent" + status:"suspended"|"blocked"to emitAGENT_SUSPENDED/AGENT_BLOCKEDdirectly. - Switch any code that consumes
details.statusto branch onerror.code === 'AGENT_SUSPENDED' | 'AGENT_BLOCKED'instead. - The
PERMISSION_DENIED + scope:"agent" + reason:"sandbox_only"path is unchanged and stays.
If this SDK has not integrated against the placeholder yet, no action — just integrate against the 3.1 shape directly when the dedicated codes land.
References
- Spec PR consolidating the placeholder: https://github.com/adcontextprotocol/adcp/pull/3906
- Placeholder registration (3.0.5): https://github.com/adcontextprotocol/adcp/pull/3887
- Closes spec issue: https://github.com/adcontextprotocol/adcp/issues/3871
- Cross-tenant onboarding oracle clamp (unchanged in 3.1): error-handling.mdx Per-Agent Authorization Gate
- Dominant language
- Go
- Stars
- 4
- Forks
- 2
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 15
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from adcontextprotocol/adcp-go
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
adcontextprotocol/adcp-go#567 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
adcontextprotocol/adcp-go#570 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 22/100
adcontextprotocol/adcp-go#564 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
adcontextprotocol/adcp-go#556 ·
Maintainers usually reply within 1 day
-
claude-triaged cross-repo
Difficulty 5/5 Over a week Newbie friendliness 25/100
adcontextprotocol/adcp-go#548 · 2 comments ·
Maintainers usually reply within 1 day
All issues in adcontextprotocol/adcp-go
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 81/100
apache/rocketmq-dashboard#6895 ·
Maintainers usually reply within 3 days
-
agent-butler-finding chore
Difficulty 1/5 Under an hour Newbie friendliness 88/100
jordansmall/spindrift#5466 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 87/100
777genius/agent-notifications#490 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
devantler-tech/ksail#7836 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
keyxmakerx/Chronicle#1469 ·
Maintainers usually reply within 1 day