Problem
idd-implement runs the actionability gate (Step 0.35, since 3.1.0) on the scalar $NUMBER. In cluster-PR mode (/idd-implement #34 #36 #38 --pr, v2.34.0+) the issue set SEEN_ISSUES is only parsed later in Step 0.5, so the second and later issues are never gated: an issue carrying parking-lot or a non-empty ### Blocking is still branched, written into the shared Implementation Plan comment and taken into the TDD loop. The same holds for idd-plan and idd-all cluster paths.
This is pre-existing — round 2 of PR #318 gated the same scalar from Step 2.5 — but spec R2 / R5 of actionability-gate assert coverage the cluster path does not have. The reference now states the gap explicitly and points here.
Source
Expected
Issue-set parsing (SEEN_ISSUES / ISSUE_COUNT / CLUSTER_MODE) moves ahead of the gate; the gate runs once per issue (for NUMBER in "${!SEEN_ISSUES[@]}"), and any VEXIT=1 stops the whole cluster before any branch or egress. The line-order test in scripts/tests/actionability-gate/test.sh gains a cluster assertion.
Acceptance criteria
Complexity
Plan — three skills, an argument-parsing reorder with ordering constraints, no new published API.
Problem
idd-implementruns the actionability gate (Step 0.35, since 3.1.0) on the scalar$NUMBER. In cluster-PR mode (/idd-implement #34 #36 #38 --pr, v2.34.0+) the issue setSEEN_ISSUESis only parsed later in Step 0.5, so the second and later issues are never gated: an issue carryingparking-lotor a non-empty### Blockingis still branched, written into the shared Implementation Plan comment and taken into the TDD loop. The same holds foridd-planandidd-allcluster paths.This is pre-existing — round 2 of PR #318 gated the same scalar from Step 2.5 — but spec R2 / R5 of
actionability-gateassert coverage the cluster path does not have. The reference now states the gap explicitly and points here.Source
plugins/issue-driven-dev/references/actionability-gate.md§Consumer contract.Expected
Issue-set parsing (
SEEN_ISSUES/ISSUE_COUNT/CLUSTER_MODE) moves ahead of the gate; the gate runs once per issue (for NUMBER in "${!SEEN_ISSUES[@]}"), and anyVEXIT=1stops the whole cluster before any branch or egress. The line-order test inscripts/tests/actionability-gate/test.shgains a cluster assertion.Acceptance criteria
idd-implement,idd-plan,idd-allgate every issue of a cluster before the first side effectComplexity
Plan — three skills, an argument-parsing reorder with ordering constraints, no new published API.