Skip to content

Add provenance summary of why each recipe was generated#123

Merged
Tobias-Fischer merged 3 commits into
RoboStack:masterfrom
ruben-arts:claude/amazing-wright-paAAb
May 30, 2026
Merged

Add provenance summary of why each recipe was generated#123
Tobias-Fischer merged 3 commits into
RoboStack:masterfrom
ruben-arts:claude/amazing-wright-paAAb

Conversation

@ruben-arts
Copy link
Copy Markdown
Contributor

While working on this pr I struggled to understand why a recipe was generated. This PR will create a table from vinca that tracks why a recipe was generated.

It looks like this for the prev mentioned pr:

                     Generated recipes and why they were selected                      
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Recipe                        ┃ Requested by config ┃ Depended on by                ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ros-jazzy-kortex-api          │         yes         │ kortex_bringup, kortex_driver │
│ ros-jazzy-kortex-bringup      │         yes         │ -                             │
│ ros-jazzy-kortex-driver       │         yes         │ kortex_bringup                │
│ ros-jazzy-robotiq-controllers │         yes         │ -                             │
│ ros-jazzy-zed-description     │         no          │ clearpath_common              │
└───────────────────────────────┴─────────────────────┴───────────────────────────────┘
Total generated recipes: 5

Do you like this?

The code was generated by Claude Code Web

claude added 2 commits May 29, 2026 14:51
Track why each package is selected during recipe generation and print a
summary after the recipes are written. For every generated recipe it now
reports whether it was requested directly by the config and which already
selected packages depend on it.

- get_selected_packages records a _pkg_provenance map (requested_by_config
  and required_by) into vinca_conf
- print_generation_summary lists generated recipes with their reasons and is
  called after write_recipe in main()
- add tests covering provenance tracking and the summary output

https://claude.ai/code/session_01AonWy19EgSJ17hQVFgDFbC
Use the rich library (already a project dependency, used in generate_azure
and generate_gha) to print the why-was-this-generated summary as a table
with Recipe / Requested by config / Depended on by columns.

https://claude.ai/code/session_01AonWy19EgSJ17hQVFgDFbC
@Tobias-Fischer
Copy link
Copy Markdown
Contributor

Looks great, thanks! Can you please run the format so lint is happy too?

@Tobias-Fischer Tobias-Fischer merged commit 4d9015c into RoboStack:master May 30, 2026
3 of 4 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