用途:为 AI 辅助的 Drupal 贡献开发提供贯穿性纪律约束,解决 AI 声称正确却未经验证的问题。Drupal 视其为评审成本问题——AI 让贡献变便宜,却让评审变昂贵。
适用时机:在 /drupal-ai-contrib:issue 与 /drupal-ai-contrib:verify 之间的任何开发;在声称某事物“通过”“可用”“完成”或“安全”之前;在使用 SDK 符号、API 参数或版本相关行为之前。不用于运行关卡本身(那是 contribution-verify)。
主要规则:
- 证据优于断言:关卡仅凭产出的产物通过,绝不凭模型给出的结论。研究需引用来源;实现需 TDD 证据(红→绿);静态分析需粘贴 phpcs/phpstan 实际输出;测试需核心 phpunit.xml.dist 零失败、零警告、零弃用;实时行为需捕获真实 API/命令输出;评审需全新上下文代理的结论;完成需真实 drupalci 流水线变绿。无法展示产物即视为未通过。
- 不猜测外部事实:SDK 符号、API 头或参数、beta 功能标识、库版本行为等,须对照厂商源码或实时探测核实。模型记忆与变更日志只是线索,不是事实。未核实的外部事实是阻塞项,应交给 drupal-ai-contrib:external-fact-verifier 代理处理。
- 关卡后改动需重新验证:关卡通过后任何代码编辑都会使该路径关卡失效,PostToolUse 重新验证钩子会标记过期,verify 会重跑所有过期关卡。
- 比例原则需论证而非假设:功能走完整关卡;琐碎改动可走轻量路径,但“琐碎”必须书面论证并记录,未记录即视为绕过。
- 范围纪律:严格交付约定的范围契约(目标/预期结果/成功标准/非目标),超范围交付属违规而非加分。
阻止的反模式:凭记忆猜测 API/SDK 事实;未披露本地工具版本与 CI 差异就报告“本地测试通过”;未溯源即把警告当“噪音”忽略;未查阅相关 dev-guides 就进入设计或实现;超出约定范围交付;在真实 drupalci 流水线变绿前就标记完成;未披露超过政策“显著比例”阈值的 AI 使用。
知识层:通过 dev-guides-navigator 加载 drupal/contributing-with-ai/evidence-over-assertion、supervised-ai-workflow、human-review-requirements。