# Closed-loop workspace ## Invariant After every code-producing stage, the workspace has a recorded verification observation. A passing observation is the only state the next implementation stage may treat as known-good; replay reads the event rather than re-running a command. ## Seams 1. Before locking a plan, ground declared writes, referenced paths, and build prerequisites against the workspace/index. Unknown or absent prerequisites return the plan to the architect. 2. For each write-declaring stage, run the appropriate static/build command and record its result. Failures retry or route through recovery before downstream work continues. 3. Repeated hard precondition observations (for example `REFERENCE_EXISTS`) become a stage failure or bootstrap/clarification decision rather than independent rejected tool calls. ## Delivery order - Per-write-stage build gates and truthful deferred contract verdicts (#162). - Consume repeated build-critical `REFERENCE_EXISTS` blocks (#163): three blocks for one manifest/config path now create a recovery-eligible precondition failure. - Ground plan prerequisites before plan lock; then use the verified observation as the next-stage planning baseline. - Preserve recovery escalation for failures that still cannot reach a verified increment (#165).