fix(sre): finalize local automation release candidate
Some checks failed
CD Pipeline / select-latest-carrier (push) Successful in 1m33s
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 3m28s
CD Pipeline / revalidate-deploy-carrier (push) Successful in 35s
CD Pipeline / build-and-deploy (push) Failing after 39m13s
CD Pipeline / revalidate-post-deploy-carrier (push) Failing after 10m44s
AI 技術雷達監控 / ai-technology-watch (push) Failing after 11m56s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 1s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Failing after 48s
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-19 03:57:32 +08:00
parent 9d87173d03
commit c0afb10861
7 changed files with 57 additions and 13 deletions

View File

@@ -86,7 +86,9 @@ def test_medium_telegram_card_is_automation_progress_not_action_required() -> No
assert "AI CONTROLLED AUTOMATION" in rendered
assert "ACTION REQUIRED" not in rendered
assert "awaiting_approval" not in rendered
assert "check>apply>verify>writeback" in rendered
assert "流程進度" in rendered
assert "執行:<code>controlled_queue_evaluation</code>" in rendered
assert "驗證:<code>not_started</code>" in rendered
def test_critical_telegram_card_stays_break_glass() -> None:

View File

@@ -117,7 +117,7 @@ def test_loader_returns_fixed_architecture_provider_order_and_agent99_bridge() -
"by_priority": {"P0": 16, "P1": 2},
"by_status": {
"source_implemented_runtime_pending": 17,
"planned": 1,
"in_progress": 1,
},
"source_implemented_items": 17,
"runtime_closed_items": 0,

View File

@@ -136,7 +136,8 @@ class TestTelegramMessageStructure:
assert "api-service" in result
assert "INC-20260321-0001" in result
assert "後端" in result
assert "88%" in result
assert "AI 結果未附 durable provider receipt" in result
assert "88%" not in result
def test_telegram_message_with_signoz_metrics(self):
"""✅ 含 SignOz 指標的訊息格式"""

View File

@@ -2460,9 +2460,11 @@ class TestTelegramMessageFormat:
assert "處置狀態" in result
assert "規則建議待 AI controlled policy 判定" in result
assert "AI 自動化鏈路" in result
assert "OpenClaw" in result
assert "NemoTron" in result
assert "ElephantAlpha" in result
assert "分析:<code>not_observed</code>" in result
assert "Agent<code>not_observed</code>" in result
assert "OpenClaw" not in result
assert "NemoTron" not in result
assert "ElephantAlpha" not in result
assert "自動化資產沉澱" in result
assert "KM" in result
assert "PlayBook" in result
@@ -2471,6 +2473,39 @@ class TestTelegramMessageFormat:
assert "Verifier" in result
assert len(result) <= 4096 # Telegram HTML message limit
def test_telegram_message_names_only_receipt_backed_ai_and_agent(self):
msg = TelegramMessage(
status_emoji="⚠️",
risk_level="MEDIUM",
resource_name="backup_restore",
root_cause="Backup freshness evidence verified",
suggested_action="NO_ACTION",
estimated_downtime="none",
approval_id="INC-20260719-AI-RECEIPT",
automation_quality={
"verdict": "diagnostic_only",
"facts": {
"analysis_receipt_observed": True,
"analysis_provider": "ollama_gcp_a:qwen3",
"execution_actors": ["Agent99 BackupCheck (read-only)"],
"latest_execution_backend": "Agent99",
"latest_operation_type": "BackupCheck",
"latest_operation_status": "completed",
"verification_result": "passed",
"knowledge_entries": 1,
"mcp_gateway_total": 1,
},
},
)
result = msg.format()
assert "分析:<code>ollama_gcp_a:qwen3</code>" in result
assert "Agent99 BackupCheck (read-only)" in result
assert "Executor<code>Agent99</code>" in result
assert "Verifier<code>passed</code>" in result
assert "LearningKM <code>1</code> / MCP <code>1</code>" in result
def test_telegram_message_ai_proposal_marks_controlled_apply(self):
"""有 AI 信心分數的修復建議必須排入 controlled apply。"""
msg = TelegramMessage(