{ "execution_boundaries": { "action_buttons_allowed": false, "active_scan_authorized": false, "alert_chain_smoke_authorized": false, "alertmanager_reload_authorized": false, "exporter_deploy_authorized": false, "grafana_dashboard_apply_authorized": false, "host_write_authorized": false, "kubectl_action_authorized": false, "langfuse_config_change_authorized": false, "live_alert_fire_authorized": false, "notification_route_change_authorized": false, "otel_collector_reload_authorized": false, "prometheus_reload_authorized": false, "receiver_route_change_authorized": false, "remote_write_change_authorized": false, "runtime_execution_authorized": false, "secret_value_collection_allowed": false, "sentry_deploy_authorized": false, "signoz_rule_apply_authorized": false, "silence_policy_change_authorized": false, "ssh_read_authorized": false, "ssh_write_authorized": false, "telegram_send_authorized": false, "webhook_receiver_change_authorized": false }, "expected_scopes": [ "192.168.0.110_monitoring_stack", "192.168.0.188_exporters", "ai_agent_telegram_digest_policy", "ai_agent_telegram_receipt_policy", "ai_flywheel_alerts", "alert_chain_metrics", "alert_chain_monitor", "alert_chain_smoke", "alertmanager_config_deploy", "alertmanager_routes_receivers", "api_alert_rule_engine", "api_prometheus_config_apply", "backup_notification_policy", "database_alerts", "generated_blackbox_targets", "generated_scrape_targets", "grafana_agent_step_latency_rules", "grafana_ai_monitoring_dashboard", "grafana_ai_slo_dashboard", "grafana_infra_monitoring_dashboard", "grafana_nvidia_nemotron_dashboard", "grafana_ollama_failover_dashboard", "k3s_cluster_alerts", "k3s_supplemental_alerts", "k8s_monitoring_prometheus_additions", "k8s_monitoring_prometheus_base", "k8s_prometheus_config_deploy", "langfuse_api_client", "langfuse_observability_runbook", "langfuse_observability_runtime", "live_alert_fire_script", "minio_kali_alerts", "monitoring_exporter_deploy", "monitoring_service_registry", "notification_matrix_policy", "notification_runtime_routing", "nvidia_gpu_alerts", "observability_contract_matrix", "ollama_health_rules", "ops_alert_chain_smoke", "ops_prometheus_alerts", "phase_o_prometheus_config", "postgres_exporter_queries", "prometheus_alerts_deploy", "prometheus_remote_write_signoz", "prometheus_rule_drift_guard", "prometheus_slo_rules", "recurrence_notification_runtime", "sentry_api_client", "sentry_self_hosted_deploy", "sentry_self_hosted_runtime", "sentry_webhook_receiver", "service_health_failure_notification_policy", "signoz_alerting_rules", "signoz_api_client", "signoz_log_alert_rules", "signoz_otel_collector_phase_o", "telegram_gateway_runtime_sender", "test_alert_fire_script", "unified_prometheus_alerts" ], "generated_at": "2026-06-12T09:00:00+08:00", "git_commit": "7a7daa33", "next_collection_order": [ "alertmanager_receiver_config", "prometheus_alerts_ops", "prometheus_rule_drift_guard_script", "deploy_alertmanager_config_script", "deploy_prometheus_alerts_script", "monitoring_110_compose", "signoz_otel_collector_config", "sentry_self_hosted_compose", "telegram_gateway_service", "alert_chain_smoke_script" ], "observability_surfaces": [ { "action_buttons_allowed": false, "config_kind": "prometheus_config", "control_tier": "C1", "current_state": "repo_source_visible_reload_not_authorized", "expected_scope": "k8s_monitoring_prometheus_base", "label": "K8s Prometheus base config", "line_count": 208, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Prometheus owner、live config hash、reload owner、rule diff 與 route smoke 指標。", "observability_scope": [ "scrape config", "service discovery", "alert rule includes" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "5ea5ec736686dabb05bff0691dd45196eae4d2ab645c14b3f812748186ad6da9", "source_exists": true, "source_path": "k8s/monitoring/prometheus.yml", "surface_id": "prometheus_k8s_base_config" }, { "action_buttons_allowed": false, "config_kind": "prometheus_config", "control_tier": "C1", "current_state": "repo_source_visible_needs_drift_disposition", "expected_scope": "k8s_monitoring_prometheus_additions", "label": "K8s Prometheus additions", "line_count": 112, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 additions owner、live parity evidence、rollout window 與 rollback owner。", "observability_scope": [ "supplemental scrape", "additional rule paths" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "67bd6ef7b9da39fd4decb5254dc9bea1980f54fcd162f8468ac98f49258a39b4", "source_exists": true, "source_path": "k8s/monitoring/prometheus-config-additions.yaml", "surface_id": "prometheus_k8s_additions_config" }, { "action_buttons_allowed": false, "config_kind": "prometheus_config", "control_tier": "C1", "current_state": "phase_config_visible_reload_not_authorized", "expected_scope": "phase_o_prometheus_config", "label": "Prometheus Phase O config", "line_count": 83, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Phase O owner、stale config disposition、reload owner 與 post-check 指標。", "observability_scope": [ "Phase O monitoring", "baseline scrape" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "7bdb94a23f6f14912c89655e5313fb745a772286671647db32d7ee2f07b50d9d", "source_exists": true, "source_path": "k8s/monitoring/prometheus-config-phase-o.yaml", "surface_id": "prometheus_phase_o_config" }, { "action_buttons_allowed": false, "config_kind": "prometheus_remote_write", "control_tier": "C1", "current_state": "data_export_config_visible_gate_closed", "expected_scope": "prometheus_remote_write_signoz", "label": "Prometheus remote write to SigNoz", "line_count": 89, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 data export owner、privacy boundary、SigNoz ingest owner、rollback owner 與 volume guard。", "observability_scope": [ "remote write", "SigNoz ingestion", "data export boundary" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "da6ae1ef0be420b07fc0f56861e548d049ec53fd0f601ee913797304315fbcc7", "source_exists": true, "source_path": "k8s/monitoring/prometheus-remote-write-signoz.yaml", "surface_id": "prometheus_remote_write_signoz" }, { "action_buttons_allowed": false, "config_kind": "prometheus_generated_config", "control_tier": "C1", "current_state": "generated_source_visible_needs_source_registry_parity", "expected_scope": "generated_scrape_targets", "label": "Generated Prometheus scrape config", "line_count": 192, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 generator owner、service registry parity、live target count 與 stale target disposition。", "observability_scope": [ "generated targets", "service registry" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "6c1fb1ef0b672e016584a26b3dd1c1fb62904d9a4d26ec30e35f5493e23b0f9b", "source_exists": true, "source_path": "ops/monitoring/generated/prometheus-scrape-generated.yaml", "surface_id": "prometheus_generated_scrape_config" }, { "action_buttons_allowed": false, "config_kind": "prometheus_generated_config", "control_tier": "C1", "current_state": "generated_blackbox_targets_visible_probe_not_executed", "expected_scope": "generated_blackbox_targets", "label": "Generated blackbox targets", "line_count": 110, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 blackbox owner、target freshness、public route owner 與 probe execution approval。", "observability_scope": [ "blackbox targets", "public route smoke candidates" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "e375aec2fe6b602157de4d187d66c8a4b0dc237c1ba2ae8c9ad3f598f4730e79", "source_exists": true, "source_path": "ops/monitoring/generated/blackbox-targets-generated.yaml", "surface_id": "prometheus_generated_blackbox_targets" }, { "action_buttons_allowed": false, "config_kind": "monitoring_service_registry", "control_tier": "C1", "current_state": "registry_visible_needs_owner_disposition", "expected_scope": "monitoring_service_registry", "label": "Monitoring service registry", "line_count": 830, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 registry owner、產品 owner mapping、retired target disposition 與 generator smoke。", "observability_scope": [ "service registry", "target generation" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "e01aa01299381506ac901229ab3154329c978358d40882618cfbaa134c007418", "source_exists": true, "source_path": "ops/monitoring/service-registry.yaml", "surface_id": "monitoring_service_registry" }, { "action_buttons_allowed": false, "config_kind": "exporter_query_config", "control_tier": "C1", "current_state": "query_config_visible_needs_db_owner_review", "expected_scope": "postgres_exporter_queries", "label": "Postgres exporter query config", "line_count": 215, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 DB owner、query cost boundary、metric name owner 與 rollback owner。", "observability_scope": [ "PostgreSQL metrics", "custom exporter queries" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "50102b017c91d24c1dcae79779b4da39ce44628a2bd89250f5145411f0ac6f21", "source_exists": true, "source_path": "ops/monitoring/postgres-exporter-queries.yaml", "surface_id": "postgres_exporter_queries" }, { "action_buttons_allowed": false, "config_kind": "monitoring_runtime_compose", "control_tier": "C1", "current_state": "runtime_compose_visible_live_hash_missing", "expected_scope": "192.168.0.110_monitoring_stack", "label": "110 monitoring compose", "line_count": 148, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 110 live compose hash、restart window、rollback owner、admin secret boundary 與 post-check。", "observability_scope": [ "Prometheus", "Grafana", "Alertmanager", "blackbox", "cadvisor" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "00126e9a5cb7a3cf2bf02cfddefea11f05849b46835a4e602eac4777fcb25281", "source_exists": true, "source_path": "k8s/monitoring/docker-compose-110.yml", "surface_id": "monitoring_110_compose" }, { "action_buttons_allowed": false, "config_kind": "monitoring_runtime_compose", "control_tier": "C1", "current_state": "exporter_compose_visible_live_hash_missing", "expected_scope": "192.168.0.188_exporters", "label": "188 monitoring exporters compose", "line_count": 69, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 188 exporter owner、live hash、env source policy、restart window 與 rollback owner。", "observability_scope": [ "postgres-exporter", "redis-exporter" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "3ffb3bd2e98091d18e60b74721904777c27f279c37ab6e873b82e6ef73eb87d4", "source_exists": true, "source_path": "ops/monitoring/docker-compose.exporters.yaml", "surface_id": "monitoring_exporters_compose" }, { "action_buttons_allowed": false, "config_kind": "alertmanager_receiver_config", "control_tier": "C1", "current_state": "receiver_route_visible_reload_not_authorized", "expected_scope": "alertmanager_routes_receivers", "label": "Alertmanager receiver config", "line_count": 146, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 receiver owner、route diff、silence policy owner、reload owner 與 failure-only notification proof。", "observability_scope": [ "routes", "receivers", "grouping", "Telegram / webhook receiver boundary" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "7ee436fbe114bd2fffa616d8d87c42dd0cc7f59151dc03ab09258dfa83a1de86", "source_exists": true, "source_path": "ops/alertmanager/alertmanager.yml", "surface_id": "alertmanager_receiver_config" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "alert_rules_visible_reload_not_authorized", "expected_scope": "ops_prometheus_alerts", "label": "Ops Prometheus alerts", "line_count": 1355, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 alert rule owner、rule diff、receiver mapping、reload owner 與 false-green guard。", "observability_scope": [ "infrastructure alerts", "backup alerts", "route alerts" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "94d439a2ea599995601a5022dc0a001cc09f405964cd1308b103f86e2af14e90", "source_exists": true, "source_path": "ops/monitoring/alerts.yml", "surface_id": "prometheus_alerts_ops" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "unified_rules_visible_needs_receiver_parity", "expected_scope": "unified_prometheus_alerts", "label": "Unified Prometheus alerts", "line_count": 2031, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 unified rule owner、label taxonomy owner、receiver parity 與 rollout window。", "observability_scope": [ "unified alerts", "routing labels" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "97b5be44a5af982c8013323d353c67748f87a7336d22a7c8270d7d6a1546bf45", "source_exists": true, "source_path": "ops/monitoring/alerts-unified.yml", "surface_id": "prometheus_alerts_unified" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "slo_rules_visible_reload_not_authorized", "expected_scope": "prometheus_slo_rules", "label": "Prometheus SLO rules", "line_count": 257, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 SLO owner、error budget owner、rule test evidence 與 receiver mapping。", "observability_scope": [ "SLO burn rate", "availability indicators" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "31b7cbe0af22c5ad2320cf23fd06cce73a93194acff0e1d4045ed0acb7b3b3bd", "source_exists": true, "source_path": "ops/monitoring/slo-rules.yml", "surface_id": "prometheus_slo_rules" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "ai_runtime_health_rules_visible_reload_not_authorized", "expected_scope": "ollama_health_rules", "label": "Ollama health alert rules", "line_count": 149, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 AI provider owner、fallback owner、receiver owner 與 reload owner。", "observability_scope": [ "Ollama health", "AI provider availability" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "9f994c654d8a8c6c7d570fec0ba0418f8d4cc7fe4e4a83cb1bb80988a3cd0b55", "source_exists": true, "source_path": "ops/monitoring/ollama_health_rules.yaml", "surface_id": "prometheus_ollama_health_rules" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "k3s_rules_visible_apply_not_authorized", "expected_scope": "k3s_cluster_alerts", "label": "K3s alert rules", "line_count": 203, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 K3s owner、rule apply window、ArgoCD / kubectl boundary 與 rollback owner。", "observability_scope": [ "K3s workloads", "cluster health" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "be1a4e796f6f6363566898ffd07ac37a938255b895cde11743fe0770d9946663", "source_exists": true, "source_path": "k8s/monitoring/k3s-alerts.yaml", "surface_id": "k8s_k3s_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "supplemental_rules_visible_apply_not_authorized", "expected_scope": "k3s_supplemental_alerts", "label": "K3s supplemental alert rules", "line_count": 290, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 supplemental rule owner、overlap disposition、receiver owner 與 apply boundary。", "observability_scope": [ "K3s supplemental health", "gap alerts" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "14fd4f8c7deaf22c6828ffbf66400e6d0e274f03db1999197af26311bdb6d203", "source_exists": true, "source_path": "k8s/monitoring/k3s-alerts-supplemental.yaml", "surface_id": "k8s_k3s_supplemental_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "database_rules_visible_apply_not_authorized", "expected_scope": "database_alerts", "label": "Database alert rules", "line_count": 264, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 DB alert owner、threshold owner、receiver mapping 與 live metric evidence。", "observability_scope": [ "PostgreSQL", "Redis", "DB availability" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "6077aa4e061c6604519eaede01144ffec46c39a6715a296a1ae54ff5484a0111", "source_exists": true, "source_path": "k8s/monitoring/database-alerts.yaml", "surface_id": "k8s_database_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "gpu_rules_visible_apply_not_authorized", "expected_scope": "nvidia_gpu_alerts", "label": "NVIDIA alert rules", "line_count": 122, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 GPU owner、NVIDIA exporter live evidence、receiver owner 與 rollout boundary。", "observability_scope": [ "GPU health", "AI workload capacity" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "c43a6413269dadc8269b9724ee905650f39926249a37c7339179ec88facdf972", "source_exists": true, "source_path": "k8s/monitoring/nvidia-alerts.yaml", "surface_id": "k8s_nvidia_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "minio_kali_rules_visible_apply_not_authorized", "expected_scope": "minio_kali_alerts", "label": "MinIO / Kali alert rules", "line_count": 67, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 MinIO / Kali owner、active scan boundary、receiver owner 與 rule apply owner。", "observability_scope": [ "MinIO", "Kali scanner", "read-only scanner status" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "3f3ca8c012a40f5a9983b6f587dfd60ffd0a8fb3dcea6b793cb1d5fbad0fe50b", "source_exists": true, "source_path": "k8s/monitoring/minio-kali-alerts.yaml", "surface_id": "k8s_minio_kali_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "flywheel_rules_visible_apply_not_authorized", "expected_scope": "ai_flywheel_alerts", "label": "AI flywheel alert rules", "line_count": 219, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 AI flywheel owner、runtime gate boundary、receiver owner 與 false-green guard。", "observability_scope": [ "AI flywheel", "learning / runtime health" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "74334919400623ff4115472e39ba30a6bbc5383bc7dfd6a3fae7bd06531e7cc6", "source_exists": true, "source_path": "k8s/monitoring/flywheel-alerts.yaml", "surface_id": "k8s_flywheel_alerts" }, { "action_buttons_allowed": false, "config_kind": "prometheus_alert_rules", "control_tier": "C1", "current_state": "alert_chain_monitor_visible_apply_not_authorized", "expected_scope": "alert_chain_monitor", "label": "Alert chain monitor", "line_count": 202, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 alert chain owner、E2E smoke owner、receiver owner 與 post-check 指標。", "observability_scope": [ "Alertmanager chain", "E2E alert visibility" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "03ad55d72425f27071ba3afa8d43959a7ee361cc8f76fcf2ca295a33297bbf54", "source_exists": true, "source_path": "k8s/monitoring/alert-chain-monitor.yaml", "surface_id": "k8s_alert_chain_monitor" }, { "action_buttons_allowed": false, "config_kind": "app_alert_rule_contract", "control_tier": "C1", "current_state": "app_rule_contract_visible_runtime_change_not_authorized", "expected_scope": "api_alert_rule_engine", "label": "API alert rule engine rules", "line_count": 889, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 rule owner、AI decision owner、classification drift evidence 與 rollback owner。", "observability_scope": [ "alert classification", "approval recommendations", "playbook matching" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "5786505aa05073bbb2069203a443a75c8337a289dc015630792d0c201c85cafb", "source_exists": true, "source_path": "apps/api/alert_rules.yaml", "surface_id": "app_alert_rules_yaml" }, { "action_buttons_allowed": false, "config_kind": "grafana_alert_rules", "control_tier": "C1", "current_state": "grafana_rules_visible_apply_not_authorized", "expected_scope": "grafana_agent_step_latency_rules", "label": "Grafana agent step latency rules", "line_count": 201, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Grafana alert owner、dashboard / rule UID owner、apply owner 與 rollback owner。", "observability_scope": [ "agent step latency", "Grafana alerting" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "24b086bdf0eaca72c90fc323e562de4b47708c25f2427c0fc0b350e883431564", "source_exists": true, "source_path": "ops/monitoring/grafana/agent_step_latency_rules.yaml", "surface_id": "grafana_agent_step_latency_rules" }, { "action_buttons_allowed": false, "config_kind": "grafana_dashboard", "control_tier": "C1", "current_state": "dashboard_json_visible_apply_not_authorized", "expected_scope": "grafana_ai_slo_dashboard", "label": "Grafana AI SLO dashboard", "line_count": 496, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 dashboard owner、folder owner、UID conflict check 與 import rollback owner。", "observability_scope": [ "AI SLO", "dashboard panels" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "e7518d6c234330d4b19c056a1810cb8037fbe1572f5a7968ac623dbee3630db3", "source_exists": true, "source_path": "ops/monitoring/grafana/dashboards/ai-slo-dashboard.json", "surface_id": "grafana_ai_slo_dashboard" }, { "action_buttons_allowed": false, "config_kind": "grafana_dashboard", "control_tier": "C1", "current_state": "dashboard_json_visible_apply_not_authorized", "expected_scope": "grafana_ollama_failover_dashboard", "label": "Grafana Ollama failover dashboard", "line_count": 295, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 dashboard owner、AI provider owner、Grafana import owner 與 rollback ref。", "observability_scope": [ "Ollama failover", "AI provider health" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "f583bc00a8af0c87f9594fb2452b9835e90a7c1473131bf8fb4b6709887a7a5b", "source_exists": true, "source_path": "ops/monitoring/grafana/dashboards/ollama_failover.json", "surface_id": "grafana_ollama_failover_dashboard" }, { "action_buttons_allowed": false, "config_kind": "grafana_dashboard", "control_tier": "C1", "current_state": "dashboard_json_visible_apply_not_authorized", "expected_scope": "grafana_ai_monitoring_dashboard", "label": "Grafana AI monitoring dashboard", "line_count": 347, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 dashboard owner、panel query owner、import window 與 rollback owner。", "observability_scope": [ "AI monitoring", "runtime health" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "acf865af021100244b91358c423e9d73d8bf2d58221cf274ea7ad7ae2fc933fd", "source_exists": true, "source_path": "ops/grafana/dashboards/ai-monitoring.json", "surface_id": "grafana_ai_monitoring_dashboard" }, { "action_buttons_allowed": false, "config_kind": "grafana_dashboard", "control_tier": "C1", "current_state": "dashboard_json_visible_apply_not_authorized", "expected_scope": "grafana_infra_monitoring_dashboard", "label": "Grafana infra monitoring dashboard", "line_count": 306, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 infra dashboard owner、host source owner、import owner 與 smoke plan。", "observability_scope": [ "infrastructure monitoring", "host health" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "40c696e140585bd1889c4e07cbd8f9be302c1653b5d0736cd93c8d9c29c2beb0", "source_exists": true, "source_path": "ops/grafana/dashboards/infra-monitoring.json", "surface_id": "grafana_infra_monitoring_dashboard" }, { "action_buttons_allowed": false, "config_kind": "grafana_dashboard", "control_tier": "C1", "current_state": "dashboard_json_visible_apply_not_authorized", "expected_scope": "grafana_nvidia_nemotron_dashboard", "label": "Grafana NVIDIA / NemoTron dashboard", "line_count": 1426, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 GPU / NemoTron owner、dashboard UID owner、import owner 與 rollback owner。", "observability_scope": [ "NVIDIA", "NemoTron", "GPU AI route" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "f47280987546c8546058d61b25a41f14bbb573e33a9c08f45b138d8176397d82", "source_exists": true, "source_path": "ops/grafana/dashboards/nvidia-nemotron.json", "surface_id": "grafana_nvidia_nemotron_dashboard" }, { "action_buttons_allowed": false, "config_kind": "otel_collector_config", "control_tier": "C1", "current_state": "otel_collector_config_visible_reload_not_authorized", "expected_scope": "signoz_otel_collector_phase_o", "label": "SigNoz OTEL collector config", "line_count": 188, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 OTEL owner、pipeline diff、secret redaction proof、reload owner 與 data export boundary。", "observability_scope": [ "OTEL collector", "traces / metrics / logs routing" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "85abede3243b0775da600d1a5e092df3ff8c79eea56131b0da52a51aa7f668b9", "source_exists": true, "source_path": "ops/signoz/otel-collector-config-phase-o.yaml", "surface_id": "signoz_otel_collector_config" }, { "action_buttons_allowed": false, "config_kind": "signoz_alert_rules", "control_tier": "C1", "current_state": "signoz_rules_visible_apply_not_authorized", "expected_scope": "signoz_alerting_rules", "label": "SigNoz alerting rules", "line_count": 165, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 SigNoz rule owner、apply owner、receiver mapping、silence owner 與 rollback owner。", "observability_scope": [ "SigNoz alert rules", "logs / traces alerting" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "a70519216e354ff78e323b1d77898e9d55b19eea5704fd8a8e9dd928196881e4", "source_exists": true, "source_path": "ops/signoz/alerting/rules.yaml", "surface_id": "signoz_alerting_rules" }, { "action_buttons_allowed": false, "config_kind": "signoz_log_rules", "control_tier": "C1", "current_state": "log_rule_runbook_visible_apply_not_authorized", "expected_scope": "signoz_log_alert_rules", "label": "SigNoz log alert rules", "line_count": 107, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 log rule owner、manual translation reviewer、apply proof 與 rollback owner。", "observability_scope": [ "log alerting", "manual rule translation" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "f4e77c4e8e6fa149df5a4b5ef4651e514f9e0142f66f3f27dbd951fe3abed533", "source_exists": true, "source_path": "ops/signoz/alerting/log-rules.md", "surface_id": "signoz_log_rules" }, { "action_buttons_allowed": false, "config_kind": "sentry_runtime_compose", "control_tier": "C1", "current_state": "sentry_compose_visible_live_hash_missing", "expected_scope": "sentry_self_hosted_runtime", "label": "Sentry self-hosted compose", "line_count": 49, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Sentry runtime owner、live hash、admin secret boundary、upgrade window 與 rollback owner。", "observability_scope": [ "Sentry self-hosted", "ClickHouse / Postgres / Redis boundary" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "bba852dc0d73934998fa375130168615f9ac7611ce3f3efaa901e3b7e222eae3", "source_exists": true, "source_path": "ops/sentry-self-hosted/docker-compose.yml", "surface_id": "sentry_self_hosted_compose" }, { "action_buttons_allowed": false, "config_kind": "sentry_deploy_script", "control_tier": "C1", "current_state": "deploy_script_visible_not_executed", "expected_scope": "sentry_self_hosted_deploy", "label": "Sentry self-hosted deploy script", "line_count": 65, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 deploy owner、maintenance window、backup owner、migration rollback owner 與 smoke plan。", "observability_scope": [ "Sentry deploy", "compose pull / up", "migration boundary" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "b3dfb577c398a12d8f0521b159d18413257850eed7220234fcc491ff9aee9c7a", "source_exists": true, "source_path": "ops/sentry-self-hosted/deploy.sh", "surface_id": "sentry_self_hosted_deploy" }, { "action_buttons_allowed": false, "config_kind": "langfuse_runtime_compose", "control_tier": "C1", "current_state": "langfuse_compose_visible_live_hash_missing", "expected_scope": "langfuse_observability_runtime", "label": "Langfuse compose", "line_count": 71, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Langfuse owner、trace privacy owner、live hash、restart window 與 rollback owner。", "observability_scope": [ "Langfuse", "LLM trace storage", "PostgreSQL dependency" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "6c703a27525e62ef4d4d3c4cba8a89d64f646b01020782e35d22a3bf73f2dc83", "source_exists": true, "source_path": "infra/langfuse/docker-compose.yml", "surface_id": "langfuse_compose" }, { "action_buttons_allowed": false, "config_kind": "langfuse_runbook", "control_tier": "C1", "current_state": "runbook_visible_needs_stale_disposition", "expected_scope": "langfuse_observability_runbook", "label": "Langfuse deployment README", "line_count": 69, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 runbook owner、live deployment parity、trace retention owner 與 secret redaction proof。", "observability_scope": [ "Langfuse deployment", "trace governance" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "7441665bfd3ce69e643364c7e792c837641bd36ff05d1aec44f15a7be62082e1", "source_exists": true, "source_path": "infra/langfuse/README.md", "surface_id": "langfuse_readme" }, { "action_buttons_allowed": false, "config_kind": "notification_policy_snapshot", "control_tier": "C1", "current_state": "failure_only_policy_visible_live_send_gate_closed", "expected_scope": "service_health_failure_notification_policy", "label": "Service health failure notification policy", "line_count": 303, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 notification owner、receiver owner、live receipt proof、redaction proof 與 retry boundary。", "observability_scope": [ "failure-only notification", "redaction contract" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "210a35e3e122d4311d5d25585c0d88b46206da87baa39a3f712fba291fea6ea3", "source_exists": true, "source_path": "docs/evaluations/service_health_failure_notification_policy_2026-06-05.json", "surface_id": "service_health_failure_policy_snapshot" }, { "action_buttons_allowed": false, "config_kind": "notification_policy_snapshot", "control_tier": "C1", "current_state": "backup_notification_policy_visible_live_send_gate_closed", "expected_scope": "backup_notification_policy", "label": "Backup notification policy", "line_count": 276, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 backup notification owner、Telegram receipt owner、failure-only proof 與 false-green guard。", "observability_scope": [ "backup failure notification", "restore / offsite alerting" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "0b282dc88bbe140871d9e232de5ebce97168b1a38b16e46b2e90c62fea6d6c8d", "source_exists": true, "source_path": "docs/evaluations/backup_notification_policy_2026-06-04.json", "surface_id": "backup_notification_policy_snapshot" }, { "action_buttons_allowed": false, "config_kind": "observability_contract_snapshot", "control_tier": "C1", "current_state": "contract_matrix_visible_needs_live_parity", "expected_scope": "observability_contract_matrix", "label": "Observability contract matrix", "line_count": 391, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 contract owner、live parity owner、coverage gap disposition 與 evidence freshness owner。", "observability_scope": [ "observability contract", "source coverage", "runtime evidence" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "b274f086080a4ac8d6e1786fa8d44a585ce92aadb1f6608dfb891cef7b1f05a1", "source_exists": true, "source_path": "docs/evaluations/observability_contract_matrix_2026-06-05.json", "surface_id": "observability_contract_matrix_snapshot" }, { "action_buttons_allowed": false, "config_kind": "telegram_policy_snapshot", "control_tier": "C1", "current_state": "telegram_policy_visible_live_send_gate_closed", "expected_scope": "ai_agent_telegram_digest_policy", "label": "Telegram action required digest policy", "line_count": 405, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Telegram owner、receiver owner、receipt owner、redaction proof 與 retry boundary。", "observability_scope": [ "Telegram digest", "action required routing" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "2f8d00a8d697720e3198678dbaecca9fc618aa7957a348d89fd1bce250be842e", "source_exists": true, "source_path": "docs/evaluations/ai_agent_telegram_action_required_digest_policy_2026-06-11.json", "surface_id": "telegram_action_required_digest_snapshot" }, { "action_buttons_allowed": false, "config_kind": "telegram_policy_snapshot", "control_tier": "C1", "current_state": "receipt_policy_visible_live_receipt_gate_closed", "expected_scope": "ai_agent_telegram_receipt_policy", "label": "Telegram receipt approval package", "line_count": 179, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 receipt owner、gateway queue owner、ack policy owner 與 no-live-send boundary。", "observability_scope": [ "delivery receipt", "ack / retry policy" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "4fcb0f5a9ab809df3ea2ea1e384aa1f9c09544af0a12274029fc52c21c15e857", "source_exists": true, "source_path": "docs/evaluations/ai_agent_telegram_receipt_approval_package_2026-06-11.json", "surface_id": "telegram_receipt_approval_snapshot" }, { "action_buttons_allowed": false, "config_kind": "telegram_runtime_sender", "control_tier": "C1", "current_state": "send_capable_service_visible_gate_closed", "expected_scope": "telegram_gateway_runtime_sender", "label": "Telegram gateway service", "line_count": 9452, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 gateway owner、token injection owner、receipt owner、send approval gate 與 rollback owner。", "observability_scope": [ "Telegram Bot API", "dedup", "delivery queue" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "bf8727f1fcb8cfbdda0997dbd6e1d5f9298a09d10bebf719a3d3b70a23e3633c", "source_exists": true, "source_path": "apps/api/src/services/telegram_gateway.py", "surface_id": "telegram_gateway_service" }, { "action_buttons_allowed": false, "config_kind": "notification_runtime_router", "control_tier": "C1", "current_state": "runtime_router_visible_send_gate_closed", "expected_scope": "notification_runtime_routing", "label": "Notification manager", "line_count": 172, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 channel owner、routing owner、failure-only policy owner、receipt owner 與 rollback owner。", "observability_scope": [ "notification channel routing", "Telegram / Discord manager" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "f3b61e55dba30aca4be16282681445671559467ddc21b946f76762ad829cfeb2", "source_exists": true, "source_path": "apps/api/src/services/notifications/manager.py", "surface_id": "notification_manager_service" }, { "action_buttons_allowed": false, "config_kind": "notification_policy_code", "control_tier": "C1", "current_state": "policy_code_visible_runtime_gate_closed", "expected_scope": "notification_matrix_policy", "label": "Notification matrix", "line_count": 66, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 matrix owner、recipient owner、channel parity evidence 與 redaction policy。", "observability_scope": [ "notification policy", "recipient / channel mapping" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "5881a477e7fe6b7f60af9ad1e880197b01474bc08749977d46fd541764d81442", "source_exists": true, "source_path": "apps/api/src/services/notification_matrix.py", "surface_id": "notification_matrix_service" }, { "action_buttons_allowed": false, "config_kind": "alert_metrics_service", "control_tier": "C1", "current_state": "metrics_service_visible_needs_runtime_evidence", "expected_scope": "alert_chain_metrics", "label": "Alert chain metrics service", "line_count": 160, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 metrics owner、Prometheus scrape owner、delivery evidence 與 false-green guard。", "observability_scope": [ "alert chain metrics", "delivery visibility" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "4eee6ac9e7228183a6fbc05179b85c0d8aca001bf7cc15736d480b3dd1d6f96d", "source_exists": true, "source_path": "apps/api/src/services/alert_chain_metrics_service.py", "surface_id": "alert_chain_metrics_service" }, { "action_buttons_allowed": false, "config_kind": "notification_runtime_router", "control_tier": "C1", "current_state": "recurrence_notifier_visible_send_gate_closed", "expected_scope": "recurrence_notification_runtime", "label": "Converged alert recurrence notifier", "line_count": 215, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 recurrence owner、noise budget owner、receipt owner、silence boundary 與 rollback owner。", "observability_scope": [ "recurrence notification", "dedup", "escalation routing" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "66e7026bd8b6662c6daaaeb004cb5b58a9ffe81b705b227e2ad1f50e84bc6856", "source_exists": true, "source_path": "apps/api/src/services/converged_alert_recurrence_notifier.py", "surface_id": "converged_alert_recurrence_notifier" }, { "action_buttons_allowed": false, "config_kind": "webhook_receiver", "control_tier": "C1", "current_state": "webhook_receiver_visible_secret_value_not_collected", "expected_scope": "sentry_webhook_receiver", "label": "Sentry webhook service", "line_count": 452, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 webhook owner、secret name owner、signature proof、route smoke 與 replay boundary。", "observability_scope": [ "Sentry webhook", "signature validation", "triage route" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "00c192d55a56f4dafd4e11a4fa7d3950a8938ab158f066bb7d49ab70c4c19d06", "source_exists": true, "source_path": "apps/api/src/services/sentry_webhook_service.py", "surface_id": "sentry_webhook_service" }, { "action_buttons_allowed": false, "config_kind": "signoz_observability_client", "control_tier": "C1", "current_state": "client_visible_live_api_read_not_executed", "expected_scope": "signoz_api_client", "label": "SigNoz client service", "line_count": 577, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 SigNoz client owner、token name owner、rate limit boundary 與 read-only smoke owner。", "observability_scope": [ "SigNoz API", "log query", "trace query" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "3eceb5f6d2a611390024215e12c8ff634b1eafc7ee9ca697dcde81cf7927de5c", "source_exists": true, "source_path": "apps/api/src/services/signoz_client.py", "surface_id": "signoz_client_service" }, { "action_buttons_allowed": false, "config_kind": "sentry_observability_client", "control_tier": "C1", "current_state": "client_visible_live_api_read_not_executed", "expected_scope": "sentry_api_client", "label": "Sentry service client", "line_count": 464, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Sentry client owner、token name owner、read-only evidence 與 privacy boundary。", "observability_scope": [ "Sentry API", "issue query", "AI triage" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "8287af9f12a5fbc991f2a8e369559075d863f4d36e4384a0616dc06e0919c05f", "source_exists": true, "source_path": "apps/api/src/services/sentry_service.py", "surface_id": "sentry_service_client" }, { "action_buttons_allowed": false, "config_kind": "langfuse_observability_client", "control_tier": "C1", "current_state": "client_visible_trace_read_write_boundary_needs_owner", "expected_scope": "langfuse_api_client", "label": "Langfuse client service", "line_count": 347, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 Langfuse owner、trace privacy owner、token name owner、write gate 與 retention owner。", "observability_scope": [ "Langfuse API", "AI trace", "prompt / output privacy" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "fdd232688d58d31d38d1c8545b75a34f3afc53076c5c13bfe318d4d13cffc7cb", "source_exists": true, "source_path": "apps/api/src/services/langfuse_client.py", "surface_id": "langfuse_client_service" }, { "action_buttons_allowed": false, "config_kind": "reload_capable_script", "control_tier": "C1", "current_state": "reload_capable_script_visible_gate_closed", "expected_scope": "alertmanager_config_deploy", "label": "Alertmanager config deploy script", "line_count": 145, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 deploy owner、maintenance window、rollback ref、receiver smoke 與 failure-only notification proof。", "observability_scope": [ "Alertmanager config copy", "reload" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "861ce84b7abea40d279e9c346baa4388b6962416914ad39fbd388ef0613c2c30", "source_exists": true, "source_path": "scripts/ops/deploy-alertmanager-config.sh", "surface_id": "deploy_alertmanager_config_script" }, { "action_buttons_allowed": false, "config_kind": "reload_capable_script", "control_tier": "C1", "current_state": "reload_capable_script_visible_gate_closed", "expected_scope": "prometheus_alerts_deploy", "label": "Prometheus alerts deploy script", "line_count": 164, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 deploy owner、rule test proof、reload owner、receiver smoke 與 rollback owner。", "observability_scope": [ "Prometheus alert rule deploy", "reload" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "302df2ac135a8b360684797cc6210584120f115896859435ddd15a0d3c1cf883", "source_exists": true, "source_path": "scripts/ops/deploy-alerts.sh", "surface_id": "deploy_prometheus_alerts_script" }, { "action_buttons_allowed": false, "config_kind": "drift_guard_script", "control_tier": "C1", "current_state": "drift_guard_visible_not_executed_by_inventory", "expected_scope": "prometheus_rule_drift_guard", "label": "Prometheus rule drift guard", "line_count": 149, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 drift guard owner、live rule export owner、diff disposition 與 blocking policy owner。", "observability_scope": [ "rule diff", "drift evidence", "reload guard" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "c284f7abe4f511f4670f03f78b945f4506d277fe8a9c382e1bfedae48dfde61a", "source_exists": true, "source_path": "scripts/ops/prometheus-rule-drift-guard.sh", "surface_id": "prometheus_rule_drift_guard_script" }, { "action_buttons_allowed": false, "config_kind": "reload_capable_script", "control_tier": "C1", "current_state": "deploy_script_visible_not_executed", "expected_scope": "k8s_prometheus_config_deploy", "label": "K8s Prometheus config deploy script", "line_count": 118, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 K8s deploy owner、kubectl / ArgoCD boundary、reload owner 與 rollback owner。", "observability_scope": [ "K8s config apply", "Prometheus reload" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "5511681efdd5563aa980396b2ebb37b7d28e43092feda48f3cba014a4b863adf", "source_exists": true, "source_path": "k8s/monitoring/deploy-prometheus-config.sh", "surface_id": "k8s_deploy_prometheus_config_script" }, { "action_buttons_allowed": false, "config_kind": "reload_capable_script", "control_tier": "C1", "current_state": "apply_script_visible_not_executed", "expected_scope": "api_prometheus_config_apply", "label": "API Prometheus config apply script", "line_count": 198, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 API deploy owner、config source owner、reload proof 與 rollback owner。", "observability_scope": [ "Prometheus config apply", "API-owned alert deploy" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "dfc154732a7858116fab423655eff8bc0b6e36f135cbd7f5e5f23745c7402aef", "source_exists": true, "source_path": "apps/api/scripts/apply_prometheus_config.sh", "surface_id": "api_apply_prometheus_config_script" }, { "action_buttons_allowed": false, "config_kind": "host_deploy_script", "control_tier": "C1", "current_state": "host_deploy_script_visible_gate_closed", "expected_scope": "monitoring_exporter_deploy", "label": "Monitoring exporter deploy script", "line_count": 76, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 host owner、SSH boundary、restart window、rollback owner 與 exporter scrape proof。", "observability_scope": [ "exporter deploy", "host service restart" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "dbcbca21cf6fd5083177cb8a12c008c1aefed8e6ed05b70d738b3db37699cef3", "source_exists": true, "source_path": "ops/monitoring/deploy-exporters.sh", "surface_id": "monitoring_exporter_deploy_script" }, { "action_buttons_allowed": false, "config_kind": "live_alert_sender", "control_tier": "C1", "current_state": "live_alert_sender_visible_gate_closed", "expected_scope": "live_alert_fire_script", "label": "Live alert firing script", "line_count": 369, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 live alert owner、test window、receiver owner、noise budget 與 rollback / stop condition。", "observability_scope": [ "live alert", "Alertmanager ingestion", "notification route" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "ec79532dd23559103c8e436b73311d4a2b04be8655c1a804787da6e18c510acf", "source_exists": true, "source_path": "apps/api/scripts/fire_live_alert.py", "surface_id": "fire_live_alert_script" }, { "action_buttons_allowed": false, "config_kind": "live_alert_sender", "control_tier": "C1", "current_state": "test_alert_sender_visible_gate_closed", "expected_scope": "test_alert_fire_script", "label": "Test alert firing script", "line_count": 318, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 test alert owner、allowed receiver、dedup proof、noisy route guard 與 cleanup owner。", "observability_scope": [ "test alert", "notification chain smoke" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "62623a452644aaad1b0997d59f7b120839a1e3605e4cbd0b58bbab2dcb727fe6", "source_exists": true, "source_path": "apps/api/scripts/fire_test_alert.py", "surface_id": "fire_test_alert_script" }, { "action_buttons_allowed": false, "config_kind": "smoke_script", "control_tier": "C1", "current_state": "smoke_script_visible_not_executed_by_inventory", "expected_scope": "alert_chain_smoke", "label": "Alert chain smoke script", "line_count": 1245, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 smoke owner、execution window、receiver owner、expected receipt 與 cleanup owner。", "observability_scope": [ "alert chain E2E", "notification delivery" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "033506075fbdad8cb6b712712fb9af28f2c03fd676889597353f2827cfb5b9d9", "source_exists": true, "source_path": "scripts/alert_chain_smoke_test.py", "surface_id": "alert_chain_smoke_script" }, { "action_buttons_allowed": false, "config_kind": "smoke_script", "control_tier": "C1", "current_state": "ops_smoke_script_visible_not_executed_by_inventory", "expected_scope": "ops_alert_chain_smoke", "label": "Ops alert chain smoke script", "line_count": 267, "live_evidence_received": false, "maintenance_window_accepted": false, "next_owner_action": "補 ops smoke owner、execution window、receiver owner、expected receipt 與 rollback owner。", "observability_scope": [ "ops alert chain", "Alertmanager / Telegram smoke" ], "owner_response_accepted": false, "owner_response_received": false, "receiver_owner_accepted": false, "reload_owner_accepted": false, "requires_live_evidence": true, "requires_owner_response": true, "rollback_owner_accepted": false, "route_smoke_accepted": false, "runtime_gate_open": false, "sha256": "473189af791d6df3dfa75c00b3702b7179a5db0bd61692250bcaa79e25f1bc35", "source_exists": true, "source_path": "ops/scripts/alert_chain_smoke_test.py", "surface_id": "ops_alert_chain_smoke_script" } ], "operator_interpretation": [ "這是 monitoring / alerting / observability 的 repo-only 清冊,不是 live monitoring truth。", "source_exists 與 sha256 只代表 repo source 可追溯,不代表 live Prometheus / Alertmanager / Grafana / SigNoz / Sentry 已一致。", "write-capable surface 可改 route、reload、send notification、deploy exporter 或發測試告警;在 owner response、維護窗口、rollback owner 前全部維持 gate closed。", "不得從本清冊啟動 reload、silence、Telegram send、Sentry deploy、SigNoz apply、Prometheus remote_write 變更、SSH 或 kubectl。" ], "schema_version": "monitoring_alerting_observability_inventory_v1", "source_scope": "committed_repo_files_only", "status": "repo_only_inventory_ready", "summary": { "action_button_count": 0, "alert_rule_surface_count": 13, "alertmanager_receiver_surface_count": 1, "coverage_percent_after_inventory": 62, "coverage_percent_before_inventory": 56, "deploy_or_reload_surface_count": 6, "drift_guard_surface_count": 1, "expected_scope_count": 60, "grafana_surface_count": 6, "langfuse_surface_count": 3, "live_evidence_received_count": 0, "maintenance_window_accepted_count": 0, "notification_policy_surface_count": 4, "otel_surface_count": 1, "owner_response_accepted_count": 0, "owner_response_received_count": 0, "prometheus_config_surface_count": 8, "receiver_owner_accepted_count": 0, "reload_owner_accepted_count": 0, "rollback_owner_accepted_count": 0, "route_smoke_accepted_count": 0, "runtime_gate_count": 0, "sentry_surface_count": 4, "signoz_surface_count": 3, "smoke_surface_count": 4, "source_exists_count": 60, "surface_count": 60, "surfaces_requiring_live_evidence_count": 60, "surfaces_requiring_owner_response_count": 60, "telegram_surface_count": 3, "write_capable_surface_count": 11 }, "write_capable_surfaces": [ { "config_kind": "sentry_deploy_script", "expected_scope": "sentry_self_hosted_deploy", "label": "Sentry self-hosted deploy script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "sentry_self_hosted_deploy" }, { "config_kind": "telegram_runtime_sender", "expected_scope": "telegram_gateway_runtime_sender", "label": "Telegram gateway service", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "telegram_gateway_service" }, { "config_kind": "notification_runtime_router", "expected_scope": "notification_runtime_routing", "label": "Notification manager", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "notification_manager_service" }, { "config_kind": "notification_runtime_router", "expected_scope": "recurrence_notification_runtime", "label": "Converged alert recurrence notifier", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "converged_alert_recurrence_notifier" }, { "config_kind": "reload_capable_script", "expected_scope": "alertmanager_config_deploy", "label": "Alertmanager config deploy script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "deploy_alertmanager_config_script" }, { "config_kind": "reload_capable_script", "expected_scope": "prometheus_alerts_deploy", "label": "Prometheus alerts deploy script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "deploy_prometheus_alerts_script" }, { "config_kind": "reload_capable_script", "expected_scope": "k8s_prometheus_config_deploy", "label": "K8s Prometheus config deploy script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "k8s_deploy_prometheus_config_script" }, { "config_kind": "reload_capable_script", "expected_scope": "api_prometheus_config_apply", "label": "API Prometheus config apply script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "api_apply_prometheus_config_script" }, { "config_kind": "host_deploy_script", "expected_scope": "monitoring_exporter_deploy", "label": "Monitoring exporter deploy script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "monitoring_exporter_deploy_script" }, { "config_kind": "live_alert_sender", "expected_scope": "live_alert_fire_script", "label": "Live alert firing script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "fire_live_alert_script" }, { "config_kind": "live_alert_sender", "expected_scope": "test_alert_fire_script", "label": "Test alert firing script", "required_gate": "owner_response_plus_maintenance_window_plus_rollback_owner", "surface_id": "fire_test_alert_script" } ] }