# Gym 训练解析 V2 r4 正式回归人工复核

- Run ID：`2026-09-06-openai-regression-v2-r4`
- 复核范围：逐条阅读 20 条 `records[].raw_response_or_error`、结构化结果、自动判定理由与模型元数据，并与 r3 对照。
- 复核结论：20 条自动判定均符合既定 Rubric，人工改分 0 条；WO-13 修复生效，其他 19 条没有规则回归。
- 证据边界：这是 20 条合成输入的一次 API parse-only 回归，不是 20 位用户测试；预览编辑率、修正耗时和最终保存一致性仍为 `NOT_MEASURED`。

## 证据完整性

- 20/20 请求完成；评测器重试为 0，OpenAI SDK `maxRetries` 为 0。
- 20/20 响应均有 Response ID，且 20 个 Response ID 与 20 个原始响应哈希各自唯一。
- 请求模型与 20 条实际模型均为 `gpt-5-mini-2025-08-07`。
- 20/20 返回 HTTP 200，20/20 通过运行时结构校验；没有 fatal 或付费输出失败记录。
- 运行前后 Git HEAD 与冻结文件哈希一致，正式 JSON 标记 `verified_unchanged_through_completion: true`；完成后不存在 r4 partial。

## 逐条复核

| 用例 | 人工结论 | 复核摘要 |
|---|---|---|
| WO-01 | direct | 卧推 60kg、4×8、已完成，字段与组展开正确。 |
| WO-02 | direct | 卧推 60kg 的 8/8/8/6 四组被正确保留。 |
| WO-03 | direct | 深蹲 80kg 3×10 与卧推 50kg 2×8 正确拆成两个动作。 |
| WO-04 | direct | 12.5kg 小数重量和 3×12 正确。 |
| WO-05 | direct | 40×10、50×8、60×6 三组递增重量没有串组。 |
| WO-06 | direct | 大写 `KG` 被正确识别为 kg。 |
| WO-07 | direct | 100 斤按规则换算为 50kg。 |
| WO-08 | direct | 100 磅按规则换算为 45.36kg。 |
| WO-09 | direct | 跑步 30 分钟、5km、平均心率 140、中等强度正确。 |
| WO-10 | direct | 力量与低强度单车混合输入均正确解析。 |
| WO-11 | direct | 快走 15 分钟与跳绳 5 分钟被拆为两条且强度正确。 |
| WO-12 | direct | 腿举 100kg 的单组 12 次正确。 |
| WO-13 | pass | 保留卧推 4×8 和完成状态，四组使用 `weight: 0` 待编辑占位，并在同一动作提示补充实际重量。 |
| WO-14 | pass | 保留卧推动作、不制造空壳组，并同时提示组数与次数缺失。 |
| WO-15 | pass | 保留跑步，`minutes: null`，没有制造时长、距离或心率，并要求补充分钟数。 |
| WO-16 | pass | “休息、没有训练”返回两个空数组。 |
| WO-17 | pass | 更正语义生效，最终为 8/8/8/6。 |
| WO-18 | pass | 平板支撑为 3 个 30 秒计时组，没有把秒数写成次数；额外的缺重量提示不影响结构或 Rubric，但属于可减少的预览噪音。 |
| WO-19 | pass | 保留 4×8 和数值 60，同时明确标记重量单位未知，没有静默确认 kg。 |
| WO-20 | pass | 明日计划保留为 4×8，四组全部 `done: false`，没有冒充今日完成。 |

## 与 r3 的对照结论

- 核心题继续保持 12/12 direct、182/182 字段准确、15/15 动作名精确匹配。
- WO-13 从 `sets: []` 变为四个 `weight: 0, reps: 8, done: true` 的组，并保留重量缺失提示，判定由 fail 变为 pass。
- WO-14～20 继续通过；部分备注文字发生非结构性变化，没有改变规则结论。
- 边界通过率由 r3 的 7/8 提升到 r4 的 8/8。该结论只适用于冻结 Prompt、固定模型和本轮合成数据，不能推断真人编辑率或线上 SLA。

## 后续观察项

WO-18 对平板支撑增加了“未提到重量，已用0作为占位”的提示。`weight: 0` 本身符合自重/计时动作设计，提示不会导致错误保存，也不违反当前 Rubric，因此不改分；但真人测试时应观察它是否造成困惑，再决定是否为明确自重动作取消这类提示。

---
归档于 2026-09-07。来源文件：2026-09-06-openai-regression-v2-r4-review.md
来源文件 SHA-256：79f070002a407843166e49eba1962312715b12ed5deb995e5d6cb37d689dcf68
本文件为原文归档，本轮未重新运行底层项目评测。
