Skip to content

Advisors are declared once, in share/advisors.yaml, by reference to the provider table and the model catalogue; a new advisor reaches the command line, the policy, HTTP, OpenAPI, MCP and the Cockpit with no consumer edited

There is one advisor inventory. Every surface that lists advisors — the command line,

declared statusdeclared status: guaranteed Declared deterministic and blocking, implemented, and naming the behavioural test that is to prove it. Whether a recorded run supports it is the evidence verdict, shown beside it.

recorded evidencerecorded evidence: not run Declared guaranteed, and not supported by a recorded run: the test is named, and no passing run of the current inputs is recorded. how evidence is recorded

the case appends a representative advisor to a fixture catalogue and reads it back from every surface, then removes its executable and sees it unavailable everywhere.

What it means

There is one advisor inventory. Every surface that lists advisors — the command line, HTTP, MCP, the Cockpit, the environment banner, doctor — derives it from the catalogue, and no reasoning code, adapter driver or page holds a list of its own.

How it works

share/advisors.yaml declares each advisor's transport, adapter, executable and capabilities, and references providers, vendors and models by id; reasoning check refuses a reference that resolves to nothing, and a source file of the provider-independent code that names any of them. All surfaces are projections of the reasoning module's capabilities (ADR 0027).

How to see it

majordomus reasoning advisors
curl $SERVER/api/v1/reasoning/advisors

test/cases/735_a_new_advisor_needs_no_consumer_edit.sh adds example-reviewer and finds it on every surface without editing any of them.

What it does not cover

A new transport needs one adapter module; a new advisor on an existing transport needs none. The catalogue is the distribution's; a repository adding its own advisors is a later extension of the share resolution, as for the model catalogue.

Why it exists

Inventories maintained per consumer drift. Discover once, model once, derive everywhere is this repository's answer to that, applied to advisors (ADR 0098).

Detail rendered from docs/claims/advisors-are-declared-once.md.

From the statement to the proof

  1. 1 · the public statement

    Advisors are declared once, in share/advisors.yaml, by reference to the provider table and the model catalogue; a new advisor reaches the command line, the policy, HTTP, OpenAPI, MCP and the Cockpit with no consumer edited

    Made on Reasoning.

  2. 2 · the canonical claim

    advisors-are-declared-oncedeclared status: guaranteed in docs/CLAIMS.yaml

    Defined in read it on this site · docs/REASONING.md

  3. 3 · the implementation

    share/advisors.yaml

  4. 4 · the test and the scenarios

    Test: test/cases/735_a_new_advisor_needs_no_consumer_edit.sh

  5. 5 · the recorded runs

    recorded evidence: not run how evidence is recorded

Verify it yourself

The test runs in a disposable temporary repository and asserts the behaviour, not a string in the source.

from a clone of the repository
bash test/run.sh 735_a_new_advisor_needs_no_consumer_edit

Searches the titles and descriptions of every page this site publishes.