1. validate_atlas (the G2a format gate). pipeline/validate_atlas.py, wired into validate_manifest so it
runs in qa gate 3. Judges Lane G's tier-1 atlases from the COMMITTED FILES ALONE -- no dealgod DB, no
network. No atlases yet => clean pass, so it's in place before G's lands. Enforces: provenance
{license, attribution, generator, snapshot} (charter law #3 + determinism); NO private-individual item
fields (law #3); 1 atlas/shop hard cap 2 (C §7.1); <=1024², 2048² only for a 60+ item shop (C §7.2);
declared atlas_px == the atlas's REAL pixels + every listed atlas exists; schema/UV/bands/dup-ids
(C §7.3). The licence string is PRINTED, not pattern-matched -- clearing photos for public release is
a human call, so the gate surfaces it. Dependency-free PNG/WebP header parser. Tested against a
10-case matrix (real 2048² WebP + 1024² PNG): good passes clean, all 9 violations caught.
2. toowoomba RETIRED (my call, counted). Tried the re-bbox FIRST: 3.0km CBD-wide -> 1.6km on the Ruthven
St heart. It fixed the named metric (median NN 395.7 -> 89.4m raw, 'passes') but made the real thing
WORSE: hub density 3/12 -> 2/12 within 160m, the pack's worst (D's alive-darwin is 7/12). Its shops
are PAIRS strung along a road, not a high street; densest 300m cluster is 3 shops (< MIN_TOWN_SHOPS),
so no tighter box exists. Shipping it would have gamed the number while leaving a town nobody shops in
(D: 0 finds / 1417 checks). Config entry kept commented with the rationale. Pack: 21 real + 1 godverse
= 22 rostered, 1180 shops, all 8 states/territories (QLD keeps westend). selfcheck ALL GREEN 152015.
-> Lane A, before you freeze the spacing warn (#5): (a) your validator sees the CACHE (raw lat/lon) but
D's numbers are SEATED (post-lift) -- darwin is 27m seated vs 68.3m RAW, so a threshold picked off D's
table would FALSE-WARN darwin; calibrate on the raw spread (daylesford 11.6 ... braddon 119.2,
ballarat 254.6 -- a ~200m line has daylight). (b) median NN alone is GAMEABLE: my re-bbox improved it
4.4x while the town got worse -- the hub fraction is the discriminator, and my raw hub metric
reproduces D's darwin exactly (7/12), so it's directly encodable (alive ~38-75%, dead <=20%).
(c) ballarat is a SECOND spread town D's two-town comparison missed (NN 254.6m, hub 4/20 = 20%) -- it
will trip your warn, correctly. Not retired: the ledger named toowoomba only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
184 lines
3.0 KiB
JSON
184 lines
3.0 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,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "ballarat_real",
|
|
"town": "Ballarat",
|
|
"state": "VIC",
|
|
"shops": 20,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "bendigo_real",
|
|
"town": "Bendigo",
|
|
"state": "VIC",
|
|
"shops": 36,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "bowral_real",
|
|
"town": "Bowral",
|
|
"state": "NSW",
|
|
"shops": 32,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "braddon_real",
|
|
"town": "Braddon",
|
|
"state": "ACT",
|
|
"shops": 20,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "brunswick_real",
|
|
"town": "Brunswick",
|
|
"state": "VIC",
|
|
"shops": 96,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "castlemaine_real",
|
|
"town": "Castlemaine",
|
|
"state": "VIC",
|
|
"shops": 24,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "darwin_real",
|
|
"town": "Darwin",
|
|
"state": "NT",
|
|
"shops": 12,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "daylesford_real",
|
|
"town": "Daylesford",
|
|
"state": "VIC",
|
|
"shops": 32,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "fitzroy_real",
|
|
"town": "Fitzroy",
|
|
"state": "VIC",
|
|
"shops": 160,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "fremantle_real",
|
|
"town": "Fremantle",
|
|
"state": "WA",
|
|
"shops": 80,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "geelong_real",
|
|
"town": "Geelong",
|
|
"state": "VIC",
|
|
"shops": 68,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "glebe_real",
|
|
"town": "Glebe",
|
|
"state": "NSW",
|
|
"shops": 52,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "hobart_real",
|
|
"town": "Hobart",
|
|
"state": "TAS",
|
|
"shops": 80,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "katoomba_real",
|
|
"town": "Katoomba",
|
|
"state": "NSW",
|
|
"shops": 80,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "launceston_real",
|
|
"town": "Launceston",
|
|
"state": "TAS",
|
|
"shops": 32,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "marrickville_real",
|
|
"town": "Marrickville",
|
|
"state": "NSW",
|
|
"shops": 28,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "newcastle_real",
|
|
"town": "Newcastle",
|
|
"state": "NSW",
|
|
"shops": 36,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "newtown_godverse",
|
|
"town": "Newtown",
|
|
"state": "",
|
|
"shops": 18,
|
|
"roads": true,
|
|
"source": "godverse+osm"
|
|
},
|
|
{
|
|
"key": "newtown_real",
|
|
"town": "Newtown",
|
|
"state": "NSW",
|
|
"shops": 72,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "northbridge_real",
|
|
"town": "Northbridge",
|
|
"state": "WA",
|
|
"shops": 60,
|
|
"roads": true,
|
|
"source": "osm"
|
|
},
|
|
{
|
|
"key": "westend_real",
|
|
"town": "West End",
|
|
"state": "QLD",
|
|
"shops": 44,
|
|
"roads": true,
|
|
"source": "osm"
|
|
}
|
|
]
|
|
} |