You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
♻️ refactor(scripts): move what's left in scripts/ to mise file tasks - #812
scripts/gh-milestones/prep-next.py → mise-tasks/milestone/prep-next (#MISE description, #USAGE arg "[milestone]"). The gh-milestones-prep-next skill and docs/implementation/649-branch-naming-implementation.md now point at it.
test_branch_naming.py and test_leaf_traversal.py → tests/milestone/; new mise run milestone:test runs them. The branch-naming tests load the task with SourceFileLoader, since it has no .py extension.
scripts/test-installer.md → docs/dev/testing/installer-tests.md, listed in the testing README.
scripts/gh-milestones/README.md folds into the task description and docs/dev/milestone-tasks.md, then is deleted.
mise run check and mise run milestone:test pass.
Decisions for codekiln
scripts/install.sh stays where it is: its raw.githubusercontent.com URL is published in the README, docs and devcontainer feature. If you want a mise entry point anyway, a mise-tasks/release/install wrapper can run it in place.
prep-next.py becomes `mise run milestone:prep-next`, its tests move to
tests/milestone/ with a `milestone:test` task, the installer checklist moves
to docs/dev/testing/, and the gh-milestones README folds into
docs/dev/milestone-tasks.md. scripts/install.sh stays: its URL is published.
#774 734.x move what's left in scripts/ to mise file tasks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
codekiln
added
enhancement
New feature or request
wip
Not ready yet: an open PR short of the ready bar, or an issue an open PR closes
labels
Oct 13, 2026
The reason will be displayed to describe this comment to others. Learn more.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Checked the code: mise run milestone:prep-next --help prints the argument, mise run milestone:test runs both test files and passes (11 and 5 tests), and no reference to scripts/gh-milestones/ remains outside CHANGELOG.md history. Two findings on the body, one inline.
1. The body opens with Fixes #774 instead of the AI header.
Quoted: the body's first line, Fixes #774.
Cost: the reader cannot tell at the first line that an agent wrote the body.
Rule: CLAUDE.md in this repo ("Start every PR description ... with the line ## from AI(<harness>, <model-slug>, <session-name>)").
Rewrite: put ## from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise) on line 1, then Fixes #774 on line 3.
2. per codekiln's preference on #772 is a bare pointer.
Quoted: "Moves what's left in scripts/ to mise file tasks, per codekiln's preference on #772."
Cost: the reader follows #772 to find out which preference, and #772 is a PR about test output, so the number alone does not say.
Suggested squash-merge subject (the commit message's last line carries #774 734.x with no title): ♻️ refactor(scripts): move what's left in scripts/ to mise file tasks (#774 move the last scripts to mise file tasks).
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Answer to Copilot's note that the Python entry point reads only sys.argv: mise passes a task's arguments to the script on argv as well as parsing them for #USAGE. I checked with a throwaway task that prints sys.argv[1:]; mise run x 42 printed ['42']. So mise run milestone:prep-next 42 reaches argparse unchanged.
The reason will be displayed to describe this comment to others. Learn more.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Two findings, both inline: the opening sentence of the new task doc says the task "moves", and the installer checklist opens with a sentence about itself and a reason for where its script lives. The title, body and earlier rewrites read cleanly alone.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The relocated tests duplicate key production logic, allowing regressions in the actual milestone task to pass unnoticed.
0 open findings
Previously missed (1)
In code that hasn't changed since last review
Tests bypass production branch assembly logic
tests/milestone/test_branch_naming.py:28
The branch-format tests still exercise the test-only generate_branch_name implementation rather than the task loaded here. A regression in MilestoneWorkflow.create_worktree's branch assembly can therefore leave milestone:test green. Please assert the branch passed by the real create_worktree, or extract the production branch-name logic into an imported helper and test that.
… trim the installer checklist intro
#774 734.x move what's left in scripts/ to mise file tasks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The reason will be displayed to describe this comment to others. Learn more.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
One finding on the body and one inline. I ran mise run milestone:test (passes), mise run milestone:prep-next --help (prints the argument), and a throwaway task to confirm mise passes [milestone] through on argv; the old paths remain only in CHANGELOG.md history. The title, commit subjects and the earlier rewrites (picks the next open issue, the installer checklist intro) read cleanly alone.
Body, first sentence. Quoted: "Automation belongs in mise file tasks, not in scripts/, as you asked in [#772 ...]; this PR moves every script there except scripts/install.sh, which stays because its URL is published (see Decisions below)."
Cost: the sentence opens on a policy, in an X, not Y shape, and reaches what the PR does only after a clause about who asked, so the reader holds the policy, the source and the exception before learning the change; "see Decisions below" then sends them down the page for a reason the sentence already gave.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Answer to the round-4 finding on the body's first sentence: rewritten to say what the PR moves and where, with the #772 link and the reason scripts/install.sh stays.
The reason will be displayed to describe this comment to others. Learn more.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Round 5: one finding. The title, body, headings and first sentences read clean. The traversal bullet in docs/dev/milestone-tasks.md describes something the task does not do, checked against mise-tasks/milestone/prep-next; the order of the five bullets matches the code.
from AI(claude-code, claude-opus-5-5, langstar-label-rules)
AI (codekiln-review): A review round on d1f8d12 found nothing to raise, so it posted no review. It ran mise run milestone:test and mise run milestone:prep-next --help, checked each step in docs/dev/milestone-tasks.md against mise-tasks/milestone/prep-next, checked the body's claims, and found nothing outside CHANGELOG.md that still points at scripts/gh-milestones.
codekiln
removed
the
wip
Not ready yet: an open PR short of the ready bar, or an issue an open PR closes
label
Oct 30, 2026
codekiln
added
wip
Not ready yet: an open PR short of the ready bar, or an issue an open PR closes
and removed
ready-for-review
Green CI, no open threads, Copilot settled; ready for codekiln to review and merge
labels
Oct 30, 2026
— with Claude
The reason will be displayed to describe this comment to others. Learn more.
🟢 Approval recommended
No active review issues remain for the milestone tooling migration to mise tasks.
No open issues 🎉
Review effort: Balanced
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
enhancementNew feature or requestpriority: mediumReview after high: bug fixes and features with no open decisionwipNot ready yet: an open PR short of the ready bar, or an issue an open PR closes
2 participants
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.
from AI(claude-code, claude-sonnet-5-5, langstar i774-scripts-to-mise)
Fixes #774
This PR moves the milestone script, its tests and the installer checklist out of
scripts/into mise file tasks,tests/milestone/anddocs/dev/, as you asked in #772 stop printing organization and workspace IDs in integration test output;scripts/install.shstays because its URL is published.scripts/gh-milestones/prep-next.py→mise-tasks/milestone/prep-next(#MISE description,#USAGE arg "[milestone]"). Thegh-milestones-prep-nextskill anddocs/implementation/649-branch-naming-implementation.mdnow point at it.test_branch_naming.pyandtest_leaf_traversal.py→tests/milestone/; newmise run milestone:testruns them. The branch-naming tests load the task withSourceFileLoader, since it has no.pyextension.scripts/test-installer.md→docs/dev/testing/installer-tests.md, listed in the testing README.scripts/gh-milestones/README.mdfolds into the task description anddocs/dev/milestone-tasks.md, then is deleted.mise run checkandmise run milestone:testpass.Decisions for codekiln
scripts/install.shstays where it is: its raw.githubusercontent.com URL is published in the README, docs and devcontainer feature. If you want a mise entry point anyway, amise-tasks/release/installwrapper can run it in place.🤖 Generated with Claude Code