fix: load watchdog webhook from user env

This commit is contained in:
2026-05-17 22:16:38 +08:00
parent c7f5718932
commit 22970e4f74
2 changed files with 37 additions and 0 deletions
@@ -2119,6 +2119,35 @@
- 本轮无 required 阻塞项。
- 真实外部告警到人仍等待 Webhook URL;在 URL 提供前,系统已完成本地证据闭环和 02:00 低负载巡检调度。
## 2026-05-17 企业微信真实 Webhook 告警送达闭环
### 本轮完成项
- 已将真实企业微信机器人 Webhook 配置到 Windows User 环境变量:
- 变量名:`AI_CONTRACT_WATCHDOG_WEBHOOK_URL`
- 变量值:已配置,按密钥处理,不写入 Git、文档或计划任务命令。
- 已修复 `scripts/run-production-watchdog-scheduler.ps1` 的 Webhook 读取逻辑:
- 原问题:脚本只读取当前进程环境变量,新开的 PowerShell 或计划任务可能读不到 User 环境变量。
- 现状态:按 `Process -> User -> Machine` 顺序读取 `AI_CONTRACT_WATCHDOG_WEBHOOK_URL`,计划任务可直接使用已配置的 User 环境变量。
- 已执行真实非 dry-run 送达测试:
- 命令模式:`RunOnce`
- 巡检模式:轻量巡检,`-SkipWorktreeCheck -SkipCapacityGovernance`
- 通知策略:本次临时 `NotifyOnStatus=All`,用于 PASS 也发送一条测试消息。
- 结果:`PHASE7_WATCHDOG_SCHEDULER_PASS`
- 产物:`project-docs/qa-artifacts/phase7.5-watchdog-scheduler/2026-05-17T22-13-23-234/watchdog-scheduler-summary.md`
- Webhook 检查:`PASS`
- Webhook 类型:`wecom`
- dry-run:`false`
### 当前状态
- 企业微信真实告警到人链路已经打通。
- 每天 `02:00` 的低负载计划任务仍按 `WarnOrFail` 策略运行:
- 正常 PASS 不打扰。
- 出现 WARN/FAIL 时自动推送企业微信。
- 计划任务命令仍只引用环境变量名,不保存真实 Webhook URL。
### 阻塞项
- 本轮无 required 阻塞项。
- 外部 Webhook 已从“等待真实地址”变为“真实送达已验证”。
## 2026-05-16 Phase14 生产巡检与 Chat/报告法条引用闭环
### 本轮完成项
- 已完成 Chat/报告法条引用闭环代码补齐并推送远程 `main`:
@@ -89,6 +89,14 @@ function Get-EffectiveWebhookUrl {
if (-not [string]::IsNullOrWhiteSpace($value)) {
return $value
}
$value = [Environment]::GetEnvironmentVariable($WebhookUrlEnvVar, "User")
if (-not [string]::IsNullOrWhiteSpace($value)) {
return $value
}
$value = [Environment]::GetEnvironmentVariable($WebhookUrlEnvVar, "Machine")
if (-not [string]::IsNullOrWhiteSpace($value)) {
return $value
}
}
return ""
}