Fix uv-tool exact-pin self-update and ship 0.7.12 - #64
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
uv tool upgrade cannot satisfy dyro==<new> when the receipt already pins specifier==<old>. Plan uv-managed updates with uv tool install --force so the pin is replaced.
Ship the uv-tool exact-pin update fix. Users already pinned with uv tool install dyro==… should run one last uv tool install dyro==0.7.12 --force, then dyro update works.
When the user asked to spawn, merge, or sync, /dyro-line-family must run the matching --yes command after preflight. Stay preflight-only for a dry-run ask. Never invent --push.
cursor
Bot
force-pushed
the
cursor/uv-tool-exact-pin-update-75d5
branch
from
August 23, 2026 01:01
8f2267b to
117e963
Compare
Put Preflight before Apply. --yes is illegal until all four preflight steps pass. Run only the matching verb after an explicit spawn|merge|sync ask. Control-plane and executor must not block that same-turn --yes; default forbid stays when line-family is not the active ask. Co-authored-by: Dandre Yang <[email protected]>
Assert Print only / Do not run that command / 不要执行 / Never execute the mutation are gone, Run only the matching verb is present, and Preflight appears before Apply in the packaged skill text. Co-authored-by: Dandre Yang <[email protected]>
Document the full build_update_plan command with official simple index and --no-config, not bare uv tool install dyro==0.7.12 --force alone. Note dyro integration sync so hosted slash mirrors pick up asset version 2. Co-authored-by: Dandre Yang <[email protected]>
Executor SKILL.md and CHANGELOG wrap those sentences; assert against whitespace-normalized text. Co-authored-by: Dandre Yang <[email protected]>
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.
Summary
dyro updatefails for uv-managed installs that were pinned with an exact specifier.uv tool install dyro==0.7.11 --forcestoresspecifier = "==0.7.11"in the tool receipt. The old plan then ranuv tool upgrade --default-index <PYPI> --no-config dyro==0.7.12, which uv rejects as unsatisfiable (both==0.7.11and==0.7.12). Manualuv tool install dyro==X --forcealready works.Fix
build_update_plan(src/dyro/updates.py:build_update_plan) now uses:Official PyPI and
--no-configstay required. pipx, pip, and uv-pip paths are unchanged.Tests (uv-tool)
tests/test_updates.py:tool install --force, notupgradeuvstill fails closeddyro integration syncfor asset version 2Residual skill policy (same 0.7.12)
src/dyro/integrations/assets/dyro-line-family/SKILL.mdand packagedagents/openai.yaml:--yesis illegal until all four preflight steps pass.--yescommand in the same turn after preflight. Wording isRun only the matching verb(old print-don't-run phrases are gone).dyro --dry-run line …themselves. CLI is unchanged.--push. No git merge / switch by hand.User actionis still onlydoctoror the failed dry-run.dyro-control-plane/dyro-executor: if/dyro-line-familyalready completed preflight this turn for an explicit mutation ask, those seats must not block the matchingline … --yes. Line-family is the writer. Default forbid stays when line-family is not the active ask.LINE_FAMILY_ASSET_VERSIONis 2 so installed mirrors sync.Release 0.7.12
Version bump in
pyproject.toml,uv.lock, skillclient.version, version tests, and the release-gate test tag.CHANGELOG
## 0.7.12notes the exact-pin fix and the line-family apply-after-preflight policy. Users already pinned withuv tool install dyro==…should recover with the same planner-safe command asbuild_update_plan:After that,
dyro updateworks. If hosted slash mirrors still serve the old line-family text, rundyro integration sync(or a skill refresh) so they pick up asset version 2.Note
Leave this PR open/unmerged. No customer or company names.