get_readiness_today
The athlete's readiness picture for one morning: today's entry (subjective 1-5, 5 = best on every item; PRS 0-10; confounder flags; any manual objective values) PLUS per-metric aggregates from their own history — baseline7d, baseline28d (personal normal), sd28d, zToday, rolling3d, deltaVsBaseline, n28 (datapoints in the window). Blocks computes NO verdict. House line, the one the check-in shows the athlete: a subjective item, PRS, RHR, HRV or total sleep is off their normal at |zToday| ≥ 0.9 with n28 ≥ 7 (fewer: no normal yet); house rule: a 1-5 item is read from its habitual answer h = round(baseline28d): one morning also needs |today − h| > 1. One morning is a reading; a shift that persists (persist3d, set only then: rolling3d past the same line, 2+ of the last 3 mornings all on that side — of h, on a 1-5 item) is what moves a plan. Sleep stages are no baseline signal. Weigh confounders first. date defaults to the athlete's today.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | athlete-local YYYY-MM-DD; defaults to the athlete's today |