重构: AI流式断线保文StreamResult三分支+重试对齐决策a1,推进链落df-nodes
This commit is contained in:
@@ -35,17 +35,20 @@ struct WorkflowEventPayload {
|
||||
/// 映射表(失败退一步):
|
||||
/// - testing → in_review
|
||||
/// - in_review → in_progress
|
||||
/// - in_progress → todo
|
||||
/// - in_progress → None(状态机禁止→todo,留 in_progress 等人介入)
|
||||
/// - 其他(done/blocked/cancelled/todo 等) → None(无退回映射,跳过回调)
|
||||
///
|
||||
/// 设计选择:in_progress → todo(而非 None)。理由:in_progress 是执行态,失败退回 todo
|
||||
/// 符合"执行未达预期 → 回起点重排"的直觉语义;若选 None 会丢失"执行失败"信号。
|
||||
/// 设计选择:in_progress → None(而非 todo)。理由:状态机禁止 in_progress→todo
|
||||
/// (task_state_machine.rs backward_to_todo_rejected),失败退回 todo 会被
|
||||
/// advance_task_atomic 的 InvalidState 拦截,任务原地保留 in_progress 且无信号;
|
||||
/// 改为 None 则回调跳过推进,留 in_progress 等人介入。
|
||||
/// 起点状态 todo 无可退态 → None。
|
||||
fn regression_target(target: &str) -> Option<&str> {
|
||||
match target {
|
||||
"testing" => Some("in_review"),
|
||||
"in_review" => Some("in_progress"),
|
||||
"in_progress" => Some("todo"),
|
||||
// in_progress 失败不自动退回(状态机不允许→todo),留 in_progress 等人介入
|
||||
"in_progress" => None,
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user