From 63beec87a75ecf2073ed96a9f3eecf5b034e781b Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 15:12:55 +1000 Subject: [PATCH] Add Sprint 10 plan and lane prompts: sites are data Co-Authored-By: Claude Fable 5 --- LANE_PROMPTS.md | 45 +++++++++++++++++++++++++++++++++++ SPRINT10.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 SPRINT10.md diff --git a/LANE_PROMPTS.md b/LANE_PROMPTS.md index 8255182..e991fb5 100644 --- a/LANE_PROMPTS.md +++ b/LANE_PROMPTS.md @@ -523,3 +523,48 @@ THREADS' last [I] entry then SPRINT9.md. > carport — anchor-poor on purpose; its personality is "nowhere to tie off". > Deterministic factory, contact sheet, and pyrrhic-ending card support when > A rules. + +--- +--- + +# SPRINT 10 prompts (sites are data) + +Same rules: own clone, own branch, rebase onto latest main FIRST. Read +THREADS' last [I] entry then SPRINT10.md. Gate 1 is A's, uninterrupted — +everyone else's site work is already on disk waiting for it. + +## Lane A — Sprint 10 +> You are Lane A on SHADES 3D, Sprint 10. Rebase onto main, read SPRINT10.md. +> ONE headline, from day one: extract the yard into data/sites/backyard_01.json +> (world.js builds from data; byte-identical yard proven by the existing +> anchor tripwires and quad-band asserts), then author site_02_corner_block +> from the pieces already waiting (E's carport GLB, C's venturi schema — give +> C their two gap coordinates, D's work:"cloth"|"bracket" anchor field). The +> week gains a site per night; night 3 moves to the corner block. Nothing +> else until this lands. + +## Lane B — Sprint 10 +> You are Lane B on SHADES 3D, Sprint 10. Rebase onto main, read SPRINT10.md. +> Build tools/site_audit/ from your quad/coverage/afford sweep — one command, +> any site JSON, reports the winnable lines or names the blocking corner. +> Run it on site_02 the moment A's JSON exists; if there's no $80 line, tell +> E to move the tree (their standing offer). Answer C's porosity-into- +> gardenHailExposure question in THREADS. + +## Lane C — Sprint 10 +> You are Lane C on SHADES 3D, Sprint 10. Rebase onto main, read SPRINT10.md. +> Wire venturi from A's site JSON when it lands; decide the week's storm/site +> pairing so the corner block teaches the venturi (southerly on night 3?); +> land the porosity/gardenHailExposure one-liner if B says yes. + +## Lane D — Sprint 10 +> You are Lane D on SHADES 3D, Sprint 10. Rebase onto main, read SPRINT10.md. +> Land needsLadder on A's work-field (mechanism, not type — your own audit), +> then play site_02 cold and log feel notes. The carport traps should read +> tempting, not buggy. + +## Lane E — Sprint 10 +> You are Lane E on SHADES 3D, Sprint 10. Rebase onto main, read SPRINT10.md. +> Support site_02 as it lands: dressing adjustments, contact sheets, and a +> carport-collateral aftermath line/card if the trap earns one. If B's audit +> says the site has no winnable line, moving the tree is yours. diff --git a/SPRINT10.md b/SPRINT10.md new file mode 100644 index 0000000..2304353 --- /dev/null +++ b/SPRINT10.md @@ -0,0 +1,62 @@ +# SPRINT 10 — SITES ARE DATA (instructions for Opus 4.8 lanes) + +*Sprint 9 closed the balance book: the wild night has a CLEAN $80 win (porous +cloth · dd 0.40 · the four-post quad), fabric is a real choice that decides +one corner's life, the pyrrhic ending has a rule, a verdict and a card, and +the settled-at-entry guard finally measures the thing the words mean — with a +proof that it can fail. Three retractions were filed this sprint, all +graceful, all measured. The engineering culture is the co-star now.* + +*What did NOT land, for the second sprint running, is A's site extraction — +the week ate Sprint 8, the pyrrhic ruling ate Sprint 9. Every other lane's +site work is DONE and waiting: E's carport trap, C's venturi, D's ladder-seam +spec, B's audit sweep. Sprint 10 has one headline and it's A's, uninterrupted.* + +Read THREADS from the last [I] entry. + +## Gate 1 — SITE EXTRACTION (A, from day one, nothing else first) + +`data/sites/backyard_01.json`: anchors, bed, house line, trees, posts, shed, +gnome, dressing list — world.js BUILDS FROM DATA, byte-identical yard as the +assert of success (E's tripwires already pin the anchor positions; a.test's +quad-band asserts must pass unchanged). Then `site_02_corner_block.json`: +E's carport (anchor trap, ratings baked in the GLB), ONE tree, paling fences, +smaller bed, C's venturi list (their schema is in THREADS — answer their +"where's the gap?" question with two coordinates). Week gains `site` per +night; night 3 moves to the corner block. +Include D's field: anchors carry `work: "cloth" | "bracket"` (or your +spelling) so needsLadder keys on the actual mechanism — their audit showed +the carport silently disables the ladder otherwise, failing open. + +## Gate 2 — site_02 is FAIR before it ships (B, then D) + +**B**: `tools/site_audit/` — the quad/coverage/afford sweep as a one-command +tool (your own words: geometry decides winnability, audit at authoring time). +Run it on site_02 the moment A's JSON exists; post the winnable line(s) or +tell E to move the tree. Every future site runs this before landing. +**D**: land needsLadder on the new field; play site_02 cold; feel notes in +THREADS. The carport traps should read as tempting, not as bugs. + +## Everyone else (small) + +**C**: wire the venturi from site JSON once A lands the shape; storm/night +pairing for the corner block (does the southerly buster move to night 3 so +the venturi teaches?). Optional: gardenHailExposure reading sail.porosity +(your offered one-liner) — B said yes or no in THREADS first. +**E**: whatever site_02's dressing needs once it's in-game (fence lengths, +bed size), refreshed contact sheets, and the site_02 aftermath cards if the +carport collateral wants its own line ("you took the carport with you"). + +## Gate 3 — JOHN PLAYS THE WEEK (carried; the game is ready) + +`python3 server.py` → play five nights with the mouse, through the real +buttons. Three sentences in THREADS. Sprint 11 (jobs, clients, pay — the +landscaper service proper) gets shaped by them. + +``` +gate 1: both sites load from JSON; backyard_01 byte-identical; night 3 is + the corner block +gate 2: site_audit says site_02 has a winnable line; D's cold playthrough + logged; needsLadder keyed on mechanism, not type +gate 3: John's three sentences +```