Skip to content

fix(coverage): make required coverage evidence execute owned Rust line and branch measurement #2099

Description

@seonghobae

Finding

Fresh consumer evidence from ContextualWisdomLab/fast-mlsirm#1816@b5fec1d33c02e8ea969405e59747f0505e690d20 shows that the centrally required coverage-evidence context can be GREEN without executing repository coverage at all.

Check coverage-evidence job 103274274768 contains only:

echo "This required-workflow job preserves the stable branch-protection context without executing pull-request content."

and then succeeds. The companion coverage-source-tree context likewise does not establish owned production line/branch percentages. The repository's own .github/workflows/ci.yml executes Rust/Python tests, package/fuzz/GPU evidence, but has no source line/branch measurement job. Therefore a green required context is presently insufficient evidence for the organization policy requiring owned production Test / Edge Case Coverage at 100%.

This is a central evidence-contract defect, not permission to weaken coverage policy or to fabricate a percentage in leaf PRs. It is related to #591's trusted offline Rust coverage toolchain work but distinct: even a repaired toolchain does not help when the required consumer context does not invoke the measurement.

Required repair

Make the central required workflow produce immutable exact-head coverage evidence for repositories that own Rust production code, using the trusted offline/sandboxed execution path rather than executing mutable PR workflow code with elevated credentials.

At minimum the receipt must distinguish and report:

  • exact repository/head SHA and owned-source classifier;
  • production statement/line denominator and covered count;
  • unique source branch-arm denominator and covered count (not LLVM raw duplicate regions);
  • exact missing files/lines/branch arms when below 100%;
  • rustdoc/docstring denominator where applicable or a separate authoritative receipt;
  • artifact IDs/digests for raw coverage evidence;
  • fail-closed behavior when measurement cannot execute.

Do not satisfy this by a no-op context, continue-on-error, skipped measurement, source rewriting, denominator exclusions invented by the workflow, or treating test success as coverage success.

Acceptance

  • A fresh repository_dispatch/required-workflow run against fast-mlsirm#1816 actually instruments and executes the exact head and either proves 100% owned line+branch coverage or reports the exact misses.
  • The required check context cannot be GREEN when the measurement did not execute.
  • The receipt is reusable by TEPP and other Rust owners without leaf-specific provider credentials or mutable central-source pinning.
  • fix(review): update offline Rust coverage toolchain #591's coverage toolchain constraints remain preserved and integrated rather than bypassed.

Consumer: ContextualWisdomLab/fast-mlsirm#1816
Canonical numerical owner issue: ContextualWisdomLab/fast-mlsirm#1814
Downstream consumer RED: ContextualWisdomLab/TEPP#310.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions