Repository navigation
Conversation
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>
…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>
bokelley
force-pushed
the
docs/align-32-rc3-sdk-rc36
branch
from
September 14, 2026 16:54
a25aa28 to
3946abc
Compare
Mirrors the rc.35 alignment in 8644cdf: dependency, conformance metadata, certification prompt pins, and the server provenance assertions. This does not build. rc.36 tightens the canonical proposal/purchase types (pricing_option_id now required; performance_standards and audience_evidence_pins are non-empty tuples), which produces four TypeScript errors in server/src/training-agent/ and fails both `npm run build` and `npm run verify:training-agent-runtime`. rc.35 typechecks clean. rc.36 also drops the 3.2.0-rc.1 schema bundle, so the SDK response evidence workflow hard-fails: its probe defaults to release 3.2.0-rc.1 and createAdcpServer throws ConfigurationError. Selecting 3.2.0-rc.2 instead fixes the TypeScript leg but breaks the Python leg, because adcp==8.0.0b14 and Go adcp/v3@v3.2.1 still embed 3.2.0-rc.1. known-findings.json therefore carries a bumped SDK pin whose findings were not re-measured. specs/sdk-lifecycle-compatibility-audit.md is intentionally left on rc.35: its row pins the rc.35 source SHA and an embedded 3.2.0-rc.1 protocol pin, and re-labelling those would assert measurements that were never taken. Opened as a draft for review of the blockers, not for merge. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
rc.36 no longer bundles 3.2.0-rc.1, so the probe's default release, run.sh, README, and tests/sdk-response-conformance.test.cjs now select 3.2.0-rc.2 and the 3.2-rc.2 wire selector. npm run test:sdk-response-conformance passes (14/14), and the TypeScript and Go legs both produce output against the rc.2 plan. The Python leg still hard-fails: adcp==8.0.0b14 raises "no bundled AdCP schemas are available for adcp_version='3.2.0-rc.2'", and 8.0.0b14 is the newest published build. A full three-language report therefore cannot be produced, so known-findings.json keeps its 3.2.0-rc.1 evidence rather than being hand-edited — check-baseline.cjs deep-equals the whole report, so an edited baseline would assert measurements nobody took. The README now records that regeneration is pending a Python build that embeds 3.2.0-rc.2. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…aves are staggered No single artifact satisfies all three SDKs today: @adcp/sdk 14.0.0-rc.36 bundles 3.2.0-rc.2 and rejects 3.2.0-rc.1, while adcp 8.0.0b14 and adcp/v3 v3.2.1 bundle 3.2.0-rc.1 and reject 3.2.0-rc.2. run.sh now prepares one plan per distinct release and dispatches each driver with its own (ts_release 3.2.0-rc.2, py_release and go_release 3.2.0-rc.1). `report` takes plan/run pairs so each run is graded against the plan it was dispatched with. This is a small change because the report already carried a per-language protocol block; the three entries simply stopped being identical. known-findings.json is regenerated from a real three-language run, not hand-edited. Findings are unchanged at 1 / 85 / 124, so rc.36 introduces no new defects and resolves none; only the TypeScript row's protocol block and its coverage counts move (manifest_tools 77 to 78, because rc.2 adds a tool). The README records the staggered pins, warns that a cross-language finding difference may now be an artifact difference rather than an SDK difference, and says to collapse back to one release once the waves converge. npm run test:sdk-response-conformance passes 14/14; a clean run.sh exits 1 (findings retained, the documented normal state) and check-baseline passes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
bokelley
force-pushed
the
deps/adcp-sdk-rc36
branch
from
September 14, 2026 16:54
538b886 to
cd9f942
Compare
bokelley
force-pushed
the
docs/align-32-rc3-sdk-rc36
branch
from
September 14, 2026 18:05
3946abc to
af24a52
Compare
bokelley
added a commit
that referenced
this pull request
Sep 14, 2026
….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>
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>
20 tasks
Contributor
Author
5 of 29 tasks
Contributor
Author
|
Closing as stale and superseded: this branch pins SDK rc.36, while newer 14.x release candidates and the maintained stable-runner release path have advanced. Any remaining dependency update should start from the current SDK and main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Bumps the repo's
@adcp/sdkdependency from14.0.0-rc.35to the published14.0.0-rc.36, mirroring the rc.35 alignment in 8644cdf, and updates the repo-internal version strings that commit touched.Split out of #7518 (the rc.3 docs sweep) because it does not build. Opened as a draft so the failure is reviewable rather than hidden.
❌ Blocker 1 — rc.36 breaks the training-agent TypeScript build
4 errors on rc.36, 0 on rc.35 (verified by reinstalling each pin and re-running). All four are in
server/src/training-agent/, and all four come from rc.36 tightening the canonical proposal/purchase types —pricing_option_idnow required, andperformance_standards/audience_evidence_pinsnow non-empty tuples.Because
npm run buildrunstsc --project server/tsconfig.jsonbeforeverify:training-agent-runtime, both the build and that verification step fail. Fixing this needs training-agent source changes, which were explicitly out of scope for the docs sweep.❌ Blocker 2 — rc.36 breaks the SDK response evidence workflow
.github/workflows/sdk-response-conformance.ymltriggers onpackage-lock.json, so this PR runs it. rc.36 no longer bundles the3.2.0-rc.1schemas, andscripts/sdk-response-conformance/run.shdefaults to release3.2.0-rc.1:run.shexits 2 (harness failure), which the workflow treats as fatal.Moving the probe release to
3.2.0-rc.2fixes the TypeScript leg but breaks the Python leg:adcp==8.0.0b14and Goadcp/v3@v3.2.1both still embed3.2.0-rc.1. No release selector satisfies TypeScript (rc.2 only) and Python/Go (rc.1 only) at the same time, so the conformance probe cannot move until the Python and Go rc.2 wave ships.scripts/sdk-response-conformance/known-findings.jsonis a measured regression baseline (SDK pin, artifact digest, coverage counts, findings). Its SDK pin is bumped here to match the dependency, mirroring what 8644cdf did — but the findings were not re-measured against rc.36, because the harness cannot run. Do not merge on the assumption that baseline is verified.What would unblock this
3.2.0-rc.2(or later), so the conformance probe has a common selector; then re-run the probe and refreshknown-findings.jsonfrom real output.Since a rc.3-based TypeScript SDK (rc.37) is expected, it may be cheaper to wait for it and the matching Python/Go wave, and do one alignment against rc.3 rather than two.
🤖 Generated with Claude Code
Files deliberately left on rc.35
specs/sdk-lifecycle-compatibility-audit.mdis not bumped. Its TypeScript row pins a source commit SHA (2b27442f…, which is the rc.35 tree) and an embedded protocol pin of3.2.0-rc.1. Relabelling those as rc.36 would assert measurements that were never taken — rc.36's embedded pin is3.2.0-rc.2and its source tree is a different commit. That audit needs an actual re-run against rc.36.Open workspace in Conductor
Update — probe moved to
3.2.0-rc.2; now blocked one step later, in the Python legApplied as asked:
scripts/probe-sdk-response-conformance.cjs,scripts/sdk-response-conformance/run.sh, the README, andtests/sdk-response-conformance.test.cjsnow select release3.2.0-rc.2and wire selector3.2-rc.2. There is no separate config file; those four are where the pin lived.That fixed the TypeScript
ConfigurationError. Verified locally:3.2.0-rc.1(before)3.2.0-rc.2(now)npm run test:sdk-response-conformancetypescript.cjs)ConfigurationError: adcpVersion "3.2.0-rc.1" … no schema bundlego run .)python.py)ValueError: no bundled AdCP schemas are available for adcp_version='3.2.0-rc.2'CI agrees — the job now fails at the same point:
Why this can't be fixed inside this PR
python.pysets_adcp_version = plan['protocol']['version']andcreate_mcp_serverresolves a bundled schema set from it.adcp==8.0.0b14embeds3.2.0-rc.1and is the newest published build — PyPI's8.0.0b*series tops out atb14. Go is in the same position (adcp/v3@v3.2.1is the newest, embedding rc.1), but its leg happens not to do the bundle lookup, so it runs clean.So there is no release selector that all three legs accept: TypeScript takes only
3.2-rc.2, Python only3.2-rc.1. The probe is single-artifact by design ("the controlled server fixture selects the immutable artifact"), and splitting the pin per language would break both that premise and the baseline's shared digest.known-findings.jsonleft at rc.1, deliberatelycheck-baseline.cjsdoesassert.deepEqual(baseline(actual.reports), expected)over the whole report — SDK pins, protocol block, summary counts, and every finding. Without a Python leg no report exists, so there is nothing to regenerate from. Hand-editing the protocol block to rc.2 would assert measurements nobody took, which is what the README's regression policy forbids. The README now carries a short note recording that regeneration is pending.What unblocks this PR
adcpbuild embedding3.2.0-rc.2(or later) → re-runbash scripts/sdk-response-conformance/run.shand regenerateknown-findings.jsonfrom real output.server/src/training-agent/type errors from rc.36's tightened proposal/purchase types (unchanged; see above).Given a rc.3-based TypeScript SDK (rc.37) is expected, it is probably cheaper to wait for it plus the matching Python/Go wave and do one alignment against rc.3 rather than two.
Update 2 — per-SDK pins implemented; conformance probe now passes
Per-SDK pins turned out to be a small, clean change, so they are implemented rather than deferred. The report already carried a per-language
protocolblock — the three entries were simply always identical. Making them differ needed two edits:run.shprepares one plan per distinct release and dispatches each driver with its own:ts_release=3.2.0-rc.2,py_release=3.2.0-rc.1,go_release=3.2.0-rc.1(all overridable as positional args).probe-sdk-response-conformance.cjs reporttakesplan.json run.jsonpairs instead of one plan plus N runs, so each run is graded against the plan it was dispatched with.assess(plan, run)was already per-run; nothing inlib.cjschanged.tests/sdk-response-conformance.test.cjsuses the library API, not the CLI, so the argument-shape change does not touch it.Results from a clean local run
run.shexits 1 (findings retained — the documented normal state, and what the workflow accepts), andcheck-baseline.cjspasses.known-findings.jsonis regenerated from that real run, not hand-edited. Findings are unchanged at 1 / 85 / 124, so rc.36 introduces no new defects and resolves none. The whole baseline diff is 8 lines: the TypeScript row's protocol block, plus its coverage counts (manifest_tools77 → 78, because rc.2 adds a tool). The file's compact-sdk/compact-findingsformatting convention is preserved so the delta stays readable.The honesty cost, recorded in the README
While the pins are staggered, the three legs are graded against different immutable artifacts, so a finding present in one language and absent in another may be an SDK difference or an rc.1→rc.2 artifact difference. The README says this explicitly and says to collapse back to a single release as soon as the Python and Go waves converge. The
run.shheader carries the same note.Still blocked: the training-agent build
Rebased onto the updated #7503 branch, which now carries #7494 (
feat(training-agent): implement package and shared MediaBuy frequency caps) — that touches both offending files, so I re-tested. The four errors persist unchanged (only line numbers moved):0 errors on rc.35. This PR stays a draft until those are fixed.