41829e2665
质量复审五修(Plan 4 Task 5): - Fix 1 超时杀整棵进程树:win32 走 taskkill /PID /T /F(child.kill 只杀 pnpm.cmd 壳层,astro/vite 孤儿会继续写 dist 并占句柄);POSIX detached 进程组 + kill(-pgid, SIGKILL)。暂存 dist 预清 rm 包成 THEME_BUILD_FAILED (孤儿句柄 EPERM 不再裸抛误标 SNAPSHOT_FAILED)。 - Fix 2 五处裸抛分阶段裹码:媒体校验读回 → MEDIA_COPY_FAILED;sitemap/ robots 写、dist 拷出、目录哈希 → MANIFEST_WRITE_FAILED;service 对 building 期非 PipelineError 裸错误标 PIPELINE_INTERNAL(码位新增)。 - Fix 3 失败清残覆盖 route-manifest.json;build_artifacts 已登记行注明 审计豁免(与快照行同语义)。 - Fix 4 媒体 public_path 反斜杠拒绝(Windows 路径解析会绕过 '/'-split 的 '..' 段检测)。 - Fix 5 stat 缺席语义缩窄到 ENOENT,其余错误原样上抛。 Co-Authored-By: Claude Code <noreply@anthropic.com>