HardYards/web/world/js
type-two db1977f55d Lane D S18 gate 1.3: a corner you CUT is not a corner that failed — and gate 1's four unwired seams
THE MONEY. B ruled on the rig that a cut is a decision and emitted no `break`
— but _releaseCorner sets c.broken for a cut exactly as for an overload, and
every ledger surface reads broken. So taking the signature decision billed you
for it five ways: the hardware, the $180 carport you cut the sail TO SAVE
(billed AND wrecked), the gnome's two-corner rule, the clean bonus it voided,
and a free warranty callout tomorrow plus half a star. The invoice would have
printed "You spent the sail to keep the steel" directly above a $180 charge for
the thing you kept. Nobody wrote a wrong line; the join is a flag no verb set
until now. A cut now bills nothing, wrecks nothing, warranties nothing and
costs no standing — and the refund counts it, because "save the anchors" is a
ledger line and not a slogan. `lost` still counts it: the sail IS on the lawn.

THE FOUR SEAMS, all found by playing night 5 and reading the cards, all data or
a name in A's files, all pre-authorised in THREADS, none of them visible to 574
green asserts:
  · B's authored cowboy rig had not landed, so the carport corner ARRIVED DOWN
    and the knife had no object.
  · pay.garden = 0 had not landed; the first emergency invoice paid $38 for a
    bed nobody had a prep phase to protect.
  · rig.breakCorner?.() — the door is called failCorner. An optional call to a
    renamed method is a silent no-op that reads exactly like a call.
  · attach({at, wind}) was never passed: clockSkew read 30.02 on the one night
    that starts mid-storm, and the knife's own invoice line said "9s in" on a
    night you arrive at 30.

And the paper half of John's ruling: at ★0.0 the clamp eats the stand-up
charge, so the card promised a price the game would not take and the invoice
carried "−½★ standing" four rows above "★ 0.0 → ★ 0.0". The documents now print
what will actually be charged. Whether the ruling should have teeth at the
floor is John's, and it is filed with the measurement.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 21:29:39 +10:00
..
tests Merge remote-tracking branch 'origin/lane/b' 2026-07-25 20:05:01 +10:00
anchor_ratings.gen.js Lane E S18 gate 4: THE GLASSHOUSE TIER — the hail-net frame, and the apex made reachable 2026-07-25 19:45:42 +10:00
board.js Lane D S18 gate 1.3: a corner you CUT is not a corner that failed — and gate 1's four unwired seams 2026-07-25 21:29:39 +10:00
broom.js
camera.js
contracts.js Lane E S18 gate 4: THE GLASSHOUSE TIER — the hail-net frame, and the apex made reachable 2026-07-25 19:45:42 +10:00
debris.js Lane C S18: the mid-storm entry seam — a crate is a pure function of its event 2026-07-25 19:21:29 +10:00
editor_score.js Lane B S17 gates 0.3 + 2: the card names its cloth, the session speaks for the client 2026-07-21 02:45:49 +10:00
editor_storm.js Lane C S16: gate 3 lands — the fabric bet pinned, forecast argues it, storm in the lists; selftest 438/0/0 2026-07-20 20:33:10 +10:00
editor.js Lane A S18: ⚖️ E's items answered — 0.80 RULED, palette hunk applied, and the second law deleted because I proved it cannot fire 2026-07-25 20:01:47 +10:00
editor.wind.js Lane C S15: converge gate 2.2 onto B's THREADS proposal — B's filename/global/source/default taken, storm+time API kept; THREADS: seam receipt + gate-1.3 storm-side zero-delta confirmation 2026-07-20 18:23:31 +10:00
garden.js
hud.js Lane D S18 gate 1.3: a corner you CUT is not a corner that failed — and gate 1's four unwired seams 2026-07-25 21:29:39 +10:00
interact.js
knife.js Lane D S18 gate 1.3: THE KNIFE — hold X at a cleat, and the verbs finally on the glass 2026-07-25 21:29:21 +10:00
ladder.js
main.js Lane D S18 gate 1.3: a corner you CUT is not a corner that failed — and gate 1's four unwired seams 2026-07-25 21:29:39 +10:00
player.js Lane D S18 gate 1.3: THE KNIFE — hold X at a cleat, and the verbs finally on the glass 2026-07-25 21:29:21 +10:00
player.sim.js
ratings.js Lane E S15 gate 1.2: ratings.js — factoryExtras(type), the runtime end of the manifest; refuses to guess for ambiguous types, warns once 2026-07-20 17:49:38 +10:00
rigging.js Lane B S18 gate 1: commit(rig, {at}) carries the mid-storm clock, so seeding it cannot be forgotten 2026-07-25 20:03:13 +10:00
rigging.selftest.js Lane B S18 gate 1: commit(rig, {at}) carries the mid-storm clock, so seeding it cannot be forgotten 2026-07-25 20:03:13 +10:00
sail.js Lane B S18 gates 2+3+1: ⚠️ THE VARIABLE IS POROSITY; the clean boundary is DWELL; the knife 2026-07-25 19:53:06 +10:00
sail.selftest.js Lane B S18 gates 2+3+1: ⚠️ THE VARIABLE IS POROSITY; the clean boundary is DWELL; the knife 2026-07-25 19:53:06 +10:00
skyfx.js
stormgen.js Lane C S16: makeStorm(seed) — seeded storms inside authored envelopes (gate 3.2) 2026-07-20 20:11:34 +10:00
testkit.js
weather.core.js Lane C S16: gate 3 lands — the fabric bet pinned, forecast argues it, storm in the lists; selftest 438/0/0 2026-07-20 20:33:10 +10:00
weather.js Lane C S18 gate 1: the dispatch — midStormRead, and the honesty gate over storms nobody forecast 2026-07-25 19:37:45 +10:00
week.js Lane D S18 gate 1.3: a corner you CUT is not a corner that failed — and gate 1's four unwired seams 2026-07-25 21:29:39 +10:00
world.js S18 integration: apply E's gate-5 hunks (E specified, A blessed) — the site names its own collateral target, the bake stops clobbering it, and validateSite refuses the clash 2026-07-25 20:04:51 +10:00