Skip to content

coverage-evidence: trusted coverage image build fails at base VCS step — 'locked VCS source fast-mlsirm has a missing or ambiguous import root' blocks every contextual-orchestrator PR #2157

Description

@seonghobae

Problem

The central coverage-evidence job now fails before any PR code runs for ContextualWisdomLab/contextual-orchestrator PRs. The trusted coverage tool image build aborts at docker step #17 (install base VCS dependenciesopencode-base-vcs-dependencies.pth), so every contextual-orchestrator PR gets COVERAGE_BLOCKED regardless of its diff.

Evidence

Run https://github.com/ContextualWisdomLab/.github/actions/runs/34754638830/job/103717614270 (contextual-orchestrator#1166, head 17d6043e):

#17 [12/14] RUN set -eu; mkdir -p /opt/base-vcs-dependencies; ... path_file="${site_packages}/opencode-base-vcs-dependencies.pth" ...
#17 1.141 locked VCS source fast-mlsirm has a missing or ambiguous import root for fast_mlsirm
#17 ERROR: process "/bin/sh -c set -eu; ..." did not complete successfully
##[error]Trusted coverage tool image build failed before PR execution.

Same failure on contextual-orchestrator#1167 (head de27f3e3) and #1171 (head c6bdb713), all on 2026-09-13. None of the three diffs touch fast-mlsirm, requirements*.txt, or pyproject.toml.

Analysis

The base-image step resolves the locked fast-mlsirm @ git+… VCS dependency and expects to locate a single Python import root for fast_mlsirm. fast-mlsirm is Rust-first (maturin, fast_mlsirm._core), so its checkout has no unambiguous pure-Python package root; the step treats that as fatal instead of deferring.

This is a different failure mode from #1292 (which reaches pytest collection and fails on fast_mlsirm._core imports) and from #1250 (stale hash-lock / pnpm flag): here the image build itself fails, so consumer repos of fast-mlsirm are blocked, not only fast-mlsirm.

Expected

Either build the fast-mlsirm import root correctly (maturin/source layout aware) or classify the missing import root as DEFERRED evidence for consumer repos, so a contextual-orchestrator PR is judged on its own coverage instead of failing at image build.

Related: #1292, #1250, #1234.

🤖 Generated with Claude Code

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