docs(平台线): 版本管理与包更新机制 拍板落地(C案→B案 · 执行棒登记)
用户拍板(2026-09-26 06:36 原话): 「C 方案,然后B,这次就用版本更新机制去更新网络上各节点,子节点和设备」 口径(唯一执行单 = 交付物/版本管理与包更新机制-现状与方案-20260926.md) - 用户说的 C 案 = 层 A(止血)+ 层 B-1~B-4(版本目录化 / channel 灰度 / 定向钉版 / 设备纳入) - 随后做的 B 案 = 层 B-5(全局版本矩阵视图) - 层 C 跨区拓扑本次不做(属覆盖网络线),但实现须兼容其口径 - 收尾必须真跑一次分发到 47 本机 worker + 106 子节点 + 设备 - 执行棒第一件事 = 取证设备(桌面端)侧载体(承缺陷 D6) 本棒产出 - 交接单 §5 改为「已拍板」+ 新增 §8 执行棒细化(S1 止血 → S2 完整版本管理 → S3 全局矩阵视图 → S4 真跑分发) - 入口 §0 落 06:36 拍板行 + §2 落续作二/续作三注 - 05-交接单/README.md §一 第 44 行追加拍板(该目录 gitignore → 不入库,按既有口径) - 执行棒 automation da73ab87-fb2f-47f0-a8d8-8ea3ad35eb19(一次性 · 2026-09-26T06:52) 事故与判据(已自愈 · 无损) - tmp/p36/patch-c3.py 复合式 open(P,"wb").write(join(...)) —— Python 先求值 open() 即截断, join() 再抛 TypeError ⇒ 入口被清成 0 字节;已 git checkout -- 复原(341,330 B / 968 行, sha 1d44073b… 与 HEAD 逐字节一致),随后改用 Edit 精确片段替换补写 - 新增铁律:改共享文件只准 Edit 片段替换,或「先算全量 bytes 再一次性写」; 禁用 open(...,"wb").write(表达式) 复合式 边界 - 未改 D:/github/dsh_shenxian/src/** 一行(只读取证) - 未 ssh 真机做任何变更;未碰他线在途改动(CODEBUDDY.md / state.py / MEMORY.md 等)
This commit is contained in:
1 parent
a38d8b674d
commit
2a1226ca13
3 files changed
+94
-1
No files matched your search
@@ -116,3 +116,49 @@
|
||||
|
||||
### 🔴 未登记下一棒
|
||||
§5 有 **1 项待拍板**(修到什么程度:只修超时 A / A+全局视图 C / A+完整版本管理 B)⇒ 依「要用户拍板的,等拍了再新建接续会话」**⛔ 未登记 automation**。我的倾向:**A 先落、C 紧随**。
|
||||
|
||||
## IM 反向通道定案棒(06:3x)
|
||||
- **用户拍板**:「都需要实现完整,才能让插件接入,否则两边都要返工」⇒ 反向通道(平台 → 插件)**必须补、做完整**。
|
||||
- **本棒只定案不实现**(会话预算 18 万+,硬约束)⇒ 产出施工规格 `接续包_IM反向通道实现_20260926.md`(含设计已定项/文件清单/验收/回滚/开工命令)+ 登记执行棒 automation `cce748b8`。
|
||||
- **设计要点(已定项)**:实例侧 SDK **长轮询拉取**(保持"拨出式",⛔ 平台不打进实例、⛔ 不需实例可寻址、⛔ 不新增凭据);
|
||||
`speak.check` 同步(带 deadline)· `event.deliver` 异步(不阻塞消息流);
|
||||
超时缺省**放行**(与同进程 `binding.ts` 口径逐字一致,⛔ 不新增"不可达即冻结房间")+ 具名计数;契约可声明 `onTimeout:'deny'`(回合制必须声明);每实例有界队列,满则丢最旧并计数。
|
||||
- **口径同步 3 处**:09 §10.4/§10.5/§12.5 · `交付物/IM插件跨进程桥-20260925.md §5/§6` · `交付物/插件对接答复件-20260926.md §0`。
|
||||
- 🔴 **实测发现**:`p36c-platform-versioning` 会话持 `src/web`、`aliyun-dsh-server/交付物`、`.workbuddy`、`05-交接单` 域
|
||||
⇒ 执行棒必须先 `preflight-lock.sh`;`src/web` 未释放时**先做不冲突部分**(新文件/文档),`routes/im.ts` 放最后。
|
||||
- **教训(沿用)**:跨进程能力的**单测替代不了真 HTTP 验收**(本线 09-26 已实证一次)。
|
||||
|
||||
## 插件投放与分库线 · 第 36 棒续作三 · 拍板落地棒(2026-09-26 06:36)· 会话 `p36d-platform-versioning`
|
||||
|
||||
### 拍板原话(用户本人 · 06:36)
|
||||
|
||||
「**C 方案,然后B,这次就用版本更新机制去更新网络上各节点,子节点和设备**」
|
||||
|
||||
### 口径(⛔ 别被方案里的层名混淆)
|
||||
|
||||
- 用户说的 **C 案** = 层 A(止血 20 s↔300 s/按大小动态/重试退避/失败留痕)+ 层 B-1~B-4(版本目录化/channel 灰度/定向钉版/**设备纳入**)。
|
||||
- **随后做** 的 **B 案** = 层 B-5(全局版本矩阵视图)。
|
||||
- **层 C 跨区拓扑本次不做**(属覆盖网络线架构层),但实现须**兼容**其口径:每区 Manager 各持内容源、节点只向本区拉、同版本号须字节一致。
|
||||
- **收尾必须真跑一次分发**:`[email protected]`(含以后版本)→ **47 本机 worker + 106 子节点 + 设备(桌面端)**,读数验证(`w-106` 对账快照 `stale`/`failed` 清空)。
|
||||
- 🔴 **执行棒第一件事 = 取证设备(桌面端)侧载体**(承缺陷 D6「设备不在分发链上」):桌面端有无「包/插件目录 + 拉取入口」、凭据走哪条。**有 ⇒ 按同一对账协议接入;没有 ⇒ 具名报告缺口 + 给最小接入方案,⛔ 不硬造。**
|
||||
|
||||
### 产出(本棒只做记录落地,⛔ 未改 `src/**`)
|
||||
|
||||
- 唯一执行单 `交付物/版本管理与包更新机制-现状与方案-20260926.md`:§5 改为「🔴 已拍板」+ **§8 执行棒细化**(§8.1 S1→S4 顺序表/§8.2 未知项三条/§8.3 既有纪律)⇒ 14,893 B。
|
||||
- 入口 `接续入口_插件投放与分库线_20260922.md`:§0 落 06:36 拍板行(最新一行 = 执行依据)+ §2 落「续作二/续作三」注 ⇒ 343,592 → **已含两节**,977 → 986 行。
|
||||
- `$DOC/05-交接单/README.md §一` 第 44 行(04 单状态行)追加 06:36 拍板 + §8 细化 + 执行棒登记。
|
||||
- ✅ **执行棒 automation = `da73ab87-fb2f-47f0-a8d8-8ea3ad35eb19`**(一次性 · `2026-09-26T06:52`);本线入口 automation `35e1bfbc-…` 保持 `PAUSED`。
|
||||
|
||||
### 🔴 本棒事故(已自愈 · 值得进技能)
|
||||
|
||||
`tmp/p36/patch-c3.py` 步 1 成功(交付件 §5/§8 落盘),步 2 报 `TypeError: sequence item 11: expected a bytes-like object, str found`(`NEW0` 漏 `.encode("utf-8")`)。**真正的伤害不在那行 TypeError** —— 复合式 `open(P,"wb").write(b"\n".join(parts))` 的求值顺序是 **先 `open()`(立即截断!)→ 再求值 `join()`**,join 抛错 ⇒ **入口被清成 0 字节**。
|
||||
|
||||
- **发现方式**:事后 `wc -c` 得 `0`(若只看脚本 traceback 只会以为"没写进去")。
|
||||
- **复原**:`git checkout -- <入口>`;HEAD 版 = **341,330 B / 968 行**、含 06:29 规划棒行、且远端对账 `0 0` ⇒ **无损**;复原后 `git hash-object` == `git rev-parse HEAD:<file>` = `1d44073b…`。
|
||||
- **判据(新增铁律)**:改共享文件**只准** Edit 精确片段替换,或「**先算全量 bytes 再一次性写**」;⛔ **禁用 `open(...,"wb").write(表达式)` 复合式**(表达式求值前文件已被清空)。同源风险:**任何"写前先 open 再算内容"的写法**都有此坑。
|
||||
- ✅ **补救**:改用 Edit 工具做三处插入(入口 §0/§2、README §一),不再走整文件覆盖。
|
||||
|
||||
### 边界
|
||||
|
||||
⛔ 未改 `D:/github/dsh_shenxian/src/**` 一行(只读取证);⛔ 未 ssh 真机做任何变更(本棒纯记录落地 + 收口);⛔ 未碰他线 `src/web`·`routes/im.ts`。
|
||||
|
||||
Reference in new issue
Block a user