Health
The Health domain gives your AI assistant a block-first fitness coaching surface. It manages training preferences, goals, structured training blocks, workout resolution, and weekly reviews -- so your assistant can use Fluent to program your training and adapt when life gets in the way. Health is a coach, not a tracker. It works alongside Whoop, OURA, Apple Health, and other wearables rather than competing with them.
What Health Knows
- Preferences: Training style, experience level, available equipment, schedule constraints
- Goals: Typed fitness goals with priority and target dates
- Training blocks: Multi-week structured programs with periodization
- Today's workout: Resolved from the active block and current week
- Workout logs: Completed workouts with exercise detail
- Body metrics: Weight, measurements, and other tracked metrics
- Review context: Weekly review state for block adjustments
Block-First Model
Health is organized around training blocks -- structured multi-week programs that define your training. This is not a daily workout tracker; it is a coaching surface.
"Build me a 4-week strength block focused on squat and deadlift"
"What's my workout today?"
"I finished today's workout -- log it"
"Let's review this week and adjust next week"The flow:
- Set preferences and goals
- Build or revise the active training block with
health_upsert_block - Each day, resolve today's workout from the block
- Log completed workouts
- Weekly review and block adjustment
Key Workflows
Programming
Your assistant builds structured training blocks based on your preferences, goals, equipment, and schedule.
"I want to train 4 days a week with a push/pull/legs split"
"Add a deload week at the end of the block"
"Switch to a hypertrophy focus for the next block"Daily Execution
Today's workout is derived from the active block and the current position within it. The assistant resolves what you should do today without you having to remember where you are in the program.
"What am I doing today?"
"I need to swap today's session -- I can't make it to the gym"Lightweight Logging
Mark sessions as done, partial, or skipped. This gives the coach enough to resolve your next session and adjust the block — without requiring you to log every set and rep. Detailed tracking belongs to your wearable or gym app.
"I finished today's session"
"I skipped Wednesday — couldn't make it"
"Record my weight at 180 lbs"Reviews
Weekly reviews assess progress against the block plan and adjust upcoming weeks.
"Let's review this week"
"How is the block going so far?"
"I need to reduce volume -- I'm not recovering"Health Tools
| Tool | Purpose |
|---|---|
health_get_preferences | Read training preferences |
health_update_preferences | Update training preferences |
health_get_context | Full health context |
health_get_today_context | Today's workout and context |
health_get_review_context | Weekly review state |
health_get_active_block | Current training block |
health_get_block | Read a specific block |
health_get_block_projection | Project the current week from the block |
health_list_goals | List fitness goals |
health_upsert_goal | Create or update a goal |
health_upsert_block | Create or update a training block |
health_record_block_review | Record a weekly review |
health_list_workout_logs | Browse workout history |
health_log_workout | Log a completed workout |
health_list_body_metrics | Browse body metric history |
health_log_body_metric | Record a body metric |
Health Resources
| Resource | Purpose |
|---|---|
fluent://health/preferences | Training preferences |
fluent://health/context | Full health context |
fluent://health/today | Today's resolved workout |
fluent://health/active-block | Active training block |
fluent://health/block-projection | Current week projection |
fluent://health/review-context | Review state |
fluent://health/blocks/{block_id} | Specific block detail |
fluent://health/goals | Fitness goals |
Onboarding
Health onboarding is lightweight:
- Enable the health domain
- Set training preferences (experience, equipment, schedule, goals)
- Complete onboarding
Once preferences are saved and onboarding is completed, the domain is ready. Your assistant can then build your first training block.
Cross-Domain
Health may reason about rough nutrition constraints, but meal execution stays in the Meals domain. When both domains are active, Meals can consume Health's derived trainingSupportSummary for training-aware planning. Health remains the sole owner of training structure.