Skip to content

[FEATURE]: Single-agent producers emit the agent event schema #620

Description

@jakedipity

Summary

The single-agent emission sites each call a broker directly, so an agent's output has no shared vocabulary and no single place it passes through. Move them onto the agent event schema, publishing through one entry point that translates to the brokers, so consumers stay unchanged and later work has a seam to attach to.

Goals

  • Every single-agent emission — tool lifecycle, MCP progress, tool usage — expressed as an agent event rather than a broker-specific call.
  • One entry point every emission passes through, so a real event stream can be introduced later without revisiting the emission sites.
  • SSE output unchanged, demonstrably: a test drives the same sequence through the broker calls and through the new path and compares the frames, exercising the real broker registry rather than stubbed channels.
  • Integration suites run against the emission sites, which have no unit coverage of their own.

Searched Issues

  • No similar issues found

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. self-assigned this
    on Aug 31, 2026
  2. justintime4tea commented on Sep 18, 2026

    @justintime4tea
    Collaborator

    Landed in #621, merged to nightly as f3bdbd6.

    All four single-agent emission sites — the hook's tool_requested and tool_usage, MCP tool_start, and MCP progress — build AgentEvents and publish through agent_events::emit, which routes each payload to the broker it belongs to. An MCP client now holds the request it serves and the agent it serves it for as one CallContext, so a producer reads both under a single lock and attributes an event only to the request that named it.

    Differential coverage extends agent_event_differential.rs to drive the same sequence through the broker calls and through emit, asserting the SSE frames match.

    Note for #626/#627: this commit also removed the AURA_AGENT_EVENTS flag added in #618, so the two paths are no longer selectable at runtime.

    Closing manually: the commits use Ref: footers, which link but do not close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions