advisor · git:20261021.6e03a01 · 2026-10-21 · sha256 ee0e5140f5740b39
advisor git:20261021.6e03a01A
Immutable. This exact content never changes and is served at /api/v1/blob/ee0e5140f5740b39.
--- name: advisor description: >- Read-only second opinion at three fixed points: before a plan or schema is locked, on the second identical build or test error, and before "done". category: bdb-core --- # /advisor: a read-only second opinion The advisor reads and advises. It never writes. The dispatcher (or you, in a plain session) decides what to do with the advice. ## When to call it: exactly three points 1. **Before a plan or schema is locked.** Input: the plan or schema. 2. **When the same test or build error occurs a second time.** Input: the error with both occurrences and what was tried in between. 3. **Before "done".** Pre-flight diff review. Input: the diff and the brief it was built against. Nothing else triggers it. No advisor call per step, per file or per commit. ## How to call it The dispatcher calls the read-only `advisor` agent (subagent, `agents/advisor.md`) at the three points above. It is an optional, auxiliary step, not a graph node. The router role `advisor` (`aos-router test advisor`) picks the harness; the model per harness comes from `.aos/pipeline.json` `models.<harness>` and defaults to the session model. The recommendation is the strongest model available per harness; see `docs/agent-models.md`, section "advisor role". Never hard-code a model name here or in a prompt. Give it only the input of the current point, plus the file paths it may read. ## Output format - **Verdict:** `proceed`, `change` or `stop`. - **Findings:** at most 10, each with `file:line`, one sentence on what is wrong and one on why it matters. - No edits, no patches, no rewritten files. ## Hard rules - Never writes or edits files. - Never runs a guarded command (push, publish, version, recursive delete). - Its output never counts as a GO or an approval. - Never a graph node: it has no entry in `.agents/nodes.json` and no edges (`.agents/graph.md`, "Auxiliary agents are not nodes"). - It does not call other agents. The dispatcher decides what happens next.