Ledger #4 (warm-up): publish.py --verify no longer false-flags non-procity_ published assets (sit.glb, vintage-cash-register). It compares the _published.json name record against the depot's full file list (fetch_depot_files) instead of a procity_ prefix filter; only OUR namespace flags as unrecorded. --verify now: all 39 recorded assets live. Ledger #6 (the scout): new pipeline/build_towns.py ports thriftgod build_city()'s Overpass route to per-town caches in A's procity-town-cache/1 contract. 5 real compact AU towns under web/assets/towns/ (katoomba/newtown/fremantle/bendigo/castlemaine, 6-21 shops, spans <2.4km): bounded Overpass query -> raw cached in-repo (re-runs never re-fetch) -> dedupe/suburb-fill/parody (trademarked chains only; indie shops keep real OSM names)/type-map. Deterministic (byte-identical re-run, no RNG). ODbL: SOURCES.md licence table + license/attribution on every cache. All 5 boot through the full structural+gig suites (selfcheck 16596/16596 green; synthetic golden 0x3fa36874 unmoved). Overpass fetch John-authorized (Standing #2). -> Lane A: caches live under web/assets/towns/; pin the per-town goldens selfcheck printed (katoomba 0x61760542 newtown 0x95978b45 fremantle 0xee9fd09a bendigo 0x5e3e76a6 castlemaine 0xf1a628a1) + feed through plan_osm. E->A handshake. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.6 KiB
Town-cache data sources & licence (web/assets/towns/)
Lane E owns this file (ROUND17 ledger #6). Every real-town cache here is derived from
OpenStreetMap data and ships under OSM's licence. This notice + the license/attribution
fields on every <key>.json are the attribution that travels with the data.
Licence — OpenStreetMap, ODbL 1.0
© OpenStreetMap contributors. Data available under the Open Database License (ODbL) 1.0. https://www.openstreetmap.org/copyright · https://opendatacommons.org/licenses/odbl/1-0/
The caches are a produced work derived from OSM via the Overpass API (overpass-api.de), filtered
to on-theme shop=* points, deduped, suburb-filled, and type-mapped by pipeline/build_towns.py.
Attribution ships in-repo (this file) and in every cache ("license":"ODbL 1.0",
"attribution":"© OpenStreetMap contributors"). If a rendered/public build surfaces this data, keep
the "© OpenStreetMap contributors (ODbL)" credit visible.
Provenance table
| cache | town | source | licence | fetched | shops | raw response |
|---|---|---|---|---|---|---|
katoomba_real.json |
Katoomba, NSW | OSM Overpass (bounded) | ODbL 1.0 | 2026-07-16 | 20 | _raw/katoomba_real.overpass.json |
newtown_real.json |
Newtown, Sydney NSW | OSM Overpass (bounded) | ODbL 1.0 | 2026-07-16 | 18 | _raw/newtown_real.overpass.json |
fremantle_real.json |
Fremantle, WA | OSM Overpass (bounded) | ODbL 1.0 | 2026-07-16 | 21 | _raw/fremantle_real.overpass.json |
bendigo_real.json |
Bendigo, VIC | OSM Overpass (bounded) | ODbL 1.0 | 2026-07-16 | 9 | _raw/bendigo_real.overpass.json |
castlemaine_real.json |
Castlemaine, VIC | OSM Overpass (bounded) | ODbL 1.0 | 2026-07-16 | 6 | _raw/castlemaine_real.overpass.json |
Raw responses (_raw/)
The raw Overpass JSON for each town is cached in _raw/<key>.overpass.json (wrapped with fetchedAt,
endpoint, query, bbox). Re-runs reuse the raw cache and never re-hit Overpass — the fetch is
outward-facing network (John-authorized scout, once per town). --refetch forces a deliberate re-fetch.
selfcheck.js reads only top-level *.json, so _raw/ is never loaded as a cache.
Names — parody vs factual
Big trademarked charity/franchise chains are parodied in build_towns.py (Salvos→Slave-ohs,
Vinnies→Sinnies, Anglicare→Tanglecare, Cash Converters→Cashtheists, …) for the game's comic tone.
Independent shops keep their real OSM name — factual, publicly-mapped POI data under ODbL. No
private-individual data is carried (name/type/coordinate/suburb only).