Phase E.3 β create a block inside a tab. Validates parent tab
exists; otherwise emits Event::Error (non-fatal). On success:
assigns a UUID, appends to the tabβs block_ids, inserts into
state.blocks, emits Event::BlockCreated.
Phase E.5.5 β move a block from src_tab_id to dst_tab_id at
dst_index (clamped). Updates block.tab_id. Cross-tab moves
AND intra-tab repositioning both go through this command (the
caller specifies the destination index regardless).