Skip to content

I3357 — /ui/evidence shows the proof scorecard beside the claims it settles, read from economics.proof, with each row linking its records

Add a panel to apps/majordomus-cli/src/ui/evidence.rs that reads Source::of(\"economics.proof\") beside evidence.report: six rows with status, reason, counted sample against minimum, effect with interval and a losses count that opens the listed losses and record links. Each row links its claim through the existing claim inspector. An unanswered source renders as unanswered, never as an empty pass.

BLOCKED wave 4 · p2 · implementation profile · parallel safe

Part of the-proof-scorecard-is-published — One derived scorecard publishes every proof test's computed status, losses included, on every surface, and no value claim stands without a passed test.

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

Objective

Add a panel to apps/majordomus-cli/src/ui/evidence.rs that reads Source::of(\"economics.proof\") beside evidence.report: six rows with status, reason, counted sample against minimum, effect with interval and a losses count that opens the listed losses and record links. Each row links its claim through the existing claim inspector. An unanswered source renders as unanswered, never as an empty pass.

Why

The owner's report of 2026-10-19 asks for the verdicts to be visible where the product's claims are judged; /ui/evidence already answers which claims hold (ui/evidence.rs:1-2). The renderer computes nothing.

Current state

ui/evidence.rs:15 sets ROUTE /ui/evidence and :17 reads only evidence.report; panels are built at :98-110; ui/mod.rs:212 registers the route; the screen test at ui/mod.rs:804-807 renders it.

Desired state

/ui/evidence carries the panel with per-status counts summing to six and failed rows drawn like passed ones.

Scope

  • apps/majordomus-cli/src/ui/evidence.rs
  • apps/majordomus-cli/src/ui/mod.rs

Out of scope

  • A new route or navbar entry
  • Computing a figure in the renderer
  • The cockpit

Dependencies

Acceptance criteria

  • The screen test renders one row per test from a fixture repository with a plan
  • An unanswered economics.proof renders the unanswered state
  • Every emitted class is one the stylesheet defines

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib ui::
  • cargo fmt --manifest-path apps/majordomus-cli/Cargo.toml --check

Evidence required

  • test_ui_evidence_scorecard_panel

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

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