pub(super) fn handle_create_workspace(
state: &mut State,
name: String,
) -> Vec<Event>Expand description
Phase E.2 — create a new workspace. Reducer assigns the OID (UUID), inserts into canonical state, emits WorkspaceCreated. NOT idempotent on retry: each invocation generates a fresh UUID and inserts a new row, so a saga that double-fires CreateWorkspace would create two distinct workspaces. Saga-side dedup (correlation IDs / saga state machine) is responsible for at-most-once delivery when sagas land in E.5+.