Usage documentation is now embedded in the script header and
automatically extracted into the system prompt by BuildRuntime.
This replaces the corresponding section in tools-file.md.
Replace Makefile/mkfile with justfile (just command runner).
Move tools from kde/tools to root (uses physical paths, not 9P).
Add process_*, env, grep tools that were missing from submodules.
just: 9P path (default), just dbus: D-Bus path.
- prompts/, skills/, tools/ removed from monorepo root
- 9p/: gains prompts/skills/tools with 9P filesystem API (unchanged)
- kde/: gains prompts/skills/tools rewritten for D-Bus API
- mkfile: data target no longer installs prompts/skills/tools
- 9p/mkfile: install target now includes data (prompts/skills/tools)
- kde/Makefile: all target now includes data (prompts/skills/tools)
- SYSTEM_PROMPT_QWEN and SYSTEM_PROMPT_DEVSTRAL updated in both
submodules to include the operational world model
Bash builtin echo/printf may split multi-line content across
multiple write syscalls, which the FUSE 9P proxy rejects.
/bin/echo (coreutils) does a single write.
- Resolves model from OLLIE_TIER_{WORKER|EXPERT}_{backend}
- Falls back to legacy OLLIE_CASCADE_MODEL/OLLIE_ESCALATE_MODEL
- --backend flag lets orchestrator pick a different backend
- Inherits parent session's backend by default
- OLLIE_ENABLED_BACKENDS documents available backends
- README updated with tier config examples
- route --tier=worker (default): cheap model for scoped subtasks
- route --tier=expert: strong model for complex reasoning
- Orchestrator now uses route instead of cascade
- Unified prompt and callback contract for both tiers
- cascade/escalate remain available for other agents
- Orchestrator: describe what, not how. Workers reason about implementation.
- cascade prompt: allow workers to read code and make decisions within scope.
- Worker identity: 'reason and complete' replaces 'execute exactly'.
- Removes over-specification pressure from orchestrator.
subagent_spawn now reads the agent name from stdin (first line) when
-agent flag is not provided and stdin is not a tty. This enables clean
pipe composition: echo JSON | subagent_generate | subagent_spawn.
tools/cascade: fire-and-forget delegation to cheap model; worker
reports back to parent prompt when done. Parallelizable.
scripts/u/cascade: script-driven hub-and-spoke orchestrator for
terminal use — planner decomposes, workers execute in parallel,
planner synthesizes.
All lsp_* scripts used OLLIE_TOOLS_PATH for sys.path which points to
the physical backing store where _lib does not exist. Changed to use
$OLLIE/t (the FUSE mount) where _lib actually lives.
Also added lsp_completion script and textDocument/completion support
in the LSP bridge.
The 8MB size check caused models to fall back to cat which reads the
entire file without truncation. Now uses itertools.islice to read only
the requested segment without loading the whole file into memory.
Also: sandbox config additions (pcfs, ~/img).
Use $OLLIE/x/prime SYSTEM_PROMPT command instead of bare token.
Wrap custom prompt in echo command since all prompt array entries
are now shell commands.
New tool that generates a temporary agent config from a base agent
with custom identity text. Returns a unique agent name (jit-<hex>)
for use with subagent_spawn. Single file in a/, no p/ file needed.