Repository navigation
fix(media-buy-actions): project change_term_id for AdCP 3.3 prereleases - #1721
Merged
Merged
Conversation
project_available_actions decided whether a protocol version carries available_actions[].change_term_id with a beta.9 floor meant for the 3.2 prereleases, but applied it to every line, so protocol_version "3.3.0-beta.1" (the SDK's own release) projected the pre-3.2 terms_ref form. The floor now applies to the 3.2 line only. Found in the #1668 version literal audit. Refs #1668 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — version-translation floor fix with regression coverage.
What I checked:
_supports_change_term_idinmedia_buy_actions.py:1308-1311: the beta.9 floor was incorrectly applied to every version line, causing3.3.0-beta.1to project the staleterms_refinstead ofchange_term_id. The new guard(major, minor) > (3, 2) or beta is None or beta >= 9scopes the beta.9 floor to the 3.2 line only. Verified correct across the version matrix: 3.1 → False, 3.2.0-beta.8 → below floor, 3.2.0-beta.9/rc/release → True, 3.3+ → True.- DR-0032/DR-0033 version-translation pathway: this is the translation layer itself, and the fix restores correct field projection (
change_term_id) for the SDK's own 3.3 release line. Regression case added totest_projection_version_matrix, validated against the 3.3 schema — pathway test present as required. - Correct
fix:semver signal; no public-surface break, no generated-code hand-edit, no import-layering violation.
No blocking or medium findings. No gated paths, no high-risk files, no author team gate. Falls through to row 9.
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.
project_available_actions(protocol_version=...)decides whether to emitchange_term_id(3.2.0-beta.9 and later) or the olderterms_ref. The beta.9 floor was applied to every line, so"3.3.0-beta.1", the SDK's own release, projectedterms_ref. The floor now applies only to the 3.2 line.The #1668 version-literal audit found this (#1720 lists it as out of that PR's scope).
test_projection_version_matrixgains a3.3.0-beta.1case, validated against the 3.3core/media-buy-available-action.json.tests/test_media_buy_actions.pypasses: 55 tests.Refs #1668
🤖 Generated with Claude Code