From 28c9552d1d7d8f5bea7c47a25c2ad85fb9821975 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Mon, 26 Jan 2026 10:35:06 -0500 Subject: [PATCH] fix(projman): add mandatory CHANGELOG and versioning to sprint-close workflow Problem: Version workflow was documented but not enforced in sprint-close. After completing sprints, CHANGELOG wasn't updated and releases weren't created. Solution: - Add "Update CHANGELOG" as mandatory step 7 in sprint-close - Add "Version Check" as step 8 with /suggest-version and release.sh - Update orchestrator agent with CHANGELOG and version reminders - Add V04.1.0 wiki workflow changes to CHANGELOG [Unreleased] - Document MCP bug #160 in Known Issues This ensures versioning workflow is part of the sprint close process, not just documented in CLAUDE.md. Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 10 ++++++ plugins/projman/agents/orchestrator.md | 41 +++++++++++++++++++++++- plugins/projman/commands/sprint-close.md | 18 ++++++++--- 3 files changed, 64 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ceedc06..3f0961f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Added +- **projman:** Wiki-based planning workflow enhancement (V04.1.0) + - Flexible input source detection in `/sprint-plan` (file, wiki, or conversation) + - Wiki proposal and implementation page creation during sprint planning + - Wiki reference linking in created issues + - Wiki status updates in `/sprint-close` (Implemented/Partial/Failed) + - Metadata section in lessons learned with implementation link for traceability + - New `/proposal-status` command for viewing proposal/implementation tree - **projman:** `/suggest-version` command - Analyzes CHANGELOG and recommends semantic version bump - **projman:** SessionStart hook now suggests sprint planning when open issues exist without milestone - **projman:** SessionStart hook now warns about unreleased CHANGELOG entries @@ -21,6 +28,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Documentation drift: COMMANDS-CHEATSHEET.md was missing data-platform plugin added in v4.0.0 - Proactive sprint planning: projman now suggests `/sprint-plan` at session start when unplanned issues exist +### Known Issues +- **MCP Bug #160:** `update_wiki_page` tool renames pages to "unnamed" when page_name contains URL-encoded characters (`:` → `%3A`). Workaround: use `create_wiki_page` to overwrite instead. + --- ## [4.0.0] - 2026-01-25 diff --git a/plugins/projman/agents/orchestrator.md b/plugins/projman/agents/orchestrator.md index c97471e..9ed8832 100644 --- a/plugins/projman/agents/orchestrator.md +++ b/plugins/projman/agents/orchestrator.md @@ -465,7 +465,44 @@ update_wiki_page( ) ``` -**G. Git Operations** +**G. Update CHANGELOG (MANDATORY)** + +Add all sprint changes to `[Unreleased]` section: +```markdown +## [Unreleased] + +### Added +- **projman:** New feature description +- **plugin-name:** Another feature + +### Changed +- **projman:** Modified behavior + +### Fixed +- **plugin-name:** Bug fix description +``` + +**IMPORTANT:** Never skip this step. Every sprint must update CHANGELOG. + +**H. Version Check** + +Run `/suggest-version` to analyze CHANGELOG and recommend version bump: +``` +/suggest-version +``` + +If release is warranted: +```bash +./scripts/release.sh X.Y.Z +``` + +This ensures version numbers stay in sync: +- README.md title +- .claude-plugin/marketplace.json +- Git tags +- CHANGELOG.md section header + +**I. Git Operations** Offer to handle git cleanup: ``` @@ -541,6 +578,8 @@ Would you like me to handle git operations? 10. **Capture lessons** - At sprint close, interview thoroughly 11. **Update wiki status** - At sprint close, update implementation and proposal pages 12. **Link lessons to wiki** - Include lesson links in implementation completion summary +13. **Update CHANGELOG** - MANDATORY at sprint close, never skip +14. **Run suggest-version** - Check if release is needed after CHANGELOG update ## Your Mission diff --git a/plugins/projman/commands/sprint-close.md b/plugins/projman/commands/sprint-close.md index b5e392d..4ebb73f 100644 --- a/plugins/projman/commands/sprint-close.md +++ b/plugins/projman/commands/sprint-close.md @@ -54,13 +54,23 @@ The orchestrator agent will guide you through: - If partial: Keep status as "In Progress", note completed implementations - Add summary of what was accomplished -7. **Git Operations** - - Commit any remaining work +7. **Update CHANGELOG** (MANDATORY) + - Add all sprint changes to `[Unreleased]` section in CHANGELOG.md + - Categorize: Added, Changed, Fixed, Removed, Deprecated + - Include plugin prefix (e.g., `- **projman:** New feature`) + +8. **Version Check** + - Run `/suggest-version` to analyze changes and recommend version bump + - If release warranted: run `./scripts/release.sh X.Y.Z` + - Ensures version numbers stay in sync across files + +9. **Git Operations** + - Commit any remaining work (including CHANGELOG updates) - Merge feature branches if needed - Clean up merged branches - - Tag sprint completion + - Tag sprint completion (if release created) -8. **Close Milestone** +10. **Close Milestone** - Use `update_milestone` to close the sprint milestone - Document final completion status