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:
Executable
+102
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
# Guidance Hooks for Claude Flow V3
|
||||
# Provides context and routing for Claude Code operations
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
CACHE_DIR="$PROJECT_ROOT/.claude-flow"
|
||||
|
||||
# Ensure cache directory exists
|
||||
mkdir -p "$CACHE_DIR" 2>/dev/null || true
|
||||
|
||||
# Color codes
|
||||
CYAN='\033[0;36m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
RESET='\033[0m'
|
||||
DIM='\033[2m'
|
||||
|
||||
# Get command
|
||||
COMMAND="${1:-help}"
|
||||
shift || true
|
||||
|
||||
case "$COMMAND" in
|
||||
pre-edit)
|
||||
FILE_PATH="$1"
|
||||
if [[ -n "$FILE_PATH" ]]; then
|
||||
if [[ "$FILE_PATH" =~ (config|secret|credential|password|key|auth) ]]; then
|
||||
echo -e "${YELLOW}[Guidance] Security-sensitive file${RESET}"
|
||||
fi
|
||||
if [[ "$FILE_PATH" =~ ^v3/ ]]; then
|
||||
echo -e "${CYAN}[Guidance] V3 module - follow ADR guidelines${RESET}"
|
||||
fi
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
|
||||
post-edit)
|
||||
FILE_PATH="$1"
|
||||
echo "$(date -Iseconds) edit $FILE_PATH" >> "$CACHE_DIR/edit-history.log" 2>/dev/null || true
|
||||
exit 0
|
||||
;;
|
||||
|
||||
pre-command)
|
||||
COMMAND_STR="$1"
|
||||
if [[ "$COMMAND_STR" =~ (rm -rf|sudo|chmod 777) ]]; then
|
||||
echo -e "${RED}[Guidance] High-risk command${RESET}"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
|
||||
route)
|
||||
TASK="$1"
|
||||
[[ -z "$TASK" ]] && exit 0
|
||||
if [[ "$TASK" =~ (security|CVE|vulnerability) ]]; then
|
||||
echo -e "${DIM}[Route] security-architect${RESET}"
|
||||
elif [[ "$TASK" =~ (memory|AgentDB|HNSW|vector) ]]; then
|
||||
echo -e "${DIM}[Route] memory-specialist${RESET}"
|
||||
elif [[ "$TASK" =~ (performance|optimize|benchmark) ]]; then
|
||||
echo -e "${DIM}[Route] performance-engineer${RESET}"
|
||||
elif [[ "$TASK" =~ (test|TDD|spec) ]]; then
|
||||
echo -e "${DIM}[Route] test-architect${RESET}"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
|
||||
session-context)
|
||||
cat << 'EOF'
|
||||
## V3 Development Context
|
||||
|
||||
**Architecture**: Domain-Driven Design with 15 @claude-flow modules
|
||||
**Priority**: Security-first (CVE-1, CVE-2, CVE-3 remediation)
|
||||
**Performance Targets**:
|
||||
- HNSW search: 150x-12,500x faster
|
||||
- Flash Attention: 2.49x-7.47x speedup
|
||||
- Memory: 50-75% reduction
|
||||
|
||||
**Active Patterns**:
|
||||
- Use TDD London School (mock-first)
|
||||
- Event sourcing for state changes
|
||||
- agentic-flow@alpha as core foundation
|
||||
- Bounded contexts with clear interfaces
|
||||
|
||||
**Code Quality Rules**:
|
||||
- Files under 500 lines
|
||||
- No hardcoded secrets
|
||||
- Input validation at boundaries
|
||||
- Typed interfaces for all public APIs
|
||||
|
||||
**Learned Patterns**: 17 available for reference
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
|
||||
user-prompt)
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user