powerhouse-rp-toolkit
Version:
Renaissance Periodization Training Toolkit for PowerHouseATX
164 lines (111 loc) โข 5.6 kB
Markdown
# ๐ฅ Enhanced Fatigue & MRV Detection - UPGRADE #3 COMPLETE
## โ
**IMPLEMENTATION SUMMARY**
The Enhanced Fatigue & MRV Detection system has been successfully implemented, replacing the DOMS-only trigger with a comprehensive **rep-strength-drop + joint-ache scale** and **SFR (Stimulus-to-Fatigue Ratio)** test for more accurate and earlier deload detection.
## ๐ฏ **KEY FEATURES IMPLEMENTED**
### **1. Enhanced Feedback Model**
- โ
**Joint Ache Scale** (0-3): None โ Mild โ Moderate โ Pain
- โ
**Performance Change** (+1 PR, 0 same, -1 drop): Tracks strength trends
- โ
**Baseline Strength Tracking**: Captures week 1 top-set loads
- โ
**Rep Strength Drop Detection**: Triggers at <97% of baseline
### **2. SFR (Stimulus-to-Fatigue Ratio) Algorithm**
```javascript
// Enhanced fatigue calculation
const fatigue = soreness + jointAche + (perfChange < 0 ? 2 : 0);
const stimulus = pump + disruption;
const SFR = stimulus / (fatigue || 1);
// High fatigue if SFR โค 1 OR strength drop detected
return SFR <= 1 || strengthDrop;
```
### **3. Earlier Deload Triggers**
- โ
**One Bad Week Rule**: Deload can fire after just **one** week where SFR โค 1 or rep-strength drops <-3%
- โ
**Enhanced shouldDeload()**: Includes fatigue-based MRV detection
- โ
**Console Logging**: Shows `hitMRV: true (fatigue)` when strength dips
- โ
**Manual DOMS Check Removed**: Fully replaced with intelligent system
## ๐ง **FILES MODIFIED**
### **Core Algorithm Changes:**
1. **`js/algorithms/fatigue.js`** โ Added `isHighFatigue()` function with SFR calculation
2. **`js/core/trainingState.js`** โ Added baseline strength tracking and rep strength drop detection
3. **`js/algorithms/volume.js`** โ Integrated fatigue detection into auto-progression
4. **`js/ui/feedbackFormUI.js`** โ Extended feedback collection for new fields
5. **`index.html`** โ Added Joint Ache and Performance Change UI inputs
### **Enhanced UI Integration:**
6. **`js/ui/globals.js`** โ Updated mock feedback generators and exposed new functions
7. **`js/algorithms/effort.js`** โ Enhanced weekly simulation with fatigue fields
## ๐งช **TESTING FRAMEWORK**
Created comprehensive test suite: `test-enhanced-fatigue.html`
**Test Coverage:**
- โ
**SFR Calculation**: Various fatigue/stimulus combinations
- โ
**Strength Drop Detection**: Baseline comparison at 97% threshold
- โ
**Integration Testing**: Complete isHighFatigue() validation
- โ
**Early Deload Triggering**: One-week deload demonstration
- โ
**Complete System Demo**: 4-week progressive fatigue simulation
## ๐ **ALGORITHM EXAMPLES**
### **Scenario 1: High Fatigue (SFR โค 1)**
```
Input: soreness=3, jointAche=2, perfChange=-1, pump=1, disruption=1
Fatigue: 3 + 2 + 2 = 7 (performance penalty)
Stimulus: 1 + 1 = 2
SFR: 2/7 = 0.29 โค 1 โ ๐ด HIGH FATIGUE
Result: hitMRV(muscle), force recovery session
```
### **Scenario 2: Strength Drop**
```
Input: baseline=100kg, lastLoad=95kg
Drop: (100-95)/100 = 5% > 3% threshold โ ๐ด STRENGTH DROP
Result: hitMRV(muscle), force recovery session
```
### **Scenario 3: Normal Training**
```
Input: soreness=1, jointAche=0, perfChange=0, pump=3, disruption=3
Fatigue: 1 + 0 + 0 = 1
Stimulus: 3 + 3 = 6
SFR: 6/1 = 6.0 > 1 AND no strength drop โ ๐ข NORMAL
Result: Continue progression
```
## ๐ฎ **HOW TO USE**
### **In Main Application:**
1. **Daily Planning** โ Submit Feedback Form
2. **New Fields Available:**
- Joint Ache Level (0-3 slider)
- Performance Change (dropdown: PR/Same/Drop)
3. **System automatically detects high fatigue and triggers earlier deloads**
### **In Test Suite:**
1. Open `test-enhanced-fatigue.html`
2. Run each test to see algorithm components
3. **Complete Demo** shows 4-week progression with fatigue buildup
## ๐ **UPGRADE BENEFITS**
### **Before (DOMS-only):**
- Manual deload decisions
- Often too late (2+ weeks of overreaching)
- Single-factor assessment (soreness only)
- No objective performance tracking
### **After (Enhanced Fatigue Detection):**
- โ
**Automated early detection** (1 week)
- โ
**Multi-factor assessment** (soreness + joint ache + performance + strength)
- โ
**Objective strength tracking** (rep-strength drop)
- โ
**Mathematical precision** (SFR calculation)
- โ
**Prevents overtraining** before it becomes problematic
## ๐ **INTEGRATION STATUS**
- โ
**Volume System**: Integrated with auto-progression
- โ
**RIR Schedule**: Works with weekly load adjustments
- โ
**Chart System**: Updates show recovery sessions
- โ
**Training State**: Tracks baseline and current performance
- โ
**UI/UX**: Seamless user experience with new inputs
## ๐ฏ **SUCCESS CRITERIA MET**
โ
**Deload can fire after ONE bad week** where SFR โค 1 or rep-strength drops <-3%
โ
**Console log shows** `hitMRV: true (fatigue)` the first week strength dips
โ
**Manual DOMS-only check** is fully removed and replaced
โ
**Rep-strength-drop + joint-ache scale** implemented
โ
**SFR test** integrated into volume progression logic
## ๐ **UPGRADE #3 STATUS: COMPLETE**
The Enhanced Fatigue & MRV Detection system is now **fully operational** and represents a significant advancement in intelligent training load management. The system can now detect overreaching patterns much earlier and more accurately than traditional DOMS-based approaches.
**Next Steps:** System is ready for real-world training applications with the enhanced fatigue detection providing more nuanced and timely deload recommendations.