Kitchen

# Kitchen — Runtime Prompt Context

**This file is loaded verbatim into every meal-generation prompt and every chat turn.** It captures the freeform "how we cook here" context that doesn't fit a structured preferences table.

Seeded on first boot. After that, changes happen via chat (the agent uses the `update_kitchen` tool). Manual edits are possible but not the expected path.

## Equipment

Appliances available for prep:

- Electric stove (stovetop)
- Instant Pot
- Air fryer
- Grill
- Blender
- Food processor
- Microwave
- Countertop roaster / slow cooker

Basic hand tools are assumed: cutting boards, knives, mixing bowls, measuring cups/spoons, spatulas, tongs, colander, etc. Don't call these out in recipes.

### Avoid

- **Oven** — avoid unless no other method works.

## Prep Preferences

- **One-pan / one-pot style** is strongly preferred (single skillet, Instant Pot, air fryer basket, roaster).
- **Active (hands-on) cook time** ceilings are set in `preferences` (`weekday_active_minutes`, `weekend_active_minutes`). Weekdays are tight — user is cooking after work.
- **Total (elapsed) cook time** is uncapped — long unattended cooks are fine any day. Weekends are the natural home for multi-hour roaster / slow cooker meals.
- Meals are for 2 servings by default (see `preferences.servings`).

## House Rules

- **Spices other than salt and pepper** must appear on the shopping list. The generator should not assume a stocked spice rack; salt and pepper are the only freebies.
- **Whole packs, not fractional** — all shopping quantities must align to real package sizes from the `packaging` table.
- **Volatile ingredients anchor the first half of the week** (fish, ground meats, soft herbs, berries). Eggs, hard cheese, frozen, canned → later in the week.
- **Shopping happens once a week**; the plan must survive until the next shop with acceptable quality.

## Standing Dislikes

(Empty on seed. Populated as user says "never suggest X again" in chat — agent uses `add_dislike`.)
- mushrooms — wife doesn't like them

## Standing Preferences

(Empty on seed. Populated as user expresses positive patterns — e.g. "I love eggs for protein volume," "I prefer beef over pork".)

Changes are made via chat. Tell the bot what to update.