Skip to content

feat: Upgrade Squad framework from 0.8.25 to 0.10.0#323

Merged
github-actions[bot] merged 1 commit into
mainfrom
spboyer/issue-322-improve-waza-with-real-agentic-product-c-577bc9
Jun 15, 2026
Merged

feat: Upgrade Squad framework from 0.8.25 to 0.10.0#323
github-actions[bot] merged 1 commit into
mainfrom
spboyer/issue-322-improve-waza-with-real-agentic-product-c-577bc9

Conversation

@spboyer

@spboyer spboyer commented Jun 15, 2026

Copy link
Copy Markdown
Member

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 version: 0.8.25 → 0.10.0
  • Command used: squad-cli upgrade --force
  • 72 files changed: 7,778 insertions, 420 deletions

What'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.json now 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.md with v0.10.0 capabilities

Verification

✅ All tests passing: 79.0% code coverage (go test ./...)
✅ Squad health check: squad-cli doctor shows 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 maintained

Next 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:

  1. Phase 1: Implement real Go build/test steps in squad workflows
  2. Phase 2: Add failure handling and triage automation
  3. Phase 3: Build recurring improvement loops (telemetry → regression tasks)
  4. Phase 4: Expand runtime observability
  5. Phase 5: Increase agent-assisted throughput with safety gates

Related Issues

Closes #322 (Phase 0 only — subsequent PRs will cover Phases 1-5)

Testing

make test    # ✅ Passing (79.0% coverage)
squad-cli doctor  # ✅ All 9 checks passing
squad-cli status  # ✅ Team configuration verified

- 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>
Copilot AI review requested due to automatic review settings June 15, 2026 14:31
@github-actions github-actions Bot enabled auto-merge (squash) June 15, 2026 14:31
@github-actions github-actions Bot merged commit 284ec6d into main Jun 15, 2026
8 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .gitignore for 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 |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Waza with real agentic/product capabilities

3 participants