Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Statusline and observability

Flock exposes two complementary observability surfaces:

  1. statusline.json — dashboard pane/agent snapshot (MCP-readable)
  2. flock run --json — typed flock-events NDJSON stream

Both are produced by the same runtime; they serve different consumers.

statusline.json

Written by flock dashboard to ~/.config/flock/statusline.json (override with workspace config).

{
  "connected": true,
  "socket": "/Users/you/.config/flock/flock.sock",
  "agents": { "total": 3, "idle": 1, "working": 1, "blocked": 0, "done": 1, "unknown": 0 },
  "selected": { "pane_id": "w1:p1", "agent": "claude", "status": "working" },
  "vitals": { "circulation_score": 0.82, "deferred_ratio": 0.1, "cold_zone_count": 0, "herdr_pulse": 0.4 },
  "live_pressure": { "zone_intensity": {} },
  "telemetry": { "agent_transitions": 42 }
}

MCP read path

Use flock mcp tools or flock dashboard --history for headless telemetry queries.

flock-events schema (--json)

flock run --json emits one serde-tagged event per line. Canonical variants:

EventWhen
episode_startBefore scheduler loop
scheduler_tickEach tick
wake_summaryAfter dispatch batch
task_dispatchedPer dispatched task
verify_resultPlugin verify
tool_decisionMCP / governance tool path
permission_deniedGovernance deny
budget_exhaustedDispatch cap hit
depositPheromone deposit
archive_write_backPost-run archive merge
episode_endAfter episode JSON written

Multiplexer events.subscribe can bridge the same schema via EmittedEvent::from_flock_event.