Clinical
Precise and impersonal — reads like a well-written medical note. States the finding and the mechanism, no exhortation.
Phrasing prompt (verbatim)
the method · the coach voice
A coach should be able to sound clinical, blunt, or warm — without any of those changing what's true. The dial only rewrites the phrasing; the numbers, verdicts, and citations underneath are computed in Python before the model is called, and are byte-identical across all three registers. Here are the three prompts, published verbatim, so you can check.
Each register is nothing more than a phrasing instruction appended after the deterministic payload. It is never handed the raw data to recompute, so it structurally cannot change a verdict — the same guarantee the whole platform gives (bedrock_client.py), applied one level down to the coach voice.
Precise and impersonal — reads like a well-written medical note. States the finding and the mechanism, no exhortation.
Phrasing prompt (verbatim)
Direct and unsoftened — the shortest true sentence. No cushioning, no hedging beyond what the data itself hedges.
Phrasing prompt (verbatim)
Encouraging and human — acknowledges effort, then delivers the same finding. Supportive framing, identical substance.
Phrasing prompt (verbatim)
Whichever register is selected, the model receives this exact deterministic payload — the numbers, verdicts, and citations — bracketed by sentinels it is told to treat as read-only. Only the phrasing tail above differs. A unit test (tests/test_coach_register_1390.py) diffs the payload region of the composed prompt across all three registers and fails if a single byte moves.
{"citations":[{"ref":"recovery 2026-07-24","source":"whoop"}],"metrics":[{"confidence":"moderate","name":"hrv_7d_avg","unit":"ms","value":48},{"name":"sleep_debt","unit":"h","value":3.4}],"verdicts":[{"claim":"hrv_vs_baseline","n":47,"p":0.03,"verdict":"below baseline"}]}
This page is generated by scripts/v4_build_tone.py from lambdas/coach_register.py — the same module the coach surfaces call — so the prompts shown here are the prompts actually used. generated, not authored