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/ 知识文件,按口径入库)
This commit is contained in:
1 parent
30b46dbd0c
commit
c1b5e4d966
735 files changed
+153192
-2415
No files matched your search
@@ -0,0 +1,99 @@
|
||||
# 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.py` docstring + 两处活注释改**常驻定案**(上一轮漏传导);
|
||||
⑨ `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 |
|
||||
Reference in new issue
Block a user