You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Surfaced retroactively during /idd-close #73 after PR #74 auto-closed the issue 1 second post-merge via the trap pattern. See #73 closing summary's Trap meta-note section for full forensic.
Phase: closed Last updated: 2026-05-19 by idd-close
Complexity
Plan — re-routed from Simple after the idd-verify preventive PR-body scan gate was bundled into the cluster (user decision 2026-05-19).
Cluster
Part of the #87 / #74 auto-close-trap cluster (IDD PR-body templates embed literal Closes #<n> that GitHub auto-close matches context-blind). #89 closed as duplicate of #74.
Next
Closed via PR #94 (squash d2125fe).
Closing summary: #74 (comment)
Problem
IDD
idd-implementskill 的 PR body template 含 anti-trailer warning text:但 GitHub auto-close regex(
\b(closes|fixes|resolves) #(\d+)\b)不識別 context — markdown bold、quotes、「Do NOT」前綴都 ignore,literal substring match → 警告文字本身觸發它警告的行為。→ 結果:warning 自我打臉,PR merge 時 GitHub literal-match
Closes #${NUMBER}並 auto-close issue,/idd-close的 checklist gate + closing summary 被 bypass。Reproduction
實測:
/idd-implement生成 PR body 含**Do NOT add 'Closes #73'**(literal substring)2026-05-11T23:03:27Z2026-05-11T23:03:28Z(1 秒後)gh api /repos/.../issues/73/timeline顯示event: closedby kiki830621(actor 是 GitHub bot 走 user identity)/idd-close才被 invoke 時,checklist gate 已 bypass,只能 post retroactive closing summary也曾在 PsychQuant/che-apple-mail-mcp#76 PR #61 出現同 text,但因為 cross-repo(PR 在 plugin shell repo,issue 在 binary repo)GitHub auto-close 不 trigger cross-repo,該次沒踩到。Same-repo 情境必踩。
Expected
idd-implementskill 的 PR body template 改用 indirect phrasing 避免 literalCloses #Nsubstring:或 break up the substring:
(literal
'把Closes拆掉,不過讀起來醜)或 indirect by reference:
Actual
idd-implement/SKILL.md目前的 template 直接含**Do NOT add 'Closes #${NUMBER}'**,literal substring 一直在 anti-pattern。Type
bug(discipline self-defeating;skill template recursion trap)
Impact
中 — same-repo PR merge auto-close 必踩;每次 bypass 都讓
/idd-close的 checklist gate + closing summary 失效,降到 retroactive mode(audit trail 有 gap)。Cross-repo PR(submodule fix-on-shell pattern)倖免,但 same-repo 是大宗。Strategy
idd-implement/SKILL.mdStep 5.5 PR body template 的 anti-trailer warning textreferences/pr-flow.md同一段 reference(若有)gh pr view --json body | grep -E 'closes|fixes|resolves' #Nliteral substring → warn userCloses #NSource
Surfaced retroactively during
/idd-close #73after PR #74 auto-closed the issue 1 second post-merge via the trap pattern. See#73closing summary's Trap meta-note section for full forensic.Related
idd-implementskill PR body template(IDD plugin source)Refs #NvsCloses #Ndiscipline doc:plugins/issue-driven-dev/skills/idd-implement/SKILL.md"禁止用 Closes / Fixes / Resolves trailer" sectionCurrent Status
Phase: closed
Last updated: 2026-05-19 by idd-close
Complexity
Plan — re-routed from Simple after the
idd-verifypreventive PR-body scan gate was bundled into the cluster (user decision 2026-05-19).Cluster
Part of the #87 / #74 auto-close-trap cluster (IDD PR-body templates embed literal
Closes #<n>that GitHub auto-close matches context-blind). #89 closed as duplicate of #74.Next
Closed via PR #94 (squash
d2125fe).Closing summary: #74 (comment)