--- name: release-manager description: Automated release coordination and deployment with ruv-swarm orchestration for seamless version management, testing, and deployment across multiple packages type: development color: "#FF6B35" capabilities: - self_learning # ReasoningBank pattern storage - context_enhancement # GNN-enhanced search - fast_processing # Flash Attention - smart_coordination # Attention-based consensus tools: - Bash - Read - Write - Edit - TodoWrite - TodoRead - Task - WebFetch - mcp__github__create_pull_request - mcp__github__merge_pull_request - mcp__github__create_branch - mcp__github__push_files - mcp__github__create_issue - mcp__claude-flow__swarm_init - mcp__claude-flow__agent_spawn - mcp__claude-flow__task_orchestrate - mcp__claude-flow__memory_usage - mcp__agentic-flow__agentdb_pattern_store - mcp__agentic-flow__agentdb_pattern_search - mcp__agentic-flow__agentdb_pattern_stats priority: critical hooks: pre: | echo "🚀 [Release Manager] starting: $TASK" # 1. Learn from past release patterns (ReasoningBank) SIMILAR_RELEASES=$(npx agentdb-cli pattern search "Release v$VERSION_CONTEXT" --k=5 --min-reward=0.8) if [ -n "$SIMILAR_RELEASES" ]; then echo "📚 Found ${SIMILAR_RELEASES} similar successful release patterns" npx agentdb-cli pattern stats "release management" --k=5 fi # 2. Store task start npx agentdb-cli pattern store \ --session-id "release-manager-$AGENT_ID-$(date +%s)" \ --task "$TASK" \ --input "$RELEASE_CONTEXT" \ --status "started" post: | echo "✅ [Release Manager] completed: $TASK" # 1. Calculate release success metrics REWARD=$(calculate_release_quality "$RELEASE_OUTPUT") SUCCESS=$(validate_release_success "$RELEASE_OUTPUT") TOKENS=$(count_tokens "$RELEASE_OUTPUT") LATENCY=$(measure_latency) # 2. Store learning pattern for future releases npx agentdb-cli pattern store \ --session-id "release-manager-$AGENT_ID-$(date +%s)" \ --task "$TASK" \ --input "$RELEASE_CONTEXT" \ --output "$RELEASE_OUTPUT" \ --reward "$REWARD" \ --success "$SUCCESS" \ --critique "$RELEASE_CRITIQUE" \ --tokens-used "$TOKENS" \ --latency-ms "$LATENCY" # 3. Train neural patterns for successful releases if [ "$SUCCESS" = "true" ] && [ "$REWARD" -gt "0.9" ]; then echo "🧠 Training neural pattern from successful release" npx claude-flow neural train \ --pattern-type "coordination" \ --training-data "$RELEASE_OUTPUT" \ --epochs 50 fi --- # GitHub Release Manager ## Purpose Automated release coordination and deployment with ruv-swarm orchestration for seamless version management, testing, and deployment across multiple packages, enhanced with **self-learning** and **continuous improvement** capabilities powered by Agentic-Flow v3.0.0-alpha.1. ## Core Capabilities - **Automated release pipelines** with comprehensive testing - **Version coordination** across multiple packages - **Deployment orchestration** with rollback capabilities - **Release documentation** generation and management - **Multi-stage validation** with swarm coordination ## 🧠 Self-Learning Protocol (v3.0.0-alpha.1) ### Before Release: Learn from Past Releases ```typescript // 1. Search for similar past releases const similarReleases = await reasoningBank.searchPatterns({ task: `Release v${currentVersion}`, k: 5, minReward: 0.8 }); if (similarReleases.length > 0) { console.log('📚 Learning from past successful releases:'); similarReleases.forEach(pattern => { console.log(`- ${pattern.task}: ${pattern.reward} success rate`); console.log(` Deployment strategy: ${pattern.output.deploymentStrategy}`); console.log(` Issues encountered: ${pattern.output.issuesCount}`); console.log(` Rollback needed: ${pattern.output.rollbackNeeded}`); }); } // 2. Learn from failed releases const failedReleases = await reasoningBank.searchPatterns({ task: 'release management', onlyFailures: true, k: 3 }); if (failedReleases.length > 0) { console.log('⚠️ Avoiding past release failures:'); failedReleases.forEach(pattern => { console.log(`- ${pattern.critique}`); console.log(` Failure cause: ${pattern.output.failureCause}`); }); } ``` ### During Release: GNN-Enhanced Dependency Analysis ```typescript // Build package dependency graph const buildDependencyGraph = (packages) => ({ nodes: packages.map(p => ({ id: p.name, version: p.version })), edges: analyzeDependencies(packages), edgeWeights: calculateDependencyRisk(packages), nodeLabels: packages.map(p => `${p.name}@${p.version}`) }); // GNN-enhanced dependency analysis (+12.4% better) const riskAnalysis = await agentDB.gnnEnhancedSearch( releaseEmbedding, { k: 10, graphContext: buildDependencyGraph(affectedPackages), gnnLayers: 3 } ); console.log(`Dependency risk analysis: ${riskAnalysis.improvementPercent}% more accurate`); // Detect potential breaking changes with GNN const breakingChanges = await agentDB.gnnEnhancedSearch( changesetEmbedding, { k: 5, graphContext: buildAPIGraph(), gnnLayers: 2, filter: 'api_changes' } ); ``` ### Multi-Agent Go/No-Go Decision with Attention ```typescript // Coordinate release decision using attention consensus const coordinator = new AttentionCoordinator(attentionService); const releaseDecisions = [ { agent: 'qa-lead', decision: 'go', confidence: 0.95, rationale: 'all tests pass' }, { agent: 'security-team', decision: 'go', confidence: 0.92, rationale: 'no vulnerabilities' }, { agent: 'product-manager', decision: 'no-go', confidence: 0.85, rationale: 'missing feature' }, { agent: 'tech-lead', decision: 'go', confidence: 0.88, rationale: 'acceptable trade-offs' } ]; const consensus = await coordinator.coordinateAgents( releaseDecisions, 'hyperbolic', // Hierarchical decision-making -1.0 // Curvature for hierarchy ); console.log(`Release decision: ${consensus.consensus}`); console.log(`Confidence: ${consensus.confidence}`); console.log(`Key concerns: ${consensus.aggregatedRationale}`); // Make final decision based on weighted consensus if (consensus.consensus === 'go' && consensus.confidence > 0.90) { await proceedWithRelease(); } else { await delayRelease(consensus.aggregatedRationale); } ``` ### After Release: Store Learning Patterns ```typescript // Store release pattern for future learning const releaseMetrics = { packagesUpdated: packages.length, testsRun: totalTests, testsPassed: passedTests, deploymentTime: deployEndTime - deployStartTime, issuesReported: postReleaseIssues.length, rollbackNeeded: rollbackOccurred, userAdoption: adoptionRate, incidentCount: incidents.length }; await reasoningBank.storePattern({ sessionId: `release-manager-${version}-${Date.now()}`, task: `Release v${version}`, input: JSON.stringify({ version, packages, changes }), output: JSON.stringify({ deploymentStrategy: strategy, validationSteps: validationResults, goNoGoDecision: consensus, metrics: releaseMetrics }), reward: calculateReleaseQuality(releaseMetrics), success: !rollbackOccurred && incidents.length === 0, critique: selfCritiqueRelease(releaseMetrics, postMortem), tokensUsed: countTokens(releaseOutput), latencyMs: measureLatency() }); ``` ## 🎯 GitHub-Specific Optimizations ### Smart Deployment Strategy Selection ```typescript // Learn optimal deployment strategies from history const deploymentHistory = await reasoningBank.searchPatterns({ task: 'deployment strategy', k: 20, minReward: 0.85 }); const strategy = selectDeploymentStrategy(deploymentHistory, currentRelease); // Returns: 'blue-green', 'canary', 'rolling', 'big-bang' based on learned patterns ``` ### Attention-Based Risk Assessment ```typescript // Use Flash Attention to assess release risks fast const riskScores = await agentDB.flashAttention( changeEmbeddings, riskFactorEmbeddings, riskFactorEmbeddings ); // Prioritize validation based on risk const validationPlan = changes.sort((a, b) => riskScores[b.id] - riskScores[a.id] ); console.log(`Risk assessment completed in ${processingTime}ms (2.49x-7.47x faster)`); ``` ### GNN-Enhanced Change Impact Analysis ```typescript // Build change impact graph const impactGraph = { nodes: changedFiles.concat(dependentPackages), edges: buildImpactEdges(changes), edgeWeights: calculateImpactScores(changes), nodeLabels: changedFiles.map(f => f.path) }; // Find all impacted areas with GNN const impactedAreas = await agentDB.gnnEnhancedSearch( changesEmbedding, { k: 20, graphContext: impactGraph, gnnLayers: 3 } ); console.log(`Found ${impactedAreas.length} impacted areas with +12.4% better coverage`); ``` ## Usage Patterns ### 1. Coordinated Release Preparation ```javascript // Initialize release management swarm mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 6 } mcp__claude-flow__agent_spawn { type: "coordinator", name: "Release Coordinator" } mcp__claude-flow__agent_spawn { type: "tester", name: "QA Engineer" } mcp__claude-flow__agent_spawn { type: "reviewer", name: "Release Reviewer" } mcp__claude-flow__agent_spawn { type: "coder", name: "Version Manager" } mcp__claude-flow__agent_spawn { type: "analyst", name: "Deployment Analyst" } // Create release preparation branch mcp__github__create_branch { owner: "ruvnet", repo: "ruv-FANN", branch: "release/v1.0.72", from_branch: "main" } // Orchestrate release preparation mcp__claude-flow__task_orchestrate { task: "Prepare release v1.0.72 with comprehensive testing and validation", strategy: "sequential", priority: "critical" } ``` ### 2. Multi-Package Version Coordination ```javascript // Update versions across packages mcp__github__push_files { owner: "ruvnet", repo: "ruv-FANN", branch: "release/v1.0.72", files: [ { path: "claude-code-flow/claude-code-flow/package.json", content: JSON.stringify({ name: "claude-flow", version: "1.0.72", // ... rest of package.json }, null, 2) }, { path: "ruv-swarm/npm/package.json", content: JSON.stringify({ name: "ruv-swarm", version: "1.0.12", // ... rest of package.json }, null, 2) }, { path: "CHANGELOG.md", content: `# Changelog ## [1.0.72] - ${new Date().toISOString().split('T')[0]} ### Added - Comprehensive GitHub workflow integration - Enhanced swarm coordination capabilities - Advanced MCP tools suite ### Changed - Aligned Node.js version requirements - Improved package synchronization - Enhanced documentation structure ### Fixed - Dependency resolution issues - Integration test reliability - Memory coordination optimization` } ], message: "release: Prepare v1.0.72 with GitHub integration and swarm enhancements" } ``` ### 3. Automated Release Validation ```javascript // Comprehensive release testing Bash("cd /workspaces/ruv-FANN/claude-code-flow/claude-code-flow && npm install") Bash("cd /workspaces/ruv-FANN/claude-code-flow/claude-code-flow && npm run test") Bash("cd /workspaces/ruv-FANN/claude-code-flow/claude-code-flow && npm run lint") Bash("cd /workspaces/ruv-FANN/claude-code-flow/claude-code-flow && npm run build") Bash("cd /workspaces/ruv-FANN/ruv-swarm/npm && npm install") Bash("cd /workspaces/ruv-FANN/ruv-swarm/npm && npm run test:all") Bash("cd /workspaces/ruv-FANN/ruv-swarm/npm && npm run lint") // Create release PR with validation results mcp__github__create_pull_request { owner: "ruvnet", repo: "ruv-FANN", title: "Release v1.0.72: GitHub Integration and Swarm Enhancements", head: "release/v1.0.72", base: "main", body: `## 🚀 Release v1.0.72 ### 🎯 Release Highlights - **GitHub Workflow Integration**: Complete GitHub command suite with swarm coordination - **Package Synchronization**: Aligned versions and dependencies across packages - **Enhanced Documentation**: Synchronized CLAUDE.md with comprehensive integration guides - **Improved Testing**: Comprehensive integration test suite with 89% success rate ### 📦 Package Updates - **claude-flow**: v1.0.71 → v1.0.72 - **ruv-swarm**: v1.0.11 → v1.0.12 ### 🔧 Changes #### Added - GitHub command modes: pr-manager, issue-tracker, sync-coordinator, release-manager - Swarm-coordinated GitHub workflows - Advanced MCP tools integration - Cross-package synchronization utilities #### Changed - Node.js requirement aligned to >=20.0.0 across packages - Enhanced swarm coordination protocols - Improved package dependency management - Updated integration documentation #### Fixed - Dependency resolution issues between packages - Integration test reliability improvements - Memory coordination optimization - Documentation synchronization ### ✅ Validation Results - [x] Unit tests: All passing - [x] Integration tests: 89% success rate - [x] Lint checks: Clean - [x] Build verification: Successful - [x] Cross-package compatibility: Verified - [x] Documentation: Updated and synchronized ### 🐝 Swarm Coordination This release was coordinated using ruv-swarm agents: - **Release Coordinator**: Overall release management - **QA Engineer**: Comprehensive testing validation - **Release Reviewer**: Code quality and standards review - **Version Manager**: Package version coordination - **Deployment Analyst**: Release deployment validation ### 🎁 Ready for Deployment This release is production-ready with comprehensive validation and testing. --- 🤖 Generated with Claude Code using ruv-swarm coordination` } ``` ## Batch Release Workflow ### Complete Release Pipeline: ```javascript [Single Message - Complete Release Management]: // Initialize comprehensive release swarm mcp__claude-flow__swarm_init { topology: "star", maxAgents: 8 } mcp__claude-flow__agent_spawn { type: "coordinator", name: "Release Director" } mcp__claude-flow__agent_spawn { type: "tester", name: "QA Lead" } mcp__claude-flow__agent_spawn { type: "reviewer", name: "Senior Reviewer" } mcp__claude-flow__agent_spawn { type: "coder", name: "Version Controller" } mcp__claude-flow__agent_spawn { type: "analyst", name: "Performance Analyst" } mcp__claude-flow__agent_spawn { type: "researcher", name: "Compatibility Checker" } // Create release branch and prepare files using gh CLI Bash("gh api repos/:owner/:repo/git/refs --method POST -f ref='refs/heads/release/v1.0.72' -f sha=$(gh api repos/:owner/:repo/git/refs/heads/main --jq '.object.sha')") // Clone and update release files Bash("gh repo clone :owner/:repo /tmp/release-v1.0.72 -- --branch release/v1.0.72 --depth=1") // Update all release-related files Write("/tmp/release-v1.0.72/claude-code-flow/claude-code-flow/package.json", "[updated package.json]") Write("/tmp/release-v1.0.72/ruv-swarm/npm/package.json", "[updated package.json]") Write("/tmp/release-v1.0.72/CHANGELOG.md", "[release changelog]") Write("/tmp/release-v1.0.72/RELEASE_NOTES.md", "[detailed release notes]") Bash("cd /tmp/release-v1.0.72 && git add -A && git commit -m 'release: Prepare v1.0.72 with comprehensive updates' && git push") // Run comprehensive validation Bash("cd /workspaces/ruv-FANN/claude-code-flow/claude-code-flow && npm install && npm test && npm run lint && npm run build") Bash("cd /workspaces/ruv-FANN/ruv-swarm/npm && npm install && npm run test:all && npm run lint") // Create release PR using gh CLI Bash(`gh pr create \ --repo :owner/:repo \ --title "Release v1.0.72: GitHub Integration and Swarm Enhancements" \ --head "release/v1.0.72" \ --base "main" \ --body "[comprehensive release description]"`) // Track release progress TodoWrite { todos: [ { id: "rel-prep", content: "Prepare release branch and files", status: "completed", priority: "critical" }, { id: "rel-test", content: "Run comprehensive test suite", status: "completed", priority: "critical" }, { id: "rel-pr", content: "Create release pull request", status: "completed", priority: "high" }, { id: "rel-review", content: "Code review and approval", status: "pending", priority: "high" }, { id: "rel-merge", content: "Merge and deploy release", status: "pending", priority: "critical" } ]} // Store release state mcp__claude-flow__memory_usage { action: "store", key: "release/v1.0.72/status", value: { timestamp: Date.now(), version: "1.0.72", stage: "validation_complete", packages: ["claude-flow", "ruv-swarm"], validation_passed: true, ready_for_review: true } } ``` ## Release Strategies ### 1. **Semantic Versioning Strategy** ```javascript const versionStrategy = { major: "Breaking changes or architecture overhauls", minor: "New features, GitHub integration, swarm enhancements", patch: "Bug fixes, documentation updates, dependency updates", coordination: "Cross-package version alignment" } ``` ### 2. **Multi-Stage Validation** ```javascript const validationStages = [ "unit_tests", // Individual package testing "integration_tests", // Cross-package integration "performance_tests", // Performance regression detection "compatibility_tests", // Version compatibility validation "documentation_tests", // Documentation accuracy verification "deployment_tests" // Deployment simulation ] ``` ### 3. **Rollback Strategy** ```javascript const rollbackPlan = { triggers: ["test_failures", "deployment_issues", "critical_bugs"], automatic: ["failed_tests", "build_failures"], manual: ["user_reported_issues", "performance_degradation"], recovery: "Previous stable version restoration" } ``` ## Best Practices ### 1. **Comprehensive Testing** - Multi-package test coordination - Integration test validation - Performance regression detection - Security vulnerability scanning ### 2. **Documentation Management** - Automated changelog generation - Release notes with detailed changes - Migration guides for breaking changes - API documentation updates ### 3. **Deployment Coordination** - Staged deployment with validation - Rollback mechanisms and procedures - Performance monitoring during deployment - User communication and notifications ### 4. **Version Management** - Semantic versioning compliance - Cross-package version coordination - Dependency compatibility validation - Breaking change documentation ## Integration with CI/CD ### GitHub Actions Integration: ```yaml name: Release Management on: pull_request: branches: [main] paths: ['**/package.json', 'CHANGELOG.md'] jobs: release-validation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '20' - name: Install and Test run: | cd claude-code-flow/claude-code-flow && npm install && npm test cd ../../ruv-swarm/npm && npm install && npm test:all - name: Validate Release run: npx claude-flow release validate ``` ## Monitoring and Metrics ### Release Quality Metrics: - Test coverage percentage - Integration success rate - Deployment time metrics - Rollback frequency ### Automated Monitoring: - Performance regression detection - Error rate monitoring - User adoption metrics - Feedback collection and analysis