diff --git a/docs/superpowers/plans/2026-10-21-slice-build-preview-phase4.md b/docs/superpowers/plans/2026-10-21-slice-build-preview-phase4.md index db3a72f..c644e3a 100644 --- a/docs/superpowers/plans/2026-10-21-slice-build-preview-phase4.md +++ b/docs/superpowers/plans/2026-10-21-slice-build-preview-phase4.md @@ -48,7 +48,7 @@ scripts/sf.ts # + content:publish / build:create / preview:star - [ ] 实现:`publishSiteContent(db,{siteKey, dryRun, confirmToken, actor})`——查询起点 `entry_locales.current_revision_id IS NOT NULL AND (published_revision_id IS NULL OR published_revision_id != current_revision_id)`(事务批量 UPDATE);dry-run token=随机;**actor 按 --actor 传入、缺省 super_admin@cli**(前置事实 8);P0 门禁按前置事实 8 决策不做(ADR-018 记偏离);五列锚点共享 helper 顺手抽 `apps/api/src/modules/import/anchors.ts`(三写入器改 import——零行为变更由既有测试守护) - [ ] 绿 → commit `feat(publish): 显式发布命令(dry-run/confirm/审计/站点配置首版)` -### Task 2: Render Snapshot 物化 + build job +### Task 2: Render Snapshot 物化 + build job ✅ 完成(8f42c83 + 修复 5434afe,双审通过;354 测试;审查战果:哈希链===文件字节互证、media 块 first-wins 确定性、job 复用只认 succeeded+#a 谱系崩溃回收、repeatable read 隔离探针实证。遗留 Task 5/6:stale 宣卫/幂等键事务外窗口/existsSync 出事务) **Files:** `apps/api/src/modules/build/{build.service.ts,render-snapshot.ts,build.module.ts}`;sf.ts + `build:create`;Test `tests/integration/build-snapshot.test.ts`