Skip to content

feat: scope CVE fixes to affected container and improve CVE verification#96

Merged
jwm4 merged 5 commits intoambient-code:mainfrom
angaduom:improve-cve-fix-repo-scoping
Mar 31, 2026
Merged

feat: scope CVE fixes to affected container and improve CVE verification#96
jwm4 merged 5 commits intoambient-code:mainfrom
angaduom:improve-cve-fix-repo-scoping

Conversation

@vmrh21
Copy link
Copy Markdown
Contributor

@vmrh21 vmrh21 commented Mar 30, 2026

Summary

  • Container-scoped repo targeting: cve.fix now parses the container name and package from the Jira ticket summary (e.g. rhoai/odh-llm-d-routing-sidecar-rhel9: urllib3) and uses container_to_repo_mapping to only process repos in that container's upstream/midstream/downstream chain — not every repo under the component. This prevents autoscaler CVEs from creating PRs in batch-gateway or inference-scheduler repos, and vice versa.
  • Improved CVE verification: When the existing scanner (govulncheck/pip-audit/npm audit) doesn't find a CVE, the workflow now also checks dependency manifests directly for the affected package version before deciding to skip. Only skips when both the scan AND the direct version check find no evidence of the vulnerability. If the package isn't in any manifest (transitive or RPM-installed), still creates a PR with a manual review note.
  • AI Evaluations mapping: Added complete repo chain for llama-stack-provider-ragas (upstream/midstream/downstream) and all missing container mappings for the AI Evaluations component.

Test plan

  • Run /cve.fix llm-d with an inference-scheduler Jira ticket — verify only inference-scheduler repos get PRs, not batch-gateway or autoscaler repos
  • Run /cve.fix with a Python CVE ticket — verify package version check runs when pip-audit finds nothing
  • Run /cve.fix with a CVE where both scan and version check find nothing — verify it's correctly skipped

🤖 Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 30, 2026

Walkthrough

CVE-fixer docs and workflow now parse Jira summaries for container and package, prefer container-scoped repo selection (matching subcomponent), and change verification to combine scan results with direct manifest package-version checks before skipping fixes. Repository mappings gain subcomponent entries and new llm-d / AI Evaluations mappings.

Changes

