ROUGH MOCKUP — non-functional. Infoviz spike for the /api/dev/run inspector (debug-menu items #9–#11). Data is plausible-fiction for one run. Amber boxes = candidate infoviz layers to discuss.
Critical-path overlay: highlight the stage chain that actually set wall-clock (transcribe → quote-extraction), grey the rest. Answers "what do I optimise?"
Cost ↔ time tension: dual-encode each gantt bar — width = seconds, saturation/height = $ — so the cheap-but-slow (whisper) vs fast-but-pricey (LLM) split is visible in one glance.
Cache provenance: on hover, a cached bar shows which prior run it was reused from (run_id + age) — turns "why instant?" into a fact.
This-run vs typical: ghost bar behind each stage = its rolling median duration, so an anomaly stage pops without leaving the gantt.
Latency × tokens each call · y = latency · ◯ = retried · colour = stage
Cache hit ratio
38%cached in
Cached input tokens are billed ~10× cheaper. The ratio is the single biggest cost lever on re-runs.
Cost by stage stacked: input · output · cache
Calls llm-calls.jsonl · 16 rows
time
stage
model
in
out
cache
latency
retry
finish
cost
Infoviz layers to consider — LLM calls
Retry storms in time: the latency plot already rings retries — add a faint vertical band where ≥2 retries cluster (the 429-burst signature). Greppable becomes glanceable.
Token waterfall per stage: cumulative in/out/cache so you see a runaway prompt (the quote-extraction fan-out) vs a tight one.
Finish-reason strip: a thin colour bar per call (stop / length / tool) — a wall of "length" is the truncation-then-split path firing, worth surfacing.
$/insight, not $/call: divide stage cost by quotes/themes produced → "$0.004 per accepted quote." The number a researcher actually feels.
Provider A/B ghost: overlay what the same run would have cost on Sonnet / gpt-4o from the live pricing table — decision support, not just telemetry.
Estimate vs actual Welford μ ± σ over 14 runs · ● estimate ▎ actual
Forecast error by stage (actual − μ) / σ
Estimate convergence |error| shrinking as Welford learns this machine — quote extraction
Infoviz layers to consider — timing
σ as a trust signal: wide band = "we can't predict this stage yet." Drives whether the progress ETA shows a number or a spinner — a direct product hook into the determinate ring.
Per-hardware facets: small-multiple the dumbbell across M3 Max / Intel / CI-x86 — the model is keyed on hardware, so the spread is the story.
Anomaly flag: mark any stage where this run is >2σ off; link straight to that stage's log slice + LLM calls.
Cold vs warm: separate first-run (model load, no cache) from steady-state so the convergence curve isn't muddied by the cold start.