Skip to content

chore(release): forward-merge 3.2.x branch registration - #7872

Merged
bokelley merged 3 commits into
mainfrom
forward-merge/3.2.x
Oct 1, 2026
Merged

bokelley merged 3 commits into
mainfrom
forward-merge/3.2.x

Conversation

@bokelley

@bokelley bokelley commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Forward-merge 3.2.x after #7860 into main. The resulting tree change is limited to the storyboard workflow's 3.2.x PR/push registration, its exact branch-registration changeset exemption and tests, and the stable docs navigation branch reference.

The first automatic forward-merge run encountered a release.yml content conflict against an older main tip. PR #7859 landed that workflow change on main during the run. Replaying the merge on the current main tip resolved cleanly, with no release.yml tree change. A later automatic run generated the same tree and force-updated this PR branch to its merge commit. The reviewer workflow rejected the bot-initiated event, so the identical manually validated merge commit was restored under the maintainer identity for a normal review run.

Validation

  • npm run test:docs-nav — 49 passed
  • node --test tests/changeset-protocol-scope.test.cjs — passed
  • Local precommit suite, including 1,088 unit tests and typecheck — passed

The PR's GitHub checks are the merge gate.

bokelley and others added 3 commits October 1, 2026 08:59
….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>
….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>
@aao-release-bot
aao-release-bot Bot force-pushed the forward-merge/3.2.x branch from 67a78b3 to f4620e3 Compare October 1, 2026 18:55

@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 requires human/CODEOWNERS approval.

This PR modifies .github/workflows/training-agent-storyboards.yml, which matches the hard approval gate glob .github/workflows/** (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so the gate is not satisfied and auto-approval is barred (decision table row 2).

The change itself is clean: the reviewer found no blocking or Medium findings. It adds the 3.2.x maintenance line branch registration with a tightly-scoped, fail-closed changeset exemption (full-file replaceAll-equality guard, short-circuited status check), supporting tests, and a stable-docs-ref fix for maintenance branches — all correct and well-tested. Once a human/CODEOWNERS approval lands (review_decision: APPROVED), this would fall through to an approve.

Escalation reasons

  • .github/workflows/training-agent-storyboards.yml is under a hard approval gate (.github/workflows/**); review_decision is REVIEW_REQUIRED. Human/CODEOWNERS review required before merge.

Why human review

  • .github/workflows/training-agent-storyboards.yml is under a hard approval gate (.github/workflows/**) and review_decision is REVIEW_REQUIRED — human/CODEOWNERS approval required before merge.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/training-agent-storyboards.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'REVIEW_REQUIRED', 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 added the ladon/needs-human-review Ladon has escalated this PR for human review. label Oct 1, 2026
@bokelley
bokelley force-pushed the forward-merge/3.2.x branch from f4620e3 to 67a78b3 Compare October 1, 2026 19:00

@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 — hard approval gate on .github/workflows/** not yet satisfied.

This PR modifies .github/workflows/training-agent-storyboards.yml, which matches a gated path (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so per decision-table row 2 the outcome must be escalate. The diff itself is clean — the reviewer found no Critical/High/Medium findings (clean forward-merge of 3.2.x branch registration; the changeset-scope exemption is tightly keyed and fails closed; tests cover the relevant cases) — but a clean diff cannot lift a hard, non-overridable gate. Human/CODEOWNERS approval is required before merge.

Escalation reasons

  • .github/workflows/training-agent-storyboards.yml (modified) is under a hard approval gate (.github/workflows/**) and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS review required before merge.

The gate lifts the moment a human/CODEOWNERS approval is recorded; at that point the clean diff falls through to approve.

Why human review

  • .github/workflows/training-agent-storyboards.yml (modified) matches the hard approval gate .github/workflows/** and review_decision is REVIEW_REQUIRED, not APPROVED — human/CODEOWNERS approval required before merge.
  • This PR touches a path under a hard, non-overridable approval gate (.github/workflows/training-agent-storyboards.yml (modified) matches .github/workflows/**) and the current GitHub review decision is 'REVIEW_REQUIRED', 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 87ea058 into main Oct 1, 2026
64 of 103 checks passed
@bokelley
bokelley deleted the forward-merge/3.2.x branch October 1, 2026 19:36
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