Commit graph

9 commits

Author SHA1 Message Date
e52c406d0a docs(bsl): document cf-text/LLMRouter routing chain in llm_timing and llm_planner 2026-04-12 14:07:32 -07:00
4281b0ce19 feat(services/bsl): add llm_router — cf-text via cf-orch on cloud, LLMRouter (ollama/vllm) local fallback
refs kiwi#68
2026-04-12 14:07:13 -07:00
062b5d16a1 feat(services/bsl): add llm_planner — LLM-assisted full-week meal plan generation (Paid/BYOK) 2026-04-12 13:58:04 -07:00
5f094eb37a feat(services/bsl): add llm_timing — estimate cook times via LLM for missing corpus data (Paid/BYOK) 2026-04-12 13:58:03 -07:00
482666907b fix(meal-planner): validate meal_type path param, enforce store whitelist safety, add week_start date validation, make PrepTask frozen
- upsert_slot: raise 422 immediately if meal_type not in VALID_MEAL_TYPES
- update_prep_task: assert whitelist safety contract after dict comprehension
- CreatePlanRequest: week_start typed as date with must_be_monday validator; str() cast at call site
- PrepTask: frozen=True; build_prep_tasks rewired to use (priority, kwargs) tuples so frozen instances are built with correct sequence_order in one pass (no post-construction mutation)
- Move deferred import json to file-level in meal_plans.py
- Fix test dates: "2026-04-14" was a Tuesday; updated request bodies to "2026-04-13" (Monday)
2026-04-12 13:51:50 -07:00
bfc63f1fc9 feat(services): add planner.py orchestration helpers 2026-04-12 13:44:27 -07:00
b9dd1427de feat(affiliates): register Kiwi grocery retailer programs at startup
refs kiwi#74
2026-04-12 13:15:28 -07:00
25027762cf feat(services): add prep_scheduler — sequences batch cooking tasks by equipment priority 2026-04-12 13:14:54 -07:00
4459b1ab7e feat(services): add shopping_list service with pantry diff
refs kiwi#68
2026-04-12 13:14:08 -07:00