- 变更规模:新增 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/ 知识文件,按口径入库)
3.4 KiB
3.4 KiB
任务图规范(防干等的核心件)
任务图细则档:本档给写法、算法、模板。架构层判据 ⇒
references/architecture.md;原技能存档 ⇒references/collab-detail.md §3。
1 为什么需要它
没有显式依赖图 ⇒ 三个必然浪费:
- 该并行的没并行(不知道谁不依赖谁)
- 在非关键路径上花时间(不知道谁决定总工期)
- 有活没人干、或有人干着等前置(看不出"可派未派"和"干等")
2 文件格式
任务图.json(路径在配置 taskgraph 指定):
{
"goal": "一句话说清要达成什么",
"updated": "YYYY-MM-DDTHH:MM",
"rules": {
"dispatch": "只派依赖已满足的节点;优先关键路径;一条线只挂一个",
"domain": "域锁按节点涉及的文件/子目录声明;禁止整工作区粗域",
"handoff": "收口即派(+1~2 分钟)",
"waste": "可派集合非空 ∧ 无棒在跑 ⇒ 可派未派 ⇒ 立即派"
},
"critical_path": ["N5", "N8", "N9"],
"nodes": [
{ "id": "N1", "title": "做什么", "line": "line-a", "deps": [],
"status": "done", "evidence": "可核对的产物/读数(⛔ 不写自述)" },
{ "id": "N5", "title": "做什么", "line": "line-a", "deps": ["N1"],
"status": "blocked", "blocker": "卡在哪、缺什么" },
{ "id": "N8", "title": "做什么", "line": "line-b", "deps": ["N5"],
"status": "todo" }
]
}
字段口径:
| 字段 | 口径 |
|---|---|
status |
todo / running / blocked(依赖已满足但技术卡住) / done |
deps |
只有前置 done 才解除阻塞;blocked 不解除(它本身要人干) |
evidence |
必须可核对(文件 / rc / 端口 / 数据对照)—— 这是"真成果"的判据 |
critical_path |
从目标倒推的最长依赖链(决定总工期) |
3 程序怎么算(collabd.py 内 taskgraph())
for 每个未 done 节点:
未满足的前置 = [d for d in deps if nodes[d].status != 'done']
未满足为空 ⇒ ready(可派)
未满足非空 ⇒ waiting(并记录"等谁")
waste = ready 非空 ∧ 没有任何棒在跑 ∧ 无锁 ← 🔴 可派未派=浪费
⇒ 输出进实时状态;waste 时写 READY.md 喊出来。
4 四条派活规则(写死在 rules,程序与人都照它)
- 只派
ready节点 ⇒ 能并行的立刻并行 - 优先
critical_path上的节点 ⇒ 非关键路径押后不拖工期 - 一条线同时只挂一个,多条线可同时挂
- 收口即派(+3~4 分钟) ⇒ ⛔ 不要 +5
8 分钟空窗(🔴 2026-10-01 用户口径:基准 = 收口 + **34 分钟**)
5 关键路径单线化 ⇒ 必须拆
若关键路径上只有一个执行主体,总工期 = 该主体的串行时间之和 ⇒ 必拆:
- 把节点拆成更小的可独立验证步骤
- 把不涉及该主体特有资源的部分并行出去(给别的线)
- 例(真实):
N5 20090 通路常驻曾被拆成「① 能起 ② 能保持 ③ 掉线自愈」,其中"自愈策略"可交别的线并行
6 维护纪律
- 状态变了就改(谁做的谁改;主会话判定后改)—— 任务图过期比没有更糟
evidence只写可核对的东西;⛔ 不写"已完成""跑通了"这类自述- 节点粒度:一个节点 = 一个会话能在一轮里做完并给出读数的事