Skip to content

I3125 — Coverage from LCOV or Cobertura is linked line by line to the source at the measured revision

Import LCOV and Cobertura into the coverage record (reusing the llvm-cov export shape) and render a covered or uncovered region as a link to the source at the measured commit.

BLOCKED wave 2 · p3 · 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.

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

Objective

Import LCOV and Cobertura into the coverage record (reusing the llvm-cov export shape) and render a covered or uncovered region as a link to the source at the measured commit.

Why

Requested as slice V2 of the owner's evidence plan on 2026-10-13 (c246#7). It lands after I3122, which defines the coverage record's dimension and revision fields that an imported report fills, in the same scripts/rust-coverage. It extends milestone test-evidence. Proposed in ADR 0189 (JUnit and Cobertura are formats evidence is imported from and exported to; the tracked ledger stays the only store) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c246#7.

Current state

scripts/rust-coverage reads llvm-cov JSON only.

Desired state

Foreign coverage reaches the same record and view.

Scope

  • scripts/rust-coverage
  • apps/majordomus-cli/src/evidence

Out of scope

  • Per-feature coverage attribution where tooling cannot establish it (ADR 0087)

Dependencies

Acceptance criteria

  • An LCOV fixture yields the same record shape as llvm-cov

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib evidence

Evidence required

  • case_lcov_import

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

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