# M16-GAP-00222 Status status: done task: armature.collection_assign operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture contains one armature bone assigned to `WebGapArmatureCollectionAssignSource` and an empty target collection. - Desktop runs `ARMATURE_OT_collection_assign(name=target)` with `poll=true` and `FINISHED`, adding the selected bone to the target while preserving its source membership through save/reopen. - The existing Main reader exposes both collection member ID lists; no new reader field, 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 persisted assignment and remain idempotent. - WASM/Main observes the same assigned bone ID in both collections, preserves it 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-00223`