fix(sre): fail closed typed Agent99 dispatch

This commit is contained in:
Your Name
2026-07-19 03:21:22 +08:00
parent 3223f9c913
commit ba4e5c41a7
7 changed files with 329 additions and 42 deletions

View File

@@ -400,20 +400,30 @@
],
"source_refs": [
"apps/api/src/services/controlled_alert_target_router.py",
"apps/api/src/services/agent99_sre_bridge.py",
"apps/api/src/services/agent99_controlled_dispatch_ledger.py",
"apps/api/src/services/awooop_ansible_audit_service.py",
"apps/api/src/services/awooop_ansible_check_mode_service.py",
"apps/api/src/api/v1/agents.py",
"apps/api/tests/test_agent99_sre_bridge.py",
"apps/api/tests/test_agent99_controlled_dispatch_p1.py",
"apps/api/tests/test_sre_typed_domain_router.py",
"ops/monitoring/alerts-unified.yml"
],
"executor": "typed policy router",
"verifier": "domain/catalog/host/canonical ID scope verifier",
"rollback": "revert router source while keeping unknown fail-closed",
"exit_condition": "every candidate is exact-domain scoped; circuit-open never selects another host/domain; GCP-A/GCP-B unsanitized prompts and every cloud tool loop fail closed before a network call",
"confirmed_truth": [
"Agent99 admission rejects unresolved and cross-domain routes for both read-only and controlled-apply events before single-flight claim or transport",
"Explicit circuit_state=open or circuit_open=true is terminal before Agent99 claim/transport and requires a same-domain repair work item instead of fallback",
"BackupCheck persists executor=Agent99 for the exact read-only collector receipt and separately records break_glass_executor=backup_restore_break_glass; controlled apply remains false and the real ledger verifier accepts only the identity-bound BackupCheck evidence set"
],
"runtime_gaps": [
"source tests do not prove production router enforcement",
"Agent99 exact-host Alertmanager pull and reduced HTTPS relay are source-implemented but have no host99 production receipt or primary-path outage verifier"
],
"next_action": "run critical override, AlertChainBroken exact-host, cloud sanitized-input/tool-loop fail-closed and full Ansible replay regressions; then verify the same policy in production"
"next_action": "deploy the typed admission gate, then replay one unknown read-only event, one explicit circuit-open event and one BackupCheck event; prove zero Agent99 transport for the first two and an identity-bound read-only receipt for BackupCheck before broader production policy verification"
},
{
"id": "AIA-SRE-005",