Agent: programmer (
programmer)
Confidence: 51%
Cost: $0.8411
Duration: 3m 33s
Task ID:63e11599-015d-478d-a442-ad92be0e5022
修改摘要
檔案: src/proactive/engine.ts (1 file, +95/-21 lines)
autoPushBlogPost() 改動:
- 延後刪除 draft —
unlink(draft)移到 Step 4(全部成功後),不再在 copy loop 中刪 - Deploy 失敗 rollback — 遍歷
publishedslugs,restore backup 或刪除已複製的 post - Slug collision 防護 — copy 前用
existsSync檢查,若已存在先copyFile到.bak - Git push 失敗 — 不 rollback deploy,通知 admin,保留 draft,提前 return
autoPublishResearchReport() 改動:
- Slug collision 防護 — writeFile 前 backup existing
.bak - Deploy 失敗 rollback — restore backup 或刪除已寫入的 post file
- Git push 失敗 — 用 try/catch 包裹 git 區塊,失敗時通知 admin 但不 rollback deploy
- Backup 清理 — deploy 成功後刪除
.bak
驗收項目:
- Draft 只在全部步驟成功後才刪除
- Deploy 失敗 → 已複製的 post 被 rollback
- Slug collision → backup existing file before overwrite
- Git push 失敗 → admin 收到通知,draft 保留
- 不使用 manifest 檔案
- TypeScript 編譯通過(
tsgo --noEmit)
—HANDOFF—
TO: reviewer
INTENT: handoff
ARTIFACT_TYPE: code-change
SUMMARY: SPEC-34 auto-publish transaction protection — deferred draft deletion, deploy rollback, slug collision backup, git failure notification