Skip to content

fix(training-agent): remove signal_id/destination aliases from activate_signal, clarify schema descriptions#3356

Draft
bokelley wants to merge 2 commits intomainfrom
claude/issue-3349-fix-activate-signal-aliases
Draft

fix(training-agent): remove signal_id/destination aliases from activate_signal, clarify schema descriptions#3356
bokelley wants to merge 2 commits intomainfrom
claude/issue-3349-fix-activate-signal-aliases

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Refs #3349 — the adcp-client scenario fix (scenarios/signals.js) must be addressed in that repo separately.

Summary

  • Removes signal_id (wrong field), destination (singular), and options SDK-compat aliases from the training agent's activate_signal tool definition; these shims were silently accepting the exact malformed payload reported in Storyboard 5.13 activate_signal scenario uses wrong field name and wrong type for signal identifier #3349 instead of surfacing it as an error.
  • Adds missing idempotency_key to the tool inputSchema properties and updates required to ['signal_agent_segment_id', 'destinations', 'idempotency_key'], matching both the wire schema (activate-signal-request.json) and the runtime dispatcher enforcement.
  • Sharpens signal_agent_segment_id description in activate-signal-request.json and get-signals-response.json to make the distinction from the signal_id catalog object explicit at the schema level.

All three compliance storyboard YAMLs (signals_baseline, signal-owned, signal-marketplace) already use the correct fields — this aligns the training agent implementation with those storyboards.

Non-breaking justification: removes non-spec aliases from a training agent tool definition; no wire-format or schema type changes. The compliance storyboard source YAMLs and the published activate-signal-request.json required fields are unchanged. Callers sending correct protocol fields are unaffected.

Routing note: this is a patch changeset. No 3.0.x branch exists — targeting main. Needs @bokelley to cut a patch branch or merge into the upcoming 3.0.1 milestone once the branch is open.

Pre-PR review

  • code-reviewer: approved — two blockers fixed (missing idempotency_key in schema, empty required array); no remaining blockers
  • ad-tech-protocol-expert: approved — non-breaking per spec; signal_id/signal_agent_segment_id distinction is a deliberate two-concept design (catalog ref vs. opaque activation handle); storyboard YAMLs already correct

Triage-managed PR. This bot does not currently iterate on
review comments or PR conversation threads (only on the source
issue). To unblock:

  • Push fixup commits directly: gh pr checkout <num>
    fix → push.
  • Or re-trigger: comment /triage execute on the source
    issue.

See #3121
for context.

Session: https://claude.ai/code/session_011S9bnPFjuLTCyPPEUD2AoD


Generated by Claude Code

claude added 2 commits April 27, 2026 11:43
…te_signal tool

The activate_signal tool in the training agent accepted signal_id (wrong
field name) and destination/singular (wrong shape) as SDK-compat shims,
masking the exact bug reported in #3349 instead of surfacing it.

All three compliance storyboard YAMLs (signals_baseline, signal-owned,
signal-marketplace) already use the correct fields. This aligns the
training agent implementation with those storyboards.

Also clarifies signal_agent_segment_id descriptions in both
activate-signal-request.json and get-signals-response.json to make the
distinction from signal_id (catalog object) explicit at the schema level.

Refs #3349 — adcp-client scenario fix tracked separately.

https://claude.ai/code/session_011S9bnPFjuLTCyPPEUD2AoD
…ix required

Per pre-PR code review: idempotency_key was missing from the inputSchema
properties and required was incorrectly empty, misrepresenting what the
dispatcher enforces at runtime.

https://claude.ai/code/session_011S9bnPFjuLTCyPPEUD2AoD
@bokelley bokelley added the claude-triaged Issue has been triaged by the Claude Code triage routine. Remove to re-triage. label Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude-triaged Issue has been triaged by the Claude Code triage routine. Remove to re-triage.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants