# M16-GAP-00227 Status status: done task: armature.collection_remove_unused operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture contains two bone collections retaining one distinct bone each and two empty collections, with an empty collection active at index 2. - Desktop runs `ARMATURE_OT_collection_remove_unused` with `poll=true` and `FINISHED`, removing both unused collections, preserving the retained collections and bones, and keeping the result through save/reopen. - The existing Main reader's collection indices and bone IDs provide the observable removal; no new data-block, editor, or browser behavior was added. evidence: - The generator, desktop checker, npm comparator, direct comparator, and task-context checks passed. Repeated checker runs recognize the already-removed collections and remain idempotent. - WASM/Main observes the same remaining collection order, member IDs, and active index, preserves them across save/reopen, and rejects malformed Blend input without Main mutation. - Chromium-only policy was preserved; no Firefox/WebKit run was made. nextTask: `M16-GAP-00228`