feat(telegram): show callback owner review triage
All checks were successful
CD Pipeline / tests (push) Successful in 1m11s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Successful in 4m11s
CD Pipeline / post-deploy-checks (push) Successful in 1m29s

This commit is contained in:
Your Name
2026-05-25 09:01:50 +08:00
parent b466674621
commit eeece58c0d
2 changed files with 135 additions and 1 deletions

View File

@@ -206,6 +206,46 @@ def test_km_stale_completion_lines_show_owner_review_queue_state() -> None:
assert "preview_stale_km_review_completion" in joined
def test_km_stale_completion_lines_show_callback_triage_state() -> None:
"""詳情/歷史要顯示 callback owner-review 缺口的流程、主責與卡點。"""
lines = telegram_gateway_module._format_km_stale_completion_lines({
"schema_version": "km_stale_owner_review_completion_telegram_summary_v1",
"status": "no_related_owner_review",
"incident_id": "INC-20260524-16109D",
"ready_count": 10,
"blocked_count": 0,
"completed_count": 1,
"failed_count": 0,
"writes_on_read": False,
"batch_writes_allowed": False,
"items": [],
"work_item": {
"schema_version": "km_stale_callback_owner_review_work_item_v1",
"status": "open",
"triage": {
"schema_version": "km_stale_callback_owner_review_triage_v1",
"flow_stage": "callback_observed_owner_review_link_missing",
"ai_lead_agent": "Hermes",
"supporting_agents": ["OpenClaw", "ElephantAlpha"],
"automation_state": "manual_owner_review_required",
"safe_to_auto_repair": False,
"blocking_reason": "no_matching_completion_item",
"matching_strategy": "related_incident_id_exact_match",
},
},
})
joined = "\n".join(lines)
assert "no_related_owner_review" in joined
assert "callback_observed_owner_review_link_missing" in joined
assert "related_incident_id_exact_match" in joined
assert "Hermes" in joined
assert "OpenClaw / ElephantAlpha" in joined
assert "manual_owner_review_required" in joined
assert "safe-auto <code>no</code>" in joined
assert "no_matching_completion_item" in joined
def test_awooop_runs_url_for_incident_uses_public_incident_filter() -> None:
"""Telegram URL button 必須導到公開 AwoooP Run list並帶 incident filter。"""
url = telegram_gateway_module._awooop_runs_url_for_incident("INC-20260514-F85F21")