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>
79 lines
3.8 KiB
Markdown
79 lines
3.8 KiB
Markdown
# 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).
|