用途:Press 是 /cook 之后的“仅测试”对抗性检查环节。它不负责首次覆盖,不编辑生产代码;实现由 Cook 负责。Press 攻击已批准的契约,并报告暴露出的每个缺陷。
进入方式:运行 python3 skills/press/scripts/press.pyz wheypoint-resolve --ref <slug>。authoritative 使用记录,其 working_context 作为第一批 tilth_read;not-found 冷启动;legacy 显示来源与 slug 后继续;gated、ambiguous 和 error 停止并显示载荷。随后读取 .cheese/cook/<slug>.md 作为 Cook 交接。
调用形式:/press <slug> [--auto] [--hard] [--open-pr]。--auto 选择自主链;--hard 请求可选最终门禁并转发给 Age;--open-pr 是发布许可,只能由用户提供并转发给 Age,Press 绝不自行添加。Press 原样保留 Cook 的 durable_flags,忽略其 taste_test。
对抗循环:攻击(只加或运行测试、夹具与测试专用支撑,使用已批准的 seam 与 witness,保持攻击身份与测试摘要稳定)→ 分类(green、finding、production_changed、invalid_evidence)→ 报告(每个 finding 附失败测试,交给 Cook 修正)→ 重放(修正返回后以同一攻击与测试摘要重放)→ 在 GREEN 后交接给 /age。无效证据和生产树变更会停止运行;同一攻击第三次 finding 也停止。同一攻击最多允许 2 次 Cook 修正,超出则 halt: correction-cap。
输出:每次结果写入 .cheese/press/<slug>.md,使用 write-handoff-artifact 并带 --grounded 参数;报告含 Attempts、Evidence、Review follow-ups 三节。状态映射:GREEN→ok/age;GREEN 带关注→ok-with-concerns/age;finding→ok-with-concerns/cook;blocked→halt/done。--auto 时在 ready 或 follow-up recommended 后自动分派 /age。
限制:不得编辑生产代码、夹具或适配器;重放之间不得改变攻击;不把契约外行为当实现请求,应记入 Review follow-ups;保持基线感知就绪。证据优先,未验证的失败不算 finding。
适用场景:easy-cheese 流水线 culture → mold → cook → press → age → cure → plate 中,需要测试专用对抗验证并产出可交接缺陷报告时使用。