回收 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)、记忆修复前备份。
34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
---
|
||
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。
|