Problem
From verification of #49 + #53 cluster (PR #58):
「Cluster-PR relatedness criterion 弱:#49 (docs) + #53 (jq fix) 是 unrelated #47 follow-ups,non-overlap file/skill。建議在 references/batch-and-cluster.md formalize "cluster-PR eligibility = same-file OR same-skill OR same-root-issue (chain only)"」
— Source: team:devils-advocate (MEDIUM)
PR #58 用 cluster-PR 把 #49 (usecase-routing.md docs) 和 #53 (idd-all-chain/SKILL.md jq filter) 共用 1 PR。但兩 issue:
DA 反論:reviewer 在 1 PR 看 2 個改動,default mental model 「他們相關」,找不到關聯就 cognitive cost ↑。對比 2 個 atomic PR 可能總成本更低。
但 split 太多會 explode review queue。需要 formalize criterion。
Type
refactor (convention / discipline)
Priority
P3 (process improvement)
Strategy
在 plugins/issue-driven-dev/references/batch-and-cluster.md 加一段 「cluster-PR eligibility criteria」:
## Cluster-PR eligibility (when to bundle vs split)
Cluster-PR mode (`/idd-implement #N #M --pr`) 應在以下情境使用:
| Criterion | Meets? | Example |
|-----------|--------|---------|
| Same-file | ✓ | #34, #36 都改 `src/cluster.ts` |
| Same-skill | ✓ | 都動 `idd-implement` 各 step |
| Same-root-issue (chain mode only) | ✓ | `/idd-all-chain #N` 衍生 spawn |
| Same parent label (e.g. #47 follow-up) | ✗ | 通常太弱 — 改用 atomic PR |
| Same PR review timing | ✗ | 共用 PR 純省力,不省 review |
「Same parent label 但 file/skill 不重疊」屬 borderline — 若 review surface < 50 lines 可接受,> 50 lines 拆 atomic。
Acceptance
Related
Source: surfaced during /idd-verify --pr 58 (cluster #49 #53), Step 5b triage. Master report: #58 (comment)
Problem
PR #58 用 cluster-PR 把 #49 (
usecase-routing.mddocs) 和 #53 (idd-all-chain/SKILL.mdjq filter) 共用 1 PR。但兩 issue:DA 反論:reviewer 在 1 PR 看 2 個改動,default mental model 「他們相關」,找不到關聯就 cognitive cost ↑。對比 2 個 atomic PR 可能總成本更低。
但 split 太多會 explode review queue。需要 formalize criterion。
Type
refactor (convention / discipline)
Priority
P3 (process improvement)
Strategy
在
plugins/issue-driven-dev/references/batch-and-cluster.md加一段 「cluster-PR eligibility criteria」:Acceptance
batch-and-cluster.md補 eligibility sectionidd-implement/idd-all-chainskill 指過來Related
Source: surfaced during /idd-verify --pr 58 (cluster #49 #53), Step 5b triage. Master report: #58 (comment)