Skip to content

3.0.x: sales_guaranteed/create_media_buy fails with PRODUCT_NOT_FOUND after task_completion path fix #4000

@bokelley

Description

@bokelley

Background

Surfaced after #3996 lands the storyboard fixture fix from #3990 onto 3.0.x.

Before the fix, the `create_media_buy` step in `sales_guaranteed/index.yaml` used `context_outputs[0].path: "media_buy_id"`, which resolved against the immediate A2A submitted-arm response — a step that fails earlier with `capture_path_not_resolvable`, masking everything downstream.

After the fix (`task_completion.media_buy_id`), the runner correctly polls `tasks/get` for the terminal artifact, the call actually executes against the test agent, and we hit the next bug: the test agent's product catalog doesn't carry `sports_preroll_q2_guaranteed` or `primetime_30s_mf`. Both storyboard dispatch modes fail identically:

```
× create_media_buy: PRODUCT_NOT_FOUND: Package 0: Product not found: sports_preroll_q2_guaranteed
× create_media_buy: PRODUCT_NOT_FOUND: Package 0: Product not found: primetime_30s_mf
```

On `main`, the equivalent storyboard run on PR #3990 passes — so the seeding works there. Something diverged between `main`'s and 3.0.x's training-agent fixture loading or the `controller_seeding` pathway.

What this issue tracks

Investigate why the `fixtures.products` block in `static/compliance/source/specialisms/sales-guaranteed/index.yaml` (which lists both `sports_preroll_q2_guaranteed` and the one referenced via `primetime_30s_mf` in `requires_scenarios`) doesn't reach the training agent's product catalog on 3.0.x storyboard runs. Likely candidates:

  • 3.0.x's `server/src/training-agent/` fixture loader has drifted from the storyboard-schema's `fixtures.products` shape `main` uses.
  • The `controller_seeding: true` pathway in the test-kit changed between branches.
  • The test-kit `test-kits/acme-outdoor.yaml` has different product wiring on 3.0.x.

Once seeding works, `sales_guaranteed` should pass on 3.0.x's storyboard CI the same way it does on `main`.

Refs

Note on 3.0.x storyboard CI baseline

This is one of 11 storyboards currently failing on 3.0.x's storyboard CI. PR #3893 was admin-merged with the same 11-fail baseline two days ago, so the failures predate this issue — `sales_guaranteed` is the one whose failure mode #3996 changes (capture-path → product-not-found). The other 10 are pre-existing baseline drift on 3.0.x and merit a separate sweep / threshold ratchet.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclaude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.compliance-suitemedia-buyIssue concerns the media-buy protocol domain

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions