2026.7.23 — Five-State Run Status Unleashed

Released 2026-07-23

← All releases

What's New

  • Introduced a five‑state run status taxonomy with channel‑aware classification and a new “Human on the loop” status tile.
  • Launched the /analytics Command Center page with full dashboards, filters, and new KPI visualizations (ticket throughput, cost per ticket, workflow cost comparison).
  • Added workspace repository glob expansion for flexible repo selection in CI pipelines.
  • Extended analytics APIs: effectiveness, cost‑drivers, prior‑period deltas, ticket‑based aggregates, and prior‑window comparison.

Improvements

  • Widened the run‑detail drawer to 66 vw and made it overlay with a click‑to‑close backdrop for smoother navigation.
  • Standardized cost‑driver sparklines and heatmap tooltips, applying consistent run‑level filters across analytics.
  • Switched the Runs table to paginated view and reduced default page size for faster loading.
  • Added concise info‑icon tooltips and renamed KPI labels for clearer insight.
  • Implemented silent 60 s auto‑refresh polling to keep dashboards up‑to‑date without manual reload.

Fixes

  • Fixed missing bootstrap environment handling and prevented persisting provider environments.
  • Validated environment variable names before interpolation and stripped injected keys from storage.
  • Corrected double‑boundary model filtering and weekday label alignment in heatmaps.
  • Resolved negative duration display for in‑progress runs and improved stale GitHub webhook handling.
  • Ensured cost‑driver windows align with sparklines and fixed KPI card misalignment bugs.

Raw Changelog

