bcdeb7f927
上一提交(d80b30e)里那句"验证:对两种 rep 各生成一次,落到 AGENTS.md 的那行
分别正确"**是不成立的** —— 验证脚本当场 IndexError,我却先把提交信息写好了。
如实纠正,并把挖出来的真 bug 修掉:
根因:`agents_md` 用 `body.replace("## 2. 硬约束", …)` 插入现状表,
而骨架里的实际标题是 `## 1. 硬约束`。`str.replace` 找不到时**静默返回原文**,
不抛错、不警告 ⇒ 这张"接入时核实的现状"表**从来没有被插进去过**,
而工具一切正常地"成功"了。这正是正本 §3.2-3 那条:断言校验器真的作用在目标上。
改法:
- 锚点改成真实的 `## 1. 硬约束`,小节改名为 `## 0b.`(插在 §0 与 §1 之间,不改骨架编号)
- 插入前**显式断言锚点存在**,不存在就带说明退出,不再静默
验证(本次真跑):
- 对「没开保护 / 开了保护」两种 rep 各生成一次,生成物中 `| 默认分支` 那行分别正确,
且 `## 0b.` 确在
- 反向自检:把锚点改坏 → 报错退出(而不是照常返回一个缺了现状表的文件)