Skip to content

Add GOVERNANCE_DENIED error code to protocol #2185

@bokelley

Description

@bokelley

Context

The protocol has COMPLIANCE_UNSATISFIED as a generic compliance error, but no specific code for governance denial. When a seller calls check_governance and the governance agent denies, the seller needs to return an error to the buyer — and the buyer needs to know it was specifically a governance denial, not a content standards failure or brand safety issue.

Proposal

Add GOVERNANCE_DENIED to the standard error codes table:

Code Recovery Description
GOVERNANCE_DENIED correctable A registered governance agent denied the transaction. The buyer may restructure the buy, escalate to a human, or contact the governance agent.

Recovery is correctable because the buyer can take action — reduce the budget, split into smaller transactions, escalate to human authority, or change the plan.

Why not COMPLIANCE_UNSATISFIED?

COMPLIANCE_UNSATISFIED is too generic. A buyer receiving it doesn't know whether:

  • Governance denied the buy (action: escalate or restructure)
  • Content standards failed (action: fix the creative)
  • Brand safety was violated (action: change targeting)

Each requires a different buyer response. Governance denial is a distinct workflow — the buyer may need to escalate to human spending authority or restructure into smaller transactions within the governance plan's limits.

Where to update

  • Error codes table in the protocol spec
  • src/lib/types/error-codes.ts in adcp-client (or wherever standard codes are defined)
  • docs/llms.txt error codes section
  • Training agent's create_media_buy handler should return GOVERNANCE_DENIED instead of / in addition to COMPLIANCE_UNSATISFIED

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions