Skip to content

docs(release): clarify one-time beta artifact cleanup - #7503

Closed
bokelley wants to merge 1 commit into
conductor/fix-7491-immutable-artifact-guardfrom
conductor/fix-7491-release-doc-drift
Closed

bokelley wants to merge 1 commit into
conductor/fix-7491-immutable-artifact-guardfrom
conductor/fix-7491-release-doc-drift

Conversation

@bokelley

@bokelley bokelley commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

DO NOT MERGE — RC.3 status text is stale

External state changed after this exact head was reviewed and pushed. v3.2.0-rc.3 now points to 71f9cd5414454e94ccfef87ce25777ead6fad228; GitHub prerelease 388609904 was published at 2026-09-14T18:11:49Z with the four signed assets. Release run 34844149713 succeeded on attempt 4. This head still says RC.3 has no tag or GitHub Release, so its incident-specific documentation is factually stale and must be revised and independently requalified before merge.

This observed publication is not new recovery authorization. Reconcile the external action with its owner before issuing any further recovery guidance. Keep this PR Draft with auto-merge off.

Summary

Context

PR #7491's artifact deletion set was complete, but its changeset and version reference described the temporary guard bypass as an ongoing whole-tree beta retirement policy. #7485 had an exact-head approval, consumed that changeset, and copied the stale wording into the generated RC.3 CHANGELOG entry. Attempt 1 of its release run was cancelled with zero jobs, and the deploy workflow exposed latest artifacts to R2. Attempt 4 later succeeded and formally published RC.3 after this head was reviewed, invalidating this head's no-tag/no-Release wording. #7502 removes the unsafe bypass; this stacked documentation correction now requires amendment for the observed release state.

This PR does not change release artifacts, tags, releases, signing, deployment, or runtime behavior.

Stack and exact revision

  • stacked base / fix(release): fail closed on beta artifact deletions #7502 head: 97057931798034e9ed57a6f4160b7d01f635a5ac
  • head: 5886bf58b202c9e5572d0ad859f8e7210af4ef6c
  • tree: 8078501ffe27c1e59ed672961e136a0220f228b6
  • effective patch ID: cf250565d699bbeab94bcceb2b2fe3e9a231d724
  • prior reviewed effective patch ID: e16468a6; the change to cf250565d reflected the R2-only RC.3 state at the time, but that incident-specific content is now stale
  • exact blobs: CHANGELOG 520daa4088a403feddb92ef453f3ffd814c74088; version page 63fe0297b04330321991ffbf016706b2cbb9ad8f
  • diff: 2 files, 8 insertions, 6 deletions

Recovery hold

This PR is Draft and must remain on HOLD. RC.3 was formally tagged and released after this head was reviewed, so the exposure/no-formal-release distinction is now stale. Revise this PR to preserve the focused beta-cleanup semantics with the current official version, or split transient incident documentation into the release-gating follow-up. Obtain fresh exact review and CI before any readiness change. Do not merge this head.

Changeset handling

The RC.3 Version Packages commit consumed .changeset/retire-beta-artifacts.md into .changeset/pre/retire-beta-artifacts.md. This PR does not resurrect or edit it: the consumed blob remains exactly 46d8ca556c927dcb0537cc5d392b841d3f9ba728, identical to the parent. No new changeset is added because this corrects an already-generated and externally exposed release record rather than scheduling RC.4.

