fix(module-registry): harden OCI publication and caching - #1130
Conversation
|
CI follow-up (98a7ed7): the combined Sonar refactors preserved behavior but made Verification after the split:
The PR remains draft while the fresh GitHub CI/Sonar run completes. |
|
Sonar follow-up (3394773): the analyzer’s stdlib model did not include Python 3.11.4’s backported Post-fix verification: 217 focused unit tests + 5 OCI integration tests passed; Ruff and the GOV-913 policy gate passed; the changed-code coverage checker reports no uncovered changed line or branch. |
Make module bundles deterministic, validate registry failures consistently, and require complete signing configuration. Bound archive expansion, verify immutable cache source snapshots, and publish versioned OCI layouts through atomic pointers.
Build fixtures and derived arguments before exception contexts so each assertion observes one operation, and separate the tampered-cache existence and content checks.\n\nRequirement: GOV-913\n\nRefs: #1107
ec10870 to
54a311f
Compare
Plain-language summary
Issue mapping
Summary
Reference-backend image-policy changes are intentionally excluded, so this PR does not close #1096.
Compatibility
layout_dirnow identifies the selected complete immutable OCI layout.Verification
Exact rebase base:
1a38538c26abbbca0adf6ec4c56d004cc9ce743a(dev). Candidate head:54a311f1fc6344f5d8c21edc5330ed181450113f.232 passed, 5 deselected.5 passed, 232 deselected.237 passed.ac98e2f0: changed executable lines1,305/1,305, changed branch exits376/376, with zero unmapped lines, forbidden pragmas, or failures. The checker is external because test(coverage): require 100% coverage for changed Python code #1139 is not yet in this PR's base.skipped-unavailable.232 passed, 5 deselectedon each interpreter.226 passed, 6 skipped, 5 deselected). The rebase preserves those OCI semantics and centralizes the same optional open-flag values; exact-head canonical hosted verification and the SonarCloud quality gate passed, with all required checks green.Rebase notes
devafter fix(supply-chain): gate vulnerable dependencies and scanner cache #1121, fix(processor): bound dependency-cycle detection #1126, fix(processor): bound the complete solver operation (#1108) #1127, fix(libvirt): bind reproducible guest operations to fresh evidence #1128, and perf(cli): bypass command imports for exact version #1129 merged.GOV-913.