Skip to content

[infra] PR merged → Multica issue 自动推 done(解决 in_review 积压) #236

@yujiawei

Description

@yujiawei

背景

2026-05-10 Coda 盘点 Multica 时发现 132 条 in_review issue(从 2026-04-30 到 2026-05-10),对应的 PR 全部已 merged,但 Multica 里状态从来没有回到 done。

根因:v6.2 派单链 todo → in_progress → in_review → done 的最后一跳缺自动化。Echo bot 只广播 issue 状态变更,不订阅 GitHub PR merged 事件。Coda 也没形成 manual cleanup 习惯,导致 in_review 成"已完成但没人收尾"的积压池。

清理方式见 Nowledge Mem 1c75894b-1c95-4b1c-b329-f501f8f1e685

需求

增加 PR merged → Multica issue 自动 done 的闭环。

方案建议(二选一)

方案 A:Echo 订阅 GitHub webhook

  1. Echo 接 pull_request.closed + merged=true webhook
  2. 解析 PR body 里的 Fixes #NNN / Closes #NNN GH issue
  3. 反查 Multica 里引用该 GH issue 的 Multica issue(通过 description 里的 https://github.com/.../issues/Ngh-issue: N 字段)
  4. 自动推 multica status done + 加 comment:"PR <owner>/<repo>#<num> merged at <time> (commit ). Auto-closed."

方案 B:派单模版强字段 + 定时对账

  1. Titan implementer 模板强制 --description 首段加 GH-PR: <owner>/<repo>#<num>
  2. 加一个 cron job(每 1h)扫描 status=in_review 的 Multica issue,通过该字段查 PR 状态
  3. 已 merged → 自动推 done

对比

A(webhook) B(cron 对账)
实时性 秒级 小时级
依赖 GitHub webhook 到 Echo 的基础设施 只需 Multica CLI 访问权
新改动 要给 Echo 加一个 handler 派单模板约束 + 一个脚本
容灾 Echo 挂了会漏,需要补扫 cron 本身是补扫

建议 A+B 组合:A 做实时,B 每天 00:00 做 sweeper 防漏。

字段约定

所有 Titan implementer multica issue description 必须含一行(可被正则提取):

```
GH-PR: /#
```

或当 PR 还没开时先写 GH issue:

```
GH-Issue: /#
```

派单自检清单加一条 "description 是否含 GH-PR/GH-Issue 字段"。

Follow-up 相关

  • v6.2 派单 skill: ~/.openclaw/workspace/skills/dmwork-dispatch-v62/SKILL.md
  • 本次清理事件 Nowledge Mem: 1c75894b-1c95-4b1c-b329-f501f8f1e685
  • 同日新增 review 风险分级补丁(方案 C)已落到 SKILL.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions