# M16-GAP-00202 Status status: done task: anim.replace_action operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture has two objects using `WebGapAnimReplaceOldAction` and one object using `WebGapAnimReplaceNewAction`. Desktop calls `ANIM_OT_replace_action` with the explicit action session UIDs. - All three object users switch to the new action; the old action remains unlinked with its original channels. WASM/Main exposes both the replaced users and preserved unlinked action without reader/protocol changes. evidence: - Desktop evidence records the old/new action users, `poll=true`, `FINISHED`, `ACTIONS_REPLACED`, and exact save/reopen. Repeated checker runs preserve the initial evidence and fixture hash. - WASM/Main compares three new-action targets and the unlinked old action, preserves them across save/reopen, and rejects malformed Blend input without Main mutation. - Fixture generation, desktop checker, npm comparator, direct comparator, and task-context checks passed. Chromium-only policy was preserved; no Firefox/WebKit run was made. nextTask: `M16-GAP-00203`