Skip to content

fix: treat nested Rust coverage as peer evidence#291

Open
seonghobae wants to merge 1 commit into
mainfrom
codex/rust-coverage-nested-manifest
Open

fix: treat nested Rust coverage as peer evidence#291
seonghobae wants to merge 1 commit into
mainfrom
codex/rust-coverage-nested-manifest

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • Treat PRs with Rust changes but no root Cargo.toml as nested-crate coverage advisory instead of failing central coverage-evidence.
  • Keep the advisory explicit that nested Rust coverage must be backed by repo-local Rust CI/build/security checks.
  • Add central self-test assertions for the new advisory text.

BandScope queue impact

  • Addresses the current coverage-evidence failure class seen on ContextualWisdomLab/bandscope #527 and #528, where Rust files changed under a nested Tauri crate but the repository root has no Cargo.toml.
  • This does not relax root Cargo workspace coverage; root Cargo.toml projects still run cargo llvm-cov --fail-under-lines 100.

Validation

  • git diff --check
  • bash -n scripts/ci/test_strix_quick_gate.sh
  • python3 -c 'import pathlib, yaml; yaml.safe_load(pathlib.Path(".github/workflows/opencode-review.yml").read_text()); print("yaml ok")'\n- rg -n "Rust files changed, but no root Cargo.toml was found|Fix: add or point to the Cargo workspace manifest" .github/workflows/opencode-review.yml scripts/ci/test_strix_quick_gate.sh returned no matches\n\n## Note\n- Did not complete the full scripts/ci/test_strix_quick_gate.sh harness locally because its model-fallback scenarios include long CI-oriented waits; this PR updates its assertion coverage for the changed contract.

Copilot AI review requested due to automatic review settings July 2, 2026 20:34
@seonghobae seonghobae enabled auto-merge July 2, 2026 20:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts the central coverage-evidence contract so repositories that change Rust files under nested crates (but have no root Cargo.toml) produce an explicit advisory instead of failing coverage evidence, and updates the gate self-test to assert the new advisory text.

Changes:

  • Add a dedicated “nested Rust coverage” advisory section in coverage-evidence output when Rust changes are detected without a root Cargo.toml.
  • Stop treating “Rust changes + no root Cargo.toml” as a coverage-evidence failure; require peer repo-local Rust CI/build/security checks instead (documented in output).
  • Extend scripts/ci/test_strix_quick_gate.sh assertions to verify the new advisory messaging is present.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/opencode-review.yml Converts missing-root-Cargo Rust coverage from a failure into an explicit advisory and updates the coverage-evidence flow accordingly.
scripts/ci/test_strix_quick_gate.sh Adds assertions that the workflow includes the new nested Rust advisory text.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +621 to +628
append_nested_rust_coverage_advisory() {
append "### Rust test coverage"
append ""
append "- Result: PASS"
append "- Reason: Rust files changed, but no root Cargo.toml coverage contract was found; nested Rust coverage is not measured by this central workflow."
append "- Required peer evidence: keep repo-local Rust CI/build/security checks required for nested crates."
append ""
}
Comment on lines +786 to 790
append_nested_rust_coverage_advisory
fi
fi

if has_changed_tracked_files 'Dockerfile' '*/Dockerfile' 'Dockerfile.*' '*/Dockerfile.*' 'docker-compose.yml' 'docker-compose.yaml' 'compose.yml' 'compose.yaml'; then
@opencode-agent opencode-agent Bot disabled auto-merge July 2, 2026 21:02
@seonghobae seonghobae enabled auto-merge July 2, 2026 21:15
@opencode-agent opencode-agent Bot disabled auto-merge July 3, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants