Skip to content

自动导演支持暂停后恢复与实时执行进度 - #145

Open
bighuixiang wants to merge 3 commits into
ExplosiveCoderflome:mainfrom
bighuixiang:codex/pr-auto-director-pause-resume
Open

自动导演支持暂停后恢复与实时执行进度#145
bighuixiang wants to merge 3 commits into
ExplosiveCoderflome:mainfrom
bighuixiang:codex/pr-auto-director-pause-resume

Conversation

@bighuixiang

Copy link
Copy Markdown

依赖关系

本 PR 依赖 #144。请先合并 #144;在其合并到 main 后,本 PR 的差异会自动收敛为暂停恢复、实时进度与合同延后同步修复。

问题

暂停后恢复请求虽然能够写入状态,但重复请求、失败重试、卷纲合同延后和跟进页面实时状态之间存在断点,用户可能看到自动推进中却不知道后台是否真正继续。

本次处理

  • 为暂停动作加入同一幂等键串行保护、processing 状态、失败重试和过期租约接管,避免重复取消并允许中断后安全恢复。
  • 统一取消后的最近检查点恢复路径,保留已保存产物和可恢复状态。
  • defer_and_continue 在全量同步和范围同步下都会记录完全缺失的合同;仍匹配的数据库合同会保留,规划发生实质变化时进入可修复状态。
  • 跟进中心在 queued/running 状态下持续刷新列表与详情,恢复后能看到章节、心跳和流水线推进。

验证

  • 客户端构建通过。
  • 服务端构建通过。
  • 自动导演暂停与卷纲同步定向测试通过(36/36)。
  • 差异空白检查通过。

问题背景:章节执行合同缺失或质量门禁失败时,任务中心只能显示通用失败,用户无法准确定位章节,也无法从任务中心恢复正文生产。\n\n处理内容:\n- 为执行合同质量门禁引入结构化失败信息,保留小说、卷、章节和章序定位。\n- 在任务摘要和任务中心识别合同缺失、待复核和可恢复状态,提供章节处理页与 AI 补齐本章任务单入口。\n- 补齐目标字数与章节合同生成链路的默认和回填逻辑,兼容历史任务。\n- 增加目标字数与任务中心路由测试,确保恢复入口稳定且不依赖错误文本解析。\n\n验证:已完成客户端构建、服务端构建及相关章节合同和任务中心测试。
问题背景:暂停后恢复请求虽然能够写入状态,但重复请求、失败重试、卷纲合同延后和跟进页面实时状态之间存在断点,用户可能看到自动推进中却不知道后台是否真正继续。\n\n处理内容:\n- 为暂停动作加入同一幂等键的串行保护、数据库 processing 状态、失败重试和过期租约接管,避免重复取消并允许中断后安全恢复。\n- 统一取消后的最近检查点恢复路径,保留已保存产物和可恢复状态。\n- defer_and_continue 仅记录局部质量债;已有且仍匹配的数据库执行合同不被清空,章节规划发生实质变化时进入 needs_repair。\n- 跟进中心在 queued/running 状态下持续刷新任务列表和当前详情,显示心跳、章节和流水线推进,恢复后页面不再停留在静态状态。\n- 补充暂停、幂等、合同保留与失配、手动复核和跟进中心场景测试,并记录运行时恢复边界。\n\n验证:已完成客户端构建、服务端构建、自动导演暂停与卷纲同步定向测试(28/28),并通过差异空白检查。
问题背景:自动导演以 defer_and_continue 同步整本书时,完全缺失执行合同的章节没有进入 needs_repair;同时,数据库合同保留逻辑读取 Chapter 表不存在的边界字段,导致可复用合同被误判为不一致并被清空。\n\n处理内容:\n- 让延后同步在指定章节范围和整本书同步两种场景下都记录完全缺失的执行合同,统一进入质量债和 needs_repair 路径。\n- 将数据库合同保留判定改为比较同步前后的卷纲章节身份、目标、边界和执行约束,不再读取 Chapter 表不存在的字段。\n- 无法证明规划一致时采取安全修复路径,避免新规划与旧任务单、场景卡混用。\n- 补充全量延后同步及边界字段不在 Chapter 表时仍能正确保留合同的回归测试,并更新章节规划边界 Wiki。\n\n验证:服务端 TypeScript 构建通过;自动导演跟进与卷纲同步定向测试共 36 项全部通过;差异空白检查通过。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant