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,38 @@
|
||||
# automation `534dc721-080c-4a4b-8e72-ad48ec596c77` · 执行记录
|
||||
|
||||
> 线:**插件投放与分库线**(入口 = 工作区根 `接续入口_插件投放与分库线_20260922.md`)
|
||||
> 棒次:**第 33 棒 · 执行棒**(A 案执行棒)|`scheduledAt = 2026-09-25T19:55`|`cwds = E:/ProgramData/AIProject/aliyun-dsh-server`
|
||||
|
||||
## 2026-09-25 19:55 运行(唯一一次)· 结果 = **部分完成 · 撞待拍板 ⇒ 已置 PAUSED、未登记下一棒**
|
||||
|
||||
### 做到什么
|
||||
- A 案两项**全落地**:声明(`hot_accounts`/`account_videos` 加可空 `local_id`;`account_video_source` 正文列上限 30720⇒128000 —— ⚠️ 声明侧后半项**首轮漏落、已于 20:2x 补正**)+ `store.js` 机制(取号/折算/还原/分配/自愈回填,落点 = `normalizeRow` 与 `rowsOf` 两个唯一必经之路 ⇒ 调用方零改动)+ 迁移工具 `backfilled` 计数 ⇒ 单测 **58/58**。
|
||||
- 真机(47)只读取证三条:声明迁移预演、逐行字节现算、新口径 dry-run(`DRY_WRITE_CALLS=0`)。
|
||||
- **20:2x 补正周期**(自查发现 ⇒ 就地做实,无新决策):补齐 `dsh.data.yaml` 两处 `maxBytes: 30720⇒128000`(新指纹 `d6627f1c647a8c27`/8,351 B/183 行/CR=0),PyYAML 解析通过;并同步订正入口 §0-⑬、交付件 §2.1/§4.1/§九/§十、README §一、当日日志。
|
||||
|
||||
### 两条会改后续决策的结论
|
||||
1. **「删库重建」不必要** —— 预演 `items=2×add_column`、`forbidden=0`、`drift`;`maxBytes` 零 diff 项 ⇒ 落地 = 2 条 `ADD COLUMN`,零数据损失、无需重灌。
|
||||
2. **A 案后半段有效但不彻底** —— `account_video_source` 可上台 21→27;剩 12 行卡**平台单行 64 KiB**(`DEFAULT_QUOTA` 未覆盖、无配置口)。
|
||||
3. 🔴 **列级 `maxBytes` 平台无任何强制点**(20:2x 补正时查明)—— `schema.ts:500-515` 只做声明期校验,`runtime.ts:316-319` 写入期只查**行级** 64 KiB + **行数**配额;全仓 `grep -rn 'maxBytes' src/db/plugin-data/` 除 `schema.ts` 外零命中 ⇒ **列上限唯一把关人 = 插件侧 `store.js` 的 `COLUMN_MAX_BYTES`**;声明面改的是「自洽+文档」,不是功能开关。⚠️ 配套教训:**改声明后必须回读 yaml 实际值**(本轮就是靠回读才发现漏落)。
|
||||
|
||||
### 未做(如实)
|
||||
`S3` 剩 1 处 / `S4` / `S5` / `S6` / `S7` 全部未开工(落点现算 89 处);出包/上池/加列迁移/回填 **未执行**(须动生产 ⇒ 待拍板)。
|
||||
|
||||
### 为何不排下一棒
|
||||
撞**待拍板 2 项**:① 何时动生产做加列迁移 ② 12 行超 64 KiB 怎么处置。依用户 2026-09-17 明令「要用户拍板的,等拍了再新建接续会话」⇒ ⛔ 未登记任何接续棒;拍板到手后由用户或新会话按入口 §2 的「⏸️ 本轮动作」块重建。
|
||||
|
||||
### 下次被唤醒时要先读
|
||||
`state.py` → 入口 §0 最新行 + §2「⏭️ 本轮动作(第 34 棒)」块 → 交付件 `$WS/交付物/MCN数据面接入-阶段二-A案落地与取证-20260925.md`(§六 是 R8 清单/备份/影响面)。
|
||||
|
||||
### 🔴 后续(2026-09-25 20:38 · 待拍板已拍板 ⇒ 阻塞解除)
|
||||
用户两条拍板:**① 原话「修改完成后 一起上服务器」⇒ 落 B 案**(接线全完再一次性动生产;⛔ 不提前)· **② 原话「数据库存不下大文件吗,有没有比较好的处理方式」⇒ 技术项自决**(处方 = 先「行内压缩」、备选「正文外置」、⛔ 不抬平台行上限;⚠️ 先做一次真机只读取数再定 a/b)。
|
||||
⇒ **第 34 棒(执行棒)已登记**:automation `40d342f3-584e-46e3-a630-b589960ec859`(一次性 · `2026-09-25T20:50`);范围 = `S3` 剩 1 处 → `S4` → `S5` → 12 行正文只读取数;⛔ 出包/上池/迁移/回填不在该棒。本棒(`534dc721…`)**保持 PAUSED**、无需再唤醒。
|
||||
|
||||
### 三条环境实测(下次省时间)
|
||||
- 文档库 `dsh-server-docs` 的 Write/Edit 会被**锁钩子**拦(判据用**会话名**;不带 `DSH_SESSION_NAME` ⇒ 判"无锁")⇒ 绕法 = 走 Bash 跑 Python 精确替换(锚点计数必须 = 1 才写)。
|
||||
- 声明预演**不需要出包**:`parseDeclFromDir(pkgDir, pkgName)` + `readCurrentSchema(baseUrl, dbName)` + `diffDecl` ⇒ 纯只读(47 上编译产物在 `/opt/dshs/lib/db/plugin-data/`)。
|
||||
- `parseDeclFromDir` **⛔ 不自动探测 `dsh.data.yaml`**,只认 `package.json` 的 `dsh.data.schema` ⇒ 夹具目录必须同时放 `package.json`。
|
||||
- 托管 python venv `E:/ProgramData/.workbuddy/binaries/python/envs/default` 的 `python.exe` **是坏的**(shim 指向 `C:\Users\Administrator\.workbuddy\...`)⇒ 不可用;要装包用 `pip install --target <binaries>/python/lib-extra <pkg>`(隔离目录内,未污染用户环境),再 `sys.path.insert`。本机**无 PyYAML**,校验插件声明得走这条路。
|
||||
|
||||
### 锁
|
||||
本棒全部写入均在域锁内(首轮 11 键 → 收口释放;补正周期再抢 2 键 → 合并至 5 键 → **已 `--release-exec` 释放**,实测输出 `✓ 已释放域锁(p33-exec-plugin-dataline)`、`.locks/` 只剩 `.migrations`)。⛔ 全程未删锁 / 未接管(R9)。⚠️ 一处纪律瑕疵如实记:收口期间改入口 §0/§2 时域锁已被清(`.locks` mtime 20:10)⇒ 那两次编辑未持锁(当时 `.locks/` 已空 ⇒ 无并发冲突实际发生)。
|
||||
Reference in new issue
Block a user