Merge remote-tracking branch 'gitea/main' into codex/github-backup-missing-targets-20260627
This commit is contained in:
@@ -2273,9 +2273,9 @@ def test_awooop_status_chain_does_not_treat_audit_ops_as_repair() -> None:
|
||||
)
|
||||
|
||||
assert chain["repair_state"] == "diagnostic_or_audit_recorded"
|
||||
assert chain["next_step"] == "manual_review_or_collect_repair_evidence"
|
||||
assert chain["needs_human"] is True
|
||||
assert chain["operator_outcome"]["state"] == "diagnostic_only_manual_review"
|
||||
assert chain["next_step"] == "auto_generate_repair_candidate_from_diagnostic_evidence"
|
||||
assert chain["needs_human"] is False
|
||||
assert chain["operator_outcome"]["state"] == "diagnostic_only_ai_repair_required"
|
||||
assert chain["operator_outcome"]["notification"]["mode"] == "action_required"
|
||||
assert chain["evidence"]["operation_records"] == 1
|
||||
assert chain["evidence"]["auto_repair_records"] == 0
|
||||
|
||||
@@ -40,7 +40,7 @@ def test_operator_outcome_normalizes_missing_evidence_blockers() -> None:
|
||||
assert "learning_recorded" not in outcome["blockers"]
|
||||
|
||||
|
||||
def test_operator_outcome_marks_diagnostic_only_as_manual_action_required() -> None:
|
||||
def test_operator_outcome_marks_diagnostic_only_as_ai_repair_required() -> None:
|
||||
outcome = build_operator_outcome(
|
||||
truth_status={
|
||||
"current_stage": "execution_succeeded",
|
||||
@@ -64,13 +64,17 @@ def test_operator_outcome_marks_diagnostic_only_as_manual_action_required() -> N
|
||||
)
|
||||
|
||||
assert outcome["schema_version"] == "operator_outcome_v1"
|
||||
assert outcome["state"] == "diagnostic_only_manual_review"
|
||||
assert outcome["needs_human"] is True
|
||||
assert outcome["state"] == "diagnostic_only_ai_repair_required"
|
||||
assert outcome["needs_human"] is False
|
||||
assert outcome["notification"]["mode"] == "action_required"
|
||||
assert "telegram_sre_war_room" in outcome["notification"]["channels"]
|
||||
assert outcome["next_action"] == "manual_review_or_collect_repair_evidence"
|
||||
assert outcome["execution_result"]["completion_status"] == "completed_no_repair"
|
||||
assert outcome["execution_result"]["repair_status"] == "not_executed"
|
||||
assert outcome["next_action"] == "auto_generate_repair_candidate_from_diagnostic_evidence"
|
||||
assert outcome["execution_result"]["completion_status"] == (
|
||||
"diagnostic_completed_ai_repair_queued"
|
||||
)
|
||||
assert outcome["execution_result"]["repair_status"] == (
|
||||
"playbook_or_transport_repair_required"
|
||||
)
|
||||
assert outcome["execution_result"]["failure_status"] == "no_command_failed"
|
||||
|
||||
|
||||
@@ -326,8 +330,8 @@ def test_execution_result_message_does_not_call_diagnostic_success_repair_done()
|
||||
),
|
||||
)
|
||||
|
||||
assert "已記錄診斷,尚未證明修復" in text
|
||||
assert "completed_no_repair" in text
|
||||
assert "只完成診斷/觀察;AI 已排入修復候選補齊" in text
|
||||
assert "diagnostic_completed_ai_repair_queued" in text
|
||||
assert "no_command_failed" in text
|
||||
assert "執行成功" not in text
|
||||
assert "修復完成" not in text
|
||||
|
||||
@@ -743,10 +743,10 @@ def test_awooop_status_chain_lines_do_not_treat_audit_ops_as_repair() -> None:
|
||||
|
||||
joined = "\n".join(lines)
|
||||
assert "diagnostic_or_audit_recorded" in joined
|
||||
assert "manual_review_or_collect_repair_evidence" in joined
|
||||
assert "auto_generate_repair_candidate_from_diagnostic_evidence" in joined
|
||||
assert "executed_pending_verification" not in joined
|
||||
assert "處置結論" in joined
|
||||
assert "只完成診斷/觀察,尚未證明修復" in joined
|
||||
assert "只完成診斷/觀察;AI 已排入 PlayBook / transport / verifier 修復候選" in joined
|
||||
assert "通知:<code>telegram_sre_war_room,awooop_operator_console</code>" in joined
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user