Changelog

Notable shipped changes. Versions are the lock-step cu / cu-daemon / API constant; /healthz and /dl/version report what's live.

0.6 cycle — Quality Plane (2026-05-16)#

Shipping is now conditional on human-selected, evidence-backed Critical Moments — built on the v0.5 Work Graph:

  • Quality Plane keystone — migration 0017 (quality_critical_moments / _acceptance_criteria / _evidence_cards / _feedback_constraints); own internal/quality module (SQL-only seam to work_items, OSS-separable); propose (deterministic, not an LLM) → select/edit/add → criteria+scenario → declared Evidence Cards → human accept/reject (reject → Feedback Constraint) → computed Quality Gate (P0 = machine_passed + human_accepted). Wired into /work/[id] like the demo. Owner-scoped, real-Postgres tested incl. isolation + gate ready/blocked paths.
  • Honestly gated — LLM generation, real Playwright/API/DB probes + artifact store, browser agents, GitHub checks, maker-checker. Evidence is declared, never fabricated. See docs/v0.6/.

0.5 cycle — Work Graph (Phase 2 keystone, 2026-05-16)#

Make every runtime session attributable to a unit of work — without a Linear/Jira clone or a Multica fork:

  • WorkItem foundation — migration 0015 (work_items owner-scoped + human-readable key, acceptance criteria, work_item_sessions join table); core /work-items API (CRUD, attach/detach, branch inference); cu work CLI; /work Work Queue UI. WorkItem is a secondary attribution link — sessions stay the runtime root. Owner-isolation verified on real Postgres.
  • Provenance-blind mediator seamProviderAdapter + Mediator registry; /work-items/providers + /work-items/import (idempotent by external ref, honest 501 for unregistered providers); migration 0016 opens the provider column. Real GitHub/Linear/Multica adapters are thin future plug-ins behind this seam — not faked; Multica is just a future adapter, not a fork. Team multi-tenant is the one deferred gate. See docs/v0.5/.
  • NEXT slice shippedcu work run (binds a session + propagates work-binding to the daemon msg & first prompt), confidence auto-attach, task-aware approval payload (task_hint), and work-aware restore wrapping the Phase-3 replay envelope. All owner-scoped, real-Postgres tested with isolation negatives.

0.4 cycle — Phase 3/4/5 (0.3.8–0.3.12, 2026-05-15)#

Distributed agent ops + intelligence, built on the v0.3 durable runtime:

  • Phase 3 keystone — session lineage (parent_session_id, 0.3.8), replay endpoint over the R2 store (0.3.9), Replay tab + lineage breadcrumb (0.3.10). Workspace-restore / cross-machine continuity / coordination sequenced NEXT.
  • Phase 4 keystone — lineage-aware rework detection ?metric_key=rework_lineage (0.3.11, authoritative resume-chains vs the cwd heuristic); active/idle now reliable on the lossless store.
  • Phase 5 (1 line) — opt-in single-tenant agent-performance dataset export /plugins/velocity-insights/dataset (0.3.12). The other 4 §5 lines stay honestly gated on Phase-2 multi-tenant — not faked.

0.3.x — foundation hardening (2026-05-15)#

The runtime trio (Go API · Go daemon · Python sidecar) made correct-first, fast-second, proven under the 8×24 load it claims:

  • R1 — sidecar runs in real installs (0.3.1). The Python SDK bridge ships as a portable zipapp next to cu-daemon; deterministic discovery; cu daemon status shows sidecar: running instead of a silent n/a.
  • R2 — lossless events (0.3.2/0.3.4/0.3.5). Idempotent ingest (event_uid dedupe) → durable on-disk spool surviving ring-overflow / failed writes / daemon restart → API ack so the cursor advances only on durable persist. True at-least-once — the "frozen dashboard" class is structurally closed.
  • R3 — crash-safe state & reconcile (0.3.6/0.3.7). Atomic fsync state flush (no torn state.json after kill -9); orphaned cu and SDK sessions reconciled to ended on daemon restart.
  • R4 — perf budgets + load harness. Written budgets; a CI harness hard-gating zero event loss at 8 machines × 24 sessions; query audit (no N+1; a speculative index rejected with EXPLAIN evidence rather than shipped).
  • CDN no-store (0.3.3) on /healthz + /dl/version — deploy-monitoring and cu self-update --check can no longer read a stale cached version.
  • Dashboard prompt now reaches PTY-backed sessions (was silently routed to an absent sidecar).
  • OSS wedge tooling (Apache-2.0 + allowlist export + secret-scrub gate) and an executable killer-demo kit (scripts/killer-demo.sh).

0.2.x — plugin platform (2026-05-14)#

Plugin framework + first four plugins: Issue Mediator (Yandex Tracker fetcher), Velocity Insights, DevEx Pulse, Quality Attribution. Machine dedup by fingerprint; WSL tag; cu self-update with cross-platform atomic binary swap; agent-context discovery (versioned AGENTS.md / skills snapshots + diff history).

2026-05-13#

Codex per-session JSONL tail (parity with Claude Code). cu attach works on Windows. Docs portal at /docs (Supabase-style sidebar).

2026-05-12#

PTY Broker — multi-attach, scrollback, controller handoff. Session discovery (process scan + fsnotify tail). Resume in cu for external sessions. Windows binaries served from /dl/*.

2026-05-11#

Coolify migration; app.controlum.pw primary. Self-hosted GitHub Actions runner. install.sh / install.ps1 served from the API.

Earlier#

See docs/v0.3/ in the repo for the canonical release matrices, QA scenarios and the what's-next plan, or git log --oneline for full history.