Skip to content

I3122 — A coverage figure on every surface names its dimension, its commit and what it does not measure

Make the coverage publication carry, per figure, its dimension (Rust crate lines, functions or regions; session domain), the commit and tree state it measured, and the list of unmeasured dimensions (shell cases, browser, MCP and WebSocket transports). The site and /ui render that, not one percentage.

READY wave 1 · p2 · implementation profile · parallel safe

Part of a-claim-stands-only-on-its-evidence — A claim that something is enforced, tested or delivered stands only on recorded evidence that would have caught it being false.

Ready. Every dependency is done, so majordomus plan start I3122 will be accepted.

Objective

Make the coverage publication carry, per figure, its dimension (Rust crate lines, functions or regions; session domain), the commit and tree state it measured, and the list of unmeasured dimensions (shell cases, browser, MCP and WebSocket transports). The site and /ui render that, not one percentage.

Why

The owner asked for the real state of test coverage on 2026-10-17 (c293#0) and was given one Rust line figure. \"100 percent tested\" was defined in c143#8 as a set of dimensions, not as line coverage. The last published snapshot the owner saw (25b5fce9b65c) gave lines 91.29, functions 90.25 and regions 90.22, with nothing to say what it left out. On 2026-10-18 f6 settled the overlap on the mesh: I2965, which qualifies the site's proof words by their verdict, lands first, and the count qualification f6 had staged as I2970 is carried here instead. It extends milestone test-evidence. Sources: chatgpt-majordomus:c100#3, chatgpt-majordomus:c102#16, chatgpt-majordomus:c143#8, chatgpt-majordomus:c158#19, chatgpt-majordomus:c293#0, chatgpt-majordomus:c293#2, chatgpt-majordomus:c087#1.

Current state

docs/COVERAGE.md describes crate floor, domain floor and differential gate. scripts/rust-coverage records commit and tree state. I1011 (READY) is the coverage matrix.

Desired state

Every surface reads one record with dimension, revision and an explicit \"not measured\" list.

Scope

  • scripts/rust-coverage
  • scripts/generate-site-data
  • docs/COVERAGE.md
  • apps/majordomus-cli/src/ui/evidence.rs
  • site/templates/evidence.html
  • apps/majordomus-cli/src/evidence/coverage.rs
  • scripts/ci/evidence-collect
  • test/cases/10_site_data.sh

Out of scope

  • Measuring shell or browser coverage

Dependencies

What waits on this

Acceptance criteria

  • The published coverage section names its commit and lists unmeasured dimensions
  • No surface shows a coverage percentage without its dimension

Validation

  • scripts/generate-site-data --check

Evidence required

  • coverage_states_its_scope

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

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