Skip to content

fix(sbom): revert Hermeto attribution requirement - #1950

Open
joejstuart wants to merge 2 commits into
conforma:mainfrom
joejstuart:EC-2224
Open

joejstuart wants to merge 2 commits into
conforma:mainfrom
joejstuart:EC-2224

Conversation

@joejstuart

Copy link
Copy Markdown
Contributor

Summary

Remove the Hermeto attribution requirement added in EC-2016. SBOM packages inherited from a base image can lack Hermeto attribution even when the component itself has no dependencies in that ecosystem, so the CycloneDX and SPDX rules can produce false violations.

Changes

  • Remove sbom_cyclonedx.hermeto_attribution_required and sbom_spdx.hermeto_attribution_required.
  • Remove the vendored_purl_types default and schema validation. An absent or invalid value no longer drives an attribution check; other rule data validation remains.
  • Remove rule-specific tests and test overrides, then regenerate policy documentation.
  • Preserve existing shared SBOM helpers and other Hermeto checks. The origin-aware replacement is tracked in KONFLUX-15925.

Acceptance criteria and traceability

Requirement Code path and configured behavior Verification
No attribution violations for inherited Go/Cargo packages Both hermeto_attribution_required deny rules are removed from policy/release/sbom_cyclonedx/ and policy/release/sbom_spdx/; the check emits nothing whether vendored_purl_types is present, absent, or invalid. No rule references remain; full policy and acceptance suites pass.
Retire the rule data contract Remove the golang/cargo default in policy/lib/rule_data/ and its validation in policy/lib/sbom/. Diff review and full CI pass.
Keep tests and docs consistent Remove dedicated rule tests and obsolete overrides; regenerate rule pages, index, and navigation. No stale references remain; make ci passes.

Validation

  • make ci — passed: 1,206 policy tests, 100% reported coverage, acceptance tests, lint, format, and docs checks.
  • git diff --check — passed.
  • Changed file set matches all 11 files from the EC-2016 merge PR.

Jira: https://redhat.atlassian.net/browse/EC-2224

Remove the CycloneDX and SPDX attribution rules added in EC-2016 because inherited base-image dependencies can trigger false violations. Remove the unused rule data, validation, tests, and generated documentation while preserving other Hermeto policies.

Ref: https://redhat.atlassian.net/browse/EC-2224

Assisted-by: Codex
@joejstuart
joejstuart requested a review from a team as a code owner October 29, 2026 17:23
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 590ba39b-0301-40a7-a9b6-a150a2d2dfdd
Commits

Reviewing files that changed from the base of the PR and between ddd21ab and 597cf67.

Files selected for processing: 1
  • antora/docs/modules/ROOT/pages/release_policy.adoc
Files skipped from review as they are similar to previous changes: 1
  • antora/docs/modules/ROOT/pages/release_policy.adoc

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Walkthrough

The pull request removes the CycloneDX and SPDX Hermeto-attribution rules, their vendored PURL-type configuration and validation, related tests, and documentation references.

Changes: Hermeto attribution rule removal

Layer / File(s) Summary
Remove vendored PURL-type configuration
policy/lib/rule_data/rule_data.rego, policy/lib/sbom/sbom.rego, policy/release/sbom/sbom_test.rego
The default vendored_purl_types value, its validation, and its validation test were removed.
Remove SBOM rules and tests
policy/release/sbom_cyclonedx/*, policy/release/sbom_spdx/*
The CycloneDX and SPDX Hermeto-attribution rules and related tests and fixtures were removed. Test helpers no longer override vendored_purl_types.
Remove policy documentation references
antora/docs/modules/ROOT/pages/packages/release_sbom_*.adoc, antora/docs/modules/ROOT/pages/release_policy.adoc, antora/docs/modules/ROOT/partials/release_policy_nav.adoc
Rule descriptions, policy collection entries, and navigation links for both checks were removed. The repository and ref entries in the security policy collection were reordered.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: acepresso, bohdanmar

Merge Risk: Minimal · up to 597cf

No actionable regression is identified in the supplied change context. The change is mergeable after normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title "fix(sbom): revert Hermeto attribution requirement" matches the main change. The PR removes the Hermeto attribution rules for CycloneDX and SPDX, plus the vendored_purl_types default and val…
Description check Passed The description follows the template's intent. It states what changed and why (false violations for inherited base-image packages). It lists the changes, a validation section, and a Jira link. The tem…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "fix(sbom): revert Hermeto attribution requirement" matches the main change. The PR removes the Hermeto attribution rules for CycloneDX and SPDX, plus the vendored_purl_types default and validation. It uses a conventional commit prefix and is concise.

Full details: Description check

Explanation

The description follows the template's intent. It states what changed and why (false violations for inherited base-image packages). It lists the changes, a validation section, and a Jira link. The template's "What", "Why", and "Tickets" headings are not used verbatim, but the required information is present. The Tickets content is provided as a Jira link (EC-2224).

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@fullsend-ai-review fullsend-ai-review Bot added the risk/moderate PR risk: moderate label Oct 29, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

<!-- fullsend:risk-assessment -->
Risk Assessment: moderate (2/5)

Details

Tier 1 signals unchanged from prior assessment (large blast radius, no protected paths, no CI/dependency changes, deletion-only); high author contention (8 distinct authors in 90d) and the PR being a revert elevate Tier 2 to ~3.1, but this is offset by low churn, clear Jira alignment, and rollback-safe pure-deletion scope; composite 0.50×2.1 + 0.30×3.1 + 0.20×2.3 ≈ 2.5 rounds to 2, consistent with prior score of 2.

Previous run

<!-- fullsend:risk-assessment -->
Risk Assessment: moderate (2/5)

Details

Pure-deletion revert of a recently added feature (Hermeto attribution) across 11 SBOM policy files with large blast radius and high author contention (7 authors in 90d), but no protected paths, no CI changes, no dependency updates, and a well-known non-bot author; composite 2.2 rounds to 2.

@fullsend-ai-review

fullsend-ai-review Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Looks good to me

<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJmaW5kaW5ncyI6W119 -->

Previous run

Looks good to me


Labels: PR fixes false-violation policy rules; risk assessment scores moderate

<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJmaW5kaW5ncyI6W119 -->

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment bug Something isn't working labels Oct 29, 2026
Keep the index order produced by make generate-docs so the CI clean-tree check passes after the EC-2224 rollback.

Ref: https://redhat.atlassian.net/browse/EC-2224

Assisted-by: Codex
@fullsend-ai-review fullsend-ai-review Bot added ready-for-merge All reviewers approved — ready to merge and removed requires-manual-review Review requires human judgment labels Oct 29, 2026
@st3penta

st3penta commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

/fs-fix rebase on top of main and resolve conflicts

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ready-for-merge All reviewers approved — ready to merge risk/moderate PR risk: moderate size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants