SuperAPI AI 工具集

constraints-extractor

安全与审计

查看项目

更新于 10-15 21:53

技能介绍

用途:从项目文档中提取显式与隐式约束,汇总为一份持续维护的 CONSTRAINTS.md,记录外部强加、不可协商的边界(合规、安全、托管、工具、干系人、范围、外部依赖)。

主要能力:按“强制力测试”判断某条内容是否属于约束——若被忽略会在代码库之外造成破坏(合同、法律、安全态势、高管决策、供应商关系),才算约束;否则归为模式或流程,应写入 config.yaml 或 AGENTS.md。区分 CONSTRAINTS.md(为何某些选择不可协商)与 config.yaml(团队选择)、AGENTS.md/CLAUDE.md(智能体行为)、ARCHITECTURE.md(系统结构)。

使用方式:先确定输出位置——全仓搜索已有 CONSTRAINTS.md,唯一则使用,多个则询问用户,没有则默认仓库根目录。随后发现来源文档(docs、README、SECURITY、COMPLIANCE、ADR/RFC 等),默认排除 openspec/changes/archive/。为每个文档并行派发子智能体(最多 5 个并发),提取 statement、impact、category、confidence、evidence、affects、enforced_by,并将结果写入 /tmp/constraints-extractor.XXXXXX/ 下的绝对路径临时文件。全部完成后做一次关联归并,合并重复、标记冲突,写入 correlated-findings.json,再运行: python3 scripts/merge_constraints.py --target <CONSTRAINTS.md 绝对路径> --findings <correlated-findings.json 绝对路径>

限制:不得编造无证据约束;不得因来源冲突而静默丢弃;每条约束须有引用;不得手写条目结构;脚本只增不删,删除过期条目或修正错误引用需用户确认后直接编辑;不得自动爬取 archive 目录;不得覆盖已有文件前不先阅读。具体分类定义见 references/category-guide.md。