ollie/cmd/Ollie
Levi Neely c39149ca3e 9P streaming: add chat file, rename chat→log, rewrite acme frontend
- Rename 'chat' to 'log': returns last 64KB sliding window (static read).
  Tail still works via Qid.Vers. Full history persisted to disk per turn.

- Add 'chat' streaming file: blocking read that delivers new output as
  the agent produces it. Per-fid offset tracked via waitBase. Blocks
  indefinitely between turns (no EOF). EOF only on kill/session death.

- Add LongBlock interface to File: streaming files bypass the 5s read
  timeout. Server returns content directly (ignores Tread offset for
  streaming files since waitBase tracks position).

- Add 'kill'/'.'' ctl aliases with FIXME: currently kills entire session.
  When multi-agent-per-session lands, kill should kill agent only.

- Rewrite acme frontend (cmd/Ollie) to use 9P client directly instead
  of FUSE mount. streamChat() is a blocking read loop — no polling.
  All file operations (read, write, ls) go through plan9/client.

- Add 9P streaming prototype in experiments/9p-stream demonstrating
  the blocking-read pattern for token delivery.

The key insight: 9P's request-response model gives natural streaming.
Server holds the Tread until data arrives, client blocks on Read().
No polling, no signals, no offset tracking needed.
2026-07-31 19:52:27 +02:00
..
.gitignore flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
README.md remove dead acme scripts (Kmpl, Oi, Theo, Wtf) and stale data/scripts/README 2026-07-31 07:50:41 +02:00
main.go 9P streaming: add chat file, rename chat→log, rewrite acme frontend 2026-07-31 19:52:27 +02:00

README.md

ollie-acme

acme interface for ollie. Provides a session list window and per-session chat windows, all driven through the 9P filesystem.

Build

cd acme && mk

Usage

Run ollie-acme from within acme. It opens an ollie/sessions window listing active sessions. Execute (middle-click) a session ID to open its chat window. Tag commands:

Command Action
New Open s/new for editing
Kill id Kill a session
Refresh Reload the session list

Chat windows stream new content by polling the chat file. The window is named cwd/+Ollie. Tag commands:

Command Action
Prompt Open the session's prompt file for editing
Stop Interrupt the current turn
Ctl Open the session's ctl file
Cfg Open the session's cfg file
Nudge Send a . prompt (nudge the agent)
Usage Open the session's usage file

Scripts

No scripts currently bundled. The cmd/Ollie/scripts/ directory contained acme frontend scripts (Kmpl, Oi, Theo, Wtf) that were removed in 2026-07. They will be rewritten if needed.