Log gate 1's real blocker, correct my own bad number, brief D and C

The wild night's blocker is geometry, not drain weights: the best
bed-covering quad puts 7.4 kN on p1, above the 6.5 kN rated shackle, so
no loadout at any price holds it. Re-orders the lever list toward load.

Also corrects an hp=99 I measured in-page (the phase machine re-rigs
after rigSail, so I scored a rig I hadn't chosen), posts D the real pond
masses for douse calibration, and asks C the hail-vs-porosity question
before coding fabric choice.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
m3ultra 2026-07-17 09:26:34 +10:00
parent 98bc11f033
commit 96cd9f0f97

View File

@ -1802,3 +1802,69 @@ Format: `[lane letter] YYYY-MM-DD — note`
flagged exactly this joint call when holding 0.45 — but it is now measured and it is SPRINT6 gate 1.
Also: scoreRun's verdict text blames "what you skimped on" on a 4/4 no-break run — verdicts must
read the actual failure mode.
[B] 2026-07-18 — 🚦 **GATE 1: `balance.test.js` landed and it is RED. Here is the blocker, and it is NOT
the drain weights.** The suite buys through RiggingSession, flies the real storm JSON over the real
yard, runs skyfx's real exposure into main.js's real drain, and judges with main.js's own win rule.
Status: storm_01 warm-up **PASS** · cheap-rig-punished **PASS** · decision-13 miss-the-bed control
**PASS** (hp 36 — the garden score reads the rig, C's hail is doing its job) · **storm_02's winnable
line FAILS, hp=36, 2/4 lost.** Reproduces the integrator's measurement exactly.
**The blocker, measured.** The best bed-covering quad the dressed yard offers is `p1,t1b,t1c,t2b`
(41 m², 63% of the bed — only reachable at all because of A's decision-2 branch anchors). Its peak
corner loads in storm_02:
```
p1 = 7.4 kN <-- ABOVE the rated shackle's 6.5 kN, the best hardware in the game
t2b = 3.8 kN (a shackle is 3.2 — marginal)
t1c = 2.4 kN t1b = 1.2 kN
```
**p1 cannot be held at any price.** There is no loadout, at $80 or $800, that survives this quad —
the shop's ceiling is 6.5 kN and the geometry asks for 7.4. Two corners go, the sail stops shadowing,
and hail exposure jumps to 11.42 hail-seconds — *identical to a bare bed*, which is why every covering
rig scores exactly 36. So this is a GEOMETRY problem, not a weights problem, and the lever list needs
re-ordering: hail/rain weights can't fix it (I solved it out — you'd need hail weight 3.61, but that
only "works" because it assumes the corners still break; if the rig HELD, H≈0 and it wins at any
weight). **Reach for load, not for drain:**
1. **downdraft 0.45 → 0.40** — C already proved it passes both physics gates, and it's the only
lever that lowers p1 directly. My guess is it's not enough alone (7.4 → ~6.6, still at the
ceiling), but it's free and it's measured.
2. **A: p1 is the problem corner** — a post at (4.85, 3.95, 5.93) pulling 7.4 kN. Either move it,
or the quad wants a different fourth anchor. I'd try `t1b,t1c,t2b` + p3 or + p2 before adding
anything new; I ran out of budget to sweep them and it's an hour's work for whoever picks it up.
3. **A 4th hardware tier** (a ~10 kN chain/bow shackle at ~$45) would make the quad holdable, but it
breaks the $80 economy's "you always field one dodgy corner" invariant — I'd take lever 2 first.
4. Win bar / prices last, as SPRINT6 says.
⚠️ **Main will be RED until this is settled** — that's the gate working as specified ("everything else
waits"), but flagging so nobody thinks they broke it.
[B] 2026-07-18 — 🤦 **a correction to my own number, because it nearly went in the log.** Mid-session I
measured this same line in-page at hp=99, 4/4 held, and briefly believed the wild night was already
winnable. It isn't. Driving the game via `SHADES.rigSail` and then advancing the phase machine
**re-rigs from the game's own RiggingSession**, so I was scoring a rig I hadn't chosen. The number was
a measurement of the harness, not the game. balance.test.js constructs its rig, wind, sky and drain
explicitly for exactly this reason, and its hp=36 is the one to trust. If you drive `SHADES` by hand,
don't cross a phase boundary after rigSail.
[B] 2026-07-18 — 📏 **LANE D — your douse numbers, measured on storm_02.** Typical belly pond on a rig
that actually ponds: **peaks ~450 kg on a right-sized level sail, ~780 kg on a big flat one** (and the
biggest quads reach ~2100 kg before the belly-tear at 4 m of sag dumps them). A 1.5 s poke with
`drainPondAt(node, dt, 3)` sheds **~290 of ~310 kg**, i.e. most of the belly in one hold. So for
calibration: **a full poke lands 150-400 kg on your head** — I'd put the stagger threshold around
100 kg and full knockdown around 300, which makes a routine sweep a stagger and a neglected belly a
faceplant. `pondDump` carries `{kg}` so you can scale the reaction off the real number rather than a
flag. Note the twisted rigs pond ~nothing (1.7 kg/m²) — the broom is a flat-rig tool by construction,
which I think is correct: it's the tax on chasing coverage.
[B] 2026-07-18 — ❓ **LANE C — the fabric question, before I code it (SPRINT6 §B).** The brief says
"porous halves wind load AND ponds nothing, membrane blocks hail fully". The sim already has
`porosity` (it scales wind pressure and, since rain lands on the horizontal projection, a porous cloth
should also catch less water). **The one I need from you: does porosity let HAIL through?** Physically
a knitted 70% shade cloth stops a 2 cm hailstone dead — the stone is bigger than the aperture — so I'd
say **porosity does NOT reduce hail blocking**, and the honest tradeoff is:
```
shade cloth (porous) cheaper · ~half the wind load · ponds nothing · blocks hail · lets RAIN through
membrane (solid) dearer · full wind load · PONDS (needs the broom) · blocks hail · blocks rain
```
which makes it a real decision the moment rain matters to the score — and right now it doesn't much
(rain weight 0.25 vs hail 5.0). So the fabric choice is nearly free until the drain weights change,
and I don't want to ship a choice with an obvious answer. **Your call on the hail rule + whether
rain's weight is going up in the balance pass; I'll price it once you've said.** Not coding it blind.