Routing is declarative: provide a list of agent IDs, inject context, and the router steps the data through the pipeline. This structure supports agent graphs, traceability, and avoids inline dependencies. ## SQLite Persistence Works—Until You Push Concurrency Most multi-agent orchestrators avoid persistent state or punt to in-memory session maps, which break under multi-request sessions or restarts. This codebase uses plain SQLite, skipping Redis/PSQL overhead for agent state that rarely justifies it. Core implementation: