SuperAPI AI 工具集

cut

测试与质量

查看项目

更新于 10-16 03:16

技能介绍

用途:cut 是 easy-cheese 流程中位于 mold 与 cook 之间的“由外而内证据”阶段。它先证明某已批准的可观察行为在当前项目为 GREEN,再在声明的外层接缝处让该行为对声明的见证失败,从而产出受保护、仅测试的 RED 证据;cut 本身从不实现该行为。

主要能力:读取持久化 spec 及其 gate 元数据;对无 Test Contract 表的旧 spec 可继续但须标记 contract_source: inferred;只拥有测试侧文件(外层 tracer、契约矩阵用例、fixture、仅测试用 harness 支持);可采纳合格的用户/Pasteurize 复现并规范化到已批准的接缝、argv、cwd 与见证;生成用例 origin: generated,采纳用例 producer: cut、origin: adopted;产出 GateReceipt 作为持久边界,被回执指名的测试与 fixture 受保护,免遭生产编辑。

使用方式:通过 /cut 显式触发,或来自 mold 已批准的 red-required 交接,或来自没有有效回执的 cook 预检。流程包括:解析并分类,运行 red-gate contracts <spec>;对 docs-only、refactor-only、test-only、appearance-only 等已批准不适用声明提前 N/A;复用项目既有 runner 选择接缝并写阶段计划到 .cheese/cut/;在创建或采纳 oracle 前调用:

red-gate begin .cheese/cut/<slug>.plan.json --out .cheese/cut/<slug>.phase.json

冻结基线证据后仅写 oracle,再证明 RED,最后在 .cheese/cut/candidates/ 下构建候选并调用:

red-gate issue <candidate> --token .cheese/cut/<slug>.phase.json --out .cheese/cut/<slug>.json

red-gate issue 是唯一回执写入者。成功后写交接投影并传给 cook;--auto 时派发 cook 一次,同步 cook 预检则返回回执且不递归派发。

限制:铁律要求无 GREEN 基线且无 red-gate issue 签发的仅测试受保护 RED oracle 时,不得有成功的 cut RED 回执。收集、导入、依赖、fixture、语法等 harness 失败不算行为 RED;缺失 runner 须停下等 harness 决策,不得安装或发明第三方 runner。生产树 digest 变化、仅 harness 失败、缺少 GREEN 基线都会阻止签发。不得手写或直接发布原始 GateReceipt JSON;不得创建仅 RED 的提交;脏工作树可安全处理,只添加 oracle 文件并保留既有改动。断言来源证明仅支持直接 python 脚本/-c、python -m pytest、python -m unittest;其他 runner 需显式 harness 决策。回执携带 producer: cut、非空 contracts、冻结的 pre-Cut baseline_checks、RED 用例及受保护测试侧文件 digest,初始 guard_receipt_refs 为空。流程位置:culture → mold → cut → cook → press → age → cure → plate。