fix(uv-sources): remove inconsistent editable=true declarations#25
Merged
Conversation
…ligence submodules
Removes the 'editable = true' declaration from the [tool.uv.sources] entry for
'amplifier-bundle-context-intelligence' in two of three submodules:
- modules/tool-graph-query/pyproject.toml
- modules/tool-blob-read/pyproject.toml
The third module (hook-context-intelligence) already uses the correct non-editable
form: { path = '../..' }
This resolves a uv resolver bug where inconsistent editable/non-editable declarations
for the same parent path cause conflicts during batch installation:
× Failed to resolve dependencies for 'amplifier-module-tool-graph-query'
╰─▶ Requirements contain conflicting URLs for package
'amplifier-bundle-context-intelligence':
- file:///opt/amplifier-bundle-context-intelligence
- file:///opt/amplifier-bundle-context-intelligence (editable)
The Amplifier Resolve provisioning pipeline (08-ci-install.sh) batch-installs all
three submodules in a single command, exposing this bug. With all three submodules
consistently declaring the parent as non-editable, the install completes cleanly.
Generated with Amplifier
Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
When the Amplifier Resolve provisioning pipeline (specifically
08-ci-install.sh) batch-installs all three context-intelligence submodules via a single uv command, the resolver fails with a conflicting URLs error:This occurs because two of the three submodules declare the parent bundle in
[tool.uv.sources]witheditable = true, while the third does not. uv refuses to reconcile this inconsistency.Root Cause
In
amplifier-bundle-context-intelligence@887b03a2:[tool.uv.sources]{ path = "../.." }{ path = "../..", editable = true }{ path = "../..", editable = true }When
uv pip installprocesses all three modules in a single invocation, it records three independent source declarations for the same parent path with disagreeing modes. The--no-editableCLI flag does NOT override per-module source declarations on the uv version used in the Resolve provisioning environment.Solution
This PR aligns all three submodules to use consistent non-editable parent declarations:
editable = trueeditable = trueAll three now uniformly declare:
amplifier-bundle-context-intelligence = { path = "../.." }Verification
The equivalent fix has been validated in the Amplifier Resolve runtime environment. After applying these changes, the provisioning command completes cleanly:
Changes
editable = truedeclaration)editable = truedeclaration)Generated with Amplifier