kiwi/frontend
pyr0ball b2c546e86a feat: wire secondary-use window hints into recipe engine (#83)
Secondary-state items (stale bread, overripe bananas, day-old rice, etc.)
are now surfaced to the recipe engine so relevant recipes get matched even
when the ingredient is phrased differently in the corpus (e.g. "day-old
rice" vs. "rice").

Backend:
- Add rice and tortillas entries to SECONDARY_WINDOW in expiration_predictor
- Add secondary_pantry_items: dict[str, str] field to RecipeRequest schema
  (maps product_name → secondary_state label, e.g. {"Bread": "stale"})
- Add _SECONDARY_STATE_SYNONYMS lookup in recipe_engine — keyed by
  (category, state_label), returns corpus-matching ingredient phrases
- Update _expand_pantry_set() to accept secondary_pantry_items and inject
  synonym terms into the expanded pantry set used for FTS matching

Frontend:
- Add secondary_pantry_items to RecipeRequest interface in api.ts
- Add secondaryPantryItems param to _buildRequest / suggest / loadMore
  in the recipes store
- Add secondaryPantryItems computed to RecipesView — reads secondary_state
  from inventory items (expired but still in secondary window) and builds
  the product_name → state_label map
- Pass secondaryPantryItems into handleSuggest and handleLoadMore

Closes #83
2026-04-18 19:06:53 -07:00
..
.vscode chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
public chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
src feat: wire secondary-use window hints into recipe engine (#83) 2026-04-18 19:06:53 -07:00
.env chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
.gitignore chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
index.html feat: add Plausible analytics to Vue SPA and docs 2026-04-16 21:15:56 -07:00
package-lock.json feat(frontend): recipe UI — filters, dismissal, load more, prep notes, nutrition chips 2026-04-02 22:12:45 -07:00
package.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
THEMING_SYSTEM.md chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
tsconfig.app.json feat(kiwi-fe): wire OrchUsagePill into RecipesView and Settings opt-in toggle 2026-04-14 15:51:34 -07:00
tsconfig.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
tsconfig.node.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
vite.config.ts feat(kiwi-fe): wire OrchUsagePill into RecipesView and Settings opt-in toggle 2026-04-14 15:51:34 -07:00