diff --git a/pipeline_service/executor.py b/pipeline_service/executor.py index df4c7e5..e32b339 100644 --- a/pipeline_service/executor.py +++ b/pipeline_service/executor.py @@ -201,6 +201,12 @@ async def _execute_step(task_id: str, step_name: str, step_graph: dict, task_inf logger.info(f"Step {step_name} completed for task {task_id}") except Exception as e: + # Special handling for quality gate pause - step already set to WAITING + if type(e).__name__ == "QualityGatePausedError": + logger.info(f"Step {step_name} paused for quality review: {e}") + # Step state already set to WAITING by quality gate, don't override + return + error_msg = str(e) logger.error(f"Step {step_name} failed for task {task_id}: {error_msg}") await update_step_state(task_id, step_name, STATE_FAILED, error_msg)