Skip to content

Improve SBoM#802

Merged
spoorcc merged 13 commits intomainfrom
spoorcc/issue788
Oct 10, 2025
Merged

Improve SBoM#802
spoorcc merged 13 commits intomainfrom
spoorcc/issue788

Conversation

@spoorcc
Copy link
Copy Markdown
Contributor

@spoorcc spoorcc commented Oct 4, 2025

Fixes #788

Description by Korbit AI

What change is being made?

Refactor the codebase to pass and expose Manifest objects throughout, add manifest path/text tracking and a location helper, implement a license inference utility, expand SBOM and reporting capabilities with evidence and multiple licenses, and update tests accordingly.

Why are these changes being made?

To improve traceability and accuracy of reports (license detection, project location in manifests) and to support richer SBOM data (evidence, multiple licenses) by centralizing manifest handling and providing location-aware tooling. This approach enables more robust reporting and auditing without changing core project behavior.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Copy link
Copy Markdown

@korbit-ai korbit-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Status
Readability Misleading variable name ▹ view
Performance Redundant file reads on encoding fallback ▹ view
Error Handling Missing context in UnicodeDecodeError handler ▹ view
Error Handling Incomplete file operation error handling ▹ view
Error Handling Incomplete exception handling for file encoding ▹ view
Documentation Improve License class docstring ▹ view
Documentation Incomplete function docstring ▹ view
Performance Unnecessary license file processing ▹ view
Readability Unexplained Magic Number for License Threshold ▹ view
Functionality Empty licenses list produces unclear output ▹ view
Files scanned
File Path Reviewed
dfetch/reporting/reporter.py
dfetch/util/license.py
dfetch/reporting/stdout_reporter.py
dfetch/reporting/sbom_reporter.py
dfetch/commands/report.py

Explore our documentation to understand the languages and file types we support and the files we ignore.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/commands/report.py
Comment thread dfetch/commands/report.py
Comment thread dfetch/reporting/stdout_reporter.py
@spoorcc
Copy link
Copy Markdown
Contributor Author

spoorcc commented Oct 7, 2025

/korbit-review /korbit-generate-pr-description

Copy link
Copy Markdown

@korbit-ai korbit-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Status
Design Unused Parameter in Interface ▹ view
Functionality Unescaped regex pattern in name search ▹ view
Performance Unbounded file read into memory ▹ view
Documentation Improve License class docstring ▹ view
Documentation Incomplete from_inferred method docstring ▹ view
Performance Unused manifest storage in abstract reporter ▹ view
Error Handling Missing project name in error message ▹ view
Documentation Unclear return value documentation ▹ view
Performance Unnecessary string conversion of None values ▹ view
Performance Redundant file reading operations ▹ view
Files scanned
File Path Reviewed
dfetch/reporting/reporter.py
dfetch/reporting/stdout_reporter.py
dfetch/commands/common.py
dfetch/util/license.py
dfetch/commands/freeze.py
dfetch/reporting/check/jenkins_reporter.py
dfetch/reporting/check/code_climate_reporter.py
dfetch/commands/report.py
dfetch/commands/check.py
dfetch/commands/diff.py
dfetch/commands/update.py
dfetch/reporting/check/sarif_reporter.py
dfetch/reporting/check/reporter.py
dfetch/reporting/sbom_reporter.py
dfetch/manifest/manifest.py

Explore our documentation to understand the languages and file types we support and the files we ignore.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/reporting/reporter.py
Comment thread dfetch/reporting/stdout_reporter.py
Comment thread dfetch/manifest/manifest.py Outdated
Comment thread dfetch/manifest/manifest.py Outdated
Comment thread dfetch/manifest/manifest.py Outdated
Comment thread dfetch/manifest/manifest.py Outdated
Comment thread dfetch/manifest/manifest.py Outdated
@spoorcc
Copy link
Copy Markdown
Contributor Author

spoorcc commented Oct 7, 2025

/korbit-generate-pr-description

@korbit-ai
Copy link
Copy Markdown

korbit-ai Bot commented Oct 7, 2025

@spoorcc I am looking at your pull request. The description will be updated shortly. In the meantime, please do not edit the description until I have finished writing mine.

@spoorcc
Copy link
Copy Markdown
Contributor Author

spoorcc commented Oct 10, 2025

/korbit-review

Copy link
Copy Markdown

@korbit-ai korbit-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Status
Documentation Unclear constant documentation ▹ view
Documentation Redundant error handling comments ▹ view
Documentation Missing encoding strategy documentation ▹ view
Documentation Non-informative constant comment ▹ view
Logging Non-standard warning logging method ▹ view
Design Abstract init method prevents normal inheritance ▹ view
Design Unused Constructor Parameter ▹ view
Documentation Unclear parameter deletion rationale ▹ view
Readability Unclear constant definition ▹ view
Design Method with Multiple Responsibilities ▹ view
Files scanned
File Path Reviewed
dfetch/reporting/reporter.py
dfetch/reporting/stdout_reporter.py
dfetch/commands/common.py
dfetch/commands/freeze.py
dfetch/util/license.py
dfetch/reporting/check/jenkins_reporter.py
dfetch/reporting/check/code_climate_reporter.py
dfetch/commands/report.py
dfetch/commands/check.py
dfetch/commands/diff.py
dfetch/commands/update.py
dfetch/reporting/check/sarif_reporter.py
dfetch/reporting/check/reporter.py
dfetch/reporting/sbom_reporter.py
dfetch/manifest/manifest.py

Explore our documentation to understand the languages and file types we support and the files we ignore.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

Comment thread dfetch/commands/report.py
Comment thread dfetch/reporting/reporter.py Outdated
Comment thread dfetch/reporting/stdout_reporter.py Outdated
Comment thread dfetch/reporting/stdout_reporter.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py Outdated
Comment thread dfetch/util/license.py
Comment thread dfetch/commands/report.py Outdated
Comment thread dfetch/commands/diff.py
@spoorcc spoorcc merged commit 59be7e4 into main Oct 10, 2025
28 checks passed
@spoorcc spoorcc deleted the spoorcc/issue788 branch October 10, 2025 19:22
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.

Add evidence to sbom report

1 participant