---
roadcrew_template_name: "advance-release.md"
roadcrew_template_type: "command"
execution_mode: "auto-execute"
roadcrew_template_version: "v1.0"
roadcrew_last_updated: "2025-10-25"
roadcrew_min_version: "1.5.0"
roadcrew_license: "See LICENSE file in .roadcrew folder"
roadcrew_copyright: "Copyright (c) 2025 North Star Holdings, LLC"
spdx_license_identifier: "LicenseRef-RoadcrewLicense-1.0"
---

# Advance Release

Archive completed releases and prepare next phase for planning.

## What This Command Does

**Full Release Advancement (Default):**
1. Archives `memory-bank/releases/current-release.md` to `memory-bank/releases/past-releases.md`
2. Closes all completed GitHub issues
3. Pulls next phase from `memory-bank/releases/future-releases.md`
4. Promotes it to `memory-bank/releases/current-release.md`
5. Updates version markers in `memory-bank/activeContext.md`
6. Auto-increments version number

**Minor Release Advancement (`--minor` flag):**
1. Archives `memory-bank/releases/minor-release.md` to `memory-bank/releases/past-releases.md`
2. Closes all completed GitHub issues in minor release
3. Resets `minor-release.md` to clean template for next planning cycle
4. Does NOT affect `current-release.md` or `future-releases.md`
5. Enables lightweight point/patch release workflows

## Usage

**Full Release Advancement:**
```bash
/advance-release                    # Interactive mode
/advance-release --dry-run          # Preview without changes
```

Run this when:
- Current release is complete and deployed
- All issues closed and merged
- Ready to start next major phase

**Minor Release Advancement:**
```bash
/advance-release --minor            # Archive minor release
/advance-release --minor --dry-run  # Preview minor release archiving
```

Run with `--minor` flag when:
- Point/patch release is complete
- Minor-release.md has been fully populated and deployed
- Ready to plan next minor release

## Process

### Full Release Advancement Workflow

#### 1. Validate Prerequisites

Check that current release is ready to archive:
- [ ] All epics marked as complete
- [ ] All GitHub issues closed
- [ ] Release deployed to production
- [ ] Success criteria met

If not ready, show warning: **"⚠️ Current release has open issues. Complete before advancing."**

#### 2. Extract Version & Close Issues

Read `memory-bank/releases/current-release.md` and extract:
- Version number (e.g., v1.1.0)
- Release name
- All completed issues marked with GitHub issue numbers

Close each issue in GitHub via API with release summary comment.

#### 3. Archive Current Release

Transform `memory-bank/releases/current-release.md` and append to `memory-bank/releases/past-releases.md`:

```markdown
## v1.1.0 - Phase 1 Full Auto-Classification

**Released:** 2025-10-30
**Release Name:** Phase 1 Full Auto-Classification

### Key Achievements

- Zero-touch classification (no manual approval)
- >95% classification accuracy over 500 threads
- Gemini fallback <10%
- Automatic Contact/Sheet sync

### Success Metrics

- Classification accuracy: 96.2%
- Manual intervention: 0%
- Processing time: 2.3s/thread

---
```

#### 4. Update Vision PRD Phase Markers

**Update phase markers in `memory-bank/activeContext.md`:**

1. Find current release phase (being archived)
2. Mark old release as ✅ COMPLETE
3. Find next release phase (being activated)
4. Mark new release as 🎯 NEXT

**Transformation examples:**

```markdown
# BEFORE advance-release:
### **v1.1.0: Classification + TOC** 🎯 NEXT
...
### **v1.5.0: Tooling Separation** 📋 PLANNED

# AFTER advance-release:
### **v1.1.0: Classification + TOC** ✅ COMPLETE
...
### **v1.5.0: Tooling Separation** 🎯 NEXT
```

**Implementation notes:**
- Use regex to find current version: `### \*\*v${CURRENT_VERSION}:(.*?)\*\* (🎯 NEXT|⏳ IN PROGRESS)`
- Replace with: `### **v${CURRENT_VERSION}:\1** ✅ COMPLETE`
- Use regex to find next version: `### \*\*v${NEXT_VERSION}:(.*?)\*\* (📋 PLANNED|🚀 PLANNED|🔮 FUTURE)`
- Replace with: `### **v${NEXT_VERSION}:\1** 🎯 NEXT`

#### 5. Pull Next Phase from Future Releases

Read `memory-bank/releases/future-releases.md` and extract the first phase:
- Phase number and name
- Objective
- Prerequisites
- Use cases
- Success metrics
- Links to PRDs and specs (from `memory-bank/activeContext.md` or legacy `context/vision.md` if not migrated)

#### 6. Increment Version

Determine next version:
- If major phase change: increment minor version (1.1.0 → 1.2.0)
- If patch release: increment patch version (1.1.0 → 1.1.1)

#### 7. Promote to Current Release

Transform next release to `current-release.md` format:

```markdown
# Current Release: v1.2.0 - Phase 2 Draft Generation

**Goal:** Generate AI-powered draft responses with persona matching

**Description:** Enable the system to automatically generate draft responses to issues based on conversation context and selected persona.

---

### EPIC 1: Draft Generation Engine
**Status**: ⏳ PENDING
**Related Spec**: [context/specs/draft-generation.md](../context/specs/draft-generation.md)
**Description**: Build core draft response engine

**Details**: [From spec]

**Issues**:
- [ ] [Issue 1.1] - Classification: 5 (ai-led), Spec § 1.1
- [ ] [Issue 1.2] - Classification: 7 (ai-assisted), Spec § 1.2

**Success Criteria**: [From spec]
```

#### 8. Update Future Releases

Remove the phase that was just promoted from `future-releases.md`.

#### 9. Display Summary

Display:
```
Release Advanced:

Archived:
  v1.1.0 - Phase 1 Full Auto-Classification
  → Moved to past-releases.md
  → Marked as COMPLETE in vision.md
  → 12 issues closed

New Current Release:
  v1.2.0 - Phase 2 Draft Generation
  ← Pulled from future-releases.md
  ← Marked as NEXT in vision.md

Files Updated:
  • memory-bank/releases/current-release.md
  • memory-bank/releases/past-releases.md
  • memory-bank/releases/future-releases.md
  • memory-bank/activeContext.md (phase markers)

Next Steps:
  1. Review memory-bank/releases/current-release.md
  2. Run /guide-release to enrich release details
  3. Run /scope-release --current to generate GitHub issues
  4. Start implementation
```

#### 10. Confirm & Commit

Ask: **"Review generated current-release.md. Ready to commit? (yes/no)"**

If approved:
```bash
git add memory-bank/releases/ memory-bank/activeContext.md
git commit -m "chore: advance to v1.2.0 - Phase 2 Draft Generation"
```

---

### Minor Release Advancement Workflow

**Purpose:** Archive completed point/patch releases without disrupting current major phase planning.

#### 1. Locate Minor Release

Verify `memory-bank/releases/minor-release.md` exists and is populated.

#### 2. Extract Version & Close Issues

Read `memory-bank/releases/minor-release.md` and extract:
- Version number (e.g., v1.6.8)
- Release name
- All completed issues marked with GitHub issue numbers

Close each issue in GitHub via API with release summary comment.

#### 3. Archive Minor Release

Transform `memory-bank/releases/minor-release.md` and append to `memory-bank/releases/past-releases.md`:

```markdown
## v1.6.8 - Bug Fixes and Performance

**Released:** 2025-10-30
**Release Name:** Bug Fixes and Performance

### Key Fixes

- Fixed race condition in classification retry logic
- Optimized database query performance
- Updated dependency versions

### Issues Closed

- #156: Race condition in token tracking
- #157: N+1 query in issue listing
- #158: Outdated dependencies

---
```

#### 4. Reset Minor Release Template

Write clean template to `memory-bank/releases/minor-release.md`:

```markdown
# Point Release: [VERSION] - [TITLE]

**GitHub Issue**: #[ISSUE_NUMBER]

**Goal:** [One sentence description of the release goal]

**Prerequisites:**
- [Prerequisite 1]
- [Prerequisite 2]

**Estimated Timeline:** [Duration]

**Focus Metrics:**
- [Metric 1]
- [Metric 2]

**Epics:**
- **Epic 1:** [Title]

**Value:** [One sentence on the value delivered]

---

### EPIC 1: [Title]

**GitHub Issue**: #[ISSUE_NUMBER]

**Status**: PENDING

**Description**: [Epic description]

**Estimated Timeline**: [Duration]

**Success Criteria:**
- [ ] [Criterion 1]
- [ ] [Criterion 2]

---

#### Issue 1.1: [Title]

**GitHub Issue**: #[ISSUE_NUMBER]

**Classification**: [1-10]

**Type**: Enhancement

**Overview & User Story**: [User story]

**Acceptance Criteria:**
- [ ] [Criteria 1]
- [ ] [Criteria 2]

**Technical Implementation:**
- [Implementation detail 1]
- [Implementation detail 2]

**Dependencies**: [Dependency or "None"]

**Estimated Effort**: [Hours] ([Classification zone])
```

#### 5. Display Summary

Display:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ MINOR RELEASE ARCHIVED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Archived:
  v1.6.8 - Bug Fixes and Performance
  → Moved to past-releases.md
  → 3 issues closed

Files Updated:
  • memory-bank/releases/minor-release.md (reset to template)
  • memory-bank/releases/past-releases.md

Next Steps:
  1. Run: /create-epic --spec context/specs/[your-spec].md
  2. Review: memory-bank/releases/minor-release.md
  3. Populate with next minor release details
  4. Run /scope-release --minor when ready to create issues
```

#### 6. Confirm & Commit

Ask: **"Ready to commit? (yes/no)"**

If approved:
```bash
git add memory-bank/releases/
git commit -m "chore: archive minor release v1.6.8 - Bug Fixes and Performance"
```

---

## Error Handling

- If current-release.md doesn't exist, show error
- If minor-release.md doesn't exist (with `--minor`), show error
- If future-releases.md is empty, prompt to update vision.md first
- If version parsing fails, prompt for manual version input
- If GitHub API fails, show error but keep file changes
- If git commit fails, show error but keep file changes

## Dry Run Mode

Both workflows support `--dry-run`:

```bash
/advance-release --dry-run           # Preview full advancement
/advance-release --minor --dry-run   # Preview minor archiving
```

Shows what would change without making actual modifications.

## Notes

- **Full advancement** is for major phase transitions (v1.1 → v1.2)
- **Minor advancement** is for point/patch releases within same phase (v1.6.7 → v1.6.8)
- Minor releases do NOT affect current-release.md or future-releases.md
- Always review generated files before committing
- Can be reverted with `git revert` if needed
- Automatically updates CHANGELOG.md with new version
