Problem
The central coverage-evidence sandbox (OpenCode Review Dispatch workflow, coverage-evidence job, "Measure test and docstring evidence" step) blocks OpenCode approval for LineageWeave PRs with a spurious FAIL that has nothing to do with the PR's actual code.
Evidence
Run 32628753453 against ContextualWisdomLab/LineageWeave#417 at head 91b7e1cd914442e61e322620f194d1ba9da48567 (a clean, unrelated docs/backend PR — TEPP topic-lineage ADR + analysis-run scaffolding). Result: Coverage Decision: FAIL, Failure count: 4. All 4 are environment/tooling failures in the sandbox itself, not the PR:
1. Python test collection: 39/39 test files fail to import
ModuleNotFoundError: No module named 'asyncpg'
ModuleNotFoundError: No module named 'psycopg2'
Every test file that imports LineageWeave's backend app modules fails collection (1 skipped, 39 errors in 1.57s). asyncpg>=0.29.0 and psycopg2-binary>=2.9.12 are genuine, declared dependencies in LineageWeave's pyproject.toml — they're not missing from the PR, they're missing from the sandbox's pip install --require-hashes -r /tmp/requirements-opencode-review-ci-hashes.txt step. That hash-pinned requirements file appears stale or generated from an incomplete source relative to LineageWeave's actual pyproject.toml.
2. JS/TS dependency install: unsupported pnpm flag
$ corepack pnpm install --offline --frozen-lockfile --trust-lockfile --ignore-scripts --store-dir ...
ERROR Unknown option: 'trust-lockfile'
Did you mean 'frozen-lockfile'? Use "--config.unknown=value" to force an unknown option.
--trust-lockfile isn't a valid pnpm flag on the version installed in the sandbox (pnpm 11.17.0 per LineageWeave's own CI). This looks like either a typo for --frozen-lockfile (already present separately in the same command) or a flag from a different pnpm major version.
3 & 4. Cascading failures from #2
JS/TS test coverage (vitest: not found — node_modules never got installed because of #2) and JS/TS coverage threshold (no coverage summary files were produced) both fail as a direct downstream consequence.
Impact
This is a hard block, not a slow-down: coverage-evidence failing means OpenCode explicitly posts REQUEST_CHANGES ("OpenCode cannot approve yet because required coverage evidence did not pass") regardless of the PR's actual content. Since asyncpg/psycopg2 are core LineageWeave backend dependencies, this should reproduce on essentially any LineageWeave PR that touches backend/tests — i.e., this is very likely blocking a large fraction of the current org-wide review backlog independently of .github#624's model-pool issue.
Not attempting a fix
The install pipeline here is deliberately hardened (hash-pinned pip install --require-hashes --only-binary=:all:, VCS-locked base dependencies with import-root/symlink/compiled-extension validation, trusted-source materialization without a repository token) — consistent with the same kind of anti-tampering design already documented as under active maintenance elsewhere in this org's CI. I don't have visibility into how requirements-opencode-review-ci-hashes.txt or the pnpm invocation are generated/maintained, so I'm not guessing at a fix here; recording the evidence for whoever owns that generation step.
Problem
The central
coverage-evidencesandbox (OpenCode Review Dispatchworkflow,coverage-evidencejob, "Measure test and docstring evidence" step) blocks OpenCode approval for LineageWeave PRs with a spurious FAIL that has nothing to do with the PR's actual code.Evidence
Run 32628753453 against
ContextualWisdomLab/LineageWeave#417at head91b7e1cd914442e61e322620f194d1ba9da48567(a clean, unrelated docs/backend PR — TEPP topic-lineage ADR + analysis-run scaffolding). Result:Coverage Decision: FAIL,Failure count: 4. All 4 are environment/tooling failures in the sandbox itself, not the PR:1. Python test collection: 39/39 test files fail to import
Every test file that imports LineageWeave's backend app modules fails collection (
1 skipped, 39 errors in 1.57s).asyncpg>=0.29.0andpsycopg2-binary>=2.9.12are genuine, declared dependencies in LineageWeave'spyproject.toml— they're not missing from the PR, they're missing from the sandbox'spip install --require-hashes -r /tmp/requirements-opencode-review-ci-hashes.txtstep. That hash-pinned requirements file appears stale or generated from an incomplete source relative to LineageWeave's actualpyproject.toml.2. JS/TS dependency install: unsupported pnpm flag
--trust-lockfileisn't a valid pnpm flag on the version installed in the sandbox (pnpm 11.17.0 per LineageWeave's own CI). This looks like either a typo for--frozen-lockfile(already present separately in the same command) or a flag from a different pnpm major version.3 & 4. Cascading failures from #2
JS/TS test coverage (
vitest: not found—node_modulesnever got installed because of #2) and JS/TS coverage threshold (no coverage summary files were produced) both fail as a direct downstream consequence.Impact
This is a hard block, not a slow-down:
coverage-evidencefailing means OpenCode explicitly postsREQUEST_CHANGES("OpenCode cannot approve yet because required coverage evidence did not pass") regardless of the PR's actual content. Sinceasyncpg/psycopg2are core LineageWeave backend dependencies, this should reproduce on essentially any LineageWeave PR that touches backend/tests — i.e., this is very likely blocking a large fraction of the current org-wide review backlog independently of.github#624's model-pool issue.Not attempting a fix
The install pipeline here is deliberately hardened (hash-pinned
pip install --require-hashes --only-binary=:all:, VCS-locked base dependencies with import-root/symlink/compiled-extension validation, trusted-source materialization without a repository token) — consistent with the same kind of anti-tampering design already documented as under active maintenance elsewhere in this org's CI. I don't have visibility into howrequirements-opencode-review-ci-hashes.txtor the pnpm invocation are generated/maintained, so I'm not guessing at a fix here; recording the evidence for whoever owns that generation step.