Skip to content

Add some test data for TC-4427 created by Phil and AI - #2359

Open
jcrossley3 wants to merge 2 commits into
guacsec:mainfrom
jcrossley3:tc-4427
Open

Add some test data for TC-4427 created by Phil and AI#2359
jcrossley3 wants to merge 2 commits into
guacsec:mainfrom
jcrossley3:tc-4427

Conversation

@jcrossley3

@jcrossley3 jcrossley3 commented May 14, 2026

Copy link
Copy Markdown
Contributor

Summary by Sourcery

Add CycloneDX AI test SBOM and AIBOM fixtures for TC-4427 scenarios.

Tests:

  • Add component-level external BOM reference SBOM/AIBOM test data for a medical scribe application.
  • Add cross-BOM reference CycloneDX BOM and AI BOM test data for an advisor chatbot/LLM pair.
  • Add self-contained and externally referenced AI BOM test data for claims and fraud detection services.

@sourcery-ai

sourcery-ai Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds new CycloneDX AI test SBOM and AIBOM fixture files for TC-4427, covering component-level external BOM references, cross-BOM link references, external AI BOM via externalReferences, and a self-contained example.

File-Level Changes

Change Details Files
Introduce TC-4427 CycloneDX AI test data fixtures for component-level external BOM references.
  • Add README describing the ComponentLevelExternalBOMReference scenario.
  • Add medical-scribe-app SBOM JSON representing the primary software component.
  • Add scribe-gpt-medical AIBOM JSON referenced at the component level from the SBOM.
etc/test-data/cyclonedx/ai/TC-4427/ComponentLevelExternalBOMReference/README
etc/test-data/cyclonedx/ai/TC-4427/ComponentLevelExternalBOMReference/medical-scribe-app-5.0.0.sbom.json
etc/test-data/cyclonedx/ai/TC-4427/ComponentLevelExternalBOMReference/scribe-gpt-medical-2026.05.aibom.json
Add TC-4427 test fixtures for CycloneDX BOM link cross-BOM references.
  • Add README describing Cross-BOM reference scenario using BOM-link.
  • Add advisor-chatbot SBOM JSON that links to a separate AI BOM.
  • Add advisor-llm AIBOM JSON that is the target of the BOM-link reference.
etc/test-data/cyclonedx/ai/TC-4427/CycloneDXBOM-LinkCross-BOMreferences/README
etc/test-data/cyclonedx/ai/TC-4427/CycloneDXBOM-LinkCross-BOMreferences/advisor-chatbot-1.9.0.sbom.json
etc/test-data/cyclonedx/ai/TC-4427/CycloneDXBOM-LinkCross-BOMreferences/advisor-llm-8.1.aibom.json
Add TC-4427 test fixtures for external AI BOM via externalReferences.
  • Add claims-assistant SBOM JSON that references an external AI BOM via externalReferences.
  • Add claims-llm AI BOM JSON referenced externally by the SBOM.
etc/test-data/cyclonedx/ai/TC-4427/ExternalAibomViaExternalReferences/claims-assistant-2.0.0.json
etc/test-data/cyclonedx/ai/TC-4427/ExternalAibomViaExternalReferences/claims-llm-7b.json
Add TC-4427 self-contained CycloneDX AI BOM test fixture.
  • Add standalone fraud-detection-api AI-related BOM JSON used as a self-contained example without external links.
etc/test-data/cyclonedx/ai/TC-4427/SelfContained/fraud-detection-api-4.2.0.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The directory name CycloneDXBOM-LinkCross-BOMreferences is a bit awkward and inconsistent with typical naming conventions; consider renaming it to a clearer, consistently-cased pattern (e.g., CycloneDXBOM-CrossBOMReferences) before this lands.
  • File naming for the fixtures mixes suffixed types (e.g., *.sbom.json, *.aibom.json) with plain *.json; it may be clearer to use a consistent convention so downstream code and readers can reliably infer the BOM type from the filename.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The directory name `CycloneDXBOM-LinkCross-BOMreferences` is a bit awkward and inconsistent with typical naming conventions; consider renaming it to a clearer, consistently-cased pattern (e.g., `CycloneDXBOM-CrossBOMReferences`) before this lands.
- File naming for the fixtures mixes suffixed types (e.g., `*.sbom.json`, `*.aibom.json`) with plain `*.json`; it may be clearer to use a consistent convention so downstream code and readers can reliably infer the BOM type from the filename.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@PhilipCattanach

Copy link
Copy Markdown

Thanks @jcrossley3 LGTM!

Ingestion failed for depending on a component of type data, and counts
returned null. Need to investigate.
@codecov

codecov Bot commented May 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.98%. Comparing base (480d2bd) to head (001389b).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2359      +/-   ##
==========================================
+ Coverage   70.90%   70.98%   +0.08%     
==========================================
  Files         442      443       +1     
  Lines       25369    25458      +89     
  Branches    25369    25458      +89     
==========================================
+ Hits        17987    18072      +85     
+ Misses       6400     6397       -3     
- Partials      982      989       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rh-jfuller

Copy link
Copy Markdown
Contributor

@jcrossley3 any chance of getting this landed (needs a rebase) ... if still relevant ?

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants