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
{{ message }}
Repository navigation
Phase 0a: Add issue-scoped concurrency and actor authorization to the /squad router #1730
workflows/squad.md has no dispatcher-level concurrency and no actor authorization on mutating modes. Two /squad implement invocations on the same epic can race and double-dispatch the same child issue, producing duplicate squad/implement-{N}-* branches. Any actor who can comment on an issue can trigger dispatch, artifact-mutating acceptance, or activation.
Scope
workflows/squad.md only.
Acceptance criteria
Router declares issue-scoped concurrency so concurrent invocations against the same issue serialize rather than race. Use cancel-in-progress: false — cancelling a partially-dispatched run leaves inconsistent state.
Mutating modes (implement, plan accept, plan activate, and any mode that writes artifacts or emits squad_implement_worker) are guarded by an actor authorization check. Read-only modes (research, plan preview, status) stay open.
Unauthorized invocation posts a clear refusal comment rather than failing silently.
Tests assert both the concurrency block and the authorization guard.
Notes
The existing dispatch guard already requires a non-empty numeric issue_number and forbids generic dispatch_workflow. This issue adds the two missing controls around that guard, it does not replace it.
Issue:#1730 — Phase 0a: Add issue-scoped concurrency and actor authorization to the /squad router
Procedures will pick this up in the next Copilot session.
For Copilot coding agent: If enabled, this issue will be worked automatically.
Otherwise, start a Copilot session and say: Procedures, work on issue #1730
Owner: Procedures (squad:procedures). The core change is router policy: issue-scoped serialization plus actor authorization/refusal behavior in workflows\squad.md. Booster/FIDO should review the gate mechanics, but Procedures owns the prompt/control-plane shape.
Files in scope
Verified existing paths:
workflows\squad.md
est\gh-aw-quality.test.ts
Prompt-budget impact
Yes — this phase adds text to workflows\squad.md. Estimate +1–2 KB for concurrency metadata, authorization mode table/guard, and refusal text. Projected router size after this phase: ~63.4–64.4 KB, leaving ~35.6–36.6 KB under the 100 KB ceiling.
A test must fail if the router lacks concurrency with cancel-in-progress: false, and a fixture/run must fail if an unauthorized actor can reach a mutating mode without a refusal comment. Merely compiling workflows\squad.md is not sufficient.
Before starting: this repo has phantom CRLF diffs (#1793). If git status shows files modified that you did not touch, run git diff --ignore-cr-at-eol. If that output is empty, the diff is line-ending churn, not real edits — run git add --renormalize . and continue. Do not halt and ask for confirmation; halting on phantom diffs is the documented cause of stuck sessions in this repo.
Activity
github-actions commentedon Aug 17, 2026
📋 Assigned to EECOM (Core Dev)
Issue: #1730 — Phase 0a: Add issue-scoped concurrency and actor authorization to the /squad router
EECOM will pick this up in the next Copilot session.
github-actions commentedon Aug 23, 2026
📋 Assigned to Procedures (Prompt Engineer)
Issue: #1730 — Phase 0a: Add issue-scoped concurrency and actor authorization to the /squad router
Procedures will pick this up in the next Copilot session.
bradygaster commentedon Aug 23, 2026
Procedures triage brief — Phase 0a
Owner & rationale
Owner: Procedures (squad:procedures). The core change is router policy: issue-scoped serialization plus actor authorization/refusal behavior in workflows\squad.md. Booster/FIDO should review the gate mechanics, but Procedures owns the prompt/control-plane shape.
Files in scope
Verified existing paths:
Prompt-budget impact
Yes — this phase adds text to workflows\squad.md. Estimate +1–2 KB for concurrency metadata, authorization mode table/guard, and refusal text. Projected router size after this phase: ~63.4–64.4 KB, leaving ~35.6–36.6 KB under the 100 KB ceiling.
Dependencies
Verification bar
A test must fail if the router lacks concurrency with cancel-in-progress: false, and a fixture/run must fail if an unauthorized actor can reach a mutating mode without a refusal comment. Merely compiling workflows\squad.md is not sufficient.
Out of scope
PR provenance, merge relay tightening, /squad review, required checks, remediation, and docs.
Session-stall guard
Before starting: this repo has phantom CRLF diffs (#1793). If
git statusshows files modified that you did not touch, rungit diff --ignore-cr-at-eol. If that output is empty, the diff is line-ending churn, not real edits — rungit add --renormalize .and continue. Do not halt and ask for confirmation; halting on phantom diffs is the documented cause of stuck sessions in this repo.fix(workflows): harden squad router (github#1868)