diff --git a/docs/superpowers/plans/2026-10-21-slice-import-pipeline-phase3.md b/docs/superpowers/plans/2026-10-21-slice-import-pipeline-phase3.md index 9269e14..d0d8dc1 100644 --- a/docs/superpowers/plans/2026-10-21-slice-import-pipeline-phase3.md +++ b/docs/superpowers/plans/2026-10-21-slice-import-pipeline-phase3.md @@ -85,7 +85,7 @@ tests/integration/import-*.test.ts - locale 语义:row.locale 必须匹配站点 default_locale 或显式支持列表——未知 locale 记错误跳过(Plan 1 纪律) - [ ] 实现 + 绿 → commit `feat(import): 内容稳定身份写入` -### Task 4: 媒体登记(魔数/隔离/对拍) +### Task 4: 媒体登记(魔数/隔离/对拍)✅ 完成(ed081ec + 加固 7e6ce91,双审通过;310 测试;三级对拍含侧车扁平名候选/两阶段 usage 双序一致/SVG quarantine 不建 usage/幂等定向冲突;加固:manifest 形态守卫/侧车门控/约束名精确认领(constraint_name 实证)/窗口边界。Task 7 度量口径已固化计划) **Files:** `media-writer.ts` + `magic-bytes.ts`;Test `tests/integration/import-media.test.ts` @@ -123,6 +123,7 @@ tests/integration/import-*.test.ts - [ ] register 真实 WXR + 媒体目录(`D:/project/cms/storage/media/54f91c49-*` 只读副本到 storage/incoming——**实测约 171MB/2625 文件**(评审勘误:非 500MB,勿拷错站点目录),耗时记录)+ **Task 0 侧车** → sf import - [ ] 验收断言:content_entries=**192**(129+48+15);media_assets=侧车+清单命中数(报告对照 855 attachment 的三级分布);source_records=1122;terms=451+自建数(对照冒烟 807 引用覆盖);routes 计数与处置分布报告;**二导 0 新修订**;数据库行数与导入报告逐项一致 +- [ ] **Task 4 审查移交的度量口径**:mediaRegistered 只计首跑插入——838 命中数必须来自干净库首跑;missing/quarantined/dangling 重跑如实再现;**quarantined/unsupported 资产的引用不落任何 count 桶**(非 dangling 非 usage)——"侧车 23 悬空"对拍时勿期望它们在 mediaDanglingRefs 里(只能经 mediaQuarantined/issues 可见) - [ ] 内存/耗时记录;证据文档;commit `test(evidence): 阶段3真实全量导入验收` - [ ] 任何计数不符 → 如实报告停下分析(同 Task 8 纪律)