feat(promote): auto-pin uv git deps from branch= to tag= during staging→main#175
Closed
MickaelV0 wants to merge 3 commits into
Closed
feat(promote): auto-pin uv git deps from branch= to tag= during staging→main#175MickaelV0 wants to merge 3 commits into
MickaelV0 wants to merge 3 commits into
Conversation
…rnative) Adds Step 1b to /frame: three required fields that must be answered before tier classification can proceed. Non-falsifiable failure modes surface an abort prompt. Frame artifact gains a required Premise Validity section. Motivated by Roxabi/lyra#1162 (quality-debt infra that measured bookkeeping compliance, not code quality — 1100 LOC that a falsification check would have caught). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Step 2d budget heuristic to /plan: classifies each task by cost class (trivial/bounded/judgmental/exploratory), estimates tool-call ops, force-splits or DP-flags tasks exceeding 50 ops, and emits a Budget Table in the plan artifact's Wave Structure section. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ng→main Add Step 1b pin-swap phase to /promote: detects [tool.uv.sources] entries with branch=, resolves each to a release tag via uv.lock SHA + git ls-remote, shows DP(A) diff, rewrites pyproject.toml, regenerates uv.lock, stages both. Fails loud when SHA has no matching tag. No-op when zero branch= git deps. --dry-run shows plan without writing. Documented in docs/release-convention.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
Author
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
/promotebetween pre-flight and version bump[tool.uv.sources]entries withbranch=, resolves each to a release tag viauv.lockSHA +git ls-remote, shows DP(A) diff, rewritespyproject.toml, regeneratesuv.lock, stages bothbranch=git deps;--dry-runshows plan onlyAcceptance criteria
/promotedetectsbranch=entries in[tool.uv.sources]and lists them in pre-flight outputuv.lockSHA →<pkg>/vX.Y.Ztag (subdirectory-aware for monorepo subdir packages)pyproject.toml/uv.lockuv lock, stage both files for the promotion commit<pkg>/vX.Y.Zat<sha>upstream first")branch=are found--dry-runshows the swap plan without writingdocs/release-convention.md(new file)Files changed
plugins/dev-core/skills/promote/lib/pin-swap.ts— new, pure-logic implementation (I/O injected via Deps interface)plugins/dev-core/skills/promote/__tests__/pin-swap.test.ts— 36 vitest unit testsplugins/dev-core/skills/promote/SKILL.md— Step 1b documentedplugins/dev-core/skills/promote/README.md— pin-swap added to how-it-works listdocs/release-convention.md— new file documenting branch/tag convention + pin-swapTest plan
bun run test— 543 tests pass (36 new in pin-swap suite)bun run lint— biome cleanFollow-up (out of scope, flagged)
~/projects/CLAUDE.mdRelease Convention block should reference pin-swap behavior — this file is outside the repo and cannot be edited in this PR. Flag for manual update.Closes #170
🤖 Generated with Claude Code