Skip to content

[PR Flow] pr-submit 增加阶段化进度和耗时遥测 #111

Description

@liuli195

Parent

#89

详细背景

PR #107 中,pr-submit 在刷新 fragments 后继续执行,最终成功完成 PR #107 merge、main fast-forward 和本地分支清理。但中间耗时约 345 秒,用户侧只能等待最终结果,难以及时知道当前是在创建/更新 PR、等待 required checks、等待 official review、执行 auto-merge 还是 cleanup。

已有 #104 解决失败后的接手快照 v3,但本次暴露的是运行中的进度可见性问题:即使流程最终成功,长时间无阶段输出也会降低可控性;如果中途挂起,接手 agent 仍需要重新查状态。

产品解决方案

pr-submit 增加阶段化进度和耗时遥测。它不新增公开入口,不改变成功/失败权威,只让唯一默认入口在长流程中持续报告自己正在做什么。

用户视角:运行 pr-submit 时能看到稳定阶段:local fragments、PR create/update、PR Evidence、official review、required checks、ready-for-review、auto-merge、merged wait、cleanup。每个阶段显示开始、完成、耗时、当前 evidence URL 或下一次等待原因。

详细技术实现方案

  1. 定义 pr-submit 阶段枚举:local_fragmentspr_upsertevidence_refreshofficial_reviewrequired_checksready_for_reviewauto_mergewait_mergedcleanup
  2. 每个阶段输出一行结构化进度:阶段名、状态、耗时、当前 PR/head、关键 URL 或阻断摘要。
  3. .local/pr-flow/status.json[PR Flow] 接手快照 v3:统一云端失败接手接口 #104 v3 snapshot 增加运行中 current_phase / last_progress_at,失败时保留最后阶段。
  4. 等待 required checks / official review 时,定期输出当前 pending context 和 target URL,避免长时间静默。
  5. 成功结束时输出最终摘要:PR number、mergedAt、merge commit、main sync、branch cleanup。
  6. 增加测试:成功路径阶段顺序、required checks pending 重复进度、失败时最后阶段进入接手快照、不会新增公开命令。

Acceptance criteria

  • pr-submit 长流程有阶段化进度输出。
  • 每个阶段记录耗时和关键 evidence URL。
  • 等待 required checks / official review 时不会长时间无输出。
  • 失败接手快照能看到最后停留阶段。
  • 不改变 pr-submit 作为唯一默认入口。

Blocked by

#104 - 如果接手快照 v3 已实现,运行中进度应复用其字段或兼容其 checkpoint 语义。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:P2Medium priority: efficiency or operator-experience improvementready-for-agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions