a11y: icon-only buttons have inadequate accessible names (WCAG 4.1.2)
feat(tasks): add background task scheduler for LLM expiry fallback
feat: wire cf-text for recipe suggestions, substitutions, and expiry advice
feat: wire cf-text for interview prep, cover letters, and AI suggestions
SFT corrections: add failure_category field for richer candidate classification
feat: Corrections tab — SFT candidate import, review, and JSONL export
feat: Phase 2 — saved recipes, browser, accessibility, level UX
feat: Phase 2 — saved recipes, browser, accessibility, level UX
feature: recipe scaling (adjust servings)
feature: grocery list as first-class object
fix: leftover_mode tier discrepancy — README says Premium, tiers.py says Free
feature: cook log — 'I made this' with timestamps
feature: barcode miss fallback chain (secondary lookup)
feature: JSON export (data portability)