Skip to content

[Automated] Update syft CLI Options - #4587

Open
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-syft
Open

[Automated] Update syft CLI Options#4587
thomhurst wants to merge 1 commit into
mainfrom
automated/update-cli-options-syft

Conversation

@thomhurst

@thomhurst thomhurst commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to syft CLI options classes.

The generator scraped the latest CLI help output from the installed tool.

Changes

  • Updated options classes to reflect latest CLI documentation
  • Added new commands if any were detected
  • Updated option types and descriptions

Assembly-wide public API impact

Affected API families: Assembly/common, Syft.

  • Added APIs: 0
  • Removed or changed APIs: 5
  • Members with matching names but changed signatures: 0

Breaking changes are present. Consumers may need to update method arguments, option property types or nullability, enum members, and references to removed APIs.

Representative removed or changed members:

  • ModularPipelines.Syft.Options.SyftAttestOptions.Format.get -> string?
  • ModularPipelines.Syft.Options.SyftAttestOptions.Format.set -> void
  • ModularPipelines.Syft.Options.SyftConvertOptions.Format.get -> string?
  • ModularPipelines.Syft.Options.SyftConvertOptions.Format.set -> void
  • static ModularPipelines.Syft.Extensions.SyftExtensions.Syft(this ModularPipelines.IPipelineContext! context) -> ModularPipelines.Syft.Services.ISyft!

Command coverage

Command coverage report:

  • syft (syft 1.51.1): 8 commands, tree 312b56070505f8e9227e5762adaba7ae25213d326283923b5592ce0281c0c868
    • Baseline comparison: 8 commands at syft 1.51.1 -> 8 commands at syft 1.51.1

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Sep 3, 2026
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • src/ModularPipelines.Syft/Generated/Syft.Generation.json is excluded by !**/generated/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 2a3e3530-6508-429c-ae9e-0db9abe5e193

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: c6e3797b-8b82-4866-8bc1-98fd0c8832ab

📥 Commits

Reviewing files that changed from the base of the PR and between a7aa37f and 3a7f3be.

