package com.correx.core.kernel.execution

import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId

sealed interface WorkflowResult {
    data class Completed(val sessionId: SessionId, val terminalStageId: StageId) : WorkflowResult
    data class Failed(val sessionId: SessionId, val reason: String, val retryExhausted: Boolean) : WorkflowResult
    data class Cancelled(val sessionId: SessionId) : WorkflowResult
}
