Files
selfrelease 74e35fed96 feat: 添加可配置场景注册表与规则引擎
- 新增场景基类、配置加载、注册表与原语模块
- 添加 r10_refund_split 规则及场景 JSON Schema
- 扩展 scan 引擎与 scenarios API
- 新增场景注册表/配置/集成测试
- 更新前端 App、api、labels 支持新场景
2026-06-17 09:57:02 +08:00

25 lines
1.0 KiB
Python

"""审计场景检测器:将业务数据中的异常模式转化为线索。
自动发现:导入本包下的全部场景模块以触发 @register_scenario 注册。
新增场景时只需在 scenarios/ 下新增一个模块文件,无需改动任何现有代码即可被
注册表(registry)与调度器(engines.scan.run_scenarios)发现。
"""
from __future__ import annotations
import importlib
import pkgutil
# 框架自身模块(非具体场景),不参与"代码场景"的自动导入
_FRAMEWORK_MODULES = {"base", "registry", "primitives", "config"}
# 1) 自动发现并导入"代码场景"模块(A 打底),触发 @register_scenario 注册
for _module in pkgutil.iter_modules(__path__):
if _module.name not in _FRAMEWORK_MODULES:
importlib.import_module(f"{__name__}.{_module.name}")
# 2) 加载"配置驱动场景"(B 快捷通道):自动发现 rules/*.yaml 并注册,无需改代码
from app.scenarios.config import load_yaml_scenarios # noqa: E402
load_yaml_scenarios()