fix(agents): keep auxiliary receipt lag nonblocking
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m7s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
ogt
2026-07-09 19:09:18 +08:00
parent 9d24b945ab
commit 2983f755b2
2 changed files with 96 additions and 4 deletions

View File

@@ -1375,6 +1375,54 @@ def test_runtime_receipt_recovery_keeps_partial_live_log_events_visible():
)
def test_runtime_receipt_auxiliary_alert_query_partial_does_not_block_runtime_truth():
readback = build_runtime_receipt_readback_from_rows(
project_id="awoooi",
db_read_status="partial",
operation_count_rows=[
{
"operation_type": "ansible_apply_executed",
"status": "success",
"total": 3,
"recent": 1,
},
],
verifier_count_rows=[
{"status": "success", "total": 3, "recent": 1},
],
km_count_rows=[
{"status": "linked", "total": 3, "recent": 1},
],
telegram_count_rows=[
{"status": "sent", "total": 3, "recent": 1},
],
partial_query_failures=[
{"query_name": "alert_operation_counts", "error_type": "DBAPIError"},
{
"query_name": "alertmanager_event_counts",
"error_type": "RuntimeReceiptQueryBudgetExceeded",
},
],
error_type="partial_query_failures",
)
recovery = readback["runtime_receipt_readback_recovery"]
assert recovery["status"] == (
"completed_live_runtime_receipts_observed_with_auxiliary_query_degradation"
)
assert recovery["blocker_fields"] == []
progress_items = {
item["work_item_id"]: item
for item in readback["work_item_progress"]["ordered_items"]
}
assert progress_items["P0-A-runtime-truth"]["status"] == "completed"
assert (
progress_items["P0-A-runtime-truth"]["auxiliary_query_degradation_only"]
is True
)
def test_runtime_receipt_work_items_use_learning_receipts_without_latest_telegram_gate():
apply_op_id = "2f8ef5c8-fd4e-4950-99e9-dc9e61150cab"
incident_id = "INC-20260629-LEARNING"