qa.sh --strict --matrix on the final tree: 7 passed · 0 failed · 0 warn · 0 skipped, MATRIX 10 towns green. New STRICT gate smoke_bible: band law over EVERY bin off the digOffers surface (80 offers/5 bins), the buy-everything ledger runs on THE GEM'S BIN so the finder-margin leg is non-vacuous (bin1: 2 gems, grail asking $19 vs keeper $30; ledger closes to the cent — Σask $333 → Σoffer $135, gems alone +$21, every non-gem strictly negative), scarcity measured (emptied bin 0/16 on re-open AND across a full reload; 16 pulls in the save) with the ?game=0 negative control re-opening 16/16 (the detector discriminates). sell_routing amended from the alpha inequality (credited < paid) to the exact formula (credited == min(basis−1, basis//2), basis = bandLow-or-pricePaid) — the fence moved from the receipt to the band, which is what charter law #2 always said; it passed on a banded standard item (+$4 on basis $8). _at_bin grows an idx param (back-compatible). Money shots in docs/shots/v7_beta/ (the guide card + the crate at the counter). LANE_F_NOTES §32 (incl. the JING5 fresh-checkout trap: gitignored web/assets/models synced from m3ultra — also un-warned the validator's 15 cross-pack checks). README manual: the guide/gem/scarcity rows. Remaining beta charter queued in the round doc: wantlist + rumors · travel costs a day · Esc-in-person · then GodBay. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
62 lines
4.4 KiB
Markdown
62 lines
4.4 KiB
Markdown
# PROCITY — Round 32 instructions (from Fable, integrator)
|
||
|
||
Date: 2026-07-20 · **R31 closed** — v7.0-alpha tagged and pushed; the loop plays. Round 32 opens
|
||
**v7.0-beta — THE THRILL, wave 1**: the guide bands land ([V7_THE_GAME.md](../V7_THE_GAME.md)
|
||
stage 2), scarcity rides the save, and the alpha playtest's friction queue (LANE_F_NOTES §31.6)
|
||
gets its cosmetic items. **Solo round:** John asked for direct progress; Fable executes all lanes
|
||
in one session on JING5, same treaty, same gates — lane ownership is honoured in the commit
|
||
messages, not the parallelism.
|
||
|
||
## The design rulings this round encodes (from the ratified charter + §31.6 queue)
|
||
|
||
1. **THE BIBLE derives, it is not baked.** E's band thresholds (build_stock_pack.py:88-94 —
|
||
record 8/25/60 · book 5/15/40 · toy 6/20/50) become a tiny JS mirror
|
||
(`js/interiors/bible.js`). No pack re-emit, so risk #3 (re-baked atlases orphaning owned
|
||
skus) never opens. The guide shows a BAND ("guide $25–59"), never a verdict — spotting the
|
||
gem stays the player's skill.
|
||
2. **Gems live in the parody bins.** Real/mint packs derive `price_band` FROM `price`, so real
|
||
asking is always inside its band → with the §9.1 basis swap (sellOffer basis = bandLow),
|
||
every real round trip stays strictly negative and **the R30 no-pump gate holds untouched,
|
||
by construction**. Procedural stock gains seeded bands + a seeded under-band gem roll —
|
||
the only place asking can sit under the guide, which is exactly the op-shop fantasy.
|
||
3. **Scarcity is what makes the gem loop safe** (§31.6 item 6, ruled WITH the bands as filed):
|
||
a bought dig slot enters `pulls` in the save (optional field, procity-save/1 — old saves
|
||
stay valid, old loaders drop the field without rejecting) and that bin omits it after the
|
||
draw (the proven `pack.gone` pick-then-omit seam — zero collateral). A gem is profit ONCE;
|
||
tomorrow's rotation re-keys the bin. Growth is bounded by finds, not arbitrage (charter
|
||
law #2's real meaning).
|
||
4. **§31.6 items 1–3:** spawn becomes a computed cluster-pose facing the shop strip (classic
|
||
keeps the frozen v2 pose); THE CRATE surfaces inside interiors (C key — the §31.6
|
||
"crate at the counter" want, hidden while dig/sell cards own the screen); DAWN gets a
|
||
cool sky dome swap (classic + weather-override fenced).
|
||
|
||
## Gate additions (F)
|
||
|
||
`smoke_bible` in flags_check.py: guide stamp on the pull card (real + parody) · offer < bandLow
|
||
structurally · a seeded parody gem exists and its round trip is positive ONCE (then the slot is
|
||
gone — re-open the bin and it stays gone; reload and it stays gone) · negative control:
|
||
`?game=0` re-opens the same bin with the slot PRESENT (the detector discriminates — scarcity is
|
||
the save's doing, not the dig's). Classic purity untouched (no new module constructs under
|
||
`?classic=1` / `?dig=0`).
|
||
|
||
## ROUND CLOSED (Fable) — ALL GREEN
|
||
|
||
`qa.sh --strict --matrix`: **7 passed · 0 failed · 0 warn · 0 skipped**, MATRIX 10 towns green.
|
||
`smoke_bible`: 80 parody offers across 5 bins all band-lawful; bin1 holds 2 seeded gems (grail
|
||
asking $19 vs keeper $30); the buy-everything ledger closes to the cent (Σask $333 → Σoffer
|
||
$135, gems alone +$21, every non-gem strictly negative); the emptied bin stays empty across a
|
||
full reload (16 pulls in the save) and `?game=0` re-opens it 16/16 (the control discriminates);
|
||
0 console errors. sell_routing now asserts the exact §9.1 formula and passed on a BANDED item
|
||
(standard, basis $8 → +$4). Money shots: `docs/shots/v7_beta/guide_card.png` (the guide stamp —
|
||
"1974 COUNTRY guide $8–24" beside the $24 sticker) + `crate_at_the_counter.png` (THE CRATE open
|
||
inside a shop, game bar riding bottom-right). Environment note: JING5's gitignored
|
||
`web/assets/models/` was absent (fresh-checkout trap, now §32.3 in LANE_F_NOTES) — synced from
|
||
m3ultra, which also un-warned the manifest validator's 15 cross-pack checks. Full record:
|
||
LANE_F_NOTES §32. Shipped: bible.js + guide stamps + parody bands/gems (C) · pulls on the save
|
||
+ gone-wiring + digOffers surface (F) · crate-in-interiors + cluster-pose spawn + dawn sky (B)
|
||
· smoke_bible + the routing amendment (F) · README/docs.
|
||
|
||
**The beta's remaining charter** (next rounds): the WANTLIST + seeded rumors (D's keepers
|
||
finally gossip) · travel costs a day (23 towns become the map) · §31.6-5 (dig Esc under real
|
||
hands) · then v7.0 = GodBay offline auctions (G) + onboarding + the tour.
|