Conversation
…and sales_broadcast_tv specialism products (3.0.x workaround for adcp/client@5 seeding gap) https://claude.ai/code/session_01C3siu1YwZuyBB3ootPAh4x
|
Held back from automerge bundle: |
The overlay step checked `node_modules/@adcp/sdk/compliance/cache` but 3.0.x installs `@adcp/client@5.21.1` (package was renamed to @adcp/sdk at v5.23.0). The directory was never found, the step silently exited 0, and the bundled cache ran unmodified — leaving 9 storyboard fixtures broken and `create_media_buy_async.yaml` absent (total 52 vs floor of 53). Fix: - Fall back to `node_modules/@adcp/client/compliance/cache` when the @adcp/sdk path is absent, so the overlay fires on 3.0.x CI. - Exclude `specialisms/sales-guaranteed/index.yaml` from the overlay: the source version uses `context_outputs.path "task_completion.media_buy_id"` which requires tasks/get polling added after @adcp/client@5.21.1; the bundled version uses the direct-SUCCESS `media_buy_id` path that still works and produces a clean result. - Update step floors to match @adcp/client@5.21.1 observed counts: legacy 388→384, framework 401→397 (all 53 storyboards clean in both modes; asymmetry preserved). Verified locally: 53/53 clean, 384 steps (legacy) / 397 steps (framework). https://claude.ai/code/session_01LGnaNkxQRzyrTdQz3r95mg
|
Follow-up pushed in a2a9578. Root cause: the overlay step checked Fix in this commit:
Generated by Claude Code |
Summary
Closes #4000.
The
@adcp/client@5.21.1storyboard runner used on the 3.0.x CI does not implement thecontroller_seeding: true+fixtures.productsproduct-seeding pathway (added in@adcp/sdkv6.x). As a result,comply_test_controller.seed_productis never invoked beforesales_guaranteed/create_media_buyorsales_broadcast_tv/create_media_buy, leavingsession.complyExtensions.seededProductsempty.overlaySeededProducts()is a no-op andproductMap.get(pkg.product_id)returnsundefined→PRODUCT_NOT_FOUND.Fix: add the four missing product IDs as static catalog aliases in
buildCatalog(), following the established v5.14 precedent (outdoor_ctv_q2,local_display_dynamic).Changed files
server/src/training-agent/product-factory.ts— two new publisher-finder variables + four alias entries (sports_preroll_q2_guaranteed,outdoor_ctv_q2_guaranteed,primetime_30s_mf,late_fringe_15s_mf).changeset/fix-3.0.x-storyboard-product-catalog-seeding.md— empty changeset (non-protocol server change)Non-breaking justification
Purely additive: new product IDs are appended to the existing catalog map. No existing IDs are removed or mutated. No schema changes. Patch-only.
Pre-PR expert review
guaranteedCtvPublisherpredicate (deliveryTypes.length === 1 && deliveryTypes[0] === 'guaranteed') correctly resolves toviewpoint_sports, notpinnacle_news(which has two delivery types).linearTvPublisheralso resolves toviewpoint_sports(only publisher withlinear_tvin channels). Pricing-model inheritance from source product is not validated bycreate_media_buy— not a blocker.https://claude.ai/code/session_01C3siu1YwZuyBB3ootPAh4x
Generated by Claude Code