Bus: toolCall args-revealed reuses toolCallStart; no distinct post-approval event #27

Open
opened 2026-05-12 19:05:46 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:05:46 +00:00 (Migrated from github.com)

Summary

MCPBusGatewayAdapter.updateArgsPreview re-emits BusOutbound.toolCallStart for post-approval emission instead of a distinct event. The HUD upserts by id (fine in practice), but the bus protocol has no distinct "args revealed" event, so downstream consumers (replay viewer, future tracing) can't distinguish awaiting-approval from post-approval emission without lookback by id.

Evidence

  • File: App/MCPBusGatewayAdapter.swift:59-66 — second-phase post-approval emission reuses BusOutbound.toolCallStart(id:, name:, argsPreview:)

Impact

Observability nuance, not a bug. Flag for bus protocol v2 discussion if anyone revisits the wire schema.

Recommended fix

Consider adding BusOutbound.toolCallArgsRevealed(id: UUID, argsPreview: String) to the bus protocol when M-7 bumps BUS_PROTOCOL_VERSION = "2.4.0". Optional — only worth the wire change if a real consumer needs the distinction.

Source

  • Audit: .planning/audit-2026-05-12/mcp-agent-audit.md (2026-05-12) — finding LOW-1

Cross-references

  • Related: #11 (M-7 Turn) — natural landing site for any bus protocol v2 changes
## Summary `MCPBusGatewayAdapter.updateArgsPreview` re-emits `BusOutbound.toolCallStart` for post-approval emission instead of a distinct event. The HUD upserts by id (fine in practice), but the bus protocol has no distinct "args revealed" event, so downstream consumers (replay viewer, future tracing) can't distinguish awaiting-approval from post-approval emission without lookback by id. ## Evidence - File: `App/MCPBusGatewayAdapter.swift:59-66` — second-phase post-approval emission reuses `BusOutbound.toolCallStart(id:, name:, argsPreview:)` ## Impact Observability nuance, not a bug. Flag for bus protocol v2 discussion if anyone revisits the wire schema. ## Recommended fix Consider adding `BusOutbound.toolCallArgsRevealed(id: UUID, argsPreview: String)` to the bus protocol when M-7 bumps `BUS_PROTOCOL_VERSION = "2.4.0"`. Optional — only worth the wire change if a real consumer needs the distinction. ## Source - Audit: `.planning/audit-2026-05-12/mcp-agent-audit.md` (2026-05-12) — finding LOW-1 ## Cross-references - Related: #11 (M-7 Turn) — natural landing site for any bus protocol v2 changes
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#27