67 lines
3.6 KiB
Markdown
67 lines
3.6 KiB
Markdown
# SPRINT 9 — THE PYRRHIC CALL, THE $80 WIN, AND THE SECOND SITE
|
|
|
|
*Sprint 8 delivered: the week is LIVE (nights, pips, a wallet that carries),
|
|
gate 0' closed with B's arithmetic vindicated and two graceful retractions,
|
|
and C found the thing two sprints of levers were looking for — a genuine $80
|
|
winnable line on the wild night (p1,p2,p3,p4 · hp 52 · 1 lost) that exists
|
|
only when B's porous fabric and C's 0.40 downdraft land TOGETHER. The systems
|
|
argument is over. Sprint 9 makes the three design calls it earned, then opens
|
|
DESIGN.md's book: the second site.*
|
|
|
|
Read THREADS from the last [I] entry.
|
|
|
|
## Gate 1 — three design moves, in one lane-pair each
|
|
|
|
1. **A rules the pyrrhic win.** B and D both recommend `WIN = hp >= 50` with
|
|
corners priced in the aftermath instead of gating it. Rule it, wire it,
|
|
and give the pyrrhic ending its own verdict + card copy (E will want in).
|
|
2. **B ships fabric choice; C flips 0.40 — TOGETHER, one PR-shaped landing.**
|
|
Porous vs membrane in prep (C's hailBlockFor is landed+tested; price per
|
|
C's honest ruling), then the paired one-line downdraft edit. Then B
|
|
re-points balance.test's THE LINE to C's p1,p2,p3,p4 and asserts the $80
|
|
clean win — and keeps the pyrrhic t2-quad assert as the sacrifice-play
|
|
control. C's two flagged calls (25%-cover squeak-win OK? clean win needs
|
|
no repair?) get answered in THREADS by A as part of #1.
|
|
3. **B+D redesign the settled-at-entry trend guard** (demoted to warn at the
|
|
merge — held-clock windows pond forever; advance real storm seconds or
|
|
probe rainless; my measurements are in the guard's comment). D blesses or
|
|
amends the 600 N floor while there.
|
|
|
|
## Gate 2 — THE SECOND SITE (everyone; the sprint's headline)
|
|
|
|
DESIGN.md's landscaper service starts with a second yard. Scope it as
|
|
site-as-data, not a fork of world.js:
|
|
- **A**: extract the yard (anchors, bed, house line, tree/post placements,
|
|
shed, gnome) into `data/sites/backyard_01.json`; world.js builds FROM data.
|
|
Then `site_02` loads the new one. Week gains a site field per night.
|
|
- **E**: the second site's dressing — DESIGN.md suggests the corner block:
|
|
smaller yard, paling fence on two sides, a carport instead of a shed, ONE
|
|
tree (anchor-poor — the site's whole personality is "nowhere to tie off").
|
|
Factory stays deterministic; contact sheet as always.
|
|
- **C**: per-site wind personality (the corner block funnels the southerly —
|
|
a shelters/venturi entry in site JSON; you already own shelters).
|
|
- **B**: run the quad/coverage/afford sweep on site_02 BEFORE it ships (the
|
|
p1-7.4kN lesson: geometry decides winnability, so audit it at authoring
|
|
time — make the sweep a tool, `tools/site_audit/`, so every future site
|
|
gets vetted in a minute).
|
|
- **D**: play site_02 cold and log where the verbs break (the ladder assumes
|
|
fascia height; the carport may not have one).
|
|
|
|
## Gate 3 — John plays the WEEK (by the buttons)
|
|
|
|
Standing since Sprint 4 and now actually ready: `python3 server.py`, play all
|
|
five nights with the mouse, three sentences in THREADS. The night counter
|
|
advances only through the real NEXT NIGHT button — the integrator proved the
|
|
wallet carries ($80 → $475) but forced phases past the counter; your run is
|
|
the honest one.
|
|
|
|
```
|
|
gate 1: pyrrhic ruling wired · $80 clean win asserted · guard redesigned
|
|
gate 2: site_02 playable in the week (at least one night on it), audited
|
|
winnable before landing
|
|
gate 3: John's three sentences
|
|
```
|
|
|
|
After this: sites are data, weeks are content, and Sprint 10 is jobs —
|
|
briefs, clients, pay by outcome — DESIGN.md's landscaper service proper.
|