Files
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

3.9 KiB
Raw Permalink Blame History

整体改造方案 · 会话只留两类(主会话 + 协作会话)

🔴 用户 2026-10-02 23:36 指令逐字:「按照新的逻辑整体修改」 前一条逐字:「按照之前的讨论 唤醒会话 跟进会话 和 上报程序 都去掉才对」 再前一条逐字:「上报机制也不需要了」 口径已落在 collabd.py:2293(早于本轮):「创建检查会话的为 协作程序 (现在不需要上报机制了、之前已经去掉 唤醒会话和跟进会话机制)」

一句话目标

会话类别从四类收敛为两类:① 主会话 ② 协作会话。 唤醒会话、跟进会话、队列上报链路整套退役;检查会话由协作程序按四道闸建。

一、要改哪些(按依赖顺序,⛔ 一处一处改、每处改完即验)

  1. scripts/collabd.py 角色表 —— parse_session_name() 去掉 waker / follow 两类 + 主会话候选排除元组 ("worker","waker","follow") 收到 ("worker",) + _scan_follows() / follow_for_topic() / _deliver_str() 的收件人路由整段退役
  2. scripts/board.py + assets/board.html —— 架构图从「主/唤醒/跟进/协作」四格 改成主会话 + 协作会话两格;board_ext.py 的 triggers(唤醒节点)退役
  3. scripts/hooks/wb-result-hook.py —— 🔴 只拆「上报」这一动作 (maybe_run_supervisor / maybe_run_collabd_once / maybe_run_supervisor_tick / 投递调用), ⛔ 保留 _authorized_now()(授权闸,collabd.py:4420 指名依赖)、 ⛔ 保留 maybe_sweep_logcap()(日志闸)、maybe_inject_session_gap()(缺口注入)
  4. scripts/session-rules-check.py —— 自检项 ⑦⑪⑫ 按新口径重写 (⛔ 原「唤醒/跟进两台周期钟」判据作废,改为「这两台不该存在」=反向判据)
  5. SKILL.md / references/architecture.md / references/collab.md / references/collab-detail.md —— 四类 → 两类;⛔ 逐处改,不留「四类」残影(含 frontmatter description)
  6. scripts/selftest.py —— 角色对账用例按新表重写(⛔ 断言不许写死期望值)
  7. references/pitfalls.md —— 新增本次改造的坑(⛔ 不改旧条,只增)

二、⛔ 三条硬约束(本次改造特有)

  1. ⛔ 不删文件,只退役 —— 全部改法=status=PAUSED + 代码标「已退役」+ 路径改名指向。 可逆、零丢失。
  2. ⛔ 不整删 wb-result-hook.py —— 它兼授权闸。删了并发锁授权面失控。
  3. ⛔ 不在 S13 还在改 session-rules-check.py 时动第 4 项 —— 同一文件两个会话必互相覆盖。 ⇒ 顺序:等 S13 跑完 → 再整体改。

三、验收判据(⛔ 全是机读,⛔ 不看页面像不像)

  1. sessions 表里 [唤醒] / [跟进] 新会话数 = 0(旧记录可留,status 为 completed)
  2. automations 表里 [唤醒] / [跟进] 命名 ⇒ status='PAUSED'
  3. /board.json 的 front._missing 或 front 无 20090 链路(直读 JSON,⛔ 不看页面)
  4. selftest.py PASS 数 ≥ 改前,且新加的「两类」断言非恒真 (⚠️ 变异法:把角色表改回四类,新断言必须报红)
  5. py_compile 全过;PRAGMA integrity_check=ok
  6. 🔴 重启看板才生效(P0-17:改了配置也必须重启,C 是模块级加载一次)

四、需要用户拍板的点(⛔ 不自决)

看板要「唤醒」那两格完全消失,还是保留灰格标注「已退役」?

  • 候选 A:完全消失,架构图只两格。优点:干净。缺点:丢失「为什么没有」的线索。
  • 候选 B:保留灰格 + 标「已退役 · 2026-10-02」。优点:可追溯。
  • 倾向 B —— 与本项目一贯「过期会话收起但不删除」的口径一致。