pub(super) fn handle_create_block(
state: &mut State,
tab_id: String,
meta: Value,
) -> Vec<Event>Expand description
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.
NOT idempotent on retry (UUID assignment per call); saga-side dedup is responsible for at-most-once delivery in E.5+.