HardYards/web/world/js/tests
type-two 0a279b36f3 Lane E S18 gates 4+5: e.test — the tier's pins, and the shared-collateral-key landmine disarmed
Seven new pins, ten new rows (the two assets also add dims/nodes rows).

Gate 4 — the tier:
  · the frame BRACKETS the glass: footprint strictly contains the glasshouse's
    on both axes, head clears the ridge by 0.47 m, all four eyes above it. The
    tell is a measurement because the tell is a position.
  · the 20 m read is METALNESS not lightness: powder-coat <= 0.15, galvanised
    >= 0.6 as the control, and the paint the brighter base colour. An assert
    whose stated reason is the mechanism, so the docstring cannot be "fixed"
    the wrong way (S17's inverted-sign lesson).
  · a NEW RUNG at 0.80, pinned against the MANIFEST not a literal: above the
    pergola, below the post, collateral 'glasshouse', four agreeing sources.
  · the APEX IS REACHABLE — this one was RED by construction before this
    sprint, and its message says why. Plus the corollary: nothing but the
    glasshouse may CLAIM its key.
  · the wreck folds at one end, keeps its height, carries no glass, offers no
    anchor, and is unpriced by ruling.

Gate 5 — D's second-rust-post landmine, disarmed at author time:
  · no shipped yard gives two structures the same resolved collateral key
    (mirrors structKey() exactly), and structure ids are unique — a duplicate
    id makes structures.set() silently replace the first, which then never
    renders, never bills and never wrecks with nothing said anywhere.
  · every collateral an authored anchor names is OWNED by exactly one thing in
    that yard. RULE 2's runtime twin: RULE 2 proves a key is priced somewhere
    in the palette, this proves it is owned in the yard that names it. Zero
    owners is the gutter bug reborn; two is the landmine.

Five negative controls witnessed red in the real harness, then green: the frame
un-bracketed, the paint turned galvanised, the frame claiming the glass's key,
the anchors no longer naming the glass (the pre-sprint state), and a second
corroded post in the pool yard. Counts held at 533 throughout, so nothing
vanished while other things were red.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 19:46:06 +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 S17 gate 1 (cont.): the OFFER BAND and the PAIRING law — night 7 stops lying 2026-07-21 03:07:02 +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 S18 gates 4+5: e.test — the tier's pins, and the shared-collateral-key landmine disarmed 2026-07-25 19:46:06 +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 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