Skip to content

Health Settings

Goals, biometrics, and training preferences (Tier 3 — operator-only).

Tier-3 autonomy lock

Diet target weight, kcal deficit, BMR formula, and macro split never autonomous. The platform's self-learning loop will write a sensitivity report (Tier 3) if a setting looks off — but the decision to change a value is yours.

Meal composition, workout description wording, and exemplar selection are Tier 1 (autonomous within tolerances). See CLAUDE.md gotcha #220 for the full three-tier model.

Configurable sections

Defaults live in services/health/models/settings.py::DEFAULTS. To override, INSERT a row into health_settings with your workspace_id and the JSONB columns you want to customize. The diet engine reads these at every plan generation.

  • Biometricsheight_cm · age_years · sex · activity_factor
  • Dietbmr_formula · kcal_deficit · protein_g_per_kg · fat_pct_of_kcal · dietary_restrictions
  • Trainingweekly_session_target · z2_hr_floor · z2_hr_ceiling · rest/low recovery thresholds
  • Weight goaltarget_weight_kg · weekly_kg_delta · anomaly thresholds
  • Gamificationstreak_tolerance_pct · weekly_compliance_min_for_badge
  • LLM routingper-task model class (fast / primary / cloud)

Phase-2 wiring: this page becomes a form (PATCH /health/settings with diff). For v1 — edit the JSONB row directly via psql or the Supabase Studio.