Skip to content

Add GOVERNANCE_DENIED error code to protocol #2185

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions