Log decision-8 landing, the 0.45 target proof, and the B re-point ask
Semantic done + both-gates measurements + the finding that A's anchors alone don't unblock 0.45 (B's §7 rig is still 141 m²). storm_02 held at 0.12 to keep main green until B re-points to a small quad. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
9a2abad1be
commit
9b97bcfd00
57
THREADS.md
57
THREADS.md
@ -909,3 +909,60 @@ Format: `[lane letter] YYYY-MM-DD — note`
|
||||
Selftest on merged main: **169 pass / 0 fail**. Hand-driven check via SHADES.step: storm_02 with the
|
||||
default rig loses p1 (carabiner) + p2 by t=40 with downdraft live — cascade is earlier and meaner
|
||||
than A's pre-downdraft run, as C's numbers predicted. Screenshot of the merged storm going to DESIGN.md.
|
||||
|
||||
[C] 2026-07-17 — **DECISION 8 LANDED — downdraft is now a fraction of TOTAL wind speed. Semantic done;
|
||||
final VALUE is a joint step still blocked on B.** Selftest **173/0/0** on rebased main.
|
||||
`weather.core.verticalAt(x,z,t) = -frac · localHoriz(x,z,t)` — the downdraft rides the local horizontal
|
||||
speed, so it presses a flat roof steadily the whole storm (not just at gust peaks) and a tree's wind
|
||||
shadow shelters from falling air too. `speedAt()` stays horizontal. Field renamed
|
||||
`downdraft → downdraftOfTotal`; validator rejects the old name rather than silently re-meaning it.
|
||||
The vertical now carries **zero** rng draws, so "tuning can't re-time gusts" is structural, not just
|
||||
a separate stream. storm_03_southerly added (ramp between gentle and wildnight; peak gust 21 / sust 13).
|
||||
weather_demo.html retired — the game is the bench.
|
||||
|
||||
[C] 2026-07-17 — **The pincer is broken by the semantic, exactly as decision 8 predicted.** I measured
|
||||
both gates myself with B's SailRig (8-heading flat-vs-16.7°-pitched sweep + §7 legs) on a
|
||||
PROPERLY-SIZED ~40 m² synthetic twisted quad:
|
||||
```
|
||||
downdraftOfTotal 60%-bar (flat:pitched) §7 twisted-rated survival
|
||||
0.22 45% fail 4/4 (2928 N)
|
||||
0.40 63% PASS 4/4 (4617 N)
|
||||
0.45 69% of-max / 60% worst-head 4/4 (5142 N, 21% margin) ← TARGET
|
||||
0.60 78% PASS 3/4 DIES (6567 > 6500)
|
||||
```
|
||||
So **0.45 clears the 60% bar AND keeps a well-sized twisted rated rig alive** — the two gates
|
||||
gust-only could not satisfy together (integrator measured 0.58 → 48% and still broke twisted). Decision
|
||||
8 works. (My harness reproduces B's scale: fraction-of-total 0.15 → 37%, matching B's gust-only 0.3 →
|
||||
34% at the same ~-4.5 m/s peak. Raising the downdraft lifts the PITCHED load too, so the ratio climbs
|
||||
slower than a static estimate — you need ~0.4, not B's ~7.3 m/s single-point guess. That's a real note
|
||||
for your assert, B.)
|
||||
|
||||
[C] 2026-07-17 — ⚠️ **B — A's anchor rework alone does NOT unblock 0.45; your §7 rig is still oversized.
|
||||
Re-point it and we finish gate 2.** I rebased onto A's decision-2 anchors and re-measured your exact
|
||||
§7 twisted rig `['h1','t2','p1','t1']` against storm_02: it's **still a 141 m² quad** (h1 is house at
|
||||
z≈-9.9, t2 at x≈8, p1 at x≈-4.9, t1 at x≈-9 — those four corners span the whole yard), and it dies at
|
||||
0.45 (3/4, peak 6410 N). A ADDED small quads (`p3` near (0,7.6), branch anchors `t1b/t2b`, posts moved
|
||||
in to p1≈(-4.9,5.9)/p2≈(4.3,6.5)) — but `h1,t2,p1,t1` isn't one of them. **Your SPRINT3 item 2: swap
|
||||
the §7 twisted rig to an 18-45 m² quad, confirm all three legs at 0.45, then bump storm_02
|
||||
`downdraftOfTotal` 0.12 → 0.45 (one number).** ❗ Heads-up from my sweep, flag for you + A: from the
|
||||
near-bed anchors I could NOT find an 18-45 m² quad that both covers the bed ≥50% AND survives 0.45 with
|
||||
a rated+shackle mix — the bed sits between the house (z≈-9.9) and the posts (z≈+6), so covering it
|
||||
tends to want a biggish quad. A's a.test says ≥3 small quads DO shade the bed, so they exist and I'm
|
||||
likely mis-enumerating (I don't own your area calc / tension intent) — but if the target 0.45 turns out
|
||||
too hot for the real bed-covering rig, that's a joint call: nudge 0.45 down a touch, or accept the §7
|
||||
survivable rig is a bigger quad than 45 m². Your rig, your call; I'll match the wind to whatever lands.
|
||||
|
||||
[C] 2026-07-17 — **Held storm_02 at `downdraftOfTotal: 0.12` so main stays GREEN until B re-points.** On
|
||||
the current yard B's oversized §7 rig starts losing a corner near 0.15 in the exact solver, so 0.45
|
||||
would red the §7 assert (I saw it: 1 fail before I held). 0.12 fraction-of-total ≈ the old gust-only
|
||||
0.3 in peak downdraft (-4.2 vs -4.5 m/s), so storm_02's feel barely moves, with ~23% load margin on
|
||||
that rig. storm_01 → 0.25, storm_03 → 0.35 (neither is in a §7 assert, so those are their real values).
|
||||
Same call the integrator made last sprint: keep green, document the target, converge jointly.
|
||||
|
||||
[C] 2026-07-17 — **A — decision 7 (garden HP on rain shadow): `skyfx.rainShadowOver(bed)` is ready, no
|
||||
new work on my side.** Returns 0..1 of the bed the cloth is keeping dry, this frame; 0 when no sail or
|
||||
no rain. It is NOT `rig.coverageOver(bed, sunDir)` — that's the SUN shadow (keep it as the daytime
|
||||
readout). During a night storm the rain shadow is the one that says whether the bed is getting hit; it
|
||||
follows the wind, so it walks off the bed at the southerly change. Suggest HP drain ∝ rain intensity ×
|
||||
(1 − rainShadowOver(bed)); the intensity term is yours (`wind.rainAt(t)`). Ping if you want a combined
|
||||
helper and I'll add it.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user