## Architecture kaizen-agentic has two distinct layers: ### 1. Python framework (`src/kaizen_agentic/`) - **`core.py`** — `Agent` (abstract base) + `AgentConfig` (dataclass). Tracks performance, supports config updates, implements kaizen interface. - **`optimization.py`** — `OptimizationLoop` (runs improvement cycles, detects trends, generates recommendations) + `PerformanceMetrics` (execution time, success rate, quality scores). - **`metrics.py`** — `MetricsStore` + `OptimizerStore` (project-scoped `.kaizen/metrics/` per ADR-004). ### 2. Agent definitions (`agents/` — 20 files) Markdown instruction sets read and followed by Claude. Not executables. Naming convention: `agent-{name}.md`. Packaged copies live in `src/kaizen_agentic/data/agents/` for `pip install` distribution. | Category | Agents | |----------|--------| | Testing | `tdd-workflow`, `test-maintenance`, `testing-efficiency` | | Quality | `code-refactoring`, `datamodel-optimization` | | Process | `requirements-engineering`, `keepaTodofile`, `keepaChangelog`, `keepaContributingfile`, `project-management`, `priority-evaluation`, `scope-analyst` | | Infrastructure | `setupRepository`, `tooling-optimization`, `sys-medic` | | Release | `releaseManager` | | Docs | `claude-documentation` | | Support | `wisdom-encouragement` | | Meta | `coach`, `optimization` | ### Custodian integration The state-hub MCP resolves the agents directory via `host_paths[hostname]` → `local_path`. Tools: `list_kaizen_agents(category?)`, `get_kaizen_agent(name)`.