Observability
Monitor agent activity with watch, logs, and real-time events.
Watch
Live stream of all agent activity:
tack watch
tack watch --summary
tack watch --verbose
tack watch --objective <objective-id>
tack watch --stream <stream-id>
tack watch --agent <agent-id>18:16:12 [stream-1] builder: read src/schemas.ts
18:16:15 [stream-1] builder: edit src/routes/expenses.ts
18:16:19 [stream-2] builder: $ bunx tsc --noEmit
18:16:23 [stream-1] builder: done: Added PATCH endpoint
18:16:25 [stream-1] lint passed
18:16:38 [stream-1] quality_gate_failure -> rerun_previous_agent (1/4)
18:16:52 [stream-1] recovery blocked: retry budget exhausted; awaiting human guidance
18:20:04 [stream-1] recovery resumed: guidance applied
18:47:35 [stream-1] merged ✓Verbosity Levels
tack watch --verbose # More tool and message detail
tack watch --summary # Objective-level status changes onlyAgent Logs
Replay what a specific agent did from project-scoped JSONL activity logs:
tack logs <agent-id>
tack logs <agent-id> --follow # Live tail
tack logs <agent-id> --verbosetack logs reads the canonical activity log for the targeted project and filters it down to one agent.
Escalations
When an agent hits a blocker, Tack sends an escalation:
tack mail <agent-name>
tack mail send <agent-name> "Need clarification" "Please use the shared helper" --objective <objective-id>Escalation dedup ensures you get one notification per unique blocker, not 50 copies of the same error across fix-loop iterations.
Timeline Model
Today watch gives you the projected live operator timeline and logs gives you full-fidelity replay.
Tack's observability direction is to keep both surfaces aligned around the same canonical operator record model:
watchfor notable live eventslogsfor detailed replay- shared correlation by
project_id,objective_id,stream_id, andagent_id
Timeouts
Per-role max duration and idle timeouts. An agent that stops producing output gets killed with a clear error message.
agents:
timeouts:
default:
max_duration_minutes: 30
idle_minutes: 10
builder:
max_duration_minutes: 45
reviewer:
max_duration_minutes: 15SSE Events
The daemon exposes a Server-Sent Events (SSE) endpoint for real-time integration:
GET /eventsProject-aware clients should also send X-Tack-Project-ID when targeting a specific registered repo. See the HTTP API reference for full endpoint details.
Events include agent activity, status changes, recovery attempts, blocked recovery, resumed recovery, merge completions, and escalations.