# IwoooS Monitoring / Alerting / Observability owner response acceptance | 項目 | 內容 | |------|------| | 日期 | 2026-06-15 | | 狀態 | `owner_response_acceptance_ledger_ready_no_runtime_action` | | 工具 | `scripts/security/monitoring-owner-response-acceptance.py` | | Snapshot | `docs/security/monitoring-owner-response-acceptance.snapshot.json` | | Source inventory | `docs/security/monitoring-alerting-observability-inventory.snapshot.json` | | Source owner request | `docs/security/monitoring-owner-request-draft.snapshot.json` | | runtime gate | `0` | ## 1. 目的 本文件把 Monitoring / Alerting / Observability owner request draft 轉成 owner response acceptance 只讀帳本。目的不是 reload Prometheus / Alertmanager,也不是送 Telegram 或 fire alert,而是固定未來收到 owner 回覆後,必須如何做欄位完整性、脫敏證據、receiver receipt、stale alert、silence / dedup、no-false-green、noise budget、maintenance window、rollback 與 validation plan 檢查。 本階段仍是 metadata-only acceptance ledger:不連 live Prometheus、不 reload Alertmanager、不套用 Grafana / SigNoz、不部署 Sentry、不改 Langfuse、不 reload OTEL、不改 receiver route、不建立 silence、不送 Telegram、不 fire live alert、不跑 alert chain smoke、不 SSH、不 kubectl、不讀 secret value、不寫 production。 ## 2. 摘要 | 指標 | 目前值 | 說明 | |------|--------|------| | acceptance candidate | `60` | 全部由 committed owner request draft 轉換 | | write-capable candidate | `11` | 可能 reload、deploy、send notification、fire alert 或 restart exporter 的 surface | | live evidence required candidate | `60` | 每份 candidate 都需要 owner 提供脫敏 live evidence ref | | acceptance field | `38` | 每份候選固定欄位數 | | required owner field | `14` | owner 必須補齊的欄位數 | | reviewer check | `23` | 收件、隔離、拒收、補件與 reviewer 分流檢查 | | outcome lane | `12` | 等待、隔離、拒收、補件、no-false-green、receipt gap、stale / silence review、post-reload readback、只讀更新、runtime gate 等結果 | | blocked action | `34` | 驗收前全部禁止 | | request sent / recipient confirmed | `0 / 0` | 尚未送件,收件人也未確認 | | owner response received / accepted / rejected | `0 / 0 / 0` | 不得假性拉高 | | live evidence / reload / receiver / route smoke accepted | `0 / 0 / 0 / 0` | 未授權、未執行 | | receiver receipt / stale / silence / false-green / post-reload accepted | `0 / 0 / 0 / 0 / 0` | 未收到 reviewer record,不得用 route 200 或 UI 可見替代 | | Telegram send / alert chain smoke / runtime gate | `0 / 0 / 0` | 無發送、無實測、無執行入口 | ## 3. Reviewer 檢查 | 檢查 | 說明 | |------|------| | owner 身分 | owner role / team 必須可追溯 | | decision / reason | 判定與理由必須同時存在,且不得包含機敏值 | | affected scope | 必須能對回 committed `surface_id` | | redacted evidence | 只能是脫敏 ref、hash、ticket、commit 或 artifact pointer | | secret absence | 不得出現 token、Bot token、DSN secret、cookie、private key、env dump 或 partial secret | | live config hash | 只能是 owner-provided metadata ref,不得貼 raw config | | reload owner | reload / deploy 類變更必須有 owner | | receiver owner | receiver route、Telegram receipt 與 notification policy 必須有 owner | | route smoke plan | route smoke / receipt proof 必須是計畫或脫敏證據 ref,不得直接 fire alert | | incident context | 事故回補必須有 incident / change / outage context ref,不得只寫服務已恢復 | | alert chain health | 告警鏈路健康不得只用 public route 200、容器 up、dashboard up 或 UI 可見判定 | | receiver receipt | receipt proof 只能是脫敏 ref、hash、message id 或 ticket,不得貼 raw notification payload | | stale alert | 必須確認告警是否 stale、pending、resolved 未清或資料來源停止更新 | | silence / dedup | 必須確認 silence、mute、dedup、inhibit 或 maintenance rule 是否造成 false green | | false-green risk | 必須列 no-false-green 判定,避免把 route up、容器 up 或 dashboard up 當作告警鏈路 up | | post-reload readback | 若後續有 reload / deploy,必須先有 post-reload readback plan 與 stop condition | | cross-project notification | 若影響 AwoooP、IwoooS、agent-bounty、StockPlatform、公開網站或監控,需有跨專案通知 ref | | noise budget | 告警噪音、silence、dedup 與測試通知必須有 owner | | maintenance window | reload、deploy、route change、smoke 或 notification send 必須另有窗口 | | rollback owner | rollback owner、rollback ref 或 disable path 必須存在 | | validation plan | 必須列 route、receipt、alert state、metrics 與 rollback stop condition | | execution request | 夾帶 reload、receiver route change、Telegram send、alert smoke、SSH 或 kubectl 要求時拒收 | | count transition | 只有 reviewer record 可更新 received / accepted / rejected;不得同時開 runtime gate | ## 4. 禁止動作 ```text prometheus_reload alertmanager_reload grafana_dashboard_apply signoz_rule_apply sentry_deploy langfuse_config_change otel_collector_reload receiver_route_change silence_policy_change telegram_send notification_route_change webhook_receiver_change remote_write_change exporter_deploy live_alert_fire alert_chain_smoke ssh_read ssh_write kubectl_action secret_value_collection host_write active_scan production_write runtime_gate_open raw_monitoring_payload_storage accept_secret_value_evidence mark_owner_response_accepted_without_reviewer_record mark_route_200_as_alert_chain_healthy mark_receiver_healthy_without_receipt accept_silence_without_owner accept_stale_alert_without_review accept_reload_without_postcheck store_raw_alert_payload add_action_button ``` ## 5. 指令 固定 committed snapshot 時間: ```bash python3 scripts/security/monitoring-owner-response-acceptance.py \ --root . \ --owner-request-report docs/security/monitoring-owner-request-draft.snapshot.json \ --output docs/security/monitoring-owner-response-acceptance.snapshot.json \ --generated-at 2026-06-15T18:20:00+08:00 ``` 只讀 guard: ```bash python3 scripts/security/iwooos-config-control-guard.py --root . python3 scripts/security/security-mirror-progress-guard.py --root . python3 scripts/security/source-control-owner-response-guard.py --root . ``` ## 6. 完成度 | 工作 | 完成度 | 說明 | |------|--------|------| | owner response acceptance artifact | `100%` | 60 份 candidate、snapshot、文件與 guard 已固定 | | no-false-green backfill gate | `100%` | 23 個 reviewer checks、12 條 outcome lanes、34 類 blocked action 已固定 | | request dispatch | `0%` | 尚未送件,recipient 未確認 | | owner response received / accepted | `0%` | 尚未收到或接受任何 owner response | | live evidence collection | `0%` | 未讀 live monitoring stack | | reload / receiver / Telegram / alert chain smoke | `0%` | 未授權、未執行 | | runtime / production write | `0%` | 無 action button,無 production write | ## 7. 邊界 這份帳本不是 live alert chain truth、不是 Telegram delivery proof、不是 reload approval,也不是 monitoring runtime approval。不得把 owner response acceptance ledger、snapshot、LOGBOOK、IwoooS UI、public route 200、dashboard up、container up 或 AwoooP approval 解讀成 Prometheus reload、Alertmanager reload、Grafana import、SigNoz apply、Sentry deploy、Langfuse change、OTEL reload、receiver route change、silence change、Telegram send、live alert fire、alert chain smoke、SSH、kubectl、active scan、secret collection、host write 或 production write 授權。