--- last_reviewed: 2026-10-19 --- # config — 规则配置目录 | 文件 | 说明 | |------|------| | `validation_rules.json` | 声明式校验规则:差旅与普通报销的必填字段、数组元素规则、自定义校验函数 | ## 结构 ```json { "version": "1.0", "custom_checks": { ... }, "travel": { "fields": [...], "arrays": [...] }, "normal": { "fields": [...], "arrays": [...] } } ``` 引擎 `src/core/validation/validator.py` 启动时读取;文件缺失时用内置默认规则。 ## 两条不要动的东西 - **`required: true` 是刻意约束**:包括值为空串的备注类字段,键必须存在。宿主动手写 JSON 容易漏, 所以提供 `mcp__arb__info_skeleton` 从同一份规则生成骨架,而不是把 required 改成 false - **`can_submit` / `suggestion` 不属于规则**:完整性结论只由校验报告给出, 历史提示词里的这两个字段已在 MCP 化时删除,`save_info` 也会主动剥离 改规则后必须跑 `pytest`(有骨架与规则一致性的用例),否则骨架与规则会漂移。