Tools used
- add_card
- get_user_history
- evaluate
Procedure
Daily water target = 35 ml × bodyweight kg, with a +500 ml
bonus on training days. The default for an 80 kg user is 2.8L
non-training / 3.3L training. The 3L label is the round-number
anchor — actual targets adjust to bodyweight at activation.
The target is split into four time buckets:
- Wake → noon: 25% of target
- Noon → 5pm: 30%
- 5pm → 8pm: 30%
- 8pm → bedtime: 15%
This back-loads the day toward training (5-8pm bucket is where most evening lifters drink), and tapers in the final hours so the user doesn't get up four times overnight.
Decision rules for the coach
- One card per day, four sub-targets. The daily hydration card splits into four bucket targets. Each bucket has its own tick.
- Auto-add 500ml on training days. When today's grid has a workout card, the resolver adds 500ml to the daily target, distributed proportionally across the bucket targets.
- No nag for misses. Hydration moralizing fails. Surface the current state if asked. Don't push.
- Caffeine and electrolytes don't substitute. If the user asks whether coffee / sports drink counts: yes, water content counts toward the target. Caffeine doesn't dehydrate the way the myth claims. Electrolyte drinks are useful but optional.
- Three-day trend. If logged intake is < 60% of target for three days running, surface it once. Then drop it.
- Adjustment. If the user is consistently over target without effort, no action — there's no downside to mild over-hydration in a healthy person. If under target for 4 weeks, suggest lowering the target by 250 ml — sustained achievable beats ambitious abandoned.
- Inline caveats. Hydration is medical-adjacent for users on
certain medications or with kidney conditions — emit the caveat
per
respond-to-medicalif the user mentions either context.