hard-cheese 用于在代码进入评审前检查作者能否解释自己的改动。它通过斜杠命令触发:/hard-cheese [<slug>] [--socratic-cap N=3] [--passing-score N=3] [--no-judge]。<slug> 可选,缺省时用 HEAD 的短 SHA;--socratic-cap 设最大重试次数,超限标记 FAILED 并返回非零状态;--passing-score 设 PASS 的最低 SOLO 分数(1-5,默认 3);--no-judge 为仅记录模式,记录用户解释为 LOGGED,不启动评审子代理。
它可独立运行,也可由 /plate --hard 传播调用,位于“已验证产物”到“分享评审”的边界。流程为:解析范围并对比 origin/main;运行 freshness-check 判断是否已通过或过期;用 rank-hunks 排序变更块;要求用户解释改动;在全新上下文中启动评审子代理,按 SOLO 分类法打分并返回 {score, level, pass, feedback, socratic_qs, targets_addressed}。分数达标记 PASS,不达标记 FAIL 并展示苏格拉底式问题,评审出错记 ERROR 并采取 fail-open(警告后返回 0)。审计轨迹写入 .cheese/hard-cheese/<slug>.md,因 .cheese/ 被 gitignore,记录保留在本地。
限制:需要宿主提供子代理能力,否则建议 --no-judge 仅记录;与 vibecheck 的差异包括评审出错时 fail-open、完整保留解释文本、提示语增加目的性引导句。commit-only 的 /plate --hard 不运行此门槛。