The brain as an MCP server - a shim that shells the engine binary and returns its text verbatim. Proposes one action from comparable operators' cases and warns from failures; never decides.
Brain server has 8 tools with descriptions and basic parameter schemas, but significant gaps prevent higher scores. All tools have descriptions (good), but most parameters lack type definitions in the visible schema, only string types are declared. No output schemas are documented. Parameter descriptions are present but generic. Error handling is minimal: tools shell a binary and return text verbatim, with no guidance on recovery or error classification. The server prioritizes fidelity to engine output over LLM usability, which conflicts with agent tool design principles.
Run every check the engine has - parities, counts, index verify, the holdout - and return the full text. Exit status is in the output.
Close a case with what happened. verdict is hit|miss|partial and judges the EXPECTATION; action is the TYPE of move actually taken, stated by the operator - one of the action_type vocabulary.
Record what should follow and by when. The case file must then be COMMITTED to git before the outcome - close refuses otherwise.
Comparable finished cases for a situation: survivors ranked, AND the discard log saying what was excluded and why. Axes omitted = not_stated. tried takes one already_tried value.
Open a decision: a case with a situation and a question and no outcome yet. ASCII question only.
ONE proposed action from the best-scoring case that did not fail, with counter-cases (failed nearby, or took the stated opposite), stop warnings, and the discard log. Relay it whole.
No output schemas documented. Tools return raw text from engine binary with no structured field definitions. LLMs cannot parse results reliably or chain tools without manual parsing.
Parameter schemas lack type definitions beyond 'string'. No enums for constrained inputs (e.g., verdict must be hit|miss|partial, action must be from vocabulary). LLMs will hallucinate invalid values.
No error handling guidance. Tools return subprocess output verbatim (including stderr and exit codes) with no recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Ranked candidate source spans for a claim id. LEADS, never citations: nothing may enter a source field until a person reads the span.
The closed vocabularies a situation is described in, with definitions, plus the action types and their stated opposition pairs. Call this FIRST and pick values from it - an axis the operator did not state is omitted, never guessed.
Parameter descriptions are minimal (avg ~40 chars). E.g., 'stage' is described as 'situation stage axis' without explaining valid values, format, or when to omit. LLMs lack context for correct usage.
No pagination or result limits documented. brain_match and brain_propose may return large result sets with no guidance on truncation, pagination, or token cost to LLM context.