Skip to content

Revert accidental v3.2.0 release commit#5769

Merged
bokelley merged 1 commit into
mainfrom
revert-accidental-v3.2.0
Jun 30, 2026
Merged

Revert accidental v3.2.0 release commit#5769
bokelley merged 1 commit into
mainfrom
revert-accidental-v3.2.0

Conversation

@bokelley

@bokelley bokelley commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Reverts the accidental Version Packages commit for v3.2.0.

This puts repository metadata and generated release artifacts back to 3.1.0 on main while preserving the earlier merged fixes and dependency PRs.

Root Cause

The release PR was merged even though it cut 3.2.0; the intended release path is 3.1.1.

Validation

  • npm run verify-version-sync
  • npm run test:dist-schema-version-ids
  • npm run test:immutable-release-artifacts
  • pre-push current compliance storyboard matrix
  • pre-push 3.0 compatibility storyboard matrix

Follow-Up

The accidental GitHub release and tag for v3.2.0 have been deleted. CDN/R2 versioned artifacts for 3.2.0 still need separate cleanup or replacement with the intended 3.1.1 release path.

aao-release-bot[bot]
aao-release-bot Bot previously approved these changes Jun 30, 2026

@aao-release-bot aao-release-bot 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.

Mechanically correct revert of the accidental 3.2.0 Version Packages commit. This is exactly the inverse of changeset version — restore the drained queue, undo CHANGELOG, walk the version strings back — which is the right shape for un-cutting a release on main.

Things I checked

  • Version strings reverted everywhere. 3.2.03.1.0 in package.json:3, package-lock.json:3 and :8, static/schemas/source/index.json:7 (adcp_version) and :2019 (published_version), and CHANGELOG's top section removed. No stray 3.2.0 left in any metadata surface.
  • Generated artifacts fully removed. All three trees gone — 286 files under dist/compliance/3.2.0, 4 under dist/protocol/3.2.0, 758 under dist/schemas/3.2.0. dist/schemas/index.json and latest.json discovery pointers walk back to 3.1.0. No half-built 3.2.0 surface left advertising content under a reverted pointer.
  • Drained queue restored 1:1. 20 changesets re-added with zero collisions. The 10 bump-carrying ones map exactly to the 10 commits the 3.2.0 CHANGELOG consumed (2 minor: c26cf88, 96a8c1d; 8 patch). The other 10 are empty no-op changesets — correctly absent from the consumed section but part of the drained queue.
  • index.json revert is not spec drift. ad-tech-protocol-expert: sound. adcp_version/published_version are build/registry metadata, not on-the-wire fields — verify-version-sync.cjs requires them to track package.json, so leaving them at 3.2.0 would have been the drift. No oneOf/enum/type/$ref change touches source schemas. Wire negotiation uses release-precision adcp_version on core/version-envelope.json, derived from the served path — the registry string never appears on the wire directly.
  • No changeset needed. This restores the versioning surface rather than bypassing it; adding a new changeset here would be wrong (it would force another bump). Correct exception, not a block.

Follow-ups (non-blocking — file as issues)

  • The restored queue recomputes to 3.2.0, not the 3.1.1 the PR body names. .changeset/registry-feed-stream.md and .changeset/tmp-tmpx-providers.md are both minor. The next changeset version takes the highest bump — minor — so 3.1.03.2.0 again, landing you back where you started. Reaching 3.1.1 requires holding or downgrading those two minor changesets before re-release; two minor entries cannot ride a patch. The revert is still correct as written — this is the next operator's problem, not a defect here — but reconcile it before re-cutting.
  • Per the PR's own note: the published 3.2.0 git tag and CDN/R2 artifacts are immutable. This revert removes 3.2.0 from main and the registry; it cannot un-publish what external consumers already fetched. Track the CDN cleanup separately.

Approving on the strength of a complete, internally-consistent revert plus two clean expert verdicts. The 3.1.1-vs-3.2.0 reconciliation is the one thing to settle before the next release PR.

@mintlify

mintlify Bot commented Jun 30, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
adcp 🟢 Ready View Preview Jun 30, 2026, 1:06 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

aao-release-bot[bot]
aao-release-bot Bot previously approved these changes Jun 30, 2026

@aao-release-bot aao-release-bot 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.

Clean revert of an accidental release. Delist-don't-delete is the right shape: the v3.2.0 tag exists, so the immutable-artifact rule (tests/immutable-release-artifacts.test.cjs:79-84 — deletion allowed only for untagged aborted releases) forbids removing dist/schemas/3.2.0/; you delist it from discovery and leave the artifact on disk. Correct.

