33 lines
4.8 KiB
Markdown
33 lines
4.8 KiB
Markdown
# S7 全量验收 V1–V7 · 如实报告
|
||||
|
|
|
|||
|
|
- 时间:2026-10-02 13:47–14:05
|
|||
|
|
- 执行:`[协作]-[会话协作自检]-S7 全量验收 V1–V7`(会话 `053acd9e`)
|
|||
|
|
- **结论:7 项中 6 过 1 不过**。唯一不过的是 **V2(跟进会话这条链接得住)**,原因单一且可复现:**没有任何一条活的跟进会话**。
|
|||
|
|
- 锁:动工前已抢 `ai1net-dsh-server/` 域锁,收尾已反序释放(当前无人持锁)。⛔ 未 commit、未 push。
|
|||
|
|
|
|||
|
|
## 逐项读数(过 / 不过 + 一行证据)
|
|||
|
|
|
|||
|
|
- **V1 常驻投递 —— 过**:`collabd.py --supervise` pid **8024** 活着(起 13:30:55,全机唯一实例);心跳 `.workbuddy/collab/logs/supervise-heartbeat.json` ts=**13:44:22**、round=36、间隔 10 s,探活时距今 **12 s**,远小于 90 s 判据(`_tick.stamp`/投递日志按口径⛔不作证)。
|
|||
|
|
- **V2 跟进会话这条链接得住 —— 🔴 不过**:目标**解析得到**(名册 `[跟进]` 11 条在册、本类别 10 条,`role=follow` 解析已落地),但**收件人零条活着** ⇒ `_collabd.log` 连续 **168 次** `follow-not-live`、**今日投递成功 0 次**。⛔ 已按新口径判定:不是「主会话没被投」——主会话按口径本就不该被投。
|
|||
|
|
- **V3 闸门齐全 —— 过**:`queue.json` 的 head/pending/gate 三键齐全(head=S7、pending=1、gate=free),`NEXT.md` 在位(mtime 13:42)。⚠️ S7 出队后队列清空,程序已把 `NEXT.md` 撤下(属正常,⛔ 不是闸门缺件)。
|
|||
|
|
- **V4 看板可服务 —— 过**:`board.py --serve 8788` 起得来,回环 `GET /healthz` = **200**,`{"ok":true,"snapshots":1,"age":1.4,"err":""}`;探针跑完已杀干净,8788 只剩 TIME_WAIT(⛔ 没留常驻后台任务)。
|
|||
|
|
- **V5 自测全绿 —— 过**:`selftest.py` = **PASS 48 / FAIL 0**(rc=0),与基线 PASS48/FAIL0 持平,一条没掉。
|
|||
|
|
- **V6 跟进会话角色落地 —— 过**:宿主 `sessions` 名册里 `[跟进]` 共 **11 条在册**(会话协作自检 10 + 机制排查与修复 1),`role=follow` 解析成立。⚠️ 「在册」≠「活着」,活的仍是 0。
|
|||
|
|
- **V7 开工建齐三类会话 —— 过(本类别)**:类别「会话协作自检」下 唤醒 9 / 协作 3 / 跟进 10 条在册,三类各 ≥1。⚠️ 另一类别「机制排查与修复」唤醒 **0** 条在册(协作 9 / 跟进 1)——属该类别自己的缺口,按判据不判本项 fail,但要点名。
|
|||
|
|
|
|||
|
|
## 没过的项(单独列出)
|
|||
|
|
|
|||
|
|
- **V2 跟进会话这条链接得住 —— 不过**
|
|||
|
|
1. 真因:**收件人不存在(活的)**。投递链路本身没坏——目标解析、忙判据(S9 已修)、常驻(S8 已修)三段都是好的,卡在最后一段「没有人在线收」。
|
|||
|
|
2. 证据:`_collabd.log` 今日 `follow-not-live` **168** 次、`投递成功` **0** 次;宿主库 `status='working'` 全机仅 3 条(本会话 `053acd9e` +「确认空间任务状态」`a80f300d` + 另一工作区一条),**没有一条是 `[跟进]`**。
|
|||
|
|
3. 下一步(唯一可行路径):**只有排期能开新会话** —— 常驻进程开不了会话,`jobs/resume` 给的是后台 worker、进不了 live 界面、接不到投递 ⇒ 必须靠一条一次性排期把跟进会话带回来,带回来之后 V2 才可能转过。
|
|||
|
|
4. 🔴 **待用户定,本棒不擅自开**:13:5x 用户刚订正过口径(逐字)「**跟进会话只创建一个,跟进的内容来自 协作会话执行完成后 把待核对状态写入协作队列,上报给那个固定的跟进会话处理**」⇒ **跟进行是全局唯一席位、⛔ 不按类别各建一条**;而那条固定席位排期**当前被用户手动 PAUSED**(前棒已按「尊重用户动作」改回暂停)。本棒曾按旧的「角色 × 类别」硬缺清单建出 2 条跟进排期,发现口径冲突后**已删除**(`5bd63e2a` / `13767b32`,⛔ 不复活)。⇒ **要不要把那个唯一跟进席位放开,请用户点头。**
|
|||
|
|
5. 🔵 本棒只保留了 1 条新建排期:`[协作]-[机制排查与修复]-承接队列`(`worker` 仍按类别分,符合现口径;`--gap` 报该类别协作棒 stale),排期 14:11。
|
|||
|
|
6. 复验方式(V2 判「过」的可核对条件):`_collabd.log` 里出现 `投递成功` / `http=200` 且目标名以 `[跟进]` 开头,同时 `follow-not-live` 计数停止增长。
|
|||
|
|
|
|||
|
|
## 附件
|
|||
|
|
|
|||
|
|
- `tmp/supervise-inbox/goal.json` —— `acceptance_state` 已全量覆盖写回,10-01 那版旧读数一条不留(**V1–V7 口径的权威落点**)
|
|||
|
|
- `交付物/任务图-会话协作自检.json` —— S7 → `done`(含 done_at / done_by / evidence)
|
|||
|
|
- `tmp/supervise-inbox/queue.json` —— S7 已出队(head 空 / pending=0 / gate=free)
|
|||
|
|
- ⚠️ `tmp/supervise-inbox/TO-MAIN.md` 由协作程序持有并每轮重写(14:03 已被它覆盖成队列上报)⇒ 本报告的**持久副本是本文件**。
|