admin a3935b5fc5 修「检查会话落到未分组」+ 检查程序静默阈值 20 → 10 分钟
一、检查会话跑到未分组(用户报障逐字)
「vibe-product 的检查会话没有创建到工作区下,跑到未分组的会话中去了」。
根因(实测坐实):collabd.py::create_check_schedule() 的 INSERT **少了 workspace_scope 列**
⇒ 落库 NULL ⇒ 排期触发出来的会话被宿主当**游乐场**建
(sessions 行:is_playground=1 + source_mode='craft' + use_sandbox_cli=0)⇒ 不进工作区分组。
对照读数(同一晚两条排期):会话侧 automation_update 建的是 'workspace' ✓,
机制自建的是 None ❌;近 3 天 59 条排期里只有机制那条是 None。
修法:INSERT 补 workspace_scope 并以 'workspace' 落库。
配套:新增 selftest 用例 t_check_schedule_scope(3 项),含变异对照
(把列删掉 ⇒ 报红;还原 ⇒ 逐字节一致)。

二、检查程序等待时间 20 → 10 分钟(用户令逐字)
「把检查程序的等待时间由 20分钟 改为 10分钟」。
改法:新增常量 CHECK_IDLE_MIN = 10,**闸门与 --dry-run 试算都读它**(原来两处各写死 20);
并同步**写给检查会话看的 prompt 文案**(≥20 → ≥10)与 4 处注释/文档
(references/supervise-persistence.md §六;顺带订正该节「基准取台账 tasks.json 的 mtime」——
与代码不符,实际是「本工作区排期的 updated_at 最大值」)。
配套:新增 selftest 用例 t_check_idle_min(4 项,**不锁数值**、只锁"常量/闸门/试算/文案同源"),
含变异对照(把文案改回 20 ⇒ 报红)。

三、旧数据归位与分发
- 今晚那条歪掉的检查会话已改回工作区档(is_playground 1→0、source_mode craft→work、
  use_sandbox_cli 0→1;排期 workspace_scope → 'workspace');改前原值已备份到
  归档/检查会话归位-20261007/;PRAGMA integrity_check = ok。
- 副本分发:ai1net-dsh-server 与 vibe-product 各 7 个文件;两区常驻已重启
  (判据=心跳 started_h 07:54:35 / 07:54:37,晚于分发时刻 07:54:07)。

验收:selftest.py rc=0 PASS 102 / FAIL 0(改前 99);manifest 70 份、语法失败 0。
2026-10-07 07:55:29 +08:00
S
Description
No description provided
43 MiB
0 Stars 1 Watchers 0 Forks
Languages
HTML 80.5%
Python 11.7%
CSS 6.9%
TypeScript 0.4%
Shell 0.3%
Other 0.2%