[Sprint 21] Sync Squad coordinator and workflow templates#458
Conversation
…y and security concerns
🏗️ PR Added to Squad Triage QueueThis PR has been labeled with Next steps:
|
Test Results Summary556 tests 518 ✅ 12s ⏱️ Results for commit 14fc33d. ♻️ This comment has been updated with latest results. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #458 +/- ##
===========================================
- Coverage 87.49% 76.78% -10.71%
===========================================
Files 71 71
Lines 1775 1775
Branches 214 214
===========================================
- Hits 1553 1363 -190
- Misses 145 336 +191
+ Partials 77 76 -1 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR syncs the repository’s installed Squad templates, skills, and GitHub workflow automation to the latest Sprint 21 coordinator/framework patterns (worktree awareness, state backend tooling, expanded built-ins like Rai/Fact Checker, and updated coordination references).
Changes:
- Added/updated multiple
.squad/templates/*reference templates (worktrees, spawning, session init, ceremonies, notes protocol, Ralph/RAI/Fact Checker references). - Refreshed Squad automation workflows under
.github/workflows/*(triage, label sync/enforcement, heartbeat, promote/release/CI templates). - Added/updated Squad skills under
.github/skills/*and seeded new.squad/memory/*and casting JSON scaffolding.
Reviewed changes
Copilot reviewed 79 out of 84 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| .squad/templates/worktree-reference.md | New worktree/team-root resolution reference |
| .squad/templates/workflow-wiring-appendix-b-documenter.md | New documenter follow-up wiring walkthrough |
| .squad/templates/workflow-wiring-appendix-a-code-reviewer.md | New reviewer-gate wiring walkthrough |
| .squad/templates/spawn-reference.md | Expanded spawn/platform/state-tool guidance |
| .squad/templates/skill.md | Template formatting tweaks |
| .squad/templates/session-init-reference.md | New session-start update-check reference |
| .squad/templates/scripts/notes/write-note.ps1 | New helper for writing git notes JSON |
| .squad/templates/scripts/notes/fetch.ps1 | New helper for fetching/merging notes |
| .squad/templates/scribe-charter.md | Updated Scribe charter (state backend + archiving gates) |
| .squad/templates/run-output.md | Markdown table formatting normalization |
| .squad/templates/routing.md | Routing table template updates (adds Rai line) |
| .squad/templates/roster.md | Roster template formatting cleanup |
| .squad/templates/raw-agent-output.md | Minor markdown cleanup |
| .squad/templates/ralph-triage.js | Label slugification for roster-driven labels |
| .squad/templates/ralph-reference.md | New Ralph behavioral reference |
| .squad/templates/ralph-circuit-breaker.md | Formatting updates + minor clarity tweaks |
| .squad/templates/rai-policy.md | New RAI policy template |
| .squad/templates/rai-charter.md | New Rai charter template |
| .squad/templates/prd-intake.md | New PRD intake reference |
| .squad/templates/plugin-marketplace.md | Minor markdown cleanup |
| .squad/templates/orchestration-log.md | Markdown table formatting normalization |
| .squad/templates/notes-protocol.md | New notes protocol template (git notes backend) |
| .squad/templates/model-selection-reference.md | New model selection reference |
| .squad/templates/mcp-config.md | MCP config reference cleanup |
| .squad/templates/machine-capabilities.md | Minor formatting cleanup |
| .squad/templates/loop.md | New squad loop template doc |
| .squad/templates/keda-scaler.md | Formatting cleanup + KEDA doc tweaks |
| .squad/templates/fact-checker-policy.md | New Fact Checker policy template |
| .squad/templates/fact-checker-charter.md | New Fact Checker charter template |
| .squad/templates/copilot-instructions.md | Adds coordinator canary check + formatting cleanup |
| .squad/templates/copilot-agent.md | New doc for adding @copilot member |
| .squad/templates/cooperative-rate-limiting.md | Table formatting normalization |
| .squad/templates/client-compatibility-reference.md | New client compatibility reference |
| .squad/templates/ceremony-reference.md | New ceremony config/reference template |
| .squad/templates/ceremonies.md | Ceremony template updates (retro enforcement) |
| .squad/templates/casting-reference.md | Casting reference updates (spoiler awareness section) |
| .squad/templates/after-agent-reference.md | New after-agent-work reference template |
| .squad/memory/index.json | New memory index scaffold |
| .squad/memory/config.json | New memory config scaffold |
| .squad/memory/audit.jsonl | Memory audit log file present |
| .squad/casting-registry.json | New casting registry scaffold |
| .squad/casting-policy.json | New casting policy scaffold |
| .squad/casting-history.json | New casting history scaffold |
| .squad/agents/Rai/history.md | New Rai history scaffold |
| .squad/agents/Rai/charter.md | Rai charter file added (placeholder content) |
| .squad/agents/fact-checker/history.md | New Fact Checker history scaffold |
| .squad/agents/fact-checker/charter.md | New Fact Checker charter scaffold |
| .mcp.json | Adds MCP server config for squad state tools |
| .gitignore | Ignores .squad/.cache/ |
| .github/workflows/sync-squad-labels.yml | Label sync workflow updates + slugify |
| .github/workflows/squad-triage.yml | Triage workflow updates + slugify |
| .github/workflows/squad-release.yml | Release workflow replaced with stubbed template |
| .github/workflows/squad-promote.yml | Promotion workflow rewritten (dev→preview→main) |
| .github/workflows/squad-preview.yml | Preview validation replaced with stubbed template |
| .github/workflows/squad-label-enforce.yml | Workflow action version updates + comments |
| .github/workflows/squad-issue-assign.yml | Assign workflow updates + default-branch lookup |
| .github/workflows/squad-insider-release.yml | Insider release replaced with stubbed template |
| .github/workflows/squad-heartbeat.yml | New heartbeat workflow (Ralph auto-triage/assign) |
| .github/workflows/squad-docs.yml | Adds Pages permissions + action version bump |
| .github/workflows/squad-ci.yml | CI workflow replaced with stubbed template |
| .github/skills/tiered-memory/SKILL.md | New skill (design-only) |
| .github/skills/test-discipline/SKILL.md | Formatting cleanup |
| .github/skills/squad-version-check/SKILL.md | New skill (version/upgrade internals) |
| .github/skills/squad-help/SKILL.md | New skill (how to use Squad) |
| .github/skills/squad-conventions/SKILL.md | Formatting cleanup |
| .github/skills/session-recovery/SKILL.md | Formatting cleanup |
| .github/skills/secret-handling/SKILL.md | Formatting + regex/table fixes |
| .github/skills/reviewer-protocol/SKILL.md | Minor formatting/markdown emphasis fix |
| .github/skills/reflect/SKILL.md | New reflect skill |
| .github/skills/iterative-retrieval/SKILL.md | New iterative retrieval skill |
| .github/skills/git-workflow/SKILL.md | Formatting cleanup |
| .github/skills/error-recovery/SKILL.md | New error recovery skill |
| .github/skills/cross-squad/SKILL.md | Expanded cross-squad discovery/disambiguation |
| .github/skills/coordinator-source-of-truth/SKILL.md | New source-of-truth hierarchy skill |
| .github/skills/coordinator-response-mode/SKILL.md | New response-mode selection skill |
| .github/skills/coordinator-init-mode/SKILL.md | New init-mode protocol skill |
| .github/skills/agent-collaboration/SKILL.md | Formatting cleanup |
| - name: Build and test | ||
| run: | | ||
| mapfile -t matches < <(find . -maxdepth 1 -name '*.slnx') | ||
| count=${#matches[@]} | ||
| if [[ $count -eq 0 ]]; then | ||
| echo "::error::No *.slnx file found at the repository root." | ||
| exit 1 | ||
| elif [[ $count -gt 1 ]]; then | ||
| echo "::error::Multiple *.slnx files found at the repository root: ${matches[*]}" | ||
| exit 1 | ||
| fi | ||
| echo "SOLUTION_FILE=${matches[0]}" >> "$GITHUB_ENV" | ||
| echo "Discovered solution: ${matches[0]}" | ||
|
|
||
| - name: Restore dependencies | ||
| run: dotnet restore "$SOLUTION_FILE" | ||
|
|
||
| - name: Build (Release) | ||
| run: dotnet build "$SOLUTION_FILE" --configuration Release --no-restore | ||
| # TODO: Add your dotnet build/test commands here | ||
| # Go: go test ./... | ||
| # Python: pip install -r requirements.txt && pytest |
| - name: Build and test | ||
| run: | | ||
| # TODO: Add your dotnet build/test commands here | ||
| # Go: go test ./... | ||
| # Python: pip install -r requirements.txt && pytest | ||
| # .NET: dotnet test | ||
| # Java (Maven): mvn test | ||
| # Java (Gradle): ./gradlew test | ||
| echo "No build commands configured — update squad-preview.yml" |
| on: | ||
| push: | ||
| tags: ['v*.*.*'] | ||
| branches: [main] | ||
|
|
| - name: Build and test | ||
| run: | | ||
| dotnet build MyBlog.slnx --configuration Release --no-restore \ | ||
| -p:Version=${{ steps.gitversion.outputs.semVer }} \ | ||
| -p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} \ | ||
| -p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} | ||
|
|
||
| - name: Run tests | ||
| run: | | ||
| dotnet test tests/Architecture.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=arch-results.trx" | ||
| dotnet test tests/Domain.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=domain-results.trx" | ||
| dotnet test tests/Web.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=web-results.trx" | ||
| dotnet test tests/Web.Tests.Integration --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=web-integration-results.trx" | ||
|
|
||
| - name: Create GitHub Release | ||
| # TODO: Add your dotnet build/test commands here | ||
| # Go: go test ./... | ||
| # Python: pip install -r requirements.txt && pytest | ||
| # .NET: dotnet test | ||
| # Java (Maven): mvn test | ||
| # Java (Gradle): ./gradlew test | ||
| echo "No build commands configured — update squad-release.yml" |
| - name: Build and test | ||
| run: | | ||
| dotnet build MyBlog.slnx --configuration Release --no-restore \ | ||
| -p:Version=${{ steps.gitversion.outputs.semVer }} \ | ||
| -p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }} \ | ||
| -p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }} | ||
|
|
||
| - name: Run tests | ||
| run: | | ||
| dotnet test tests/Architecture.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=arch-results.trx" | ||
| dotnet test tests/Domain.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=domain-results.trx" | ||
| dotnet test tests/Web.Tests --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=web-results.trx" | ||
| dotnet test tests/Web.Tests.Integration --configuration Release --no-build --no-restore \ | ||
| --logger "trx;LogFileName=web-integration-results.trx" | ||
|
|
||
| - name: Create pre-release tag and GitHub Release | ||
| # TODO: Add your dotnet build/test commands here | ||
| # Go: go test ./... | ||
| # Python: pip install -r requirements.txt && pytest | ||
| # .NET: dotnet test | ||
| # Java (Maven): mvn test | ||
| # Java (Gradle): ./gradlew test | ||
| echo "No build commands configured — update squad-insider-release.yml" |
| git checkout preview | ||
| VERSION=$(node -e "console.log(require('./package.json').version)") | ||
| if ! grep -q "## \[$VERSION\]" CHANGELOG.md 2>/dev/null; then | ||
| echo "::error::Version $VERSION not found in CHANGELOG.md — update before releasing" | ||
| exit 1 |
| - name: Merge preview → main | ||
| if: ${{ inputs.dry_run == 'false' }} | ||
| run: | | ||
| git checkout main | ||
| git merge origin/preview --no-ff -m "chore: promote preview → main (v$(node -e "console.log(require('./package.json').version)"))" | ||
| git push origin main | ||
| echo "✅ Pushed main — squad-release.yml will tag and publish the release" |
| | **Trigger** | auto | | ||
| | **When** | after | | ||
| | **Condition** | build failure, test failure, or reviewer rejection | | ||
| | **When** | weekly | | ||
| | **Condition** | No *retrospective* log in .squad/log/ within the last 7 days | | ||
| | **Facilitator** | lead | | ||
| | **Participants** | all-involved | | ||
| | **Participants** | all | | ||
| | **Time budget** | focused | | ||
| | **Enabled** | ✅ yes | | ||
| | **Enabled** | yes | |
| # Rai | ||
|
|
||
| > Charter template not found in shipped templates. Run `squad upgrade` after reinstalling the CLI to repair. |
| ## Write Commands | ||
|
|
||
| ```bash |
Closes #457
Working as Boromir (DevOps / Infra)
Summary
Validation