Skip to content

signals_flow scenario sends non-spec field name 'signal_id' (string per spec, object per fixture) to activate_signal #1033

@EvgenyAndroid

Description

@EvgenyAndroid

Summary

The signals_flow scenario in lib/testing/scenarios/signals.js calls activate_signal with two bugs:

  1. Wrong field name: signal_id is sent instead of signal_agent_segment_id. signal_id does not exist in /schemas/3.0.0/signals/activate-signal-request.json.
  2. Wrong type: The fixture passes the full SignalID object { source, agent_url, id } from get_signals rather than unwrapping the string ID. The spec types signal_agent_segment_id as string (x-entity: "signal_activation_id").

Repro

Any signals-only agent with strict schema validation. The agent will reject or silently drop the activate_signal call because the required field is absent and the value shape is wrong.

Fixture location

node_modules/@adcp/client/dist/lib/testing/scenarios/signals.js lines 82–89

Fix

-{ signal_id: signal, ... }
+{ signal_agent_segment_id: signal.id, ... }
  1. Rename signal_id —> signal_agent_segment_id
  2. Unwrap .id from the SignalID object before passing (pass the string, not the object)
  3. Verify destination —> destinations (plural) while in this block

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" }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions