I1996 — doctor does not fail an adopter on a check written for this repository
Stop `majordomus doctor` from failing an adopter's repository on the reasoning design's own coupling rules, and stop its reproduce hints from naming paths only this repository has.
DONE wave 0 · p2 · implementation profile · parallel safe
Objective
Stop `majordomus doctor` from failing an adopter's repository on the reasoning design's own coupling rules, and stop its reproduce hints from naming paths only this repository has.
Why
lib/doctor.sh runs the executable's `reasoning check` against whatever repository it is in. Run by majordomus 0.14.0 in prismatic-platform on 2026-10-08, doctor exited 10 on three findings about the adopter's own files: '.github/workflows/archive/ci.yml — ci: CI names the model credential ANTHROPIC_API_KEY; no gate may depend on a live model', the same for OPENAI_API_KEY, and 'docs/adrs/adr-0023-ollama-model-integration-architecture.md — claims: asserts requires ollama, a claim the reasoning design refuses'. The workflow is an archived, inactive GitHub workflow in a GitLab-hosted repository, and the ADR is the adopter's own architecture decision. Each line ends '[reproduce: bin/majordomus-cli reasoning check]', a path that exists only here. A scratch copy holding only .ai/, the bootstraps and .githooks reported no finding, so the check is judging the adopter's product, not its use of the reasoning layer. The same adopter then ran this repository's own bin/majordomus (0.17.0, 4090b2b8ae) against the same layer and the three lines did not appear, although apps/majordomus-cli/src/reasoning is unchanged since v0.14.0: whether the check stopped reaching the adopter's files or stopped running at all there is not established, and establishing it is the first step.
Current state
The ci and claims families of `reasoning check` scan every workflow and document of the repository they run in and fail doctor on a match. Reproduce hints name bin/majordomus-cli.
Desired state
In a repository that is not this one, the reasoning check holds only what the adopter adopted: its own catalogue, adapters and records. A rule about what Majordomus's CI and Majordomus's claims may say is not applied to an adopter's workflows and documents, or is advisory there. Every reproduce hint names a command the adopter can run.
Scope
- lib/doctor.sh
- apps/majordomus-cli/src/reasoning
- apps/majordomus-cli/src/capability/builtin/reasoning.rs
- docs/REASONING.md
- test/cases
Dependencies
None. This issue is a root of the graph.
Acceptance criteria
- doctor in a fixture adopter repository whose workflow names a model credential and whose document says 'requires ollama' reports no reasoning failure
- The same two files in this repository are still refused
- No reproduce hint doctor prints in an adopter repository names bin/majordomus-cli
Validation
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Evidence required
- adopter_reasoning_check_case
- reproduce_hint_is_runnable_case
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| adopter_reasoning_check_case | test | MJ_TEST_JOBS=2 bash test/run.sh 3017_doctor_holds_an_adopter_to_what_it_adopted | tests: 1 passed, 0 failed (run 2026-10-14 13:30Z on master 4ec504616c plus this change) | 4ec5046 |
| reproduce_hint_is_runnable_case | test | MJ_TEST_JOBS=2 bash test/run.sh 3017_doctor_holds_an_adopter_to_what_it_adopted | tests: 1 passed, 0 failed: the hint names majordomus reasoning check and runs (run 2026-10-14 13:30Z on master 4ec504616c plus this change) | 4ec5046 |
Timeline
- started
- 2026-10-14T13:31:26Z
- verified
- —
- completed
- 2026-10-14T13:31:45Z
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/I1996.yaml. Read it back with majordomus plan show I1996.