docs(plan): P3 Task 5 审查移交的 Task 6 汇流契约底本
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -113,6 +113,7 @@ tests/integration/import-*.test.ts
|
||||
|
||||
- [ ] 失败测试:mini.xml register→import 全链:site/connection/snapshot→job→terms(2+自建0)→content_entries(**3**:post/product/page——attachment 不建,前置事实 11)→media(2+对拍)→routes(首页+2列表+3内容+2媒体 asset+2 attachment 301+tags…)→报告(各计数+**清洗统计**+版本块+冲突/失配清单);**published_revision_id 全 NULL**(导入不发布断言);**mapConfig.locale=site.default_locale 接线断言**(前置事实 8)
|
||||
- [ ] **Task 3 审查移交的编排义务**:① NULL-entry 占位行收编(content-writer 六列分支 UPDATE 挂 entry——精确位置已标注在代码缝注释)② 多写入器 counts 按**求和**聚合(import.service 现为⊕覆盖——键名全局唯一已 JSDoc 契约化;编排层改或约定各写入器键前缀,二选一定死)③ 写入器 identity 参数共享基类型(Pick<ImportJobContext,…>)防漂移 ④ stale 回收(已在清单)⑤ REPORT_WRITE_FAILED 测试补 ⑥ wp:attachment 双写入方单一 owner 决策(content-writer record-only 足迹 vs media-writer——媒体域归 Task 4,编排广播时 media-writer 消费 attachment 行、content-writer 只留 record 足迹,Task 6 定分派规则)
|
||||
- [ ] **Task 5 审查移交的汇流契约(Task 6 实现底本)**:事件期**严格串行 await** 分派 `content.handleEvent → term → media → route`(三家锚点都查 content 同事件产物,禁 Promise.all);finish 期唯一硬序 `await media.finish()` **先于** `route.finish()`(attachment 反查与 asset 全表读 media_assets);term/content finish 同步无库依赖任意位置。**测试 fullPipeline(import-routes.test.ts)即抄写底本**。Task 7 度量备注:routesCollisions 重跑如实再现非缺陷;WP 首页=page 场景的首页冲突 issue 有既定解释;真实规模 ~2815 route 行 ~9300 RT——**DB 须同机/近端跑并记录耗时**,超预期先加 `(site_id,host,collision_key)` 与 `media_assets(source_id)` 两索引
|
||||
- [ ] 报告落 artifacts/import/<jobId>/reports/import.json+html(沿用 Plan 2 Task 6 报告纪律:动态文本转义/错误封顶/清洗统计入报告)
|
||||
- [ ] stale 回收:超时 running → stale 置位与心跳列决策(ADR-017)
|
||||
- [ ] 绿 → commit `feat(import): 全链编排与导入报告`
|
||||
|
||||
Reference in New Issue
Block a user