pub(super) fn handle_create_tab(
state: &mut State,
workspace_id: String,
name: String,
) -> Vec<Event>Expand description
Phase E.2b — create a tab inside a workspace. Validates the
parent exists; otherwise emits Event::Error (non-fatal). On
success: assigns a UUID, appends to the workspace’s tab_ids,
inserts into state.tabs, emits Event::TabCreated. If the
workspace had no active tab, the new tab also becomes active
and an Event::ActiveTabChanged is emitted alongside.
NOT idempotent on retry (same UUID-assignment caveat as
handle_create_workspace).