The 8 Agents
Eight production agent roles, each with a structural prompt that defines its constraints and capabilities.
Bonfire ships 8 production agent roles. Each role has a structural prompt (markdown) that defines what the agent can and cannot do, and a toolset that enforces those constraints at the API level.
Agent Roster
| # | Agent | Role | Structural constraint |
|---|---|---|---|
| 1 | Scout | Observer. Enters unknown terrain, returns a map. | Read-only. Never modifies files. |
| 2 | Knight | Contract author. Writes failing tests. | Never writes implementation code. |
| 3 | Warrior | Implementer. Receives a contract, writes code to pass it. | Never modifies test files. Up to 3 attempts. |
| 4 | Prover | Independent auditor. Re-runs tests independently. | On failure, bounces to Warrior. |
| 5 | Sage | Synthesizer. Reads 2-3 competing reports, produces a decision. | Output is synthesis, not merge. |
| 6 | Bard | Publisher. Packages completed work as a pull request. | GitHub API interactions only. |
| 7 | Wizard | Final quality gate. Reviews the PR. | On rejection, bounces to Warrior. |
| 8 | Herald | Announcer. Writes the session summary. | Read-only on code; writes documentation. |
Where they live
Each agent's structural prompt lives in bonfire/agents/<name>/prompt.md. The prompt is the agent's soul — it defines behavior through narrative constraints, not code.
Agent colors are canonical across the framework and the website:
| Agent | Color | Hex |
|---|---|---|
| Scout | Blue | #60A5FA |
| Knight | Purple | #A78BFA |
| Warrior | Red | #F87171 |
| Prover | Orange | #FB923C |
| Sage | Green | #4ADE80 |
| Bard | Pink | #EC4899 |
| Wizard | Pink | #F472B6 |
| Herald | Teal | #2DD4BF |
Roles in the standard_build pipeline
The 7-stage pipeline uses 7 of the 8 agents in sequence: Scout, Knight, Warrior, Prover, Bard, Wizard, Herald.
The Sage is not part of standard_build. Sage fires only in dual/triple workflows where multiple parallel scouts need synthesis.
Structural prompts vs. system prompts
A structural prompt is not a system prompt. System prompts are runtime instructions that can be overridden or ignored. Structural prompts are compiled into the agent's context via the prompt compilation system with explicit priority levels. The structural prompt's blocks cannot be dropped by truncation — they are the highest-priority content in the agent's context window.
This means agent behavior is deterministic within the priority system. A Warrior with full context and a Warrior with truncated context both obey the same structural constraints; the difference is how much situational context survives truncation.
All tiers, all agents
Every tier — including free — ships all 8 agent roles. Tier differentiation happens through model class and vault access, never through agent availability.