Repository navigation
coverage-evidence sandbox: stale requirements hash-lock (missing asyncpg/psycopg2) + invalid pnpm --trust-lockfile flag block LineageWeave approvals #1250
Description
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsIn Progress
Activity
seonghobae commentedon Aug 23, 2026
Related: same bug class as .github#1234
A peer session (working on RankWeave) flagged that this is structurally the same failure mode as .github#1234 — the central
coverage-evidencerunner's pinned/hash-locked tooling desyncing from an individual repo's actual manifest. There, it'suv's version lagging RankWeave'spyproject.tomlpin; here, it's therequirements-opencode-review-ci-hashes.txthash-lock missingasyncpg/psycopg2that LineageWeave'spyproject.tomlactually declares. Different symptom, same root shape: the central sandbox's per-language dependency snapshot isn't kept in sync with each repository's own manifest/lockfile.Whoever picks up either issue may want to look at both together — the fix is likely the same class of change (regenerate/re-derive the sandbox's pinned dependency set from each repo's current manifest rather than a separately-maintained snapshot), just applied to two different ecosystems (Python hash-lock here,
uvversion there).Not attempting a fix myself, same reasoning as before.
seonghobae commentedon Aug 23, 2026
Root cause is now repaired on the existing OpenCode owner PR #1052 at exact head
8f106a2539d4f2e156f5ee79693fb300a1312e19.Fresh run evidence from
32628753453/97169032536shows the central tool lock installed successfully, and the trusted consumer baseuv.lockwas also materialized, preflighted, and installed successfully. The contradiction occurred becauseuv exportomitted project optional extras by default, so LineageWeave'sdev/backendimports (asyncpg,psycopg2-binary,redis, and the exact VCS-pinnedfast-mlsirm) were absent despite the successful lock-install receipt. The repair adds--all-extrasto the frozen/offline trusted base export; it does not expand the central fixed CI-tool lock with consumer-specific packages.The same run proved the independent JavaScript cause: the validated base/head pnpm lock was accepted, but pnpm rejected the unsupported
--trust-lockfileoption before installing dependencies. The repair removes only that unsupported option while retaining the exact base/head lock-blob comparison, offline store,--frozen-lockfile, and disabled lifecycle scripts.Verification: RED 4 failures; focused GREEN 73 tests; full local suite 1,423 passed with 16 subtests after updating the intentional workflow-blob receipt. Keep this issue open until exact-head hosted checks pass and a fresh unchanged LineageWeave #417 canary completes coverage coherently.
seonghobae commentedon Aug 23, 2026
Hosted exact-head evidence is now complete on owner #1052 at
4aa738ac400f05756b6b3b250673d1e0133a6874againstmain@9ad0ad50409561292b424d6f35a95d670a277e77.--trust-lockfileassertion only after 1,497 tests, 1 skipped, and 16 subtests passed; the exact-head contract now rejects that unsupported option;gh api --paginate --slurp(focused 48 passed), and all review threads are resolved.This is source/hosted owner evidence, not downstream acceptance. Keep #1250 open until protected-main integration and a fresh unchanged/current LineageWeave #417 coverage canary prove the optional
dev/backenddependencies install and pnpm no longer fails. #1052 still has no exact-current-head formal Reviews API verdict, so it was not merged.seonghobae commentedon Aug 23, 2026
Project #1 pickup: Codex is following owner PR #1052 through protected-main integration and a fresh unchanged LineageWeave canary. Status: In Progress; phase: Ops; component: dot-github. No duplicate implementation branch was created because the minimal root-cause repair already exists on the active owner PR.
seonghobae commentedon Aug 24, 2026
Fresh pnpm HEAD-lock trust asymmetry (Inkspan canary)
Fresh unchanged consumer evidence now exposes the next central boundary after the Storybook runtime-classifier repair:
11d5cfecdcc0949ec98e6ca110d482124bff00c4, base3b38ead2d00f44eb578d0689087b9293b3dabe1e.coverage-evidencejob97411185557, fails before measurement with:Current pnpm lock pnpm-lock.yaml differs from the validated base; refusing --trust-lockfile for PR-controlled dependency resolution.main@613a33e0cb1c6db9790fae99f6253445712ac37aalready excludes.storybook/**and*.stories.*from product-runtime coverage classification. The canary's changedpackage.json/lock add the Storybook scripts and exact Storybook dev dependencies; this is no longer the historical Storybook path-classifier defect.Root cause is an npm/pnpm trust asymmetry in the central sandbox.
materialize_base_javascript_packages.py --head-shavalidates and materializes a changed current-head npm lock into the trusted offline cache and manifest, but materializes only the base pnpm lock. Runtimetrusted_pnpm_lock_matches_base()consequently rejects every legitimate changed pnpm lock before the already-preserved--offline --frozen-lockfile --ignore-scriptsinstall can run.The narrow safe repair belongs on the existing OpenCode owner path #1052, currently exact head
8ea117c06de1e4274044a0636a91f0b9ff82dd58; no competing branch was created. Acceptance should add RED fixtures for a validated changed pnpm lock and unsafe/unverifiable resolution controls, then give pnpm the same exact revision + lock-blob + worktree-blob + trusted-manifest binding already used for npm. The image build may populate only an integrity/provenance-validated HEAD lock into the tokenless offline store; the consumer sandbox must retain offline, frozen-lockfile, disabled lifecycle scripts, symlink/path escape rejection, and fail closed for unbounded registry/VCS/file/workspace provenance.GREEN still requires focused/full central tests, exact-head hosted evidence, protected-main integration, and a fresh Inkspan #362 canary. This comment records a causal owner boundary, not passing coverage evidence.
seonghobae commentedon Aug 24, 2026
Fresh Inkspan canary: validated changed pnpm lock still lacks HEAD archive closure
A second unchanged Inkspan canary exposes a distinct downstream boundary in the same central
coverage-evidenceowner lane:ContextualWisdomLab/inkspan#373c2db417df2c8f041d31ac5880c4898f00692c04einkspan/main@3b38ead2d00f44eb578d0689087b9293b3dabe1e32702585538 / 9741196936433b69e160945390a6fb2e7dc6e32e1bcf25460c8613a33e0cb1c6db9790fae99f6253445712ac37af3e43ef71ded66adf15d6ad2e03148bfa92e24d2The run correctly resolved the exact consumer base/head pair and changed dependency files, then failed before measurement during its single deterministic pnpm install.
pnpm install --frozen-lockfile --offlinecould not retrieve@sindresorhus/merge-stream@4.0.0: pnpm reportedERR_PNPM_META_FETCH_FAILbecause cache mode wasonly-if-cachedand the archive/metadata was absent from the trusted offline store.This is not an Inkspan source/test failure. It is also narrower and later than the #362 changed-lock trust asymmetry already recorded above: accepting/provenance-binding a legitimate HEAD pnpm lock is insufficient unless the trusted build phase materializes the complete integrity-bound package closure named by that exact HEAD lock into the tokenless offline store.
Falsifiable RCA: with the exact validated HEAD lock unchanged, the coverage image/store is constructed without at least one package archive required only by HEAD; therefore the later offline/frozen consumer install cannot execute even though the lock itself is authoritative.
Owner acceptance should add a RED fixture where base lacks a dependency and the validated HEAD lock adds it, proving the current build/store path cannot satisfy the offline install. The narrow GREEN should materialize only the exact integrity/provenance-validated HEAD lock closure into the trusted build cache, while preserving
--offline,--frozen-lockfile, disabled lifecycle scripts, path/symlink escape rejection, and fail-closed handling for registry/VCS/file/workspace provenance that cannot be authenticated. Do not substitute registry access in the consumer sandbox or treat a missing archive as source failure.After owner integration, rerun this same unchanged
inkspan#373@c2db417…canary and require the coverage job to reach real measurement. Historical run/job output remains non-passing and must not be transferred.seonghobae commentedon Aug 25, 2026
Orgmetra canary confirms the central coverage-evidence owner boundary is still active on protected-main
.github@613a33e0cb1c6db9790fae99f6253445712ac37a.Target:
ContextualWisdomLab/Orgmetra#54@cc6784ec33b1145c342bbbb99ebece1d37aeec80(unchanged target head). Orgmetra-native exact-head evidence is terminal GREEN on the same SHA: Workforce Intelligence32446632080, Foundation32446632202, People32446632154, Job-Analysis32446632216, Recovery32446632120, SAST32446632060, Security32446632029; the earlier target-local OpenCodecoverage-evidencecheck on this same SHA also succeeded (96744426819).Fresh central repository-dispatch run
32790319079nevertheless failed in.github, withcoverage-evidencejob97638916455failing specifically atMeasure test and docstring evidence; OpenCode then postedREQUEST_CHANGESon Orgmetra #54 citing 12 coverage-evidence failures. The dispatch run's source is centralmain@613a33e0..., not the Orgmetra branch. No Orgmetra source/head change explains the contradiction.Current existing owner PR #1052 is still open/unmerged at
f3e43ef71ded66adf15d6ad2e03148bfa92e24d2againstmain@613a33e0...; do not create a competing repair from Orgmetra. Acceptance for this canary: after the existing central owner repair integrates, redispatch unchanged/current Orgmetra #54 and requirecoverage-evidence+ OpenCode outcome to pass without changing Orgmetra solely to satisfy central sandbox/tooling drift.seonghobae commentedon Aug 25, 2026
Orgmetra canary: exact-head coverage is GREEN locally, central hash-binding rejects it
Fresh downstream evidence isolates a new/current central
coverage-evidenceboundary forContextualWisdomLab/Orgmetra#40.ContextualWisdomLab/Orgmetra#40@8d8896b14db10a5a4981f0b9e209ea00ee3be64c32476007995 / 96752378435221 statements / 64 branches = 100%, then passed clean-checkout32898120719 / 97966384105, central sourceContextualWisdomLab/.github@613a33e0cb1c6db9790fae99f6253445712ac37aCreate hash-bound coverage evidence; review/model/fallback steps before it succeeded100.00%with fingerprint6376819fc7be6f4957c186450a441308712028868dc9dfa401bd59e8c0b93583, but rejected it because the analyzer/evidence provenance was not accepted as bound to the exact target SHA, ending withcoverage-evidence-step-failed: could not verify target coverage evidenceCHANGES_REQUESTEDon ⚡ Bolt: JSON 파싱 성능 최적화 #40 despite the unchanged exact target head having complete target-local GREEN coverage/security/recovery evidence.Owner boundary: no Orgmetra source/test/gate failure is reproduced here. The consumer job already proves exact checkout + exact 100% statement/branch coverage. The first failing boundary is the central review sandbox's construction/acceptance of hash-bound coverage provenance, so this belongs on the existing OpenCode owner path rather than an Orgmetra workaround. No
.githubsource/ref/workflow/PR state was modified from the Orgmetra loop.RED acceptance: an unchanged consumer SHA whose target-local run explicitly proves exact checkout and 100% coverage must not receive
CHANGES_REQUESTEDmerely because central evidence generation loses/fails to bind that already-known target SHA. Unsafe/stale/predecessor evidence must still fail closed.Smallest remedy: at the central evidence-construction boundary, bind the coverage artifact/analyzer receipt to
TARGET_REPO + TARGET_SHAfrom the authenticated dispatch and verify that binding against the exact checkout/run being measured; do not relax the 100% threshold or accept summary-only/predecessor evidence.Required GREEN proof: focused central regression for exact-SHA binding + full current owner-PR checks + protected-main integration + fresh unchanged Orgmetra #40 canary where the coverage-evidence step is terminal GREEN and the review no longer requests changes for this cause.
Current existing owner PR #1052 remains open; fresh API state observed its branch at
abf47ce275fd8c1efa8306d30f1d6afbadd989ab. This comment only routes the causal evidence into the existing owner path.seonghobae commentedon Aug 25, 2026
Orgmetra target-side canary update (read-only foreign-owner handoff; no
.githubsource/ref/workflow mutation):ContextualWisdomLab/Orgmetra#40exact head8d8896b14db10a5a4981f0b9e209ea00ee3be64chas Orgmetra-native exact-head GREEN and 100% owned coverage, but central repository-dispatch run32898120719failedcoverage-evidencejob97966384105atMeasure test and docstring evidence; downstream OpenCode therefore REQUEST_CHANGES.fix/central-sandbox-sibling-imports, exact head60ad07a02c766b54673d7cbbdd7e7bdcd08d129e. It is intentionally target-owned: service-local test bootstrap adds workspacepackages/*/srcandservices/*/srconly during pytest collection, and repository-file tests resolve paths fromPath(__file__)rather than process CWD. Production runtime imports are not changed.32906466684, People32906466790, Job-Analysis32906466945, Recovery32906466656, SAST32906466774, Security32906466865are still queued, so this is not yet claimed as GREEN.Acceptance/canary after #122 itself is GREEN and integrated through normal Orgmetra governance: redispatch the unchanged/then-current #40 (and #54) target SHA through the central coverage sandbox. The owner repair is complete only when plain service-directory pytest collection and hash-bound coverage evidence succeed against the exact target SHA without broadening sandbox trust, weakening coverage/docstring gates, or requiring target production-runtime path mutation.
seonghobae commentedon Aug 26, 2026
Orgmetra canary refinement: central nested-coverage invocation is independently reproducible
Fresh read-only analysis of the exact merge-tree artifact produced by central run
32898120719(coverage-source-treeartifact SHA-2564d3605b39436918d2436ffe3d8ace580d75578b2dc4fa637cd5bef34f1b0b0a8) isolates an additional/earlier central measurement defect that target PR #122 cannot correctly repair.Historical target remains
ContextualWisdomLab/Orgmetra#40@8d8896b14db10a5a4981f0b9e209ea00ee3be64c; central failing job is97966384105, stepMeasure test and docstring evidence. The trusted central workflow's generic Python fallback runs each tracked project as:cd "$project_dir" && PYTHONPATH="$([ -d src ] && printf src:. || printf .)" python3 -m coverage run -m pytest tests && python3 -m coverage report --show-missingOn the downloaded exact #40 merge tree,
packages/interview-plan/pyproject.tomlalready configures pytest-cov through pytestaddopts(--cov=orgmetra_interview_plan --cov-branch --cov-fail-under=100). Replaying the central command produces a falsifiable two-layer result:python3 -m coverage run -m pytest testsexits 0; pytest-cov runs 110 tests, reports 221 statements / 64 branches = 100.00%, and satisfies its 100% threshold;python3 -m coverage report --show-missingthen exits 1 withCoverageWarning: No data was collected/No data to report, because the nested pytest-cov session owns/resets the coverage data used during pytest.The same pattern reproduces on other Orgmetra Python packages that configure pytest-cov in
pyproject.toml: functional tests and the package's own exact coverage gate pass, then the central wrapper's second coverage report fails. This failure exists even before service-local sibling-import/CWD issues addressed by Orgmetra #122, so removing pytest-cov configuration from every target package would be an incorrect target-side workaround that weakens/duplicates owned coverage contracts.Owner boundary: central
.githubcoverage measurement orchestration. Orgmetra #122 should remain only the target-owned fix for service-local workspace imports and CWD-independent repository-file tests; it cannot make this nested-coverage design correct.RED acceptance: a project whose pytest configuration already enforces exact coverage with pytest-cov must not be wrapped in a second
coverage runand then rejected because the outer collector has no data; actual test/coverage failures must still fail closed.Material remedies to evaluate at the existing owner boundary: (1) detect trusted pytest-cov configuration and execute pytest directly, accepting its exact threshold/report evidence through the existing hash/provenance binding; or (2) if central coverage must own collection, invoke pytest with repository addopts coverage instrumentation disabled in a narrowly controlled way and let the outer collector own measurement while preserving the repository's source/branch/threshold semantics. Do not simply ignore a nonzero coverage-report exit or accept summary-only/stale evidence.
Required GREEN proof: focused central regression for a pytest-cov-configured project + full owner PR checks + protected-main integration + fresh unchanged/current Orgmetra #40/#54 canary where
Measure test and docstring evidenceand downstream OpenCode review both pass on the exact target SHA.No
.githubsource/ref/workflow/PR state was modified from the Orgmetra loop.seonghobae commentedon Aug 26, 2026
Fresh Orgmetra owner-boundary evidence (2026-08-26):
.githubowner PR #1052 has advanced to actual headabf47ce275fd8c1efa8306d30f1d6afbadd989ab(its PR body still describes predecessor heads). Read-only inspection of.github/workflows/opencode-review-dispatch.ymlat that exact head shows the generic Python fallback remains:python3 -m coverage run -m pytest tests && python3 -m coverage report --show-missinginside
run_python_test_coverage()when no configured CI command is discovered. That is the same first causal boundary reproduced by Orgmetra #40 central run32898120719/ coverage-evidence job97966384105: pytest-cov itself completes 110 tests with 221 statements / 64 branches at 100%, then the outer coverage collector reportsNo data was collected/No data to report.Acceptance remains: detect/execute the target's trusted configured pytest-cov command without wrapping it in a second coverage collector, or otherwise ensure only one authoritative coverage collector owns the run; preserve exact branch+statement evidence and sandbox isolation. After owner repair integrates, require fresh repository-dispatch canaries for unchanged/current Orgmetra #40 and #54 heads before clearing their OpenCode CHANGES_REQUESTED. This comment is handoff evidence only; no
.githubsource/ref/workflow/PR state was mutated by the Orgmetra loop.seonghobae commentedon Aug 26, 2026
Fresh Orgmetra canary recheck (2026-08-26): the foreign-owner defect remains present on current
.githubPR #1052 headabf47ce275fd8c1efa8306d30f1d6afbadd989ab(live basemain@d2c554dbbc04854db6215970fabb70cef1ceb690). Read-only inspection of.github/workflows/opencode-review-dispatch.ymlat that exact head still contains the generic fallback:python3 -m coverage run -m pytest tests && python3 -m coverage report --show-missingfor each discovered Python project when no configured command is selected. That is the same first causal boundary previously reproduced on Orgmetra #40:
packages/interview-planalready runs its own pytest-cov contract to 100%, then the outer generic coverage process reportsNo data was collected / No data to report, causing centralcoverage-evidencerun32898120719to fail and OpenCode to postCHANGES_REQUESTEDon exact Orgmetra head8d8896b14db10a5a4981f0b9e209ea00ee3be64c. Orgmetra #54 remains the second affected canary.Acceptance remains unchanged: the owner fix must avoid double-wrapping a project that already supplies authoritative pytest-cov/coverage evidence, preserve exact-head binding and fail-closed 100% thresholds, and then produce fresh central GREEN/OpenCode canaries for Orgmetra #40 and #54. No
.githubsource/ref/workflow/PR state was modified from the Orgmetra loop.seonghobae commentedon Aug 26, 2026
Fresh read-only owner-boundary update for Orgmetra canaries (#40/#54): owner PR #1052 is still open at exact head
abf47ce275fd8c1efa8306d30f1d6afbadd989ab. The currentopencode-review-dispatch.ymlstill contains the generic Python fallback that runspython3 -m coverage run -m pytest tests && python3 -m coverage report --show-missingfor tracked Python projects without an explicit configured coverage command. That remains materially distinct from Orgmetra packages whose own pytest configuration already invokes pytest-cov and proves exact 100% coverage; double-wrapping them can leave the outer coverage process withNo data was collected/No data to reportafter the inner pytest-cov run has already succeeded. This preserves the previously observed first causal boundary for Orgmetra #40/#54 rather than an Orgmetra source failure.Acceptance/canary after owner repair: on unchanged Orgmetra target heads, the central coverage job must consume one authoritative coverage execution (configured package coverage command or otherwise non-nested measurement), bind its evidence to the exact target head/merge tree, complete terminal GREEN, and allow a fresh OpenCode review run to replace the current coverage-caused REQUEST_CHANGES. Do not weaken the target package's exact statement/branch coverage threshold to make the central wrapper pass.
seonghobae commentedon Aug 27, 2026
Orgmetra canary owner-path correction — #1052 is now closed unmerged
Fresh authoritative API state on 2026-08-27 shows the previously referenced OpenCode owner PR #1052 is now closed without merge (
merged=false, closed at2026-08-27T11:59:18Z; last branch headabf47ce275fd8c1efa8306d30f1d6afbadd989ab). A fresh open-PR search found no open successor explicitly matching the Orgmetra #40 exact-SHA/hash-bound coverage-evidence defect.The downstream canary remains unchanged and non-passing:
ContextualWisdomLab/Orgmetra#40@8d8896b14db10a5a4981f0b9e209ea00ee3be64c32476007995, Foundation32476008027, Recovery32476007947, SAST32476008014, Security32476008031— all terminal SUCCESSCHANGES_REQUESTEDstill stands on that same target SHA32898120719, coverage-evidence job97966384105Please treat the old instruction “wait for #1052 integration” as stale. Preserve this existing owner issue as the control/handoff boundary and route the repair to the current canonical OpenCode/coverage owner path rather than creating a leaf workaround in Orgmetra. Required acceptance is unchanged: central RED for exact
TARGET_REPO + TARGET_SHAevidence binding, focused/full central GREEN, protected-main integration, then a fresh unchanged Orgmetra #40 canary whose coverage-evidence and resulting formal review no longer fail for this cause. Unsafe/stale/predecessor evidence must continue to fail closed.seonghobae commentedon Aug 27, 2026
Fresh Orgmetra handoff update (2026-08-28 KST): the structured-interview blocker still has no active central root-cause implementation path.
.github#1052remains closed without merge. Current open.github#1363(664fd63ebae2e863a8d6b92073c999f7d1c793e8) explicitly describes itself as an honesty slice only: it makes a coverage miss visiblyCOVERAGE_BLOCKEDand improves review surfaces, but it does not repair the coverage measurement path. Its body says its source bytes came from #1052 while excluding the separate coverage identity/receipt/toolchain mechanisms.The unchanged Orgmetra acceptance canary remains #40 at
8d8896b14db10a5a4981f0b9e209ea00ee3be64c: the target-local interview-plan pytest-cov contract already proves exact 100% statement/branch coverage, while central run32898120719/ job97966384105double-wraps the pytest-cov project and later fails withNo data was collected / No data to report, causing OpenCodeCHANGES_REQUESTED.Owner RED/acceptance remains: reproduce the nested-coverage false failure at the first central measurement boundary; make the smallest central fix without lowering the target's 100% gate; then prove a fresh unchanged-head #40 central coverage-evidence/OpenCode canary terminal GREEN. A review-surface-only change is not sufficient. Orgmetra will not add a leaf workaround or mutate this repository.
seonghobae commentedon Aug 28, 2026
Fresh Orgmetra owner-boundary canary after the 2026-08-28 central merges: the specific #40 nested-coverage defect remains present on protected
.github/mainand is not repaired by merged #1363/#1369/#1378.Exact affected target:
ContextualWisdomLab/Orgmetra#40head8d8896b14db10a5a4981f0b9e209ea00ee3be64c, live basedevelop@9e3e4847510e1e612b48474ba42b177b8ed824df. The current formal OpenCode review still hasCHANGES_REQUESTED, citing central run32898120719, coverage-evidence job97966384105. Target-sidepackages/interview-planevidence is 110 tests, 221 statements / 64 branches, 100% coverage.Fresh protected-main source read of
.github/workflows/opencode-review-dispatch.ymlstill contains the generic fallback for every discovered Python project without a configured command:python3 -m coverage run -m pytest tests && python3 -m coverage report --show-missing.That is the same causal boundary previously reproduced for Orgmetra: a project whose own pytest configuration already invokes pytest-cov can complete its supported coverage contract, then the outer central
coverage runwrapper has no usable outer data and the later standalonecoverage reportfails. Merged #1363 is explicitly an honesty/surface slice; #1369/#1378 are Strix/gateway credential/provider-order repairs, so none changes this measurement fallback.Owner acceptance for this Orgmetra canary remains narrow: add a deterministic central RED exercising a consumer project whose supported pytest config owns coverage measurement; make the smallest owner-side change that avoids nested/competing coverage collection while preserving exact 100%/docstring requirements and hash-bound TARGET_REPO+TARGET_SHA provenance; obtain focused/full central GREEN; integrate to protected main; then run a fresh unchanged-head #40 coverage/OpenCode dispatch and require terminal-success coverage evidence plus a new current-head formal verdict that no longer requests changes for this cause. Do not weaken the target package gate or treat the historical target-side success check alone as the central receipt.
seonghobae commentedon Aug 28, 2026
Fresh Orgmetra canary against current protected main
The #40 central measurement defect remains present after another protected-main advance.
.github/main:e1b03eebc6dc5c85aed393e5928927c96376cf46(merge of test(ci): probe pinned request size enforcement #1379)ContextualWisdomLab/Orgmetra#40@8d8896b14db10a5a4981f0b9e209ea00ee3be64c, basedevelop@9e3e4847510e1e612b48474ba42b177b8ed824df32476007995, Foundation32476008027, Recovery32476007947, SAST32476008014, Security32476008031; package coverage is 110 tests, 221 statements / 64 branches = 100%CHANGES_REQUESTEDon that exact head still stands from central run32898120719, coverage-evidence job97966384105.github/workflows/opencode-review-dispatch.ymlate1b03eeb…still contains the generic fallback:python3 -m coverage run -m pytest tests && python3 -m coverage report --show-missingNo Orgmetra-local source, test, or production-runtime change is a correct repair for this. Please keep the existing owner acceptance unchanged: a RED reproducing the nested-coverage false failure, the smallest central measurement fix without weakening the 100% target gate, focused/full GREEN on the owner path, protected-main integration, then a fresh unchanged/current Orgmetra #40 canary where
coverage-evidenceand the resulting formal OpenCode review are terminal passing. This comment only advances the existing handoff; no.githubsource/ref/workflow/settings were mutated from the Orgmetra loop.