Skip to content

Add enforcement wiring step to hiring process + workflow wiring guide#592

Merged
bradygaster merged 2 commits intobradygaster:mainfrom
joniba:fix/591-enforcement-wiring-step
Mar 26, 2026
Merged

Add enforcement wiring step to hiring process + workflow wiring guide#592
bradygaster merged 2 commits intobradygaster:mainfrom
joniba:fix/591-enforcement-wiring-step

Conversation

@joniba
Copy link
Copy Markdown
Contributor

@joniba joniba commented Mar 24, 2026

Fixes #591

Problem

The Adding Team Members process in squad.agent.md creates identity (charter, roster) and routing (routing table entry) but has no step for wiring enforcement rules. When a reviewer is hired, they get a routing table entry but no numbered rule telling the coordinator to automatically route work to them. Result: reviewer exists but never reviews.

Changes

  1. squad.agent.md — Added step 7 (Wire enforcement) to Adding Team Members. Renumbered confirmation to step 8.
  2. workflow-wiring-guide.md (new) — Guide covering configuration surface area, wiring process, common mistakes, verification checklist.
  3. workflow-wiring-appendix-a-code-reviewer.md (new) — End-to-end walkthrough for gate pattern.
  4. workflow-wiring-appendix-b-documenter.md (new) — End-to-end walkthrough for follow-up trigger pattern.

Why Three Layers Matter

  • Layer 1 (Identity): Charter + roster — WHO the member is
  • Layer 2 (Routing): Routing table entry — handles explicit requests
  • Layer 3 (Enforcement): routing.md Rules — automatic coordinator behavior

The hiring process previously covered layers 1-2. This PR adds layer 3.

Validated with a clean-session test: a stateless coordinator successfully used the guide to audit and fix a reviewer's missing enforcement rules.

Fixes bradygaster#591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@joniba
Copy link
Copy Markdown
Contributor Author

joniba commented Mar 24, 2026

🔍 Code Review — Galadriel (Reviewer)

Verdict: CHANGES_REQUESTED

The PR is high-quality and addresses the exact root cause of #591. The three-layer model (Identity → Routing → Enforcement) is clearly taught, the walkthroughs are actionable, and the genericization is clean. Two factual/format issues should be fixed before merge; one density issue is strongly recommended.


Findings Summary

# Severity Category File Finding
F1 🔴 Medium Accuracy workflow-wiring-guide.md Incorrectly claims issue-lifecycle.md doesn't ship with framework
F2 🟡 Medium Consistency workflow-wiring-appendix-b-documenter.md Ceremony example uses YAML; actual ceremonies.md uses Markdown tables
F3 🟡 Medium Readability squad.agent.md Step 7 is a wall of text; all other steps are one-liners
F4 ⚪ Low Clarity workflow-wiring-guide.md Config Surface Area table paths lack .squad/ prefix context
F5 ⚪ Low Robustness workflow-wiring-appendix-a-code-reviewer.md Hardcoded step number for issue-lifecycle.md modification
F6 ⚪ Nit Robustness workflow-wiring-guide.md Relative appendix links may not resolve from all contexts

Finding F1: issue-lifecycle.md existence claim is wrong

Severity: 🔴 Medium
Category: Accuracy
File: workflow-wiring-guide.md, "How to Wire Up an Issue Lifecycle" section (~lines 164–168)

Issue: The guide states:

The framework references .squad/templates/issue-lifecycle.md but does NOT create it — you must create it yourself.

This is factually incorrect. issue-lifecycle.md already exists upstream in .squad-templates/ (11.4 KB, SHA 574c205a). It ships with Squad. Telling users to create it from scratch when it already exists will cause confusion — or worse, users will overwrite the upstream version with a hand-rolled incomplete one.

Suggestion: Replace with:

The framework ships issue-lifecycle.md as a template. If your project already has one deployed at .squad/templates/issue-lifecycle.md, review it for completeness against the wiring requirements below. If not, the Squad init process will create it from the template.

Also update the "Step 1: Create templates/issue-lifecycle.md" heading to something like "Step 1: Review or create templates/issue-lifecycle.md".


Finding F2: Ceremony format mismatch in Appendix B

Severity: 🟡 Medium
Category: Consistency
File: workflow-wiring-appendix-b-documenter.md, Step 5 alternative (~lines 97–104)

Issue: The appendix shows a ceremony in YAML-like format:

- name: "Documentation Check"
  when: "after"
  condition: "PR merged that adds features, scripts, tools, or config changes"
  facilitator: "{DocumenterName}"

But the actual upstream ceremonies.md uses Markdown table format:

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | after |

The main guide (Option B) correctly uses the Markdown table format. A user following Appendix B would create a ceremony the coordinator cannot parse.

Suggestion: Replace the YAML block with a Markdown table matching the format in ceremonies.md and in the main guide's Option B example.


Finding F3: Step 7 in squad.agent.md is too dense

Severity: 🟡 Medium
Category: Readability
File: squad.agent.md, Adding Team Members section (line ~765 in diff)

Issue: Step 7 is a 4-line paragraph packed into a single numbered step. Steps 1–6 and 8 are clean one-liners. Step 7 is the most critical new addition and should be equally scannable.

Suggestion: Break into a main instruction + sub-bullets:

7. **Wire enforcement (if applicable).** If the new member's role involves
   gating other agents' work (reviewer, design approver, quality gate):
   - Add a numbered enforcement rule to `routing.md` → Rules section.
     (A routing table entry from step 6 handles explicit requests only —
     enforcement rules are required for automatic gates.)
   - Read `.squad/templates/workflow-wiring-guide.md` for the full process.
   - Check `.squad/templates/issue-lifecycle.md` for lifecycle integration.

What needs to change before approval

  1. Fix F1 (required): Correct the factual error about issue-lifecycle.md not existing upstream.
  2. Fix F2 (required): Replace YAML ceremony format with Markdown table format in Appendix B.
  3. Fix F3 (strongly recommended): Break Step 7 into sub-bullets for scannability.

After F1 and F2 are addressed, this PR is ready to merge.


Strengths worth calling out

  1. Root cause clarity — The PR description and guide both articulate WHY this gap exists (routing table ≠ enforcement) with precision.
  2. Two-pattern coverage — Appendix A (gate pattern) and Appendix B (follow-up trigger) cover the two most common enforcement patterns.
  3. Clean genericization — Every placeholder uses {CurlyBraceName} convention consistently. No project-specific names leaked.
  4. Decisions Audit section — Process for scanning decisions.md for directives that should be routing rules. Operational wisdom.
  5. "Common Mistakes" section — Six concrete failure modes with clear explanations.

@joniba
Copy link
Copy Markdown
Contributor Author

joniba commented Mar 24, 2026

Correction: F1 Retracted

Reviewer: Galadriel

After further analysis, Finding F1 is withdrawn. The guide's statement that issue-lifecycle.md is not automatically copied into .squad/templates/ during Init Mode is correct — the file exists in .squad-templates/ (the source distribution) but the Init Mode scaffolding does not copy it into the per-squad .squad/templates/ directory. This is a known upstream gap (tracked separately).

Updated verdict: F2 (ceremony YAML format) and F3 (step 7 density) remain. With F1 retracted, the bar for approval is lower — F2 is the remaining required fix, F3 is strongly recommended.

@colinwilliams91
Copy link
Copy Markdown

Correction: F1 Retracted

Reviewer: Galadriel

After further analysis, Finding F1 is withdrawn. The guide's statement that issue-lifecycle.md is not automatically copied into .squad/templates/ during Init Mode is correct — the file exists in .squad-templates/ (the source distribution) but the Init Mode scaffolding does not copy it into the per-squad .squad/templates/ directory. This is a known upstream gap (tracked separately).

Updated verdict: F2 (ceremony YAML format) and F3 (step 7 density) remain. With F1 retracted, the bar for approval is lower — F2 is the remaining required fix, F3 is strongly recommended.

