diff --git a/src/blackboard/operations.py b/src/blackboard/operations.py index 7c1b8c0..d52c013 100644 --- a/src/blackboard/operations.py +++ b/src/blackboard/operations.py @@ -782,6 +782,11 @@ class Blackboard: return {"error": "Task not found"} task_status = task_row["status"] + # BUG-32: 安全校验 — task 必须处于 waiting_human 才能推进 + if task_status != "waiting_human": + conn.commit() + return {"error": f"Task is {task_status}, expected waiting_human"} + if action == "approve": if cp_type == "verify": new_task_status = "done"