diff --git a/README.md b/README.md index 71812f5..db1374b 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,19 @@ session/ └── proc/ detached process output ``` +## Architecture completeness + +Ollie's core architecture is complete. Every capability — browser automation, audio processing, RAG, scheduled tasks, database access, external service integrations — is achievable by writing a tool. The runtime provides: + +- **Multi-modal tool results**: Tools return structured JSON with text and image content blocks +- **Multi-modal message handling**: Backends handle images in both directions +- **Arbitrary tool complexity**: Tools are executables that can spawn browsers, call APIs, run ML models +- **Long-running operations**: Background processes and sub-agents for parallel/delegated work +- **External triggers**: The 9P namespace is writable — cron, systemd, or scripts can prompt agents +- **Local embeddings**: The `embedding.Model` infrastructure exists for semantic operations + +There are no architectural gaps. Missing features are missing tools. + ## Providers, tools, and security `session/new` accepts `name`, `remote`, `workflow`, `cwd`, and `yolo=true` key/value fields. Session-level `yolo` is persisted and applies to local or remote toolsrv startup; it disables native Landlock enforcement for explicit development use. Normal tools use the configured native Landlock policy, while approved escape requests go through the bypass broker.