6.6 KiB
PROCITY v4 — THE REAL MAP: the epoch retro
Fable (integrator), 2026-07-16, written after the v4.0 tag (8ac3b18) per ROUND22 ledger #6.
Epoch span: the R17 scout → R22 close (charter: V4_REAL_MAP.md). Tags:
v4.0-alpha → v4.0-beta → v4.0.
The epoch in numbers
23 real Australian towns · 1,210 real shops (298 secondhand heroes) · all 8 states and
territories · on their actual streets. Selfcheck grew 15,277 → 161,300 checks. 36 town
goldens pinned in one commit. Every real graph lands as 1 connected component with 3 venues.
The covenant was never broken: ?classic=1 boots the exact v2 town, 0x3fa36874, byte-identical
through six rounds of the largest structural change in the project's history. The default
synthetic town is untouched. One sanctioned golden move per round, every one recorded.
What shipped, in one breath
Cache schema v2 → the real-graph lift (junction-protected Douglas–Peucker, cull/bridge connectivity) → the density widening under John's SUBTLE directive (heroes never subsampled, texture capped at 3×, and D proved the heroes gained footfall) → cluster-adjacent venues (11/15 were stranded; 0/15 after) → the tram's shop-adjacency ruling with per-town fencing → the town selector → the poster cap → the furniture tri diet → the five-frame release tour, including one honestly-dead town. Plus the marriage: Lane G (ultra) joined mid-epoch, merged at a round boundary, with the depot format ruled (no-Draco) and the G2a atlas contract reviewed.
What worked — keep doing these
- Measurement over brief. The epoch's defining pattern. A proved my poster "nudge" was
geometrically impossible and fixed the root cause. D refuted my prescribed
_rotWithHipswith an in-shell proof. B tested a five-round-old park reason and found it was folklore. D published a self-correction of its own headline metric. F recorded a re-measure that got worse, and refused to caption a dead town as proof the floor holds. The brief is a hypothesis; the lane's measurement is the ruling. - The measure-first fix loop. R22's blocking gate ran F measured → B diagnosed (91.5% attribution by hide-a-layer) → A confirmed not-A with numbers → E owned it and fixed (−51%) → F re-measured. Four lanes, one gate, zero ego, one round.
- Alpha as failure-list. R18's brief said the deliverable was the failure list, and it was: fragmentation (105 components), the BIG_CITY misfire, the DP junction-drop — each surfaced by audit, filed with measurements, fixed the next round. Budget the discovery round; don't ask it to also be the fix round.
- Contract-first beats sequencing. R16's order inverted (lanes ran before F's flip) and nothing broke, because contracts were published in the brief. Same for schema v2, C's mapping table, the backline shape, the G2a atlas contract. The half-day-handshake rule is the project's real synchronization primitive.
- Drops are counted, never silent.
norm.droppedby cause,textureDropped, fenced towns named, the 6.4% seating tail per-cause-attributed. Nothing in the pack pretends. - Independent convergence. The thin-tail finding was discovered twice in one round by different methods (F's tour frame; D's nearest-neighbour spacing metric) — that's the redundancy of honest lanes, and it's why the finding is trustworthy.
What cost us — fix these
- Lane F is the fragile point. F no-showed R14 and R18, and stalled mid-gate in R21. Every time, the epoch sat untagged with five lanes done. The close is the longest, most serial brief and it runs last, when sessions die. Mitigation adopted going forward: F's brief is written in resumable numbered items (R21 proved a successor can pick up mid-gate), and the integrator checks for uncommitted F WIP before declaring a round done.
- Soft ceilings invite drift.
venue_nightbreached the 200k "soft" reference twice (+0.5%, then +11%) before R22 made it blocking. Rule going forward: a stress view that breaches twice is automatically a blocking gate the next round. - Old assets bite in new contexts. The tri-diet driver was four furniture GLBs sized in R6 for a 22-edge synthetic town, harmless for sixteen rounds until a 966-edge real graph multiplied their cadence. When the context scales, re-audit the assets it multiplies.
- The integrator was wrong twice (the nudge,
_rotWithHips). Acceptable — that's what measurement-over-brief is for — but both were cases of prescribing the mechanism instead of the outcome. Briefs should state acceptance; lanes own method.
The v4.x ledger (carried, measured, not hidden)
- The thin-tail clustering floor (the epoch's parting finding): aliveness is not shop
count but clustering — median nearest-neighbour spacing (darwin 27 m ALIVE vs toowoomba
388 m DEAD at the same 12 shops). Candidate law: E curates on spacing,
validateTownCachewarns above a threshold; toowoomba gets re-bboxed or retired. - The 6.4% seating tail (daylesford 19%, fitzroy 13%) — known, per-cause, the drop-and-count ruling stands.
GIG_RANGEchunk-neighbour lookup (D, 8.7% blind) · instrument_loLOD · tram-stop close-ped tri diet · drummer pelvic-lean v2 · awning fabric ripple · flag retirement (classic keeps soaking) · selector polish beyond debug-grade.
The next epoch — Fable's recommendation to John
Three chartered candidates remain: the GODVERSE economy (G2/G3), the editor/override layer, multiplayer presence.
Recommendation: v5 = THE REAL SHOP — the GODVERSE economy. The argument: v4 made the towns real; v5 makes the shops real. The marriage lane is already live (G2a contract reviewed, first atlases next), dealgod holds 1.77M real items with photos, and the destination — walk Fitzroy's real street into a real op shop, riffle a real crate, and the record you buy is one-of-a-kind because it's real stock (sold means GONE) — is the most PROCITY-shaped thing either studio can build. Sequence per the standing ruling: G3 design doc first (both integrators + John; the server enriches, never gates — full offline play is non-negotiable), G2a atlases land meanwhile, v4.x tail runs as a light parallel lane. The editor and multiplayer stay chartered for v6+ — the editor gets stronger the more real content exists to override, and presence gets stronger the more there is to visit.
— Fable. Twenty-two rounds: seed → town → weather → crowd → interiors → stock → gigs → the flip → real roads → real shops → real Australia. The covenant held the whole way.