63 lines
3.2 KiB
Markdown
63 lines
3.2 KiB
Markdown
# 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
|
|
```
|