You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filing here because that issue's triage concluded the work is entirely in this repo and that "a human will need to file or update the adcp-client issue/PR". It has been deferred since 2026-09-04 for want of this issue.
Bug
The parallel_dispatch_runner test-kit contract is not implemented in the runner, and its not-found path emits an error instead of the spec-required stable not_applicable. The result is that idempotency/two_parallel_create_media_buy_calls_with_same_key_converge_on_one_resource hard-fails and the storyboard aborts at 9/11 rather than recording a clean skip at 10/11.
Observed against https://sales-agent.elementaltv.io/mcp on cache 3.1.20 with @adcp/sdk@13.0.2, still reproducing as of 2026-09-08:
Test-kit contract "parallel_dispatch_runner" is not configured on this runner.
The spec side is already complete
From the upstream triage on adcp#7232:
The contract definition in the adcp repo is complete and correct (static/compliance/source/test-kits/parallel-dispatch-runner.yaml).
idempotency.yamlalready authorizes a stable not_applicable marker when the runner lacks parallel-dispatch support.
So no spec or storyboard change is needed — only this repo.
Two parts, per that triage
Implement parallel_dispatch_runnerprocess_local mode in src/lib/testing/storyboard/parallel-dispatch.ts and the runner dispatch logic — Promise.all dispatch plus IDEMPOTENCY_IN_FLIGHT resolution — so idempotency rule 9 gets a real grade.
Fix the not-found path to emit stable not_applicable, so runners without the contract record a clean 10/11 skip instead of aborting.
Part 2 alone removes the false negative, and is independent of part 1.
Impact
Two of eleven steps hard-fail on every graded run for reasons unrelated to the agent under test, keeping the idempotency storyboard partial and the core track from passing. The step never reaches the agent at all. Both assertions it exists to gate — a replay returning the cached response, and IDEMPOTENCY_CONFLICT on key reuse with a changed payload — already pass elsewhere in the same storyboard, so the concurrency case is the only ungraded part.
Upstream report: adcontextprotocol/adcp#7232
Filing here because that issue's triage concluded the work is entirely in this repo and that "a human will need to file or update the adcp-client issue/PR". It has been deferred since 2026-09-04 for want of this issue.
Bug
The
parallel_dispatch_runnertest-kit contract is not implemented in the runner, and its not-found path emits an error instead of the spec-required stablenot_applicable. The result is thatidempotency/two_parallel_create_media_buy_calls_with_same_key_converge_on_one_resourcehard-fails and the storyboard aborts at 9/11 rather than recording a clean skip at 10/11.Observed against
https://sales-agent.elementaltv.io/mcpon cache 3.1.20 with@adcp/sdk@13.0.2, still reproducing as of 2026-09-08:The spec side is already complete
From the upstream triage on adcp#7232:
adcprepo is complete and correct (static/compliance/source/test-kits/parallel-dispatch-runner.yaml).idempotency.yamlalready authorizes a stablenot_applicablemarker when the runner lacks parallel-dispatch support.runner-output-contract.yamlline 94 references PR feat(runner): conform storyboard output to adcp runner-output contract (#599) #611 as the intended implementation vehicle.So no spec or storyboard change is needed — only this repo.
Two parts, per that triage
parallel_dispatch_runnerprocess_localmode insrc/lib/testing/storyboard/parallel-dispatch.tsand the runner dispatch logic —Promise.alldispatch plusIDEMPOTENCY_IN_FLIGHTresolution — so idempotency rule 9 gets a real grade.not_applicable, so runners without the contract record a clean 10/11 skip instead of aborting.Part 2 alone removes the false negative, and is independent of part 1.
Impact
Two of eleven steps hard-fail on every graded run for reasons unrelated to the agent under test, keeping the idempotency storyboard partial and the core track from passing. The step never reaches the agent at all. Both assertions it exists to gate — a replay returning the cached response, and
IDEMPOTENCY_CONFLICTon key reuse with a changed payload — already pass elsewhere in the same storyboard, so the concurrency case is the only ungraded part.