Skip to content

fix: fail closed on empty or incomplete twin inventory - #26

Merged
justrunme merged 1 commit into
mainfrom
fix/empty-twin-fail-closed
Oct 11, 2026
Merged

justrunme merged 1 commit into
mainfrom
fix/empty-twin-fail-closed

Conversation

@justrunme

Copy link
Copy Markdown
Owner

Fail closed when the twin cannot prove a package is absent.

  • no-blast-radius ALLOW now requires inventory_complete=true. The flag is set on ingest only when every running workload resolves to an artifact with a real SBOM package inventory; empty or stub-only twins stay incomplete and yield UNKNOWN / incomplete-inventory (exit 1).
  • Release workflow: Grype errors are no longer masked with || true, and the dogfood step asserts the policy decision for every CVE (fails on BLOCK/QUARANTINE/UNKNOWN), not just CVE counts.

Tests: empty twin + CVE is not ALLOW, complete twin without the package is ALLOW, inventory completeness on ingest, dogfood gate rejects BLOCK/UNKNOWN, release workflow has no masked Grype.

Distinguish complete inventory (ALLOW via no-blast-radius when the
package is absent) from empty/incomplete twins (UNKNOWN /
incomplete-inventory, non-zero exit). Set inventory_complete at ingest
when SBOMs cover all running workloads. Release dogfood drops Grype
|| true and asserts policy decision JSON.

Co-authored-by: Andrey Lesnikov <justrunme@users.noreply.github.com>
@justrunme
justrunme merged commit 7e95f9e into main Oct 11, 2026
4 checks passed
@justrunme
justrunme deleted the fix/empty-twin-fail-closed branch October 11, 2026 17:56
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.

1 participant