该技能用于对 Skyrim 模组框架配置进行跨框架的静态与语义校验,覆盖 SPID、KID、BOS、SkyPatcher 以及源锁定的 CDF 规则。
用途
该技能面向需要验证框架配置文件的开发者或模组作者,帮助检查 SPID、KID、BOS 等框架的配置是否符合语法和结构约定。
主要能力
命令
python scripts\lint_framework_configs.py <files-or-directories> python scripts\verify_framework_truth.py python ..\skyrim-base-object-swapper\scripts\audit_bos_configs.py <bos-directory> python ..\skyrim-container-distribution\scripts\lint_cdf_json.py <json>
契约覆盖范围
SPID
支持 standard、Death<Type>、ExclusiveGroup 以及 linked key 系列;
针对特定 key 的字段布局;
一到七个普通字段和一到四个 linked 字段;
字段感知的 LevelFilters、TraitFilters、count/index 和 Chance;
行尾分号注释;
Weapon = 被拒绝,而 Item = 保持有效。
KID
普通 Keyword 两到五个字段;
普通行需要人类可读的类型;
记录签名和空白普通类型会被拒绝;
特殊的 ExclusiveGroup 语法;
行尾分号注释。
BOS
节和字段计数;
transform/property/chance 语法;
调用内部的空白会被通用 linter 和 BOS auditor 同时拒绝;
重复目标会被报告,但不会臆造语义上的胜出者。
验证器分歧处理协议
已发布的配置是证据,不是证明。验证器结果同样是证据,不是证明。当 linter 与精确解析器、已接受的运行时日志或已知正向的部署行为发生冲突时:
不要仅仅为了满足 linter 而重写模组;
用精确的行复现分歧;
检查解析器/版本和运行时日志;
将验证器发现标记为有争议;
当验证器的契约错误时,先修复验证器;
将真实行添加为生产路径回归测试夹具。
当回归测试测试的是实际 CLI/auditor 从未调用的辅助函数时,声称的回归测试是不充分的。verify_framework_truth.py 会针对生产形态的夹具执行生产入口点。
限制
静态验证无法证明表单解析、语义 BOS 坐标、预期的角色选择、钩子安全或游戏内行为。