Feature request: Running Tolerance (current value + history)
Garmin Connect exposes a Running Tolerance report (Reports → Running → Tolerance) on newer devices such as the Forerunner 970. It returns three values:
Tolerance (km/week) — the estimated running load the body currently tolerates
Acute load effect (km) — recent running load expressed as an equivalent distance, weighted by intensity
Actual distance over the last 7 days (km)
None of these appear to be available through the current toolset. get_training_status returns acute/chronic load in Garmin's abstract load units, which is a different metric — Running Tolerance is running-specific and expressed in kilometres.
Two tools would be ideal, following the pattern already used elsewhere in this project:
get_running_tolerance(date) — the three values for a given day, mirroring get_hrv_data(date)
get_running_tolerance_trend(start_date, end_date) — the daily or weekly series over a range, mirroring get_hrv_trend, get_respiration_trend and get_vo2max_trend
The trend version is the more important of the two. Tolerance moves slowly and its value lies in the trajectory: whether it is rising in response to consistent training, flat, or falling. A single day's figure cannot answer that.
The ratio between acute load effect and actual distance is also useful on its own — it quantifies how much intensity inflates the tissue cost of a given distance. For athletes returning from a layoff, tolerance is often the binding constraint rather than cardiovascular capacity.
Feature request: Running Tolerance (current value + history)
Garmin Connect exposes a Running Tolerance report (Reports → Running → Tolerance) on newer devices such as the Forerunner 970. It returns three values:
Tolerance (km/week) — the estimated running load the body currently tolerates
Acute load effect (km) — recent running load expressed as an equivalent distance, weighted by intensity
Actual distance over the last 7 days (km)
None of these appear to be available through the current toolset. get_training_status returns acute/chronic load in Garmin's abstract load units, which is a different metric — Running Tolerance is running-specific and expressed in kilometres.
Two tools would be ideal, following the pattern already used elsewhere in this project:
get_running_tolerance(date) — the three values for a given day, mirroring get_hrv_data(date)
get_running_tolerance_trend(start_date, end_date) — the daily or weekly series over a range, mirroring get_hrv_trend, get_respiration_trend and get_vo2max_trend
The trend version is the more important of the two. Tolerance moves slowly and its value lies in the trajectory: whether it is rising in response to consistent training, flat, or falling. A single day's figure cannot answer that.
The ratio between acute load effect and actual distance is also useful on its own — it quantifies how much intensity inflates the tissue cost of a given distance. For athletes returning from a layoff, tolerance is often the binding constraint rather than cardiovascular capacity.