feat(milestones): add close/update lifecycle verbs with abandoned state - #101
Merged
utx0 merged 36 commits intoAug 26, 2026
Merged
Conversation
…struction emission
…struction emission
…struction emission
…struction emission
…struction emission
…struction emission
…struction emission
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
…ders abandoned milestone marker Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
…enders abandoned milestone marker Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
… docs after finalize
utx0
deleted the
metta/fix-milestone-status-write-once-dead-field-no-close
branch
August 26, 2026 01:33
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.
Resolves issue
milestone-status-is-a-write-once-dead-field-with-no-close-or(major): milestone status was write-once —metta milestone createsetstatus: openand no CLI path could ever close a milestone, edit its body, or change its target, so completed milestones permanently reported stale open state.What changed
MilestonesStore.update(slug, patch)— read → patch → full-frontmatter Zod re-validation before any I/O → write; failing patches leave the file byte-identical.MilestonePatchsupportsname,target,clearTarget,status,description.open | closed | abandoned(additive; existing files unaffected).metta milestone close <slug> [--abandoned](conflict pre-check, auto-commitchore: close milestone <slug>) andmetta milestone update <slug>(--name/--target/--clear-target/--description/--status, reopen via--status open); typed exit-4 JSON envelopes; sharedcommitMilestoneshelper.MILESTONE_MARKERS(▸/✓/✗); status/progress render abandoned in red✗.milestone close/updatejoin the Tier-2 blocked set with scopes minted only formetta-backlog; deployed and template copies byte-identical; metta-backlog skill gained close/update dispatch branches.Quality evidence
26e0703f0).tsc --noEmit, lint, and build clean; all 22 spec scenarios across 6 requirements have cited passing tests.spec/archive/2026-08-26-fix-milestone-status-write-once-dead-field-no-close/.Risks:
status: abandonedfiles fail validation under older metta builds (accepted one-way door);updatere-serializes frontmatter, normalizing hand-edited key order/comments (accepted — hand-editing is the workflow this removes).UAT results
Result: 7 pass / 0 fail / 36 skip (of 43 steps) — PASS
Run: 2026-08-26 · record committed as
docs(fix-milestone-status-write-once-dead-field-no-close): UAT run record(b989e58) ·spec/archive/2026-08-26-fix-milestone-status-write-once-dead-field-no-close/UAT.mdSkipped — needs manual acceptance
metta milestoneCLI invocations forbidden to the sandboxed UAT runner (store-level equivalents of 2.2/2.4/2.5/6.16/6.18/6.19 verified in passing steps 6.7/6.8/6.9)🤖 Generated with Claude Code
https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK