- fifo.in + fifo.out → single fifo (write enqueues, read dequeues)
- cost + usage + ctxsz → single stats (key=value lines)
- Remove connection (no consumers, heartbeat handles it)
- Remove dead prevPrompt field and write (prompt.prev gone from spec)
- Clean AGENT_FILES: remove state, context, tail (all already absent
from spec, were only in the tab-completion list)
ellie.el:
- Preserve tree selection and cursor across tree rerenders.
- Keep chat cursor stationary; only update when already at end.
- Guard chat-filter against stale output from replaced ollie-9p read processes.
- Render [[[name]]] markers as bold underlined block headers; suppress [[[end]]].
- Refresh session/idx and start timer on startup so tree displays immediately.
- Fix Active/Inactive header tuple layout (was missing 'nil' slot).
- Bind TAB for tree expand/collapse, C-c C-SPC and C-c C-p for prompt input,
SPC in chat for prompt, q in chat for quit (stops stream + buries buffer).
- RET on an agent now opens the chat buffer.
- Prompt input window selects and focuses itself after opening.
doc/ellie.md:
- Embed ellie screenshot (img/ellie.png) centered at 75% width above Session tree.
- Replace flat session list with collapsible tree (Active/Inactive headers,
sessions, agents — arbitrary depth)
- Fix path resolution: use session/{sname}/agent/{aname}/ layout
- Read state from state file instead of parsing cfg
- Add ellie-new-agent: write to session/{sname}/agent/new
- Add ellie-kill-agent for per-agent kill
- Persist agent ID in last-session for recall
- Mode-line shows session/agent
- q in chat buffer returns to tree
ellie.el previously accessed ollie through a FUSE-mounted 9P
filesystem (plain file I/O via insert-file-contents/write-region).
This had several failure modes: stale mounts after suspend/resume,
no error propagation from 9P Rerror, no streaming support.
Now uses the ollie-9p CLI tool which speaks the 9P protocol
directly over the Unix socket. Also removed ellie-dired binding
(C-c C-d) and the ellie-mount-directory customization since
there is no mount point.
The completion subsystem was updated to use ollie-9p rdwr complete
instead of a shell pipeline to a 9P mount path.
These scripts were removed. Update all documentation to reference the
current alternatives: ollie-9p rdwr generate, ollie-9p rdwr complete,
and ollie-9p rdwr route.