HardYards/web/world/js/tests
type-two 062fd00758 Lane C S18 gate 1: the honesty gate walks A's EMERGENCIES — storm AND pairing
NIGHTS ∪ POOL grew a third member this sprint, and an emergency is the member with
the most to hide: no forecast card, no quote, and a storm entered at a t nobody
walked up to. Both arms checked per entry — dispatchHonest(def, arriveAt) for the
storm-and-instant, pairingRefusal(storm, site) for the yard, because a read can be
perfectly honest about a storm and still be an invitation to a night nobody can
work, which is worse on a callout the player cannot decline once they are in it.

Read through a NAMESPACE import (board.EMERGENCIES), not a named one, so this file
survives the window where A's spine is on lane/a and not in my tree — a named
import of a not-yet-exported symbol is a hard module error, not a graceful no-op.
A's own reasoning for weather.midStormRead?.(), applied back at them.

Walks a FIXTURE mirroring A's §6 as well as the real table, so the gate is
exercised on known data TODAY rather than reading green off an absent import — the
calm-day vacuity that has now bitten this repo in three separate gates. Verified
against A's actual lane/a tree out of band: their one shipped emergency
(corner_block_emergency, night 5, storm_03_southerly x site_02_corner_block,
arriveAt 30) passes both arms, so the walk binds clean at merge. Three vacuity
guards, one per arm plus the late arrival.

533/0/0 (+1).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 19:44:11 +10:00
..
a.test.js Lane A S17 gates 0+1+2: THE JOB BOARD — two offers a morning, the chosen job IS the night 2026-07-21 02:11:16 +10:00
b.test.js Lane B S14 gate 2.3: pin the editor's scored wind to the game's played wind 2026-07-18 16:16:29 +10:00
balance.test.js Lane B S13: kill the marked fake — garden model comes from A's garden.js everywhere 2026-07-18 13:50:15 +10:00
c.test.js Lane C S18 gate 1: the honesty gate walks A's EMERGENCIES — storm AND pairing 2026-07-25 19:44:11 +10:00
d.test.js Lane D S17 gate 3.2: THE POOL YARD — authored cold, in the game only by being chosen 2026-07-21 03:53:20 +10:00
e.test.js Lane E S17 gate 3.1: THE CORRODED TIER — mutations restored, tell verified at 20 m, droop pinned to geometry 2026-07-21 01:51:57 +10:00
run-node.mjs Add wind field, storm timelines and weather selftest 2026-07-16 21:38:12 +10:00
weather.selftest.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