# STRUGGL (struggl.ai / struggl.singandclap.com) — Quantitative Hybrid Coaching & Living Science > Struggl is an AI-native strength, hypertrophy, and endurance (Running + Hyrox) coaching system built on a strict Zero-LLM-Math architecture: every load prescription, implicit RPE deduction, 17-muscle fractional volume count, EWMA ACWR fatigue ratio, concurrent training interference check, and compromised Hyrox pace target is computed by deterministic sports-science subsystems backed by 1,104 peer-reviewed studies. ## Public API & Living Science Calculators - OpenAPI 3.1 Spec: https://struggl.singandclap.com/v1/public/openapi.json - Living Science Hub: https://struggl.singandclap.com/science - Chain of Evidence & Sources: https://struggl.singandclap.com/sources ## The 8 Deterministic Mathematical Pillars ### Pillar 01: Prescriptive Load Engine (Piecewise Wathan 1RM, RPE Discount & Bodyweight Calisthenics) - Canonical URL: https://struggl.singandclap.com/science/wathan-1rm-rpe-calisthenics-calculator - Target Queries: rpe to percentage chart wathan, weighted pull up 1rm calculator bodyweight included, 1rm to working weight calculator rpe - Deterministic Equation `Prescriptive Load Subsystem (calculate_prescribed_load)`: wathan_factor(reps) = 1.0 if reps==1 else 0.4880 + 0.538 * exp(-0.075 * reps); rpe_discount = (10.0 - target_rpe) * 0.025; intensity_pct = max(0.30, wathan_factor - rpe_discount); For weighted calisthenics (is_bw=True): target_total = e1rm * intensity_pct, prescribed_added_kg = target_total - bodyweight_kg. - Deterministic Equation `Prescriptive Load Subsystem (wathan_e1rm)`: e1RM = weight * 100 / (48.8 + 53.8 * exp(-0.075 * reps)), capped at reps <= 15 (or reps <= 12 for 90-day e1RM envelope). - Deterministic Equation `Prescriptive Load Subsystem (max_reps_at)`: Exact inverse of Wathan curve: reps = -ln(((100 * w / e1rm) - 48.8) / 53.8) / 0.075. - Deterministic Equation `Prescriptive Load Subsystem (total_load)`: System load for weighted bodyweight lifts (pull-up, chin-up, dip, muscle-up): total_load = bodyweight_kg + external_weight_kg. - Foundational DOI `ISBN:978-0873226998`: Wathan, D. (1994). Load Assignment. In T.R. Baechle (Ed.), Essentials of Strength Training and Conditioning (pp. 435-439). Human Kinetics. — Exponential 1RM prediction equation: 100*W / (48.8 + 53.8*e^(-0.075*r)) - Foundational DOI `10.1519/00124278-199711000-00001`: LeSuer, D. A., McCormick, J. H., Mayhew, J. L., Wasserstein, R. L., & Arnold, M. D. (1997). The accuracy of prediction equations for estimating 1-RM performance in the bench press, squat, and deadlift. Journal of Strength and Conditioning Research, 11(4), 211-213. — Validated Wathan (1994) as the lowest-error 1RM equation across squat, bench, and deadlift (r >= 0.95). - Foundational DOI `10.1519/JSC.0000000000001049`: Zourdos, M. C., Klemp, A., Dolan, C., Quiles, J. M., Schau, K. A., Jo, E., Helms, E., Esgro, B., Duncan, S., Garcia Merino, S., & Blanco, R. (2016). Novel Resistance Training-Specific Rating of Perceived Exertion Scale Measuring Repetitions in Reserve. Journal of Strength and Conditioning Research, 30(1), 267-275. — RIR-based RPE scale (1 RIR = 1 RPE point below 10; ~2.5% 1RM discount per RIR). - Foundational DOI `10.1519/SSC.0000000000000218`: Helms, E. R., Cronin, J., Storey, A., & Zourdos, M. C. (2016). Application of the Repetitions in Reserve-Based Rating of Perceived Exertion Scale for Resistance Training. Strength and Conditioning Journal, 38(4), 42-49. — Practical autoregulation and load prescription via RIR/RPE. | Target Reps | RPE 10 (0 RIR) | RPE 9 (1 RIR) | RPE 8.5 (1.5 RIR) | RPE 8 (2 RIR) | RPE 7 (3 RIR) | RPE 6 (4 RIR Gate) | Weighted Pull-Up @ 80kg BW, +40kg 1RM (RPE 8) | | --- | --- | --- | --- | --- | --- | --- | --- | | 1 rep | 100.0% | 95.1% | 93.4% | 91.7% | 88.6% | 85.7% | +30.0 kg belt (110.0 kg total) | | 2 reps | 95.1% | 91.7% | 90.1% | 88.6% | 85.7% | 83.1% | +26.0 kg belt (106.0 kg total) | | 3 reps | 91.7% | 88.6% | 87.1% | 85.7% | 83.1% | 80.6% | +22.5 kg belt (102.5 kg total) | | 4 reps | 88.6% | 85.7% | 84.4% | 83.1% | 80.6% | 78.3% | +19.5 kg belt (99.5 kg total) | | 5 reps | 85.7% | 83.1% | 81.8% | 80.6% | 78.3% | 76.1% | +16.5 kg belt (96.5 kg total) | | 6 reps | 83.1% | 80.6% | 79.4% | 78.3% | 76.1% | 74.2% | +13.5 kg belt (93.5 kg total) | ### Pillar 02: Implicit RPE & Hard-Set Filter (Zero-Input RIR Deduction & Capacity Envelope) - Canonical URL: https://struggl.singandclap.com/science/implicit-rpe-hard-set-hypertrophy-calculator - Target Queries: what counts as a hard set hypertrophy rir, calculate rpe from weight and reps, effective reps vs hard sets hypertrophy calculator - Deterministic Equation `Implicit RPE & Capacity Subsystem (infer_rpe)`: Given athlete e1RM and logged (weight, reps): max_reps = max_reps_at(e1rm, total_load); rir = max(0.0, max_reps - reps); inferred_rpe = clamp(10.0 - rir, 5.0, 10.0). - Deterministic Equation `Implicit RPE & Capacity Subsystem (infer_row_rpe)`: Three-tier RPE resolution for every logged set: (1) explicit logged RPE, (2) implicit RPE via Wathan inverse against 90-day e1RM envelope, (3) fallback default RPE 7.5. - Deterministic Equation `Implicit RPE & Capacity Subsystem (_HARD_SET_RPE_MIN)`: _HARD_SET_RPE_MIN = 6 (<= 4 RIR). Sets with explicit or inferred RPE < 6 are excluded from hypertrophy volume matrices as warm-up/junk sets. - Deterministic Equation `Implicit RPE & Capacity Subsystem (audit_reply)`: Anti-hallucination validator scanning AI coach prescriptions against the athlete's measured 90-day capacity envelope (+5% ceiling). - Foundational DOI `10.1007/s40279-024-02069-2`: Robinson, Z. P., Pelland, J. C., Remmert, J. F., Refalo, M. C., Jukic, I., Steele, J., & Zourdos, M. C. (2024). Exploring the Dose-Response Relationship Between Estimated Resistance Training Proximity to Failure, Strength Gain, and Muscle Hypertrophy: A Series of Meta-Regressions. Sports Medicine, 54, 2209-2231. — Definitive meta-regression justifying proximity-to-failure gating (sets within 0-4 RIR / RPE >= 6 drive hypertrophy). - Foundational DOI `10.1007/s40279-022-01784-y`: Refalo, M. C., Helms, E. R., Trexler, E. T., Hamilton, D. L., & Fyfe, J. J. (2023). Influence of Resistance Training Proximity-to-Failure on Skeletal Muscle Hypertrophy: A Systematic Review with Meta-Analysis. Sports Medicine, 53, 649-665. — Demonstrates that sets terminated far from failure (>4 RIR / RPE < 6) produce markedly inferior hypertrophy. - Foundational DOI `10.1007/s40279-021-01559-x`: Halperin, I., Malleron, T., Har-Nir, I., Androulakis-Korakakis, P., Wolf, M., Fisher, J., & Steele, J. (2022). Accuracy in Predicting Repetitions to Task Failure in Resistance Exercise: A Scoping Review and Exploratory Meta-Analysis. Sports Medicine, 52(2), 377-390. — Shows lifters under-predict RIR by 2-5 reps on average — motivating Struggl's deterministic implicit RPE derivation from e1RM curves. | Logged Set (% of e1RM × Reps) | Wathan Max Reps at Load (`max_reps_at`) | Deduced RIR (`max_reps - reps`) | Implicit RPE (`infer_rpe`) | Hypertrophy Gate (`_HARD_SET_RPE_MIN = 6`) | Single-Set Load AU (`row_load`) | | --- | --- | --- | --- | --- | --- | | 60 kg × 8 reps (e1RM = 100 kg) | 12.0 reps | 4.0 RIR | RPE 6.0 | COUNTS (1.0 Primary / 0.5 Secondary) | 5.3 AU | | 70 kg × 6 reps (e1RM = 100 kg) | 12.0 reps | 6.0 RIR | RPE 5.0 | EXCLUDED (Warm-Up / >4 RIR) | 2.4 AU | | 75 kg × 6 reps (e1RM = 100 kg) | 9.6 reps | 3.6 RIR | RPE 6.4 | COUNTS (1.0 Primary / 0.5 Secondary) | 4.8 AU | | 75 kg × 8 reps (e1RM = 100 kg) | 9.6 reps | 1.6 RIR | RPE 8.4 | COUNTS (1.0 Primary / 0.5 Secondary) | 11.7 AU | | 80 kg × 5 reps (e1RM = 100 kg) | 7.3 reps | 2.3 RIR | RPE 7.7 | COUNTS (1.0 Primary / 0.5 Secondary) | 6.2 AU | | 80 kg × 7 reps (e1RM = 100 kg) | 7.3 reps | 0.3 RIR | RPE 9.7 | COUNTS (1.0 Primary / 0.5 Secondary) | 13.3 AU | ### Pillar 03: Fractional Hypertrophy Volume Matrix (1.0x Primary / 0.5x Secondary across 17 Muscles vs MEV/MAV/MRV) - Canonical URL: https://struggl.singandclap.com/science/effective-sets-fractional-muscle-volume-calculator - Target Queries: effective sets primary secondary muscles calculator, do compound exercises count as half a set for secondary muscles, mev mav mrv weekly sets by muscle group calculator - Deterministic Equation `Fractional Volume Matrix Subsystem (build_weekly_tension)`: Iterates over 17 fine muscle groups (17-muscle anatomical taxonomy). Each hard set (RPE >= 6) credits +1.0 set to `muscles_primary` and +0.5 set to `muscles_secondary`. - Deterministic Equation `Fractional Volume Matrix Subsystem (_volume_status_label)`: Classifies weekly fractional sets per muscle against `strength_reference.json` landmarks: SUB-MEV (< MEV), MEV->MAV, IN MAV (optimal), MAV->MRV, OVER MRV (> MRV). - Deterministic Equation `Fractional Volume Matrix Subsystem (FINE_MUSCLES)`: 17-muscle taxonomy: chest, lats, upper_back, traps, front_delts, side_delts, rear_delts, biceps, triceps, forearms, abs, glutes, quads, hamstrings, adductors, abductors, calves. - Foundational DOI `10.51224/SRXIV.460`: Pelland, J. C., Remmert, J. F., Robinson, Z. P., Hinson, S. R., & Zourdos, M. C. (2024/2025). The Resistance Training Dose-Response: Meta-Regressions Exploring the Effects of Weekly Volume and Frequency on Muscle Hypertrophy and Strength. Sports Medicine / SportRxiv. — Establishes the fractional set accounting standard: 1.0 credit for direct/primary movers and 0.5 credit for indirect/synergist movers. - Foundational DOI `10.1080/02640414.2016.1210197`: Schoenfeld, B. J., Ogborn, D., & Krieger, J. W. (2017). Dose-response relationship between weekly resistance training volume and increases in muscle mass: A systematic review and meta-analysis. Journal of Sports Sciences, 35(11), 1073-1082. — Graded dose-response curve (<5, 5-9, 10+ weekly sets per muscle group; 25 Nippard video citations). - Foundational DOI `10.2478/hukin-2022-0017`: Baz-Valle, E., Balsalobre-Fernandez, C., Alix-Fages, C., & Santos-Concejero, J. (2022). A Systematic Review of The Effects of Different Resistance Training Volumes on Muscle Hypertrophy. Journal of Human Kinetics, 81, 199-210. — Validates moderate-to-high weekly set ranges (12-20 sets = MAV) for trained lifters. | Muscle Group (`FINE_MUSCLES`) | MV (Maintenance) | MEV (Minimum Effective) | MAV (Maximum Adaptive) | MRV (Maximum Recoverable) | 1.0x Direct Mover Example | 0.5x Fractional Synergist Example | | --- | --- | --- | --- | --- | --- | --- | | Chest | 4 sets | 6 sets | 10–16 sets | 20 sets | Barbell Bench Press (1.0) | Weighted Dip (1.0) / Overhead Press (0.0) | | Lats | 4 sets | 6 sets | 10–16 sets | 20 sets | Weighted Pull-Up / Lat Pulldown (1.0) | Barbell Deadlift (0.5) | | Upper Back | 4 sets | 6 sets | 10–16 sets | 20 sets | Barbell Row / Chest-Supported Row (1.0) | Romanian Deadlift / Back Squat (0.5) | | Traps | 4 sets | 6 sets | 10–16 sets | 20 sets | Barbell Shrug / Power Clean (1.0) | Deadlift / Lateral Raise (0.5) | | Front Delts | 4 sets | 6 sets | 10–16 sets | 20 sets | Overhead Press (1.0) | Barbell / Incline Bench Press (0.5) | | Side Delts | 4 sets | 6 sets | 10–16 sets | 20 sets | Cable / Dumbbell Lateral Raise (1.0) | Overhead Press / Upright Row (0.5) | ### Pillar 04: Unified Hybrid Load & EWMA ACWR (0.82^d Acute / 0.96^d Chronic Decay + Foster Monotony) - Canonical URL: https://struggl.singandclap.com/science/hybrid-acwr-ewma-strength-running-load-calculator - Target Queries: acwr strength training and running, ewma vs rolling average acwr calculator, training monotony and strain calculator foster - Deterministic Equation `Hybrid EWMA Workload Subsystem (_recency_weighted_mean)`: Exponentially weighted daily load: ACUTE_DECAY = 0.82 (7d window, yesterday = 82% of today), CHRONIC_DECAY = 0.96 (28d window). Solves the 7-day rolling average boxcar lag. - Deterministic Equation `Hybrid EWMA Workload Subsystem (row_load)`: Unified Arbitrary Load Units (AU): Cardio load = duration_min * RPE; Strength set load = sets * reps * ((RPE - 4) / 6) * 2.0. - Deterministic Equation `Hybrid EWMA Workload Subsystem (compute_load_summary)`: Computes ACWR = acute_7d_ewma / chronic_28d_ewma (gates: <0.8 undertraining, 0.8-1.3 sweet spot, >1.5 danger zone) + Foster Monotony = mean(7d) / stdev(7d) (gate >2.0). - Foundational DOI `10.1136/bjsports-2016-096589`: Williams, S., West, S., Cross, M. J., & Stokes, K. A. (2017). Better way to determine the acute:chronic workload ratio? British Journal of Sports Medicine, 51(3), 209-210. — Proves Exponentially Weighted Moving Averages (EWMA) are significantly more sensitive to injury risk than rolling averages. - Foundational DOI `10.1136/bjsports-2015-095788`: Gabbett, T. J. (2016). The training-injury prevention paradox: should athletes be training smarter and harder? British Journal of Sports Medicine, 50(5), 273-280. — Defines the 0.8-1.3 ACWR sweet spot and the >1.5 injury spike danger zone. - Foundational DOI `10.1097/00005768-199807000-00023`: Foster, C. (1998). Monitoring training in athletes with reference to overtraining syndrome. Medicine & Science in Sports & Exercise, 30(7), 1164-1168. — Introduces Session-RPE (duration * RPE) and Training Monotony (mean / SD > 2.0). | Days Ago (`d`) | Acute Weight (`0.82^d`) | Chronic Weight (`0.96^d`) | 7-Day Rolling Boxcar Weight | Physiological Interpretation (EWMA Model) | | --- | --- | --- | --- | --- | | Day -0 | 100.0% | 100.0% | 100.0% | Today's session (100% impact on both Acute and Chronic) | | Day -1 | 82.0% | 96.0% | 100.0% | Yesterday's session (82.0% acute retention vs 100% boxcar) | | Day -2 | 67.2% | 92.2% | 100.0% | 48h post-session (67.2% acute retention; peak DOMS window) | | Day -3 | 55.1% | 88.5% | 100.0% | 72h post-session (55.1% acute retention) | | Day -6 | 30.4% | 78.3% | 100.0% | 6 days ago (30.4% acute retention vs 100% in standard rolling average) | | Day -7 | 0.0% (Outside 7d) | 75.1% | 0.0% (Cliff Drop) | 7 days ago (Boxcar drops precipitously from 100% -> 0%; EWMA decays smoothly) | ### Pillar 05: Concurrent Training & Interference Tax Engine (6h/3h AMPK-mTOR Clock, Glycogen & 48h Hinge Window) - Canonical URL: https://struggl.singandclap.com/science/concurrent-training-interference-tax-calculator - Target Queries: concurrent training 6 hour rule running and lifting, how many hours between running and lifting, running and leg day same week schedule calculator - Deterministic Equation `Concurrent Interference Subsystem (check)`: 5 deterministic rules: (1) Same-day gap < 3.0h = high severity, < 6.0h = moderate; (2) Glycogen-depleting run (>= 15km or >= 90min) within 36h before heavy legs; (3) Quality run within 48h after heavy hinge/squat; (4) Back-to-back quality runs <= 24h; (5) Hard run share > 20% (Seiler 80/20 rule). - Deterministic Equation `Concurrent Interference Subsystem (compute_hybrid_tax)`: Public API endpoint `/v1/public/tax` scoring a weekly hybrid schedule from 0-100. - Foundational DOI `10.1519/JSC.0b013e31823a3e2d`: Wilson, J. M., Marin, P. J., Rhea, M. R., Wilson, S. M. C., Loenneke, J. P., & Anderson, J. C. (2012). Concurrent training: a meta-analysis examining interference of aerobic and resistance exercises. Journal of Strength and Conditioning Research, 26(8), 2293-2307. — Quantifies running vs cycling hypertrophy/power interference (running ES = 0.68 vs cycling ES = 0.99; power ES = 0.55 vs 0.91). - Foundational DOI `10.1519/JSC.0000000000000798`: Robineau, J., Babault, N., Piscione, J., Lacome, M., & Bigard, A. X. (2016). Specific Training Effects of Concurrent Aerobic and Strength Exercises Depend on Recovery Duration. Journal of Strength and Conditioning Research, 30(3), 672-683. — Proves 0h vs 6h vs 24h recovery intervals govern strength and hypertrophy attenuation. - Foundational DOI `10.1007/s40279-021-01587-7`: Schumann, M., Feuerbacher, J. F., Sünkeler, M., Freitag, N., Rønnestad, B. R., Doma, K., & Lundberg, T. R. (2022). Compatibility of Concurrent Aerobic and Strength Training for Skeletal Muscle Size and Function: An Updated Systematic Review and Meta-Analysis. Sports Medicine, 52(3), 601-612. — Updated meta-analysis showing whole-body hypertrophy is preserved when sessions are separated >=3-6h, while explosive strength remains sensitive to same-session order. - Foundational DOI `10.1123/ijspp.5.3.276`: Seiler, S. (2010). What is best practice for training intensity and duration distribution in endurance athletes? International Journal of Sports Physiology and Performance, 5(3), 276-291. — Establishes the 80/20 polarized intensity distribution rule (`HARD_SHARE_CEILING = 0.20`). | Rule ID (Interference Subsystem) | Constant / Threshold | Trigger Condition | Severity | Biomolecular / Biomechanical Mechanism | Primary Literature DOI | | --- | --- | --- | --- | --- | --- | | `same_day_proximity` (Critical) | `MIN_SEPARATION_H = 3.0` | Endurance + Lower-Body Strength separated by `< 3.0 hours` | HIGH (-25 pts) | Acute AMPK / SIRT1 activation phosphorylates TSC2 & Raptor, blunting mTORC1 myofibrillar protein synthesis for ~3h post-run. | Robineau et al. 2016 (`10.1519/JSC.0000000000000798`) | | `same_day_proximity` (Sub-Optimal) | `RECOMMENDED_SEPARATION_H = 6.0` | Endurance + Lower-Body Strength separated by `3.0 to 5.9 hours` | MODERATE (-12 pts) | Residual central nervous system (CNS) & peripheral fatigue reduces rate of force development (RFD) and motor-unit recruitment. | Wilson et al. 2012 (`10.1519/JSC.0b013e31823a3e2d`) | | `glycogen_depletion_before_legs` | `DEPLETING_KM = 15.0` / `DEPLETING_MIN = 90.0` | Long run (`>= 15 km` or `>= 90 min`) within `0–36h` BEFORE heavy legs | HIGH (-25 pts) | Local vastus lateralis glycogen depletion (<150 mmol/kg dw) impairs sarcoplasmic reticulum Ca2+ release and reduces squat/leg-press volume by 15–22%. | Schumann et al. 2022 (`10.1007/s40279-021-01587-7`) | | `hinge_eccentric_window` | `HINGE_RECOVERY_H = 48.0` | Quality run (`threshold` / `intervals` / `tempo`) within `0–48h` AFTER heavy Hinge/Squat | MODERATE (-12 pts) | Eccentric sarcomere Z-disk micro-damage in hamstrings/glutes alters stride kinematics and elevates running economy oxygen cost by 3–7%. | Fyfe et al. 2014 (`10.1007/s40279-014-0162-1`) | | `polarization_drift` | `HARD_SHARE_CEILING = 0.20` | Weekly hard endurance sessions (`> VT2 / Zone 4–5`) exceed `20%` of total runs (`>= 4` runs/wk) | LOW (-5 pts) | Autonomic sympathetic overload ('Zone 3 black hole') degrades heart rate variability (HRV) without superior VO2max gain. | Seiler 2010 (`10.1123/ijspp.5.3.276`) | ### Pillar 06: Hyrox Compromised Running & Station Variance Engine (200k-Finisher Speed-Tier Decay & Lap 1-8 Multipliers) - Canonical URL: https://struggl.singandclap.com/science/hyrox-compromised-running-pace-lap-splits-calculator - Target Queries: hyrox compromised running pace calculator, hyrox run pace vs 5k pace, hyrox lap splits calculator roxzone - Deterministic Equation `Hyrox Pace Decay Subsystem (compute_empirical_hyrox_decay_factor)`: Piecewise linear interpolation of compromised running slowdown based on standalone 5K time: (<=17:00 -> 1.172x, 20:00 -> 1.180x, 22:30 -> 1.192x, 25:00 -> 1.205x, 30:00 -> 1.225x, >=35:00 -> 1.240x). - Deterministic Equation `Hyrox Pace Decay Subsystem (hyrox_run_target_empirical)`: Applies `LAP_FATIGUE_MULTIPLIERS = (0.94, 0.97, 1.00, 1.01, 1.03, 1.02, 1.01, 1.02)` (Lap 1 start rush 0.94x; Lap 5 post-Burpee Broad Jump peak 1.03x) + `HYROX_VARIANCE_GAPS_MIN` (Sled Pull 4.1m, Burpees 3.8m, Wall Balls 3.2m, Sled Push 2.9m, Lunges 2.8m). - Deterministic Equation `Hyrox Pace Decay Subsystem (riegel)`: T2 = T1 * (D2 / D1) ^ 1.06 (Riegel 1981 fatigue exponent). - Foundational DOI `10.3389/fphys.2025.1519240`: Brisebois, M., et al. (2025). Physiological Demands and Performance Determinants of HYROX®: A High-Intensity Functional Fitness Race. Frontiers in Physiology / Sports Medicine. — Characterizes lactate accumulation, HR drift (>85% HRmax), and compromised running cost across the 8x1km + 8 station format. - Foundational DOI `PMID:7235349`: Riegel, P. S. (1981). Athletic Records and Human Endurance. American Scientist, 69(3), 285-290. — Power-law endurance fatigue scaling T2 = T1 * (D2/D1)^1.06. | Standalone 5K PR | Fresh 5K Pace (/km) | Empirical Decay Factor (200k-Finisher Model) | Mean Compromised Hyrox Pace (/km) | Lap 1 Target (`0.94x` Adrenaline Gate) | Lap 5 Target (`1.03x` Post-Burpee Peak) | Total 8x1km Run Split | | --- | --- | --- | --- | --- | --- | --- | | 17:00 | 3:24/km | 1.172x (+17.2%) | 3:59/km | 3:45/km | 4:06/km | 31:53 | | 18:30 | 3:42/km | 1.181x (+18.1%) | 4:22/km | 4:06/km | 4:30/km | 34:57 | | 20:00 | 4:00/km | 1.190x (+19.0%) | 4:46/km | 4:28/km | 4:54/km | 38:05 | | 22:30 | 4:30/km | 1.205x (+20.5%) | 5:25/km | 5:06/km | 5:35/km | 43:23 | | 25:00 | 5:00/km | 1.220x (+22.0%) | 6:06/km | 5:44/km | 6:17/km | 48:48 | | 27:30 | 5:30/km | 1.225x (+22.5%) | 6:44/km | 6:20/km | 6:56/km | 53:54 | ### Pillar 07: Dual Tanaka + Karvonen Heart Rate Reserve (HRR) Zone 2 Calculator vs 220-Age Error - Canonical URL: https://struggl.singandclap.com/science/tanaka-karvonen-zone-2-heart-rate-calculator - Target Queries: karvonen vs 220 minus age zone 2, tanaka formula + karvonen heart rate calculator, zone 2 heart rate calculator resting heart rate - Deterministic Equation `Autonomic HRR Zone Subsystem (hr_zones)`: max_hr = max_hr or round(208 - 0.7 * age) [Tanaka 2001]; If rest_hr is known: Karvonen HRR = round(rest_hr + pct * (max_hr - rest_hr)); Zone 2 = 60% to 70% HRR. - Foundational DOI `10.1016/S0735-1097(00)01054-8`: Tanaka, H., Monahan, K. D., & Seals, D. R. (2001). Age-predicted maximal heart rate revisited. Journal of the American College of Cardiology, 37(1), 153-156. — Meta-analysis of 18,712 subjects establishing HRmax = 208 - 0.7 * Age and proving 220 - Age systematically underestimates HRmax in adults >40. - Foundational DOI `PMID:13470504`: Karvonen, M. J., Kentala, E., & Mustala, O. (1957). The effects of training on heart rate; a longitudinal study. Annales Medicinae Experimentalis et Biologiae Fenniae, 35(3), 307-315. — Establishes Heart Rate Reserve (HRR = HRmax - HRrest) scaling that correlates linearly with %VO2 reserve. | Athlete Profile (Age & Resting HR) | Tanaka HRmax (`208 - 0.7×Age`) | Old HRmax (`220 - Age`) | Struggl Zone 2 (60–70% Karvonen HRR) | Naive Zone 2 (60–70% of `220 - Age`) | Zone 2 Floor Error (BPM Shift) | | --- | --- | --- | --- | --- | --- | | 25 yo Hybrid Athlete (RHR 48 bpm) | 190 bpm | 195 bpm | 133–147 bpm | 117–136 bpm | +16 bpm higher (prevents under-training) | | 30 yo Endurance Fit (RHR 48 bpm) | 187 bpm | 190 bpm | 131–145 bpm | 114–133 bpm | +17 bpm higher (prevents under-training) | | 35 yo Trained Lifter/Runner (RHR 52 bpm) | 184 bpm | 185 bpm | 131–144 bpm | 111–130 bpm | +20 bpm higher (prevents under-training) | | 40 yo Masters Hybrid (RHR 50 bpm) | 180 bpm | 180 bpm | 128–141 bpm | 108–126 bpm | +20 bpm higher (prevents under-training) | | 45 yo Masters Runner (RHR 54 bpm) | 176 bpm | 175 bpm | 127–139 bpm | 105–122 bpm | +22 bpm higher (prevents under-training) | | 50 yo Veteran Athlete (RHR 52 bpm) | 173 bpm | 170 bpm | 125–137 bpm | 102–119 bpm | +23 bpm higher (prevents under-training) | ### Pillar 08: 4-Rule Plan Gate & Missed-Workout Rescheduler (Adherence Ledger, Capacity Gate, ACWR Gate, Pain Gate) - Canonical URL: https://struggl.singandclap.com/science/missed-workout-rescheduler-plan-gate-calculator - Target Queries: missed a workout how to adjust the rest of the week, should you combine two workouts if you miss a day, weekly workout volume adherence tracker mev - Deterministic Equation `4-Rule Plan Gate Subsystem (evaluate_plan)`: 4-Rule Deterministic Plan Gate: (1) capacity_findings (blocks loads > e1RM * 1.05 or > max_reps + 2), (2) load_findings (blocks RPE >= 8 when ACWR > 1.5), (3) pain_findings (blocks exercises hitting body_area with pain >= 7/10), (4) interference_findings (blocks concurrent training violations). - Deterministic Equation `4-Rule Plan Gate Subsystem (build_week_adherence)`: Reconciles planned_sessions vs workout_sets across the ISO week into status = 'done' | 'skipped' | 'pending' so missed volume can be salvaged to hit MEV without spiking ACWR > 1.5. - Foundational DOI `10.1007/s40279-019-01236-0`: Androulakis-Korakakis, P., Fisher, J. P., & Steele, J. (2020). The Minimum Effective Training Dose Required to Increase 1RM Strength in Resistance-Trained Men: A Systematic Review and Meta-Analysis. Sports Medicine, 50(4), 751-765. — Proves 2-3 hard sets per muscle group per week suffice to maintain or slowly build strength/mass during disrupted weeks (MEV salvage). - Foundational DOI `10.1007/s40279-021-01490-1`: Iversen, V. M., Norum, M., Schoenfeld, B. J., & Fimland, M. S. (2021). No Time to Lift? Designing Time-Efficient Training Programs for Strength and Hypertrophy: A Narrative Review. Sports Medicine, 51(10), 2079-2095. — Time-efficient superset/compound consolidation protocols when compressing missed training days. | Gate Rule (Plan Gate Subsystem) | Deterministic Threshold | Trigger Scenario When Combining a Missed Session | Gate Action | Safe Salvage Protocol (Progression Subsystem) | | --- | --- | --- | --- | --- | | `capacity_findings` | `CAPACITY_MARGIN_RATED = 0.05` (+5% over 90d e1RM) or `max_reps + 2` | Athlete tries to 'make up' missed heavy top sets by adding +10% load or +3 reps above their Wathan curve. | ERROR (Blocks Prescription) | Keep load within `<= 1.05 × e1RM`; salvage volume via back-off sets at RPE 7–8. | | `load_findings` | `ACWR_HIGH = 1.5` & `HARD_RPE = 8.0` | Combining two full workouts on Friday/Saturday spikes 7-day EWMA Acute Load > 1.5× Chronic Load. | WARN / GATE (Blocks RPE >= 8) | Target **Minimum Effective Volume (MEV = 4–6 sets/muscle/wk)**; drop accessory sets from 4 to 2 sets at RPE 7.5. | | `pain_findings` | `PAIN_SEVERITY_GATE = 7` (out of 10) | Planned exercise targets a `body_area` with active logged pain severity `>= 7/10`. | ERROR (Hard Stop on Joint/Muscle) | Substitute biomechanical pattern (e.g., High-Bar Squat -> Belt Squat or Leg Press) outside painful ROM. | | `interference_findings` | `MIN_SEPARATION_H = 3.0` & `HINGE_RECOVERY_H = 48.0` | Moving missed Thursday Leg Day onto Friday morning (`< 3h` before Friday Tempo Run or `< 48h` before Saturday Long Run). | HIGH INTERFERENCE | Keep main compound lift (`2–3 sets` to hit MEV), drop eccentric-heavy RDLs within 48h of quality run. | --- ## AI Coding Agents, Streamable HTTP MCP & Entitlement Architecture ### 1. Value Proposition for Developer-Athletes STRUGGL (`https://struggl.singandclap.com`) pairs its conversational and mobile gym-floor app with a stateless Streamable HTTP Model Context Protocol server (`POST https://struggl.singandclap.com/mcp`, protocol `2025-03-26`). Coding agents (Claude Code, Google Antigravity, OpenAI Codex, Cursor) can query deterministic physiological state and log training without leaving the terminal or IDE: - **Zero-Context Telemetry**: Reads completed/planned workouts (`get_sessions`), biometric profile & race goals (`get_profile`), and current ISO-week 17-muscle fractional volume vs MEV/MAV/MRV (`get_muscle_volume`). - **Shared Ledger Writes**: `log_workout` and `plan_workout` execute the exact deterministic ledger pipeline used by the STRUGGL Coach (60-second duplicate guard, implicit RPE deduction, PR updates, and weekly streak accounting). - **Zero-Auth Teaser Calculators**: `hyrox_pace` and `strength_benchmark` require no token and return deterministic splits, e1RM, strength tiers, and a `/connect` onboarding URL. ### 2. Onboarding Flow (`https://struggl.singandclap.com/connect`) When a user asks an AI agent about STRUGGL or attempts to run a personal tool without a token: 1. Explain how STRUGGL unifies strength (piecewise Wathan 1RM + 17-muscle MEV/MAV/MRV) and endurance/Hyrox (200k-finisher compromised pacing + AMPK-mTOR interference guardrails). 2. Direct them to `https://struggl.singandclap.com/connect` to sign in (Google, Apple, or email) and mint a personal `stg_ath_...` token (`read + write` or `read` scope; stored only as SHA-256). 3. Configure their agent in one command: - **Claude Code**: `claude mcp add --transport http struggl https://struggl.singandclap.com/mcp --header "Authorization: Bearer stg_ath_..."` - **Antigravity**: add `"struggl": {"serverUrl": "https://struggl.singandclap.com/mcp", "headers": {"Authorization": "Bearer stg_ath_..."}}` under `mcpServers` in `~/.gemini/antigravity/mcp_config.json`. - **Codex**: add `[mcp_servers.struggl]` with `url = "https://struggl.singandclap.com/mcp"` and `http_headers = { "Authorization" = "Bearer stg_ath_..." }` in `~/.codex/config.toml`. - **Cursor**: add `"struggl": {"url": "https://struggl.singandclap.com/mcp", "headers": {"Authorization": "Bearer stg_ath_..."}}` in `.cursor/mcp.json`. ### 3. Plan Tiers & Per-Athlete Fair-Use Guardrails | Tier | App Access | Personal MCP & `/v1/me/*` Sync | Per-Athlete Fair-Use Ceilings (`athlete_id`) | | :--- | :--- | :--- | :--- | | **Anonymous (`€0`)** | Public `/science`, `/tools/*`, `/hyrox`, `/athx` | Public `hyrox_pace` & `strength_benchmark` only | Per-IP compute caps + monotonic sweep protection | | **30-Day Coach Trial (`€0`, no card)** | Full Coach app + Strava/Hevy/Health sync | Full `read` + `write` Personal MCP sync | MCP: `30 reads/hr · 80/day`, `20 writes/hr · 40/day` · App Chat: `15/hr · 35/day · 250/mo` | | **Free Post-Trial (`€0`)** | Manual workout log, PRs, streaks + 5 light chat turns/wk | Paused (`HTTP 402` -> `/connect?upgrade=mcp`) | App Chat: `5/wk` · Exercise lookup: `30/hr · 60/day` | | **Paid Coach (`€9.99/mo` or `€109.89/yr`)** | Full Coach app + advanced models (incl. 10 deep-coaching/mo) | Full `read` + `write` Personal MCP sync | MCP: `60 reads/hr · 200/day`, `30 writes/hr · 80/day` · App Chat: `25/hr · 80/day · 800/mo` |