Skip to content

chore(release): retire superseded beta prerelease artifacts - #7491

Merged
bokelley merged 2 commits into
mainfrom
retire-beta-artifacts
Sep 14, 2026
Merged

bokelley merged 2 commits into
mainfrom
retire-beta-artifacts

Conversation

@bokelley

@bokelley bokelley commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Why

The runtime image size gate started failing on the rc.3 Version Packages branch (#7485): 7545 MiB against a 7424 MiB limit. Every prerelease cut adds a full schema bundle (~140 MiB) plus compliance and tarball artifacts, and .dockerignore re-includes dist/schemas, dist/compliance, and dist/protocol, so the image had accumulated 101 schema versions (~5 GB). rc.2 passed with 66 MiB of headroom; rc.3 and every later cut would fail.

What

Retire the superseded 3.x beta checkpoints from the three dist mounts.

Mount Before After
dist/schemas + dist/compliance + dist/protocol 6340 MiB 4491 MiB

Kept on purpose, with the reason each is load-bearing:

  • 3.2.0-beta.11 schemas: the frozen 3.2-beta documentation selector. The Addie docs indexer requires dist/docs/<v> and dist/schemas/<v> for every selector in the Mintlify nav and throws otherwise.
  • 3.2.0-beta.6 schemas and compliance: the training agent's retained checkpoint (SELLER_GOVERNANCE_DISCOVERY_ADCP_VERSION), asserted by tests/sdk-runtime-compat.test.cjs.
  • 3.1.0-beta.7 schemas and compliance: @adcp/sdk's sync-schemas:3.1-beta side bundle, fetched during prepublishOnly.

Supporting changes:

  • dist/schemas/index.json regenerated from the surviving directories (91 → 71 versions); no alias pointed at a removed version.
  • static/compliance/published-versions.json: removed betas dropped from published_versions; 3.1.0-beta.2, which the current @adcp/sdk package still ships, moved to package_only_versions so check-published-compliance-versions stays green.
  • scripts/check-immutable-release-artifacts.cjs: whole-tree deletion of a tagged -beta.N version is now permitted; in-place edits and any deletion of rc/stable artifacts still fail. Tests added for both.
  • scripts/check-immutable-release-artifacts.cjs and scripts/check-changeset-protocol-scope.cjs: git diff --name-status now runs with a 64 MiB maxBuffer; the default 1 MiB buffer crashed both scripts (ENOBUFS) on this 27k-file diff, and the guard runs in CI's build-check.
  • Docs: 14 schema links pointing at 3.2.0-beta.0 and 3.2.0-beta.10 bundles repointed to 3.2.0-rc.2 (all targets verified present); versions.mdx legend and the beta.0 row now describe the retirement.

Public URL impact

None expected. adcontextprotocol.org/schemas|compliance|protocol/* are served by the Cloudflare artifact worker from the R2 bucket with immutable caching (verified: beta bundle URLs return 200 with server: cloudflare). The R2 backfill helper deliberately refuses --delete, so previously published beta objects stay in the bucket. The versions page now states beta URLs are served best-effort only.

Not in this PR

  • dist/docs beta snapshots (about 235 MiB, allowlisted in .dockerignore) and the frozen 3.2-beta docs selector itself. Retiring those touches the release-docs nav tooling and is a separate decision.
  • The sustainable fix, moving historical bundles out of the runtime image entirely, is still worth an issue; this buys roughly 1.9 GB, about 12 prerelease cuts of headroom.

Validation

  • node tests/immutable-release-artifacts.test.cjs
  • node --test tests/published-compliance-versions.test.cjs tests/dist-schema-version-ids.test.cjs tests/sdk-runtime-compat.test.cjs
  • node scripts/check-published-compliance-versions.cjs
  • node scripts/check-immutable-release-artifacts.cjs origin/main and node scripts/check-changeset-protocol-scope.cjs origin/main
  • npx vitest run tests/addie/cross-publisher-frequency-docs.test.ts (the test that caught the beta.11 selector dependency)
  • npm run test:unit (71 files, 1063 tests) and npm run typecheck
  • pre-push: version sync, changeset policy, lint:schema-links, docs navigation. The local storyboard matrix was skipped with ADCP_SKIP_STORYBOARD_MATRIX=1; CI runs it.
  • Not run locally: the pre-commit server unit suite (precommit:server-unit, up to 25 minutes); CI runs it.

🤖 Generated with Claude Code


Open workspace in Conductor

Remove the 3.x beta checkpoints from dist/schemas, dist/compliance, and
dist/protocol, keeping 3.2.0-beta.11 (frozen 3.2-beta docs selector),
3.2.0-beta.6 (training-agent retained checkpoint), and 3.1.0-beta.7
(TypeScript SDK side bundle). The runtime image had grown past its size gate
on the rc.3 release branch; this frees about 1.9 GB. Regenerate the schema
discovery index, move the SDK-only 3.1.0-beta.2 compliance bundle to
package_only_versions, repoint documentation schema links to 3.2.0-rc.2,
document the retirement in the version table, and let the immutable-artifact
guard accept whole-tree deletions of tagged beta checkpoints while still
rejecting in-place edits and rc/stable deletions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Sep 14, 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 — deletions inside immutable released dist/** artifacts plus a governance policy decision require human review.

This PR retires the 3.1.0-beta.0 release artifacts, deleting ~90+ files under dist/compliance/3.1.0-beta.0/**. The repo's LADON.md declares that dist/compliance/<semver>/ paths are append-only release records that are immutable after GA, including -beta.N paths — modifying/deleting a file inside an existing semver artifact is normally critical. Retiring immutable released beta artifacts is a protocol-policy decision the reviewer explicitly deferred to the arbiter, and it is not something Ladon should auto-clear.

Two independent escalation triggers apply:

  • The high-risk flag is set and every high_risk_reasons entry is a (deleted) under dist/** (decision table row 3 → escalate).
  • The change is a governance/policy decision about release-artifact immutability that warrants explicit human/CODEOWNERS ratification, and review_decision is REVIEW_REQUIRED (not APPROVED).

Escalation reasons

  • Deletes 90+ files under dist/compliance/3.1.0-beta.0/** — removal of immutable released artifacts; adopters may pin these paths. Requires human confirmation that retiring this beta line is sanctioned.
  • Policy decision to retire released beta artifacts should cite/establish governance precedent and be ratified by a human, not auto-approved.

Medium finding (non-blocking, note for reviewers)

  • scripts/check-immutable-release-artifacts.cjs:69 — isRetiredPrereleaseDeletion permits any single-file deletion inside a -beta.N tree despite advertising whole-tree deletion; a future partial deletion of a retained load-bearing beta would pass CI silently. Tighten to require whole-tree removal.

Why human review

  • Deletes 90+ files under dist/compliance/3.1.0-beta.0/** — removal of immutable released release artifacts (append-only after GA per LADON.md); needs human/CODEOWNERS confirmation.
  • Retiring released beta artifacts is a governance/protocol-policy decision the reviewer explicitly deferred to the arbiter; review_decision is REVIEW_REQUIRED, not APPROVED.
  • high_risk is true and all high_risk_reasons are (deleted) entries under dist/** — decision-table row 3 requires escalation.

3.1.0-beta.5 is no longer a hosted compliance bundle, so an agent pinned
only to 3.1-beta.5 correctly falls back to the canonical 3.0 target. Move
the exact-pin cases to 3.1.0-beta.7, which remains hosted, and assert the
retired-pin fallback explicitly.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@bokelley
bokelley merged commit decd95f into main Sep 14, 2026
52 checks passed
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