feat: Issue Assignment & Auto-Triage for Squad Members#5
Merged
bradygaster merged 2 commits intobradygaster:mainfrom Feb 10, 2026
Merged
Conversation
- Add 3 GitHub Actions workflow templates (sync-squad-labels, squad-triage, squad-issue-assign) - Update index.js to copy workflow files during init/upgrade - Update coordinator prompt with issue awareness at session start - Update routing template with issue routing rules - Update README with issue assignment documentation - Add 5 new tests for workflow copy functionality Closes bradygaster#4
- Keep upstream v0.2.0 What's New section alongside our Issue Assignment section in README - Restore test/index.test.js (deleted upstream) with our workflow tests - Fix upgrade tests to simulate older version (upstream added version-check short-circuit)
bradygaster
added a commit
that referenced
this pull request
Feb 10, 2026
This was referenced Feb 12, 2026
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a new "Mambo bradygaster#5" universe inspired by the Lou Bega song, featuring 7 characters each mapped to development roles: - Monica (Lead) - "A little bit of Monica in my life" - Erica (Developer) - "A little bit of Erica by my side" - Rita (Tester/Reviewer) - "A little bit of Rita is all I need" - Tina (Prompt Engineer/Scribe) - "A little bit of Tina is what I see" - Sandra (Designer/DevRel) - "A little bit of Sandra in the sun" - Mary (Security) - "A little bit of Mary can move my data safely" - Jessica (DevOps) - "A little bit of Jessica is what I need" Changes: - Added "Mambo bradygaster#5" to allowlist_universes in all casting policy templates - Set universe capacity to 7 (matching the song's characters) - Added character definitions with themed personalities and backstories - Updated UniverseId type to include 'mambo-five' Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a new "Mambo bradygaster#5" universe inspired by the Lou Bega song, featuring 7 characters each mapped to development roles: - Monica (Lead) - "A little bit of Monica in my life" - Erica (Developer) - "A little bit of Erica by my side" - Rita (Tester/Reviewer) - "A little bit of Rita is all I need" - Tina (Prompt Engineer/Scribe) - "A little bit of Tina is what I see" - Sandra (Designer/DevRel) - "A little bit of Sandra in the sun" - Mary (Security) - "A little bit of Mary can move my data safely" - Jessica (DevOps) - "A little bit of Jessica is what I need" Changes: - Added "Mambo bradygaster#5" to allowlist_universes in all casting policy templates - Set universe capacity to 7 (matching the song's characters) - Added character definitions with themed personalities and backstories - Updated UniverseId type to include 'mambo-five' Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Sync changes from original Squad repository (upstream) including: - v0.8.24 release with ADO adapter, CommunicationAdapter, SubSquads - Azure DevOps platform adapter for enterprise - CommunicationAdapter for platform-agnostic agent-human communication - Workstreams renamed to SubSquads - Security hardening and ESM runtime fixes - Various documentation improvements and bug fixes This brings Squadro-5 up to date with upstream main branch while preserving the Mambo bradygaster#5 universe additions.
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 9, 2026
Update the "What is Squadro-5?" section to properly attribute Squad as the original project. Squadro-5 is now clearly positioned as a fun fork with a single tongue-in-cheek addition (the Mambo bradygaster#5 universe) rather than claiming to be a new or superior product. Changes: - Add direct link to original Squad repository - Clarify that Squad provides the core functionality - Add humble closing: "No new features, no superiority claims — just a playful addition to an already great tool" - Ensure proper attribution to Brady Gaster's original project This maintains transparency about Squadro-5 being a playful tribute rather than an improvement upon the original Squad. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced Mar 14, 2026
jagilber
referenced
this pull request
in jagilber/squad
Mar 15, 2026
Subagent sessions can trigger context compaction but the coordinator never subscribes to compaction events. The UI sees a 'busy' agent with no indication of degraded state. Needs verification. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jagilber
referenced
this pull request
in jagilber/squad
Mar 23, 2026
…compaction (#5) Add 12 new RED tests proving two bugs exist: - hung-agent-watchdog.test.ts (5 tests, 4 RED): spawnSingle() has no timeout on createSession — hangs forever. SessionPool health check doesn't detect stuck active sessions. Idle checker marks agents idle but doesn't abort hung operations. - subagent-compaction.test.ts (7 tests, all RED): aggregateSessionEvents doesn't subscribe to compaction events. spawnSingle doesn't wire up event aggregation for spawned sessions. SquadEventType missing compaction event types. No per-agent context utilization tracking. Fix vitest config: add deps.inline for @github/copilot-sdk and resolve.alias for vscode-jsonrpc/node to fix ESM subpath resolution. This unblocks 15 test files that previously couldn't load. Update PR draft with new test counts and results. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
atuannguyen1101
pushed a commit
to atuannguyen1101/squad
that referenced
this pull request
Mar 24, 2026
Implements Sprint 2 self-improve pair (Issues bradygaster#2 and bradygaster#5). ## Proposals Pipeline (bradygaster#2) - Risk classifier: classifyProposalRisk() categorizes proposals as auto-apply, surface-to-user, or needs-review based on category, priority, and target file sensitivity - Auto-apply engine: safely appends content to existing files in safe paths (.squad/skills/, .squad/agents/, .copilot/skills/) - Surface-to-user: formats proposals as pulse questions for human review - Effectiveness tracking: records applied proposals in effectiveness.json, checks on next auto-sage run whether same detector fired again - squad_proposals tool: new tool with create/list/update/apply operations added to ToolRegistry (6 tools total) New file: packages/squad-sdk/src/mcp/proposal-pipeline.ts ## Ceremony Execution Engine (bradygaster#5) - CeremonyRunner class: replaces simple dispatch with structured execution, builds role-appropriate prompts, collects responses, saves reports - Retrospective ceremony: built-in type with classic retro template (what went well / what didn't / what to change), enhanced with pulse data, error summaries, and applied proposal effectiveness - Manual trigger API: triggerCeremonyManually() for CLI/REPL use - Ceremony reports saved to .squad/ceremonies/retros/{timestamp}.md New files: packages/squad-sdk/src/server/ceremony-runner.ts packages/squad-sdk/src/server/ceremonies/retrospective.ts ## Integration - Both systems are aware of each other: retrospectives review which proposals were applied and their effectiveness - CeremonyConfig extended with type, trigger, and idleTimeoutMs fields - All new types exported from package index and subpath exports - No cron, no new dependencies, strict mode, ESM-only ## Tests - 47 proposal pipeline tests (risk classifier, auto-apply, effectiveness) - 28 ceremony runner tests (dispatch, prompts, reports, manual trigger) - Updated existing tools.test.ts (56 tools) - All 105 tests pass
joniba
pushed a commit
to joniba/squad
that referenced
this pull request
Mar 26, 2026
Add two scripts for Teams watchdog daily execution (bradygaster#5): - run-pipeline.ps1: Orchestrates probe → filter → extract → format via file-based I/O between steps. Stops on first failure. - watchdog.ps1: Scheduling wrapper with lockfile, heartbeat file, structured logging, and consecutive failure alerting (≥3). Uses 24h scan window (not 48h) to avoid duplicate summaries. Both scripts stay under 50 lines, composable by design. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
22 tasks
atuannguyen1101
pushed a commit
to atuannguyen1101/squad
that referenced
this pull request
Mar 29, 2026
…lti-run support Implements foundational multi-run isolation architecture: NEW FILES: - packages/squad-sdk/src/mcp/run-context.ts: RunContext interface and RunContextManager for per-run state isolation (pulseCollector, intentGraph, pendingUserQuestions, activePipelines, waitResolvers) - packages/squad-sdk/src/mcp/dispatch-utils.ts: DispatchSemaphore (max 1 concurrent sendAndWait) and safeSendAndWait wrapper with Promise.race + settled flag - TODO-MULTI-RUN.md: Comprehensive implementation checklist and landmine documentation MODIFIED FILES: - packages/squad-sdk/src/server/agent-lifecycle.ts: * Added runId field to AgentSessionEntry and ActiveSessionInfo * Session keys now use format agentName::runId for isolation * Added makeSessionKey() helper function * Updated getOrCreateSession() to accept optional runId parameter * Updated dispatch() and sendFollowUp() to use safeSendAndWait + semaphore * Added closeRunSessions() for bulk session cleanup by runId * All session map operations now use composite keys - packages/squad-sdk/src/mcp/server.ts: * Added RunContextManager import and instantiation * Creates RunContext on squad_run (currently tracked but not fully wired) LANDMINES ADDRESSED: - Landmine bradygaster#2 (sendAndWait timeout unreliable): Fixed with safeSendAndWait using Promise.race (90s timeout) + settled flag to prevent duplicate message pushes - Landmine bradygaster#5 (concurrent sendAndWait stalls backend): Fixed with DispatchSemaphore limiting to 1 concurrent call - Landmine bradygaster#4 (SessionPool.findByAgent name collisions): Avoided by using explicit session keys, not pool lookup REMAINING WORK (Phase 2): - Complete server.ts tool handler refactoring (squad_ask, squad_respond, squad_wait, squad_cancel all need runId parameters) - Wire runId through waitForResponse and pipeline callbacks - Implement auto-close sessions on pipeline completion - Fix waitForDonePulse deadlock (landmine bradygaster#1) - Update dashboard for run grouping (Phase 3) Build: Passes Tests: Pending (Phase 2 completion)
This was referenced Mar 31, 2026
Closed
9 tasks
This was referenced Apr 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds label-based issue assignment and auto-triage for squad members, enabling GitHub Issues to be routed to specific squad agents for automated work.
Closes #4
Changes
New Workflow Templates (
templates/workflows/)sync-squad-labels.yml— Reads.ai-team/team.mdroster and auto-creates/updatessquad:{name}labels via GitHub API. Triggers on push to team.md or manual dispatch.squad-triage.yml— Triggered whensquadlabel is added to an issue. Lead agent triages the issue, assigns the correctsquad:{member}label, and comments with triage notes.squad-issue-assign.yml— Triggered whensquad:{member}label is added. Acknowledges assignment and queues for the member's next Copilot session.Init Script (
index.js).github/workflows/during init (additive — skips existing files)upgradeCoordinator Prompt (
squad.agent.md)squad:{member}issues at session startRouting Template (
templates/routing.md)squadandsquad:{member}labelsDocumentation (
README.md)Tests
templates/workflows/subdirectory was added (they tried toreadFileSyncon a directory)Label Scheme
squadsquad:{name}How It Works
squadlabel to an issue → Lead triages and assignssquad:{member}