# Location File Design **Date:** 2026-03-25 **Context:** Extension to the cooking framework for a frequent traveler. Provides a structured workflow for documenting local market conditions and generating meal options from whatever ingredients are available in a given location. --- ## Goals - Give a single Obsidian note per location that captures both raw observations and agent-generated analysis - Support both freeform dump and structured field input — whichever suits the moment - Produce five analysis outputs: ingredient role map, profile matches, meal options, regional intelligence, things to look out for - Be permanently updatable across multiple visits via a running visit log - Invoke via Claude Code conversation: "Process my Bangkok location file" --- ## File Structure ``` 23-Cooking/ Locations/ _Location Template.md ← blank template with example entry Bangkok, Thailand.md Lisbon, Portugal.md Oaxaca, Mexico.md ... ``` Each location file is a single Obsidian note named `City, Country.md`. The `_Location Template.md` underscore prefix keeps it sorted to the top of the folder. --- ## Zone Architecture Every location file has four clearly-marked zones: ``` ZONE 1: HEADER Location name, country/region, date first visited, date last updated ZONE 2: OBSERVATIONS ← user fills in Raw notes about what's available at local markets and shops. Accepts freeform dump or structured fields. Includes "First impressions" freetext field. ZONE 3: ANALYSIS ← agent fills in 1. Ingredient Role Map 2. Profile Matches 3. Meal Options 4. Regional Intelligence 5. Things to Look Out For ZONE 4: VISIT LOG ← user appends to Dated entries from each visit. Agent reads this when updating the analysis. ``` --- ## Zone 2: Observations Accepts either format — the agent handles both: **Freeform dump:** ``` I'm in Chiang Mai. Tons of fresh lemongrass, galangal, kaffir lime leaves. Fish sauce is the condiment of choice. Lots of cheap pork cuts. Sticky rice everywhere. Coconut milk in every corner shop. Fresh herbs piled high. ``` **Structured fields:** ``` Proteins seen: pork (cheap), chicken, eggs, tofu Produce seen: bok choy, morning glory, eggplant, long beans Starches: sticky rice, rice noodles, glass noodles Fats available: neutral oil, coconut milk Acids available: lime, fish sauce, tamarind paste Aromatics: lemongrass, galangal, shallot, garlic, chili Condiments: fish sauce, oyster sauce, fermented soybean paste Notables: kaffir lime leaves, pandan, fresh turmeric First impressions: [freetext — prices, what's abundant, what's absent] ``` The template includes a worked example using a fictional location (Tbilisi, Georgia) showing both formats side by side, so the expected detail level is clear before the user fills in their own. --- ## Zone 3: Analysis (Agent Output) Five subsections, all generated from the Observations zone and Visit Log: ### 1. Ingredient Role Map Observations translated directly into framework roles: > **Fat:** Neutral oil, coconut milk (braising only) | **Acid:** Lime, fish sauce | **Aromatic:** Lemongrass + galangal + shallot + garlic + chili | **Starch:** Sticky rice, rice noodles | **Protein:** Pork, chicken, tofu | **Umami:** Fish sauce, oyster sauce, fermented paste ### 2. Profile Matches Which of the 10 framework profiles are executable here, with a confidence indicator (✦ = partial, ✦✦ = workable, ✦✦✦ = full): > Southeast Asian ✦✦✦ · East Asian ✦✦ · South Asian ✦ Profiles that score ✦ or less are noted with what's missing. ### 3. Meal Options 3–5 concrete builds using available ingredients. Each formatted as a mini formula fill matching the [[Weekly Planning Template]] structure: > *Pork stir-fry with morning glory* — One-Pan Sear · Southeast Asian · pork / morning glory / rice noodles / neutral oil / lime+fish sauce / lemongrass+garlic+chili ### 4. Regional Intelligence What's culinarily notable about this location — staple ingredients, local cooking patterns, things that differ from the framework defaults: > Sticky rice is the starch staple here, not jasmine rice. Kaffir lime leaves are used as an aromatic, not just a garnish. Morning glory (pak boong) is the default green — cheap, fast-cooking, takes high heat well. ### 5. Things to Look Out For Ingredients or products worth seeking on the next market visit — local specialties, seasonal items, crossover ingredients: > Fresh turmeric root, pandan leaves (floral sweetness in rice), fresh tamarind pods (better than paste for acid depth), pla ra (fermented fish paste — extreme umami depth) --- ## Zone 4: Visit Log Chronological entries, oldest at top, newest at bottom. Each entry is a dated heading + freeform notes: ```markdown ### 2026-03-10 (first visit) Settled into the Don Mueang area. Markets open early — 6am is peak freshness. Galangal cheaper than ginger here. Sticky rice only at street stalls, not supermarkets. ### 2026-09-15 (return visit) Rainy season — different produce. Lots of young coconut. Found a wet market two streets over, much better selection. Fermented fish paste (pla ra) available there. ``` When the user asks the agent to update the file, it reads the full visit log and revises the Analysis zone — seasonal shifts, newly discovered ingredients, and price notes all feed back into the output. --- ## Agent Workflow ### First visit (generate) 1. Copy `_Location Template.md`, rename to `City, Country.md` 2. Fill in Zone 2 (Observations) — freeform dump or structured fields 3. Open Claude Code: **"Process my [City] location file"** 4. Agent reads Zone 2, fills in Zone 3 (Analysis), updates Zone 1 header dates, commits ### Return visit (update) 1. Open the existing location file 2. Append a dated entry to Zone 4 (Visit Log) 3. Open Claude Code: **"Update my [City] location file"** 4. Agent reads Zone 2 + full Zone 4, revises Zone 3, updates last-updated date in Zone 1, commits ### Agent context When processing, the agent has access to the full framework: - [[Flavor Profile Formulas]] — to match observations to profiles - [[Role Substitution Logic]] — to understand what roles available ingredients fill - [[Flavor Sense]] — to reason about what combinations work and why - [[Frameworks]] — to assign techniques to meal options --- ## Template Structure The `_Location Template.md` file contains: 1. **Blank header** with labeled fields for location name, region, first visited, last updated 2. **Observations zone** with both input formats shown (structured fields as the primary, freeform note above them) 3. **A complete worked example** using "Tbilisi, Georgia" — showing filled-in structured fields, a freeform dump, and a first impressions note — so the expected detail level is unambiguous 4. **Analysis zone** with placeholder headings and one-line descriptions of what each subsection will contain (filled by agent) 5. **Visit Log zone** with one example dated entry --- ## Implementation Scope 1. Create `Locations/` subfolder 2. Create `_Location Template.md` with blank zones + Tbilisi example 3. Create `CLAUDE.md` (or update if exists) with agent processing instructions: how to read a location file, what to produce in each Analysis subsection, how to handle freeform vs structured input, how to update vs generate Out of scope: automatic Obsidian plugin integration, location-based reminders, nutrition tracking per location.