ollie/data/agents
Levi Neely 80a9f7ecc4 consensus workflow: foreman + panelist agents with peer messaging
New workflow that spawns N independent panelists (default 3) and a
foreman. Each panelist analyzes the goal from a different angle:
- correctness/completeness
- simplicity/maintainability
- edge cases/failure modes

Panelists report findings to foreman via peer/ links. The foreman
synthesizes agreement, resolves disagreements, and writes the verdict.

Files:
- data/workflows/consensus — orchestration script
- data/agents/foreman.json — low-temp synthesis profile
- data/agents/panelist.json — high-temp analysis profile
- data/prompts/agent-foreman.md — synthesis behavior
- data/prompts/agent-panelist.md — investigation behavior

Usage:
  printf 'name=review\ncwd=%s\nworkflow=consensus\n' $PWD | ollie-9p write session/new
  echo 'Review error handling in agent/loop.go' | ollie-9p write session/review/goal
2026-08-19 17:26:31 +02:00
..
README.md replace just build orchestration with make 2026-08-17 00:01:27 +02:00
conductor.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
copilot.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
default.json Memory tools: never expose raw memo commands to agents 2026-08-19 10:13:02 +02:00
driver.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
explorer.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
foreman.json consensus workflow: foreman + panelist agents with peer messaging 2026-08-19 17:26:31 +02:00
librarian.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
navigator.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
observer.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
panelist.json consensus workflow: foreman + panelist agents with peer messaging 2026-08-19 17:26:31 +02:00
taskmanager.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00
theo.json Integrate OptMem wake into agent memory prompting 2026-08-18 14:01:18 +02:00

README.md

Agents

Each .json file defines an agent configuration. Agent configs are installed to ~/.config/ollie/agents/ and selected at runtime via /agent <name>.

Config format

{
  "prompt": ["$XDG_CONFIG_HOME/ollie/prompts/agent-coding.md"],
  "userPrompts": ["$XDG_CONFIG_HOME/ollie/prompts/rules.md"],
  "autoLoad": ["shell", "file_read", "file_edit", "file_glob", "file_grep"],
  "maxSteps": 25,
  "temperature": 0.5,
  "maxTokens": 16384,
  "backend": "openrouter",
  "model": "deepseek/deepseek-v4-flash",
  "systemPrompt": "/path/to/override.md",
  "compactionModel": "cheap-model-name"
}
Field Purpose
prompt File paths to concatenate as the agent prompt (system preamble). Env vars expanded.
userPrompts File paths to concatenate as active global rules. Prepended to every user message at turn start. Env vars expanded.
autoLoad Tools loaded at session start.
maxSteps Cap on tool-call rounds per turn. 0 = unlimited.
temperature Sampling temperature.
maxTokens Max output tokens per response.
backend Override backend for this agent.
model Override model for this agent.
systemPrompt Override the embedded system prompt with a file path.
compactionModel Use a cheaper model for context compaction.

Agents

Name Role
default Base coding agent. Also the base for JIT subagents.
driver Full-featured agent with all tools, LSP, GUI, memory, subagents.
copilot Read-only code copilot. Suggests changes as code fences.
navigator Pair programming partner. Reads and advises, doesn't edit.
explorer Code exploration and explanation. Read-only.
librarian Document search and knowledge curation. Read-only.
taskmanager TODO list management and planning.
theo Security auditor (Theo de Raadt voice). Read-only.

System prompt assembly

The final system prompt sent to the model is assembled in sections:

  1. system — embedded base prompt (prompts/system_prompt.md)
  2. env — runtime environment (cwd, platform, date, git status)
  3. agent — concatenated files from the prompt array
  4. tools — auto-generated from loaded tools (name + .meta prompt)

The fully assembled prompt is readable at session/{sname}/agent/{aname}/systemprompt.

User prompts (active global rules)

Files listed in userPrompts are resolved the same way as prompt (file paths with env var expansion), but instead of being injected into the system preamble, they are prepended to every user message at turn start. This lets you define persistent "global rules" that appear alongside each user request without bloating the system prompt.

Adding a new agent

  1. Copy default.json, rename it.
  2. Adjust the prompt array to reference your prompt files in data/prompts/.
  3. Set autoLoad to the tools this agent needs.
  4. Set generation parameters as needed.
  5. Run make install-data to install.