Find and delete a named ActiveEffect on the target actor (or owner if no target).
Config: { effectName }
Search scope deliberately stays actor-only (subject.effects) — this does NOT
search transferred effects from features/gear/sockets/keywords/glyphs the way
suspendEffectByName/toggleEffectByName now do. Widening this outcome's scope
would let it reach and permanently .delete() a gear item's own canonical effect
(or a feature's), which is destructive and unrecoverable — unlike suspend/toggle,
which only ever flip disabled. See .claude/contexts/triggers.md for the full
rationale and the future UUID-scoped targeting redesign this is pending on.
The delete call passes bmsCrossDocumentSearch: true as defense-in-depth: even
though the search here never leaves subject.effects today, this opts into
BodyMindSoulActiveEffect#_preDelete's canonical-definition guard so that if this
outcome's search scope is ever widened later, a canonical effect (no origin, or
origin pointing at its own parent) still can't be deleted by mistake.
Find and delete a named ActiveEffect on the target actor (or owner if no target). Config: { effectName }
Search scope deliberately stays actor-only (
subject.effects) — this does NOT search transferred effects from features/gear/sockets/keywords/glyphs the waysuspendEffectByName/toggleEffectByNamenow do. Widening this outcome's scope would let it reach and permanently.delete()a gear item's own canonical effect (or a feature's), which is destructive and unrecoverable — unlike suspend/toggle, which only ever flipdisabled. See.claude/contexts/triggers.mdfor the full rationale and the future UUID-scoped targeting redesign this is pending on.The delete call passes
bmsCrossDocumentSearch: trueas defense-in-depth: even though the search here never leavessubject.effectstoday, this opts intoBodyMindSoulActiveEffect#_preDelete's canonical-definition guard so that if this outcome's search scope is ever widened later, a canonical effect (no origin, or origin pointing at its own parent) still can't be deleted by mistake.