Appearance
契约扫描
是什么
契约扫描就是在开始新需求之前,先看看项目里已经有哪些约束不能碰。
它的工作可以理解为四步:从文档和历史记录中提取约束 → 根据当前任务匹配相关内容 → 判断每条约束的适用范围 → 把结果注入到实施阶段的执行上下文中,让 AI 在写代码时就自动遵守。
为什么需要它
AI 如果只看当前任务,很容易忽略已有的设计决策和历史约束。比如:
- 旧功能的兼容性要求
- 某些路径的命名规则
- 之前犯过的、已经记录下来的流程错误
这些约束不会在当前需求里重复出现,但违反它们会导致新功能和已有架构冲突,或者重复犯已经记录过的错误。
契约扫描让 AI 在开始实现前就看到这些"红线",避免无意中踩雷。
它会扫描哪些内容
在需求设计阶段,OpenFlow 会自动扫描以下来源:
docs/current/— 当前系统事实docs/decisions/— 架构决策记录docs/current/workflow/ai-reflection/— AI 反思记录- 已归档需求中的关键约束
扫描会通过多种方式匹配约束:按文件路径匹配、按目录前缀匹配、按关键词匹配。匹配到的约束会被整理成一个约束包,在后续实施阶段自动注入给 AI。
与其他机制的关系
契约扫描和 漂移检测 是一对:契约扫描负责发现"应该遵守什么",漂移检测负责检查"现在是否仍然遵守"。
它也会读取 AI 反思 产生的流程约束,帮助 AI 避免重复犯同类错误。