Global stream
muxAI streams agent activity in real time via Server-Sent Events (SSE). A collapsible Stream panel sits at the bottom of every page, showing live output from all running agents. The stream shows:- Run start/end events with agent name and status
- Log lines as agents think and call tools
- Tool calls formatted as
tool_name(args) - Errors when something goes wrong
Stream History
The Stream History page (/streams) gives you a full-page view of both live activity and past runs. It combines:
- Live entries from the current session (stored in browser localStorage, capped at 500)
- Database history loaded from past runs below a divider
Which agents appear in the stream?
Only agents withpersistLogs enabled show up in the stream and history. This is controlled per agent in the edit form.
By default:
This keeps the stream focused on team-level outputs. Reporter activity is still captured in each reporter’s individual run history. You can always view a specific reporter’s runs from their detail page.
Run history
Every agent run is recorded in the database as aHeartbeatRun with:
- Status (succeeded, failed, cancelled, timed out)
- Full log output
- Result JSON (if the agent produced structured output)
- Outcome label and custom fields (user-marked after the fact — e.g. Win / Loss / NA plus pnl, note)
- Timestamps and exit code
- Session ID (for resume support)
- Optional
parentRunIdlinking the run to a prior decision being re-examined (see Memory & Decisions)
reviewDecisions will see these outcomes on their next run via get_my_decisions. Parent runs that have been re-examined show a Conviction history list of their child re-examinations underneath the result card.
Results
The Results page (/results) shows all runs that produced structured JSON output. Each result is rendered as a card based on the agent’s resultCard configuration (e.g. Trade Decision, Research Summary, Alert).
For trade decisions specifically, /results/trade-decisions is a dedicated terminal with a blotter, candle chart with entry/TP/SL overlays, and per-trade controls. Re-examination runs don’t appear as standalone rows — their latest conviction score and suggested action are surfaced inline on the parent trade row, and the Re-examine button on each active trade lets you trigger a fresh full-council re-evaluation without leaving the page.
The Dashboard also shows the latest result from your most recent run.
