SuperAPI AI 工具集

resolve-spec-conflict

编程与开发

查看项目

更新于 10-16 09:51

技能介绍

用途:解决 ***plain 规范文件中两个功能规范(functional spec)之间的冲突。适用于新增规范渲染后,原本通过的一致性测试开始失败;新增规范与已有规范看似矛盾;两个规范对同一行为、数据或状态做出不兼容断言等情况。

使用方式:若尚未加载 ***plain 语法规则,应先使用 load-plain-reference 技能获取;随后读取 .plain 文件定位冲突的两个规范。若冲突来自一致性测试失败,还需阅读失败测试与 plain_modules/ 中生成的实现。

诊断根因分三种:实现不正确(规范本身无误,需澄清含糊规范后重新渲染);一致性测试不正确(实现正确,需调整 test reqs 或 acceptance tests 后重新渲染);需求真正冲突(无实现能同时满足,必须修改规范)。判断依据是:单个实现能否同时满足两者,能则为含糊或测试问题,不能则为真正冲突。

冲突解决策略包括:A 增加细节消除歧义;B 修改较新的规范使其兼容既有行为;C 修改较旧规范(影响较大,其后所有一致性测试可能需重新渲染);D 将重叠行为合并为一个规范并移除冗余项,注意 200 LOC 限制。

验证:重新阅读整个 functional specs 部分确认未引入新冲突;检查修订后规范仍符合 200 LOC 限制;检查时间顺序仍合理(早期规范不应依赖后期规范);若通过测试调整解决,确认 test reqs 或 acceptance tests 改动恰当。预防:在 add-functional-spec / add-functional-specs 中,新增规范前列出所有涉及相同 :Concepts: 的既有规范,逐一确认单个实现能否同时满足,若不确定则先补充明确细节。

限制:修改较旧规范破坏性较大;需注意 200 LOC 上限与时间顺序;所有引用的 :Concepts: 须仍已定义。