Enforces a 4-phase architecture design workflow by reading `.arch/state.json` on every request to gate responses by phase. Phase 1 extracts and validates requirements from PRDs; Phase 2 selects architecture patterns and establishes high-level structure; Phase 3 designs and accepts components sequentially; Phase 4 finalises and documents the solution. Use when discussing system design, solution architecture, PRD analysis, component design, technology selection, or architecture patterns — distinct from general coding help by its strict phase-gating, anti-pattern detection, and state-tracked component acceptance.
93
97%
Does it follow best practices?
Impact
89%
1.07xAverage score across 5 eval scenarios
Passed
No known issues
FleetRoute is a logistics platform that optimises delivery routes for a national courier network. Phase 1 requirements and Phase 2 architecture methodology have been accepted. Phase 3 component design is now underway.
Your task is to act as the architecture agent and continue the Phase 3 component design process. Refer to the state file for the current status of each component and to the methodology document for architectural context. Produce the appropriate design output and update the project state accordingly.
Produce the following files:
.arch/components/ for the appropriate component.arch/state.json — updated to reflect progress after this design stepThe following files are provided as inputs. Extract them before beginning.
=============== FILE: .arch/state.json =============== { "current_phase": "components", "phases": { "evaluation": {"status": "accepted"}, "methodology": {"status": "accepted"}, "components": {"status": "in_progress"}, "finalization": {"status": "not_started"} }, "components": [ {"id": 1, "name": "API Gateway", "status": "accepted"}, {"id": 2, "name": "Auth Service", "status": "in_progress"}, {"id": 3, "name": "Notification Service", "status": "pending"} ], "decision_count": 15, "reopens": {"count": 0, "max": 2} }
=============== FILE: .arch/phase2-methodology.md ===============
Modular monolith with clearly bounded modules. Each module may be extracted to an independent service if its scaling or release cadence needs diverge from the rest. Chosen because the team of 6 engineers with 1 DevOps engineer cannot sustain many independently deployed services in production.