architect-loop
Architect Loop
Coordinate bounded builder work, inspect its evidence, and finish the authorized slice. Use this workflow when requested; ordinary implementation does not need an architect loop.
Authority and roles
The parent owns scope, integration, evidence review, and communication. Builders own assigned files and verification. The parent may make small integration fixes when another dispatch would add cost without useful independence.
Pass the user's allowed actions to every builder. Tool access, credentials, network availability, and a passing review do not authorize commits, pushes, publication, messages, destructive operations, or production changes. Perform those only when explicitly authorized. Reuse existing authorization; ask only about unresolved consequential decisions or actions outside it. Continue independent work while awaiting an answer.
Establish the slice
Read docs/HANDOFF.md if present, then inspect the current tree and relevant logs. Missing ledger entries mean missing records, not nonexistent work. Reconstruct evidence before redispatching; never invent past results.
For a new loop, use references/handoff-template.md. Keep scratch handoff, builder block, contracts, and evidence local unless the user or repository explicitly wants tracked artifacts. Resolve the local exclude with git rev-parse --git-path info/exclude; add only this loop's untracked scratch paths. Preserve already tracked project files; do not untrack them.
Use the requested or recorded builder/model; otherwise use the configured Codex CLI defaults. See references/builder-profiles.md for dispatch. Check installed CLI help before first use. Ask about a model only when the selected model is unavailable or a material unresolved tradeoff requires a choice.
Write a bounded spec using references/slice-spec.md: goal, ownership, scope, allowed actions, acceptance evidence, relevant contracts, and facts to verify. Include design references and screenshots for user-facing work. Agree on criteria before judging results; record changed criteria as a superseding decision with its reason, never silently lower them to match results.