Files
nntrivi2001 57dc91585d feat: Claude Code Monitor — lanes, pipelines and a merged workspace
Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
2026-07-30 14:39:03 +07:00

32 lines
1.3 KiB
Markdown

---
description: Print a quick SLO snapshot — completion rate, tool success rate, and error rate
---
Print a compact SLO snapshot for Claude Code usage from the Agent Monitor
dashboard at `http://localhost:4820`. No arguments.
1. Fetch the raw counts:
```bash
curl -s http://localhost:4820/api/analytics
curl -s http://localhost:4820/api/stats
```
From `analytics`: `event_types` (PreToolUse, PostToolUse, APIError) and
`sessions_by_status`. From `stats`: `total_events`, `total_sessions`.
2. Compute three SLIs:
- **Completion rate** = completed sessions / total sessions (from
`sessions_by_status`; exclude still-`active`/`running` sessions from the
denominator).
- **Tool success rate** = `PostToolUse / PreToolUse` (cap at 100%).
- **Error rate** = `APIError / total_events`.
3. Compare each to its default target (completion ≥ 95%, tool success ≥ 99%,
error ≤ 1%) and print one line per SLI:
`SLI .......... observed% (target X%) ✅ MET | ❌ BREACHED`
Output rules: rates as percentages to 2 decimals; cite only fields the API
returned — never fabricate. End with one verdict line (e.g.,
`SLOs: 3/3 met` or `SLOs: error rate BREACHED`). Keep it to the snapshot only; no
extra prose. If `curl` cannot reach `http://localhost:4820`, tell the user to
start the dashboard with `npm start` from the repo root.