chore(工作区): 纳入版本控制基线(回收 411 MB 过程产物)

回收 411 MB(470 M → 58.8 M),全部经回收站,可恢复:
- 待清理/(146.2 M,含 relay 分片 128 M 与 42 项过程目录)
- tmp/(32.4 M,按接续棒命名的过程临时区)
- .workbuddy/tmp/(39.5 M)
- 4 份 workbuddy.db 冗余副本(101 M,09-23 事故的坏副本 / 抢救产物)
- tmp/im16/gw/centrifugo 二进制(63.9 M,可重下)+ 缓存残留

入库范围:常驻规则(CODEBUDDY.md / README.md / state.py)、在途接续入口与
接续包、docs/、交付物/、交接单/、归档/、scripts/、.codebuddy/、
.workbuddy/memory/;共 398 件,其中 >60 KB 的 26 件全为文档。

排除(.gitignore):tmp/、待清理/、运行态日志与缓存、*.db 与 DB 备份整目录、
打包二进制(*.tar.gz / *.tgz)、记忆修复前备份。
This commit is contained in:
admin committed 2026-09-24 07:51:03 +08:00
commit ce8e6ceed9
396 files changed
+66045

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
---
alwaysApply: false
paths: ["**/*.ts", "**/*.cjs", "**/*.mjs"]
---
# 服务器侧改码:流程与门禁
## 哪一层要重启(**R8 判据**)
| 改什么 | 是否需 build + 重启 | 是否中断在线用户 |
|---|---|---|
| `src/**`(TS,编排器) | ✅ `npm run build` + 重启 `dshs` | ✅(开发环境)**直接做** —— 动手前一句话说明即可,⛔ **不必等确认**(R8 · 2026-09-13 用户明令「这个是开发环境服务器,不用担心中断用户」;2026-09-16 收口) |
| `web/*.html`(门户静态页) | ❌ 即时生效 | ❌ 否 |
| profile 层(cordis patch / bundles) | 重启该用户实例 | 仅该用户 —— 同样**直接做**,一句话说明即可 |
**改 `web/*.html` 千万不要重启服务** —— 那是**无谓的中断**(R8 的"不必等确认"**不等于**"可以无谓重启":按 **R11 只做正向迭代**,无收益的重启仍是劣化)。
## 部署前
1. **校验改前基线**:`ssh bt-server 'git hash-object <file>'` vs 本机 `git rev-parse HEAD:<file>`
—— **比 md5 可靠**(不受 CRLF / 编码影响;md5 已误判过一次)。
2. 备份:`cp <file> <file>.bak-<ts>`,回滚命令写进档案。
## 插件安装(`ensure-*.cjs` / `pnpm`)
- **必须走 pnpm**:`pnpm add file:<tgz>`;lockfile 才是账本,手放 `node_modules` 无效。
- **同名同版本 tgz 改了内容必须升版本号** —— pnpm 会复用旧包(已踩)。
- 装完若需实例生效 → 重启该用户实例 → 属 R8,**动手前一句话说明影响即可,⛔ 不必等确认**。
## 验证
- API 链路**必须同时覆盖"有请求体"与"无请求体"** —— 只测 POST 会整条漏掉 GET/SSE。
- 浏览器验证用 `browser-harness`,**铁律:动手前先 `list_tabs()`**,确认附着的不是用户正在用的 Chrome。