Skip to content

feat!: sync_governance task, remove governance from sync/list#1644

Merged
bokelley merged 10 commits into
mainfrom
bokelley/list-accounts-governance
Mar 23, 2026
Merged

feat!: sync_governance task, remove governance from sync/list#1644
bokelley merged 10 commits into
mainfrom
bokelley/list-accounts-governance

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

@bokelley bokelley commented Mar 23, 2026

Summary

  • Adds sync_governance task for syncing governance agent endpoints to specific accounts, supporting both explicit (account_id) and implicit (brand + operator) account references
  • Removes governance_agents from sync_accounts request schema (breaking change)
  • Removes account_governance from list_accounts request schema — list_accounts returns to a pure read operation
  • Strips authentication credentials from account.json response schema (write-only via sync_governance)
  • Updates governance specification, check_governance docs, campaign governance index, learning tracks, release notes, and what's-new docs
  • Includes maxItems/maxLength bounds and HTTPS requirement on governance URLs

Closes #1643

Test plan

  • All 501+ tests pass (schemas, docs-nav, examples, extensions, error-handling, composed, migrations, hmac-vectors, transport-errors, unit, OpenAPI, typecheck)
  • Zero stale references to register_governance or governance_agents on sync_accounts
  • Pre-commit hooks pass (image quality, version sync, accessibility, broken links)
  • CI passes on GitHub

🤖 Generated with Claude Code

On explicit-account sellers, accounts are pre-created and sync_accounts
is not used. This adds an optional governance_agents field to the
list_accounts request so buyers can register governance endpoints
against discovered accounts, enabling the check_governance round-trip.

Closes #1643

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bokelley bokelley requested a review from EmmaLouise2018 March 23, 2026 08:03
bokelley and others added 5 commits March 23, 2026 17:16
Replace top-level governance_agents array with account_governance
object keyed by account_id. This mirrors the per-account pattern
from sync_accounts and lets buyers assign different governance
agents to different accounts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Changes account_governance from a flat map keyed by account_id to an
array of {account, governance_agents} entries where account is an
account-ref (either account_id or brand+operator). This supports both
explicit and implicit account types.

Updates docs with examples for both account reference styles and
clarifies replace semantics.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add maxItems/maxLength bounds to governance_agents in sync-accounts
  and account.json to match list-accounts (maxItems: 10 agents,
  maxItems: 20 categories, maxLength: 64 on category strings)
- Require HTTPS on governance agent URLs across all three schemas
- Add authorization scoping guidance: seller MUST verify agent owns
  referenced accounts before persisting governance
- Fix changeset field name (governance_agents → account_governance)
- Wrap JSON examples in CodeGroup

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Governance agent registration is now a dedicated task rather than a
side-effect on sync_accounts or list_accounts:

- Add register_governance request/response schemas with account-ref
  support (account_id or brand+operator)
- Remove governance_agents from sync-accounts-request.json
- Remove account_governance from list-accounts-request.json
- Add register_governance docs, nav entry, release notes
- Update sync_accounts and list_accounts docs

BREAKING CHANGE: governance_agents removed from sync_accounts request
and list_accounts request. Use register_governance instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
account.json is a read/response schema — governance agent credentials
are write-only and must not be echoed in list_accounts responses.
Remove authentication from account.json governance_agents items,
matching the pattern already used in register-governance-response.json.

Also fix schema links to use /schemas/latest/ (unreleased) and
tighten response governance_agents to additionalProperties: false.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bokelley bokelley changed the title feat: list_accounts accepts governance_agents from buyer feat!: register_governance task, move governance out of sync/list Mar 23, 2026
Update 5 docs that still referenced governance_agents on sync_accounts:
- governance/campaign/specification.mdx (setup example + multi-agent)
- governance/campaign/tasks/check_governance.mdx (committed binding)
- governance/campaign/index.mdx (seller-side overview)
- learning/tracks/platform.mdx (learning track bullet)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread docs/accounts/tasks/sync_governance.mdx
bokelley and others added 2 commits March 23, 2026 20:01
Aligns with existing protocol verb pattern: sync_accounts, sync_plans,
sync_creatives. "Sync" communicates replace semantics naturally.

Renames schemas, docs, nav entries, and all cross-references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace residual "registration" language with "sync/configuration",
update response status enum from "registered" to "synced", fix
breaking changes table heading.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bokelley bokelley changed the title feat!: register_governance task, move governance out of sync/list feat!: sync_governance task, remove governance from sync/list Mar 23, 2026
- Add sync_governance to accounts overview tasks table
- Add prerequisite note to campaign governance tasks index
- Add sync_governance to governance specialist module (demo list,
  prereq card, lab exercise)
- Add sync_governance to governance overview walkthrough (Step 0)
- Update publisher track seller-side governance bullet
- Fix stale sync_accounts reference in specification.mdx
- Add pattern constraint (^[a-z][a-z0-9_]*$) to governance category
  strings across all three schemas to prevent injection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit 0fb4210 into main Mar 23, 2026
13 checks passed
@bokelley bokelley deleted the bokelley/list-accounts-governance branch March 23, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

list_accounts should accept governance_agents from buyer

2 participants