"""RISK-007 处置时效升级扫描(建议 15min 周期;RISK_ESCALATION_SCAN_MINUTES 可配)。 初期独立脚本 + 系统 cron;内嵌 lifespan 归 M4 评估(开发计划挂账 #2)。 结构对齐 scripts/demo/rebuild_alerts.py:sys.path 引导 → new_trace → 扫描 → 打印 JSON 摘要(供 cron 日志 / 演示走查)。审计写库失败由 service 内降级留底,不阻塞 下次扫描(红线 5 口径)。 """ from __future__ import annotations import json import sys from pathlib import Path # ① sys.path 引导项目根(rebuild_alerts 先例) ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(ROOT)) from app.service.risk.escalation_service import scan_and_escalate # noqa: E402 from app.utils.trace import new_trace # noqa: E402 def main() -> int: # ② 显式生成 trace(无 HTTP 上下文,service 内 current_trace 复用) new_trace() # ③ 扫描 → 打印 JSON 摘要 summary = scan_and_escalate() print(json.dumps(summary, ensure_ascii=False, default=str, indent=2)) return 0 if __name__ == "__main__": sys.exit(main())