Return the interactions array even when no interaction is established. Every record must contain name, kind, and source_refs. Cite transcript ranges that support both the NPC identity and the interaction kind. Use exactly one kind per occurrence: - mentioned: the NPC is referred to but is not established as present or communicating; - noncombat_presence: the NPC is present and relevant but does not meaningfully participate in dialogue or combat; - dialogue: the NPC speaks, responds, or is directly engaged in a meaningful non-combat exchange; - combat_ally: the NPC actively participates in combat on the party's side; - combat_opponent: the NPC actively participates in combat against the party; or - other: the transcript clearly establishes a direct NPC occurrence that fits none of the preceding kinds. When activities overlap, active combat participation outranks dialogue, presence, and mention; dialogue outranks noncombat presence and mention; and noncombat presence outranks mention. Other is only for directly evidenced activity outside those categories. Split an occurrence rather than assigning both combat alignments.