Input → Prompt → Model → Output → End CODE_BLOCK: Input → Prompt → Model → Output → End CODE_BLOCK: Input → Prompt → Model → Output → End CODE_BLOCK: State → Context → Reason → Act → Store → Continue CODE_BLOCK: State → Context → Reason → Act → Store → Continue CODE_BLOCK: State → Context → Reason → Act → Store → Continue CODE_BLOCK: User / External Surface → Interfaces (CLI, Gateway, MCP, Scheduler) → Agent Runtime → Context Engine + Memory Manager → Tools + Integrations → Providers → Persistent State CODE_BLOCK: User / External Surface → Interfaces (CLI, Gateway, MCP, Scheduler) → Agent Runtime → Context Engine + Memory Manager → Tools + Integrations → Providers → Persistent State CODE_BLOCK: User / External Surface → Interfaces (CLI, Gateway, MCP, Scheduler) → Agent Runtime → Context Engine + Memory Manager → Tools + Integrations → Providers → Persistent State CODE_BLOCK: while alive: observe() reason() act() update() CODE_BLOCK: while alive: observe() reason() act() update() CODE_BLOCK: while alive: observe() reason() act() update() - a coding assistant - a tool wrapper - a prompt loop with memory - a nicer interface over LLMs - answering → operating - stateless → persistent - reactive → continuous - messaging gateways - protocol adapters - curated long-term memory - searchable session history - external memory providers - what must persist - what can be retrieved - what should be summarized - compresses intelligently - preserves critical context - rotates sessions - maintains lineage - tools register themselves - define schemas - execute safely - run in isolation - have bounded context - use restricted tools - return results - response systems - runtime systems - holds memory - coordinates actions - persists over time