Inside the autonomous loop: from one request to a merged PR
“I want a login screen.” Five words. On the other side of them, a virtual company plans the work, opens a real pull request, reviews it, runs QA, and merges — with no human in the loop. This is how that loop actually runs.
The shape of the loop
Every outcome moves through the same ten stages: outcome, repository analysis, plan, tasks, build, review, QA, deploy, docs, done. The stages never change. What changes is how much of it you watch.
Planning is grounded, not improvised. Before anything is written, the company reads your repository intelligence and everything it has learned from past work, then proposes a plan you approve in one click. Every draft is validated against quality and grounding gates, with a deterministic fallback. It is never allowed to invent work.
The worker
Once a task has an owner, a driver checks out the repository on an isolated branch and runs the implementing agent. The agent writes code the way your team does — it has read your patterns — commits, pushes a branch, and opens a pull request against your repo. A real one, with a number.
$ npm run worker
[driver] enqueued task · checked out repo · running claude -p
[guardrail] protected paths ok · branch ok · no force-push
[worker] committed · pushed branch · opened PR #482 ✓
[assist] task → awaiting_review — paused for CEO
[autonomous] review → QA → done — no checkpointGuardrails that never switch off
Autonomy is a setting, not a risk. Protected paths stay protected. Protected branches stay protected. Force-pushes are never allowed. These hold at every autonomy level, from a system that only observes to one that ships hands-off. The same code path runs in every mode — only the checkpoints change.
- Manual — observes and remembers.
- Suggest — proposes, never acts.
- Assist — opens PRs, pauses for you.
- Delegate — escalates only the exceptions.
- Autonomous — outcome to done, hands-off.
Why the log matters
Notice what the worker log does not contain: no human handoffs, no copy-pasting between tools, no someone-needs-to-remember. The same request, the same guardrails — the only variable is how much rope you chose to give. That is the difference between a tool that helps you work and a company that does the work.
Same code. Same guardrails. Only the autonomy level changed.
Platform v2