Add HTTP gateway and web UI sections to USAGE.md: build instructions,
runtime flags, HTTP→9P endpoint reference, nginx serving example, and
Vite dev workflow. Add HTTP gateway architecture section to
ARCHITECTURE.md with frontend comparison table. Update README.md with
httpgw build target, dual remote-access paths (9P mount vs httpgw),
and container example updated for both.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Promote IDEAS.md content to concrete how-to documentation: subagent
delegation via subagent_spawn, concurrent sessions with direct prompt
passing (prompt/statewait/offset), predefined shell-script workflows,
self-generating workflows, and store federation via OLLIE_TOOLS_PATH
and OLLIE_TRANSCRIPT_PATH pointing at 9pfuse-mounted remote dirs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Batch and session namespaces are now a single s/ concept. s/bfg blocks
until the agent finishes and writes to stdout; s/bbg returns immediately
and prints the session path. s/b is the core one-shot runner. Remove all
b/ references from README, USAGE, ARCHITECTURE, and scripts/README.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- subagent_spawn: use s/bfg instead of deprecated b/q
- SYSTEM_PROMPT: fix stale /b/ reference to /s/
- core: sort session index by ID
- webui: gitignore .kiro/
FUSE entry cache may not reflect the new session directory immediately
after the write to s/new returns. Poll until it appears, mirroring the
approach in s/sh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bash's printf builtin issues one write() syscall per call; the server
processes each write independently, so the first write (name= only)
would fail the cwd-required check. Build the full KV string first,
then write once.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Batch jobs were a front-end concern. All one-shot query workflows now
compose session primitives via s/b (engine), s/bfg (foreground), and
s/bbg (background). Parallel execution is a shell loop.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tui/session: IsIdle reads spec and parses state= key.
scripts/s/sh, sh.rc: add spec_get helper; is_idle, /cwd, /model,
/agent, /backend read via spec_get; writes go to spec as key=value.
el/ellie.el: ellie--state reads spec with string-match on state=.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Option C implementation: single namespace with composable file tables.
Batch jobs are sessions with a reduced file set — the directory
contents declare the capability.
- core: SessionStore absorbs BatchStore; s/new detects batch format
- 9p: /b/ removed entirely; all routing through /s/
- scripts/b/* moved to scripts/s/*; paths updated
- subagent_spawn, optimize: /b/q -> /s/q
- scripts/b/ removed
Update core and tui submodules. Core ensures assistant content in the
chat log ends with a newline so 9P line-buffered reads don't lag one
turn behind. TUI adds regression tests for the tailing behavior.
Replace Mermaid-generated SVG with hand-written SVG to avoid
font metric clipping. Shows core as foundation, olliesrv as
the 9P layer, and front-ends/scripts/pipelines as consumers.