pub fn load_rules(rules_dir: &Path) -> Result<Vec<JsonValue>, CliError>Expand description
加载规则目录,合并 transform 列表
§确定性加载(P0-2 修复)
按 file_name() 字典序排序后加载,消除 fs::read_dir 顺序差异。
§支持的文件格式
每个 .json 文件可以是以下三种格式之一:
{"transform": [...]}或{"transforms": [...]}— 提取数组[{...}, {...}]— 顶层数组,每项是一条 transform{...}— 单条 transform 对象
§保留数据文件排除
文件名恰好为 payload.json(大小写不敏感)的文件被当作初始输入数据而非规则,
不参与加载。若用户在规则目录内放置初始 payload,其 {} 通常无 type 字段,
会被误当成规则并触发 missing field: type(见 parse_initial_payload 与教程约定)。
§错误
RulesDirNotFound:目录不存在NoRulesFound:目录中无.json文件Io:读取文件失败Json:JSON 解析失败