Sharpee
Chord / Standard Library / Death / Death traits

Death traits and internals

deadly-room is a trait, authored via deadly: above, or in TypeScript for safeVerbs/chance. Its fields are cause (which defaults to the phrase key from Chord, 'hazard' in TS), messageId, safeVerbs, and chance. The Steam Vault is this trait's Chord surface.

health is a trait that is Chord-reachable only through combat: under use combat, combatant with health 20 and max-health 30 seeds it, auto-attached, and there is no standalone health adjective. The single life-state model (ADR-226) comprises health/maxHealth, a consciousness threshold, an asleep flag, and the terminal dead/causeOfDeath pair; the behavior owns takeDamage/heal/kill and the derived isAlive/isConscious. Entities without it are simply alive; it is opt-in, and the platform attaches one to the player lazily the first time something kills them. Combat damages through it.

deadly-room-death is an internal action that has no grammar and is never typed. It is the redirect target both deadly forms rewrite commands into: it validates unconditionally ("death is inevitable once redirected"), calls the platform death sink, and reports the died event. Interceptors never see it. One wire-shape nuance for event listeners: on this path the death text rides the died event's messageId; on the kill the player path the text is a separate phrase event and the died event carries only the cause; same visible result, different payloads:

kill the playerdeadly exit / deadly room
Refusalsnone — a statement, not an action; the when suffix is the only gatenone — the redirect validates unconditionally, and interceptors never see it
Death textthe phrase key, spoken as a separate phrase eventthe phrase key, riding player-died's messageId
Eventsplayer-died (carries only the cause)player-died (carries cause and messageId)
Endinggame-lost on the death and endgame channels — unless a story policy revives the player inside the veto windowsame

No shipped .story uses these constructs yet; the live production use of the same machinery is Dungeo's Aragain Falls (a TypeScript transformer on the identical seam; falls-deadly-exit.transcript pins the behavior), plus its gas, grue, and poison deaths through killPlayer.