Skip to content

I1953 — Evidence answers by subject, on every surface

Add the evidence.subject, evidence.coverage, evidence.runs and evidence.run capabilities, so that the CLI, HTTP and MCP answer by subject from the one authority and read supplementary records only through the monotone rule (ADR 0087 decision 3).

BLOCKED wave 2 · p1 · implementation profile · runs alone

Part of test-evidence — Every verifiable claim and widget resolves to revision-bound test evidence, on every surface.

Blocked. This issue cannot start until I1951 is done. The status is derived from that, not declared.

Objective

Add the evidence.subject, evidence.coverage, evidence.runs and evidence.run capabilities, so that the CLI, HTTP and MCP answer by subject from the one authority and read supplementary records only through the monotone rule (ADR 0087 decision 3).

Why

Only claims and rules can be asked about today. A feature, a command, a capability, an MCP tool and a use case have no answer, although each is what a reader of the site or the Cockpit is looking at.

Current state

evidence show, evidence claim and evidence proves answer by claim; rules answers by rule; nothing answers for any other subject, and nothing lists run or coverage records.

Desired state

majordomus evidence subject <key>, evidence coverage, evidence runs and evidence run <id> exist as declared capabilities served over the CLI, HTTP and MCP tool calls; an unknown subject exits 13; supplementary records are listed beside the verdict and applied only through the monotone rule.

Scope

  • apps/majordomus-cli/src/capability/builtin/evidence.rs
  • apps/majordomus-cli/src/commands/evidence.rs
  • apps/majordomus-cli/src/cli.rs
  • apps/majordomus-cli/src/evidence/supplementary.rs
  • apps/majordomus-cli/src/evidence/mod.rs
  • apps/majordomus-cli/src/evidence/subject.rs
  • test/cases
  • docs/EVIDENCE.md
  • docs/HOW_IT_WORKS.md
  • docs/README.md
  • docs/CLAIMS.yaml
  • docs/claims
  • .ai/repo/features/evidence.md

Out of scope

  • MCP resource templates per subject
  • A version bump

Dependencies

What waits on this

Acceptance criteria

  • Every subject kind of the index answers through evidence subject with the same verdict over the CLI, HTTP and MCP
  • An unknown subject is refused with exit 13
  • A supplementary record only ever weakens a verdict, and each weakening names its record
  • Coverage is shown as current only for its own commit with a clean tree

Validation

  • bash test/run.sh 508_evidence_answers_by_subject
  • bash test/run.sh 509_supplementary_records_only_weaken
  • majordomus generate --check

Evidence required

  • answers_by_subject
  • supplementary_only_weakens

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/I1953.yaml. Read it back with majordomus plan show I1953.

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