用途:把已提取的 IF-THEN 规则接入真实数据源,检查每条规则条件是否与现实数据吻合,输出触发规则清单(含当前值、阈值、影响估计)。它是 bdistill 流水线的最后一步:bdistill-extract → bdistill-export(format=harness-json)→ bdistill-operationalize。
主要能力:加载一个或多个规则导出 JSON;过滤到 verified/solid 层级条目;从数据源取数:open-meteo(需 lat/lon,返回降水、温度、风速)、fred(需 api_key 与 series_id)、yahoo-finance(需 ticker 报价)、csv(本地文件)、json-url(远程 JSON 端点)、custom(通过 context 内联提供);将自然语言条件映射到 API 结构化字段;对衍生指标(如 cumulative_30d、consecutive_dry_days)先从原始数据计算;逐条比较当前值与阈值;生成决策报告 JSON 至 data/reports/{domain}-{YYYY-MM-DD}.json,含 rules_checked、triggered、skipped、data_source、checked_at;打印摘要“X of Y rules triggered, Z skipped”。
使用方式(输入契约):必填 rules_path(字符串或数组,支持多域)与 data_source;按数据源附必填项:lat/lon(open-meteo)、ticker(yahoo-finance)、series_id(fred)、data_path(csv)、data_url(json-url)、api_key(fred、gnews);context 为可选自由上下文。无需 MCP,可独立运行。
适用场景:AML 交易规则批量核查、农业天气阈值、交易信号、临床试验纳入标准、监管合规定时检查等任何“有 IF-THEN 规则加数据源”的领域。
限制与注意:条件到字段的映射是难点,若无法映射则跳过并记录原因,映射有歧义时宁可跳过也不猜测;API 无数据时报错且 rules_checked 置 0、不触发任何规则;数据超过 24 小时会加 stale_warning;多条触发按置信度降序排列;多域时各文件独立检查后合并为单一报告。规则漏判可回馈 bdistill-extract 重新提取、导出后再运行,形成闭环。免费 API 细节见 references/api-catalog.md,参考实现见 scripts/rules_monitor.py。