Cohort / File(s) Summary
CVE Workflow: fix logic & docs
workflows/cve-fixer/.claude/commands/cve.fix.md
Extracts CONTAINER (token between CVE and first colon) and PACKAGE (token after first colon) from Jira summaries; carries per-CVE values forward; repo selection now container-scoped via container_to_repo_mapping then filtered by subcomponent; fallback to component-wide repos with warnings. CVE verification now also performs direct package-version checks across manifests (requirements*, setup.py, pyproject.toml, go.mod, package.json) and treats a CVE as "already fixed" only if both scan results and manifest checks show no vulnerability; otherwise proceeds with fixes and documents package-not-found cases.
CVE Workflow: find CLI & JQL
workflows/cve-fixer/.claude/commands/cve.find.md
Updated positional args: first non-flag = COMPONENT_NAME, second optional = SUBCOMPONENT; added examples. When SUBCOMPONENT is provided and mapping exists, performs reverse lookup in component-repository-mappings.json to collect matching pscomponent:* labels and appends an OR JQL filter for those labels; warns and proceeds without subcomponent filter if none found.
Component repository mappings
workflows/cve-fixer/component-repository-mappings.json
Adds subcomponent fields to many existing repository entries (llm-d, AI Evaluations, Model as a Service repos), extends container_to_repo_mapping with new RHOAI container→repo entries (ragas, eval-hub, trustyai-garak), and introduces new llama-stack-provider-ragas repositories with subcomponent metadata; minor metadata/format normalizations.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Jira as Jira (issue summary)
    participant WF as CVE-Fixer Workflow
    participant Selector as Repo Selector (component mappings)
    participant Scanner as Vulnerability Scanner
    participant Manifests as Manifest Checker
    participant Decider as Decision Logic
    participant Fixer as Fix Automation

    Jira->>WF: issue created/updated (summary with container/package)
    WF->>Selector: extract CONTAINER & PACKAGE -> resolve repos (container_to_repo_mapping -> filter by subcomponent)
    Selector-->>WF: selected repo chain(s) or fallback list with warning
    WF->>Scanner: run repo/image vulnerability scan
    WF->>Manifests: check manifests for PACKAGE + versions
    Scanner-->>Decider: scan results (CVE present/absent)
    Manifests-->>Decider: package-version evidence (vulnerable/not found/not vulnerable)
    Decider->>WF: decide: already fixed (both absent) OR proceed with fixes
    alt proceed with fixes
      WF->>Fixer: apply fixes / create PRs across selected repos
      Fixer-->>WF: fix artifacts (PRs, backports, notes)
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the two main changes: container-scoped CVE fixes and improved CVE verification logic.
Description check ✅ Passed The description thoroughly explains the three key changes (container scoping, improved verification, AI Evaluations mapping) and provides a test plan directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@workflows/cve-fixer/.claude/commands/cve.fix.md`:
- Around line 72-76: The PACKAGE extraction regex (used in the PACKAGE variable)
doesn't match npm scoped names with '@' or '/' (e.g., `@babel/core`); update the
grep -oP lookbehind regex used for PACKAGE to expand the character class to
include '@' and '/' (for example replace [\w._-]+ with a class that includes @
and / such as [@\w./-]+ or a more specific scoped-package pattern) so PACKAGE
correctly captures scoped npm package names; leave the CONTAINER extraction
unchanged.

In `@workflows/cve-fixer/component-repository-mappings.json`:
- Around line 486-510: The upstream entry
"llm-d/llm-d-workload-variant-autoscaler" uses a different repository name than
the midstream "opendatahub-io/workload-variant-autoscaler" (and
red-hat-data-services counterpart), which prevents the chain-resolution logic
described in cve.fix.md Step 3.1 from matching them; fix by either renaming the
upstream key to "llm-d/workload-variant-autoscaler" (so the base repo name
matches the midstream/downstream keys) or, if the upstream intentionally uses
the llm-d- prefix, add an explicit clarifying note in the upstream object's
"branch_strategy" or add a new field (e.g., "canonical_name") that the workflow
will use to resolve same-name repos; update the JSON for
"llm-d/llm-d-workload-variant-autoscaler" or adjust workflow logic to use the
new canonical field accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e555d207-3c0b-490a-be65-5a258bb76228

📥 Commits

Reviewing files that changed from the base of the PR and between 02fdd05 and 4f27fff.

📒 Files selected for processing (2)
  • workflows/cve-fixer/.claude/commands/cve.fix.md
  • workflows/cve-fixer/component-repository-mappings.json

Comment on lines +72 to +76
```bash
SUMMARY="CVE-2025-66418 rhoai/odh-llm-d-routing-sidecar-rhel9: urllib3: Unbounded decompression"
CONTAINER=$(echo "$SUMMARY" | grep -oP '(?<=CVE-[0-9]+-[0-9]+ )[\w/.-]+(?=:)')
PACKAGE=$(echo "$SUMMARY" | grep -oP '(?<=: )[\w._-]+(?=:)')
```
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.

🧹 Nitpick | 🔵 Trivial

Package regex may miss npm scoped packages.

The regex [\w._-]+ won't match npm scoped package names that contain @ and / (e.g., @grpc/grpc-js, @babel/core). Consider expanding the character class.

📝 Suggested fix
-   PACKAGE=$(echo "$SUMMARY" | grep -oP '(?<=: )[\w._-]+(?=:)')
+   PACKAGE=$(echo "$SUMMARY" | grep -oP '(?<=: )[@\w./_-]+(?=:)')
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@workflows/cve-fixer/.claude/commands/cve.fix.md` around lines 72 - 76, The
PACKAGE extraction regex (used in the PACKAGE variable) doesn't match npm scoped
names with '@' or '/' (e.g., `@babel/core`); update the grep -oP lookbehind regex
used for PACKAGE to expand the character class to include '@' and '/' (for
example replace [\w._-]+ with a class that includes @ and / such as [@\w./-]+ or
a more specific scoped-package pattern) so PACKAGE correctly captures scoped npm
package names; leave the CONTAINER extraction unchanged.

