SYSTEM_PROMPT.md now contains only behavioral directives (identity,
output protocol, accuracy, security). Tool Interface and Skill Discovery
are separate prompt files referenced by agent configs.
Agent configs use short names resolved via OLLIE_PROMPTS_PATH and no
longer reference SYSTEM_PROMPT.md or session.md (those are now embedded
in the binary and injected automatically).
The adapter is now started by the system service manager, not
on-demand from inside the sandbox. ensureElevateAdapter was
removed from core in the previous commit.
Split session management (9P and D-Bus) out of the monolithic system
prompts into dedicated files primed separately:
- session-9p.md: 9P filesystem session operations
- session-dbus.md: D-Bus method/signal session operations
System prompts are now server-agnostic. The install target copies
the appropriate session-*.md as session.md. Agent configs prime
"session" after "SYSTEM_PROMPT" to compose the full prompt.
This eliminates the N×2 variant matrix (one -9p and -dbus per model)
and makes adding new model prompts simpler.
- agent JSONs: $OLLIE/x/ -> $OLLIE_CFG_PATH/scripts/x/
- x/prime: use $OLLIE_PROMPTS_PATH instead of $OLLIE/p/
- x/elevate-adapter-start: use $OLLIE_CFG_PATH/scripts/x/
- Update core and 9p submodules
olliesrv and agent sessions now work without FUSE. Mount remains
available as an enhancement when present.
- 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
- Set temperature=0.5 and maxTokens=16384 on default and coding agents
to reduce confidence-oscillation loops in smaller models
- Add explicit instruction to act when information is sufficient,
rather than re-verifying or hedging
- Replace per-invocation s/bfg calls with a persistent *-copilot session
looked up from s/idx; first call in a cwd spawns the session, subsequent
calls reuse it, skipping s/new overhead
- Clear context after each completion so inference stays fast
- Fix session lookup to read s/idx instead of globbing the 9P mount
- Add x/freeloader turnError hook to copilot.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a u/complete script that reads prefix/suffix from the current acme
window via dot position, submits a fill-in-the-middle prompt to ollie
via s/bfg, and writes the completion to a new ollie/complete window.
Also adds a minimal copilot agent config (no system prompt, no tools)
for use by u/complete, and wires both into the install target in mkfile.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- scripts/x/freeloader: hook-driven script; intercepts rate_limit and
tool_unsupported on :free models; auto-blacklists on tool_unsupported;
cycles to next non-blacklisted free model; exits 1 for unhandled errors
- agents: add turnError hook to all agent configs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Backend now streams native thinking tokens via StreamEvent.Reasoning.
The no-op scratchpad tool is redundant.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move inline JSON prompt strings to prompts/agent-*.md files, referenced
via $OLLIE/x/prime in the new executable prompt array. Move all
prime calls (tools-*, beads) from hooks.agentSpawn into prompt.
Rename greybeard to sysarchitect.
preTurn now has two branches: no plan → remind task_add; open tasks → remind
task_check. Blank/whitespace-only arguments to task_add are silently skipped.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removing it caused the model to fall back to reasoning_think for planning.
The preTurn reminder is necessary to override that behavior.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace 'task prime' hook with inline .beads walk in all agent configs —
no wrapper script needed. Drop 'prime' subcommand from scripts/x/task.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All agents now run `bd list --status open` after each turn. Output is
injected into session history (not stdout) so the model is aware of open
tasks on the next turn without triggering autonomous continuation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tool primes (tools-file, tools-reasoning, tools-memory, tools-subagent,
tools-elevate) moved from preTurn to agentSpawn across all agent configs.
Context is now injected once at session refresh points (start, post-clear,
post-compaction) rather than repeated on every turn.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add x/elevate-adapter-start: checks if the adapter is already listening
(connect test), starts it in the background if not. Exits 0 always so it
never blocks session startup. Wire it into agentSpawn in all agent configs
and install it via mkfile.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>