Skip to content

[finding] MCP enable_pr_auto_merge 对已全绿(clean)PR 只武装不入队且返回空字段 —— 三例实测 + 可靠检测签名 + 处方,建议固化进 pm-dispatch 运维注记 #6207

Description

@baozhoutao

发现于 identity 车道 PM 循环(session_01JwwiU9bjhwy2SWj13ho8uv,2026-08-06/07),三例实测,记录为 finding(工具行为在平台侧,仓内可做的是把检测签名与处方固化进 .claude/skills/pm-dispatch/SKILL.md 的 Operational notes,防每个新 PM 会话重踩)。

现象

checks 已全绿、mergeable_state: clean 的 PR 调用 mcp__github__enable_pr_auto_merge:

  • 返回值为空字段形态:method: , enabled at (对照正常形态 method: MERGE, enabled at <时间戳>);
  • auto-merge 被武装(后续 disable 成功返回,反证武装生效);
  • 但 PR 不会自动入队,无 added_to_merge_queue 事件,无限期停在「绿后等待入队」。

checks 尚在跑(blocked) 的 PR 调用同一工具:返回完整字段,行为正常(绿后自动入队)。

三例(全部同会话一手实测)

PR 空字段 enable 处方生效
#6034 08-06 22:34Z(武装未入队 ~1h) 23:35Z disable→enable 翻转 → 入队 → 队首 → 00:03Z 前落地
#6092 08-07 ~01:05Z 当场翻转 → pr-6092 队列分支确认 → 落地
#6197 08-07 ~10:45Z 当场翻转 → pr-6197 队列分支确认 → 10:5xZ 落地

对照组(blocked 状态 enable,完整字段、零问题):#6086(20:00:29Z)、#6067(20:04:44Z)、#6107(02:21:25Z)。

检测签名与处方(已三次实证)

  • 签名:enable 返回空字段 ⇒ 大概率武装未入队;辅助判据 = 队列分支(git ls-remote --heads origin 'refs/heads/gh-readonly-queue/*')无 pr-<n>(注意 max_entries_to_build 截断,分支缺席单独不充分,SKILL note 1 两读数照旧)。
  • 处方:disable_pr_auto_mergeenable_pr_auto_merge 翻转一次,随后以队列分支出现为准验证。三例三中。
  • 代价参照:docs(adr-0094): sys_capability 行按 curated/derived 两半修正 label/description 的刷新口径 (#5935) #6034 首例在识别出签名之前静默停摆约 1 小时(叠加当日队列停滞共 ~6h)。

建议(不预设归属,交分诊)

  1. 把「空字段签名 + 翻转处方」补进 pm-dispatch SKILL 的 Operational notes(devx/docs 面,XS);
  2. 如条件允许向 GitHub MCP server 上游报告(clean PR 的 enablePullRequestAutoMerge 走了 graceful-failure 分支但未转 enqueue)。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions