feat: follow upstream domain → protocol rename in compliance pull#571
Merged
Conversation
Upstream AdCP renamed `domain` → `protocol` across the schema index,
compliance tarball layout, and generated types. The runner now reads
`compliance/cache/{version}/protocols/`, the index field is `protocols`,
and specialisms expose `protocol` as their parent.
Renamed public API surface: PROTOCOL_TO_DOMAIN → PROTOCOL_TO_PATH,
ComplianceIndexDomain → ComplianceIndexProtocol, BundleKind 'domain' →
'protocol'. Removed PROTOCOLS_WITHOUT_BASELINE (compliance_testing is
no longer in supported_protocols; it's a top-level capability block).
Older agents that still declare compliance_testing are handled silently.
New universal security_baseline storyboard targets runner-internal
tasks (protected_resource_metadata, oauth_auth_server_metadata,
assert_contribution) and $test_kit.* substitution placeholders. The
runner recognizes these explicitly and skips with
'missing_test_harness' rather than the misleading 'missing_tool' —
overall_passed reports false when every step skips. Full execution
support is a follow-up.
docs/llms.txt flow summaries omit runner-internal tasks so LLMs don't
mistake them for tools agents must expose.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream refreshed governance_context doc strings (added JWS profile guidance) after the initial sync in this branch. No structural changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI was running generate-wellknown-schemas and sync-version --auto-update as part of the schema validation gate; our local ci:schema-check doesn't include those. Regen picks up upstream brand.json additions (agent scopes, jwks_uri for governance signing) and bumps LIBRARY_VERSION to 5.1.0 to match package.json. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Third upstream schema refresh this session. Structural changes (governance): - rule_id → policy_id across feature result records - violations[] → features[] with richer shape (status, explanation, confidence, policy_id) - New exported types: PolicyEntry, PolicyCategory, PolicyEnforcementLevel, GovernanceDomain - GovernanceConfiguration.policy?: string → policies?: PolicyEntry[] No downstream consumers in this repo (verified via grep for .violations and .rule_id). Build + tests still green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Picks up content-standards `policy` → `policies[]` and bumps displayed library version to 5.1.0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bokelley
added a commit
that referenced
this pull request
Apr 18, 2026
Resolve conflicts with upstream changes since branch-point: - #567 security_baseline storyboard runner (adds undici dep) - #571 compliance domain → protocol rename - #580 property-list account migration - #586 brand/account invariant - #587 RFC 9421 request-signing profile Conflicts resolved: - docs/TYPE-SUMMARY.md, docs/llms.txt — generated, took main's version then re-ran generate-agent-docs so the idempotency section is preserved. - src/lib/types/{core,schemas,tools}.generated.ts — generated, took main's version then re-ran sync-schemas + generate-types. - src/lib/server/create-adcp-server.ts — merged the two `idempotency` property declarations on AdcpCapabilitiesConfig (both branches added one); kept the optional/with-docs form from this branch and merged the "defaults to 86400 per spec" intent from main. Kept the clampReplayTtl-guarded capability declaration that reads from the wired idempotency store's ttlSeconds. - src/lib/core/GovernanceMiddleware.ts — dropped the duplicate `idempotency_key: randomUUID()` that main added (this branch already mints the key via getOrMintOutcomeKey for the (checkId, outcome) tuple so retries share a key). - test/lib/governance-stub.test.js — dropped duplicate idempotency_key entries from three test calls (merge union of this branch's hardcoded keys + main's randomUUID calls); kept randomUUID which matches the spec pattern at runtime. - test/lib/storyboard-drift.test.js — trivial comment merge around the `replayed` envelope-path entry. - test/lib/zod-schemas.test.js — merged cleanly via git. Build: tsc --project tsconfig.lib.json clean. Tests: 3571 pass / 0 fail. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
domain→protocolin the AdCP schema index, tarball layout, and generated types. Runner now readscompliance/cache/{version}/protocols/, index exposesprotocols, specialisms carryprotocolas parent.PROTOCOL_TO_PATH(wasPROTOCOL_TO_DOMAIN),ComplianceIndexProtocol,BundleKind = 'protocol'.PROTOCOLS_WITHOUT_BASELINEremoved —compliance_testingis no longer insupported_protocols; older agents still declaring it are skipped silently.security_baselinestoryboard targets runner-internal synthetic tasks (protected_resource_metadata,oauth_auth_server_metadata,assert_contribution) and$test_kit.*placeholders. Runner recognises these and skips withskip_reason: 'missing_test_harness'instead of misleading'missing_tool'.overall_passedcorrectly reports false when every step skips. Full execution support is a follow-up.docs/llms.txtflow summaries now omit runner-internal tasks so LLMs don't mistake them for agent tools. CLIstoryboard listgroups labelled "Protocols".Test plan
npm run ci:quick— 3328/3328 passnpm run sync-schemaspulls latest tarball cleanlynpm run generate-types/generate-registry-typesregenerate in placenpm run generate-agent-docsregeneratesdocs/llms.txt(security storyboard appears, no misleading Flow)protocol-mapping-drift,storyboard-drift,storyboard-completeness) pass against the newprotocols/layoutsecurity_baselinereportsoverall_passed: falsewithskipped_count: 4(not silent pass)🤖 Generated with Claude Code