I3663 — An Anthropic API advisor is declared, so a held Anthropic credit grant can pay for review
Declare an advisor in share/advisors.yaml reached over the Anthropic Messages API through the vendor's credential variable, with a model from share/models.yaml (claude-opus-5-5, which this issue adds to the catalogue with its provenance) and an adapter scripts/lib/advisors/anthropic-messages.mjs that speaks the same contract as openai-chat.mjs; reasoning check resolves it, and an absent credential reads not_configured (rule project.advisors-are-optional). No Rust change: the advisor is data and an adapter.
READY wave 0 · p2 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I3663 will be accepted.
Objective
Declare an advisor in share/advisors.yaml reached over the Anthropic Messages API through the vendor's credential variable, with a model from share/models.yaml (claude-opus-5-5, which this issue adds to the catalogue with its provenance) and an adapter scripts/lib/advisors/anthropic-messages.mjs that speaks the same contract as openai-chat.mjs; reasoning check resolves it, and an absent credential reads not_configured (rule project.advisors-are-optional). No Rust change: the advisor is data and an adapter.
Why
share/advisors.yaml reaches OpenAI through its API credential but declares no Anthropic API advisor, so the API credits the owner's Max plan includes pay for nothing Majordomus does. The advisor contract (ADR 0098) already makes absence a status. An Anthropic advisor reviewing work a Claude session wrote shares the author's model family: reasoning policy counts independence only among advisors (reasoning/policy.rs), so the advisor's note says so and nothing here claims it as independent of a Claude author (critique finding anthropic-advisor-is-not-independent-of-a-claude-author).
Current state
Advisors: chatgpt (openai API), gemini and codex (CLI), ollama and lmstudio (local), mesh peers; no Anthropic API advisor.
Desired state
An Anthropic API advisor exists, reasoning check resolves it, and it reads not_configured without its credential.
Scope
- share/advisors.yaml
- scripts/lib/advisors
- share/models.yaml
- docs/generated
Dependencies
None. This issue is a root of the graph.
Acceptance criteria
- The adapter passes the advisor contract suite against a recorded fixture answer, with no network
- With ANTHROPIC_API_KEY unset, reasoning advisors reports the advisor not_configured
- The adapter never logs, stores or echoes the credential or the prompt body
- The advisor's note states that it shares a Claude author's model family
Validation
- node --test scripts/lib/advisors/contract.test.mjs
- env -u MAJORDOMUS_SHARE majordomus reasoning check
Evidence required
- anthropic api adapter: request normalisation, credential, usage
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3663.yaml. Read it back with majordomus plan show I3663.