Skip to content

chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x - #7860

Merged
bokelley merged 11 commits into
3.2.xfrom
chore/3.2.x-register-release-line
Oct 1, 2026
Merged

bokelley merged 11 commits into
3.2.xfrom
chore/3.2.x-register-release-line

Conversation

@bokelley

@bokelley bokelley commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This is the 3.2.x side of #7859 (cut-minor-ga.md Phase 10, step 25). Workflow triggers for pushes and PRs on 3.2.x are read from 3.2.x's own copy of the workflows. This PR also brings the post-tag release hygiene that landed on main after v3.2.1 onto 3.2.x.

Commit What
8fb4cc329 + 49b681c88 Same diff as #7859. Adds 3.2.x to the release, CI, and fence branch lists, adds forward-merge-3.2.yml, and updates the immutability test. training-agent-storyboards.yml is left out (see #7859).
8e76141cf Cherry-pick of #7840. Drops the temporary GA storyboard-reuse step, so release.yml is byte-identical to main.
532b8ccea Cherry-pick of #7839. Tests stop assuming the 3.2 line has no stable release.
2564d32bb Cherry-pick of #7842, the v3.2.1 docs snapshot (dist/docs/3.2.1, docs.json default → 3.2).
ec7aa2a2a Cherry-pick of #7843, the GA banner.

After these commits, docs.json and dist/docs/3.2.1 here are identical to main.

Why the docs snapshot is urgent

tests/docs-nav-validation.test.cjs ("default navigation matches the stable release branch surface") compares main's default docs nav with origin/<default>.x. The test is designed to start comparing against 3.2.x once the GA flip makes 3.2 the default. That moment came when 3.2.x was cut at c32bd78c53. But the snapshot landed on main after the tag, so 3.2.x still defaults to 3.1. Until this PR merges, Canonical tests (2/4) fails on every main PR (seen on #7859).

The branch bootstrap guard now accepts only the exact v3.2.1 commit while 3.2.x still has the old docs default. After this PR advances the branch, route parity is enforced again. The guard passes locally against both the tag and this PR's updated docs surface.

What runs after merge

  • release.yml runs on 3.2.x. No changesets are pending and v3.2.1 is tagged, so it should do nothing.
  • forward-merge-3.2.yml runs. The tree should equal main for these paths, so it should skip or produce a trivial merge.

Test plan

  • npm run test:release-workflow passes on the registration commits.
  • docs.json, dist/docs/3.2.1, and the cherry-picked tests are byte-identical to origin/main.
  • npm run test:docs-nav passes 49/49 against the current 3.2.x tag.
  • npm run check:published-compliance passes with active npm tags.
  • CI green on the exact final head.

🤖 Generated with Claude Code

CI bootstrap fixes

This PR now also carries the active SDK publication-tag manifest from #7861 and the exact-tag docs-nav bootstrap guard. These fix the unrelated Build and static checks npm beta lookup and self-referential Canonical tests (2/4) failure that blocked the release branch PR. The storyboard trigger review finding is fixed in ee5c10c800; node tests/changeset-protocol-scope.test.cjs and the real-branch scope check pass.

bokelley and others added 6 commits October 1, 2026 14:30
Register the 3.2.x branch (created from the v3.2.1 Version Packages
merge c32bd78) with Release (push trigger, dispatch recovery case,
and the storyboard verification gates), the release-state and
changesets fences, Build Check, Changeset Check, CodeQL, Dependency
Review, apps/web check, and training-agent storyboards. Add
forward-merge-3.2.yml, a 3.2.x copy of forward-merge-3.1.yml, and cover
it in the release-workflow immutability test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…7840)

Reverts the temporary 3.2.1 GA reuse of the CI storyboard verification
(#7836) now that v3.2.1 is published. The proper replacement is tracked in

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a2f12a4)
…stration

