feat: Upgrade Squad framework from 0.8.25 to 0.10.0#323
Merged
github-actions[bot] merged 1 commit intoJun 15, 2026
Merged
Conversation
- Upgrade Squad orchestration to latest stable version (0.10.0) - New capabilities: Squad workflows, memory governance system, improved MCP integration - All team configuration preserved: team.md, agent charters, routing, decisions - Verified with 'squad-cli doctor' (9 checks passing) - All Go tests passing (79.0% coverage) Phase 0 of issue #322 implementation plan complete. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR upgrades the repository’s embedded Squad framework/templates from v0.8.25 → v0.10.0 (Phase 0 for #322), introducing updated workflow templates, new coordination docs, MCP state server wiring, and additional skills/reference material intended to improve agent orchestration in this repo.
Changes:
- Added/updated Squad templates under
.squad/templates/(workflows, lifecycle references, worktree/spawn guidance, notes protocol, triage script, etc.). - Introduced memory governance scaffolding under
.squad/memory/and expanded MCP config via.mcp.json(squad_state server). - Updated GitHub workflows and supporting config (e.g., label slugifying in
sync-squad-labels.yml/squad-triage.yml, expanded.gitignorefor Squad runtime state).
Show a summary per file
| File | Description |
|---|---|
web/dist/index.html |
Updates the embedded dashboard HTML to reference the latest built asset bundle names. |
.mcp.json |
Adds MCP server config for squad_state using @bradygaster/squad-cli@0.10.0. |
.gitignore |
Ignores additional .squad/ runtime/state output directories (logs, caches, inbox, etc.). |
.github/workflows/sync-squad-labels.yml |
Uses a slugify() helper when generating squad:{member} labels from the roster. |
.github/workflows/squad-triage.yml |
Uses slugify() for consistent squad:{member} label assignment during triage. |
.github/workflows/squad-heartbeat.yml |
Removes the previously-commented cron schedule block; keeps event-based triggers. |
.github/copilot-instructions.md |
Adds a “Coordinator Canary Check” section for detecting truncated coordinator instructions. |
.squad/casting-policy.json |
Extends casting policy to include the “Futurama” universe and capacity metadata. |
.squad/memory/config.json |
Adds Squad memory governance configuration (provider/policy defaults). |
.squad/memory/index.json |
Initializes memory index. |
.squad/memory/audit.jsonl |
Adds an audit log file placeholder (currently empty). |
.squad/templates/ralph-triage.js |
Adds a standalone triage script used by the heartbeat workflow to route issues. |
.squad/templates/scripts/notes/write-note.ps1 |
Adds a helper to write/push git-notes-based agent state with retries. |
.squad/templates/scripts/notes/fetch.ps1 |
Adds a helper to fetch/merge git notes (including a merge mode). |
.squad/templates/notes-protocol.md |
Documents the git-notes “notes protocol” conventions and conflict recovery guidance. |
.squad/templates/spawn-reference.md |
Adds spawn parameter/reference guidance for coordinator/agent spawning. |
.squad/templates/ceremonies.md |
Adds ceremony templates including an “enforcement” variant for retrospectives. |
.copilot/skills/agent-collaboration/SKILL.md |
Adds a collaboration conventions skill (worktree awareness, decision recording, etc.). |
.copilot/skills/error-recovery/SKILL.md |
Adds a standardized error recovery patterns skill. |
.copilot/skills/git-workflow/SKILL.md |
Adds a git workflow skill describing branch/worktree practices. |
.copilot/skills/reviewer-protocol/SKILL.md |
Adds reviewer rejection/lockout semantics as a reusable skill. |
.copilot/skills/secret-handling/SKILL.md |
Adds guidance on avoiding .env reads and preventing secret leakage into committed state. |
.copilot/skills/session-recovery/SKILL.md |
Adds session recovery guidance (sql/session_store) for interrupted runs. |
.copilot/skills/squad-commands/SKILL.md |
Adds a structured catalog of Squad operations intended for a help/menu experience. |
.copilot/skills/squad-conventions/SKILL.md |
Adds core conventions and constraints for Squad codebase work. |
.copilot/skills/squad-version-check/SKILL.md |
Adds internal details on Squad version stamping/upgrade mechanics. |
.copilot/skills/test-discipline/SKILL.md |
Adds a skill emphasizing keeping tests/assertions in sync with changes. |
Copilot's findings
- Files reviewed: 69/72 changed files
- Comments generated: 6
Comment on lines
+60
to
+80
| function parseRoutingRules(routingMd) { | ||
| const table = parseTableSection(routingMd, /^##\s*work\s*type\s*(?:→|->)\s*agent\b/i); | ||
| if (!table) return []; | ||
|
|
||
| const workTypeIndex = findColumnIndex(table.headers, ['work type', 'type']); | ||
| const agentIndex = findColumnIndex(table.headers, ['agent', 'route to', 'route']); | ||
| const examplesIndex = findColumnIndex(table.headers, ['examples', 'example']); | ||
|
|
||
| if (workTypeIndex < 0 || agentIndex < 0) return []; | ||
|
|
||
| const rules = []; | ||
| for (const row of table.rows) { | ||
| const workType = cleanCell(row[workTypeIndex] || ''); | ||
| const agentName = cleanCell(row[agentIndex] || ''); | ||
| const keywords = splitKeywords(examplesIndex >= 0 ? row[examplesIndex] : ''); | ||
| if (!workType || !agentName) continue; | ||
| rules.push({ workType, agentName, keywords }); | ||
| } | ||
|
|
||
| return rules; | ||
| } |
Comment on lines
+103
to
+108
| # Force-fetch: overwrite local ref with current remote state | ||
| git -C $repo fetch $Remote "${nsRef}:${nsRef}" 2>&1 | Out-Null | ||
|
|
||
| # Re-append our note on top of the now-current remote state | ||
| git -C $repo notes --ref=$namespace append -m $noteJson $Commit 2>&1 | Out-Null | ||
|
|
Comment on lines
+58
to
+62
| $namespaces = git -C $repo for-each-ref "refs/notes/squad/" --format="%(refname)" 2>&1 | ||
| foreach ($ref in $namespaces) { | ||
| $ns = $ref -replace "refs/notes/", "" | ||
| $remoteRef = "refs/notes/remotes/$Remote/$ns" | ||
| $remoteExists = git -C $repo for-each-ref $remoteRef --format="%(refname)" 2>&1 |
Comment on lines
+164
to
+169
| 4. **Push conflict recovery:** | ||
| ```bash | ||
| git fetch origin 'refs/notes/*:refs/notes/*' | ||
| git notes merge refs/notes/remotes/origin/squad/{namespace} | ||
| git push origin 'refs/notes/*:refs/notes/*' | ||
| ``` |
| **You MUST dispatch every agent spawn** via the platform's tool (`task` on CLI, `runSubagent` on VS Code): | ||
|
|
||
| - **`agent_type`**: `"general-purpose"` (always — this gives agents full tool access) | ||
| - **`mode`**: `"background"` (default) or `"sync"` — use `"background"` for all parallelizable work; use `"sync"` only when the result is needed before the next step can proceed |
Comment on lines
+51
to
+56
| | **When** | weekly | | ||
| | **Condition** | No *retrospective* log in .squad/log/ within the last 7 days | | ||
| | **Facilitator** | lead | | ||
| | **Participants** | all | | ||
| | **Time budget** | focused | | ||
| | **Enabled** | yes | |
This was referenced Jun 15, 2026
Merged
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.
Overview
This PR upgrades the Squad AI team orchestration framework to v0.10.0 as the foundational Phase 0 work for issue #322 (Improve Waza with Real Agentic/Product Capabilities).
Changes
squad-cli upgrade --forceWhat's New in Squad 0.10.0
✅ Improved Squad workflows: Updated squad-ci, squad-preview, squad-release, squad-triage, squad-heartbeat templates
✅ Memory governance system: New
.squad/memory/directory for audit trails and configuration✅ Enhanced MCP integration:
.mcp.jsonnow includes squad_state server for better agent coordination✅ Squad skills: 10 new agent capability skills (agent-collaboration, error-recovery, git-workflow, reviewer-protocol, etc.)
✅ Better agent discovery: Updated
.github/agents/squad.agent.mdwith v0.10.0 capabilitiesVerification
✅ All tests passing: 79.0% code coverage (go test ./...)
✅ Squad health check:
squad-cli doctorshows all 9 checks passing✅ Team configuration preserved:
.squad/team.md, routing, decisions, agent charters remain intact✅ No breaking changes to Go codebase or workflow behavior
What's Preserved
.squad/team.md— Roster and team configuration unchanged.squad/routing.md— Work routing rules intact.squad/casting-policy.json— Updated to v0.10.0 format (no team changes).squad/agents/*/charter.md— All agent charters preserved.squad/decisions/— Historical decisions maintainedNext Steps
This upgrade unlocks improved capabilities for Phase 1 work (Squad CI/Preview/Release workflows with real build/test steps). The foundation is now in place for:
Related Issues
Closes #322 (Phase 0 only — subsequent PRs will cover Phases 1-5)
Testing