diff --git a/THREADS.md b/THREADS.md index 4fe20cc..08e647b 100644 --- a/THREADS.md +++ b/THREADS.md @@ -8985,3 +8985,67 @@ anchors are your GLB), but the tooling is now waiting, not TODO. play through the board (at least one alternative offer, one constrained job). Gate 4 (John plays the seven at partly.party) closes the sprint; deploy fires after D's pass integrates. + +[D] 2026-07-21 โ€” ๐ŸŒŠ **GATE 3.2 LANDED: THE POOL YARD โ€” authored cold, priced by the gauntlet, + refused honestly, and in the game only if somebody chooses it.** Selftest 515/0/0 (510 + 5 + pool-yard pins, the count moved exactly by what was added). The first yard with no NIGHTS + slot: `pool_yard_southerly` is a POOL entry in board.js (A's granted edit) and nothing else โ€” + decline it all week and the campaign is complete without it, which is arc 2's promise made + literal. + + **THE YARD (site_04_pool_yard, "The Pool Yard", the Karalis place):** E's pool ring east โ€” + fourteen perfect posts, every one an honest no โ€” the bed poolside, and ONE corroded post + (c1, 0.55, $45) standing in the venturi channel between the house's east end and the pool + enclosure, exactly where the bed's NE corner wants steel. Honest steel is scarce and west + (gum t1/t1b, posts p1-p3, the familiar 0.35 fascia). Authored cold in the editor โ€” palette + shapes, editor placement, iterative SCORE IT, canonical exportJSON; three passes (first cut + made TWO in-band quads โ€” anchors spread past the 18-45 mยฒ band; the band is a level-design + law I now have a feel for). + + **THE NUMBERS (SCORE IT card = audit.html over the shipped file, zero delta between the two + harnesses):** WINNABLE at $80 โ€” 13 quads in band, 6 clean, 1 marginal. Cheapest hold $40 + (h1,t1b,p2,p3 โ†’ 92.7 FULL, 58% cover, no rust in it). **Every 92%-cover line routes through + c1 โ€” full shade in this yard has rust in it or it does not exist.** And the tier does what E + built it for: the SAME eye flies 1.9 kN (clean, $30 rated) on t1,p1,p2,c1 and 3.6-4.1 kN + (UNHOLDABLE at any price) on t1,t1b,p2,c1 / t1b,p1,p2,c1 โ€” swap one gum anchor and the + gamble flips, and nothing on the object tells you which. **HOW CORROSION PRICES: +$25 of + hardware you must rate up (a $5 carabiner corner becomes a $30 rated corner), a $45 + collateral stake, and a shape-sensitivity you cannot read off the post.** Fence compliance + prices as ABSENCE: the ring contributes zero anchors and zero exposure โ€” the offer card's + $160 (gutter 90 + rust 45 + gnome 25) deliberately does not name the fence, because "not + scored" must never read as "free" and nothing can bend a pool fence yet (bike rule). + + **SEPARATION: REFUSED, third in the family, receipts in the site file** โ€” bare 83.7 FULL + vs best flown 92.7 (+9.0): bareMustLoseBelow cannot be written; the southerly cannot kill + an open bed. First refusal authored AFTER A's 0.4 ruling made the pattern canon, and this + yard IS that canon on purpose: the sail here is for the steel and the collateral. Flagged + for B: when the garden-BONUS separation shape lands, this yard's +9.0-at-$40 is a + bonus-stake candidate โ€” re-measure then. + + **โš ๏ธ FILED โ€” THE SECOND-RUST-POST LANDMINE (E/A, before any yard ships two):** two + corroded posts in one yard SHARE the baked `collateral: 'corroded_post'` key. + structFor/wreckStructure match the FIRST entry with the key and C's failure envelope + dedupes keys โ€” so the second post's failure would bill once and wreck the wrong post + (free-failure bug in a rust costume). The pool yard ships ONE post on purpose and pins it + (d.test). A second rung in one yard needs per-instance key plumbing first. + + **PINS (+5, d.test):** chosen-never-scripted (no NIGHTS slot, POOL entry with receipt, + southerly = the taught storm) ยท ring adopts nothing + unpriced-by-ruling, rust adopts once + at type corroded_post/$45/wreck wired, exactly ONE rust post ยท separation-judged XOR with + the receipts' own numbers ยท wreck apron threads the needle (bed east 2.5 โ‰ค shaft west + 2.84; shaft east 3.36 โ‰ค ring west 3.7 โ€” E's +Z 3.9 m apron lands in the path, in the + yard) ยท exposureOf = $160 with exactly three items and the fence in none of them. + Cross-lane, flagged (revert-and-tell-me): gardenfly.selftest's judged walk grew + site_04_pool_yard and its count moved 3โ†’4 in the same commit that ships the yard โ€” a yard + missing from that walk is unjudged SILENTLY, which is the silence the gate forbids. + + **MUTATIONS โ€” 1 full-suite, 10 probed, every one red with its own words:** the finding + stripped from the site file ran the REAL suite to **513/2** โ€” B's extended walk red + ("site_04_pool_yard has neither a separation block nor a _separation_finding โ€” the yard + is UNJUDGED") AND my XOR pin red ("silence is not an option") โ€” the double tooth proving + the walk extension covers the new yard. Probed against mirrored assert expressions + (B's S17 precedent, disclosed): entry deleted / re-paired to the wildnight / receipt + stripped / scripted slot added; gnome unpriced ($135) / rust zeroed ($115) / fence + priced ($460 โ€” the bike-rule breach reads as red, not as revenue); c1 nudged into the + ring apron (3.86 > 3.70) / bed widened under the shaft / c1 falling over the south + fence. Controls green on the shipped data.