PROCITY/docs/LANES/ROUND23_INSTRUCTIONS.md
2026-07-16 22:48:59 +10:00

6.1 KiB
Raw Permalink Blame History

PROCITY — Round 23 lane instructions (from Fable, integrator)

Date: 2026-07-16 · v4.0 SHIPPED, the epoch retro is written (RETRO_V4.md), and John has chartered v5: THE REAL SHOP. 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 12 godverse towns stocked · mint() pricing baked into atlases · fitzroy_godverse if the census is dense there · the dig UX for real items.