From a96f35c854279c740ecf877d33df078c1151e888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Wed, 21 Oct 2026 13:41:51 +0800 Subject: [PATCH] =?UTF-8?q?docs(plan):=20Plan=202=20=E6=94=B6=E5=AE=98?= =?UTF-8?q?=E2=80=94=E2=80=94Task=209=20=E5=8B=BE=E9=80=89=E3=80=81?= =?UTF-8?q?=E7=BB=88=E5=AE=A1=E8=B4=A6=E6=9C=AC=E8=A1=A5=E9=81=97=EF=BC=88?= =?UTF-8?q?issues=20=E6=9C=BA=E5=99=A8=E7=A0=81=E5=8C=96/=E5=AA=92?= =?UTF-8?q?=E4=BD=93=E9=99=90=E9=A2=9D/ADR=20=E7=AC=AC=E4=B8=89=E5=A4=84?= =?UTF-8?q?=20paths=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code --- docs/superpowers/plans/2026-10-20-slice-wxr-adapter-phase2.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-10-20-slice-wxr-adapter-phase2.md b/docs/superpowers/plans/2026-10-20-slice-wxr-adapter-phase2.md index 5e39f02..aed9760 100644 --- a/docs/superpowers/plans/2026-10-20-slice-wxr-adapter-phase2.md +++ b/docs/superpowers/plans/2026-10-20-slice-wxr-adapter-phase2.md @@ -138,7 +138,7 @@ cms-one/ - [ ] Step 2: 峰值内存记录——smoke 脚本内 `setInterval(100ms)` 采样 `heapUsed` 与 `rss` 取 max(瞬时值无意义);流式断言:解析 5.5MB 文件峰值 heapUsed < 100MB(不整读) - [ ] Step 3: 耗时记录;结果写 evidence 文档;commit `test(evidence): 阶段2真实WXR冒烟通过` -### Task 9: 阶段 2 收尾 ✅ 完成(ADR-016 定稿 / typecheck 四段链 / 根 engines 升 >=22.12 / 移交阶段 3 清单 / README,同批一个 docs commit;三绿 263 不变;不 push——推送由用户执行) +### Task 9: 阶段 2 收尾 ✅ 完成(commit 2a0d830,并入 Plan 2 终审通过;ADR-016/typecheck 四段链/移交清单 9 项/README/engines>=22.12)——**Plan 2 全部 9 任务完成,终审 Ready to close: Yes** ✅ 完成(ADR-016 定稿 / typecheck 四段链 / 根 engines 升 >=22.12 / 移交阶段 3 清单 / README,同批一个 docs commit;三绿 263 不变;不 push——推送由用户执行) - [x] ADR-016(saxes/commander/sanitize-html 选型与许可证);根 typecheck 链加 @sf/adapter-wp;lint 全绿;contracts 首个消费者接线验证(adapter-wp workspace 依赖 contracts——**Plan 1 终审前瞻项落实**:import 路径用 dist 还是 src 的决策一并入 ADR-016) - [x] **Task 7 审查移交**:① connection (site_id,name) 库级唯一索引须在第二个写入方(REST 通道)出现前完成 ② media_bundle→WXR attachment URL 的映射策略(uploads 路径约定)记入阶段 3 计划输入 ③ REST 化时重审:白名单 TOCTOU、cwd 自动放行、connection.kind 枚举扩 ④ sanitize-html engines>=22.12 与根 engines>=22 的口径(升根或记 ADR)——①~④ 均已沉淀至文末"移交阶段 3 清单",④ 已落 ADR-016 决策三(根 engines 升 >=22.12) @@ -165,3 +165,5 @@ cms-one/ 5. **导入管道消费接口**——registerSource 返回值与 snapshot metadata 形状(含 storageRoot/manifest)是阶段 3 的输入契约,消费侧若需变形优先加法扩展;source_records 落库用稳定身份键(ADR-006);checksum skip 语义:changed=false → skip(报告 created/skipped 即导入前投影,spec §7.5)。 6. **续传携带:Task 0.2 cms 数据备份**(用户暂缓)——**阶段 6 L3 验收前必须补做,责任链不断**。 7. **versions.ts bump 纪律提醒**——映射表(DEFAULT_TYPE_ROUTES / STATUS_MAP / META_KEYS)或清洗白名单(SANITIZE_CONFIG)任何实质变更,须 bump 对应 MAPPING_VERSION / SANITIZER_VERSION(bump 语义 JSDoc 已冻结于 `packages/adapter-wordpress/src/versions.ts`);下游以版本块判断是否需要重新标准化(spec §7.5)。 +8. **issues 机器码化**(终审账本补遗)——RowErrorEntry/issues 现为人读字符串;阶段 3 消费侧若需按问题类型程序化分支,加法式扩展 code 字段(勿字符串匹配)。另:scanMediaDir 无文件数/总大小上限,随清单 4 的 REST 重审一并加限额。 +9. **ADR-016 权衡①补记**——paths 映射实际存三处:根 tsconfig、vitest alias、**apps/api/tsconfig.json 自带一份**(因其 extends base 而非根)——三方同步清单以 ADR-016 为准 + 此第三处。