WIP: Editorial city copy for 83 city/record pages #39
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Jinemi/thermograph#39
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-city-copy-backfill"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Backfills original editorial copy for the city SEO pages (
/climate/<slug>) and record pages (/climate/<slug>/records), replacing the generic trimmed-Wikipedia blurb with in-depth, analytical prose that says what a place is, why it exists, what's notable, and its climate character — framed the Thermograph way (unusual-vs-its-own-history, never absolute temperatures).This first tranche targets the 90 cities that had no
cities_flavor.jsonblurb at all. 83 of 90 are included here; the remaining 7 are listed below for finishing.How the copy was produced
Each city was researched across multiple independent sources (Britannica, official/government pages, geographic/history references — not a single scrape), written to a fixed house voice, then fact-checked entry by entry. A first pass produced 61 clean entries; 29 were held back with specific factual objections and re-researched to correct or drop the disputed claim, recovering 22 more. Every surviving entry:
reviewed: false— pending a human spot-check before it's considered final.Changes
backend/city_copy.json(new) — 83 entries keyed by slug:{lede, body[], records_intro, sources[], source, reviewed}. Kept separate fromcities_flavor.jsonso the two provenances don't collide.backend/data/cities.py—copy(slug)loader, mirroringflavor()(lazy, tolerant of a missing file).backend/api/content_payloads.py—copyfield on the city and records payloads.backend/api/payloads.py—PAYLOAD_VERp2→p3so cached content rows rebuild with the new field.frontend/content.py+templates/city.html.j2/records.html.j2— render the editorial lede/body in place of the Wikipedia blurb, falling back to the flavor blurb (with its "via Wikipedia" credit) wherever copy isn't written yet. Record pages gain a per-city intro line they never had.Additive and backward-compatible: no API-contract bump; any slug without a copy entry keeps today's behavior.
Tests
PAYLOAD_VERbump is consistent withtest_payloads.py).Not included — 7 cities need a human finish
Held out because the fact-check couldn't fully clear them; each has a concrete reason:
nagpur-maharashtra-in— Nagpur Pact date (1953, not 1960) needs correcting in the lede.kennedy-bogota-d-c-co— post-1963 "Bavaria brewery anchored the economy" chronology unverified.burlington-ontario-ca— 1784 Haldimand Proclamation acreage/tract detail conflated.kakinada-andhra-pradesh-in— one source is a content farm; needs a credible replacement.san-pablo-calabarzon-ph— "Laguna's largest municipality by land area" unverified against its city-charter status.bedok-new-town-sg/jurong-town-sg— all sources were Wikipedia mirrors; need an independent second source.Follow-ups
reviewed: true(spot-check a sample against the pages).View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.