x/elevate handles token acquisition itself via the re-exec through
superpowers run-session when SUPERPOWERD_SESSION_TOKEN is absent.
No manual injection is needed; the paragraph was wrong.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Document the plugin interface contract (args, cwd, stdout/exit code),
plugin path resolution (OLLIE_PLUGINS_PATH / ~/.config/ollie/scripts/x/),
a minimal exec-only example, a step-by-step walkthrough of the default
superpowerd implementation including session token injection, and custom
backend examples (sudo, doas, disable).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add x/ to the namespace list and add an x/elevate section describing
its role as the elevation plugin for execute_code elevated steps, the
calling convention, the default superpowerd implementation, and how to
replace or disable it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sandboxing is not layered. It is applied specifically to execute_code:
each step is wrapped with landrun using a named config from
~/.config/ollie/sandbox/<name>.yaml (default: "default"). Steps marked
elevated:true bypass the sandbox via x/elevate. Remove superpowerd
reference.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Auto-compact does exist: triggers automatically at 75% of the model's
context length (128k default), and also manually via /compact.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove references to the non-existent contextBuilder and rolling window.
Describe the actual compaction model: unbounded history, explicit /compact
trigger, LLM-generated summary, system message preservation, user message
budget (~20k tokens), tool call flattening, and pre-compaction snapshot.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.