I'm having difficulties upgrading from 0.8.25 to 0.9.x as reported in issue #597 and when I check for issue-lifecycle.md inside .squad/templates/ I also do not see the file. So, maybe the assumption about it not copying over from source on init is correct, but also, the changelog for 0.9.0 shows the addition of issue-lifecycle.md as seen here: https://github.com/bradygaster/squad/blob/main/CHANGELOG.md#added--issue-lifecycle-template

So, is there a chance that the author is not using 0.9.x and therefore missing the file that the code reviewer (Galadriel) is observing? And I'm not sure if the author withdrew F1 or if Galadriel is being sycophantic...
@joniba

Copy link
Copy Markdown
Owner

@bradygaster bradygaster left a comment

Choose a reason for hiding this comment

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

APPROVED — Excellent work, joniba.

What this PR delivers:

  • Adds missing step 7 (Wire enforcement) to the Adding Team Members hiring process in squad.agent.md
  • Comprehensive workflow-wiring-guide.md explaining the three-layer enforcement architecture (identity → routing → enforcement)
  • Two complete appendix walkthroughs: code reviewer gate pattern (Appendix A) and documenter follow-up trigger pattern (Appendix B)

Why this matters:
You've identified and fixed a real production gap — reviewers were being hired onto the roster but never actually reviewing anything because enforcement rules were missing. The distinction between routing table entries (explicit requests) and enforcement rules (automatic coordinator behavior) is critical and was underdocumented.

Quality assessment:

  • Matches team standards (tone, structure, clarity)
  • Validated with clean-session test (coordinator successfully used guide to audit and fix missing rules)
  • Addresses a real pain point (20 issues closed without a single PR review)
  • CI passing (docs-quality + test both green)

This is MSFT-level contribution quality. Merging to main.

@bradygaster
Copy link
Copy Markdown
Owner

PR approved! ✅

The PR needs to be rebased on main before it can merge. Can you run:

\\�ash
git checkout fix/591-enforcement-wiring-step
git fetch origin
git rebase origin/main
git push --force-with-lease
\\

Once that's done, the PR will be ready to merge.

bradygaster pushed a commit that referenced this pull request Mar 25, 2026
- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster
Copy link
Copy Markdown
Owner

🔍 Squad Team Review

Reviewed by: CONTROL (TypeScript Engineer) — Pass 3 of consensus ceremony
Action: Phase 5 — Recommend retarget from main→dev
Team Consensus: 5/5 AGREE

Review Summary

Documentation/guide PR. Already APPROVED by reviewers. Currently targets main — recommend retargeting to dev for single release pipeline consistency. Needs rebase after retarget.

Recommendation

Please retarget this PR from main to dev. The project uses dev as the staging branch before main. After retarget, a rebase will be needed.

Verdict: APPROVED — pending retarget to dev

bradygaster added a commit that referenced this pull request Mar 26, 2026
#620)

* chore(.squad): session wrap-up — inbox merge, logs, history updates

Merged 12 decision inbox entries into decisions.md. Logged mega-session
covering release recovery, docs fix, 10 PR merges, discussion triage,
and release hardening. Updated agent histories with session learnings.

Deleted inbox files after merge:
- booster-ci-audit.md, booster-ci-cleanup.md
- copilot-directive-2026-03-23T09-56.md, copilot-directive-2026-03-23T10-08.md
- copilot-directive-no-npx.md
- eecom-version-cmd.md
- pao-discussion-triage-2026-03-23.md, pao-npx-purge.md, pao-readme-slim.md
- pao-v090-blog.md
- surgeon-v090-changelog.md, surgeon-v091-retrospective.md

Updated files:
- .squad/decisions.md (12 decision entries merged)
- .squad/identity/now.md (current state updated)
- .squad/log/2026-03-23T22-00-00Z-mega-session-wrapup.md (new)
- .squad/agents/flight/history.md (issue filing patterns, governance directives)
- .squad/agents/eecom/history.md (CLI version subcommand pattern)
- .squad/agents/booster/history.md (CI audit and preflight patterns)
- .squad/agents/surgeon/history.md (release governance rules, retrospective)
- .squad/agents/pao/history.md (discussion triage patterns, Teams MCP urgency)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add v0.9.0 and v0.9.1 releases to What's New

