Commit Graph
3 Commits
Author SHA1 Message Date
chengmaandClaude Opus 5 10b724f62a docs: 归档 #38;改正六份归档里未经验证的 Go 版本说法
#38 归档记录了打回一次的经过(ParseSpec 两个失败分支无测试覆盖,
其中 size=="" 就是真实数据里 2 行走的分支),以及架构角色第一轮
变异打在死分支上、差点误报「测试没牙」的过程。

改正:/usr/local/go 从 2026-07-02 起一直是 1.26.5,而六份归档都写着
「架构角色亲自执行(Go 1.23.0)」——那是照项目固定版本抄的,
没有实际验证过工具链,违反 CLAUDE.md §9「说验证过必须真的跑过」。
措辞改为不宣称具体版本。已用 GOTOOLCHAIN=go1.23.0 补验,结论不变。

admin/AGENTS.md 加两条 [必须]:
- 交付前至少跑一次带 GOTOOLCHAIN=go1.23.0 的验证。开发机装的可能更新,
  Go 会默默用它编译,测过的不是要交付的那个版本。新加依赖时尤其要跑。
- 改数据库时不要只测全新库,先列出现实中存在哪些 schema 状态再一个个验(来自 #20)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 09:59:34 +08:00
chengmaandClaude Opus 5 3fdab7b2a8 docs: 记录 #16 #17 #19 #20 #24 验收通过
补上 #20 和 #24 的归档(此前只提交了代码),并把 #16 #17 #19
的状态改为验收通过。

#20 归档记录了工单中途被修改的经过:原工单写死「user_version=2 ⇒ 老结构」,
用户实测炸出 table already exists 后才发现 #16 的原地改写让这个版本号
对应两种结构,路径本来就是两条。按 CLAUDE.md §7.5 改工单而不是让实现硬凑。
也记录了变异测试第一轮漏掉两个的原因——架构角色的设计让收敛测试变成了
近乎同义反复。

#24 归档记录了四个变异全部被抓到,其中「破坏原子性判断」那个最关键:
加超时分支最容易顺手把原子抢占破坏掉。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 17:18:32 +08:00
chengmaandClaude Opus 5 fab20cfd2f docs: 归档任务 #16 #17
按 AGENTS.md §9 补上两份归档。内容是审查时实跑的结果,不是复述报告。

#16 PDD 商品数据独立成表
- 记录三处超出工单但必要的决定:TaskExists → GetTaskInfo、
  采错商品做成整体回滚的硬拒绝、复活时清空旧采集结果
- 记录审查时补验的 HTTP 层端到端:422 拒绝后幂等记录 0 条
  (若残留会导致客户端重试永远拿到缓存的失败响应)
- 三项未验证:界面未实现、MarkCollecting/SoftDeletePddProduct 无生产调用方、
  artifact_ref 未规范化

#17 claim 支持领取无主任务
- 记录契约变更:§5.1 从「只分配给指定 Client」改为两种并存
- 记录优先级测试的构造方式(无主任务 created_at 更早,
  没有优先级规则时会红)
- 遗留:tasks 表缺「需要真实下单」标记,本次把无主任务开放后风险被放大,
  开启真实下单前必须补

两个工单保持 open,等用户验收。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 11:02:21 +08:00