## jayminwest/warren — v0.19.0…v0.19.1

_112 commits._

### Features
- **run detail phase rail on real pairs: add deriveStageDurations(run, even… (#1221)** (5294741)
- **runs stage timestamps: add workspace_ready_at, agent_ready_at, agent_en… (#1218)** (d773e46)
- **ops overview wire: add ?window=24h|7d|30d to GET /ops/overview (handler… (#1212)** (4f5bd33)
- **feat(forge): Azure DevOps Repos arm behind WARREN_FORGE=ado (#1188)** (440169b)
- **feat: register opencode-go in the provider env registry (#1183)** (d1f388e)
- **feat(k8s): cluster-wide cpu budget env, and events RBAC for the pod-warning watcher (#1184)** (61d9abd)
- **feat(prose-guard): flag clause dashes (warren-f5bf)** (5884e58)

### Fixes
- **fix(runs): retry provider stream breaks (#1211)** (809bb18)
- **fix(ui): rename dispatch ref prop to gitRef — reserved JSX prop threw React #290** (9aaa95f)
- **fix(k8s): reachable env override for a hyphenated provider, and drop the unused events verb (#1186)** (6bb0b0d)
- **🐛 fix(tracker): warren-tracker/v1 requires open/closed/other; the bridge rejects anything else (#1180)** (d118bef)

### Backend
- **seeds: sync 2026-09-03** (a3c473f)
- **seeds: sync 2026-09-03** (bfca9a9)
- **seeds: close warren-da21 and record pl-9fa9 outcome (20/20 children merged via the dogfood pipeline)** (db3dc47)
- **economics wire additions: totals.costUsd StatSummary (p50/p95 cost per … (#1222)** (b6339e8)
- **run detail Runtime + Spend facts: base commit is blank because runs.bas… (#1224)** (25310f6)
- **spectator cost per merged PR: move costPerMergedPrUsd from REDACTED_COS… (#1223)** (d0011d3)
- **mulch: update expertise** (30d6dc9)
- **seeds: sync 2026-09-03** (3ee3127)
- **supabase: decommission the warren-dogfood project (warren-f7e6)** (9e92bee)
- **copy sweep for pages no other child opens: instance.tsx:180 ('Server id… (#1219)** (9efaa90)
- **delivery + autonomy analytics: persist a reap.branch_pushed event row a… (#1215)** (99d7c23)
- **economics tab renders what the API already serves: economics-tab.tsx:74… (#1216)** (c9aa10a)
- **seeds: sync 2026-09-03 (#1217)** (d531530)
- **judge tab: judge-verdicts.ts:94 fetches ?limit=500 with no since, and t… (#1214)** (764b133)
- **run detail cleanup, UI only: side-panels.tsx:99 'Budget' -> 'Spend', dr… (#1213)** (5f65633)
- **runs list Runtime column: replace the raw pod-UID/sandbox handle with b… (#1210)** (8e4e9fc)
- **telemetry copy + project filter: telemetry.tsx:45 'THE LOOP' -> 'DELIVE… (#1209)** (ccac1d7)
- **projects + agents copy and spectator layout: projects.tsx:86 -> 'Reposi… (#1208)** (4264cc6)
- **runs list: Project column shows a branch only for runs with targetBranc… (#1207)** (7579b0f)
- **operations panel copy cleanup (warren-1af8): plain labels, drop runtime row, glanceable idle state (#1206)** (4094de0)
- **header: wire BURN and RUNTIME and drop 'CONTROL PLANE HEALTHY' (console… (#1205)** (64c0f4b)
- **warren-config: 8 GiB run pods for the warren project (pl-9fa9 UI runs OOM-killed at the 4 GiB cluster default)** (187e326)
- **plan-runs spectator crash: PlanRunRow types the six REDACTED_PLAN_RUN_F… (#1204)** (862d791)
- **seeds: file pl-9fa9 (console UI patches from the 2026-09 operator review, 20 children under warren-da21); mulch: record the plan decision** (26beed0)
- **seeds: close warren-49cc (rehearsal legs verified; end-to-end dispatch proven by the cutover smoke run)** (d2d7464)
- **postgres: strip Supabase from the repo — pooler/sslmode notes in RUNBOO… (#1203)** (a883cbe)
- **mulch: record the Supabase -> in-cluster Postgres cutover decision** (8ac7836)
- **seeds: close warren-c01d (Supabase -> in-cluster Postgres cutover 2026-09-03); mulch: record the cutover decision** (fbd6e26)
- **postgres backup: restore Job cannot be parameterised with kubectl set e… (#1202)** (c28197e)
- **filestore: docs — RUNBOOK-K8S §5.3/§7.5 and deploy/k8s/README repo-cach… (#1201)** (6285f4e)
- **seeds: file warren-a413 (templated restore path; Job templates are immutable); mulch: point the rehearsal guide at it** (815c3fc)
- **seeds: file pl-6076 dogfood follow-ups (cancel->retry, ci-postgres, pi tool timeout, sandbox kubectl, dispatch during rollout)** (c2b0141)
- **seeds: close warren-32bd, warren-79ee, warren-4c27; mulch: record pl-6076 session failures/guide (k8s, reap, warren-deploy, postgres)** (79fa8ad)
- **deploy-gke: quote rendered env values (numeric repo variables like 4096 / 1 must reach the Deployment as strings) (#1200)** (00d8c22)
- **postgres: migration tooling — scripts/pg-migrate/ with dump (public + d… (#1199)** (9581f15)
- **postgres: backup layer manifests — nightly pg_dump -Fc CronJob to a GCS… (#1198)** (773e9ae)
- **deploy-gke: render WARREN_K8S_SPOT and WARREN_K8S_MEMORY_{REQUEST,LIMIT… (#1197)** (b49cbc3)
- **hydrator: narrow EventsRepo.listUsageEvents to payload type in (turn_en… (#1195)** (032a67f)
- **postgres: opt-in kustomize component deploy/k8s/components/postgres (po… (#1193)** (e06d35c)
- **seeds: file warren-ff6f (deploy-gke repo-variable wiring for spot + memory, blocks warren-dd94)** (430a369)
- **sizing: analysis of actual run-pod peak memory across August runs versu… (#1196)** (e74ec23)
- **filestore: workspace-init falls back to a blobless partial clone (--fil… (#1191)** (d0e8be5)
- **spot: classify Spot preemption (pod status.reason Terminated / node-shu… (#1192)** (babf190)
- **hydrator: persist derived cost/tokens back to runs so a terminal run is… (#1194)** (70c8a37)
- **k8s: WARREN_K8S_SPOT env knob pins run pods to GKE Autopilot Spot nodes (warren-2e2e) (#1190)** (3800342)
- **mulch: update expertise** (2fe4c57)
- **mulch: update expertise** (478afdb)
- **seeds: sync 2026-09-02** (cacc226)
- **reap: count commits ahead with --first-parent (warren-a8cc) (#1189)** (677872d)
- **seeds: sync 2026-09-02** (0d0af9a)
- **mulch: update expertise** (220a88e)
- **mulch: update expertise** (7a6e4a9)
- **seeds: sync 2026-09-01** (0333a40)
- **judge: make the calibration sample actually random** (50701a0)
- **judge: bump pi-coding-agent to 0.84.4 so the openrouter registry resolves z-ai/glm-5.3** (fd75b08)
- **campaign-controller: openhuman target profile (drafted+validated, campaign benched)** (3c24121)
- **seeds: sync 2026-09-01** (7c60309)
- **mulch: update expertise** (39b35e4)
- **mulch: update expertise** (7eeedc3)
- **seeds: sync 2026-09-01** (5e7a4cf)
- **mulch: update expertise** (12a692c)
- **extensions: tracker-ado — warren-tracker/v1 over Azure DevOps Boards (#1181)** (4ca812a)
- **seeds+mulch: warren-68f2 close + deploy-gke dispatch reference** (5f25867)
- **campaign-controller(warren-68f2): executed campaign PRs open ready for review, not draft (#1187)** (940b49d)
- **mulch: campaign go-live pipeline guide (crewAI proven end-to-end)** (1ce5213)
- **seeds: sync 2026-08-31** (c7deeb1)
- **seeds: sync 2026-08-31** (18f2e79)
- **seeds: sync 2026-08-31** (4b492d6)
- **campaign-controller(warren-c418): crewAI repository profile — policy, observed CodeRabbit grammar, example manifest, goldens (#1185)** (eec0066)
- **✅ test: pin platform in git-preflight probes that assumed a Linux host (#1179)** (6158727)
- **campaign-controller(warren-442e): accept GitHub App bot logins '<owner>… (#1178)** (e316e54)
- **seeds+mulch: P1 dogfood wrap-up — follow-ups warren-1fa6 (involuntary pod-termination salvage) + warren-e0e5 (pi openrouter glm catalog), ops expertise x2 (zsh poll-loop word-split failure, parallel-dispatch collision cost)** (84969fd)
- **K8s cost-cap cancel destroys committed work: pod killed before finalize… (#1176)** (3d17116)
- **campaign-controller: profile bot grammar never wired into the tick path… (#1175)** (f720dfc)
- **seeds: file warren-442e (bot grammar cannot express [bot] logins + stale openclaw grammar data), dispatched as run_3pg4yqhm6b0c** (f96fc71)
- **Agent-image UI toolchain builds ~1.3KB gzip cooler than CI — pods write… (#1174)** (644e0b9)
- **seeds+mulch: openclaw campaign 2/3 ops — warren-01d5/c26c/8c83 filed, warren-04a6 closed, ops expertise x3 (cost-cap salvage loss, budget amendment guide, retry-after-infra-loss pattern)** (fe10715)
- **campaign-controller: amendment apply passed the validated wrapper into applyAmendment (warren-04a6)** (f3fd3e9)
- **seeds+mulch: pl-096b wrap-up — plan outcome success, close warren-585e, follow-ups warren-74a7/warren-1db0, ops expertise x3** (c1b28fb)
- **second-profile proof: onboard a non-openclaw repository profile and dri… (#1171)** (058c4c4)
- **branch freshness: detect behind-base/conflicted PRs on reconcile; journ… (#1170)** (ff52715)
- **seeds: close warren-0ad3 — PR #1169 merged, close lost at reap** (160cd5e)
- **follow-up run coordinator: classified feedback -> journaled follow-up i… (#1169)** (54b3d46)
- **mutation: postComment — finding-response replies and profile-declared r… (#1167)** (579746f)
- **mutation: updatePullRequest body refresh — re-render the body contract … (#1168)** (a78ebe2)
- **terminal accounting: merged/closed PR -> work-item outcome + campaign r… (#1164)** (64607db)
- **mutations phase 3: individually policy-gated updatePullRequest / postCo… (#1160)** (443d78c)
- **profile+manifest: evidence tiers — declare local-provable vs external-p… (#1165)** (267631f)
- **warren core: dispatch a run onto an existing branch — run checks out an… (#1166)** (5b172ad)
- **campaign-controller: review-feedback classifier with profile-declared bot grammar (warren-2ec3) (#1161)** (baf120d)
- **profile: PR-body contract as data — section names, order, footer, discl… (#1163)** (9dfe2df)
- **campaign-controller: attention hygiene — auto-resolve failing_checks on green, resolve superseded-manifest items on approval, dedupe bot-placeholder noise (warren-b853) (#1162)** (24ce3ca)
- **manifest amendment flow: append issues / adjust budget via digest-re-ap… (#1159)** (c6f3e4c)
- **campaign-controller: versioned agentGuidance profile block injected into dispatch prompts (warren-39b0) (#1157)** (0057dd5)
- **seeds+mulch: dogfood session wrap-up — pl-4ab6 outcome success, 4 follow-up bugs (warren-6397/08a0/1f85/d9c8), ops expertise x3** (451ace2)
- **Mobile verification sweep: bun run build:ui + bun run check:all green, … (#1156)** (f6f04d2)

### Docs
- **docs: local-model recipe — pi extension provider, verified against Ollama (warren-9e10)** (0d4b185)
- **docs(readme): swap em dashes for colons in the screenshot sections** (d3d9a06)
- **docs(readme): add live-instance UI screenshots (hero + gallery)** (49df085)

### Chore
- **chore: release v0.19.1** (aa0b777)
- **chore(deps): bump actions/download-artifact from 7 to 8 (#1177)** (0b7ecea)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/jayminwest/warren?utm_source=github-action)._