Show raw git changelog
text
02e76ca0 rename(web): relabel run status "Human in the loop" to "Human on the loop" (Ana Berg)
2d8b06f3 Merge pull request #525 from elasticclaw/claude/analytics-command-center-v2 (Ana Berg)
de010269 Merge pull request #537 from elasticclaw/send-env-to-replicated (Marc Campbell)
e2a7f497 fix(hub): fail closed on missing bootstrap env (Marc Campbell)
518543fd test(e2e): allow slower provider bootstrap (Marc Campbell)
5df8a92e fix(hub): avoid persisting provider environment (Marc Campbell)
2557e536 Merge pull request #539 from elasticclaw/fix/claw-card-follow-latest (Marc Campbell)
f952e7a2 docs: explain follow-latest layout retries (Marc Campbell)
177fc12e fix: serialize no-progress pause state (Marc Campbell)
c8145dd1 fix: preserve claw card scroll position (Marc Campbell)
daeccc58 fix: pause repeated no-progress turns (Marc Campbell)
9d73058a fix(hub): validate env var names before interpolating into bootstrap script (Xav Paice)
2924be71 Fix double-boundary model filtering in analytics usage sparklines (Ana Berg)
b2f310a3 Fix weekday label alignment in Cost by day heatmap (Ana Berg)
a1d97a9e Align KPI values and legend text in analytics command center (Ana Berg)
0f2faac6 fix(hub): strip bootstrap-injected keys from claws.env storage (Xav Paice)
b14277fb Merge pull request #536 from elasticclaw/feat/workspace-repository-globs (Marc Campbell)
4d86328e Fix drawer closing on silent poll when selected run drops off page (Ana Berg)
3834f9fc Address repository glob review feedback (Marc Campbell)
20506494 Add silent 60s auto-refresh polling to analytics command center (Ana Berg)
e259730a fix(hub): inject custom env vars into replicated and exedev bootstrap (Xav Paice)
9bf0d9ae Address session recovery review feedback (Marc Campbell)
234dd2f4 Update delivery funnel UI for the new three-stage backend shape (Ana Berg)
847e1f11 Replace delivery funnel with agent-started/PR-opened/PR-finished stages (Ana Berg)
c44ca0e9 Add workspace repository glob expansion (Marc Campbell)
fb17b9e1 Fix clipped labels in runs-per-ticket and top-tickets-by-cost charts (Ana Berg)
8d23300f Add ticket throughput, runs-per-ticket, and top-tickets charts (Ana Berg)
331856c6 Recover poisoned OpenClaw sessions (Marc Campbell)
6e317af0 Add ticket-based aggregates to analytics effectiveness endpoint (Ana Berg)
6e6643a7 Rename Cost per ticket tile and keep its delta on one line (Ana Berg)
b7400d3f Add Cost per ticket KPI tile to analytics command center (Ana Berg)
a0280045 Show vs-prior deltas on the effectiveness KPI tiles (Ana Berg)
ceb5e05e Add prior-window comparison to the effectiveness endpoint (Ana Berg)
93b28eeb Merge pull request #534 from elasticclaw/fireworks-price (Marc Campbell)
8b809f65 Replace merge rate with unique-ticket KPIs in the Effectiveness group (Ana Berg)
2cbdc774 Add unique-ticket KPIs to the analytics effectiveness endpoint (Ana Berg)
970d461c fix(hub): use canonical Fireworks kimi-k2p7-code model ID (Xav Paice)
396ccdad Drop KPI hover background and add an info-icon tooltip indicator (Ana Berg)
e3531e59 Align cost-drivers sparkline with row totals for default eligibility (Ana Berg)
54127c42 Fix KPI card misalignment from the disabled-tooltip wrapper and missing delta row (Ana Berg)
da305606 Match analytics tooltip styling to the heatmap's custom tooltip (Ana Berg)
e43fcab3 Replace native title tooltips with styled Tooltip in analytics command center (Ana Berg)
9f2bc85f feat(hub): seed Fireworks kimi-k2p7-code model price (Xav Paice)
3a1bf30d Fix negative duration display for in-progress runs (Ana Berg)
b6e6d81e Add workflow cost comparison chart to analytics command center (Ana Berg)
85da2bb6 Improve cost-by-day heatmap tooltip, day selection, and weekday labels (Ana Berg)
ef6f6000 Drop scope=ledger for the year heatmap when run-level filters are active (Ana Berg)
98b37474 Add plain-language tooltips and group cost drivers by workflow (Ana Berg)
d967e117 Reorder analytics command center sections (Ana Berg)
269a2363 Fix double-window bug zeroing prior-period cost deltas (Ana Berg)
36fdf414 Pass scope=ledger explicitly for the year-heatmap costs fetch (Ana Berg)
c474e622 Anchor to-only cost-driver ranges so totals and sparkline agree (Ana Berg)
d23bba85 Require explicit scope=ledger for analytics costs to bypass run eligibility (Ana Berg)
efcf1a11 Merge remote-tracking branch 'origin/main' into claude/analytics-command-center-v2 (Ana Berg)
5a9d0251 fix(hub): attribute cross-day usage to run-filtered cost totals and series (Ana Berg)
e71a5abb Fix flaky TestSendNextQueuedMessageKeepsPendingAfterWriteFailure (Ana Berg)
649a668d Fix OutcomesChart legend showing raw dataKeys (Ana Berg)
cefd0bcd Adapt analytics command center to five-state status taxonomy (Ana Berg)
5a357a77 Update analytics tests to seed the five-state run taxonomy (Ana Berg)
3f60389a Adapt effectiveness analytics to five-state run taxonomy (Ana Berg)
83e28018 Merge remote-tracking branch 'origin/main' into claude/analytics-command-center-v2 (Ana Berg)
5a8a7dc1 Merge pull request #532 from elasticclaw/claude/analytics-runs-status-plan-da2276 (Ana Berg)
639664b7 Use payload ClosedAt for closed-unmerged webhook PRs and summarize V3 backfill skips (Ana Berg)
da69a0aa Add missing test coverage for run-status v3 migration and reconciliation (Ana Berg)
bc290a1a Fix PR reconciliation review findings (Ana Berg)
1ac6e7b6 test(e2e): replace hard-coded sleep with polling loop for docker run verification (elasticclaw-factory[bot])
196ab767 fix(hub): Docker provider support for deterministic workflow run actions (#530) (elasticclaw-factory[bot])
cbec9b2d Add human_in_the_loop status tile and update StatusBadge for new taxonomy (Ana Berg)
7fe99ea9 Reconcile late PR merges/closes for dead-claw task runs (Ana Berg)
1993e820 Introduce five-state run status taxonomy with channel-aware classification (Ana Berg)
4d870a1a Reconcile task-run PR outcomes for dead claws (Ana Berg)
8d283401 Merge remote-tracking branch 'origin/main' into claude/analytics-command-center-v2 (Ana Berg)
3f953379 fix(e2e): tighten stale-hook TTL and retry hook creation on 422 (Ana Berg)
8c4d714c fix(e2e): sweep stale GitHub webhooks before hook creation (Ana Berg)
f69b6b75 fix(hub): make cost-driver sparklines consistent with run-level filters (Ana Berg)
b7ba6a49 feat(web): rename effectiveness KPI labels and add explanatory tooltips (Ana Berg)
a9ba6cae feat(web): widen run detail drawer to 66vw with a click-to-close overlay (Ana Berg)
77f01115 fix(web): keep the run detail panel a fixed drawer at xl widths (Ana Berg)
17248ace refactor(web): remove Top cost drivers click-to-drill (Ana Berg)
1caa780e fix(web): portal RunDetailPanel to body so it overlays inside settings (Ana Berg)
9ea56c72 feat(web): drill top cost drivers from factory to workflow (Ana Berg)
29fc2d0d fix(web): reduce analytics runs table page size to 10 (Ana Berg)
7ac1d56b feat(web): switch Runs table to page-based pagination (Ana Berg)
2a4aedca feat(web): mount analytics dashboard as a settings section (Ana Berg)
70a5c5e6 Revert "refactor(web): extract sidebar wiring into useSidebarState + AppSidebar" (Ana Berg)
2ca275aa Revert "feat(web): mount main sidebar on the analytics page" (Ana Berg)
e28faa5c fix(web): size the Cost KPI group grid to its two tiles (Ana Berg)
3944b486 feat(web): mount main sidebar on the analytics page (Ana Berg)
21f5dadb refactor(web): extract sidebar wiring into useSidebarState + AppSidebar (Ana Berg)
9a216d81 fix(web): stop reading the clock during analytics render (Ana Berg)
38c535f7 fix(web): cancel and sequence analytics loads to avoid stale overwrites (Ana Berg)
b835bc69 fix(hub): align cost-drivers window with sparkline default (Ana Berg)
7cdb1b9c fix(hub): make cost analytics consistent with run-level filters (Ana Berg)
8539a8e9 Remove unused Suspense import from settings content (Ana Berg)
c8fedad6 Align command center widgets to a single selected period (Ana Berg)
62f240fe Apply factory and workflow filters to cost-driver sparklines (Ana Berg)
adae83ec Fix analytics command center date filters and heatmap grid order (Ana Berg)
958b534a Retire legacy analytics section, redirect settings to /analytics (Ana Berg)
1d4e7889 Add /analytics command center page (Ana Berg)
b22864a4 Export shared filter/status/detail components from analytics view (Ana Berg)
731ac618 Add heatmap ramp color tokens for light and dark themes (Ana Berg)
2254844f Add analytics API fetchers and types for command center (Ana Berg)
72fe85b6 Fix funnel prMerged and mergeRate to count runs, not merged PRs (Ana Berg)
30afdf23 Test that closed-unmerged PRs count toward success rate, not merge rate (Ana Berg)
37a5eb15 Add effectiveness and cost-drivers analytics endpoints (Ana Berg)
1d7fe2ec Extend costs endpoint with prior period, model series, and run counts (Ana Berg)
a57b6368 Add prior-period deltas to analytics summary and general-stats (Ana Berg)