受控小队任务服务端启用修复预算;否定性自检引用不再误报;quality_failed 保持失败且不激活未过门禁稿。 Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
963 B
Go
26 lines
963 B
Go
package squad
|
|
|
|
import "testing"
|
|
|
|
func TestRepairBudgetForSquadTask_ProductContract(t *testing.T) {
|
|
// 受控文档小队任务:即使客户端省略 auto_repair=false,也必须给修复预算
|
|
got := repairBudgetForSquadTask(SquadRunRequest{TaskKey: "intake", AutoRepair: false})
|
|
if got != DefaultMaxRepairRounds {
|
|
t.Fatalf("intake AutoRepair=false budget=%d want %d", got, DefaultMaxRepairRounds)
|
|
}
|
|
if DefaultMaxRepairRounds < 1 {
|
|
t.Fatalf("DefaultMaxRepairRounds must be >=1, got %d", DefaultMaxRepairRounds)
|
|
}
|
|
|
|
// 无 TaskKey 且未开 AutoRepair:保持 0(非受控路径)
|
|
got = repairBudgetForSquadTask(SquadRunRequest{TaskKey: "", AutoRepair: false})
|
|
if got != 0 {
|
|
t.Fatalf("empty TaskKey without AutoRepair budget=%d want 0", got)
|
|
}
|
|
|
|
got = repairBudgetForSquadTask(SquadRunRequest{TaskKey: "", AutoRepair: true})
|
|
if got != DefaultMaxRepairRounds {
|
|
t.Fatalf("AutoRepair=true budget=%d want %d", got, DefaultMaxRepairRounds)
|
|
}
|
|
}
|