Ledger #5 pull-forward. Nothing here touches a golden until A absorbs in R22; F tags v4.0-beta with or without it. selfcheck ALL GREEN 154141/154141, synthetic 0x3fa36874 unmoved, all 22 byte-identical on re-run. - Curated 18 candidates on secondhand density first (heroes are the game), a walkable 2-3.4km centre, and a national spread; 17 survived -> 22 towns, 1192 shops, 298 heroes, all 8 states/territories. fitzroy is the mecca (40 heroes/160 shops, 2x katoomba); thin tail toowoomba/darwin (3 heroes) left in as honest data -- A/Fable may drop them in R22. - FINDING: the 3x-hero cap is a CURATION FILTER, not just a density knob. Wollongong had ~62 real shops but 1 hero -> capped to 4 -> dropped by the >=6 floor. A town without a secondhand strip cannot inflate into a retail strip; John's SUBTLE directive does quality control for free. - Newcastle: my centre was wrong, not the town (CBD held 2 heroes; the strip is Hamilton/Beaumont St). Re-centred: 2 -> 9 heroes, 8 -> 36 shops. - BUG (mine, shipped R18, caught here): fetch_roads_raw had no query-comparison while fetch_raw did, so re-centring refetched shops but silently reused the OLD CBD roads -> Hamilton shops seated against a graph 2.5km away -> the town marched out with ZERO shops (surfacing as 32 bogus 'open-late invariant' failures; ten other no-video towns passing is what proved it wasn't the open-late rule). Fixed: the roads path now compares its query too -- the bbox lives in the query, so a re-centre must invalidate BOTH snapshots. Newcastle rebuilt: 34 shops seated, openLate=1. - Discipline: bounded bboxes, raw snapshots committed (shops+roads), C's §6 mapping, SUBTLE guardrails (heroes never subsampled, texture 3x, 2392 drops counted), ODbL. Overpass rate-limits hard at pack scale (batch 1 died on a fatal 504 after 25 retries) -- courtesy sleep 4s, two polite batches. -> Lane A (R22): 34 goldens to pin (17 new towns x base+gig); sizes 12->160 shops load-test your capacity/overflow fences. -> Lane B: index.json now lists 22 towns (your selector already reads it). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
162 lines
2.5 KiB
JSON
162 lines
2.5 KiB
JSON
{
|
|
"schema": "procity-towns-index/1",
|
|
"generated": "2026-07-16",
|
|
"license": "ODbL 1.0",
|
|
"attribution": "\u00a9 OpenStreetMap contributors",
|
|
"towns": [
|
|
{
|
|
"key": "adelaide_real",
|
|
"town": "Adelaide",
|
|
"state": "SA",
|
|
"shops": 116,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "ballarat_real",
|
|
"town": "Ballarat",
|
|
"state": "VIC",
|
|
"shops": 20,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "bendigo_real",
|
|
"town": "Bendigo",
|
|
"state": "VIC",
|
|
"shops": 36,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "bowral_real",
|
|
"town": "Bowral",
|
|
"state": "NSW",
|
|
"shops": 32,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "braddon_real",
|
|
"town": "Braddon",
|
|
"state": "ACT",
|
|
"shops": 20,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "brunswick_real",
|
|
"town": "Brunswick",
|
|
"state": "VIC",
|
|
"shops": 96,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "castlemaine_real",
|
|
"town": "Castlemaine",
|
|
"state": "VIC",
|
|
"shops": 24,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "darwin_real",
|
|
"town": "Darwin",
|
|
"state": "NT",
|
|
"shops": 12,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "daylesford_real",
|
|
"town": "Daylesford",
|
|
"state": "VIC",
|
|
"shops": 32,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "fitzroy_real",
|
|
"town": "Fitzroy",
|
|
"state": "VIC",
|
|
"shops": 160,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "fremantle_real",
|
|
"town": "Fremantle",
|
|
"state": "WA",
|
|
"shops": 80,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "geelong_real",
|
|
"town": "Geelong",
|
|
"state": "VIC",
|
|
"shops": 68,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "glebe_real",
|
|
"town": "Glebe",
|
|
"state": "NSW",
|
|
"shops": 52,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "hobart_real",
|
|
"town": "Hobart",
|
|
"state": "TAS",
|
|
"shops": 80,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "katoomba_real",
|
|
"town": "Katoomba",
|
|
"state": "NSW",
|
|
"shops": 80,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "launceston_real",
|
|
"town": "Launceston",
|
|
"state": "TAS",
|
|
"shops": 32,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "marrickville_real",
|
|
"town": "Marrickville",
|
|
"state": "NSW",
|
|
"shops": 28,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "newcastle_real",
|
|
"town": "Newcastle",
|
|
"state": "NSW",
|
|
"shops": 36,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "newtown_real",
|
|
"town": "Newtown",
|
|
"state": "NSW",
|
|
"shops": 72,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "northbridge_real",
|
|
"town": "Northbridge",
|
|
"state": "WA",
|
|
"shops": 60,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "toowoomba_real",
|
|
"town": "Toowoomba",
|
|
"state": "QLD",
|
|
"shops": 12,
|
|
"roads": true
|
|
},
|
|
{
|
|
"key": "westend_real",
|
|
"town": "West End",
|
|
"state": "QLD",
|
|
"shops": 44,
|
|
"roads": true
|
|
}
|
|
]
|
|
} |