Add Sprint 6 plan and lane prompts: winnable, then a week of nights

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
m3ultra 2026-07-17 08:54:02 +10:00
parent b1acbd6668
commit 125411e0df
2 changed files with 132 additions and 0 deletions

View File

@ -330,3 +330,55 @@ Read THREADS' last [I] entry then SPRINT5.md.
> (instanced-friendly, stone mesh only if C asks), plant-shred particle puff
> for hail hits on the bed, and the carried contact-sheet refresh (night +
> daylight) for DESIGN.md.
---
---
# SPRINT 6 prompts (winnable, then a week of nights)
Same rules: own clone, own branch, rebase onto latest main FIRST (Sprint 5
merged; decision 13 wired with integration-guess weights; the balance gap is
measured in THREADS' last [I] entry). Gate 1 is JOINT and comes first.
## Lane A — Sprint 6
> You are Lane A on SHADES 3D, Sprint 6. Rebase onto main, read THREADS' last
> [I] (the balance numbers) and SPRINT6.md. Gate 1 first, jointly with B+C:
> your levers are the drain weights in main.js, possibly ONE new close anchor
> for a bed-covering small quad (re-run your own smallest-full-coverage assert
> after), and verdict truthfulness (a 4/4 clean hold must never read "you
> skimped"). Then gate 2, the week: five escalating nights, money persists,
> broke = game over, survive = win screen, "play again" becomes "next night".
> Also: lift E's screenshot POST into server.py (delete tools/yardshot/),
> decide the grass atlas (take the recipe or delete it), and land the pond
> ticker + hail banner if Sprint 5 didn't. Shepherd as always.
## Lane B — Sprint 6
> You are Lane B on SHADES 3D, Sprint 6. Rebase onto main, read THREADS' last
> [I] and SPRINT6.md. You hold the pen on balance.test.js: for each storm, an
> enumerable $80 REAL-shop loadout on an in-band quad must end hp≥50 with <2
> corners lost — and storm_02's line must genuinely need the repair or the
> broom (assert it fails without them). Then fabric choice in prep: porous
> shade cloth vs waterproof membrane (porosity exists in the sim) — agree the
> hail-vs-porosity rule with C in THREADS before coding, price the tradeoff.
> And post D the typical storm_02 belly-pond mass for their douse tuning.
## Lane C — Sprint 6
> You are Lane C on SHADES 3D, Sprint 6. Rebase onto main, read THREADS' last
> [I] and SPRINT6.md. Gate 1 partner: downdraft (0.40 also passes both physics
> gates per your own sweep) and hail-burst data are your levers. Then author
> the week's two storm variants (same JSON language, one new trick each) and
> forecast uncertainty: the card shows seeded ± ranges that resolve as the
> night approaches — DESIGN.md's partial-information canon, cheaply.
## Lane D — Sprint 6
> You are Lane D on SHADES 3D, Sprint 6. Rebase onto main, read SPRINT6.md.
> Calibrate the douse comedy to B's real pond masses (thresholds vs ~450 kg
> belly ponds), then play the balanced storms end to end as gate 1 lands and
> file feel notes in THREADS before it ships — you are the playtest lane, and
> after gate 2 you play the whole week.
## Lane E — Sprint 6
> You are Lane E on SHADES 3D, Sprint 6. Rebase onto main, read SPRINT6.md.
> Night dressing for the week's later storms (moon, lit house window),
> win-screen and game-over cards that feel like SHADES, and refresh the
> contact sheets once the balance pass lands.

80
SPRINT6.md Normal file
View File

@ -0,0 +1,80 @@
# SPRINT 6 — WINNABLE, THEN A WEEK OF NIGHTS (instructions for Opus 4.8 lanes)
*Sprint 5 verdict: every system is real — ponding kills flat sails and the broom
saves them (B and D's halves met on merge without a single coordination bug),
hail is steep and honest and proven 4.4× rig-responsive, the router tripwire
caught its first real omission. But the integrator measured the merged game and
the wild night has NO winnable line: survivable rigs don't cover the bed,
bed-covering rigs don't survive, and the $80 shop can't buy both. The systems
sprint is over. Sprint 6 makes the game FAIR, then makes it a CAMPAIGN.*
Read THREADS from the last [I] entry — the balance numbers are there.
## Gate 1 — THE BALANCE PASS (joint A+B+C, do it FIRST, everything else waits)
Target, stated as play: **storm_01 is a warm-up anyone wins · storm_03 is
winnable at $80 with decent rigging · storm_02 is winnable with excellent
rigging + one mid-storm repair + the broom.** Written as asserts (a new
`js/tests/balance.test.js`, owned jointly, B holds the pen): for each storm,
at least one enumerable $80 shop loadout on an in-band quad ends with
hp ≥ 50 and < 2 corners lost, driven through the REAL shop economy and for
storm_02 that loadout must genuinely need the repair or the broom (assert it
fails without them).
Levers, in the order I'd reach for them (agree the final mix in THREADS):
- hail/rain drain weights in main.js (integration guesses: 5.0 / 0.25);
- bed-coverage geometry: A may add ONE close anchor (e.g. a low hook on the
shed roof) so a small bed-covering quad exists — re-run A's own
smallest-full-coverage assert after, the >45 m² tension must survive;
- downdraftOfTotal 0.45 → C measured 0.40 also passes both physics gates;
- win bar (hp ≥ 50) and hardware prices last — they move everything.
Also: **verdict truthfulness** (A) — a 4/4 no-break run must never read "the
rain found what you skimped on". Verdict picks from actual failure modes:
corners lost / garden hailed / ponded and dumped / clean hold.
## Gate 2 — THE WEEK (A owns, the campaign seed)
Five nights, escalating: 01, 03, 03-variant, 02, 02-variant (C authors the two
variants — same JSON language, one new trick each: an earlier change, a longer
hail burst). Money persists: aftermath pay = base per storm severity + garden
bonus + intact-hardware refund collateral; bank carries to the next night's
shop. Broke before night five = game over (verdict card); survive the week =
the win screen SHADES has never had. Keep it one file if you can — it's a
phase-machine wrapper, not a new system. "Play again" becomes "next night".
## Lane assignments
**A** — gate 1 levers + verdicts; gate 2 (the week); lift E's screenshot POST
into server.py (delete tools/yardshot/); take E's grass recipe or delete the
atlas (your call, stop carrying it); pond ticker + hail banner if they didn't
land in Sprint 5's HUD.
**B** — balance.test.js pen-holder; fabric choice in prep (porosity exists in
the sim — expose shade cloth vs waterproof membrane as a per-sail choice with
DESIGN.md's tradeoff: porous sheds wind but lets hail through harder? No —
keep it honest: porous halves wind load AND ponds nothing, membrane blocks
hail fully; price the difference. Coordinate the hail-porosity question with
C before coding); tell D the typical storm_02 belly-pond mass so the douse
comedy lands.
**C** — gate 1 partner (downdraft/hail data); the two storm variants for the
week; forecast UNCERTAINTY (DESIGN.md canon: early forecasts are partial —
card shows ranges that resolve as the night approaches; cheap: render bands
from a seeded ± on the real numbers).
**D** — douse calibration to B's real masses (splash/stagger/knockdown
thresholds vs ~450 kg belly ponds); feel pass on the balanced storms
(you're the player); surface anything gate 1 got wrong before it ships.
**E** — night-variant dressing (moon, house window light for the night
storms); win-screen and game-over art cards (text-on-canvas is fine, make
them feel like SHADES); refresh contact sheets after the balance pass.
## Gates
```
gate 1: balance.test.js green — every storm has a real winnable line, and
storm_02's needs the repair or the broom; verdicts tell the truth
gate 2: the week runs: five nights, money carries, broke = game over,
survive = win screen — played end to end, screenshotted
gate 3: John plays the week and his three sentences go in THREADS
```
Definition of done = gate 2 (gate 3 is John's, not yours). After this SHADES
is a GAME — Sprint 7 starts DESIGN.md's real campaign: sites, clients,
job types, the landscaper service.