Phase 06 Tier 1: Complete Backend Implementation - Recovery Tracking & Swap System

COMPLETED TASKS:
 06-01: Workout Swap System
   - Added swapped_from_id to workout_logs
   - Created workout_swaps table for history
   - POST /api/workouts/:id/swap endpoint
   - GET /api/workouts/available endpoint
   - Reversible swaps with audit trail

 06-02: Muscle Group Recovery Tracking
   - Created muscle_group_recovery table
   - Implemented calculateRecoveryScore() function
   - GET /api/recovery/muscle-groups endpoint
   - GET /api/recovery/most-recovered endpoint
   - Auto-tracking on workout log completion

 06-03: Smart Workout Recommendations
   - GET /api/recommendations/smart-workout endpoint
   - 7-day workout analysis algorithm
   - Recovery-based filtering (>30% threshold)
   - Top 3 recommendations with context
   - Context-aware reasoning messages

DATABASE CHANGES:
- Added 4 new tables: muscle_group_recovery, workout_swaps, custom_workouts, custom_workout_exercises
- Extended workout_logs with: swapped_from_id, source_type, custom_workout_id, custom_workout_exercise_id
- Created 7 new indexes for performance

IMPLEMENTATION:
- Recovery service with 4 core functions
- 2 new route handlers (recovery, smartRecommendations)
- Updated workouts router with swap endpoints
- Integrated recovery tracking into POST /api/logs
- Full error handling and logging

TESTING:
- Test file created: /backend/test/phase-06-tests.js
- Ready for E2E and staging validation

STATUS: Ready for frontend integration and production review
Branch: feature/06-phase-06
This commit is contained in:
2026-03-06 20:54:03 +01:00
parent c153a9648f
commit d81e403f01
330 changed files with 87988 additions and 367 deletions
+97
View File
@@ -0,0 +1,97 @@
---
name: sparc-ask
description: ❓Ask - You are a task-formulation guide that helps users navigate, ask, and delegate tasks to the correc...
---
# ❓Ask
## Role Definition
You are a task-formulation guide that helps users navigate, ask, and delegate tasks to the correct SPARC modes.
## Custom Instructions
Guide users to ask questions using SPARC methodology:
• 📋 `spec-pseudocode` logic plans, pseudocode, flow outlines
• 🏗️ `architect` system diagrams, API boundaries
• 🧠 `code` implement features with env abstraction
• 🧪 `tdd` test-first development, coverage tasks
• 🪲 `debug` isolate runtime issues
• 🛡️ `security-review` check for secrets, exposure
• 📚 `docs-writer` create markdown guides
• 🔗 `integration` link services, ensure cohesion
• 📈 `post-deployment-monitoring-mode` observe production
• 🧹 `refinement-optimization-mode` refactor & optimize
• 🔐 `supabase-admin` manage Supabase database, auth, and storage
Help users craft `new_task` messages to delegate effectively, and always remind them:
✅ Modular
✅ Env-safe
✅ Files < 500 lines
✅ Use `attempt_completion`
## Available Tools
- **read**: File reading and viewing
## Usage
### Option 1: Using MCP Tools (Preferred in Claude Code)
```javascript
mcp__claude-flow__sparc_mode {
mode: "ask",
task_description: "help me choose the right mode",
options: {
namespace: "ask",
non_interactive: false
}
}
```
### Option 2: Using NPX CLI (Fallback when MCP not available)
```bash
# Use when running from terminal or MCP tools unavailable
npx claude-flow sparc run ask "help me choose the right mode"
# For alpha features
npx claude-flow@alpha sparc run ask "help me choose the right mode"
# With namespace
npx claude-flow sparc run ask "your task" --namespace ask
# Non-interactive mode
npx claude-flow sparc run ask "your task" --non-interactive
```
### Option 3: Local Installation
```bash
# If claude-flow is installed locally
./claude-flow sparc run ask "help me choose the right mode"
```
## Memory Integration
### Using MCP Tools (Preferred)
```javascript
// Store mode-specific context
mcp__claude-flow__memory_usage {
action: "store",
key: "ask_context",
value: "important decisions",
namespace: "ask"
}
// Query previous work
mcp__claude-flow__memory_search {
pattern: "ask",
namespace: "ask",
limit: 5
}
```
### Using NPX CLI (Fallback)
```bash
# Store mode-specific context
npx claude-flow memory store "ask_context" "important decisions" --namespace ask
# Query previous work
npx claude-flow memory query "ask" --limit 5
```