fix(sbom): enforce hourly non-fork commercial inventory - #1603
Conversation
|
Warning Review limit reachedNext included review available in 6 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
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 |
Preserve the newly integrated unbounded Strix compatibility repair while carrying only #1603's three-file SBOM scheduler, doctoring, and executable contract delta forward. No force push or unrelated tree replacement.
|
|
Goal
Make central software-supply-chain evidence match the commercialization contract: every hourly inventory run must exclude fork repositories before collection, surface license evidence for commercial-policy review, and preserve concurrent publication history.
TDD and implementation
The first commit added a RED contract proving the protected scheduler was wrong: weekly cadence, no fork invariant at the workflow boundary, and recurring
--force-with-leasepublication. Exact head9caa175e61f43180c8724acb97dbdd974c40f855now makes that contract GREEN in source:cron: "0 * * * *"refreshes evidence hourly;nameWithOwner,isForkand admits only.isFork == false;--repoarguments, so the protected aggregator's broader org discovery is bypassed;oursmerge and uses a normal push, so concurrent movement is rejected rather than history-rewritten;main@6eb93bce8575ba734f5ce6cb9267d76f18f73680before this exact head.Commercial-license interpretation
docs/doctoring/hourly-commercial-license-sbom-remediation.mdrecords the replacement policy and current standards baseline. GPL-family flags are review evidence, not a claim that GPL prohibits commercial use. Remediation evaluates actual distribution, hosted-service, linkage, modification and reciprocal obligations, then removes unused dependencies, replaces with permissive maintained equivalents, or clean-room implements only the bounded required capability without copying protected source. Unknown, non-commercial, evaluation-only, field-of-use and incompatible source-available terms fail closed to review.SPDX 3.0 and CycloneDX 1.7/ECMA-424 2nd Edition are the current stable evidence baselines as of 2026-09-01; CycloneDX 2.0 is announced but not yet the stable baseline.
Scope and ownership
This PR deliberately does not modify
scripts/ci/sbom_inventory_aggregator.pyor its parser tests because #932 is the existing canonical lane for that file. The remaining classifier work there should move from substring-only triage toward explicit SPDX-expression-aware allow/review/replace outcomes without weakening detection.Hosted exact-head GitHub Checks and semantic reviews must regenerate on
9caa175e61f43180c8724acb97dbdd974c40f855; queued predecessor evidence is not acceptance.