Files
markitect-main/roadmap/260106-release-management-optimization
tegwick 587d2f5889 feat: implement optimization #1 - unpushed tags detection
Added unpushed tag detection to release status command to prevent
forgotten tag pushes (the critical issue from v0.10.0 release).

**Implementation**:
- Added `get_unpushed_tags()` method to GitManager
- Compares local tags with remote tags (git ls-remote)
- Handles annotated tags correctly (strips ^{} suffix)
- Added unpushed_tags to repository status dict

**CLI Enhancement**:
- `release status` now shows unpushed tags with warning emoji
- Lists all unpushed tags
- Provides helpful command to push them

**Output Example**:
```
⚠️  Unpushed Tags: 2 tag(s) not pushed to origin
    - v0.9.0
    - v0.10.0

💡 Push tags with: git push origin v0.9.0 v0.10.0
   Or push all tags: git push --tags
```

**Testing**: Verified with current repo (no unpushed tags after push)

**Files Modified**:
- capabilities/release-management/src/release_management/git/manager.py
- capabilities/release-management/src/release_management/cli/main.py

**Documentation**: Added comprehensive IMPLEMENTATION_PLAN.md with
all 9 optimizations detailed (13.5 hours total estimated)

This solves the #1 critical issue from OPTIMIZATION_ASSESSMENT.md.
2026-01-06 17:26:09 +01:00
..

Release Management Optimization

Created: 2026-01-06 Status: Planning → Ready to implement Priority: High (blocks v0.10.0 release)

Quick Summary

Enhance release management with robust validation using the schema system we just built. Creates a perfect showcase: validate CHANGELOG.md with a changelog schema.

Critical Issues Found

  1. setuptools-scm bug: Missing tag_regex → markitect --version returns "unknown"
  2. Missing v0.9.0 tag: CHANGELOG says v0.9.0 released but git tag never created
  3. No validation: No checks for CHANGELOG format or version-tag consistency

Solution

Create changelog-schema-v1.0.md to validate Keep a Changelog format, integrate into release workflow. Demonstrates schema evolution in action!

Staged Approach

  • Stage 1 (45 min): Critical fixes → unblock v0.10.0 release
  • Stage 2 (2.5 hrs): CHANGELOG schema → showcase feature
  • Stage 3 (2 hrs): Release tooling enhancements
  • Stage 4 (optional): Schema extensions (hooks/agents)

Recommended: Standard Track (Stages 1-3) = 5 hours for production-ready release management

Files

  • WORKPLAN.md - Detailed staged implementation plan
  • DONE.md - Completion checklist (when finished)

Philosophy

"Use the tools we build to improve the tools we build."

Release v0.10.0 becomes: The release that validates itself 🎯