diff --git a/core b/core index 6646740..d175bdb 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 6646740d676f15aa1123cefc6b46d6ed915d3145 +Subproject commit d175bdba32c18d467c87fe2174d16bfeba46c059 diff --git a/doc/ARCHITECTURE.md b/doc/ARCHITECTURE.md index 6f87006..dac0233 100644 --- a/doc/ARCHITECTURE.md +++ b/doc/ARCHITECTURE.md @@ -263,7 +263,6 @@ All frontends interact with the same 9P namespace, either directly or via httpgw | Frontend | Interface | Talks to | |---|---|---| | `s/sh` | terminal (readline) | 9P filesystem directly | -| ollie-tui | terminal (TUI) | `agent.Core` library | | ellie | Emacs buffer | 9P filesystem directly | | Web UI | browser (Preact SPA) | `ollie-httpgw` over HTTP | @@ -271,7 +270,6 @@ The web UI (`webui/`) is a Preact single-page application. It polls `/s/{id}/chat` every two seconds for new output and proxies all API paths to `ollie-httpgw`. It has no knowledge of 9P; the gateway is the only boundary. -Frontends that use `agent.Core` directly (ollie-tui) embed the core library and -manage sessions in-process. Frontends that use the filesystem (s/sh, ellie, web +Frontends that use the filesystem (s/sh, ellie, web UI) are decoupled from the implementation entirely — they work equally well against a local or remote `olliesrv`. diff --git a/doc/OBSERVATIONS.md b/doc/OBSERVATIONS.md index 60fa8ca..d8e19d6 100644 --- a/doc/OBSERVATIONS.md +++ b/doc/OBSERVATIONS.md @@ -2,7 +2,7 @@ **Filesystem as interface** — if you know how to operate a filesystem, you know how to operate ollie. Any tool that reads and writes files — `ed`, `vim`, Python, `cat`, a shell script — is already a fully capable ollie client. No SDK, no API, no protocol to learn. -**Simple front-ends** — A TUI reads `chat`, writes `prompt`, polls `state`. There is no protocol to implement. +**Simple front-ends** — A front-end reads `chat`, writes `prompt`, polls `state`. There is no protocol to implement. **Crash resiliency** — Memory (`m/`) is written to persistent storage outside the session. If a session crashes or is killed mid-task, it is not lost — a fresh session picks up where the previous one left off. @@ -20,8 +20,6 @@ **Sub-agents** — `subagent_spawn` implements fork-join over the `b/` namespace: spawn N specialized agents with a shared prompt, wait for all to complete, collect results in submission order. For heterogeneous parallel delegation (N agents, N different prompts), use a `{parallel: [...]}` stage in `execute_code` — each parallel step calls `subagent_spawn` with a different prompt, all running concurrently. -**Environment injection is a front-end concern** — Because the daemon is a long-running process separate from the front-end, any environment variable the session needs (e.g. `SUPERPOWERD_SESSION_TOKEN`) must be injected by the front-end via `s/{id}/env`. This is not a serious limitation, but it makes front-end setup slightly more involved: tools like `superpowers` require the front-end itself to be launched inside the privileged context (`superpowers run-session ollie-tui ...`), rather than simply having the variable present in the daemon's environment. - **No MCP** — MCP (Model Context Protocol) adds a JSON-RPC client, transport layer, initialization handshake, and subprocess lifecycle management to do what `execute_code {tool: "name"}` already does. Every MCP server can be replaced by a tool script in `t/` and a skill in `sk/`. `x/elevate` proved this: it replaced an MCP server with a shell script. See [doc/NO_MCP.md](NO_MCP.md) for the full justification. **AI pipelines with standard tools** — ollie scripts compose into multi-stage AI pipelines via Unix pipes. Proof-of-concept: diff --git a/doc/USAGE.md b/doc/USAGE.md index d7908bb..598cb10 100644 --- a/doc/USAGE.md +++ b/doc/USAGE.md @@ -542,7 +542,6 @@ by default. The 9P filesystem is the lowest level interface to ollie. All interfaces are simply wrappers around filesystem operations, and `s/sh` is the standard chat interface. Other front-ends: -- **[ollie-tui](https://github.com/lneely/ollie-tui)** — a fancier terminal UI for the less curmudgeonly - **[ellie](https://github.com/lneely/ollie-el)** — `ellie.el` is the Emacs front-end, just wire it into your `init.el` and `M-x ellie` - **Web UI** — browser-based UI; requires `ollie-httpgw` (see above) diff --git a/el b/el index 54e97d1..fcc907d 160000 --- a/el +++ b/el @@ -1 +1 @@ -Subproject commit 54e97d1107f0a57870e6f5c01dba725951954303 +Subproject commit fcc907d843f9526a294e047ff359e8870906eb5e