README: the v7.0 section (the loop dig->guide->want->travel->list->paper, the delta-law machinery, the classic covenant) + the morning-paper manual row. V7_THE_GAME.md: the five charter risks get their retired-or-carried verdicts, v4-style, written by F under the single-lane-close ruling: economy RETIRED- structural (the named bot verifier carried to the live tier) · schema drift RETIRED (three optional widenings, zero migrations) · re-emit identity CARRIED (never fired; owned-item stability check unbuilt — the next re-emit round owns it) · scope gravity RETIRED (the stage gates held) · v6 collision RETIRED (the 2 a.m. commits were the one contact, swept R36w1 + gated R36w2). LANE_F_NOTES §36 + F-progress: the close record — both playtests, E's three flags closed by measurement, the DJ-roster hold, the full gate numbers (7 passed / 0 failed / 0 warn / 0 skipped · flags 0 fails / 1 warn (deliberate) · selfcheck 156,352/156,352 · figure-scale 29 figs incl. the 5 DJ bodies · MATRIX GREEN 10 towns x 7 gates · R32-35 smokes re-green on the final tree). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
142 lines
9.6 KiB
Markdown
142 lines
9.6 KiB
Markdown
# PROCITY v7 — THE GAME (epoch charter — **RATIFIED by John, 2026-07-17**)
|
||
|
||
*(Ratified as drafted; the fantasy stands. R30 opens the epoch — v7.0-alpha wave 1.)*
|
||
|
||
*Fable (m3), 2026-07-17. From THE_FRONTIER's headline gap: the world is built, the game isn't.
|
||
v7 is the smallest set of systems that makes a stranger play twice. Design principle: every
|
||
system below rides machinery that ALREADY EXISTS — nothing here invents a new world layer.*
|
||
|
||
## The fantasy, one line
|
||
|
||
**You're a crate-digger in 90s Australia: build the collection, learn the prices, work the
|
||
towns — and be home in time for the gig.**
|
||
|
||
## The loop
|
||
|
||
Wake (save point) → plan the day (shops shut per their real hours; the gig starts at night —
|
||
the clock finally matters) → dig shops, spot the gems (priced below the guide), spend scarce
|
||
cash → sell the flips (keeper today; the auction tomorrow) → sleep = save, the day advances,
|
||
stock rotates → the collection grows → the wantlist points at another town → travel costs a
|
||
day. Repeat, richer and one gem wiser.
|
||
|
||
## The systems (each with its existing foundation)
|
||
|
||
1. **PERSISTENCE — the foundation stone.** Save = THE DELTA ONLY: cash, owned items, town, day
|
||
number, wantlist, stats. The world is never saved — it regenerates from seed (the
|
||
seeded-everything law finally pays its biggest dividend: saves are tiny and can't corrupt
|
||
the world). localStorage, schema-versioned, JSON export/import for moving machines.
|
||
*Foundation: item identity is already stable — parody items are seeded, real/mint carry
|
||
skus (the R25/R26 sku fences were built for exactly this, before we knew it).*
|
||
2. **THE COLLECTION.** Your crate, as a UI: cover, title, artist, price paid, where and what
|
||
day you found it. The trophy case of the whole game. (A walkable home-room shelf is v7.x —
|
||
UI first.) *Foundation: the atlas indexes already carry every field the card needs.*
|
||
3. **THE GUIDE + THE GEM (the thrill loop).** An in-game price guide — thriftgod's BIBLE
|
||
concept — gives a VALUE BAND per item (imperfect, like the real 90s guide books). Shops
|
||
price with seeded variance around it → a **gem** is an item priced under its band. Skill =
|
||
spotting them. *Foundation: mint() gem/price bands exist as data and drive nothing; real
|
||
items have real dealgod prices; the dig card already shows asking price.*
|
||
4. **SELLING — where cash comes back.** v7.0-alpha: sell to a keeper at the counter (below
|
||
guide, always — the no-money-pump law). v7.0: **GodBay** — list an item, a SEEDED offline
|
||
auction resolves NEXT DAY (the come-back-tomorrow hook; thriftgod's auction brain, G's
|
||
lane, offline tier first per the proven tier-ladder pattern — a live tier is v7.x and
|
||
rides the G3 rails).
|
||
5. **THE DAY.** Sleep advances the day; **stock rotates per (shop, day)** — seeded, so day 3
|
||
in Bendigo is the same for every player on that seed (parody/mint rotate; the real shop's
|
||
real stock stays real); gigs already run a 7-night week — `day % 7` plugs straight in;
|
||
hours already exist — now closing time costs you something. *Foundation: the segment spine,
|
||
`isOpen`, and `plan.gigs` are all sitting there waiting.*
|
||
6. **THE WANTLIST + TRAVEL.** Mark items/artists you're hunting; seeded rumors surface hints
|
||
("saw one in Castlemaine" — a keeper line, a gig-crowd mutter: D's citizens finally gossip
|
||
for a reason); **travel costs a day** → 23 towns become a strategy map instead of a
|
||
dropdown. *Foundation: the selector, the pack, the personas.*
|
||
7. **THE FIRST FIVE MINUTES.** You arrive with $50 and a want. Three toast-beats: dig, buy,
|
||
sell. A real splash. *(Smallest system, biggest stranger-facing payoff.)*
|
||
|
||
## The stages
|
||
|
||
- **v7.0-alpha — THE SAVE AND THE CRATE:** persistence + collection UI + sell-to-keeper +
|
||
sleep/day cycle + stock rotation. ONE town plays as a complete (small) game.
|
||
- **v7.0-beta — THE THRILL:** the guide bands + gem variance + wantlist + rumors + travel
|
||
costs a day. The 23 towns become the map.
|
||
- **v7.0 — THE AUCTION:** GodBay offline tier, onboarding, the tour ("day one to first gem"
|
||
as the money shot), docs freeze, tag.
|
||
|
||
## The laws (new ones this epoch earns)
|
||
|
||
1. **The delta law:** a save NEVER contains world state — only player deltas. A corrupted
|
||
save can cost you your stuff, never the town.
|
||
2. **The no-pump law:** every sell price < the buy-side guide band, structurally. The economy
|
||
gets a GATE (an agent plays N seeded days and asserts net-worth growth is bounded by finds,
|
||
not arbitrage loops).
|
||
3. **Game money is game money:** the write-back law extends — no bridge to real money, ever,
|
||
in either direction.
|
||
4. **Classic stays pure:** `?classic=1` boots the v2 town with NO game layer (no save, no
|
||
HUD additions) — the covenant is untouched. The game layer defaults ON for normal boots
|
||
(the v3.1 flip precedent) with `?game=0` as the opt-out.
|
||
5. **Rotation is seeded:** stock rotation draws from (citySeed, shopId, day) — deterministic,
|
||
gate-checkable, same for everyone on a seed.
|
||
|
||
## Lane map (first cut)
|
||
|
||
**F** the save core + gates (delta law, no-pump gate, save/load determinism) · **B** the UI
|
||
surfaces (collection, wantlist, day clock, splash — hud.js territory) · **C** the counter
|
||
sell interaction + dig-card guide hints (+ the home room, v7.x) · **A** the day/rotation
|
||
seeding contracts (new sub-streams, goldens untouched — rotation rides runtime, not plan
|
||
gen... A verifies that boundary) · **E** guide-band data baked into packs/atlases (mint
|
||
bands, real prices) · **D** rumor lines through keepers/citizens · **G** GodBay (the auction
|
||
brain, offline seeded tier) + real guide prices from dealgod.
|
||
|
||
## Risks (named now, v4-style)
|
||
|
||
1. **Economy balance** — pumps, dumps, degenerate flips. The no-pump gate is the fence; a
|
||
playtest-bot (an agent that greedily arbitrages for N days) is the adversarial verifier.
|
||
2. **Save schema drift** — versioned from day one, migration-or-reject, never silent.
|
||
3. **Item identity across re-emits** — a re-baked atlas must not orphan owned items (the sku
|
||
IS the identity; E's validator grows an owned-item stability check).
|
||
4. **Scope gravity** — the game wants everything (housing! romance! a phone!). The stage
|
||
gates are the fence: alpha ships ONE town playing well before beta touches 23.
|
||
5. **v6 collision — none by design:** v7-alpha is systems/UI (F/B/C-heavy); v6's spikes are
|
||
clips/ultra (E/D/G-heavy). They interleave; Fable sequences the rounds.
|
||
|
||
## Sequencing
|
||
|
||
v7.0-alpha can start **now** — it's unblocked (v6 waits on footage; the two don't collide).
|
||
Recommended: R30 = v7.0-alpha wave 1 (F save core + B collection UI + C sell counter contracts
|
||
first). John ratifies this charter (or amends the fantasy — it's your shop, your era, your
|
||
game) and says go.
|
||
|
||
## Risk verdicts at the close (R36, v7.0 — written by F per the single-lane-close ruling)
|
||
|
||
1. **Economy balance — RETIRED (structurally fenced).** The no-pump gate is STRICT since R30
|
||
(5 real UI round trips all strictly negative + C's broke-player negative control); R32 moved
|
||
the fence from the receipt to the band (`credited == min(bandLow−1, ⌊bandLow/2⌋)`, the exact
|
||
formula, not an inequality); R34's GodBay holds EV ≈ 0.8×mid under the ONE-HAMMER law (item-
|
||
identity-seeded — a passed-in item re-lists to the same result forever, so there is no retry
|
||
farm), bounded above at 2×high×0.88. Both hand playtests confirmed the shape — Fable's wave-0
|
||
line: the game charged $12 tuition for ignoring its own advice. *Honest residue:* the named
|
||
adversarial verifier (a greedy N-day arbitrage bot) was never built as an agent — the
|
||
structural gates + two hand playtests stood in for it. It goes live again with G's live tier
|
||
(v7.x), where structure alone won't be enough.
|
||
2. **Save schema drift — RETIRED.** `procity-save/1` versioned from day one; corrupted/foreign
|
||
blobs loud-reject + stash raw + boot fresh (gated since R30). The schema widened three times
|
||
in-epoch (`pulls` R32 · `wants` R33 · `listings` R34), every field optional,
|
||
validated-exact-and-loud when present, absent-compatible — zero migrations, zero silent
|
||
rejections, alpha saves still load at the close.
|
||
3. **Item identity across re-emits — CARRIED (narrowed, never fired).** The sku IS the identity
|
||
(the R25/R26 fences); real-sourced pulls/listings key by `sku:<id>`, parody by seeded slot
|
||
identity. No atlas was re-emitted during v7, so the risk never had a chance to fire — and
|
||
E's validator still lacks the chartered owned-item stability check. Carried to whichever
|
||
round next re-bakes an atlas: that round must add the check BEFORE the re-emit.
|
||
4. **Scope gravity — RETIRED (the stage gates held).** Alpha shipped one town playing complete
|
||
(R30–31), beta opened the 23 (R32–33), v7.0 closed with the auction + onboarding (R34–35).
|
||
Every mid-epoch want was FILED, not built: the §31.6 beta queue, then the v7.x queue
|
||
(⚖ discoverability · LIST confirm · the paper as artifact · keeper-rumor by hand · walkable
|
||
home room). No housing, no romance, no phone.
|
||
5. **v6 collision — RETIRED (none, by design).** The epochs interleaved without a merge
|
||
conflict or a contract collision. The one contact was the July-20 2 a.m. commits
|
||
(`046668e`/`b339402`: 4 Rokoko dance clips + 5 trellis DJ bodies, v6-flavoured assets landing
|
||
mid-v7 outside the round system) — swept into provenance/licence/depot by E (R36 w1) and
|
||
gated by F (R36 w2: figure-scale spawn proof, runtime bind census, classic zero-fetch for the
|
||
clips). One hold from that sweep rides the R36 record: the DJ bodies joined `?classic`'s
|
||
roster ungated — Fable to bless or bounce.
|