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
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
- I3124READY A JUnit XML report a repository already produces is imported into the evidence ledger, and nothing in that repository changes
- I3122READY A coverage figure on every surface names its dimension, its commit and what it does not measure
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.