Observe Orchestration from Anywhere
Use this guide when you are running planner-worker orchestration on nfltr.xyz and want full visibility without keeping a terminal open. The hosted dashboard is your control tower: one card per orchestration, a DAG of every task, and a side task drawer that shows lifecycle, cost, workspace, and inner-LLM detail for each node.
Typical flow: kick off an orchestration from your laptop terminal, close the session, then open nfltr.xyz/dashboard on your phone and watch dispatch, worker turns, and verification unfold in real time.
Before You Open the Dashboard
Start work the way you already do on hosted NFLTR—planner MCP tools, nfltr orch, or your IDE bridge. You only need an API key and a running planner or orchestration id. Once tasks are in flight, everything below is available in the browser; no SSH or log tailing required.
# Example: decompose and start from your laptop, then walk away
nfltr orch spec decompose --goal "Ship the docs update" | nfltr orch start spec - --watch
Each run appears as an orchestration card on the dashboard. Inside the card, the DAG shows parent/child tasks, roles, and state at a glance. Click any node to open the task drawer on the right—this is where iter-79 inner-LLM observability lives.
What You See on the Dashboard
🗺️ Orchestration DAG
One graph per run: planner at the root, workers and verifiers as child nodes. Edge colors reflect state buckets so you can spot stalled or failed branches without reading logs.
📋 Task drawer
Click any DAG node to slide open the drawer. You get state, execution_role, elapsed time, worker id, objective, operator contract, cost breakdown, and workspace branch/path when the worker reported git metadata.
🔗 Deep link
Share or bookmark https://nfltr.xyz/dashboard#task=task-1779276137906158000 (replace with your task id). The hash #task=<id> opens the matching node and drawer automatically—handy when a teammate pings you from mobile.
🏷️ Status badges
Top-bar pills for in_flight, completed, and failed counts. Click a badge to filter the DAG to that bucket so you can focus on active work or post-mortem failures.
📊 Metrics card
Live counters plus dispatch latency p50/p90 pulled from orchestration metrics—useful when you want to know whether the control plane is keeping up while workers execute.
🧠 Inner-LLM detail (iter-79)
Inside the task drawer: Turn Timeline per worker turn, Tool Calls breakdown, Parent Context preview handed down from the parent task, and Memory Snapshots summarizing what the inner model retained turn-by-turn.
Walkthrough: Laptop → Phone
- Start on laptop — Run your planner dispatch; note the orchestration id or root task id from tool output.
- Open dashboard — Sign in at nfltr.xyz/dashboard and locate the orchestration card for your run.
- Scan the DAG — Confirm the root planner node and expanding worker fan-out. Failed nodes show a distinct state pill on the card.
- Inspect a worker — Click the implementer (or verifier) node. The task drawer header shows state, role, and elapsed time; scroll for cost and workspace sections when present.
- Read inner-LLM signals — Expand Turn Timeline to see each model turn in order. Open Tool Calls to see which MCP tools fired and whether they succeeded. Review Parent Context for the excerpt the parent handed this actor. Expand Memory Snapshots for per-turn memory summaries.
- Share a deep link — Copy the URL after the drawer opens (it updates to
#task=<id>). Paste into chat or Notes on your phone; reopening the link restores the same node. - Filter with status badges — Tap
in_flightto hide completed noise while work is still running; switch tofailedif you need to triage errors only. - Watch metrics — Glance at the metrics card for in-flight count and dispatch p50/p90 while you wait for verifiers to finish.
Task Drawer Sections (Quick Reference)
| Section | What it tells you |
|---|---|
| Header | Lifecycle state, execution_role, elapsed, task id, worker, objective |
| Operator Contract | Status, result, HITL state, setup state, retry signals, and relay-backed CLI commands for status and event audit |
| Parent Context | Preview of parent-task context passed into this worker; link jumps to the parent via #task= |
| Turn Timeline | Ordered inner-LLM turns with timing hints for long-running workers |
| Tool Calls | Per-turn tool invocations (names, outcomes) without reading raw JSON logs |
| Memory Snapshots | Turn-indexed memory summaries the worker reported back to the orchestrator |
| Result / Verification | Structured result status, summary, and verifier outcome when the role is verifier |
| Cost | USD and token breakdown when the worker reported usage |
| Workspace | Branch, path, and commit SHAs when the task ran in an isolated workspace |
Deep Links and Filtering Tips
- Use
/dashboard#task=task-Xin runbooks so on-call can jump straight to a failing child. - Use
nfltr orch task status --task task-X --events 20for the same relay-backed task snapshot from a terminal. - Use
nfltr orch task events --task task-X --tail 50 --since SEQwhen you need a resumable audit tail. - Status badges are clickable filters—combine with DAG zoom on large fan-outs.
- While the task drawer is open, DAG auto-refresh pauses so long prose and timelines stay readable.
- Parent links inside the drawer reuse the same
#task=contract—follow the chain up to the planner root without losing your place.
Related Docs
- Agent Orchestration — roles, contracts, and planner/worker overview
- Dashboard — full operator console surface
- AI Agent Orchestration — starting planners and workers on hosted NFLTR