2.7 KiB
2.7 KiB
验证记录
2026-10-13:bugfix 1.0.0 定稿前
被测 agent:Codex CLI 0.162.1,默认模型,以 exec 模式运行。运行时不能提问,凡是需要征询的事项都只记录在报告里。
盲测
| 夹具 | 得分 | 找到的兄弟实例 | 暴露的问题 → 对技能的修改 |
|---|---|---|---|
| inventory | 18/18 | v1 遗留副本(.find 写法)、类目正则未锚定、权限检查让只读审计员能删除(升为 P0)、缓存里的错误结果;4 处正确代码均未改动 |
① 空输入行为变了却没报告 → 把"边界输入行为"纳入契约 ② 自查被说成"独立评审" → 要求写明评审者并引用其结论 ③ 被迫让一个 git 跟踪的本地缓存保持错误 → 区分"可丢弃的派生数据"和"权威数据" ④ 根因门槛实验与"类分析前不改代码"互相矛盾 → 把门槛实验定义为诊断探针,做完即撤销 |
| scheduler(目录中没有这类模式) | 18/18 | 提醒常量、任务超时(已完成的任务被误判超时并重试,P1)、ETA 读取端、队列中 2 条错误记录(作为权威数据未擅自修复);6 处正确代码均未改动 | ⑤ int → float 的返回类型变化没报告 → 契约检查加入返回类型⑥ 回退副本的配方假设可以写到仓库外 → 支持仓库内的临时目录 |
Codex 评审轮次(只读)
| 轮次 | 结果 |
|---|---|
| 0(原版 + 设计稿) | 25 个问题:授权边界、召回规则过严、类定义不清、守卫未验证、原版的外键/枚举/Pydantic/CORS/时区建议有误等 |
| 1 | 13 个新问题:门槛与编辑顺序循环依赖、抽样排除、回退会扰动用户改动等 |
| 2 | 5 个新问题:可丢弃数据的判定、在途操作的租户身份、3/n 置信界的独立性前提、队列确认语义、assert 在 -O 下被移除 |
| 3–6 | 集中在守卫回退配方,共修复 4 个危险缺陷(见下);第 6 轮(共 7 轮)结论:ship |
守卫回退配方的 4 个危险缺陷(均已复现并修复)
- 复制失败后,
git apply -R会落到原仓库执行,把真正的修复撤销掉 → 改用git -C "$COPY"并检查隔离。 set -e在if、&&、||或工具包装器中会被静默忽略;mkdir A A/copy会穿过预埋的符号链接写入 → 每步显式|| exit 1,并用mktemp -d生成全新的临时目录。- 管道只检查最后一个命令的退出码,前面的命令失败会被忽略 → 不用管道。
tar能还原符号链接时,副本中的绝对链接仍指向原文件,测试中经它写入确实改坏了原文件 → 副本中出现任何符号链接都拒绝继续。
回归脚本:reversal-test.sh,覆盖 8 个场景。