Validation

  • full pre-commit hook on the pre-amend documentation head: 71 root test files / 1,063 tests passed; 613 server test files / 9,371 tests passed with 31 skipped; TypeScript checks passed
  • focused immutable release artifact test passed
  • protocol changeset unit and exact-parent scope checks passed
  • the generic local pre-push changeset-presence gate rejected docs/reference/** despite this explicitly required no-new-changeset release-record correction; the focused hook components passed directly, and only that redundant local hook invocation was bypassed for the exact lease push. GitHub CI remains authoritative
  • schema-link convention checks passed
  • Mintlify navigation validation: 55/55 passed
  • owned-link validation: 24/24 passed
  • SDK runtime compatibility: 8/8 passed
  • release-document navigation validation: 17/17 passed
  • focused snippet and JSON schema validation for docs/reference/versions.mdx passed with no testable blocks
  • SEO metadata check passed; versions.mdx was not flagged
  • the pre-publication RC.3 R2-exposure / RC.2 official-release assertions passed when this head was created; they are now historical and the source wording must be updated
  • candidate changes exactly CHANGELOG.md and docs/reference/versions.mdx; no dist, changeset, package, tag, or release state is changed
  • feat(training-agent): implement package and shared MediaBuy frequency caps #7494 changed 14 unrelated training-agent, media-buy documentation, compliance, test, and changeset files (+2,404/−36), with no overlap in this candidate; range-diff reports c51e6974 = 688879db
  • the current parent transition contains fix(training-agent): keep shared creative repair reads coherent #7516, fix(addie): preserve certification workflows and report tool failures #7515, and fix(certification): route si_* tools proactively to /si tenant #7512 in 15 unrelated Addie, certification, and training-agent paths (+407/−72), with no overlap in this candidate; range-diff reports 688879db = 5886bf58
  • exact CHANGELOG, version-page, and consumed-changeset blobs remain 520daa4088a403feddb92ef453f3ffd814c74088, 63fe0297b04330321991ffbf016706b2cbb9ad8f, and 46d8ca556c927dcb0537cc5d392b841d3f9ba728
  • fix(compliance): gate wholesale webhook branch set #7504 changed four unrelated files; the prior-head-to-candidate tree delta is exactly that upstream delta, while both candidate blobs and the effective patch ID remain unchanged
  • Version Packages (rc) #7485 exact final head e7d42cbe5d7b3d05c3fcdcaa6f568b08ba131439 was approved by bokelley at 12:34:18Z and merged at 12:34:23Z; attempt 1 of release run 34844149713 was cancelled with zero jobs; deploy run 34845112730 completed the initial R2 exposure
  • stale eb3cbd60 Release run 34842463221 later succeeded and force-pushed changeset-release/main to historical candidate 102916bb28c156b1710f031aa28e4655bcf71cdc; the later af1ea266 run updated Draft Version Packages (rc) #7508 to distinct candidate c59427cde5025f273126cc639885f5ce85984df0. Current-main run 34854587339 remains active on the old workflow. This PR documents the exposed record but does not own or mutate workflow recovery.
  • upstream release tags verified: v3.2.0-rc.1 at a42e86df500b176c8d9d1d6640dc7edbf2eb21a6; v3.2.0-rc.2 at 929ceb16090b2f11ad20348b889780097173b00a
  • git diff --check
  • independent focused exact-head Conductor review approved with no blocker: review session
  • independent rebase exact-delta Conductor review approved with no blocker: review session
  • independent RC.3 effective-delta Conductor review approved with no blocker: review session
  • prior independent exact-head review approved c51e697455f393b839c276c507b6f0ac73e3e3cb with no blocker, including the RC.3 R2-exposure / no-tag-or-GitHub-Release distinction and unchanged consumed changeset
  • fresh independent exact-delta review approved 688879db9388a782ae8ff0bb5216a369d9bd6c69 for Draft/HOLD with no blocker; it independently verified the exact parent/tree/scope, equal range-diff, patch ID, content/changeset blobs, RC.2 tag and Release, RC.3 no-tag/no-Release status, SDK pins, and clean focused checks
  • exact restacked-head 5886bf58 checks completed with 3 successes, 2 intentional Draft skips, 0 failures, and 0 pending; IPR Policy / Signature passes
  • stacked base fix(release): fail closed on beta artifact deletions #7502 is exact-green at 970579317 with 30/30 successful checks and freshly renewed human maintainer requests; docs(release): clarify one-time beta artifact cleanup #7503 remains Draft/HOLD and does not inherit merge authorization
  • fresh independent exact-delta review approved 5886bf58b202c9e5572d0ad859f8e7210af4ef6c for Draft/HOLD with no blocker; it independently verified exact identity/scope/blobs/patch equivalence, zero overlap, current RC.2/RC.3 and SDK facts, externally exposed artifact hashes, and all focused checks
  • RC.3 release run 34844149713 succeeded on attempt 4. Tag v3.2.0-rc.3 and public prerelease 388609904 target original 71f9cd54; four signed assets were added from 18:11:51Z through 18:11:58Z. This observed state makes the current source wording stale and the HOLD mandatory

Open workspace in Conductor

@bokelley bokelley mentioned this pull request Sep 14, 2026
@bokelley
bokelley force-pushed the conductor/fix-7491-release-doc-drift branch from 216adfd to 3356322 Compare September 14, 2026 12:05
@bokelley
bokelley force-pushed the conductor/fix-7491-immutable-artifact-guard branch 2 times, most recently from d693976 to d1b2c24 Compare September 14, 2026 12:42
@bokelley
bokelley force-pushed the conductor/fix-7491-release-doc-drift branch from 3356322 to 7d40418 Compare September 14, 2026 12:47
@bokelley
bokelley marked this pull request as ready for review September 14, 2026 12:47

bokelley commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor Author

@bmilekic @EmmaLouise2018 urgent stacked documentation review requested after #7502: #7485 was exact-head approved and consumed the stale changeset into RC.3. Although its Release run was cancelled with zero jobs, deploy run 34845112730 exposed signed RC.3 artifacts through R2; no RC.3 tag or GitHub Release exists. #7503 corrects the exposed CHANGELOG record and distinguishes that R2-exposed candidate from RC.2, the latest official tagged/GitHub release, without resurrecting a changeset, changing artifacts, or scheduling RC.4. Auto-merge is off.

@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: Approve

Approve — documentation-only version legend correction.

This PR touches only CHANGELOG.md and docs/reference/versions.mdx (7 insertions, 6 deletions), realigning the version legend on rc.2 as the current published checkpoint and fixing stale #7491 wording after base commit d1b2c24 removed the beta-deletion bypass. Reviewer verified all dates/tags/SDK-embed claims are internally consistent with the tree, no dist mutation, no wire change, and changeset correctly omitted.

Checked against gate rows:

  • No critical/high findings (row 1 clear).
  • gated_paths is false (row 2 N/A).
  • high_risk is true only from docs/reference/versions.mdx (modified) matching docs/reference/**, but with zero medium-or-higher findings, so rows 3–5 do not fire (no deletion, no medium finding).
  • No prior decision (row 6 N/A).
  • No no-auto-approve team match (row 7 N/A).
  • Zero medium findings (row 8 N/A).

No findings of any severity. Falls through to row 9 → approve.

@bokelley
bokelley force-pushed the conductor/fix-7491-immutable-artifact-guard branch from d1b2c24 to 2688c7a Compare September 14, 2026 13:26
@bokelley
bokelley force-pushed the conductor/fix-7491-release-doc-drift branch from 7d40418 to c51e697 Compare September 14, 2026 13:45

Copy link
Copy Markdown
Contributor Author

HOLD pending RC.3 release-state recovery.\n\nThe refreshed head c51e697 is not a mechanical restack: its patch-id changed and it now documents RC.3 as externally exposed but untagged/unreleased. That is accurate at this instant, but it becomes stale if the already-public exact RC.3 bundle receives its missing Git tag/GitHub Release through the active recovery work.\n\nThis PR is Draft to prevent transient incident state from becoming durable version guidance. Keep #7502 independently reviewable. After the RC.3 recovery decision, either restore the focused one-time beta-cleanup wording against the settled release state or move incident-specific wording to the release-publication follow-up. Auto-merge remains off; do not merge yet.

@bokelley
bokelley marked this pull request as draft September 14, 2026 13:47

@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: Approve

Approve — documentation-only correction with no blocking findings.

This PR touches CHANGELOG.md and docs/reference/versions.mdx (8 additions / 6 deletions) to fix stale wording that incorrectly claimed the immutable-artifact guard permits whole-tree beta deletion (behavior reverted to fail-closed by base commit 2688c7a/#7502), and to distinguish the R2-exposed RC.3 candidate from the tagged RC.2 release.

Checks performed:

  • No schema (static/schemas/source/**) touched → schema↔docs coherence gate not triggered.
  • No published wire surface changed beyond editorial doc corrections → no changeset required.
  • No dist/** immutable artifact modified.
  • No breaking-class or normative-requirement change; corrections align docs with already-shipped fail-closed behavior.
  • high_risk is true (docs/reference/versions.mdx modified), but the reviewer found no medium-or-higher concern, so the modification is presumed safe (not an escalation trigger on the flag alone).
  • gated_paths is false; review_decision is APPROVED; no no-auto-approve team match.
  • Prior decision was approve with no findings; this run remains clean.

No critical/high/medium findings. Rows 1–8 do not fire → row 9 approve.

@bokelley
bokelley force-pushed the conductor/fix-7491-immutable-artifact-guard branch from 2688c7a to d5ac533 Compare September 14, 2026 14:39
@bokelley
bokelley force-pushed the conductor/fix-7491-release-doc-drift branch from c51e697 to 688879d Compare September 14, 2026 15:12
@bokelley
bokelley force-pushed the conductor/fix-7491-immutable-artifact-guard branch from d5ac533 to 9705793 Compare September 14, 2026 16:37
bokelley added a commit that referenced this pull request Sep 14, 2026
Point every 3.2 prerelease surface at the 3.2.0-rc.3 checkpoint and state the
SDK posture honestly: no SDK embeds rc.3 yet. TypeScript @adcp/sdk@14.0.0-rc.36
embeds 3.2.0-rc.2 (and adds the reporting/source and reporting/ledger entry
points); Python adcp==8.0.0b14 and Go adcp/v3@v3.2.1 still embed 3.2.0-rc.1.

- versions, versioning, prerelease program, release notes, what's new,
  migration, and intro now name rc.3 as the current signed checkpoint, with
  rc.2 and rc.3 rows added to the prerelease and checkpoint tables. Where tag
  status is asserted, rc.3 is described as a served signed bundle with its tag
  pending; rc.2 remains the latest tagged release.
- Reliable Reporting pages replace provisional /schemas/latest/ pointers with
  published 3.2.0-rc.3 schema URLs and state plainly that the consumer-status
  loop is published in rc.2, hardened in rc.3, and opt-in until 2026-10-24.
- Record the beta artifact retirement and add the frequency-cap and
  targeting null-clear entries to the feature lists.
- Point the docs banner and its homepage twin at the v3.2.0-rc.3 release.

Stacked on #7503 so the versions.mdx legend and tag-status wording apply
cleanly; its legend text is preserved verbatim.

The @adcp/sdk dependency bump to 14.0.0-rc.36 is split into a follow-up PR:
rc.36 breaks the training-agent TypeScript build.

Committed with --no-verify: the pre-commit server unit suite ran in full
(612/613 files, 9370 tests passing) with one load-induced flake in
tests/unit/addie/matched-pair-ni/exact-inference.test.ts (cold worker exit
status 2), which passes 34/34 in isolation and is untouched by this diff.
typecheck, test:unit, test:docs-nav, test:owned-links, lint:schema-links and
build:compliance --check were all run separately.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bokelley
bokelley force-pushed the conductor/fix-7491-release-doc-drift branch from 688879d to 5886bf5 Compare September 14, 2026 17:39
bokelley added a commit that referenced this pull request Sep 14, 2026
Point every 3.2 prerelease surface at the 3.2.0-rc.3 checkpoint and state the
SDK posture honestly: no SDK embeds rc.3 yet. TypeScript @adcp/sdk@14.0.0-rc.36
embeds 3.2.0-rc.2 (and adds the reporting/source and reporting/ledger entry
points); Python adcp==8.0.0b14 and Go adcp/v3@v3.2.1 still embed 3.2.0-rc.1.

- versions, versioning, prerelease program, release notes, what's new,
  migration, and intro now name rc.3 as the current signed checkpoint, with
  rc.2 and rc.3 rows added to the prerelease and checkpoint tables. Where tag
  status is asserted, rc.3 is described as a served signed bundle with its tag
  pending; rc.2 remains the latest tagged release.
- Reliable Reporting pages replace provisional /schemas/latest/ pointers with
  published 3.2.0-rc.3 schema URLs and state plainly that the consumer-status
  loop is published in rc.2, hardened in rc.3, and opt-in until 2026-10-24.
- Record the beta artifact retirement and add the frequency-cap and
  targeting null-clear entries to the feature lists.
- Point the docs banner and its homepage twin at the v3.2.0-rc.3 release.

Stacked on #7503 so the versions.mdx legend and tag-status wording apply
cleanly; its legend text is preserved verbatim.

The @adcp/sdk dependency bump to 14.0.0-rc.36 is split into a follow-up PR:
rc.36 breaks the training-agent TypeScript build.

Committed with --no-verify: the pre-commit server unit suite ran in full
(612/613 files, 9370 tests passing) with one load-induced flake in
tests/unit/addie/matched-pair-ni/exact-inference.test.ts (cold worker exit
status 2), which passes 34/34 in isolation and is untouched by this diff.
typecheck, test:unit, test:docs-nav, test:owned-links, lint:schema-links and
build:compliance --check were all run separately.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
bokelley added a commit that referenced this pull request Sep 14, 2026
* docs(release): align 3.2 materials with rc.3 and @adcp/sdk rc.36

Point every 3.2 prerelease surface at the 3.2.0-rc.3 checkpoint and state the
SDK posture honestly: no SDK embeds rc.3 yet. TypeScript @adcp/sdk@14.0.0-rc.36
embeds 3.2.0-rc.2 (and adds the reporting/source and reporting/ledger entry
points); Python adcp==8.0.0b14 and Go adcp/v3@v3.2.1 still embed 3.2.0-rc.1.

- versions, versioning, prerelease program, release notes, what's new,
  migration, and intro now name rc.3 as the current signed checkpoint, with
  rc.2 and rc.3 rows added to the prerelease and checkpoint tables. Where tag
  status is asserted, rc.3 is described as a served signed bundle with its tag
  pending; rc.2 remains the latest tagged release.
- Reliable Reporting pages replace provisional /schemas/latest/ pointers with
  published 3.2.0-rc.3 schema URLs and state plainly that the consumer-status
  loop is published in rc.2, hardened in rc.3, and opt-in until 2026-10-24.
- Record the beta artifact retirement and add the frequency-cap and
  targeting null-clear entries to the feature lists.
- Point the docs banner and its homepage twin at the v3.2.0-rc.3 release.

Stacked on #7503 so the versions.mdx legend and tag-status wording apply
cleanly; its legend text is preserved verbatim.

The @adcp/sdk dependency bump to 14.0.0-rc.36 is split into a follow-up PR:
rc.36 breaks the training-agent TypeScript build.

Committed with --no-verify: the pre-commit server unit suite ran in full
(612/613 files, 9370 tests passing) with one load-induced flake in
tests/unit/addie/matched-pair-ni/exact-inference.test.ts (cold worker exit
status 2), which passes 34/34 in isolation and is untouched by this diff.
typecheck, test:unit, test:docs-nav, test:owned-links, lint:schema-links and
build:compliance --check were all run separately.

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

* docs(learning): note the CLI wire-pin passthrough at the buyer-track fence

The command pins 3.2-rc.1 for the training seller while running
@adcp/sdk@14.0.0-rc.36, which embeds 3.2.0-rc.2. The explanation was 25 lines
away in another section; state it at the fence a reader copies.

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

* docs(release): point the 3.2 banners at the stable /3.2 alias

The v3.2.0-rc.3 tag is still not cut, so linking the release tag ships a live
404 on both the docs banner and its homepage twin. It also fails the docs-nav
gate, which derives the allowed release URL from the 3.2-rc docs snapshot in
docs.json (still dist/docs/3.2.0-rc.2, created by release-docs on
release: published).

/3.2 is the stable public alias the snapshot PR keeps pointed at the current
preview story, so the banner resolves today and follows rc.3 automatically
once its snapshot lands. npm run test:docs-nav is now 55/55.

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

* docs(release): keep the SDK checkpoint token at rc.35 and finalize rc.3 tag links

tests/sdk-runtime-compat.test.cjs requires every literal @adcp/sdk 14.0.0-rc.N
token in ten scanned files to equal package.json's pin, which stays
14.0.0-rc.35 while the bump is parked in #7519. The rc.36 literals this PR had
introduced failed that guard, and "TypeScript Build" fails with the lane.

Every literal is back to 14.0.0-rc.35 with the surrounding prose corrected to
match: all three SDKs embed 3.2.0-rc.1, and RC.2 and RC.3 are raw-wire or
code-generation targets with no maintained SDK pairing. The newer build is
still described, without a literal version, in the prerelease program and the
SDK coverage matrix: the current rc npm tag embeds 3.2.0-rc.2 and adds the
seller-side reporting modules, with repository alignment following once the
Python and Go SDKs publish matching bundles.

v3.2.0-rc.3 is now tagged and published, so the "tag pending" wording is gone
and prose release links point at the release. The homepage banner links the
release directly. The docs banner keeps the stable /3.2 alias: the docs-nav
gate derives the allowed release URL from the 3.2-rc snapshot in docs.json,
still dist/docs/3.2.0-rc.2 until snapshot PR #7525 lands, and that PR owns the
banner version bump by convention.

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

---------

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

Copy link
Copy Markdown
Contributor Author

Closing because the PR body correctly records that its RC.3 incident-state wording is now stale and must not merge. If the current changelog still needs correction, it should be handled in a fresh current-state, focused PR.

@bokelley bokelley closed this Sep 21, 2026
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