SuperAPI AI 工具集

phase-contract

通用与其它

查看项目

更新于 10-15 21:56

技能介绍

用途:Phase Contract 是某代理工作流中“阶段形状”的唯一权威定义,供规划步骤在输出每个阶段前进行 lint,也供 execute-phase 在编辑阶段前做预检。模板只记录契约版本、指纹与 lint 结果,不复制八条规则。

八条 phase-lint 规则:1) 标题只命名一个交付物,用 +、,、&、and/y 或 / 连接名词即 FAIL,唯一例外是模板中字面标题 Hardening & PR;2) 只声明一个固定枚举层(schema/db、domain、api、ui、config/infra、docs、hardening、close-out);3) 至少 1 个、至多 8 个任务,零任务为 BLOCKED,最终 hardening/close-out 阶段为 1–10;4) 一个复选框等于一个交付物;5) 无决定词(Decide、choose、OR、If…then);6) 无运行时条件式范围变更;7) 实现阶段内无外部/人工门禁;8) 每个阶段以机器可校验的 done-when 结束。已执行阶段仅豁免第 3、7 条。

两种语法:plan 语法用于计划文件或 P<n> 标题,形如标题 + Layer: <enum> + - [ ] 任务 + Done-when:;unit doc 语法用于 ## Tasks 部分,每阶段一条 P<n> — <task>(validator: <命令> <结果>)项目符号。优先级单向且 fail-closed:文档含任何 plan 式标题即按 plan 语法;否则按 unit-doc;两者皆无则 BLOCKED: no-phases。

结果:PASS 输出 Phase-lint: PASS (8/8) 或 unit-doc 的 (6/6);失败输出 Phase-lint: BLOCKED — box <n>: <原因>。指纹形如 P<n>:<layer>:<n-tasks>:<title-deliverable>。BLOCKED 阶段必须重切或拆分,不得原样输出、提交或执行,且无 --force 绕过。仅文档,无代码与分支。注意事项:Relevant files 子节为元数据,不算任务,但格式错误会按其自身 id 报错;未列出的文件不视为越界。