Governance responsibilities: buyer vs. seller
Campaign Governance uses the samecheck_governance task from two different positions in the transaction. The buyer-side orchestrator checks intent before it sends an action. The seller checks execution before it commits or changes delivery. Both checks go to the buyer’s configured governance agent, but they carry different evidence.
Roles
Setup: bind the seller to the governance agent
Before a seller can make seller-side checks, the buyer account must sync governance agent endpoints with the seller viasync_governance. This is account setup, not per-buy negotiation.
The seller stores the configured governance agent endpoint and credentials for the account. Later, when a governed request arrives, the seller knows where to call check_governance.
Buyer-side intent check
The buyer-side orchestrator callscheck_governance before every spend-commit action on a governed plan.
The intent check sends:
Only
approved returns a governance_context token. The orchestrator attaches that token to the request it sends to the service. A conditions response instead carries consultation_context, a non-authorizing negotiation handle that the orchestrator returns only with the adjusted intent re-check. The governance agent binds the handle to the authenticated principal, caller, plan, tool, purchase type, and target audience and rejects a mismatch.
Seller-side execution check
When a seller receives a governed spend-commit request, it performs an independent execution check before confirming the action. The seller-side check sends:
The seller must not treat the buyer’s intent check as sufficient by itself. The seller checks what it will actually deliver, which may differ from the buyer’s request because of inventory availability, seller defaults, or implementation constraints.
The execution check is binary. If the governance agent denies it, the seller must not proceed; a
conditions response is invalid on this path and does not authorize a commit.
Outcome reporting
After a seller responds, the buyer-side orchestrator callsreport_plan_outcome. This lets the governance agent reconcile the approved action with the seller’s actual response and update budget state from confirmed outcomes.
Outcome reporting is what prevents the governance agent from counting attempted actions as committed spend. The governance agent tracks the state that actually happened.
Common mistakes
Minimal sequence
- Buyer configures governance on the account with
sync_governance. - Buyer creates or updates a plan with
sync_plans. - Buyer calls
check_governancewithtoolandpayload. - Buyer sends the seller request with
governance_context. - Seller prepares a candidate and calls
check_governancewithgovernance_context,caller, andplanned_delivery. - Seller commits atomically on
approvedor rejects ondenied. - Buyer calls
report_plan_outcomewith the seller result.
check_governance task reference for request and response fields, and the Campaign Governance specification for lifecycle and token validation details.