# M16-GAP-00241 Status status: done task: armature.extrude_move operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture contains one source bone with its tail selected and one independent unselected bone. - Desktop runs `ARMATURE_OT_extrude_move` in edit mode with `poll=true`, `FINISHED`, and a `(0, 1, 0)` translate transform, creating `WebGapArmatureExtrudeMoveSource.001` connected to the source while preserving the source and independent bone through save/reopen. - Main exposes the moved extruded bone name, parent ID, selection state, connected flag, and parent-relative head/tail coordinates; the comparator normalizes desktop armature-space coordinates against the source tail without expanding other data-blocks, editors, or browsers. evidence: - The generator, desktop checker, npm comparator, direct comparator, malformed-input negative, save/reopen check, and task-context checks passed. - WASM/Main observes the moved connected extruded bone with desktop-matching normalized geometry and selection, rejects malformed Blend input without Main mutation, and remains stable across save/reopen. - Repeated checker runs recognize the already-extruded-and-moved state and remain idempotent; Chromium-only policy was preserved and no Firefox/WebKit run was made. nextTask: `M16-GAP-00242`