Files
ai-podcast/docs/plans/2026-05-31-alpine-relocation-design.md
T
lukeandClaude Opus 5 9071ed36d3 Track design and implementation plans
Seven plan documents covering the website JS infrastructure, show theme, caller
quality overhaul, cost dashboard, the Alpine relocation, and caller variety plus
Devon's search — the record of why the current architecture looks the way it
does. Plus the press release draft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 04:23:53 -05:00

3.8 KiB

Relocate the Show to Alpine, TX / Big Bend

Date: 2026-05-31 Status: Approved, implementing

Goal

Luke moved to Alpine, Texas. Move the show's world from southern New Mexico (Deming/Lordsburg) to the Big Bend region of far West Texas. Callers should come from and be familiar with Alpine, Marfa, Marathon, Terlingua, Fort Stockton, and the Big Bend area. Devon moves with the show. Silas gets an arc beat that relocates The Wellspring to Terlingua.

Changes

1. Caller generation — backend/services/caller_gen.py

  • BATCH_SYSTEM_PROMPT opener: "…radio show in New Mexico" → "…in Alpine, Texas, in the Big Bend country of far West Texas."
  • Add a geographic knowledge block (real, accurate facts) so callers ground themselves in real places instead of generic desert. Towns:
    • Alpine — hub (~6k), Brewster County seat, Sul Ross State University, mile-high ranching/railroad town, small arts scene.
    • Marfa — minimalist-art tourist town (Chinati/Donald Judd, Prada Marfa), the Marfa Lights, old ranching families vs. hipster influx.
    • Marathon — tiny, the Gage Hotel, east gateway to Big Bend NP.
    • Terlingua — quicksilver-mining ghost town, famous chili cookoff, river-rafting outfitters, off-grid desert eccentrics, the Starlight Theatre, near the Rio Grande / Mexico border.
    • Fort Stockton — oilfield/I-10 town to the north, Pecos County, Paisano Pete, working-class.
    • Big Bend — Chisos Mountains, Rio Grande, dark skies (McDonald Observatory near Fort Davis), remote, border proximity, Permian Basin oil money north.
    • Rule: only reference real places/facts; don't invent businesses or landmarks.

2. Whisper prompt — backend/services/transcription.py

Update locale and seed proper nouns: "…a late-night radio talk show in Alpine, Texas, in the Big Bend region. Callers reference Alpine, Marfa, Marathon, Terlingua, Fort Stockton, and Big Bend."

3. Devon — backend/services/intern.py

Moved with the show. Keep "Communications degree from NMSU" (alma mater); "You live in a studio in Deming" → "studio in Alpine."

4. Silas — relocate The Wellspring to Terlingua

  • ~/code/dotfiles/silas/silas.md: identity location Deming → Terlingua badlands; update arc_state frontmatter to the relocation; add an Arc Log entry (2026-05-31) — post-reckoning fresh start, moving the commune to desert outside Terlingua, the move straining the forty members.
  • data/regulars.json: update Silas's job, location, and the stable_seeds.style "commune outside Deming" → Terlingua. Leave the 6 past call_history summaries untouched — they happened in Deming; the move is the new development.

5. Weather/town-news enrichment — backend/main.py (now a real feature)

The block in enrich_caller_background() called _get_town_from_location / _get_weather_for_town, which never existed — silently NameError-ing. Implement:

  • BIG_BEND_TOWNS: dict of town → (lat, lon) for Alpine, Marfa, Marathon, Terlingua, Fort Stockton, Big Bend (Chisos Basin), Fort Davis, Presidio.
  • _get_town_from_location(text): scan lowercased text for a known town, return canonical key (handles "ft stockton"/"fort stockton").
  • _get_weather_for_town(town): Open-Meteo current weather (free, no key), WMO weather_code → phrase, returns e.g. "58°F, clear skies".
  • Update town-news query: NM/AZ branch → f"{town.title()} Texas".
  • Wire session base_ctx weather (was hardcoded "cool desert night") to live Alpine weather, graceful fallback on failure.

All network calls degrade gracefully (existing asyncio.timeout + try/except).

Out of scope / left as-is

  • Past call_history summaries (genuinely happened in Deming).
  • main.py:3124 state-abbreviation map (generic, not show-locale).