Skip to content

fix(acp): replace direct send with send_tool_output in skill streaming paths#987

Merged
bug-ops merged 1 commit intomainfrom
worktree-fix/985-acp-tool-output
Feb 26, 2026
Merged

fix(acp): replace direct send with send_tool_output in skill streaming paths#987
bug-ops merged 1 commit intomainfrom
worktree-fix/985-acp-tool-output

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 26, 2026

Summary

  • Skill direct-output path (~line 522) and confirmation-required path (~line 555) in tool_execution.rs were calling channel.send(format_tool_output(...)) directly
  • Both paths now call channel.send_tool_output(...), emitting a structured LoopbackEvent::ToolOutput with separate tool_name and display fields
  • filter_stats_inline is forwarded as a structured field in the direct-output path

Test plan

  • cargo clippy -p zeph-core -- -D warnings passes with zero warnings
  • cargo nextest run -p zeph-core --lib — all 766 tests pass
  • Manual: verify ACP/Zed renders a tool card instead of plain text with embedded [tool output: name] header

Fixes #985.

@github-actions github-actions bot added rust core bug Something isn't working size/S labels Feb 26, 2026
…g paths

Skill execution paths (direct output and confirmation-required) were calling
channel.send(format_tool_output(...)) directly, embedding the tool header as
plain text. Both paths now call channel.send_tool_output so that LoopbackChannel
emits a structured ToolOutput event with separate tool_name and display fields,
enabling ACP consumers (Zed) to render a proper tool card.

Fixes #985.
@bug-ops bug-ops force-pushed the worktree-fix/985-acp-tool-output branch from b66d9dc to ecbda43 Compare February 26, 2026 18:53
@bug-ops bug-ops enabled auto-merge (squash) February 26, 2026 18:57
@bug-ops bug-ops merged commit 5bd6fbf into main Feb 26, 2026
25 checks passed
@bug-ops bug-ops deleted the worktree-fix/985-acp-tool-output branch February 26, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working core rust size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(acp): use send_tool_output for skill streaming paths

1 participant