analytics 2026-04-21

This page is the daily netsky observability cut: DuckDB-style SQL over ~/.netsky/meta.db, rendered by netsky analytics daily, with Plotly charts checked into the website. It is both the operator dashboard and the product demo of what the system measures about itself.

generated 2026-04-21T12:00:06Z

summary #

  • sessions: 2 (median —)
  • crashes: 0 (MTTR —)
  • clones dispatched: 3 (0.0 clone-hours)
  • tokens: 0 in / 0 out / 0 cached ($0.00)
  • tasks closed: 8 (actual 2307 min, median drift -40.0%)
  • task state: 13 open / 83 closed (close rate +86.5%)
  • messages: 146
  • commits to main: 36
  • uptime: agent0 22h58m / any session 22h58m

sessions by agent #

messages by source #

clones by runtime #

tokens by runtime #

no data for this day

token percentiles (input / event) #

no data for this day

tasks closed today #

  • count: 8
  • total actual minutes: 2307
  • median drift: -40.0%

task metrics #

Historical fix: same-minute closes now floor actual_minutes at 1 when a task closes after creation but before the clock crosses a full minute. That repairs pre-v8 zero-minute rows without inventing a new lifecycle column.

  • open: 13
  • closed: 83
  • close rate: +86.5%
  • median estimate: 60 min
  • median actual: 27 min
  • median drift: -40.0%
  • dispatch to harvest median: —

open by priority #

closed by priority #

open by source #

closed by source #

cycle time histogram #

dispatch to harvest latency #

no data for this day

top drifted tasks #

taskestimateactualdrift
#82 skill: /estimate - reads task brief + historical actuals, returns estimate_minutes + confidence60 min27 min-55.0%
#83 gate: netsky task update –status in_progress refuses when estimate_minutes is null. clones must estimate-at-ack or /estimate skill fills heuristic default. codify in 0.md clone-ack protocol45 min27 min-40.0%
#88 analytics data-eng overhaul: filter controls, data tab (tables + CSV/parquet + schema), duckdb-wasm playground, drill-down, group-by selectors, comparison views120 min85 min-29.2%

test suite timing #

  • tracked tests: 10
suitetestrunsp50 7dp90 7dlast
netsky test unitunit/test-iroh-e2e.sh278859 ms9087 ms8970 ms
netsky test integrationintegration/test-clone-tool-deny-hook.sh138318 ms8871 ms8259 ms
netsky test integrationintegration/test-clone-health-json.sh131256 ms5502 ms5502 ms
netsky test unitunit/test-fresh-clone.sh283092 ms5052 ms4867 ms
netsky test unitunit/test-channel-concurrent-send.sh283710 ms4551 ms3426 ms
netsky test unitunit/test-test-record-to-db.sh283177 ms3222 ms3212 ms
netsky test unitunit/test-status-watch.sh283124 ms3149 ms3142 ms
netsky test integrationintegration/test-netsky-ai-status-wait-cat.sh132241 ms2264 ms2242 ms
netsky test unitunit/test-bash-portability.sh281345 ms2127 ms1791 ms
netsky test unitunit/test-pre-push-guard.sh191787 ms2087 ms1857 ms

tokens per task #

  • no task-attributed token rows

iroh #

  • connect: 0, evict: 0, reconnect: 0, handshake_refused: 0

queries #

DuckDB rerun snippets:

task snapshot by priority #

SELECT status, COALESCE(priority, 'unscoped') AS priority, COUNT(*) AS n
FROM tasks
WHERE created_at < '2026-04-22T00:00:00Z'
GROUP BY status, priority
ORDER BY status, n DESC;

closed-task drift #

SELECT id, title, estimate_minutes, actual_minutes,
((actual_minutes - estimate_minutes) * 100.0) / estimate_minutes AS drift_pct
FROM tasks
WHERE status = 'closed'
AND closed_at >= '2026-04-21T00:00:00Z' AND closed_at < '2026-04-22T00:00:00Z'
AND estimate_minutes IS NOT NULL AND actual_minutes IS NOT NULL
ORDER BY ABS(((actual_minutes - estimate_minutes) * 100.0) / estimate_minutes) DESC
LIMIT 10;

task token attribution #

SELECT task_id, model,
SUM(COALESCE(input_tokens, 0)) AS input_tokens,
SUM(COALESCE(output_tokens, 0)) AS output_tokens,
SUM(COALESCE(cached_input_tokens, 0)) AS cached_tokens,
SUM(COALESCE(cost_usd_micros, 0)) AS cost_usd_micros
FROM token_usage
WHERE task_id IS NOT NULL
AND ts_utc >= '2026-04-21T00:00:00Z' AND ts_utc < '2026-04-22T00:00:00Z'
GROUP BY task_id, model
ORDER BY cost_usd_micros DESC;

test timing rollup #

SELECT suite, name, duration_ms
FROM test_runs
WHERE ts_utc >= '2026-04-15T00:00:00Z' AND ts_utc < '2026-04-22T00:00:00Z'
AND name <> ''
ORDER BY suite, name, duration_ms;

dispatch to harvest proxy #

SELECT c.branch, MIN(c.ts_utc_start) AS dispatch_start, h.commit_sha, MIN(h.ts_utc) AS harvest_ts
FROM clone_dispatches c
JOIN harvest_events h ON h.source_branch = c.branch
WHERE c.ts_utc_start < '2026-04-22T00:00:00Z' AND h.ts_utc < '2026-04-22T00:00:00Z' AND h.status = 'applied'
GROUP BY c.branch, h.commit_sha;