Status: **v1 locked 2026-06-22**. Implementation in progress.
## What this is
The Automaton framework's loop system: a state-enforcement layer that lets pre-approved work run unattended in capped iterations, with mandatory human approval at every halt. Built on top of the existing `status.py` phase machine — no second enforcement surface.
## Why
Per-session manual driving doesn't scale against the framework's growing backlog (Tier 2 context-sizing cleanup, audit violations, design drift). The framework should be its own first customer: dogfood loops on the framework's own repo.
## Documents
- [`functional.md`](functional.md) — what v1 does, roles, the five deaths, blast radius, schedules, success criteria. **Read this first.**
- [`technical.md`](technical.md) — the implementation contract: file map, `.state.loop` schema, `status.py` flags, gate checks, runner flow, test coverage. **Read this if you're implementing.**
- [`BACKLOG.md`](BACKLOG.md) — v1.1 and deferred items (Scope 2 design-update loop, Scope 3 self-designing, parallel mode, dashboard panel). The self-improvement loop's work queue.
- **Sibling design**: [`../framework/`](../framework/) — framework-level agent features (rule agents, Agent tab redesign, model-divergence enforcement). Has its own `BACKLOG.md` consumable via `work_source.area = "framework"`.
The 8 tasks above are **the last tasks a human creates by hand**. After task 7 lands, the self-improvement loop creates subsequent tasks from `BACKLOG.md` and `--audit` output.
## Locked decisions (referenced as `(Dn)` in functional/technical)
| ID | Decision |
|---|---|
| D1 | Native OS scheduler unit + opt-in `--daemon` fallback |