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>