kaos-control went public on 11 May. Three releases later, it’s grown from “an interesting experiment” into something that genuinely runs its own development. Here is what happened, and what it taught me about building software with AI agents.
If you’re new here: kaos-control is a single binary that manages the whole software lifecycle. Ideas become requirements, requirements become plans, plans become code, and AI agents do most of the work. Everything lives as markdown artefacts in your repo, versioned in git, visualised as a graph. No SaaS, no database to run, no lock-in.
The catch, and the fun part, is that kaos-control builds itself. Every release below was largely produced by its own agents, working through its own lifecycle. That is a brutal forcing function: if the tool is bad at orchestrating agents, you find out immediately, because it can’t ship itself.
The theme: agents you can trust to run unattended.
The first release after going public was about governance. Letting an AI agent loose on your codebase is easy; letting it loose safely is the actual problem.
A mediated driver with real enforcement. Agents run without bypass mode, and every tool call routes through a hook that enforces per-agent path and command allow/deny rules.
Permission precheck. Misconfigured agents now fail in seconds with a clear remediation list, instead of silently stalling.
Rate-limit awareness. The queue recognises Claude’s rate-limit signals, pauses until reset, and re-enqueues the job automatically.
A test-runner agent. It parses test output, maps failures to artefacts, dedupes against existing defects, and files new ones.
Projects CRUD UI plus Playwright smoke tests. Onboarding without dropping to a terminal, and 23 end-to-end tests to keep it honest.
The theme: see what’s happening, and run it anywhere.
Once agents were doing real work, the next question was obvious: what are they actually costing me, and what did they do?
Agent usage reports. Cost, token usage, and time-to-first-token, broken down per model and per agent, with CSV export.
Releases as first-class artefacts. Releases became editable markdown, surfaced on the roadmap.
Faster idea capture and auto-triage. A one-step brain dump; ideas land in a raw status and get promoted into proper drafts automatically.
Mobile-responsive UI. The whole thing works on a phone, graph included.
Three new agent drivers. Gemini, the Gemini CLI, and Codex CLI, alongside Claude and Ollama.
Documentation panel and a dev container.
Special thanks to Tim Preston (@tmpreston) for the Codex CLI drivers and devcontainer support: the first outside contribution, and a good one.
The theme: fewer surprises.
The biggest release yet, roughly 405 commits, and the first that felt like maturing rather than expanding.
Artefacts in subdirectories. Once you have hundreds of artefacts, a flat folder stops working. Now you can nest them, with breadcrumbs and path chips.
Guided Open Questions resolution. When an agent gets stuck, it writes down its questions and blocks. Previously you hand-edited markdown to answer. Now there’s a banner, a badge with a live count, and a modal that walks you through each question and writes the answers back. This is the human-in-the-loop feature I use most.
DevOps run history and a real CLI. See past pipeline runs with expandable logs, and drive them from the terminal (kaos-control devops run release). This release was cut with that command.
claude-env driver. Point agents at local models or alternative endpoints.
Resilient agents. Transient auth failures now fail fast and re-queue without pausing everything.
And a lot of unglamorous hardening: a status desync where approvals silently didn’t stick, a race that falsely failed fast-exiting agent runs, plus 13 CVEs cleared and a fully green lint gate.
Dogfooding is brutal and worth it. Most of 0.2.0’s fixes came from the tool failing at me while it built itself: an agent parking forever waiting for a callback that never came, agents committing code that didn’t compile. You don’t find those in a demo.
The boring bugs matter most. The feature I’m proudest of isn’t a feature. It’s that “approve” now reliably sticks.
AI agents need guardrails more than they need capability. Every release has bent toward constrainingagents: precheck, hooks, rate-limit handling, fail-fast, verification. The models are already good enough. The orchestration is the hard part.
I deliberately called this 0.2.0, not 1.0. 1.0 is a promise: a frozen file format, backward compatibility, production readiness. kaos-control isn’t ready to make that promise. The artefact format is still evolving, and agents can still commit broken code to a shared branch. That last one is the big one: the next milestone is isolating every agent run in its own branch and merging only when a verification gate passes.
When agents can’t break the build, and the format stops moving, that’s 1.0.
All releases: https://github.com/kcsinclair/kaos-control/releases
If you’re experimenting with agent-driven development, I’d genuinely like to hear what’s working and what isn’t. Comment, message or open an issue.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.