I1957 — Every test line is read, and a local run stays local
Read each runner's per-test lines into the execution (case results, detail and dropped lines), add evidence record --run suite and the local run index, and move the web report onto the same typed adapters.
BLOCKED wave 4 · p2 · implementation profile · runs alone
Blocked. This issue cannot start until I1955 is done. The status is derived from that, not declared.
Objective
Read each runner's per-test lines into the execution (case results, detail and dropped lines), add evidence record --run suite and the local run index, and move the web report onto the same typed adapters.
Why
An execution records one outcome per test file, so a failure's reason and a line no claim names are lost, and a local run has nowhere to be kept apart from the tracked ledger.
Current state
Execution carries no per-case results and no detail; web/report/tests.rs parses runner output on its own; no local run index exists.
Desired state
Per-runner adapters fill Execution.cases and Execution.detail and list every line they drop; evidence record --run suite stamps its own run and appends it to .ai/local/evidence/runs/, bounded; web/report/tests.rs reads the same adapters.
Scope
- apps/majordomus-cli/src/evidence/adapters.rs
- apps/majordomus-cli/src/evidence/local_runs.rs
- apps/majordomus-cli/src/evidence/supplementary.rs
- apps/majordomus-cli/src/evidence/record.rs
- apps/majordomus-cli/src/evidence/run.rs
- apps/majordomus-cli/src/evidence/ledger.rs
- apps/majordomus-cli/src/evidence/freshness.rs
- apps/majordomus-cli/src/evidence/mod.rs
- apps/majordomus-cli/src/capability/builtin/evidence.rs
- apps/majordomus-cli/src/cli.rs
- apps/majordomus-cli/src/commands/evidence.rs
- apps/majordomus-cli/src/web/report/tests.rs
- apps/majordomus-cli/tests/evidence_local_runs.rs
- test/fixtures/evidence-adapters
- test/cases
- docs/EVIDENCE.md
- docs/CLAIMS.yaml
- docs/claims
- .ai/repo/features/evidence.md
Out of scope
- A change of the ledger's version
- apps/majordomus-cli/src/evidence/public.rs and subject.rs, beyond a literal the compiler names
Dependencies
Acceptance criteria
- Every line a runner prints is either read into a case result or listed as dropped
- A local run is kept only under .ai/local/evidence/runs/, bounded, and never reaches the tracked ledger
- web/report/tests.rs reads the same adapters as the recorder
Validation
- bash test/run.sh 514_every_test_line_is_read
- bash test/run.sh 515_a_local_run_stays_local
Evidence required
- every_test_line_read
- local_run_stays_local
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/I1957.yaml. Read it back with majordomus plan show I1957.