chore: Update MCP server configurations and squad export (#246)#250
Conversation
* chore: merge release-process skill review decisions, update agent histories, archive aged decisions - Merged three inbox decision entries (Aragorn/Boromir/Frodo) into decisions.md - Updated agent history files with 2026-04-12 team sync learnings - Archived pre-April-1 decisions to decisions-archive.md for operational clarity - Released context by condensing aged decision records Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * .squad: Scribe logs for Frodo release-process legacy stub Session: 2026-04-12T19:57:04Z Tasks completed: 1. Orchestration log: frodo agent release-process deprecation task 2. Session log: release-skill-legacy-stub work summary 3. Decision inbox merged: frodo-release-process-legacy-stub.md → decisions.md 4. Frodo history.md updated: Added legacy stub deprecation entry 5. Inbox file deleted after merge Outputs: - .squad/orchestration-log/2026-04-12T19-57-04Z-frodo.md (new) - .squad/log/2026-04-12T19-57-04Z-release-skill-legacy-stub.md (new) - .squad/decisions.md (appended, 92896 bytes) - .squad/agents/frodo/history.md (updated with team context) No archival needed (92896 bytes < 20KB threshold would trigger archive, but this represents 2026-04 additions; all old decisions within 30d window). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * .squad: History file summarization (aragorn, frodo, legolas, pippin) Task 7: Summarized old entries (>30d) to '## Core Context' section. Files: - aragorn: 29KB → 21KB (kept March 28+ recent entries) - frodo: 16KB → 6KB (kept April 12+ recent entries) - legolas: 14KB → 4KB (consolidated CSS, styling, theme learnings) - pippin: 12KB → 4KB (consolidated Aspire, Playwright, team rule learnings) All summarized files now <12KB threshold except Aragorn (21KB still acceptable with Core Context structure). Maintains full context while improving readability. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update MCP server configurations and squad export - Update .copilot/mcp-config.json with enhanced MCP server definitions - Add .mcp.json for MCP client integration (untracked) - Update squad-export.json with latest team metadata Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: update frodo agent history --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* scribe: Log PR flow and merge decisions inbox - Added orchestration log for Boromir PR creation/merge attempt (PR #246) - Added session log for PR workflow (squad/scribe-log-mcp-export) - Merged 3 decision inbox files into decisions.md: * Boromir: Branch strategy (dev/main model) feasibility audit * Boromir: MCP config commit safety assessment * Frodo: Documentation audit for dev/main branch model - Cleared .squad/decisions/inbox/ (all inbox files processed) This completes the spawn manifest processing for Boromir's two-pass PR flow attempt. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * scribe: Add Aragorn adoption decision to decisions.md - Merged Aragorn's comprehensive two-branch strategy assessment - Includes GitVersion.yml configuration recommendations - Provides phased implementation roadmap (Phase 1 infrastructure, Phase 2 docs) - Clearcut approval gate: requires Matthew Paulosky sign-off - All decision inbox files now processed and cleared Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implement a two-branch model where dev is the active development branch (feature PRs land via squash merge) and main is releases-only (promoted from dev via merge commit, then tagged). Infrastructure: - GitVersion.yml: add dev branch (alpha label, increment: Minor), update source-branches for feature/PR/main branches - Pre-push hook: Gate 0 now blocks both main and dev - Dependabot: target-branch set to dev for all 3 entries, fix NuGet dir Workflows: - squad-promote.yml: full rewrite — single dev→main PR-based promotion using GitVersion instead of package.json - squad-preview.yml: replace stub with real dotnet build/test on dev - squad-test.yml: add dev to push triggers - squad-issue-assign.yml: hardcode baseBranch = dev - squad-heartbeat.yml: hardcode baseBranch = dev Documentation: - CONTRIBUTING.md: PRs target dev, add branching model + release flow - docs/New Work process.md: branch from dev, squash into dev - AGENTS.md: document dev-first branching in developer workflow Skills: - merged-pr-guard: sync to dev instead of main on merged PR - git-workflow: two-branch model, replace npm with .NET references Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Test Results Summary2 365 tests 2 365 ✅ 1m 24s ⏱️ Results for commit cca1f1d. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #250 +/- ##
======================================
Coverage ? 78.52%
======================================
Files ? 228
Lines ? 8481
Branches ? 1166
======================================
Hits ? 6660
Misses ? 1284
Partials ? 537 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR updates the repo’s operational configuration to support a dev → main two-branch development/release model, refreshes Squad docs/skills/logs accordingly, and modernizes MCP server configuration.
Changes:
- Add GitVersion + workflow support for a
devintegration branch andmainrelease branch. - Update documentation and Squad skills to reflect the new branching/release process.
- Update MCP config files and refresh Squad decision/history artifacts.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| GitVersion.yml | Adds dev branch config and updates source-branch relationships for feature/PR branches. |
| docs/New Work process.md | Updates workflow guidance to branch from origin/dev and merge into dev. |
| CONTRIBUTING.md | Documents dev/main branching model, Gate 0 protection, and PR targeting changes. |
| AGENTS.md | Summarizes the dev/main branching model in developer workflow notes. |
| .squad/skills/release-process/SKILL.md | Adds a deprecated stub pointing to the new base skill + playbook. |
| .squad/skills/release-process-base/SKILL.md | Introduces a generic, reusable release-process skill template. |
| .squad/playbooks/release-issuetracker.md | Adds an IssueTrackerApp-specific release playbook. |
| .squad/decisions.md | Merges/condenses decisions and appends new release-process + branch-strategy decisions. |
| .squad/decisions-archive.md | Archives older decisions (now contains duplicated header block that needs cleanup). |
| .squad/agents/pippin/history.md | Summarizes older history into “Core Context”. |
| .squad/agents/legolas/history.md | Summarizes historical learnings and reorganizes sections. |
| .squad/agents/frodo/history.md | Reorganizes learnings into “Core Context” + recent entries. |
| .squad/agents/boromir/history.md | Adds branch strategy and release-process genericization notes. |
| .squad/agents/aragorn/history.md | Condenses history and adds release-process abstraction notes. |
| .squad/.ralph-state.json | Adds Ralph state tracking file. |
| .mcp.json | Adds MCP client configuration with updated server definitions. |
| .copilot/mcp-config.json | Updates Copilot MCP server definitions (switches GitHub MCP to HTTP, refreshes others). |
| .github/workflows/squad-test.yml | Adds dev to push triggers. |
| .github/workflows/squad-promote.yml | Reworks promotion to open a PR from dev → main and uses GitVersion. |
| .github/workflows/squad-preview.yml | Repurposes to validate dev on push with dotnet restore/build/test. |
| .github/workflows/squad-issue-assign.yml | Sets feature branch base to dev (hardcoded). |
| .github/workflows/squad-heartbeat.yml | Sets agent assignment base branch to dev (hardcoded). |
| .github/hooks/pre-push | Extends Gate 0 to block direct pushes to dev as well as main. |
| .github/dependabot.yml | Targets Dependabot PRs to dev and broadens .NET update directories to repo root. |
| .copilot/skills/merged-pr-guard/SKILL.md | Updates guidance to sync to dev after a branch’s PR is merged. |
| .copilot/skills/git-workflow/SKILL.md | Updates documented workflow to match the dev/main model and .NET-oriented local linking guidance. |
| --body "## Release Promotion | ||
|
|
||
| - name: Configure git | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| Merging \`dev\` into \`main\` for release **v${VERSION}**. | ||
|
|
||
| - name: Fetch all branches | ||
| run: git fetch --all | ||
| ### Commits included |
There was a problem hiding this comment.
The PR body passed to gh pr create/edit is a multi-line double-quoted string with heavy leading indentation. Those spaces become part of the PR body and can render as Markdown code blocks. Consider using a heredoc (cat <<'EOF') or left-aligning the body content so it renders as normal markdown.
| workflow_call: | ||
| push: | ||
| branches: | ||
| - dev |
There was a problem hiding this comment.
With this change, pushes to dev will trigger the full squad-test workflow, but this PR also makes squad-preview.yml run restore/build/test on every dev push. That means every dev push will run two overlapping CI pipelines. If squad-preview is intended to be the dev validation workflow, consider removing dev from squad-test push triggers (or making squad-preview lighter-weight).
| - dev |
mpaulosky
left a comment
There was a problem hiding this comment.
🔍 Ralph — PR Gate Review
CI: ✅ 19/19 checks green
Scope: Infrastructure-only (workflows, docs, config) — no app code changes
Assessment: All gates pass ✅
Summary
Clean, comprehensive adoption of the dev/main two-branch model. All workflows, documentation, dependabot config, pre-push hook, and GitVersion are consistently updated. The squad-promote.yml rewrite correctly replaces the old Node.js/npm logic with .NET/GitVersion — the old version would have failed in this repo anyway.
Two minor follow-ups (non-blocking)
-
.copilot/skills/git-workflow/SKILL.mdline 3 — frontmatterdescriptionstill says "insiders preview channel" after removing the insiders branch. Should read "two-branch model" or similar. -
GitVersion.ymllines 28-33 — theinsider:branch config block andinsiderinsource-branchesarrays were left intact. Consistent with the two-branch model would be to remove these, since the insiders branch is no longer part of the workflow.
Neither affects functionality — can be cleaned up in a follow-up.
Gate checklist:
- CI green (19/19)
- No CHANGES_REQUESTED
- MERGEABLE
- No secrets or credentials
- Changes are infrastructure-only, no app behavior impact
Proceeding with merge.
* chore: Sync dev with main (2 missing commits) (#248) Sync dev with main: brings in commits b529234 (#246) and 1c3b613 (#247). Establishes clean baseline for dev/main branching model. * chore: Sync dev with main (2 missing commits — #246, #247) (#249) * chore: Update MCP server configurations and squad export (#246) * chore: merge release-process skill review decisions, update agent histories, archive aged decisions - Merged three inbox decision entries (Aragorn/Boromir/Frodo) into decisions.md - Updated agent history files with 2026-04-12 team sync learnings - Archived pre-April-1 decisions to decisions-archive.md for operational clarity - Released context by condensing aged decision records Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * .squad: Scribe logs for Frodo release-process legacy stub Session: 2026-04-12T19:57:04Z Tasks completed: 1. Orchestration log: frodo agent release-process deprecation task 2. Session log: release-skill-legacy-stub work summary 3. Decision inbox merged: frodo-release-process-legacy-stub.md → decisions.md 4. Frodo history.md updated: Added legacy stub deprecation entry 5. Inbox file deleted after merge Outputs: - .squad/orchestration-log/2026-04-12T19-57-04Z-frodo.md (new) - .squad/log/2026-04-12T19-57-04Z-release-skill-legacy-stub.md (new) - .squad/decisions.md (appended, 92896 bytes) - .squad/agents/frodo/history.md (updated with team context) No archival needed (92896 bytes < 20KB threshold would trigger archive, but this represents 2026-04 additions; all old decisions within 30d window). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * .squad: History file summarization (aragorn, frodo, legolas, pippin) Task 7: Summarized old entries (>30d) to '## Core Context' section. Files: - aragorn: 29KB → 21KB (kept March 28+ recent entries) - frodo: 16KB → 6KB (kept April 12+ recent entries) - legolas: 14KB → 4KB (consolidated CSS, styling, theme learnings) - pippin: 12KB → 4KB (consolidated Aspire, Playwright, team rule learnings) All summarized files now <12KB threshold except Aragorn (21KB still acceptable with Core Context structure). Maintains full context while improving readability. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update MCP server configurations and squad export - Update .copilot/mcp-config.json with enhanced MCP server definitions - Add .mcp.json for MCP client integration (untracked) - Update squad-export.json with latest team metadata Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: update frodo agent history --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: scribe log and decisions export (#247) * scribe: Log PR flow and merge decisions inbox - Added orchestration log for Boromir PR creation/merge attempt (PR #246) - Added session log for PR workflow (squad/scribe-log-mcp-export) - Merged 3 decision inbox files into decisions.md: * Boromir: Branch strategy (dev/main model) feasibility audit * Boromir: MCP config commit safety assessment * Frodo: Documentation audit for dev/main branch model - Cleared .squad/decisions/inbox/ (all inbox files processed) This completes the spawn manifest processing for Boromir's two-pass PR flow attempt. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * scribe: Add Aragorn adoption decision to decisions.md - Merged Aragorn's comprehensive two-branch strategy assessment - Includes GitVersion.yml configuration recommendations - Provides phased implementation roadmap (Phase 1 infrastructure, Phase 2 docs) - Clearcut approval gate: requires Matthew Paulosky sign-off - All decision inbox files now processed and cleared Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: Update MCP server configurations and squad export (#246) (#250) Adopts dev/main two-branch model across all infrastructure (workflows, dependabot, pre-push, GitVersion, docs, skills). Replaces squad-promote from Node.js to .NET/GitVersion. * Add pre-push and merge playbooks, fix process documentation (#251) Add pre-push and merge playbooks, fix process documentation - New .squad/playbooks/pre-push-process.md (5-gate walkthrough) - New .squad/playbooks/pr-merge-process.md (8-step merge lifecycle) - Fix release-issuetracker.md (NBGV→GitVersion, two-branch model) - Rewrite pre-push-test-gate skill (all 5 gates, 10 test projects) - Flag 3 Squad CLI skills as non-applicable to IssueTrackerApp - Update routing.md with playbook-aware routing - Add playbook cross-references to ceremonies.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>" * chore: disable prerelease SDK in global.json (#254) Set allowPrerelease to false to use stable .NET SDK only. * fix: upgrade gittools/actions to v4.5.0 for GitVersion 6.7.0 compat v3.1.11 and v3 tags only support GitVersion <6.1.0, but 6.x now resolves to 6.7.0 which is out of range. Upgrade all four release workflows to gittools/actions@v4.5.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: upgrade gittools/actions to v4.5.0 for GitVersion 6.7.0 compat (#255) v3.1.11 and v3 tags only support GitVersion <6.1.0, but 6.x now resolves to 6.7.0 which is out of range. Upgrade all four release workflows to gittools/actions@v4.5.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: address 10 Copilot review items on PR #257 - Add configFilePath: GitVersion.yml to squad-promote.yml execute step - Fix shell-escaping risk: use --body-file instead of inline --body with command substitution - Replace stale embedded GitVersion YAML with link to actual file - Update Last Updated dates to 2026-04-13 - Fix Gate 0 docs: blocks main AND dev, not just main - Fix branch cleanup: reference origin/dev not origin/main (squad PRs merge to dev) - Fix conflict resolution: merge origin/dev not origin/main - Clarify tag prefix: lowercase v only triggers release workflow Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Session: 2026-04-12T19:57:04Z
Tasks completed:
Outputs:
No archival needed (92896 bytes < 20KB threshold would trigger archive,
but this represents 2026-04 additions; all old decisions within 30d window).
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Task 7: Summarized old entries (>30d) to '## Core Context' section.
Files:
All summarized files now <12KB threshold except Aragorn (21KB still acceptable
with Core Context structure). Maintains full context while improving readability.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com## Summary
Closes #
Type of Change
Domain Affected
Self-Review Checklist
Code Quality
dotnet build IssueTrackerApp.slnx --configuration Release— 0 errors, 0 warningsdotnet test IssueTrackerApp.slnx --configuration Release --no-build— all passArchitecture
Command/Query/Handler/Validatornaming conventionssealedWeborPersistence.*projectsResult<T>/ResultErrorCodeused for expected failures (no exception-driven control flow)Domain.DTOs; Models are inDomain.ModelsTests
[Collection("XxxIntegration")])IssueDto.Empty/CommentDto.Emptyinstances directlySecurity (check if security-relevant)
RequireAuthorization/ policy appliedMarkupStringused with user-supplied contentMerge Readiness
main(no merge conflicts)Screenshots / Evidence
Notes for Reviewers