# M16-GAP-00208 Status status: done task: anim.slot_unassign_from_constraint operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture gives `WebGapAnimConstraintSlotObject` an Action constraint with `WebGapAnimConstraintSlotAction` and one assigned `OBWebGapConstraintSlot`. - Desktop runs `ANIM_OT_slot_unassign_from_constraint` with the constraint context pointer. The reader exposes the constraint's action, slot identifier, handle, and assigned state in the node snapshot. evidence: - Desktop evidence records `poll=true`, `FINISHED`, `CONSTRAINT_SLOT_UNASSIGNED`, the nonzero-to-zero handle transition, and exact save/reopen. Repeated checker runs preserve the initial evidence and fixture hash. - WASM/Main observes the retained action and identifier with `actionSlotAssigned=false` and handle `0`, preserves it across save/reopen, and rejects malformed Blend input without Main mutation. - The generator, npm comparator, direct comparator, WebEngine rebuild, and task-context checks passed. Chromium-only policy was preserved; no Firefox/WebKit run was made. nextTask: `M16-GAP-00209`