From 125411e0df6b1d8af338104401538f9f967bd8aa Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 08:54:02 +1000 Subject: [PATCH] Add Sprint 6 plan and lane prompts: winnable, then a week of nights Co-Authored-By: Claude Fable 5 --- LANE_PROMPTS.md | 52 ++++++++++++++++++++++++++++++++ SPRINT6.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 SPRINT6.md diff --git a/LANE_PROMPTS.md b/LANE_PROMPTS.md index de5693d..b2a85bf 100644 --- a/LANE_PROMPTS.md +++ b/LANE_PROMPTS.md @@ -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. diff --git a/SPRINT6.md b/SPRINT6.md new file mode 100644 index 0000000..78e7bf4 --- /dev/null +++ b/SPRINT6.md @@ -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.