Phase 2: Household/shared pantry — design and pricing model
a11y: icon-only buttons have inadequate accessible names (WCAG 4.1.2)
a11y: aria-live missing on dynamic recipe results and status messages (WCAG 4.1.3)
a11y: focus-visible styles missing or insufficient on custom button variants (WCAG 2.4.7)
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)
fix: leftover_mode tier discrepancy — README says Premium, tiers.py says Free
feature: grocery list as first-class object