90 lines
6.1 KiB
Markdown
90 lines
6.1 KiB
Markdown
# PROCITY — Round 23 lane instructions (from Fable, integrator)
|
||
|
||
Date: 2026-07-16 · **v4.0 SHIPPED, the epoch retro is written ([RETRO_V4.md](../RETRO_V4.md)),
|
||
and John has chartered v5: [THE REAL SHOP](../V5_REAL_SHOP.md).** Read the charter first — the
|
||
tier ladder (parody → static real → live GODVERSE) and the five laws are the epoch's spine.
|
||
|
||
Round 23 is **v5.0-alpha: THE FIRST REAL CRATE** — one real shop's real stock, riffled and
|
||
bought, end-to-end, plus the G3 design doc drafted for ratification. The v4.x tail runs as the
|
||
light parallel lane the retro promised. Tag **`v5.0-alpha`** at close.
|
||
|
||
## The ledger
|
||
|
||
1. **G2a: the first real atlas (Lane G, on ultra — the round's headline).** Build the per-shop
|
||
atlas pipeline per the R22-reviewed contract (C's ceilings · atlas-per-shop keyed by godverse
|
||
shop id · fail-soft to parody): dealgod inventory → a static atlas + index for ONE real
|
||
Newtown record shop in `newtown_godverse`. Files stay in the G namespace
|
||
(`pipeline/godverse_*`, `web/assets/stock_godverse/**`). Deterministic (byte-identical
|
||
re-run against the same inventory snapshot — snapshot the query result like you snapshot
|
||
Overpass raw). Provenance per the licence law (charter law #3). **This deliverable is
|
||
gating, so per the merge amendment (charter law #5) your branch merges mid-round once
|
||
Fable-m3 reviews.** Ping via G-progress when it's up.
|
||
2. **G3: the design doc draft (Lane G + both Fables).** `docs/G3_ECONOMY_DESIGN.md` covering:
|
||
API surface (read stock / price / reserve / buy) · async-enrichment caching (risk #1 — the
|
||
dig never blocks on network) · the determinism boundary (charter law #2) · failure modes
|
||
(server dies mid-session → tier 1 without a stutter) · census↔lot identity matching (risk
|
||
#3, mismatches counted) · **the write-back question stated as a decision for John** (charter
|
||
law #4 — options with trade-offs, no default). Draft this round; ratification is R24's
|
||
kickoff. Nothing server-side ships before it.
|
||
3. **The interior side of the real crate (C).** When G's atlas merges: verify the contract in
|
||
the room — the godverse record shop's crates resolve the per-shop atlas through the existing
|
||
`stockAdapter` path, interior draw/tex ceilings hold with real covers, `?noassets` and
|
||
missing-atlas boots fail soft to parody with zero errors. If the contract needs an
|
||
amendment, you own the wording (LANE_C_PUB), G re-emits.
|
||
4. **The atlas validator (E).** The format side: a `validate_atlas` check in the pipeline
|
||
(dimensions ≤ C's ceilings, provenance fields present, index↔atlas consistency, determinism
|
||
note) so G's output is gate-checkable on m3 without the dealgod DB. Plus the retro's
|
||
curation item: **the thin-tail clustering floor** — re-bbox toowoomba onto its actual retail
|
||
strip (or retire it, your call, counted either way) using D's median nearest-neighbour
|
||
spacing as the curation metric.
|
||
5. **The spacing warn (A).** D's metric becomes law: `validateTownCache` warns when median
|
||
nearest-neighbour spacing exceeds a threshold you pick from the pack's measured spread
|
||
(darwin 27 m alive, toowoomba 388 m dead — plenty of daylight for a line). Warn, not error —
|
||
E curates, the validator flags. Re-pin only what E's toowoomba fix moves.
|
||
6. **GIG_RANGE chunk-neighbour fix (D — the carried v4.x item).** The 8.7% blind spot: extend
|
||
`_nearestOpenShop` to the ped's chunk + 8 neighbours. Hot path, so bring the R18-style
|
||
before/after (perf cost, blind-spot elimination, determinism unchanged, byte-identical
|
||
flags-off). Post-release is exactly when this change is safe.
|
||
7. **The alpha gate (F, last).**
|
||
a. THE CRATE, end-to-end in a fresh browser: boot `newtown_godverse` with `?stock=real`,
|
||
walk into the real record shop, riffle — **real covers render** — buy, wallet debits,
|
||
the item leaves the crate (tier-1 static semantics: gone this session, back next boot —
|
||
that's correct until G3).
|
||
b. The tier ladder proven: same shop under `?noassets` (tier 0, zero fetch), missing-atlas
|
||
(soft fall to parody), `?stock=real` (tier 1) — all silent-and-fine; classic + default
|
||
gates frozen as ever.
|
||
c. `qa.sh --strict --matrix` green (the matrix now includes E's toowoomba fix), notes §23,
|
||
README one-paragraph v5 teaser, tag **`v5.0-alpha`**, push.
|
||
|
||
## Laws
|
||
|
||
The charter's five (offline · determinism boundary · licence · write-back · two-studio) plus
|
||
everything inherited. Golden discipline: only E's toowoomba re-bbox may move a town golden
|
||
(amendment law, one commit). No server code anywhere this round — the G3 doc is paper.
|
||
|
||
## THE EXACT RUN ORDER
|
||
|
||
1. **Start together: G (atlas + doc draft, on ultra) + E (#4 validator + toowoomba) + A (#5
|
||
spacing warn) + D (#6 GIG_RANGE).** All disjoint.
|
||
2. **When G's atlas is up and Fable merges it: start C (#3).** E's validator should be ready to
|
||
run against the merged atlas — coordinate in G-progress.
|
||
3. **When C passes and E/A/D are in: F closes (#7)** — the crate, the ladder, the tag.
|
||
4. **G3 doc review runs asynchronously all round** — both Fables comment in the doc; it lands
|
||
ratified-or-revised at R24 kickoff with John's write-back ruling.
|
||
|
||
Waves: **[G, E, A, D] → [merge, C] → [F]**, with the doc threading through.
|
||
|
||
## Standing
|
||
|
||
- **John — one decision incoming, not blocking this round:** the write-back question (does an
|
||
in-game purchase ever touch real thriftgod inventory — sandbox, reservation, or full
|
||
write-back?). It arrives framed with trade-offs in the G3 doc at R24 kickoff. FYI: G's branch
|
||
merges mid-round this epoch when its deliverable is gating (charter law #5); item-photo
|
||
licensing stays in-house-green, flagged before anything public.
|
||
- **B — deliberately light this round** (you've carried heavy since R16): on-call for C if the
|
||
crate render surfaces anything street-side, plus first pick of the v4.x polish list next
|
||
round (awning ripple and the tram-stop tri diet are yours when you want them).
|
||
- **v5.0-beta preview (do not start):** every hero shop in 1–2 godverse towns stocked · mint()
|
||
pricing baked into atlases · fitzroy_godverse if the census is dense there · the dig UX for
|
||
real items.
|