fix(deps): close semantic receipt validation gaps - #8182
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 PR Contract Check SummaryOverall Status: 🟢 PASSED
ℹ️ Info
This check is mechanized. Please resolve any blockers to pass CI. |
…ic-receipt-20260901
…ic-receipt-20260901
Summary
Close semantic fail-open paths in the Issue #8163 dependency evidence validator:
canonical member order;
traversal in operator-local evidence paths.
The new regression tests mutate evidence and recompute the receipt hashes, proving that
hash-valid but semantically forged content remains rejected. The 36 Issue #8163 rows remain
pending and non-authoritative; this change does not assert legal approval or release readiness.
History and scope
This is a successor to #8175. PR #8175 was merged externally at
4daa9ed3b100db09a96aa50525ebedd8587ba1a6before its independent blocking review; this draft ports only the reviewed validator hardening from that review and the subsequent no-merge findings. The feature branch includes the exact currentorigin/maintipa39a821721e5aa9de7c3d3771e85e27ee68908f1. It must remain draft pending independent review.Refs #8163
Validation
uv run pytest -q tests/tools/test_check_dependency_license_inventory.py— passed, including all semantic mutation/path regressionsuv run pytest -q tests/tools/test_check_dependency_license_inventory.py tests/dev/test_software_promotion.py tests/dev/test_software_candidate_materialization.py tests/test_schema_validation_dependency_policy.py— passed (82 tests)uv run ruff check scripts/tools/check_dependency_license_inventory.py tests/tools/test_check_dependency_license_inventory.py— passeduv run ruff format --check scripts/tools/check_dependency_license_inventory.py tests/tools/test_check_dependency_license_inventory.py— passedPR_READY_MODE=final BASE_REF=origin/main PR_READY_PR_BODY_FILE=/tmp/pr8182-final-body.md scripts/dev/pr_ready_check.sh— clean-tree run reached 99% of the 5,939-test core lane with no test failures, then was interrupted during coverage/xdist teardown; focused and broader gates above are green. Full readiness remains unconfirmed; basea39a821721e5aa9de7c3d3771e85e27ee68908f1, head5867ca9c83ad8bfa9c561165e709f3a2b964e9c9No merge, tag, publication, credential handling, or legal approval is requested by this PR.