Skip to content

refactor: 统一 PR 创建与外部绑定事实 #929

Description

@CodeCasterX

问题摘要 / Issue Summary

统一 PR 创建与外部绑定事实

详细描述 / Detailed Description

定义唯一、结构化、可验证的 PR delivery/binding fact,明确区分 PR identity、绑定验证和是否由当前操作创建,并原子切换创建、发现、绑定、验证与完成流程。

相关背景 / Related Context

N/A

影响评估 / Impact Assessment

N/A

补充信息 / Additional Information

N/A

任务输入

来源

  • 用户要求确认本地无重复任务后,根据 ../tmp-tasks/20260828-compat-04-pr-delivery-binding-fact.md 创建任务和 Issue。
  • 原临时记录来源兼容项:C12。

已确认事实与证据

  • 本地 active、blocked、completed 任务中未发现相同标题、兼容项编号或等价任务输入。
  • .agents/skills/complete-task/reference/external-delivery.md 仍将 pr_status: created 定义为兼容 shim。
  • lib/platform/pull-requests.ts 对新建 PR 和外部发现或绑定 PR 仍写入同一 created 状态。
  • GitHub refactor: 简化 commit、create-pr 与 complete-task 流程 #906 已简化 delivery lifecycle,但明确保留该残余 shim,因此本任务是 follow-up。

约束

  • 不重新引入 refactor: 简化 commit、create-pr 与 complete-task 流程 #906 已删除的 commit intent/finalization 双轨。
  • 不改变 GitHub PR 本身的 open、closed、merged 状态模型。
  • 不把附属平台同步失败升级为撤销已成功主动作。
  • 不得通过长期双写旧 pr_status: created 与新字段过渡。
  • 当前 active task 无法唯一迁移时必须失败关闭或要求显式重新绑定,不从自然语言日志猜测。

已确认决策

  • 用户已确认该记录应恢复为本地受跟踪任务并级联创建 Issue。

候选与否决方案

验收标准

  • 新建 PR 与绑定已有 PR 产生同一套明确、可验证的当前 delivery fact,不依赖 Activity Log 补推语义。
  • complete-task 只读取结构化事实和远端验证结果,不再依赖 pr_status: created 的兼容解释。
  • 所有当前 writer 与 reader 在同一变更中切换,仓库不存在旧新双写。
  • 无法唯一迁移的存量任务获得明确操作指引,不被静默猜测或误判为已交付。
  • taskless、prFlow=disabled、PR required 等现有策略行为保持清晰且测试通过。

未决事项

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions