Expand description
What a handler reports with, and how it learns it should stop.
A handler is written once and reached by every transport. Most of them have no
execution behind them — a command line call, an MCP tool call, a benchmark sample — so
reporting has to be free to call and do nothing when nobody is listening. That is what
Progress is: a handle every crate::capability::Context carries, silent unless
the call came through the execution engine.
The consequence is the point of the design. health.report does not know whether it is
answering GET /api/v1/health, an MCP tool call or a browser watching it run; it
reports its steps the same way in all three, and only the execution engine turns those
reports into events anybody can see.
Structs§
- Progress
- The one thing a handler is given to say what it is doing.