Skip to content

fix: enforce bundle step version pins - #4470

Open
marcelsafin wants to merge 1 commit into
github:mainfrom
marcelsafin:fix/bundle-step-version-pin
Open

fix: enforce bundle step version pins#4470
marcelsafin wants to merge 1 commit into
github:mainfrom
marcelsafin:fix/bundle-step-version-pin

Conversation

@marcelsafin

Copy link
Copy Markdown
Contributor

Description

Enforce bundle-declared version pins for workflow steps before delegating to
workflow step add.

Previously, steps[].version was parsed and documented but ignored by the step
primitive manager. A bundle pinned to one version could therefore install a
different catalog version. This now matches the existing workflow pin behavior
and rejects mismatches before installation starts.

Testing

  • Tested locally with uv run specify --help
  • Ran existing tests with uv sync && uv run pytest
  • Tested with a sample project (if applicable)

Targeted: tests/unit/test_bundler_primitives.py (23 passed).

Full suite: 7,532 passed, 195 skipped. One existing PowerShell-launcher test
was omitted because pwsh is unavailable locally; it fails identically on the
unchanged upstream commit.

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (describe below)

GitHub Copilot (GPT-5.6 Sol) autonomously reproduced the bug, wrote the
regression test and implementation, and ran verification under
@marcelsafin's direction and review.

Assisted-by: GitHub Copilot (model: gpt-5.6-sol, autonomous)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@marcelsafin
marcelsafin requested a review from mnriem as a code owner September 8, 2026 14:37
Copilot AI balanced review requested due to automatic review settings September 8, 2026 14:37

Copilot AI 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.

馃煝 Approval recommended

The reviewed changes have appropriate regression coverage and no unresolved issues.

Pull request overview

Enforces bundle-declared version pins when installing workflow steps.

Changes:

  • Validates requested step versions against catalog metadata.
  • Adds regression coverage ensuring mismatches prevent installation.
File summaries
File Description
tests/unit/test_bundler_primitives.py Tests rejection of mismatched step versions.
src/specify_cli/bundler/services/primitives.py Adds step version-pin validation before installation.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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.

2 participants