Skip to content

Orchestration Transparency

Mirror every dispatch, steering command, and status update to a dedicated monitoring channel. Full visibility into what the orchestrating agent is doing without checking individual agent sessions.

When to Use

  • Any multi-agent setup where an orchestrator dispatches work to subordinate agents
  • When a human operator needs to monitor orchestration decisions without interrupting the work
  • Debugging: when something goes wrong, the monitoring channel provides a chronological record of every dispatch

Architecture

┌──────────────┐     dispatch       ┌──────────────┐
│  Orchestrator │ ─────────────▶   │  Worker Agent  │
└──────┬───────┘                    └──────────────┘

       │ mirror (same message)

┌──────────────────────┐
│  Monitoring Channel   │
│  (read-only for       │
│   human operators)    │
└──────────────────────┘

Key Design Points

  • Mirror dispatches, not results. The monitoring channel shows what was sent to workers, not their full output. Worker results flow through their normal channels (PRs, issue comments, delivery targets).
  • Include context in the mirror. Don't just mirror the raw task text — include the worker target, model, and why this work was selected. The monitoring channel should be self-explanatory without cross-referencing other channels.
  • Best-effort mirroring. If the mirror message fails to send (channel unavailable, rate limit), log it but don't block the actual dispatch. The work is more important than the monitoring.
  • Separate monitoring from work channels. The monitoring channel is for observation, not interaction. Workers should not read from or post to the monitoring channel.

Cost

Near-zero. One additional message tool call per dispatch. No model inference, no additional API calls.

Failure Modes

  • Mirror becomes noise — too many dispatches flood the channel, making it unreadable. Fix: only mirror dispatches and steering, not routine heartbeats or no-op results.
  • Monitoring channel as interaction surface — humans reply in the monitoring channel, expecting the orchestrator to see it. The orchestrator may not be listening there. Keep it clearly labeled as observation-only.

Built with OpenClaw 🤖