⛔ Files ignored due to path filters (1)
  • src/ModularPipelines.Syft/Generated/Syft.Generation.json is excluded by !**/generated/**
📒 Files selected for processing (2)
  • src/ModularPipelines.Syft/PublicAPI.Shipped.txt
  • src/ModularPipelines.Syft/PublicAPI.Unshipped.txt
💤 Files with no reviewable changes (1)
  • src/ModularPipelines.Syft/PublicAPI.Shipped.txt

Included review availability: Your plan provides up to 4 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The change removes the Format properties from SyftAttestOptions and SyftConvertOptions in the shipped and unshipped public API tracking files.

Changes

Syft API tracking

Layer / File(s) Summary
Remove Format properties
src/ModularPipelines.Syft/PublicAPI.Shipped.txt, src/ModularPipelines.Syft/PublicAPI.Unshipped.txt
The public API declarations no longer include the Format getter and setter for SyftAttestOptions and SyftConvertOptions.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 3a7f3

This update removes obsolete Format option APIs so the public declarations match the generated Syft options. Consumers using those removed members may need source updates, but no current runtime or data-integrity risk remains.

Poem

A rabbit checks the API trail
Two Format flags depart the rail
Shipped records now align
Unshipped records match the sign
Clean declarations end the tale

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: an automated update to the Syft CLI options. It is concise and directly related to the pull request objectives.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch automated/update-cli-options-syft

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.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code review

Reviewed this automated PR from ModularPipelines.OptionsGenerator updating the syft CLI options.

Changes: Only PublicAPI.Shipped.txt, PublicAPI.Unshipped.txt, and a new Syft.Generation.json tracking manifest are touched — no .cs files.

Verification:

  • Confirmed against the base commit that SyftAttestOptions.Format / SyftConvertOptions.Format were already absent from the generated .cs files, so this PR correctly catches up the PublicAPI tracking files to match existing code (removing the stale entries from Shipped.txt, adding proper *REMOVED* markers to Unshipped.txt) rather than introducing a new removal.
  • The dropped Unshipped.txt line for SyftExtensions.Syft referenced the wrong namespace (ModularPipelines.IPipelineContext instead of ModularPipelines.Context.IPipelineContext) — a stale/duplicate entry that never matched a real symbol. Removing it is a harmless cleanup, not a regression.
  • No hand-edits to generated option classes (CLAUDE.md compliant — this is the generator's own output).

No issues found.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-syft branch from 66977c0 to a5aa943 Compare September 3, 2026 13:56

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code review

Reviewed this automated PR from ModularPipelines.OptionsGenerator updating the syft CLI options.

Changes: Only PublicAPI.Shipped.txt, PublicAPI.Unshipped.txt, and Syft.Generation.json (a tracking manifest) are touched — no .cs files.

Verification:

  • Confirmed against the generated .cs files that SyftAttestOptions.Format / SyftConvertOptions.Format were already removed by PR #4443 three days ago, but that PR left the PublicAPI tracking files stale. This PR correctly catches up: dropping the two stale Shipped.txt entries and adding proper *REMOVED* markers to Unshipped.txt — a fix, not a new removal.
  • Syft.Generation.json matches the schema already used by other tools (Newman, Yq) — consistent, not a novel pattern.
  • Diffed this head (a5aa9431f) against the previously-reviewed commit (66977c07f): the only change is a bump to generatorSourceSha256, reflecting that the generator itself was updated on main (#4544, merged after the prior review) and the PR was regenerated against it. No functional change.
  • No hand-edits to generated option classes — CLAUDE.md compliant, this is purely the generator's own output.

No issues found.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-syft branch from a5aa943 to 42b4d7a Compare September 3, 2026 16:22

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code review

Reviewed this automated PR from ModularPipelines.OptionsGenerator updating the syft CLI options.

Changes: Only PublicAPI.Shipped.txt, PublicAPI.Unshipped.txt, and the new Syft.Generation.json tracking manifest are touched — no .cs files.

Verification:

  • Checked the generated .cs files at this head (SyftAttestOptions.Generated.cs, SyftConvertOptions.Generated.cs, SyftExtensions.Generated.cs): neither Format property nor the old Syft(this IPipelineContext) extension method exist in the actual generated code. The PublicAPI.txt changes in this PR correctly catch the tracking files up to code that was already regenerated — removing two stale Shipped.txt entries and adding matching *REMOVED* markers to Unshipped.txt — rather than introducing a new API removal.
  • Syft.Generation.json follows the same schema already used for other tools (Newman, Yq, etc.) — consistent, not a novel pattern.
  • Diffed this PR's content against the previously-reviewed state: functionally identical (same PublicAPI catch-up), just regenerated at a new head commit — no new behavior introduced.
  • No hand-edits to generated option classes — CLAUDE.md compliant, this is purely the generator's own output.

No issues found.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-syft branch from 42b4d7a to 3a7f3be Compare September 3, 2026 16:55

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code review

Reviewed this automated PR from ModularPipelines.OptionsGenerator updating the syft CLI options.

Changes: Only PublicAPI.Shipped.txt, PublicAPI.Unshipped.txt, and the new Syft.Generation.json tracking manifest are touched — no .cs files.

Verification:

  • Confirmed against the generated .cs files at this head (SyftAttestOptions.Generated.cs, SyftConvertOptions.Generated.cs, SyftExtensions.Generated.cs): the Format property and the old Syft(this IPipelineContext) extension method are genuinely absent from the actual generated code. The PublicAPI.txt changes correctly catch the tracking files up to code that was already regenerated, rather than introducing a new API removal.
  • Syft.Generation.json follows the same schema already used for other tools — consistent, not a novel pattern.
  • The PR content (diff against current base) is byte-for-byte identical to the previously-reviewed commit 42b4d7a1 — the head SHA only changed because the branch was rebased onto a newer main; no new functional change was introduced.
  • No hand-edits to generated option classes — CLAUDE.md compliant, this is purely the generator's own output.

No issues found.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-syft branch from 3a7f3be to b2409ff Compare September 4, 2026 12:04

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code review

This is a small, automated PR from ModularPipelines.OptionsGenerator that only touches tracking files — no hand-written or hand-tweaked generated code, consistent with the repo's rule that generated options must not be manually edited (CLAUDE.md).

Verified the change against the current generated sources rather than taking the diff at face value:

  • SyftAttestOptions.Format / SyftConvertOptions.Format were already absent from SyftAttestOptions.Generated.cs / SyftConvertOptions.Generated.cs on main — the PublicAPI.Shipped.txt/PublicAPI.Unshipped.txt entries were stale from an earlier change. This PR correctly syncs the tracking files to match the actual generated surface.
  • SyftExtensions.Syft(this IPipelineContext) no longer exists in SyftExtensions.Generated.cs on main either, so removing the corresponding (never-shipped) line from PublicAPI.Unshipped.txt is the correct way to retract an unshipped API addition (delete the line rather than marking *REMOVED*, per the Roslyn PublicAPI analyzer convention).
  • The new Syft.Generation.json tracking file follows the same schema as other tools' *.Generation.json files (e.g. Git.Generation.json), and simply backfills a previously-missing tracking file for this package.

No actionable issues found.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-syft branch from b2409ff to 84fcb15 Compare September 4, 2026 20:20
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Review Summary

This is a small, mechanical, auto-generated change with no functional/source code touched:

  1. Adds src/ModularPipelines.Syft/Generated/Syft.Generation.json — matches the exact schema/pattern of the equivalent tracking file in every other tool package (verified against Trivy.Generation.json and others).
  2. Removes 4 PublicAPI.Shipped.txt entries for SyftAttestOptions.Format and SyftConvertOptions.Format, correctly re-adding them as *REMOVED* entries in PublicAPI.Unshipped.txt — the proper Roslyn PublicAPI-analyzer convention for a previously-shipped member being removed.
  3. Deletes one stale, never-shipped PublicAPI.Unshipped.txt line for SyftExtensions.Syft(this ModularPipelines.IPipelineContext...) — correctly just deleted rather than marked *REMOVED*, since it was never in Shipped.txt (a duplicate, already-corrected *REMOVED* entry with the right ModularPipelines.Context.IPipelineContext namespace already exists untouched by this diff).

I cross-checked the actual generated .cs files (SyftAttestOptions.Generated.cs, SyftConvertOptions.Generated.cs, SyftExtensions.Generated.cs), which are unchanged by this PR — the Format properties and the removed extension method are already absent from source on main, confirming the PublicAPI tracking files were stale before this PR and are now correctly reconciled with reality.

No design, architecture, or maintainability concerns — this is a pure metadata/tracking-file catch-up commit consistent with how the Options Generator manages PublicAPI files for every other tool package.

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

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant