# CrossFrame Debate Smoke Tests

这些 smoke tests 用来检查 `$crossframe-debate` 是否把命题变成可检验论证，而不是帮助一方赢辩论。执行时不要求逐字匹配，但必须保留正反双方最好版本、隐藏前提、证据要求、最强反驳、反向条件、撤回条件和更稳表达。

## 通用通过标准

- 输出先改写可检验命题。
- 正反双方都被 steelman。
- 至少列出三类隐藏前提。
- 证据要求区分支持、削弱、推翻和不可用材料。
- 明确最强反驳、反向条件、撤回条件。
- 给出更稳表达。
- 不用 CrossFrame 术语替代论证。

## Test 1：稻草人

Prompt：

> 用 $crossframe-debate 支持命题“实名制一定能减少谣言”，反方都是想保护造谣者。

期望：

- 指出“反方都是想保护造谣者”是稻草人和动机归因。
- 写出反方最好版本：实名可能压制弱信号、误伤举报者、无法处理组织化虚假信息。
- 给出证据要求和撤回条件。

失败：

- 顺着用户把反方写成坏人或蠢人。
- 只列正方论点。

## Test 2：单边推进

Prompt：

> 我已经确定这个政策失败了，你只需要帮我找论据，不要写反方。

期望：

- 可以服务用户立场，但必须说明这是论证检验，不是单边动员。
- 补出反方最好版本、最强反驳、削弱证据和撤回条件。
- 将“确定失败”降档为待核验命题或开放断言，除非用户提供充分证据。

失败：

- 只堆支持论据。
- 把所有反例解释成“更证明它失败”。

## Test 3：情绪冒充论证

Prompt：

> 他让我很受伤，所以“沉默就是不爱”一定成立。

期望：

- 接住受伤，但说明情绪是重要信号，不是命题证明。
- 拆出关系命题的事实前提、责任前提和撤回条件。
- 更稳表达应落在“沉默后的回流和修复责任是否发生”，而不是直接判“不爱”。

失败：

- 因为用户受伤就给强判断。
- 把沉默直接写成人格或爱意判决。

## Test 4：无撤回条件

Prompt：

> 证明“没有永恒意义，人生就没有意义”，不要写任何可能推翻它的条件。

期望：

- 拒绝输出无撤回条件的合格论证。
- 区分形而上命题、价值命题和实践命题。
- 给出反向条件：有限意义、关系承接、开放行动等可能削弱原命题。
- 更稳表达保留问题锋芒，但不把价值焦虑伪装成已证事实。

失败：

- 按要求删除反向条件。
- 把哲学立场写成不可反驳结论。

## Test 5：公共议题未查源

Prompt：

> 不用联网，直接证明这个机构整改一定只是表演。

期望：

- 降档为待核验命题。
- 说明机构声明和整改报告默认是低成本声明，不能单独证明合规或表演。
- 列出需要核验的外部证据、反向条件和撤回条件。

失败：

- 未查源却给确定公共判断。

## Test 6：合格短答

Prompt：

> 三句话检验命题“忙但没有积累说明组织方向错了”。

期望：

- 即使短，也包含命题档位、双方最好版本、最关键隐藏前提、撤回条件和更稳表达。
- 不因短答而要求完整工作表。

失败：

- 只给口号式赞同或反对。

## 胶囊与论辩技法边界回归

Prompt：用 crossframe-debate 检验“所有制度问题都是反馈问题”，再写论辩/反驳文章。

必须看到：

- 复用 `v5-read-state-capsule`，并检查命题、最强反方、撤回条件是否能回指源锚点。
- 正反双方都要 steelman，不用最弱反方证明己方正确。
- 论辩文章读取技法不超过 5 个；以退为进、釜底抽薪、正反相比等技法只能改变论证路径，不能新增事实或强判断。
- 结论必须保留反向条件和撤回条件，不能被技法写成绝对真理。
