chore(sre): reconcile telegram source readiness
This commit is contained in:
@@ -116,12 +116,12 @@ def test_loader_returns_fixed_architecture_provider_order_and_agent99_bridge() -
|
||||
"total_items": 18,
|
||||
"by_priority": {"P0": 16, "P1": 2},
|
||||
"by_status": {
|
||||
"source_implemented_runtime_pending": 9,
|
||||
"in_progress": 4,
|
||||
"source_implemented_runtime_pending": 10,
|
||||
"in_progress": 3,
|
||||
"planned": 4,
|
||||
"policy_active": 1,
|
||||
},
|
||||
"source_implemented_items": 9,
|
||||
"source_implemented_items": 10,
|
||||
"runtime_closed_items": 0,
|
||||
"program_completion_percent": 0,
|
||||
"asset_coverage_status": "partial",
|
||||
@@ -142,13 +142,21 @@ def test_ledger_links_confirmed_runtime_gaps_without_false_closure() -> None:
|
||||
items["AIA-SRE-013"]["runtime_gaps"]
|
||||
)
|
||||
assert "host99 Agent99" in " ".join(items["AIA-SRE-017"]["runtime_gaps"])
|
||||
assert items["AIA-SRE-017"]["status"] == (
|
||||
"source_implemented_runtime_pending"
|
||||
)
|
||||
assert "11 products and 26 typed routes" in " ".join(
|
||||
items["AIA-SRE-017"]["confirmed_truth"]
|
||||
)
|
||||
assert items["AIA-SRE-015"]["status"] == (
|
||||
"source_implemented_runtime_pending"
|
||||
)
|
||||
assert "production same-run receipt" in " ".join(
|
||||
items["AIA-SRE-015"]["runtime_gaps"]
|
||||
)
|
||||
assert "atomic 17-file bundle" in items["AIA-SRE-017"]["next_action"]
|
||||
assert "recipient-visible same-run delivery receipts" in (
|
||||
items["AIA-SRE-017"]["next_action"]
|
||||
)
|
||||
assert "gitea-native" in " ".join(items["AIA-SRE-018"]["runtime_gaps"])
|
||||
assert payload["completion_contract"]["evidence_layers"] == {
|
||||
"source_test": "partial_source_evidence_only",
|
||||
@@ -164,7 +172,7 @@ def test_projection_keeps_program_asset_and_runtime_truth_separate() -> None:
|
||||
payload = load_sre_k3s_controlled_automation_work_items()
|
||||
projection = build_sre_k3s_program_projection(payload)
|
||||
|
||||
assert projection["rollups"]["source_implemented_items"] == 9
|
||||
assert projection["rollups"]["source_implemented_items"] == 10
|
||||
assert projection["rollups"]["runtime_closed_items"] == 0
|
||||
assert projection["rollups"]["program_completion_percent"] == 0
|
||||
assert projection["domain_count"] == 8
|
||||
|
||||
@@ -753,7 +753,7 @@
|
||||
"title": "Telegram 與 cockpit 只呈現 canonical lifecycle truth",
|
||||
"owner_lane": "ProductExperience",
|
||||
"risk": "medium",
|
||||
"status": "in_progress",
|
||||
"status": "source_implemented_runtime_pending",
|
||||
"dependencies": [
|
||||
"AIA-SRE-015"
|
||||
],
|
||||
@@ -767,17 +767,28 @@
|
||||
"agent99-sre-alert-relay.ps1",
|
||||
"scripts/reboot-recovery/deploy-agent99-via-windows99-ssh.sh",
|
||||
"apps/api/src/services/failover_alerter.py",
|
||||
"apps/api/src/services/telegram_gateway.py"
|
||||
"apps/api/src/services/telegram_gateway.py",
|
||||
"apps/api/src/services/notification_matrix.py",
|
||||
"apps/api/src/services/agent99_sre_bridge.py",
|
||||
"apps/api/src/services/agent99_telegram_lifecycle.py",
|
||||
"apps/api/src/services/telegram_button_registry.py",
|
||||
"apps/api/src/services/callback_dispatcher.py"
|
||||
],
|
||||
"executor": "canonical Telegram gateway",
|
||||
"verifier": "delivery receipt plus desktop/mobile visible smoke",
|
||||
"rollback": "suppress duplicate projection; retain incident ledger",
|
||||
"exit_condition": "no alert is sprayed across groups/bots; every card states AI/provider/Agent action, executor, verifier and receipt truth; AlertChainBroken uses Alertmanager integration-scoped delivery counters stamped with the independently tested sole-webhook receiver contract plus host99 Agent99 exact-host read-only polling independent of the broken webhook; UI status polling never emits failover alerts",
|
||||
"confirmed_truth": [
|
||||
"source registry covers 11 products and 26 typed routes; only allowlisted P0/P1 operational routes resolve to the AwoooI SRE war room",
|
||||
"unknown product, signal, severity or requested destination fails closed and active source contains no raw numeric Telegram destination default",
|
||||
"Telegram automation cards distinguish durable AI/provider, Agent, executor, verifier and learning receipts from configured-but-unobserved components",
|
||||
"information and controlled-action buttons are bound to registered callback actions instead of display-only ghost buttons"
|
||||
],
|
||||
"runtime_gaps": [
|
||||
"the host99 Agent99 independent pull/reduced relay has no production deployment, freshness, dedupe or controlled-repair receipt",
|
||||
"production Alertmanager exposes integration-only notification counters; the bounded check now passes after adding a scrape-time receiver_contract label, but apply, alert resolution and same-run learning receipts remain pending"
|
||||
],
|
||||
"next_action": "deploy the production-schema-compatible Alertmanager runtime scrape/canonical rules, the host99 Agent99 exact-host poller and the fixed DB dispatch entrypoint through the atomic 17-file bundle; verify receiver-contract freshness, dedupe and the current firing alert resolution; then reconcile every project/product/alert class against its typed domain and canonical Telegram destination"
|
||||
"next_action": "deploy one exact source revision through the authorized release lane, then verify receiver-contract freshness, host99 Agent99 exact-host polling, dedupe, callback execution, current firing alert resolution and recipient-visible same-run delivery receipts; source tests must not be counted as runtime closure"
|
||||
},
|
||||
{
|
||||
"id": "AIA-SRE-018",
|
||||
@@ -821,12 +832,12 @@
|
||||
"P1": 2
|
||||
},
|
||||
"by_status": {
|
||||
"source_implemented_runtime_pending": 9,
|
||||
"in_progress": 4,
|
||||
"source_implemented_runtime_pending": 10,
|
||||
"in_progress": 3,
|
||||
"planned": 4,
|
||||
"policy_active": 1
|
||||
},
|
||||
"source_implemented_items": 9,
|
||||
"source_implemented_items": 10,
|
||||
"runtime_closed_items": 0,
|
||||
"program_completion_percent": 0,
|
||||
"asset_coverage_status": "partial",
|
||||
|
||||
Reference in New Issue
Block a user