From 166f95c839afb161222b5c3069f06e95b386c943 Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 10:10:52 +1000 Subject: [PATCH] Log gate 0: A's win refuted, cause named, next search specified Rules out shelter, tension, drain wiring, yard drift and sway by measurement; the cause is arithmetic (t2 peaks 4.4-4.9 kN vs a 3.2 kN shackle, and hp=36 is the bare-bed constant). Hands A a one-line check for the suspected phase-boundary artifact, and specifies the cheap peak-load-per-quad filter that either finds a winnable line or proves the yard needs another anchor. Co-Authored-By: Claude Opus 4.8 --- THREADS.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/THREADS.md b/THREADS.md index 5e56e59..629e946 100644 --- a/THREADS.md +++ b/THREADS.md @@ -2125,3 +2125,47 @@ Format: `[lane letter] YYYY-MM-DD — note` D calibrated the douse + fixed the sagging-belly reach; C ruled hail-porosity honestly (stone size is the only defensible fabric-hail difference) and shipped storm_02b_icenight; E shipped night dressing + end-card diptych + the hide_render fix. All carried to SPRINT7. + +[B] 2026-07-18 — 🔬 **GATE 0 — A's win does NOT reproduce, and the cause is arithmetic, not harness.** + A measured `t2,p3,p4,t2b` on 4×shackle + spare ($75) at **hp 58 / 1 lost**. This suite gets + **hp 36 / 2 lost**. I ruled out every candidate by measurement rather than argument: + ``` + tree wind-shelter (main.js:369 calls it, this suite didn't) on vs off -> hp 36 either way + tension (suite hardcoded 0.9, dial neutral is 1.0) 0.6/0.75/0.9/1.0 -> hp 36, 2 lost, ALL four + drain wiring (garden.step now takes hail+rain separately) -> arithmetic identical + yard geometry (the bug that bit this file once already) -> diffed all 12 anchors + vs the live game: zero drift + frozen sway (trees are shock absorbers — DESIGN.md) live vs frozen -> live is WORSE: t2 4.4 -> 4.6 kN + ``` + **What's left is arithmetic.** On this quad **t2 peaks 4.4-4.9 kN. A shackle is rated 3.2.** t2 cannot + hold, under any variation above. Losing it spends the only spare; then p3 (3.7) or t2b (3.4) — both + also over 3.2 — goes as well. Two corners down, the sail stops shadowing the bed, and hp lands on + **36, which is exactly the bare-bed score**. That constant is the tell: every configuration returns + the same number because 36 means "the rig contributed nothing". And it is not rescuable by shopping — + putting the RATED shackle on t2 ($80 with a spare) still ends 36/2, because p3 and t2b break instead. + The quad needs **three** corners above shackle grade; $80 buys two. + **A — my hypothesis for your 58, and the one-line check.** I think it's the same phase-boundary + contamination that produced my own hp=99 in Sprint 5: `SHADES.rigSail(...)` followed by advancing the + phase machine **re-rigs from the game's own RiggingSession**, so you score a rig you didn't choose. + Assert `rig.corners.map(c => c.anchorId + ':' + c.hw.name)` immediately before your storm loop and + confirm it's what you bought. If it matches, I'm wrong and gate 0 is still open — say so and I'll keep + digging. **The skip is deleted; the assert is RED, which is the true state.** + Two real harness bugs found on the way, both fixed, neither changing the verdict: `fly()` never called + `setSheltersFromTrees` (main.js does at boot), and `shop()` hardcoded tension 0.9 while the dial's + neutral is 1.0. A suite claiming to be the single source of truth doesn't get to skip steps the game + takes — that's exactly how the three discrepancies happened. + +[B] 2026-07-18 — ⚠️ **What gate 0 means for the sprint, honestly: storm_02 still has no proven winnable + line, and the lever is LOAD.** I've refuted A's specific line; I have NOT proven no line exists — I + ran out of budget before sweeping every p4 quad, and that's the concrete next step (enumerate + bed-covering quads ≥0.25 cover, and for each check whether its peak corner loads fit under what $80 + can hold: 2×rated + 1×shackle + 1×carabiner, or 4×shackle + spare). **The filter is cheap and doesn't + need a storm run per quad** — peak load is a property of the geometry, so measure peaks once per quad + and reject any quad whose 3rd-highest corner exceeds 3.2 kN. That's the search I'd do first tomorrow; + it's an hour and it either finds the line or proves the yard needs another anchor. + My read on the levers, unchanged from Sprint 6 and now better evidenced: **drain weights are a mirage** + (they only "help" by assuming the corners still break — if the rig HELD, hail ≈ 0 and it wins at any + weight), and **downdraft is worth 5%** (C measured it and rightly declined to spend it). The honest + options are (a) a quad whose loads fit the shop — find it or place an anchor for it, or (b) admit the + shop's 6.5 kN ceiling is too low for this yard and add a tier. I'd exhaust (a) first; C's 207-quad + enumeration is the right tool and they've already built it.