README: mermaid diagram now shows o CLI as the foundation layer
between text frontends and 9P. KDE/Kate connect directly to 9P.
ellie.el (both versions): add ellie--9p-rdwr wrapper, use ctl rdwr
for systemprompt (no longer a standalone file).
- 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.
- Rewrite cmd/ollie-remote to use toolsrv.Server API (was using non-existent
ollie/pkg/tools and ollie/pkg/tools/execute packages)
- Restore tools/_lib/ from pre-flatten branch (was lost in migration)
- Remove stray go.mod/go.sum from cmd/Ollie, cmd/ollie-httpgw, cmd/ollie-remote
- Update justfile: ollie-remote target copies tools from contrib/tools/
- Remove leftover root prompts/ directory
olliesrv no longer has start/fgstart/stop/status subcommands — it runs
in the foreground and relies on the supervisor (systemd, openrc, or
xdg-autostart) for lifecycle management. This simplifies the binary
and makes the single-process model explicit.
Changes:
- All docs: olliesrv start → olliesrv
- justfile: add install-services target, used by all install recipes;
installs systemd user unit, openrc init script, xdg autostart entry;
remove inline autostart installs from individual targets
- systemd unit: ExecStart drops "start" subcommand
- openrc init script: deleted (was for daemonized start; now managed
via install-services)
- xdg-autostart: new desktop entry (moved from 9p/ submodule),
Exec=olliesrv (no longer shells out to start + remount)
- contrib/ollie-remount: add debug echo for namespace/socket
- 9p submodule: remove daemon subcommands from Go code;
delete old desktop file
- el submodule: update README for foreground-only olliesrv