# TRIGGER / ARENA FIX LIST · owner H
Generated 2026-10-26 02:57 by ZONE-LOOKS from _tools/TRIGGER_AUDIT.md (the method and the HAZARD RULE decision are there). Re-run: `node _tools/trigger_audit.mjs dump --force <page>`, then `node _tools/trigger_audit.mjs analyze`.

Severity:
- **ORPHAN**: the kill system can never pick it. Fix first.
- **ARENA**: it resolves badly on some of the 18 arenas.
- **TAG**: a missing or contradictory tag.
- **BUILD**: an error.

Hazard tags follow the coordinator's ruling (26 Oct): `hazard` = the victim DIES TO that hazard in gameplay. A film that stages the death itself is a needs.kinds film: drop the tag (HAZARD-STAGED).

## APPLIED FOR YOU (26 Oct, data-only, by ZONE-LOOKS while you were paused): 47 kills
Each edit carries a `/* 26 Oct TRIGGER AUDIT */` comment. Re-read your files before editing them; check that the new range bands read right for your kill (they come from the staging distance at t = 0).

- glue.flypaper (58k_w_glue.js): deep skip (The Deep skips it: DRY GROUND)
- glue.sitting-duck (58k_w_glue.js): hazard spikes dropped (its own staging kills: the victim is alive at t = 0, K.O. at 0.98 s); deep skip (The Deep skips it: FOOTING)
- glue.chewed (58k_w_glue_b.js): deep skip (The Deep skips it: DRY GROUND)
- glue.first-aid (58k_w_glue_b.js): deep skip (The Deep skips it: DRY GROUND)
- glue.strings-attached (58k_w_glue_b.js): deep skip (The Deep skips it: DRY GROUND)
- glue.hot-plate (58k_w_glue_b.js): hazard fire dropped (its own staging kills: the victim is alive at t = 0, K.O. at 4.3 s); deep skip (The Deep skips it: STOVE)
- glue.concrete-shoes (58k_w_glue_c.js): hazard water dropped (its own staging kills: the victim is alive at t = 0, K.O. at 6.55 s); needs + water: kicked over the stern into the sea (LIQUID); deep skip (The Deep skips it: DEEP WATER)
- glue.bungee (58k_w_glue_c.js): deep skip (The Deep skips it: DROP)
- glue.glue-trap (58k_w_glue_c.js): deep skip (The Deep skips it: DRY GROUND)
- glue.hang-time (58k_w_glue_c.js): deep skip (The Deep skips it: GAP)
- glue.eyes-wide-open (58k_w_glue_c.js): deep skip (The Deep skips it: DRY GROUND)
- glue.immovable-object (58k_w_glue_c.js): deep skip (The Deep skips it: NO LIFT)
- glue.the-glue-factory (58k_w_glue_e.js): deep skip (The Deep skips it: DRY GROUND)
- glue.skin-taped (58k_w_glue_skins.js): deep skip (The Deep skips it: WALL)
- glue.skin-camo (58k_w_glue_skins.js): deep skip (The Deep skips it: DROP)
- glue.skin-ice (58k_w_glue_skins.js): deep skip (The Deep skips it: DRY GROUND)
- glue.skin-neon (58k_w_glue_skins.js): deep skip (The Deep skips it: CEILING)
- glue.skin-gold (58k_w_glue_skins.js): deep skip (The Deep skips it: BED)
- glue.skin-classic (58k_w_glue_skins.js): deep skip (The Deep skips it: DOORWAY)
- glue.skin-cartoon (58k_w_glue_skins.js): deep skip (The Deep skips it: TOASTER)
- ice.on-the-rocks (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.lawn-dart (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.triple-dog-dare (58k_w_ice.js): hazard fall dropped (its own staging kills: the victim stands on the floor at t = 0, K.O. at 3.05 s); needs + ledge: he goes over the roof's edge (DROP); deep skip (The Deep skips it: DRY GROUND)
- ice.wipe (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.hail-mary (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.thermal-shock (58k_w_ice.js): hazard fire dropped (its own staging kills: the victim is alive at t = 0, K.O. at 1.95 s); deep skip (The Deep skips it: DRY GROUND)
- ice.gut-check (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.the-first-step (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.safe-passage (58k_w_ice.js): hazard fall dropped (its own staging kills: the victim stands on the floor at t = 0, K.O. at 2.08 s); deep skip (The Deep skips it: DROP, DRY GROUND)
- ice.whiteout (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.ice-maiden (58k_w_ice.js): hazard spikes dropped (its own staging kills: the victim is alive at t = 0, K.O. at 1.89 s)
- ice.freeze-thaw (58k_w_ice.js): deep skip (The Deep skips it: DRY GROUND)
- ice.brinicle (58k_w_ice_deep.js): deep adapts (The Deep stages it and it plays underwater there, no errors)
- ice.anchor-ice (58k_w_ice_deep.js): deep adapts (The Deep stages it and it plays underwater there, no errors)
- ice.mid-trigger-finger (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.mid-snowflake (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.mid-freezer-burn (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.mid-burst-pipes (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.mid-hoarfrost (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.mid-absolute-zero (58k_w_ice_mid.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-classic (58k_w_ice_skins.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-taped (58k_w_ice_skins.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-camo (58k_w_ice_skins.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-cartoon (58k_w_ice_skins.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-ice (58k_w_ice_skins.js): deep skip (The Deep skips it: DRY GROUND)
- ice.skin-neon (58k_w_ice_skins.js): hazard electric dropped (its own staging kills: the victim is alive at t = 0, K.O. at 3.9 s); deep skip (The Deep skips it: DRY GROUND)
- ice.skin-gold (58k_w_ice_skins.js): hazard fire dropped (its own staging kills: the victim is alive at t = 0, K.O. at 4.4 s); deep skip (The Deep skips it: DRY GROUND)
- [ ] **left for you** glue.hot-plate: the giant cooktop burner is the map's HOT element, but its needs are old words (no word maps to HOT): add HOT when the needs move to the { kinds } form

## GLUE: 15 films · 7 skins · 6 mids · 8 lines
- [ ] **ARENA OWED-GEO** glue.bungee (BUNGEE): OWED on 15 arena(s) that HAVE its kinds but no spot fits: BY(DROP) CN(DROP) CS(DROP) RF(DROP) SL(DROP) CG(DROP) BS(DROP) TW(DROP) AT(DROP) TM(DROP) FT(DROP) SK(DROP) PB(DROP) PR(DROP) KT(DROP). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.eyes-wide-open (EYES WIDE OPEN): OWED on 16 arena(s) that HAVE its kinds but no spot fits: BY(FOOTING) CN(FOOTING) CS(FOOTING) RF(FOOTING) SL(FOOTING) CG(FOOTING) BS(FOOTING) TW(FOOTING) AT(FOOTING) FT(FOOTING) SK(FOOTING) RT(FOOTING) PB(FOOTING) PR(FOOTING) KT(FOOTING) CL(FOOTING). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.glue-trap (GLUE TRAP): OWED on 1 arena(s) that HAVE its kinds but no spot fits: RF(ROOM). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.hang-time (HANG TIME): OWED on 6 arena(s) that HAVE its kinds but no spot fits: BS(GAP) FT(GAP) PB(GAP) PR(GAP) KT(GAP) CL(GAP). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.sitting-duck (SITTING DUCK): OWED on 16 arena(s) that HAVE its kinds but no spot fits: BY(FOOTING) CN(FOOTING) RF(FOOTING) SL(FOOTING) CG(FOOTING) BS(FOOTING) TW(FOOTING) AT(FOOTING) TM(FOOTING) FT(FOOTING) SK(FOOTING) RT(FOOTING) PB(FOOTING) PR(FOOTING) KT(FOOTING) CL(FOOTING). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.skin-camo (BIN DAY): OWED on 15 arena(s) that HAVE its kinds but no spot fits: CN(DROP) CS(DROP) RF(DROP) SL(DROP) CG(DROP) BS(DROP) TW(DROP) AT(DROP) TM(DROP) FT(DROP) SK(DROP) PB(DROP) PR(DROP) KT(DROP) CL(DROP). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.skin-neon (DISCO BALL): OWED on 10 arena(s) that HAVE its kinds but no spot fits: BS(CEILING) TW(CEILING) TM(CEILING) FT(CEILING) SK(CEILING) PB(CEILING) DP(CEILING) PR(CEILING) KT(CEILING) CL(CEILING). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** glue.skin-taped (CLOG): OWED on 13 arena(s) that HAVE its kinds but no spot fits: CG(WALL) BS(WALL) TW(WALL) AT(WALL) TM(WALL) FT(WALL) SK(WALL) RT(WALL) PB(WALL) DP(WALL) PR(WALL) KT(WALL) CL(WALL). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **RENDER REAL** glue.glue-trap @ cage (not its home): XT shows a severed hand only: the body is out of frame at XT (finalT 11.833). Shot: /Volumes/Workspace/Scratch/trigger_audit/shots/glue.glue-trap@cage.jpg
- [ ] **OWED-GEO, the XT reads when forced** (check in motion): sitting-duck@atrium, sitting-duck@pirate, hang-time@forts, hang-time@pinball, skin-taped@tower, skin-taped@deep. The XT is a close-up and the skip is about the staging, so a stage58 might take these arenas; check the whole film first.

## ICE: 17 films · 7 skins · 6 mids · 4 lines
- [ ] **ARENA OWED-GEO** ice.freeze-thaw (FREEZE-THAW): OWED on 1 arena(s) that HAVE its kinds but no spot fits: RF(ROOM). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** ice.safe-passage (SAFE PASSAGE): OWED on 1 arena(s) that HAVE its kinds but no spot fits: CS(DROP). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **ARENA OWED-GEO** ice.skin-cartoon (SNOWBALL EFFECT): OWED on 5 arena(s) that HAVE its kinds but no spot fits: CN(ROOM) RF(ROOM) PB(WALL) PR(WALL) CL(WALL). Fix: a stage58 that finds a spot on these (or accept: the owed fallback is clean).
- [ ] **TAG HAZARD-NO-KIND** ice.lawn-dart (LAWN DART): a hazard film (fall) whose needs ask for no DROP / GAP (the map pick cannot put the hazard in frame). Fix: add the kind to needs.kinds.

## Notes (check, not necessarily wrong)
- **DEEP-SKIP-PORT** (2), deep: skip with no ground / drop need (a port note: the game must carry the skip): glue.flypaper, glue.sitting-duck
- **NO-DIE** (1), nobody dies (no die() / s.ko) by the end of the headless run: check the victim reads dead at XT: glue.the-glue-factory
