- 变更规模:新增 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/ 知识文件,按口径入库)
9.5 KiB
9.5 KiB
manifest · 包内文件清单
生成方式:逐文件
compile()/json.loads+ md5 | 最近一次全量重算:2026-10-02 08:00 (2026-10-02 回改:architecture.md 两处唤醒口径由「已作废」改回「口径照旧+实测偏差」(我上轮误把口径当实测废掉);board_ext 唤醒格 tip 补「这不是定案形态」) ⛔ 本表不含install.log(运行日志)与references/manifest.md(自引用,写完即失真)。 ⚠️ provenance 列里的skills/multi-session-collab/…、skills/workbuddy-session-forensics/…已是历史路径 —— 那两个目录 2026-10-01 已移到<工作区>/归档/技能-退役-20261001/(⛔ 不在技能根了)。
文件总数:35 | 语法 / 结构检查失败:0
最近改动(⛔ 只记「什么时候改了什么」,不写流水账)
- 2026-10-02 07:0x · 开工第 0 步改名:会话「规划」→ 会话「规则机制」(本轮):
① 用户纠正原话:「就应该是检查清楚 所有会话规则机制 是否配置完整且生效, 不是规划 是 规则」
⇒ 首版体检脚本只查排期那一面,当天实测出的三类失效(钩子注入指向已退役技能名 / 常驻快照写进幽灵目录 /
每轮注入的记忆指针悬空)一条都没覆盖 ⇒ 名字还叫「规划」=第二次「在册 ≠ 生效」。
② 收敛成一个入口:新增
scripts/session-rules-check.py(查 三类十二项:A 钩子在册·路径存在· 注入技能名存在·闸门日志新鲜 | B 每轮注入记忆的技能指针·常驻快照不比权威旧 | C 周期钟·模型可用性·cwds同形·投递心跳·活会话·once从未运行的死排期);旧scripts/session-plan-check.py退役 到<WS>/归档/技能包-旧件-20261002/,能力不回退。 ③ 状态标记改名:session-plan.json→session-rules.json(旧的属过期件,⛔ 别拿来对照)。 ④ 判据收紧:cwds近失配原写成「同父目录 + 字面不同」⇒ 在AIProject/这种多业务线平级目录下 把别的线报成失配(实跑当场 2 条假红)⇒ 改为「同父目录 + 名字去-/_后仍相同」/「同名不同父目录」。 ⑤ 判据自验:⑨⑫ 抽成纯函数 + 合成样本夹具(<WS>/tmp/rules-check-mutate.py)—— 原版 10/0 绿、 四个变异体逐一按预期报红。⚠️ 夹具自己先红两次(期望值写死:漏算样本 + 有序列表比中文名)。 - 2026-10-01 18:5x · 外置根贯通 + 两处真缺陷(本轮):
①
roots.env引导块从 9 份扩到 16 份(补齐 7 个非钩子脚本:board/board_ext/collabd/deliver-gateway-token/goalctl/selftest/stop-collab); ② 盘符字面量清零:配置目录兜底改~/.workbuddy,工作区兜底改DSH_WS_ROOT/cwd, 覆盖网日志 glob 改DSH_OVERLAY_LOG_GLOB(原为死路径 —— 本机E:/dsh-worker-dev不存在); ③ 7 份加输出编码兜底;④roots.env增写CODEBUDDY_CONFIG_DIR; ⑤ 🔴 修「钩子把技能包当工作区」:wb-result-hook.py的_WS_ROOT原按3×dirname(__file__)推, 包内这份推出来=技能包自己 ⇒ 包里长出tmp/supervise-inbox/;改为复用resolve_ws(); ⑥ 🔴 修「重定向 + GBK ⇒ print 抛异常 ⇒ 顶层记 fatal、整轮失败」(本机实测 4 次; 这正是常驻跑不起来的拦路石 —— 常驻必须重定向 stdout); ⑦install.py工作区模板路径纠错(原指scripts/collab/,实际在scripts/); ⑧collabd.pydocstring + 两处活注释改常驻定案(上一轮漏传导); ⑨lock/preflight-lock.sh+hooks/lock-guard-hook.py的盘符字面量清零; ⑩ 新增install.py --manifest(见下条); ⑪ 🔴scripts/selftest.py去掉最后一处项目绝对路径:t_tick_wired原先写死<某工作区>/.workbuddy/tools/wb-result-hook.py⇒ 两处都不对:既违反「技能里只用相对路径」, 又因宿主接线已改指包内那份而恒走"文件不在,跳过" ⇒ 看着绿、其实什么都没验(静默假绿)。 现改按包内相对路径取hooks/wb-result-hook.py,该用例从"跳过"变真检(4 项实跑通过)。 - 2026-10-01 19:0x ·
install.py --manifest:把「重算本表」固化成子命令 (包一改表就过期 ⇒ 以前每轮临时手搓脚本、跑完即删,已因此误判两次)。 只重写表 + 计数行 + 重算时间,⛔ 不碰上方散文;行尾随原文件(本表是 CRLF,写成 LF 会造成一次无声全文件 diff)。 - 🔴 两份同源脚本「有意不一致」(⛔ 别当 bug 去修平):
preflight-lock.sh与lock-guard-hook.py在 技能包与文档库07-scripts/各有一份。包内那份住在技能包里、推不出文档库根 ⇒ 只能走roots.env+(lock-guard-hook.py的)末位字面量兜底;库内那份住在<文档库>/07-scripts/⇒ 按__file__往上两级即文档库根。⇒ 包内有引导块、库内没有,是位置决定的,不是漏改。 - 2026-10-01 18:2x · 瘦身(本轮):
references/collab-detail.md删去原件 YAML 变更流水(约 9.4 KB)+ 加读法索引+ 压缩 §12;references/{manifest,taskgraph,pitfalls}.md去掉过期条目与旧抬头;包内__pycache__/、hooks/bak-*/、tmp/已清。 ⛔ 本轮无机制代码改动。 - 2026-10-01 16:5x:
scripts/hooks/session-log-guard.py新增「硬档就地回收」—— 到 8 MiB 先试一次把本会话logs/<日期>/sdk/conversations/<sid>.log改名(后缀.recycled-<时间戳>,⛔ 不删、⛔ 不以.log结尾故与清扫器不重叠) ⇒ 宿主立刻重建并继续写 ⇒ 会话不必再因撞 10 MiB 而停手;失败则逐字退回原「停手+建接续」口径。 开关DSH_SLG_NO_RECYCLE=1(只关回收、保留叫停)。⚠️ 文档库原件07-scripts/session-log-guard.py已同语义同步。 - 2026-10-01 16:0x:原
multi-session-collab的SKILL.md全文并入references/collab-detail.md(治 8 处悬空引用:§0.05§0.5.2§0.5.4§0.5.5§1.3§1.4a§3§6);清掉 9 处旧技能路径/名的活文本; 两个原技能目录移入<工作区>/归档/技能-退役-20261001/。
逐文件清单
| 包内路径 | 字节 | md5 | 语法检查 |
|---|---|---|---|
SKILL.md |
57954 | c02b5ca61c66cc5888ab3cb06457668d |
— |
assets/board.html |
114088 | 57226a950bc8d4ac17cb1ee193beb6c2 |
— |
assets/design-tokens.css |
6364 | 0668feb3a4729f1022e579ac0c5d2569 |
— |
install.py |
25693 | a926b54c8c9cc1efd48f1d6f117d4e41 |
ok |
references/architecture.md |
98725 | ac659d083397d188804e7445683ebf8a |
— |
references/collab-detail.md |
96922 | 03071a259a1431417ed1879ec67e6f77 |
— |
references/collab.md |
10997 | 5dea53426fafcc7c6ccc109590067d51 |
— |
references/deploy.md |
16754 | 2c1ae589fa81c4b8fe23ca0d3415c5c3 |
— |
references/forensics.md |
6067 | 1fb6deca9bb05bebe950d4f4e3adf043 |
— |
references/pitfalls.md |
74795 | e2c4b4dcf00e83c1160e9d8b59230b39 |
— |
references/rules.md |
6901 | 32d93dec83efdfb2efc6138be119b82f |
— |
references/taskgraph.md |
3521 | be6c6540be86475bb3430688c2987afc |
— |
roots.env |
522 | 66fcd2e1bb33422182e39923136d1515 |
— |
scripts/board.py |
82030 | eee38f058a07d4c55948c0a1333e8bbb |
ok |
scripts/board_ext.py |
45655 | f138d944145b276e65f6aa86bd8baa07 |
ok |
scripts/collabd.config.example.json |
1158 | 6655c15c411a84e3ca12fd136dbe2c60 |
ok |
scripts/collabd.py |
224682 | 4ae63e3c5095e410e5758dad63241cdc |
ok |
scripts/deliver-gateway-token.py |
5685 | cbba9648d404ecd2683061e19dbdb24a |
ok |
scripts/forensics/proc-parent.py |
2347 | 8cdfff2dbb88303298752c3777da7b20 |
ok |
scripts/goalctl.py |
37919 | 8ad3e8a731cc02e40495e0cc1e322199 |
ok |
scripts/guard.py |
13159 | 0671fc547570f62f3a8061783b14600b |
ok |
scripts/hooks/bash-output-guard.py |
17790 | 65cab96d553b349a1323266f5018b19c |
ok |
scripts/hooks/lock-guard-hook.py |
19651 | f6b9c04b0b8cd1c674fb3ad01303522d |
ok |
scripts/hooks/session-log-guard.py |
24325 | 4ed356f4d32cd75682332b45071dd78b |
ok |
scripts/hooks/skill-load-guard.py |
16210 | 780df74d6f77fa23d159eb9fbc2b02ae |
ok |
scripts/hooks/stop-dialog-guard.py |
40601 | 9c840389c2b8413440ff1e7e2591d7d0 |
ok |
scripts/hooks/wb-result-hook.py |
37099 | 8ac3bd9761405fa1bc95fb476ea5557e |
ok |
scripts/lock/handoff-guard.sh |
34616 | 5e36fc2fdc3f25996cc34096c5924db5 |
— |
scripts/lock/handoff-status.py |
3923 | 3edb20f9c4021ebe2323478860bf8f6f |
ok |
scripts/lock/op-lock.sh |
4690 | 1a31eda3642e23693a65e1519860c744 |
— |
scripts/lock/preflight-lock.sh |
8673 | e985ec1cb853fae4c351cd03b171355d |
— |
scripts/selftest.py |
113372 | 13343495859ec18e61cc0d5e3df45739 |
ok |
scripts/session-rules-check.py |
27237 | 216c6d60629e137fd9f105afbe0b798e |
ok |
scripts/stop-collab.py |
10205 | f7f98c90e1a84050509572b2ddfecf35 |
ok |
scripts/wake-session.py |
10922 | f9f950aaae89def778283a3a5184c238 |
ok |