Page actions
instrument mechanism / verified-clean
Heart Rate Zone Calculator mechanism
The inspectable method record for Heart Rate Zone Calculator, kept separate from implementation and qualification.
Model scope
The arithmetic formulas are standard conditional on the stated assumptions, but the specification is not implementation-complete. The exact unresolved ambiguities are the zone endpoint convention, bpm rounding policy, accepted age and heart-rate ranges, and whether intensity inputs are decimal fractions or whole percentages. Retain the honest label that 220 − age is a population-average estimate and not medical advice.
- HRmax = 220 − age is a population estimate, not an individually measured maximum and is not the only accepted HRmax equation; the implementation must preserve the educational-estimate label.
- Karvonen requires a valid resting HR when that method is selected, but resting HR is described as optional without stating this conditional requirement.
- Zone boundary conventions are unspecified: inclusive endpoints can make adjacent zones overlap, while exclusive endpoints change displayed ranges.
- Rounding policy for fractional bpm endpoints is unspecified; rounding, flooring, or retaining decimals produces different tables.
- The phrase ACSM-style, widely published does not identify one exact zone-boundary and rounding convention.
Units and conventions
- age is an integer or real number measured in completed years, not months or another unit.
- heart rates and HRmax are measured in beats per minute (bpm).
- %intensity is represented as a decimal fraction from 0.50 through 1.00, not as 50 through 100.
- For the test vectors, zones use lower-inclusive and upper-exclusive intervals, except Zone 5, which includes its upper endpoint; fractional bpm values are retained without rounding.
- For Karvonen, HRmax and HRrest are both in bpm, and HRmax must exceed HRrest.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"age_years": 30,
"method": "percent_HRmax",
"resting_HR_bpm": null
},
"expected_outputs": {
"HRmax_bpm": 190,
"zones_bpm": [
{
"zone": "50-60%",
"range": "95 to <114"
},
{
"zone": "60-70%",
"range": "114 to <133"
},
{
"zone": "70-80%",
"range": "133 to <152"
},
{
"zone": "80-90%",
"range": "152 to <171"
},
{
"zone": "90-100%",
"range": "171 to 190 inclusive"
}
]
},
"working": "HRmax = 220 − 30 = 190 bpm. Zone boundaries: 190×0.50 = 95; 190×0.60 = 114; 190×0.70 = 133; 190×0.80 = 152; 190×0.90 = 171; 190×1.00 = 190. Therefore the five intervals are [95,114), [114,133), [133,152), [152,171), and [171,190]."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
An extreme but syntactically numeric age such as 1e308 can produce a finite negative HRmax and entirely negative zone values instead of being rejected. Age zero is also accepted arithmetically despite being an invalid real-world demographic input.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json