Subproject: adcontextprotocol/adcp-client (routed to adcp by default — maintainer can move if needed)
Summary
The activate_signal storyboard scenario in scenarios/signals.js (5.13) sends { signal_id, destination, options } but the normative 3.0 GA schema has two bugs relative to the spec:
-
Wrong field name: signal_id is not a valid field. The required field is signal_agent_segment_id (per /schemas/3.0.0/signals/activate-signal-request.json, required: ["idempotency_key", "signal_agent_segment_id", "destinations"]).
-
Wrong type: The storyboard echoes the full SignalID object { source, agent_url, id } returned by get_signals directly into activate_signal. But signal_agent_segment_id is typed as a plain string (x-entity: "signal_activation_id"), not an object. The correct flow is to extract the string ID from the get_signals response and pass that string.
Schema reference
/schemas/3.0.0/signals/activate-signal-request.json:
- Required:
idempotency_key, signal_agent_segment_id, destinations
signal_agent_segment_id: { type: "string", x-entity: "signal_activation_id" }
- No
signal_id field exists anywhere in the signals/* schema set
Expected fix
In scenarios/signals.js, the activate_signal call should:
- Use
signal_agent_segment_id (not signal_id)
- Pass the string ID extracted from the
get_signals response (not the full object)
- Use
destinations (not destination) — verify plural form matches schema
Impact
Any signals-only agent correctly implementing the spec will fail or silently ignore the storyboard's activate_signal call, making the storyboard an unreliable compliance signal for this task.
Summary
The
activate_signalstoryboard scenario inscenarios/signals.js(5.13) sends{ signal_id, destination, options }but the normative 3.0 GA schema has two bugs relative to the spec:Wrong field name:
signal_idis not a valid field. The required field issignal_agent_segment_id(per/schemas/3.0.0/signals/activate-signal-request.json,required: ["idempotency_key", "signal_agent_segment_id", "destinations"]).Wrong type: The storyboard echoes the full
SignalIDobject{ source, agent_url, id }returned byget_signalsdirectly intoactivate_signal. Butsignal_agent_segment_idis typed as a plainstring(x-entity: "signal_activation_id"), not an object. The correct flow is to extract the string ID from theget_signalsresponse and pass that string.Schema reference
/schemas/3.0.0/signals/activate-signal-request.json:idempotency_key,signal_agent_segment_id,destinationssignal_agent_segment_id:{ type: "string", x-entity: "signal_activation_id" }signal_idfield exists anywhere in the signals/* schema setExpected fix
In
scenarios/signals.js, theactivate_signalcall should:signal_agent_segment_id(notsignal_id)get_signalsresponse (not the full object)destinations(notdestination) — verify plural form matches schemaImpact
Any signals-only agent correctly implementing the spec will fail or silently ignore the storyboard's
activate_signalcall, making the storyboard an unreliable compliance signal for this task.