- Add max_total_min to RecipeRequest schema and TypeScript interface - Add _within_time() helper to recipe_engine using parse_time_effort() with graceful degradation (empty directions or no signals -> pass) - Wire max_total_min filter into suggest() loop after max_time_min - Add time_first_layout to allowed settings keys - Add timeFirstLayout ref to settings store (preserves sensoryPreferences) - Add maxTotalMin ref to recipes store, wired into _buildRequest() - Add time bucket selector UI (15/30/45/60/90 min) in RecipesView Find tab, gated by timeFirstLayout != 'normal' - Add time-first layout selector section in SettingsView - Add 5 _within_time unit tests and 2 settings key tests |
||
|---|---|---|
| .. | ||
| community | ||
| export | ||
| image_preprocessing | ||
| meal_plan | ||
| ocr | ||
| quality | ||
| recipe | ||
| __init__.py | ||
| barcode_scanner.py | ||
| expiration_predictor.py | ||
| heimdall_orch.py | ||
| inventory_service.py | ||
| openfoodfacts.py | ||
| receipt_service.py | ||
| receipt_service_inmemory_backup.py | ||