Comment thread workflows/cve-fixer/component-repository-mappings.json Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@workflows/cve-fixer/.claude/commands/cve.fix.md`:
- Around line 305-307: Update the "Package not found in any manifest" handling
to avoid blindly adding/pinning dependencies: change the behavior and docs so
the workflow does NOT auto-add a direct dependency but instead suggests
ecosystem-appropriate actions (for Go recommend using a `replace` directive; for
Python recommend documenting potential conflicts with adding to requirements.txt
and suggesting pinning in the project’s lockfile or asking the maintainer to
adjust; for npm recommend using `overrides` as noted in Step 8.1). Modify the
text under "Package not found in any manifest" to present these per-ecosystem
recommendations and change the automated fix step to create a non-destructive PR
template that proposes the recommended approach and flags manual review rather
than applying an automatic pin.
- Around line 121-138: Add documentation for the missing branch when a CONTAINER
is extracted but not found in container_to_repo_mapping: describe a new Step
3.1.1 that logs a warning (e.g., "⚠️ CONTAINER not found in
container_to_repo_mapping — processing all component repos") and falls back to
the Step 3.2 behavior of processing all repositories in the component (so the
CVE scan in Step 5 can filter irrelevant repos); reference CONTAINER,
container_to_repo_mapping, and the existing 3.1/3.2 flow so readers can see this
is the fallback path when lookup returns no match.

In `@workflows/cve-fixer/component-repository-mappings.json`:
- Around line 381-385: The mapping for container key
rhoai/odh-llm-d-routing-sidecar-rhel9 points to
red-hat-data-services/llm-d-routing-sidecar which is the only repo with
subcomponent "routing-sidecar", producing a dead-end chain per Step 3.1 of
cve.fix.md; update the component-repository-mappings.json by adding a brief
inline comment or a notes field next to the container_to_repo_mapping entry
(referencing rhoai/odh-llm-d-routing-sidecar-rhel9 and
red-hat-data-services/llm-d-routing-sidecar and the subcomponent
"routing-sidecar") stating that upstream is archived and CVE fixes only apply to
the downstream repo so reviewers/automation know this is intentional.
- Around line 600-614: The subcomponent "lm-evaluation-harness" is incorrectly
assigned to trustyai-service-operator repos, causing unrelated repos to be
grouped; update the JSON entries for
"trustyai-explainability/trustyai-service-operator",
"opendatahub-io/trustyai-service-operator", and
"red-hat-data-services/trustyai-service-operator" to use a distinct subcomponent
(e.g., "trustyai-operator") while leaving "opendatahub-io/lm-evaluation-harness"
and "red-hat-data-services/lm-evaluation-harness" as "lm-evaluation-harness";
ensure the cve_fix_workflow primary_target/backport_targets remain unchanged and
validate the subcomponent key for each affected repo block
("trustyai-service-operator" entries) so the CVE collection logic described in
Step 3.1 will only match repos that truly belong to the same container chain.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0351e3fa-049f-4589-bfe7-f615379b3fc7

📥 Commits

Reviewing files that changed from the base of the PR and between 4f27fff and 381b2f2.

📒 Files selected for processing (2)
  • workflows/cve-fixer/.claude/commands/cve.fix.md
  • workflows/cve-fixer/component-repository-mappings.json

Comment thread workflows/cve-fixer/.claude/commands/cve.fix.md
Comment thread workflows/cve-fixer/.claude/commands/cve.fix.md Outdated
Comment thread workflows/cve-fixer/component-repository-mappings.json
Comment thread workflows/cve-fixer/component-repository-mappings.json
vmrh21 and others added 4 commits March 30, 2026 19:31
- Parse container name and package from Jira ticket summary in Step 1
- Use container_to_repo_mapping in Step 3 to scope PRs to only the
  repos that build the affected container, not all component repos.
  Fallback to all repos when container cannot be parsed.
- Add package version check (Step 5.2.1) alongside existing scanner:
  when scan doesn't find CVE, check dependency manifests directly
  (requirements.txt, go.mod, package.json) before skipping. Only skip
  when both scan AND version check find no evidence of the vulnerability.
  If package not found in manifests, still create PR with manual review note.
- Add AI Evaluations full repo chain (ragas, garak, lm-evaluation-harness,
  trustyai-service-operator, eval-hub) with container mappings

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Add subcomponent field to repos in Model as a Service, llm-d, and
AI Evaluations so cve.fix can identify which upstream/midstream/downstream
repos belong to the same container chain.

- cve.fix Step 3 now uses subcomponent to scope PRs to the affected
  container's chain only; falls back to all component repos (with
  scan-based filtering) when subcomponent is not defined
- Add missing AI Evaluations container mappings (eval-hub, garak)
  and ragas repo chain (upstream/midstream/downstream)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Allow users to optionally scope cve.find to a specific subcomponent:
  /cve.find llm-d autoscaler
  /cve.find "AI Evaluations" trustyai-ragas

Reverse-looks up all containers for the given subcomponent from
component-repository-mappings.json and adds pscomponent: label
filters to the JQL using OR when multiple containers exist
(e.g. lm-evaluation-harness has both odh-ta-lmes-driver and
odh-ta-lmes-job containers).

cve.fix requires no changes — it reads from the scoped find output
and its container-based repo scoping handles the rest automatically.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Fix subcomponent: trustyai-service-operator repos incorrectly grouped
  under lm-evaluation-harness — give them their own subcomponent value
- Add missing case in Step 3: container extracted but not found in
  container_to_repo_mapping → fall back to all repos with warning
- Add language-specific transitive dependency guidance in Step 5.2.1:
  Go (replace directive), Python (update parent package), Node (overrides)
- Fix package regex to support npm scoped packages (@grpc/grpc-js etc)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@vmrh21 vmrh21 force-pushed the improve-cve-fix-repo-scoping branch from 64798e0 to 9d8c9c5 Compare March 30, 2026 23:31
@vmrh21 vmrh21 marked this pull request as draft March 30, 2026 23:32
- AutoML: maps to pipelines-components upstream/midstream/downstream chain
  with container managed-open-data-hub/odh-automl-rhel9
- AutoRAG: same pipelines-components chain plus IBM/ai4rag as upstream-only
  Python package (excluded from automation — CVEs manifest as container
  CVEs in pipelines-components, fix by updating ai4rag version there)
- Both confirmed as distinct Jira component names (AutoML, AutoRAG)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@vmrh21
Copy link
Copy Markdown
Contributor Author

vmrh21 commented Mar 31, 2026

Test results with new changes:
Ambient session: https://ambient-code.apps.rosa.vteam-uat.0ksl.p3.openshiftapps.com/projects/new/sessions/session-faf7abf5-dd1e-41b7-86a4-6b201fb6ff5d
Screenshot 2026-03-31 at 1 41 06 PM
Screenshot 2026-03-31 at 1 41 56 PM
Screenshot 2026-03-31 at 1 42 10 PM
Screenshot 2026-03-31 at 1 41 23 PM

Find works perfectly, fix is something we will have to test out when we have actual cves reported against these subcomponents we have access to

@vmrh21
Copy link
Copy Markdown
Contributor Author

vmrh21 commented Mar 31, 2026

Final list of components mapping present in the mapping file which maps components to its repos, container images , branches and subcomponents (if any)

AI Core Dashboard                                                                                                                                                                                                   
                                                                                                                                                                                                                     
 ┌──────────────┬─────────────────────────────────────────┬──────────────────────────────┬─────────┬─────────────────────────────────────────────┐                                                                   
 │ Subcomponent │                Container                │             Repo             │  Type   │                  Branches                   │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤                                                                   
 │ —            │ odh-dashboard-container                 │ opendatahub-io/odh-dashboard │ unknown │ v2.29.0-fixes, v2.28.0-fixes, v2.27.0-fixes │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤
 │ —            │ rhoai/odh-dashboard-rhel8               │ opendatahub-io/odh-dashboard │ unknown │                                             │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤
 │ —            │ rhoai/odh-dashboard-rhel9               │ opendatahub-io/odh-dashboard │ unknown │                                             │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤                                                                   
 │ —            │ rhoai/odh-mod-arch-gen-ai-rhel9         │ opendatahub-io/odh-dashboard │ unknown │                                             │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤                                                                   
 │ —            │ rhoai/odh-mod-arch-model-registry-rhel9 │ opendatahub-io/odh-dashboard │ unknown │                                             │                                                                   
 ├──────────────┼─────────────────────────────────────────┼──────────────────────────────┼─────────┼─────────────────────────────────────────────┤
 │ —            │ mod-arch-maas                           │ opendatahub-io/odh-dashboard │ unknown │                                             │                                                                   
 └──────────────┴─────────────────────────────────────────┴──────────────────────────────┴─────────┴─────────────────────────────────────────────┘
                                                                                                                                                                                                                     
 Model as a Service                                                 
                                                                                                                                                                                                                     
 ┌──────────────┬──────────────────────────┬───────────────────────────────────────────┬────────────┬───────────┐
 │ Subcomponent │        Container         │                   Repo                    │    Type    │ Branches  │                                                                                                    
 ├──────────────┼──────────────────────────┼───────────────────────────────────────────┼────────────┼───────────┤
 │ maas-api     │ rhoai/odh-maas-api-rhel9 │ opendatahub-io/models-as-a-service        │ upstream   │           │                                                                                                    
 ├──────────────┼──────────────────────────┼───────────────────────────────────────────┼────────────┼───────────┤
 │ maas-api     │                          │ red-hat-data-services/models-as-a-service │ downstream │ rhoai-3.0 │                                                                                                    
 └──────────────┴──────────────────────────┴───────────────────────────────────────────┴────────────┴───────────┘
                                                                                                                                                                                                                     
 Model Serving                                                                                                                                                                                                       
                                                                                                                                                                                                                     
 ┌──────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────────────────────────────────────┬─────────┬──────────┐                
 │ Subcomponent │                                                     Container                                                     │                   Repo                   │  Type   │ Branches │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ odh-modelmesh-runtime-adapter rhoai/odh-modelmesh-runtime-adapter-rhel8 rhoai/odh-modelmesh-runtime-adapter-rhel9 │ opendatahub-io/modelmesh-runtime-adapter │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ odh-model-controller odh-mm-rest-proxy rhoai/odh-model-controller-rhel8 rhoai/odh-model-controller-rhel9          │ opendatahub-io/odh-model-controller      │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-kserve-controller-rhel9 rhoai/odh-kserve-storage-initializer-rhel9                                      │ opendatahub-io/kserve                    │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤                
 │ —            │ rhoai/odh-kserve-agent-rhel9                                                                                      │ opendatahub-io/kserve-agent              │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤                
 │ —            │ rhoai/odh-kserve-router-rhel9                                                                                     │ opendatahub-io/kserve-router             │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-llm-d-inference-scheduler-rhel9                                                                         │ opendatahub-io/llm-d-inference-scheduler │ unknown │          │                
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-modelmesh-serving-controller-rhel8                                                                      │ opendatahub-io/modelmesh                 │ unknown │          │                
 └──────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────┴─────────┴──────────┘
                                                                                                                                                                                                                     
 Notebooks Images                                                   
                                                                                                                                                                                                                     
 ┌──────────────┬─────────────────────────────────────────────────────────┬─────────────────────────────────┬─────────┬──────────┐
 │ Subcomponent │                        Container                        │              Repo               │  Type   │ Branches │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-tensorflow-cuda-py312-rhel9  │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-tensorflow-rocm-py312-rhel9  │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-jupyter-tensorflow-cuda-py312-rhel9 │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤                                                                                   
 │ —            │ rhoai/odh-workbench-jupyter-tensorflow-rocm-py312-rhel9 │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤                                                                                   
 │ —            │ rhoai/odh-workbench-jupyter-pytorch-cuda-py312-rhel9    │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9     │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-jupyter-pytorch-rocm-py312-rhel9    │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-pytorch-rocm-py312-rhel9     │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-codeserver-py312-rhel9              │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-jupyter-datascience-py312-rhel9     │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-datascience-py312-rhel9      │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-jupyter-minimal-py312-rhel9         │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-workbench-jupyter-trustyai-py312-rhel9        │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 ├──────────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-pipeline-runtime-minimal-py312-rhel9          │ opendatahub-io/workbench-images │ unknown │          │                                                                                   
 └──────────────┴─────────────────────────────────────────────────────────┴─────────────────────────────────┴─────────┴──────────┘
                                                                                                                                                                                                                     
 AI Pipelines                                                       
                                                                                                                                                                                                                     
 ┌──────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────┬─────────┬──────────┐
 │ Subcomponent │                                                         Container                                                         │                      Repo                      │  Type   │ Branches │  
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────┼─────────┼──────────┤
 │              │ odh-ml-pipelines-driver-container odh-ml-pipelines-api-server-v2-container odh-ml-pipelines-launcher-container            │                                                │         │          │  
 │ —            │ odh-ml-pipelines-persistenceagent-container odh-ml-pipelines-scheduledworkflow-container odh-ml-pipelines-cache-container │ opendatahub-io/data-science-pipelines          │ unknown │          │
 │              │  odh-ml-pipelines-api-server-container odh-data-science-pipelines-runtime-container                                       │                                                │         │          │  
 │              │ odh-data-science-pipelines-runtime-generic-container odh-ml-pipelines-viewercontroller-argoworkflow-container             │                                                │         │          │
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────┼─────────┼──────────┤  
 │ —            │ rhoai/odh-data-science-pipelines-operator-controller-rhel8                                                                │ opendatahub-io/data-science-pipelines-operator │ unknown │          │  
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ odh-data-science-pipelines-argo-argoexec-container odh-data-science-pipelines-argo-workflowcontroller-container           │ argoproj/argo-workflows                        │ unknown │          │  
 └──────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────┴─────────┴──────────┘
                                                                                                                                                                                                                     
 Notebooks Server                            
                                                                                                                                                                                                                     
 ┌──────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─────────────────────────┬─────────┬──────────┐
 │ Subcomponent │                                                                    Container                                                                     │          Repo           │  Type   │ Branches │  
 ├──────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼─────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-notebook-controller-rhel8 rhoai/odh-notebook-controller-rhel9 rhoai/odh-kf-notebook-controller-rhel8                                   │ opendatahub-io/kubeflow │ unknown │          │  
 │              │ rhoai/odh-kf-notebook-controller-rhel9                                                                                                           │                         │         │          │
 └──────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────────┴─────────┴──────────┘  
                                                                    
 Training Kubeflow                                                                                                                                                                                                   
                                                                                                                                                                                                                     
 ┌──────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────┬─────────┬──────────┐
 │ Subcomponent │                                                           Container                                                           │                    Repo                    │  Type   │ Branches │  
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-training-operator-rhel8 rhoai/odh-training-operator-rhel9                                                           │ opendatahub-io/training-operator           │ unknown │          │  
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────┼─────────┼──────────┤
 │ —            │ rhoai/odh-notebook-controller-rhel8 rhoai/odh-notebook-controller-rhel9 rhoai/odh-kf-notebook-controller-rhel8                │ opendatahub-io/notebooks                   │ unknown │          │  
 │              │ rhoai/odh-kf-notebook-controller-rhel9                                                                                        │                                            │         │          │
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────┼─────────┼──────────┤  
 │ —            │ rhoai/odh-kuberay-operator-controller-rhel9                                                                                   │ opendatahub-io/kuberay-operator-controller │ unknown │          │  
 ├──────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────┼─────────┼──────────┤  
 │ —            │ rhoai/odh-codeflare-operator-rhel8 rhoai/odh-codeflare-operator-rhel9                                                         │ opendatahub-io/codeflare-operator          │ unknown │          │  
 └──────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────┴─────────┴──────────┘  
                                                                                                                                                                                                                     
 llm-d                                       
                                                                                                                                                                                                                     
 ┌─────────────────────┬────────────────────────────────────────────────────────┬───────────────────────────────────────────────────┬───────────────┬──────────────────────────────────────────────────────┐
 │    Subcomponent     │                       Container                        │                       Repo                        │     Type      │                       Branches                       │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ inference-scheduler │ rhoai/odh-llm-d-inference-scheduler-rhel9              │ llm-d/llm-d-inference-scheduler                   │ upstream      │ release-0.5, release-0.6                             │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ inference-scheduler │                                                        │ opendatahub-io/llm-d-inference-scheduler          │ midstream     │ release-0.2, release-0.3.1, release-v0.4, stable-2.x │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ inference-scheduler │                                                        │ red-hat-data-services/llm-d-inference-scheduler   │ downstream    │ rhoai-3.3, rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2 │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤         
 │ routing-sidecar     │ rhoai/odh-llm-d-routing-sidecar-rhel9                  │ red-hat-data-services/llm-d-routing-sidecar       │ downstream ⚠️  │ rhoai-2.25, rhoai-3.0, rhoai-3.2                     │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤         
 │ autoscaler          │ rhoai/odh-workload-variant-autoscaler-controller-rhel9 │ llm-d/llm-d-workload-variant-autoscaler           │ upstream      │ release-0.4.2                                        │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ autoscaler          │                                                        │ opendatahub-io/workload-variant-autoscaler        │ midstream     │ release-v0.5                                         │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ autoscaler          │                                                        │ red-hat-data-services/workload-variant-autoscaler │ downstream    │ rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2            │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ batch-gateway       │ ⚠️  none yet                                            │ llm-d-incubation/batch-gateway                    │ upstream      │                                                      │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ batch-gateway       │                                                        │ opendatahub-io/batch-gateway                      │ midstream     │ release-v0.5                                         │         
 ├─────────────────────┼────────────────────────────────────────────────────────┼───────────────────────────────────────────────────┼───────────────┼──────────────────────────────────────────────────────┤
 │ batch-gateway       │                                                        │ red-hat-data-services/batch-gateway               │ downstream    │ rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2            │         
 └─────────────────────┴────────────────────────────────────────────────────────┴───────────────────────────────────────────────────┴───────────────┴──────────────────────────────────────────────────────┘
                                                                                                                                                                                                                     
 ▎ ⚠️  routing-sidecar: upstream archived, code moved to llm-d-inference-scheduler. Downstream only active up to rhoai-3.2.
                                                                                                                                                                                                                     
 AI Evaluations                                                     
                                                                                                                                                                                                                     
 ┌───────────────────────────┬─────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────┬────────────┬───────────────────────────────────────────────────────┐
 │       Subcomponent        │                    Container                    │                            Repo                             │    Type    │                       Branches                        │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ eval-hub                  │ rhoai/odh-eval-hub-rhel9                        │ eval-hub/eval-hub                                           │ upstream   │                                                       │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ eval-hub                  │                                                 │ opendatahub-io/eval-hub                                     │ midstream  │ release/odh-3.4, stable                               │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ eval-hub                  │                                                 │ red-hat-data-services/eval-hub                              │ downstream │ rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2             │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ eval-hub-sdk              │ ⚠️  none yet                                     │ eval-hub/eval-hub-sdk                                       │ upstream   │                                                       │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ eval-hub-contrib          │ ⚠️  none yet                                     │ eval-hub/eval-hub-contrib                                   │ upstream   │                                                       │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ lm-evaluation-harness     │ rhoai/odh-ta-lmes-job-rhel9                     │ opendatahub-io/lm-evaluation-harness                        │ midstream  │ release/odh-3.3, release/odh-3.4,                     │  
 │                           │                                                 │                                                             │            │ release/odh-3.4-ea2, release/odh-3.5                  │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ lm-evaluation-harness     │                                                 │ red-hat-data-services/lm-evaluation-harness                 │ downstream │ rhoai-3.3, rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2  │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-service-operator │ rhoai/odh-ta-lmes-driver-rhel9                  │ trustyai-explainability/trustyai-service-operator           │ upstream   │ release/1.37.0, release/1.38.0                        │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-service-operator │                                                 │ opendatahub-io/trustyai-service-operator                    │ midstream  │ release/odh-3.3, release/odh-3.4, release/odh-3.4-ea2 │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-service-operator │                                                 │ red-hat-data-services/trustyai-service-operator             │ downstream │ rhoai-3.3, rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2  │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-garak            │ rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9 │ trustyai-explainability/llama-stack-provider-trustyai-garak │ upstream   │                                                       │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-garak            │                                                 │ opendatahub-io/llama-stack-provider-trustyai-garak          │ midstream  │ release/odh-3.4, stable                               │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-garak            │                                                 │ red-hat-data-services/llama-stack-provider-trustyai-garak   │ downstream │ rhoai-3.3, rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2  │
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤  
 │ trustyai-ragas            │ rhoai/odh-trustyai-ragas-lls-provider-dsp-rhel9 │ trustyai-explainability/llama-stack-provider-ragas          │ upstream   │ release/0.4.x, release/0.5.x                          │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ trustyai-ragas            │                                                 │ opendatahub-io/llama-stack-provider-ragas                   │ midstream  │ release/odh-3.3, release/odh-3.4-ea2, stable          │  
 ├───────────────────────────┼─────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┼────────────┼───────────────────────────────────────────────────────┤
 │ trustyai-ragas            │                                                 │ red-hat-data-services/llama-stack-provider-ragas            │ downstream │ rhoai-3.3, rhoai-3.4, rhoai-3.4-ea.1, rhoai-3.4-ea.2  │  
 └───────────────────────────┴─────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────┴────────────┴───────────────────────────────────────────────────────┘
                                                                                                                                                                                                                     
 AutoML                                                             
                                                                                                                                                                                                                     
 ┌──────────────┬────────────────────────────────────────┬────────────────────────────────────────────┬────────────┬───────────┐
 │ Subcomponent │               Container                │                    Repo                    │    Type    │ Branches  │                                                                                     
 ├──────────────┼────────────────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │ managed-open-data-hub/odh-automl-rhel9 │ kubeflow/pipelines-components              │ upstream   │           │                                                                                     
 ├──────────────┼────────────────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │                                        │ opendatahub-io/pipelines-components        │ midstream  │           │                                                                                     
 ├──────────────┼────────────────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │                                        │ red-hat-data-services/pipelines-components │ downstream │ rhoai-3.4 │                                                                                     
 └──────────────┴────────────────────────────────────────┴────────────────────────────────────────────┴────────────┴───────────┘                                                                                     
                                                                                                                                                                                                                     
 AutoRAG                                                                                                                                                                                                             
                                                                                                                                                                                                                     
 ┌──────────────┬─────────────────────────────┬────────────────────────────────────────────┬────────────┬───────────┐
 │ Subcomponent │          Container          │                    Repo                    │    Type    │ Branches  │                                                                                                
 ├──────────────┼─────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │ ⚠️  none yet                 │ kubeflow/pipelines-components              │ upstream   │           │                                                                                                
 ├──────────────┼─────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │                             │ opendatahub-io/pipelines-components        │ midstream  │           │                                                                                                
 ├──────────────┼─────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤
 │ —            │                             │ red-hat-data-services/pipelines-components │ downstream │ rhoai-3.4 │                                                                                                
 ├──────────────┼─────────────────────────────┼────────────────────────────────────────────┼────────────┼───────────┤                                                                                                
 │ —            │ ⚠️  excluded from automation │ IBM/ai4rag                                 │ upstream   │           │                                                                                                
 └──────────────┴─────────────────────────────┴────────────────────────────────────────────┴────────────┴───────────┘ 

@vmrh21 vmrh21 marked this pull request as ready for review March 31, 2026 17:46
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
workflows/cve-fixer/component-repository-mappings.json (1)

795-891: 🧹 Nitpick | 🔵 Trivial

Consider adding subcomponent to distinguish AutoML vs AutoRAG paths.

Both AutoML and AutoRAG components share the same repositories (pipelines-components monorepo) but have no subcomponent field defined. Per the workflow logic in cve.fix.md Step 3.1, this means container-scoped lookups will fall back to processing all repos.

Additionally, AutoRAG has an empty container_to_repo_mapping (line 839), so container extraction will always trigger the fallback behavior.

This works (the scan in Step 5 filters irrelevant repos), but adding subcomponents like "automl" and "autorag" could reduce unnecessary processing when CVEs target specific paths within the monorepo.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@workflows/cve-fixer/component-repository-mappings.json` around lines 795 -
891, The AutoML/AutoRAG entries lack a subcomponent identifier, so
container-scoped lookups fall back to processing all repositories; add a
"subcomponent" field (e.g., "automl" for AutoML and "autorag" for AutoRAG) to
the relevant repository objects and/or to the top-level entries (keys "AutoML"
and "AutoRAG") and update the "container_to_repo_mapping" for AutoRAG to map
container images to the appropriate repo+subcomponent; target the JSON objects
under "AutoML" and "AutoRAG", the "container_to_repo_mapping" entries, and the
per-repo "repositories" blocks (e.g.,
"red-hat-data-services/pipelines-components" and
"kubeflow/pipelines-components") so the workflow can narrow lookups to the
"automl" or "autorag" paths.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@workflows/cve-fixer/component-repository-mappings.json`:
- Around line 795-891: The AutoML/AutoRAG entries lack a subcomponent
identifier, so container-scoped lookups fall back to processing all
repositories; add a "subcomponent" field (e.g., "automl" for AutoML and
"autorag" for AutoRAG) to the relevant repository objects and/or to the
top-level entries (keys "AutoML" and "AutoRAG") and update the
"container_to_repo_mapping" for AutoRAG to map container images to the
appropriate repo+subcomponent; target the JSON objects under "AutoML" and
"AutoRAG", the "container_to_repo_mapping" entries, and the per-repo
"repositories" blocks (e.g., "red-hat-data-services/pipelines-components" and
"kubeflow/pipelines-components") so the workflow can narrow lookups to the
"automl" or "autorag" paths.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bd9e2a48-1f2d-4456-988a-7c1a23fc54f6

📥 Commits

Reviewing files that changed from the base of the PR and between 381b2f2 and fa47f64.

📒 Files selected for processing (3)
  • workflows/cve-fixer/.claude/commands/cve.find.md
  • workflows/cve-fixer/.claude/commands/cve.fix.md
  • workflows/cve-fixer/component-repository-mappings.json

Copy link
Copy Markdown
Contributor

@angaduom angaduom left a comment

Choose a reason for hiding this comment

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

thanks for running the tests, appreciate it

Copy link
Copy Markdown
Contributor

@jwm4 jwm4 left a comment

Choose a reason for hiding this comment

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

LGTM

@jwm4 jwm4 merged commit b3ed157 into ambient-code:main Mar 31, 2026
2 checks passed
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.

3 participants