diff --git a/doc/architecture.md b/doc/architecture.md index df93cce..1f2c853 100644 --- a/doc/architecture.md +++ b/doc/architecture.md @@ -1,9 +1,7 @@ # ollie Architecture ## Philosophy -ollie's design philosophy is Plan 9 / Acme / Unix: a small substrate that integrates with the surrounding system rather than trying to do everything itself. The Go runtime (`agent.Agent`) defines what an agent *is* — an event loop, a backend connection, a message history, and three built-in primitives (`shell`, tool registry, skill registry). Everything else — orchestration, scheduling, workflows, UIs — is pushed out to external tools, scripts, and frontends. +ollie's design philosophy is Plan 9 / Acme / Unix: a small substrate that integrates with the surrounding system rather than trying to do everything itself. The Go runtime (`agent.Agent`) defines what an agent *is* — an event loop, a backend connection, a message history, and three built-in primitives (`shell`, tool registry, skill registry). Everything else — orchestration, scheduling, workflows, UIs — is delegated to external programs via a shared 9P filesystem namespace. Any program that can read and write files can drive an agent: shell scripts, editors, web apps, cron, containers. -The core provides integration surfaces (9P filesystem, agent loop) and lets the surrounding system handle everything else. A lightweight framework that delegates to external programs via a shared filesystem namespace. -The primary integration philosophy is Plan 9's "everything is a file." `olliesrv` exposes agent state and behaviors as files in a 9P namespace. Any program that can read and write files can drive an agent: shell scripts, editors, web apps, cron, containers. All clients communicate via 9P exclusively. Desktop notifications use D-Bus directly (org.freedesktop.Notifications) for bypass prompts only — this is the last remaining D-Bus dependency. Design principles: - **Small extensible core.** The agent runtime is minimal; capabilities come from composing external scripts.