# System architecture ```mermaid flowchart LR Input[User request] --> Core[Agent graph] Core --> Prompt[Versioned prompts] Core --> Tools[External tools] Core --> Memory[Memory / RAG] Core --> Output[Validated response] Evals[Offline evals] --> Gate[PR quality gate] Gate --> Core ``` The core must keep orchestration deterministic enough to test. Tools should have explicit schemas and timeouts. Memory adapters must make retention and deletion behavior visible.