Repository navigation
fix(bundles): honor bundle integration during init - #5111
chelsealong wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The focused delegation reuses existing validation and integration selection, with reported regression evidence and no blocking findings.
1 open issue
What changed in this PR
Fixes #5089 by routing fresh-project specify bundle init <bundle> through the existing installation flow, honoring the bundle’s declared integration before initialization.
Changes:
- Reuse installation validation and integration selection before creating the project.
- Add regressions for declared integration selection and incompatible-bundle rejection without leaving
.specifybehind.
Validation relies on the reported before-and-after results; tests were not rerun here.
| File | Description |
|---|---|
tests/specify_cli/bundles/test_command_init.py |
Adds success and rejection regression tests; formats existing tests. |
src/specify_cli/bundles/command_init.py |
Delegates fresh-project initialization with a bundle to the existing install path. |
Review effort: Max
|
Please address Copilot feedback |
Assisted-by: Codex (autonomous)
|
Thank you for the review. In aa1e8a0, the version-rejection test now asserts the specific Posted on behalf of chelsealong. Codex (model GPT-6, autonomous) implemented this follow-up, ran the checks, and drafted this summary. |

Description
Fixes #5089. For a fresh project,
bundle init <bundle>now uses the existing install path, which validates the manifest and selects its declared integration before initializing.Testing
Both new regression tests failed before the source fix: one reproduced the Copilot/Claude clash; the other found
.specifyleft behind after an incompatible bundle. Both pass with the fix..venv/bin/python -m pytest tests/specify_cli/bundles -q— 927 passed.venv/bin/specify --help— passedruff checkandruff format --checkon both changed files — passedgit diff --check— passedAI Disclosure
AI disclosure: Codex (GPT-6, autonomous, default reasoning settings) generated the code and tests and ran the checks listed above.