training-agent-storyboards.yml is a protocol-scoped path (#7510), so
changing it requires a changeset. A CI branch-filter change should not
carry a release changeset, and policy forbids an empty one to satisfy
CI. Register 3.2.x there in a follow-up that already carries a real
3.2.x patch changeset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The 3.2.1 GA Version Packages cut makes two tests fail:

- mcp-schema-projection hardcoded surface_version '3.2.0'. Derive the
  expected active surface from package.json: x.y.0 while the line is in
  prerelease, the released package version once it is stable (3.2.1,
  since 3.2.0 is withdrawn).
- hosted-compliance-version used the real 3.2 line as its RC-only
  fixture. Move the #7356 guard to an isolated fixture tree with an
  RC-only 3.3 line, and assert the RC resolves so the throw is not
  vacuous.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 3dee3a4)
* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 30ec290)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit fe3bf93)
@bokelley bokelley changed the title chore(ci): register the 3.2.x maintenance line on 3.2.x chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x Oct 1, 2026
@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Oct 1, 2026

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Escalate to human review

Escalate — gated paths touched without an APPROVED review.

This PR registers the 3.2.x maintenance line across CI/release workflows and scripts: adding 3.2.x to branch lists, a faithful 3.1→3.2 copy of forward-merge-3.1.yml, lockstep immutability-test updates, and a clean cherry-pick removing the temporary storyboard-reuse step from release.yml. The reviewer found no Critical/High/Medium findings and the change reads as a mechanical, well-scoped CI/release-only update.