- v0.9.1 (Current Release): Bug fixes and hardening
  - Shell agent name extraction with multi-pattern fallback
  - Init scaffolding for typed casting files
  - Personal squad global mode support
  - Release CI/docs hardening
  - Doctor command improvements

- v0.9.0 (Major Feature): 6 major features + stability fixes
  - Personal Squad Governance Layer (isolated developer workspaces)
  - Worktree Spawning & Distributed Work (parallel agent orchestration)
  - Machine Capability Discovery (auto-detect tools/models/hardware)
  - Cooperative Rate Limiting (predictive circuit breaker + economy mode)
  - Telemetry & Infrastructure (auto-wire, KEDA, session recovery)
  - Docs, Stability & Distribution (Astro enhancements, npm-only)

- v0.8.2: Renamed from 'Current Release' to historic entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): triage session — 14 issues triaged, 10 PRs reviewed

- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(prompts): update model catalog to current platform offerings (#588)

Update all model references in squad.agent.md to match the current
Copilot platform catalog:

- Remove stale models: claude-opus-4.6-fast, gpt-5 (standalone)
- Add new models: claude-sonnet-4.6, claude-opus-4.6-1m, gpt-5.4,
  gpt-5.3-codex, gpt-5.4-mini
- Bump code-writing defaults from claude-sonnet-4.5 to claude-sonnet-4.6
- Bump code specialist from gpt-5.2-codex to gpt-5.3-codex
- Update fallback chains with new models in sensible positions
- Propagate via sync-templates to all 4 derived copies

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: update procedures history and decision for model catalog refresh

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(sdk): getPersonalSquadRoot resolves to personal-squad dir (#590)

getPersonalSquadRoot() was hardcoded to append '.squad' to the global
squad directory, causing it to resolve to a nonexistent path. All users
running squad consult entered Init Mode and lost their personal agents.

Changed the subdirectory from '.squad' to 'personal-squad' to match
the actual layout used by resolvePersonalSquadDir() and
ensurePersonalSquadDir().

Added two tests verifying the correct resolution path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(cli): fix remaining personal-squad path in shell init (#590)

The shell's runShell() first-run check was looking for '.squad' inside the
global squad directory instead of 'personal-squad', mirroring the bug EECOM
already fixed in consult.ts. Also updated the matching test assertions in
cli-global.test.ts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster added a commit that referenced this pull request Mar 26, 2026
* chore(.squad): session wrap-up — inbox merge, logs, history updates

Merged 12 decision inbox entries into decisions.md. Logged mega-session
covering release recovery, docs fix, 10 PR merges, discussion triage,
and release hardening. Updated agent histories with session learnings.

Deleted inbox files after merge:
- booster-ci-audit.md, booster-ci-cleanup.md
- copilot-directive-2026-03-23T09-56.md, copilot-directive-2026-03-23T10-08.md
- copilot-directive-no-npx.md
- eecom-version-cmd.md
- pao-discussion-triage-2026-03-23.md, pao-npx-purge.md, pao-readme-slim.md
- pao-v090-blog.md
- surgeon-v090-changelog.md, surgeon-v091-retrospective.md

Updated files:
- .squad/decisions.md (12 decision entries merged)
- .squad/identity/now.md (current state updated)
- .squad/log/2026-03-23T22-00-00Z-mega-session-wrapup.md (new)
- .squad/agents/flight/history.md (issue filing patterns, governance directives)
- .squad/agents/eecom/history.md (CLI version subcommand pattern)
- .squad/agents/booster/history.md (CI audit and preflight patterns)
- .squad/agents/surgeon/history.md (release governance rules, retrospective)
- .squad/agents/pao/history.md (discussion triage patterns, Teams MCP urgency)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add v0.9.0 and v0.9.1 releases to What's New

- v0.9.1 (Current Release): Bug fixes and hardening
  - Shell agent name extraction with multi-pattern fallback
  - Init scaffolding for typed casting files
  - Personal squad global mode support
  - Release CI/docs hardening
  - Doctor command improvements

- v0.9.0 (Major Feature): 6 major features + stability fixes
  - Personal Squad Governance Layer (isolated developer workspaces)
  - Worktree Spawning & Distributed Work (parallel agent orchestration)
  - Machine Capability Discovery (auto-detect tools/models/hardware)
  - Cooperative Rate Limiting (predictive circuit breaker + economy mode)
  - Telemetry & Infrastructure (auto-wire, KEDA, session recovery)
  - Docs, Stability & Distribution (Astro enhancements, npm-only)

- v0.8.2: Renamed from 'Current Release' to historic entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): triage session — 14 issues triaged, 10 PRs reviewed

- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): log work session — triage, fixes, research

Round 1 outcomes:
- PAO: #610 docs link already resolved
- EECOM: #590 personal squad path fix (getPersonalSquadRoot)
- Procedures: #588 model catalog updated to current platform
- Flight: #612 community issue filed on routing regression
- CAPCOM: CLI platform research — identified 8 releases (1.0.4→1.0.11) with 3 high-impact changes
- GNC: Squad codebase research — routing regression caused by v0.9.0 prompt saturation + missing name param

Round 2: Code review & quality gate
- FIDO: Found same bug in shell/index.ts, enforced revision
- CONTROL: Full sweep of #590 fix, awaiting FIDO re-review

Merged decisions:
1. Personal squad path canonicalization (personal-squad/)
2. Model catalog refresh (claude-sonnet-4.6, gpt-5.3-codex defaults)
3. CLI platform analysis (monorepo discovery, idle hiding, hook injection)
4. Squad regression analysis (prompt saturation, workstream replacement, missing name param)

Logs created:
- 6 orchestration logs (one per agent)
- 1 session synthesis log with research synthesis
- 4 agent history updates (team update annotations)

All inbox decision files merged and deleted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Merge: VS Code routing enforcement fix proposal (#613)

- Merged procedures-vscode-routing-fix.md from inbox to decisions.md
- Cleared decision inbox after merge
- Logged session finalization work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: add count-based fallback to archiveDecisions() (#626)

archiveDecisions() silently returned null when all entries were <30 days
old, allowing decisions.md to grow unboundedly. Active projects hit
145KB+ (35K tokens burned per agent spawn).

Added count-based fallback: when all entries are recent but total size
exceeds 20KB, archive the oldest recent entries to stay under threshold.
Undated entries are preserved (not archived) per Procedures' guidance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: update EECOM history with #626 learnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster added a commit that referenced this pull request Mar 26, 2026
…#624)

* chore(.squad): session wrap-up — inbox merge, logs, history updates

Merged 12 decision inbox entries into decisions.md. Logged mega-session
covering release recovery, docs fix, 10 PR merges, discussion triage,
and release hardening. Updated agent histories with session learnings.

Deleted inbox files after merge:
- booster-ci-audit.md, booster-ci-cleanup.md
- copilot-directive-2026-03-23T09-56.md, copilot-directive-2026-03-23T10-08.md
- copilot-directive-no-npx.md
- eecom-version-cmd.md
- pao-discussion-triage-2026-03-23.md, pao-npx-purge.md, pao-readme-slim.md
- pao-v090-blog.md
- surgeon-v090-changelog.md, surgeon-v091-retrospective.md

Updated files:
- .squad/decisions.md (12 decision entries merged)
- .squad/identity/now.md (current state updated)
- .squad/log/2026-03-23T22-00-00Z-mega-session-wrapup.md (new)
- .squad/agents/flight/history.md (issue filing patterns, governance directives)
- .squad/agents/eecom/history.md (CLI version subcommand pattern)
- .squad/agents/booster/history.md (CI audit and preflight patterns)
- .squad/agents/surgeon/history.md (release governance rules, retrospective)
- .squad/agents/pao/history.md (discussion triage patterns, Teams MCP urgency)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add v0.9.0 and v0.9.1 releases to What's New

- v0.9.1 (Current Release): Bug fixes and hardening
  - Shell agent name extraction with multi-pattern fallback
  - Init scaffolding for typed casting files
  - Personal squad global mode support
  - Release CI/docs hardening
  - Doctor command improvements

- v0.9.0 (Major Feature): 6 major features + stability fixes
  - Personal Squad Governance Layer (isolated developer workspaces)
  - Worktree Spawning & Distributed Work (parallel agent orchestration)
  - Machine Capability Discovery (auto-detect tools/models/hardware)
  - Cooperative Rate Limiting (predictive circuit breaker + economy mode)
  - Telemetry & Infrastructure (auto-wire, KEDA, session recovery)
  - Docs, Stability & Distribution (Astro enhancements, npm-only)

- v0.8.2: Renamed from 'Current Release' to historic entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): triage session — 14 issues triaged, 10 PRs reviewed

- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): log work session — triage, fixes, research

Round 1 outcomes:
- PAO: #610 docs link already resolved
- EECOM: #590 personal squad path fix (getPersonalSquadRoot)
- Procedures: #588 model catalog updated to current platform
- Flight: #612 community issue filed on routing regression
- CAPCOM: CLI platform research — identified 8 releases (1.0.4→1.0.11) with 3 high-impact changes
- GNC: Squad codebase research — routing regression caused by v0.9.0 prompt saturation + missing name param

Round 2: Code review & quality gate
- FIDO: Found same bug in shell/index.ts, enforced revision
- CONTROL: Full sweep of #590 fix, awaiting FIDO re-review

Merged decisions:
1. Personal squad path canonicalization (personal-squad/)
2. Model catalog refresh (claude-sonnet-4.6, gpt-5.3-codex defaults)
3. CLI platform analysis (monorepo discovery, idle hiding, hook injection)
4. Squad regression analysis (prompt saturation, workstream replacement, missing name param)

Logs created:
- 6 orchestration logs (one per agent)
- 1 session synthesis log with research synthesis
- 4 agent history updates (team update annotations)

All inbox decision files merged and deleted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Merge: VS Code routing enforcement fix proposal (#613)

- Merged procedures-vscode-routing-fix.md from inbox to decisions.md
- Cleared decision inbox after merge
- Logged session finalization work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: rename template copies to prevent CLI instruction merging (#613)

Copilot CLI 1.0.11 discovers all *.agent.md files from cwd to git root
and merges them into the coordinator prompt. Squad had 3 template copies
that were being discovered and merged, causing 4x instruction duplication.

Renamed template copies to .agent.md.template so only the active copy
at .github/agents/squad.agent.md is discovered by the CLI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* scribe: Record spawn manifest session — template rename completion

Orchestration logs:
- CONTROL: Template rename (3 copies squad.agent.md → .agent.md.template)
- FIDO: QA approval of template rename work
- Coordinator: 3 PRs opened (#624, #620, #619)

Session log: Spawn manifest execution summary
- Template duplication risk eliminated
- Zero stale references found
- Build + test: zero new failures
- All work ready for merge coordination

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster added a commit that referenced this pull request Mar 26, 2026
* chore(.squad): session wrap-up — inbox merge, logs, history updates

Merged 12 decision inbox entries into decisions.md. Logged mega-session
covering release recovery, docs fix, 10 PR merges, discussion triage,
and release hardening. Updated agent histories with session learnings.

Deleted inbox files after merge:
- booster-ci-audit.md, booster-ci-cleanup.md
- copilot-directive-2026-03-23T09-56.md, copilot-directive-2026-03-23T10-08.md
- copilot-directive-no-npx.md
- eecom-version-cmd.md
- pao-discussion-triage-2026-03-23.md, pao-npx-purge.md, pao-readme-slim.md
- pao-v090-blog.md
- surgeon-v090-changelog.md, surgeon-v091-retrospective.md

Updated files:
- .squad/decisions.md (12 decision entries merged)
- .squad/identity/now.md (current state updated)
- .squad/log/2026-03-23T22-00-00Z-mega-session-wrapup.md (new)
- .squad/agents/flight/history.md (issue filing patterns, governance directives)
- .squad/agents/eecom/history.md (CLI version subcommand pattern)
- .squad/agents/booster/history.md (CI audit and preflight patterns)
- .squad/agents/surgeon/history.md (release governance rules, retrospective)
- .squad/agents/pao/history.md (discussion triage patterns, Teams MCP urgency)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: add v0.9.0 and v0.9.1 releases to What's New

- v0.9.1 (Current Release): Bug fixes and hardening
  - Shell agent name extraction with multi-pattern fallback
  - Init scaffolding for typed casting files
  - Personal squad global mode support
  - Release CI/docs hardening
  - Doctor command improvements

- v0.9.0 (Major Feature): 6 major features + stability fixes
  - Personal Squad Governance Layer (isolated developer workspaces)
  - Worktree Spawning & Distributed Work (parallel agent orchestration)
  - Machine Capability Discovery (auto-detect tools/models/hardware)
  - Cooperative Rate Limiting (predictive circuit breaker + economy mode)
  - Telemetry & Infrastructure (auto-wire, KEDA, session recovery)
  - Docs, Stability & Distribution (Astro enhancements, npm-only)

- v0.8.2: Renamed from 'Current Release' to historic entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): triage session — 14 issues triaged, 10 PRs reviewed

- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): log work session — triage, fixes, research

Round 1 outcomes:
- PAO: #610 docs link already resolved
- EECOM: #590 personal squad path fix (getPersonalSquadRoot)
- Procedures: #588 model catalog updated to current platform
- Flight: #612 community issue filed on routing regression
- CAPCOM: CLI platform research — identified 8 releases (1.0.4→1.0.11) with 3 high-impact changes
- GNC: Squad codebase research — routing regression caused by v0.9.0 prompt saturation + missing name param

Round 2: Code review & quality gate
- FIDO: Found same bug in shell/index.ts, enforced revision
- CONTROL: Full sweep of #590 fix, awaiting FIDO re-review

Merged decisions:
1. Personal squad path canonicalization (personal-squad/)
2. Model catalog refresh (claude-sonnet-4.6, gpt-5.3-codex defaults)
3. CLI platform analysis (monorepo discovery, idle hiding, hook injection)
4. Squad regression analysis (prompt saturation, workstream replacement, missing name param)

Logs created:
- 6 orchestration logs (one per agent)
- 1 session synthesis log with research synthesis
- 4 agent history updates (team update annotations)

All inbox decision files merged and deleted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Merge: VS Code routing enforcement fix proposal (#613)

- Merged procedures-vscode-routing-fix.md from inbox to decisions.md
- Cleared decision inbox after merge
- Logged session finalization work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: platform-neutral routing enforcement for VS Code (#613)

- Rewrite CRITICAL RULE to be platform-neutral (task + runSubagent)
- Update all enforcement references to mention both dispatch mechanisms
- Add routing reinforcement reminder at prompt boundary
- Addresses VS Code Autopilot routing bypass reported in #613

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: update Procedures history with #613 fix implementation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster bradygaster merged commit b7104fc into bradygaster:main Mar 26, 2026
2 checks passed
sytone pushed a commit to sytone/squad that referenced this pull request Apr 3, 2026
…bradygaster#592)

Fixes bradygaster#591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Apr 8, 2026
…bradygaster#592)

Fixes bradygaster#591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher added a commit that referenced this pull request Apr 8, 2026
…#876)

* Add enforcement wiring step to hiring process + workflow wiring guide (#592)

Fixes #591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(agents): add Challenger / Devil's Advocate agent template + fact-checking skill (#603)

* feat(skills): add fact-checking skill\n\nAdds challenger/fact-checking review pattern.\nVerified against 200+ issues in production squads.\nCloses #598

* feat(agents): add challenger agent charter template\n\nGeneric Devil's Advocate / Challenger template.\nProvides auto-spawn integration pattern for coordinators.\nCloses #598

* feat: add APM integration for skill publishing and installation

Closes #824

## Changes

### New command: squad skill
- squad skill publish [<name>] — exports skill(s) to APM format, generating/updating apm.yml
- squad skill install <source> — installs a skill from APM registry
  - Supports owner/repo, owner/repo/skill-name, and direct URLs
  - Uses GitHub CLI to fetch from repos that have apm.yml or .squad/skills/
  - Writes .apm-source.json metadata to track skill origin
- squad skill list — lists installed skills with source provenance

### Updated: squad init
- Now generates �pm.yml at project root alongside .squad/
- Follows skipExisting semantics (safe to re-run)
- apm.yml includes skills, instructions, and prompts sections

### Updated: squad help
- Added skill command to help text with usage examples

## APM format
apm.yml is the Agent Package Manager manifest — package.json for AI agent context.
See: https://github.com/microsoft/apm

The manifest declares skills, instructions, and prompts in a portable format
that �pm install can deploy to .github/, .claude/, .cursor/ etc.

* chore: add changeset for APM integration

* docs: update CHANGELOG.md with APM integration entry

* fix(skill): use .copilot/skills/ as primary path per #430

The skills unification in #430 migrated skills from .squad/skills/
to .copilot/skills/. This updates the APM skill command to:

- Check .copilot/skills/ first, fall back to .squad/skills/ (backward compat)
- Use resolveSkillsDir() helper matching LocalSkillSource pattern
- Update all user-facing messages and apm.yml template paths
- Fix installSkillsFromSquadDir candidate order

Addresses review feedback from @Meir017.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: align CHANGELOG.md with dev branch

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: add missing fs import in init.ts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: joniba <joniba@users.noreply.github.com>
Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
karlis-balcers pushed a commit to karlis-balcers/squad that referenced this pull request Apr 13, 2026
…bradygaster#592)

Fixes bradygaster#591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher added a commit that referenced this pull request Apr 21, 2026
…#876)

* Add enforcement wiring step to hiring process + workflow wiring guide (#592)

Fixes #591

- Added step 7 (Wire enforcement) to Adding Team Members in squad.agent.md
- Added workflow-wiring-guide.md with configuration surface area, wiring instructions, common mistakes, and verification checklist
- Added appendix walkthroughs for code reviewer (gate pattern) and documenter (follow-up trigger pattern)

Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(agents): add Challenger / Devil's Advocate agent template + fact-checking skill (#603)

* feat(skills): add fact-checking skill\n\nAdds challenger/fact-checking review pattern.\nVerified against 200+ issues in production squads.\nCloses #598

* feat(agents): add challenger agent charter template\n\nGeneric Devil's Advocate / Challenger template.\nProvides auto-spawn integration pattern for coordinators.\nCloses #598

* feat: add APM integration for skill publishing and installation

Closes #824

## Changes

### New command: squad skill
- squad skill publish [<name>] — exports skill(s) to APM format, generating/updating apm.yml
- squad skill install <source> — installs a skill from APM registry
  - Supports owner/repo, owner/repo/skill-name, and direct URLs
  - Uses GitHub CLI to fetch from repos that have apm.yml or .squad/skills/
  - Writes .apm-source.json metadata to track skill origin
- squad skill list — lists installed skills with source provenance

### Updated: squad init
- Now generates �pm.yml at project root alongside .squad/
- Follows skipExisting semantics (safe to re-run)
- apm.yml includes skills, instructions, and prompts sections

### Updated: squad help
- Added skill command to help text with usage examples

## APM format
apm.yml is the Agent Package Manager manifest — package.json for AI agent context.
See: https://github.com/microsoft/apm

The manifest declares skills, instructions, and prompts in a portable format
that �pm install can deploy to .github/, .claude/, .cursor/ etc.

* chore: add changeset for APM integration

* docs: update CHANGELOG.md with APM integration entry

* fix(skill): use .copilot/skills/ as primary path per #430

The skills unification in #430 migrated skills from .squad/skills/
to .copilot/skills/. This updates the APM skill command to:

- Check .copilot/skills/ first, fall back to .squad/skills/ (backward compat)
- Use resolveSkillsDir() helper matching LocalSkillSource pattern
- Update all user-facing messages and apm.yml template paths
- Fix installSkillsFromSquadDir candidate order

Addresses review feedback from @Meir017.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: align CHANGELOG.md with dev branch

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: add missing fs import in init.ts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: joniba <joniba@users.noreply.github.com>
Co-authored-by: Jonathan Ben Ami <jbenami@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
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.

4 participants