Skip to content

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

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

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.

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