Repository navigation
fix(create): a milestone whose target date has passed takes no new issues - #79
Conversation
…sues create's default milestone was the earliest target still under 100%, with no date check, so an overdue milestone left open caught every new issue. The default now skips passed milestones, and create/update/goals --milestone refuse one by name, list the open milestones, and name set-target-date as the way to keep using it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…te and goals refusals Review follow-up on #79: goals todo copied the Daily goal's milestone with no date check. Adds tests for resolve_milestone_id(open_on), the goals refusal and the to-do fallback; each fails on the previous release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
how it works sorry I don't understand |
|
Independent review (non-author code-reviewer subagent, read-only, 831e847): no blocking findings. It walked every writer of
|
|
Verdict: APPROVE (independent non-author code-reviewer subagent). Its words: "READY TO MERGE after you decide on item 1 (a one-line fix) and add the missing |
|
Hi how it works |
|
okay if I understand I have to start from item one can I use any story.
thanks
Le mar. 3 nov. 2026, 17:36, Muqsit ***@***.***> a écrit :
… *muqsitnawaz* left a comment (phnx-labs/linear-cli#79)
<#79 (comment)>
Verdict: *APPROVE* (independent non-author code-reviewer subagent). Its
words: "READY TO MERGE after you decide on item 1 (a one-line fix) and add
the missing update/goals tests from item 2." Both are done in f07c1e7
<f07c1e7>,
and CI passes on that head.
—
Reply to this email directly, view it on GitHub
<#79?email_source=notifications&email_token=BBOGAXEEDXN7P3IP2PX47435XIJRTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGEYDONZXGUYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6611077750>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BBOGAXD4JD27I4XGNRIZJLD5XIJRTAVCNFSNUABGKJSXA33TNF2G64TZHMYTEMRQGQZDMNBXGU5US43TOVSTWNRRHA3TMNZZGE4THILWAI>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/BBOGAXFBUIVXRXSZOLRFBB35XIJRTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGEYDONZXGUYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y>
and Android
<https://github.com/notifications/mobile/android/BBOGAXE5DP7BPKH5GQPDCT35XIJRTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGEYDONZXGUYKM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>.
Download it today!
You are receiving this because you commented.Message ID:
***@***.***>
|
What was wrong
Agents kept filing new issues into milestones whose target date had already passed. There were two causes:
next_open_milestonepicked the earliesttargetDatestill under 100% and never compared it to today. Once a milestone went overdue at less than 100%, every plainlinear createin that project landed in it, labeled "next for ". On v0.33.0 against our live workspace, a default create picked a milestone whose target was 2026-10-23.create --milestone,update --milestoneandgoals --milestoneaccepted a milestone whose target date had passed. Only--backlogchecked the date.What changes
milestone_passed(m, today): a milestone whose target date is before the team's today. A milestone due today still takes issues.next_open_milestone, used bycreateandgoals) skips passed milestones.create,updateandgoalsrefuse a passed milestone with exit 1. The refusal names the milestone and its date, lists the project's milestones still open, and nameslinear milestones set-target-datefor work that really belongs to it. Bulk--from-filerows get a one-line form.CreateRequiresMilestoneTestfixture used hard-coded September 2026 targets, which are now past. It now uses dates relative to today, as_CreateWorlddoes.New surface:
milestone_passedandpassed_milestone_error;resolve_milestone_idgainsopen_on.next_open_milestonenow takestoday. No new flags or config keys.Run evidence
Captured run of this branch (831e847) against our live Linear workspace on 2026-11-03T17:19Z (org sign-in required, because it names internal milestones): https://share.getrush.ai/muqsit/linear-cli-no-past-milestone-run
What it shows:
linear create … --milestone <milestone that targeted 2026-10-23>prints the refusal and exits 1. The refusal lists the open milestones and theset-target-datecommand.linear update <issue> --milestone <milestone that targeted 2026-10-26>prints the same refusal and exits 1. Reading the issue afterwards showed no milestone was written.python3 -m unittest test_linear:Ran 288 tests … OK (skipped=4).Goals:
_goal_milestonedefaults to the next open milestone, and an explicit passed milestone exits 1 with the same refusal.🤖 Generated with Claude Code