However, the PR modifies files under .github/workflows/**, which are under a deterministic hard approval gate (gated_paths: true), and review_decision is not APPROVED. Per decision rule row 2, the gate is not satisfied and the outcome must be escalate regardless of the clean diff. The non-blocking note (unchecked CI-green test-plan box; behavioral test:release-workflow gate is checked) does not affect the gate.

Escalation reasons

  • Modifies gated workflow files (.github/workflows/release.yml, forward-merge-3.2.yml added, plus apps-web-check / build-check / changeset-check / codeql / dependency-review / training-agent-storyboards) matching .github/workflows/**; human/CODEOWNERS review (review_decision: APPROVED) is required before merge.

Why human review

  • Touches gated path .github/workflows/** (release.yml and 7 other workflow files, incl. new forward-merge-3.2.yml) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard approval gate.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/apps-web-check.yml (modified) matches .github/workflows/**; .github/workflows/build-check.yml (modified) matches .github/workflows/**; .github/workflows/changeset-check.yml (modified) matches .github/workflows/**; .github/workflows/codeql.yml (modified) matches .github/workflows/**; .github/workflows/dependency-review.yml (modified) matches .github/workflows/**; .github/workflows/forward-merge-3.2.yml (added) matches .github/workflows/**; .github/workflows/release.yml (modified) matches .github/workflows/**; .github/workflows/training-agent-storyboards.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'unknown', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

Comment thread .github/workflows/release.yml Resolved

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Escalate to human review

Escalate — gated paths touched without an approving review.

This PR modifies and adds files under .github/workflows/**, which is a hard, path-based approval gate (gated_paths: true), and review_decision is not APPROVED. Per decision rule row 2, the outcome must be escalate until a human/CODEOWNERS review approves.

Escalation reasons

  • Touches gated CI workflow files under .github/workflows/** (modified: apps-web-check.yml, build-check.yml, changeset-check.yml, codeql.yml, dependency-review.yml, release.yml; added: forward-merge-3.2.yml). Human/CODEOWNERS review is required.

Medium findings (non-blocking, for the human reviewer)

  • release.yml — 3.2.x added to the release-push storyboard gate, but training-agent-storyboards.yml (the authoritative per-PR gate) was not updated, so storyboard-affecting PRs into 3.2.x skip the matrix until the release push.

The review itself is clean (one Medium, no critical/high), but the gated-path rule governs: this cannot auto-approve without an approving review.

Why human review

  • Touches gated CI workflow files under .github/workflows/** (6 modified, 1 added) and review_decision is not APPROVED — human/CODEOWNERS review required (decision rule row 2).
  • Non-blocking medium: release.yml adds 3.2.x to the release-push storyboard gate but training-agent-storyboards.yml (per-PR gate) was not updated — storyboard PRs into 3.2.x skip the matrix until release push.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/apps-web-check.yml (modified) matches .github/workflows/**; .github/workflows/build-check.yml (modified) matches .github/workflows/**; .github/workflows/changeset-check.yml (modified) matches .github/workflows/**; .github/workflows/codeql.yml (modified) matches .github/workflows/**; .github/workflows/dependency-review.yml (modified) matches .github/workflows/**; .github/workflows/forward-merge-3.2.yml (added) matches .github/workflows/**; .github/workflows/release.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'unknown', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Escalate to human review

Escalate — gated workflow paths touched without an APPROVED review decision.

This PR modifies/adds files under .github/workflows/**, a hard, non-overridable approval gate (gated_paths: true), and the current review_decision is unknown/none — not APPROVED. Decision table row 2 therefore fires: outcome must be escalate until a human/CODEOWNERS approval is recorded.

The reviewer found no Critical/High/Medium code-correctness issues. The delta since the prior review is 3.2.x GA release hygiene: an append-only dist/docs/3.2.1 snapshot (all added, immutability preserved — no in-place edits to existing semver artifacts), docs default flips, and schema-tools.ts + test cherry-picks verified byte-identical to already-merged origin/main. High-risk flag is driven only by (added) dist files plus one (modified) schema-tools.ts with no findings against it — none of this is escalation-worthy on its own.

The sole blocker is the unsatisfied hard approval gate. This is also consistent with the prior escalate decision, which stands because the gate remains unsatisfied.

Escalation reasons

  • Touches gated path .github/workflows/** (release.yml, codeql.yml, dependency-review.yml, build-check.yml, changeset-check.yml, apps-web-check.yml, and new forward-merge-3.2.yml) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard approval gate.

Why human review

  • Touches gated path .github/workflows/** (release.yml, codeql.yml, dependency-review.yml, build-check.yml, changeset-check.yml, apps-web-check.yml, and the new forward-merge-3.2.yml) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard, non-overridable approval gate.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/apps-web-check.yml (modified) matches .github/workflows/**; .github/workflows/build-check.yml (modified) matches .github/workflows/**; .github/workflows/changeset-check.yml (modified) matches .github/workflows/**; .github/workflows/codeql.yml (modified) matches .github/workflows/**; .github/workflows/dependency-review.yml (modified) matches .github/workflows/**; .github/workflows/forward-merge-3.2.yml (added) matches .github/workflows/**; .github/workflows/release.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'unknown', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Escalate to human review

Escalate — gated path touched without an APPROVED review.

This PR modifies/adds files under .github/workflows/**, a hard, non-overridable approval gate (gated_paths: true), while review_decision is unknown/none (not APPROVED). Per decision rule row 2, this must escalate until a human/CODEOWNERS approval is recorded.

Escalation reasons

  • Touches gated path .github/workflows/** — modified: apps-web-check.yml, build-check.yml, changeset-check.yml, codeql.yml, dependency-review.yml, release.yml; added: forward-merge-3.2.yml — and the current GitHub review decision is not APPROVED. Human/CODEOWNERS review is required to satisfy this gate.

Blocking findings

  • None. The reviewer's delta pass found no Critical/High/Medium findings; the changed files are sound (published-versions.json dist-tag cleanup is append-only/non-wire; docs-nav bootstrap guard is self-expiring and SHA-pinned). The escalation is purely the deterministic gated-path gate, not a code defect.

This sustains the prior escalate, which remains correct because the gated-path condition still holds; it will lift automatically once review_decision becomes APPROVED.

Why human review

  • Touches gated path .github/workflows/** (modified: apps-web-check.yml, build-check.yml, changeset-check.yml, codeql.yml, dependency-review.yml, release.yml; added: forward-merge-3.2.yml) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard, non-overridable approval gate.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/apps-web-check.yml (modified) matches .github/workflows/**; .github/workflows/build-check.yml (modified) matches .github/workflows/**; .github/workflows/changeset-check.yml (modified) matches .github/workflows/**; .github/workflows/codeql.yml (modified) matches .github/workflows/**; .github/workflows/dependency-review.yml (modified) matches .github/workflows/**; .github/workflows/forward-merge-3.2.yml (added) matches .github/workflows/**; .github/workflows/release.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'unknown', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Escalate to human review

Escalate — gated-path approval gate not satisfied.

This PR touches files under a hard, non-overridable approval gate (.github/workflows/**) and the current GitHub review_decision is unknown/none, not APPROVED. Per decision rule #2, the gate is NOT satisfied, so the outcome must be escalate (no blocking findings exist, so not request-changes).

Escalation reasons

  • Modifies/adds .github/workflows/** files (apps-web-check.yml, build-check.yml, changeset-check.yml, codeql.yml, dependency-review.yml, release.yml [modified]; forward-merge-3.2.yml [added]; training-agent-storyboards.yml [modified]) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard, non-overridable approval gate.

Review notes

  • Reviewer found no Critical/High/Medium findings. The storyboard-branch-registration carve-out in scripts/check-changeset-protocol-scope.cjs is narrow, fail-closed, and test-covered; the training-agent-storyboards.yml 3.2.x trigger addition is clean. No code concerns.
  • This is a subsequent pass following a prior escalate. The prior escalation was driven solely by the gated-path gate (no findings), and that gate still applies because no human/CODEOWNERS approval is recorded. The escalation persists on the deterministic gate, not on sticky row 6 (which requires fresh findings).

The gate lifts automatically once review_decision becomes APPROVED; the clean diff can then approve on re-run.

Why human review

  • Touches gated path .github/workflows/** (modified: apps-web-check.yml, build-check.yml, changeset-check.yml, codeql.yml, dependency-review.yml, release.yml, training-agent-storyboards.yml; added: forward-merge-3.2.yml) while review_decision is not APPROVED — human/CODEOWNERS approval required to satisfy the hard, non-overridable approval gate.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/apps-web-check.yml (modified) matches .github/workflows/**; .github/workflows/build-check.yml (modified) matches .github/workflows/**; .github/workflows/changeset-check.yml (modified) matches .github/workflows/**; .github/workflows/codeql.yml (modified) matches .github/workflows/**; .github/workflows/dependency-review.yml (modified) matches .github/workflows/**; .github/workflows/forward-merge-3.2.yml (added) matches .github/workflows/**; .github/workflows/release.yml (modified) matches .github/workflows/**; .github/workflows/training-agent-storyboards.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'unknown', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@bokelley
bokelley merged commit 3c16456 into 3.2.x Oct 1, 2026
48 checks passed
@bokelley
bokelley deleted the chore/3.2.x-register-release-line branch October 1, 2026 18:49
bokelley added a commit that referenced this pull request Oct 1, 2026
* docs(release): backport the 3.2.1 docs snapshot and GA default to 3.2.x (#7868)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit fe3bf93)

* test(docs): treat the stable branch as its own docs surface in CI

On the stable maintenance branch (or a PR into it), comparing navigation
against the branch's own pre-change tip rejects every navigation change,
including the GA flip that makes it the stable surface.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x (#7860)

* chore(ci): add 3.2.x maintenance line to release and CI workflows

Register the 3.2.x branch (created from the v3.2.1 Version Packages
merge c32bd78) with Release (push trigger, dispatch recovery case,
and the storyboard verification gates), the release-state and
changesets fences, Build Check, Changeset Check, CodeQL, Dependency
Review, apps/web check, and training-agent storyboards. Add
forward-merge-3.2.yml, a 3.2.x copy of forward-merge-3.1.yml, and cover
it in the release-workflow immutability test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* revert(release): restore the full storyboard gate in verify-release (#7840)

Reverts the temporary 3.2.1 GA reuse of the CI storyboard verification
(#7836) now that v3.2.1 is published. The proper replacement is tracked in

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a2f12a4)

* chore(ci): leave training-agent-storyboards.yml out of the 3.2.x registration

training-agent-storyboards.yml is a protocol-scoped path (#7510), so
changing it requires a changeset. A CI branch-filter change should not
carry a release changeset, and policy forbids an empty one to satisfy
CI. Register 3.2.x there in a follow-up that already carries a real
3.2.x patch changeset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test: stop assuming the 3.2 line has no stable release (#7839)

The 3.2.1 GA Version Packages cut makes two tests fail:

- mcp-schema-projection hardcoded surface_version '3.2.0'. Derive the
  expected active surface from package.json: x.y.0 while the line is in
  prerelease, the released package version once it is stable (3.2.1,
  since 3.2.0 is withdrawn).
- hosted-compliance-version used the real 3.2 line as its RC-only
  fixture. Move the #7356 guard to an isolated fixture tree with an
  RC-only 3.3 line, and assert the RC resolves so the throw is not
  vacuous.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 3dee3a4)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit fe3bf93)

* fix(compliance): track active SDK publication tags

* test(docs): allow exact 3.2 release branch bootstrap

* test(docs): pin GA branch bootstrap commit for shallow CI

* ci(release): gate 3.2 storyboards before maintenance merges

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
bokelley added a commit that referenced this pull request Oct 4, 2026
* docs(release): backport the 3.2.1 docs snapshot and GA default to 3.2.x (#7868)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit fe3bf93)

* test(docs): treat the stable branch as its own docs surface in CI

On the stable maintenance branch (or a PR into it), comparing navigation
against the branch's own pre-change tip rejects every navigation change,
including the GA flip that makes it the stable surface.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x (#7860)

* chore(ci): add 3.2.x maintenance line to release and CI workflows

Register the 3.2.x branch (created from the v3.2.1 Version Packages
merge c32bd78) with Release (push trigger, dispatch recovery case,
and the storyboard verification gates), the release-state and
changesets fences, Build Check, Changeset Check, CodeQL, Dependency
Review, apps/web check, and training-agent storyboards. Add
forward-merge-3.2.yml, a 3.2.x copy of forward-merge-3.1.yml, and cover
it in the release-workflow immutability test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* revert(release): restore the full storyboard gate in verify-release (#7840)

Reverts the temporary 3.2.1 GA reuse of the CI storyboard verification
(#7836) now that v3.2.1 is published. The proper replacement is tracked in

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a2f12a4)

* chore(ci): leave training-agent-storyboards.yml out of the 3.2.x registration

training-agent-storyboards.yml is a protocol-scoped path (#7510), so
changing it requires a changeset. A CI branch-filter change should not
carry a release changeset, and policy forbids an empty one to satisfy
CI. Register 3.2.x there in a follow-up that already carries a real
3.2.x patch changeset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test: stop assuming the 3.2 line has no stable release (#7839)

The 3.2.1 GA Version Packages cut makes two tests fail:

- mcp-schema-projection hardcoded surface_version '3.2.0'. Derive the
  expected active surface from package.json: x.y.0 while the line is in
  prerelease, the released package version once it is stable (3.2.1,
  since 3.2.0 is withdrawn).
- hosted-compliance-version used the real 3.2 line as its RC-only
  fixture. Move the #7356 guard to an isolated fixture tree with an
  RC-only 3.3 line, and assert the RC resolves so the throw is not
  vacuous.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 3dee3a4)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit fe3bf93)

* fix(compliance): track active SDK publication tags

* test(docs): allow exact 3.2 release branch bootstrap

* test(docs): pin GA branch bootstrap commit for shallow CI

* ci(release): gate 3.2 storyboards before maintenance merges

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>

* docs(accounts): clarify account references before provisioning (#7871) (#7884)

* docs(accounts): clarify account references before provisioning

Spells out what the error table and cache_scope contract already
required. A buyer-declared natural key resolves only after provisioning.
An unresolved account that the seller doesn't lazily provision returns
ACCOUNT_NOT_FOUND even where account is optional. Buyers omit
unprovisioned keys and send brand. Account errors are not seller-health
signals. An echoed account_id is a seller handle. ACCOUNT_NOT_FOUND
recovery is now consistent.



* docs(signals): note unresolved account behavior on get_signals



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: fix contradictions between trust docs and the spec (#7881) (#7890)

* docs: fix contradictions between trust docs and the spec

- verification overview: anchor on the agent URL, not response signing
- relationship_trust values and house_domain instead of parent_house
- direct, delegated, and ad_network all pair with delegation_type
- missing authorized_operators listing means reject or manual review
- agents[] examples instead of deprecated brand_agent/rights_agent
- schema spec links point to by-layer/L1/security



* docs: address review on trust docs consistency

- name verify_brand_claim(s) as the only signed response payloads
- give the pinned webhook key adcp_use and key_ops
- one URL per agent role; scope the Brand Agent resolution step
- fix leftover glossary, brand-agent checklist, and schema example



* docs: keep the pin example to schema-declared key fields



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(media-buy): backport opportunity usage advisory to 3.2 (#7912)

* Version Packages (#7888)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* test(compliance): cover the released 3.2.2 hosted bundle

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bokelley added a commit that referenced this pull request Oct 7, 2026
* docs(release): backport the 3.2.1 docs snapshot and GA default to 3.2.x (#7868)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit fe3bf93)

* test(docs): treat the stable branch as its own docs surface in CI

On the stable maintenance branch (or a PR into it), comparing navigation
against the branch's own pre-change tip rejects every navigation change,
including the GA flip that makes it the stable surface.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x (#7860)

* chore(ci): add 3.2.x maintenance line to release and CI workflows

Register the 3.2.x branch (created from the v3.2.1 Version Packages
merge c32bd78) with Release (push trigger, dispatch recovery case,
and the storyboard verification gates), the release-state and
changesets fences, Build Check, Changeset Check, CodeQL, Dependency
Review, apps/web check, and training-agent storyboards. Add
forward-merge-3.2.yml, a 3.2.x copy of forward-merge-3.1.yml, and cover
it in the release-workflow immutability test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* revert(release): restore the full storyboard gate in verify-release (#7840)

Reverts the temporary 3.2.1 GA reuse of the CI storyboard verification
(#7836) now that v3.2.1 is published. The proper replacement is tracked in

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a2f12a4)

* chore(ci): leave training-agent-storyboards.yml out of the 3.2.x registration

training-agent-storyboards.yml is a protocol-scoped path (#7510), so
changing it requires a changeset. A CI branch-filter change should not
carry a release changeset, and policy forbids an empty one to satisfy
CI. Register 3.2.x there in a follow-up that already carries a real
3.2.x patch changeset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test: stop assuming the 3.2 line has no stable release (#7839)

The 3.2.1 GA Version Packages cut makes two tests fail:

- mcp-schema-projection hardcoded surface_version '3.2.0'. Derive the
  expected active surface from package.json: x.y.0 while the line is in
  prerelease, the released package version once it is stable (3.2.1,
  since 3.2.0 is withdrawn).
- hosted-compliance-version used the real 3.2 line as its RC-only
  fixture. Move the #7356 guard to an isolated fixture tree with an
  RC-only 3.3 line, and assert the RC resolves so the throw is not
  vacuous.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 3dee3a4)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit fe3bf93)

* fix(compliance): track active SDK publication tags

* test(docs): allow exact 3.2 release branch bootstrap

* test(docs): pin GA branch bootstrap commit for shallow CI

* ci(release): gate 3.2 storyboards before maintenance merges

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>

* docs(accounts): clarify account references before provisioning (#7871) (#7884)

* docs(accounts): clarify account references before provisioning

Spells out what the error table and cache_scope contract already
required. A buyer-declared natural key resolves only after provisioning.
An unresolved account that the seller doesn't lazily provision returns
ACCOUNT_NOT_FOUND even where account is optional. Buyers omit
unprovisioned keys and send brand. Account errors are not seller-health
signals. An echoed account_id is a seller handle. ACCOUNT_NOT_FOUND
recovery is now consistent.



* docs(signals): note unresolved account behavior on get_signals



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: fix contradictions between trust docs and the spec (#7881) (#7890)

* docs: fix contradictions between trust docs and the spec

- verification overview: anchor on the agent URL, not response signing
- relationship_trust values and house_domain instead of parent_house
- direct, delegated, and ad_network all pair with delegation_type
- missing authorized_operators listing means reject or manual review
- agents[] examples instead of deprecated brand_agent/rights_agent
- schema spec links point to by-layer/L1/security



* docs: address review on trust docs consistency

- name verify_brand_claim(s) as the only signed response payloads
- give the pinned webhook key adcp_use and key_ops
- one URL per agent role; scope the Brand Agent resolution step
- fix leftover glossary, brand-agent checklist, and schema example



* docs: keep the pin example to schema-declared key fields



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(media-buy): backport opportunity usage advisory to 3.2 (#7912)

* Version Packages (#7888)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(release): backport conformance corrections for 3.2.3 (#7941)

* fix(release): backport conformance corrections for 3.2.3

* fix(training-agent): backport scoped guaranteed task completion

* fix(compliance): backport validate_input capability gates

* fix(compliance): backport evaluator feature membership

* Version Packages (#7975)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(signing): backport A2A required_for resolution security errata to 3.2.x (#7981)

* fix(signing): backport A2A required_for resolution security errata to 3.2.x

Backport of #7945 (GHSA-2pm6-6mc8-8xcm, #7820) to 3.2.x: required_for /
supported_for / warn_for match the operation resolved from the request, so they
apply over A2A, with fail-closed resolution and 33 tiered conformance vectors.
Excludes the 3.3-only request_signing.operation_sources marker.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(signing): tag the pre-check ordering vector as contradiction-resolution

Rule 4 (resolution before signature-header checks) is a core clause, so its only
vector (negative/018) belongs in the MUST tier.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* chore(release): restore unpublished 3.2.3 for security errata (#7980)

* Version Packages (#7994)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* test(release): expect the registered 3.2.3 hosted target

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bokelley added a commit that referenced this pull request Oct 13, 2026
* docs(release): backport the 3.2.1 docs snapshot and GA default to 3.2.x (#7868)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit fe3bf93)

* test(docs): treat the stable branch as its own docs surface in CI

On the stable maintenance branch (or a PR into it), comparing navigation
against the branch's own pre-change tip rejects every navigation change,
including the GA flip that makes it the stable surface.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(release): register 3.2.x and carry post-tag GA hygiene onto 3.2.x (#7860)

* chore(ci): add 3.2.x maintenance line to release and CI workflows

Register the 3.2.x branch (created from the v3.2.1 Version Packages
merge c32bd78) with Release (push trigger, dispatch recovery case,
and the storyboard verification gates), the release-state and
changesets fences, Build Check, Changeset Check, CodeQL, Dependency
Review, apps/web check, and training-agent storyboards. Add
forward-merge-3.2.yml, a 3.2.x copy of forward-merge-3.1.yml, and cover
it in the release-workflow immutability test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* revert(release): restore the full storyboard gate in verify-release (#7840)

Reverts the temporary 3.2.1 GA reuse of the CI storyboard verification
(#7836) now that v3.2.1 is published. The proper replacement is tracked in

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a2f12a4)

* chore(ci): leave training-agent-storyboards.yml out of the 3.2.x registration

training-agent-storyboards.yml is a protocol-scoped path (#7510), so
changing it requires a changeset. A CI branch-filter change should not
carry a release changeset, and policy forbids an empty one to satisfy
CI. Register 3.2.x there in a follow-up that already carries a real
3.2.x patch changeset.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test: stop assuming the 3.2 line has no stable release (#7839)

The 3.2.1 GA Version Packages cut makes two tests fail:

- mcp-schema-projection hardcoded surface_version '3.2.0'. Derive the
  expected active surface from package.json: x.y.0 while the line is in
  prerelease, the released package version once it is stable (3.2.1,
  since 3.2.0 is withdrawn).
- hosted-compliance-version used the real 3.2 line as its RC-only
  fixture. Move the #7356 guard to an isolated fixture tree with an
  RC-only 3.3 line, and assert the RC resolves so the throw is not
  vacuous.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 3dee3a4)

* chore: snapshot docs for v3.2.1 (#7842)

* chore: snapshot docs for v3.2.1

* test: derive docs version selectors from docs.json after the 3.2.1 snapshot

The v3.2.1 docs snapshot makes 3.2 the default and retires the 3.2-rc and
3.2-beta selectors, breaking tests pinned to the pre-GA navigation.

- audio-radio-formats: check the radio guide in every 3.2 navigation in
  docs.json instead of requiring a 3.2-beta entry.
- docs-indexer: resolve the default and newest 3.2 selectors at run time;
  pin the default to docs.json's default stable snapshot; keep the
  3.1/3.0/2.5 no-leak assertions; accept either 3.2 format registry guide.
- addie/schema-tools: build the selector matrix from DOCS_SCHEMA_RELEASES
  and DEFAULT_SCHEMA_VERSION; map pinned 3.2 prerelease $schema URLs to
  the live channel or, after GA, the stable 3.2 snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Brian O'Kelley <bokelley@scope3.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit 30ec290)

* docs: align the GA banner with the 3.2 message (#7843)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

(cherry picked from commit fe3bf93)

* fix(compliance): track active SDK publication tags

* test(docs): allow exact 3.2 release branch bootstrap

* test(docs): pin GA branch bootstrap commit for shallow CI

* ci(release): gate 3.2 storyboards before maintenance merges

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>

* docs(accounts): clarify account references before provisioning (#7871) (#7884)

* docs(accounts): clarify account references before provisioning

Spells out what the error table and cache_scope contract already
required. A buyer-declared natural key resolves only after provisioning.
An unresolved account that the seller doesn't lazily provision returns
ACCOUNT_NOT_FOUND even where account is optional. Buyers omit
unprovisioned keys and send brand. Account errors are not seller-health
signals. An echoed account_id is a seller handle. ACCOUNT_NOT_FOUND
recovery is now consistent.



* docs(signals): note unresolved account behavior on get_signals



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: fix contradictions between trust docs and the spec (#7881) (#7890)

* docs: fix contradictions between trust docs and the spec

- verification overview: anchor on the agent URL, not response signing
- relationship_trust values and house_domain instead of parent_house
- direct, delegated, and ad_network all pair with delegation_type
- missing authorized_operators listing means reject or manual review
- agents[] examples instead of deprecated brand_agent/rights_agent
- schema spec links point to by-layer/L1/security



* docs: address review on trust docs consistency

- name verify_brand_claim(s) as the only signed response payloads
- give the pinned webhook key adcp_use and key_ops
- one URL per agent role; scope the Brand Agent resolution step
- fix leftover glossary, brand-agent checklist, and schema example



* docs: keep the pin example to schema-declared key fields



---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(media-buy): backport opportunity usage advisory to 3.2 (#7912)

* Version Packages (#7888)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(release): backport conformance corrections for 3.2.3 (#7941)

* fix(release): backport conformance corrections for 3.2.3

* fix(training-agent): backport scoped guaranteed task completion

* fix(compliance): backport validate_input capability gates

* fix(compliance): backport evaluator feature membership

* Version Packages (#7975)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(signing): backport A2A required_for resolution security errata to 3.2.x (#7981)

* fix(signing): backport A2A required_for resolution security errata to 3.2.x

Backport of #7945 (GHSA-2pm6-6mc8-8xcm, #7820) to 3.2.x: required_for /
supported_for / warn_for match the operation resolved from the request, so they
apply over A2A, with fail-closed resolution and 33 tiered conformance vectors.
Excludes the 3.3-only request_signing.operation_sources marker.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(signing): tag the pre-check ordering vector as contradiction-resolution

Rule 4 (resolution before signature-header checks) is a core clause, so its only
vector (negative/018) belongs in the MUST tier.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* chore(release): restore unpublished 3.2.3 for security errata (#7980)

* Version Packages (#7994)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore(docs): sync 3.2.3 maintenance snapshot navigation (#8000)

* fix(release): backport reporting and conformance fixes for 3.2.4 (#8139)

* fix(release): backport reporting and conformance fixes for 3.2.4

* test(ledger): backport synchronized recovery fixtures

* docs(release): finalize the 3.2.4 maintenance narrative

* Version Packages

* test(release): pin the 3.2.4 hosted compliance bundle and align the 026 vector note

Load the explicitly pinned 3.2.4 bundle with the hosted SDK alongside the
other 3.2 pins, so the new alias target is exercised end to end. The
non-ASCII host vector's comment now records that the correction shipped in
3.2.4 and is carried on 3.3.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(release): verify artifact links through file descriptors

---------

Co-authored-by: aao-release-bot[bot] <280565558+aao-release-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ladon/needs-human-review Ladon has escalated this PR for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant