................................................F........... [100%] =================================== FAILURES =================================== ____ test_adaptive_projection_allows_optional_averages_and_rate_to_be_none _____ def test_adaptive_projection_allows_optional_averages_and_rate_to_be_none(): > projected = AdaptiveGroundingInput.from_card(_adaptive_facts()) ^^^^^^^^^^^^^^^^^ tests/gateway/test_korean_humanizer.py:719: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ updates = {} values = {'approval_state': 'pending', 'carb_category_targets': (('high', (('calories', 2700),)),), 'current_mean_kg': None, 'decision': 'observe', ...} def _adaptive_facts(**updates): values = { "evaluation_day": "2026-07-28", "goal_mode": "lean_mass_gain", "goal_range": ("+0.10", "+0.25"), "current_mean_kg": None, "prior_mean_kg": None, "weekly_rate_percent": None, "decision": "observe", "reason_category_ids": ("insufficient_data",), "target_macros": (("calories", 2500), ("protein_g", 160)), "carb_category_targets": (("high", (("calories", 2700),)),), "safety_held": False, "approval_state": "pending", "delivery_state": "not_delivered", "proposal_digest": "b" * 64, "revision": 1, "revision_binding_digest": "c" * 64, "source_cluster_ids": ("adaptive-proposal",), "excluded_risk_ids": ("medical", "unsafe_nutrition"), } values.update(updates) > return AdaptiveCoachingFacts(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TypeError: AdaptiveCoachingFacts.__init__() missing 1 required positional argument: 'current_targets' tests/gateway/test_korean_humanizer.py:628: TypeError =========================== short test summary info ============================ FAILED tests/gateway/test_korean_humanizer.py::test_adaptive_projection_allows_optional_averages_and_rate_to_be_none 1 failed, 59 passed in 1.03s