Repository navigation
chore(compliance): integrate published 3.1.32 records on 3.2.x - #8825
Conversation
Publishing the 3.1.32 SDK bundle advanced the adcp-3.1 npm tag, so the 3.2.x publication-manifest check has failed Build Check since a4af1a1, including the v3.2.9 merge ee0ca50. Integrate only the published 3.1.32 records, following the 3.1.30 integration: the immutable compliance bundle, schemas and signed protocol tarball, taken unchanged from v3.1.32 (tree hashes match main), the manifest registration, regenerated root schema discovery, and the release notes. The 3.1 hosted alias floor advances to 3.1.32, 3.1.30 stays pinned as an explicit target, and the current-bundle tests follow main's alias-relative form because 3.1.32 adds three storyboards. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — clean forward-merge of verbatim 3.1.32 release records onto 3.2.x.
The reviewer verified release-artifact immutability: the only modified dist/ file is dist/schemas/index.json (mutable discovery output); all other dist/ changes are pure additions under 3.1.32 paths — no existing semver artifact modified or deleted. The 3.1.32 compliance and schema trees hash-match the v3.1.32 tag byte-for-byte, and the dist/protocol/3.1.32.* tuple is identical. index.json and published-versions.json take minimal, consistent additions with no entries dropped. No static/schemas/source/** change, so no spec drift, oneOf regression, or breaking-class change; changeset absence is correct for already-released records.
Gate checks:
- No no-auto-approve team match.
- gated_paths: false.
- high_risk is true but all high_risk_reasons entries are (added) new files — normal release-record scaffolding, not escalation-worthy. No (deleted)/(modified) sensitive entries with findings.
- No critical/high/medium findings.
Rows 1–8 do not fire; falls through to row 9 → approve.
This reverts commit ee0ca50, reversing changes made to a4af1a1. The 3.2.9 Version Packages merge is quarantined: its reviewed head 4eac700 is based on 241e5eb, but the merge's first parent is a4af1a1, and the trees differ (adcontextprotocol#7926). Release run 42545984083 stopped at "Require human approval for committed release artifacts" before any tag, GitHub Release or R2 upload. While 3.2.x commits an untagged 3.2.9, every later push fails the stranded-release fence and Changesets cannot regenerate the release PR. Reverting returns 3.2.x to package 3.2.8 with the two pending changesets, so Changesets regenerates 3.2.9 from the current branch for fresh final-head maintainer review. v3.2.9 was never tagged, so check-immutable-release-artifacts.cjs allows deleting its dist artifacts. dist/schemas/index.json is regenerated with buildRootSchemaDiscovery(): 3.1.32 listed (adcontextprotocol#8825), 3.2.9 removed, aliases back to 3.2.8. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forward-merges the published 3.2.9 release (v3.2.9 = 39e9353) and every 3.2.x maintenance commit before it. Supersedes the a4af1a1 forward-merge in adcontextprotocol#8820, which is an ancestor of v3.2.9. Release records: - dist/compliance/3.2.9, dist/schemas/3.2.9 and the signed dist/protocol/3.2.9.tgz tuple are taken from v3.2.9 unchanged. - dist/schemas/index.json and latest.json are regenerated (forward-merge-release-records.cjs schema-discovery). - CHANGELOG.md is main's file plus the 3.2.9 block. - package.json, package-lock.json, static/schemas/source/index.json: main's. - static/compliance/published-versions.json: main's. 3.2.x's only extra entry is 3.2.9, which is registered in a separate commit after qualification. Content conflicts, all resolved to main's file: - docs/media-buy/advanced-topics/targeting.mdx: the 3.2.x side is exactly adcontextprotocol#7926, 3.2-only optional gender agreement docs; main carries core gender targeting (adcontextprotocol#7925) instead. - static/compliance/source/universal/error-compliance-signals.yaml: main's is the adcontextprotocol#8581 backport content plus main-only adcontextprotocol#8601 (version 1.0.2 and the signals capability gate). - tests/sdk-runner-capability-gates.test.cjs: the only 3.2.x-only test is the SDK 14 variant of main's "signals discovery error bundle passes" test. - server/tests/unit/storyboards.test.ts: adcontextprotocol#8825's 3.2.x-shaped 3.1.32 integration tests; main already integrated 3.1.32 and 3.1.33 with its own test shape, and the non-conflicting adcontextprotocol#8825 hunk is already on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Publishing @adcp/sdk 16.7.1 (latest / adcp-3.2, 2026-11-12 18:07Z) shipped the 3.1.33 compliance bundle, so the 3.2.x publication-manifest check has failed Build Check since then, including the 3.2.11 backports. Integrate only the published 3.1.33 records, following #8825 (3.1.32): the immutable compliance bundle, schemas and signed protocol tarball, taken unchanged from v3.1.33 (tree hashes match main), the manifest registration, regenerated root schema discovery, and the release notes. The 3.1 hosted alias floor advances to 3.1.33 and 3.1.32 stays pinned as an explicit target. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
What
Integrate the published 3.1.32 release records on
3.2.x, so Build Check goes green again.Since
a4af1a1dc, including the v3.2.9 Version Packages mergeee0ca5077(run 42545984063),check:published-compliancehas failed with: "Published @adcp/sdk bundles are missing from static/compliance/published-versions.json: 3.1.32." Publishing the 3.1.32 SDK bundle advanced theadcp-3.1npm tag. That is the only failing step. The TypeScript Build failure is the shard aggregator.How
This follows the 3.1.30 integration in #8570 (
2bf592eaff).dist/compliance/3.1.32,dist/schemas/3.1.32and the signeddist/protocol/3.1.32.tgztuple are checked out unchanged fromv3.1.32. Their tree hashes matchorigin/main. No existing release artifact is touched.static/compliance/published-versions.jsonregisters3.1.32.dist/schemas/index.jsonis regenerated with the repo's ownbuildRootSchemaDiscovery():v3.1andlatest_by_minor["3.1"]move to 3.1.32, and a versions entry is added.latest.jsonis unchanged.CHANGELOG.md.server/tests/unit/storyboards.test.ts):Manifest drift, compared with main: main also registers
3.0.27,3.0.28,3.1.27,3.1.31and the 3.3 betas. 3.2.x has never carried every maintenance release, and the check needs only what the npm tags package. Only 3.1.32 is missing by that measure, so only it is integrated.3.2.9is on 3.2.x and not yet on main; that is the pending forward-merge.No gated paths (
.github/workflows/**,static/schemas/source/**). No changeset: these are already-released records. Theforward-merge/branch prefix matches #8570.Merge hold
The v3.2.9 Release run 42545984083 is still in progress on
ee0ca5077. Release fences every publication phase on the branch, so this PR must not land on3.2.xuntil that run finishes. Auto-merge is off for that reason.Verification
node scripts/check-published-compliance-versions.cjs: "Published compliance manifest is current for npm tags: adcp-3.0, adcp-3.1, adcp-3.2, latest, rc."node tests/immutable-release-artifacts.test.cjspasses.storyboards.test.tsandhosted-compliance-version.test.ts: 72/72.compliance-validate-input-gateson a loaded VM, and that file passes alone (12/12). I committed withHUSKY=0because of it.ADCP_SKIP_STORYBOARD_MATRIX=1). No compliance source changed, and CI's matrix is authoritative.🤖 Generated with Claude Code