compliance(media-buy): available_actions should be runnable by sales-non-guaranteed-only sellers#5731
Open
fgranata wants to merge 1 commit into
Open
Conversation
…e (runnable by sales-non-guaranteed-only sellers) The available_actions scenario seeded a guaranteed-only product fixture, so its create_buy_from_product step failed with a terminal DELIVERY_MODE_NOT_SUPPORTED for sellers declaring only specialisms: ["sales-non-guaranteed"], cascading the whole available-actions enforcement flow (read_persisted_buy_actions + enforce_available_actions all prerequisite_failed). The allowed_actions behavior this scenario grades is delivery-type-agnostic, so the fixture switches to non_guaranteed (fixed_price → floor_price). Same fix as the base media_buy_seller flow; the create steps reference the product/pricing by id, unchanged. The packaged dist/compliance/ cache is generated from this source. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
The automated review encountered an issue (possibly reached max turns, timed out, or failed to post the final gh pr review). A human reviewer should take this PR.
This is an automated message from the Argus AI review workflow.
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.
Problem
Follows the same root cause as the base
media_buy_sellerflow fix (recently merged):available_actions.yamlseeds a guaranteed-only product fixture (available_actions_display,delivery_type: guaranteed). A seller declaring onlyspecialisms: ["sales-non-guaranteed"]correctly rejects a guaranteed buy with a terminalDELIVERY_MODE_NOT_SUPPORTED, socreate_buy_from_productfails and the whole enforcement flow (read_persisted_buy_actions,enforce_available_actions) cascades asprerequisite_failed.Change
Switch the fixture to
non_guaranteed(fixed_price→floor_price). Theallowed_actionsbehavior this scenario actually grades (self-serve vs requires-approval action enforcement) is delivery-type-agnostic, so nothing about the test's intent changes. The create steps reference the product/pricing by id, unchanged.Reproduction
Against a live
sales-non-guaranteedseller,media_buy_seller/available_actions→create_buy_from_productreturnsDELIVERY_MODE_NOT_SUPPORTED(terminal) → downstream stepsprerequisite_failed.Scope note for maintainers
This is the second incidental guaranteed-only fixture (after the base flow). I found 8 other media-buy scenarios that also seed
delivery_type: guaranteed(billing_finality_delivery,create_media_buy_async,measurement_accountability,vendor_metric_accountability,delivery_reporting,canonical_formats,get_products_async,governance_approved). I deliberately did not touch those — some likely test guaranteed-specific behavior on purpose (e.g.governance_approved's IO-approval, the async arms) and should stay guaranteed + be capability-gated rather than flipped. Happy to follow up per your guidance on which are incidental vs intentional.Source-only change; the packaged
dist/compliance/cache is generated by the build.🤖 Generated with Claude Code