Things I checked

  • Version coherence at 3.1.0. package.json:3, both package-lock.json fields (top-level + packages[""]), static/schemas/source/index.json adcp_version and published_version all land at 3.1.0. Satisfies every rule in verify-version-sync.cjs (lock==package, alias>=published, registry>=package). No rule trips.
  • No dangling 3.2.0 pointer. dist/schemas/index.json de-references every group — latest/latest_stable, alias v3 (and v3.2 removed), latest_by_major["3"], the latest_by_minor 3.2 entry, and the versions[] 3.2.0 object. dist/schemas/latest.json repoints latest/latest_stable/path/index. The only surviving 3.2.0 is the orphaned artifact dir, which nothing routes to.
  • Immutable artifact preserved, not modified. dist/schemas/index.json / latest.json are root discovery docs — parseImmutableArtifactPath returns null for them, so editing them is exempt; the versioned 3.2.0/ tree is untouched.
  • dist-schema-version-ids only checks intra-directory $id/$ref self-consistency — delisting 3.2.0 doesn't affect it. No discovery-completeness gate breaks.
  • Changeset reconsumption. All 10 bumped entries from the removed changelog block are restored 1:1 (2 minor: registry-feed-stream, tmp-tmpx-providers; 8 patch), plus 10 empty/docs stubs that correctly never bumped. The next release will reconsume them.
  • ad-tech-protocol-expert: sound — pure metadata/discovery revert, zero wire-shape impact, no spec drift. code-reviewer: clean.

Follow-ups (non-blocking — file as issues)

  • "Intended release path is 3.1.1" vs. the restored changesets. The PR body names 3.1.1, but the two restored minor changesets mean changesets will compute the next version as a 3.2.0 minor, not a 3.1.1 patch. That may be the intended outcome (redo 3.2.0 properly), but the body says otherwise — reconcile the framing before the next cut so the release operator isn't surprised.
  • Out-of-band 3.2.0 still live. Git tag, GitHub release, and CDN/R2 artifacts for 3.2.0 persist; a consumer who discovered 3.2.0 via the tag rather than the discovery doc sees a version the doc no longer advertises. The body tracks this (release marked prerelease, CDN cleanup pending) — sequenced, not a defect.

Minor nits (non-blocking)

  1. Body-less changeset stubs. bright-lizards-matter.md, clever-tools-check.md, thirty-doodles-retire.md are bare ---\n---. Faithfully restored as they were, so not a regression here — but they carry no description and use exactly the random-animal naming the playbook discourages. Worth pruning whenever they're reconsumed.

Approving on the strength of the version-sync coherence plus the correct delist-don't-delete handling of the tagged artifact.

@aao-release-bot aao-release-bot 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.

Clean revert of the accidental 3.2.0 cut. Mechanical restoration is the right shape — undo the release commit, restore the consumed changesets, drop the generated artifacts, leave the source untouched.

Things I checked

  • Version reverts on the wire. GitHub test-merge commit c54687e has root package.json at 3.1.0, not 3.2.0. The diff topology is misleading (merge-base predates the bump, so package.json never appears in the file list), so I verified against the actual test-merge tree rather than the diff. It resolves to 3.1.0 correctly.
  • No data loss. dist/compliance/ in the merge result still carries 3.1.0 plus every prior 3.0.x and 3.1.0-beta/rc directory. Only 3.2.0 is removed — exactly the accidental artifact. test:immutable-release-artifacts (cited in the body) protects the rest.
  • CHANGELOG. Top section in the merge result is ## 3.1.0; the 3.2.0 block is gone. -29 lines, clean.
  • Changesets restored. All 20 consumed changesets re-added, faithfully matching the pre-release state.
  • Largest-file rule. Every >200-line file in the diff is a generated dist/compliance/3.2.0/** deletion — skipped per the rule. No non-generated file exceeds 200 net lines.

Follow-ups (non-blocking — file as issues)

  • Restoring the changesets restores the minor. registry-feed-stream.md is "adcontextprotocol": minor (and others may be too). The next changeset version will cut 3.2.0 again — not the 3.1.1 the PR body names as the intended path. The revert correctly stays mechanical and doesn't re-categorize, but the 3.1.1 outcome won't happen on its own: someone has to demote the minor changeset(s) to patch before the next release runs. Worth pinning down before anyone hits the release button.
  • CDN/R2 cleanup. Already noted in the body — versioned 3.2.0 artifacts on the CDN still need separate removal. Git is reverted; the object store is not.

Test-plan honesty

The body lists verify-version-sync, test:dist-schema-version-ids, test:immutable-release-artifacts, and the two storyboard matrices as run, with no pass/fail recorded. I couldn't independently confirm the suites, but the merge-result invariants they guard (version sync at 3.1.0, 3.1.0 artifacts intact, no 3.2.0) all hold against the test-merge tree.

LGTM. Ship it once CI validates the version-sync and immutable-artifact suites. Re-categorize the minor changeset before the 3.1.1 cut.

@bokelley
bokelley merged commit 1a18bbe into main Jun 30, 2026
27 checks passed
@bokelley
bokelley deleted the revert-accidental-v3.2.0 branch June 30, 2026 13:37
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.

1 participant