Files
workbuddy_skills/session-mechanism/scripts
admin 24040ee171 session-mechanism:闸④ 不再被周期排期卡死 + --report 漏 id 当场拒收
① 闸④ 收窄 recurring(用户选 A 案)
   改 ws_pending_schedules():schedule_type='recurring' 的行一律不算「待执行」,
   once 的过期排除与拦截照旧。
   症状=周期排期永远有下一次 ⇒ 拿「在册 + 没跑过」判它恒真 ⇒ 闸④ 恒拦
   ⇒ 目标检查会话一条都建不出来(aigc-idea-impression 被「AI变现日报 每日 06:00」
   挡了一整天,日志每 20 秒重复「还有 1 条待执行排期 ⇒ 不建」)。
   变异对照:同一工作区、同一时刻,旧版返回 ['AI变现日报 · 每日自动生成']、新版返回 []。

② --report 拒收闸(用户选 B 案)
   --report 后面必须跟真的需求 id;id 为空或以 -- 开头 ⇒ 打用法行 + 退出码 2,台账一字不写。
   症状=漏 id 时 _arg("--report") 取到的是下一个 token(--state)
   ⇒ 台账多一条键名写坏的记录,还被算进队列计数(本区 queue_n 2→3;vibe-product 也有一条)。
   变异对照:把闸删掉 ⇒ 同一条命令 rc=0 且真写出 "--state";加回去 ⇒ rc=2 且台账为空。

自检:闸④ 用例 5 → 6 项;新增「拒收闸」用例 6 项(含正例对照,防「未找到部署配置 ⇒ 拒跑」
把 rc=2 混成假绿);全量 PASS 110 / FAIL 0。

文档:references/pitfalls.md —— P0-65 补 recurring 口径(含实测症状与反例库);
新增 P0-96(漏写 --report id 的静默污染 + 判据自身两处假绿坑)。
2026-10-12 09:50:10 +08:00
..