Skip to content

Phase 0a: Add issue-scoped concurrency and actor authorization to the /squad router #1730

Closed

Description

@bradygaster

Parent: #1729

Problem

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.

Activity

  1. added
    squadSquad triage inbox — Lead will assign to a member
    on Aug 17, 2026
  2. github-actions commented on Aug 17, 2026

    @github-actions
    Contributor

    📋 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.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    EECOM, work on issue #1730

  3. added
    triagedIssue has been triaged
    wave:1-nextWave 1 — immediate next sprint
    wave:3-laterWave 3 — backlog, future
    and removed
    wave:1-nextWave 1 — immediate next sprint
    on Aug 20, 2026
  4. github-actions commented on Aug 23, 2026

    @github-actions
    Contributor

    📋 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.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Procedures, work on issue #1730

  5. bradygaster commented on Aug 23, 2026

    @bradygaster
    CollaboratorAuthor

    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:

    • 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.

    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 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.

  6. added a commit that references this issue on Aug 25, 2026
    078b545
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    gh-awGitHub Agentic Workflows integrationgo:spec-readyReady for formal spec/proposalpriority:p1This sprintsquadSquad triage inbox — Lead will assign to a membertriagedIssue has been triagedtype:choreMaintenance, refactoring, cleanupwave:3-laterWave 3 — backlog, future

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions