Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e7d53e2
ci: consolidate workflows, path filters, concurrency, readiness expan…
diberry Apr 6, 2026
e798456
feat(security): add markdown-aware skill security scanner (Phase 1) (…
diberry Apr 6, 2026
bd5bb0b
fix(watch): wire missing CLI flags, validate state-backend, fix auth …
diberry Apr 7, 2026
9d59c4e
fix(cli): squad start --tunnel validates node-pty before side effects…
diberry Apr 7, 2026
3b2faa2
fix: add onboarding roster guard and skill overwrite warning (#867)
diberry Apr 7, 2026
7de95f7
test: add integration tests for watch capabilities (#709) (#868)
diberry Apr 7, 2026
7de4079
fix(docs): re-initialize search after Astro View Transitions (#856)
diberry Apr 7, 2026
4f89aef
fix(test): Docker skip guards + flaky test stabilization (#677) (#857)
diberry Apr 7, 2026
4178f43
docs: add contributor-to-core-team PR handoff process (#902)
diberry Apr 8, 2026
3958251
ci: skip prerelease version guard on insider branch (#903)
diberry Apr 8, 2026
6f11903
ci: remove fork-added workflows not in ralph/test/publish (#940)
diberry Apr 11, 2026
c0b261e
docs: update CONTRIBUTING.md for spam protection (#952)
diberry Apr 11, 2026
afd83db
docs: optimize personal squad docs for git-first usage (#955)
diberry Apr 11, 2026
e079fb2
docs: coordinator compaction recovery and restraint rules (#953)
diberry Apr 11, 2026
d59259f
docs: add cross-links between related documentation pages (#956)
diberry Apr 11, 2026
fbb1d29
fix: import skills to .copilot/skills/ instead of .ai-team/skills/ (#…
bradygaster Apr 11, 2026
3384fec
Persist sidebar scroll position across navigation (#877)
sturlath Apr 11, 2026
1f040b7
docs: deprecate REPL/interactive shell references, redirect to Copilo…
diberry Apr 11, 2026
35dc3f0
fix: inject CURRENT_DATETIME into all spawn templates (#960)
tamirdresher Apr 12, 2026
e784988
docs: fix broken skill reference in mcp-config.md (#954)
diberry Apr 12, 2026
85424a8
fix(cast): pass repo root to LocalAgentSource instead of .squad/ dir …
diberry Apr 12, 2026
74ca19a
fix(coordinator): add routing enforcement refusal rule (#890)
diberry Apr 12, 2026
5f6a693
fix(watch): detect rate-limit errors instead of reporting Board is cl…
diberry Apr 12, 2026
ae46701
fix(cli): replace hardcoded state lists with dynamic directory scan (…
diberry Apr 12, 2026
6269bae
fix(sdk): Teams adapter — encode channelId, icacls warning, integrati…
diberry Apr 12, 2026
4fd2942
fix(sdk): eliminate shell injection vectors in scheduler and state ba…
diberry Apr 12, 2026
b80e0bd
feat(watch): external capability loading + PID tracker (#918, #921) (…
tamirdresher Apr 12, 2026
5c94fdf
fix: squad init no longer runs git init in subdirectory; az CLI Windo…
karlismea Apr 12, 2026
7e0774b
fix(docs): re-initialize search after Astro View Transitions (#712) (…
bradygaster Apr 12, 2026
83f4554
fix: address post-merge review findings (#876, #900, #875) (#963)
bradygaster Apr 12, 2026
08ca9ae
fix(sdk): Teams adapter token security + migration guide (#906)
diberry Apr 12, 2026
4f7233d
fix: monorepo subfolder support — never run git init (#939)
tamirdresher Apr 14, 2026
fdc41a9
fix: replace obsolete --message flag with -p across watch and loop (#…
tamirdresher Apr 17, 2026
6d00ddb
Emphasize human-led productivity in docs (#989)
IEvangelist Apr 17, 2026
2981631
docs: add user-facing documentation for state backends
invalid-email-address Apr 17, 2026
2e96cf8
docs: address state-backends review feedback
Copilot Apr 17, 2026
37ab248
chore: CI cleanup — delete ci-rerun.yml, streamline squad-ci.yml (#10…
bradygaster Apr 18, 2026
ad5f59f
fix: add mktree to cspell dictionary (#1018)
tamirdresher Apr 20, 2026
a249bb2
fix: remove duplicate permissions key in squad-ci.yml
tamirdresher Apr 20, 2026
461d3fe
fix: resolve 31 test failures from monorepo detection (#1005)
tamirdresher Apr 20, 2026
62769f0
Merge pull request #1008 from ilyas-it83/squad/990-fix-api-docs-404
ilyas-it83 Apr 20, 2026
13cab2c
chore: bump version to 0.9.5-insider.1 for next insider release
tamirdresher Apr 21, 2026
5247d28
fix(ci): update squad-promote.yml to use insider branch instead of pr…
invalid-email-address Apr 21, 2026
c4a75ca
fix(types): add roundData to WatchContext (#923)
invalid-email-address Apr 21, 2026
ecc952b
fix: wire skill command into cli-entry.ts (#876)
invalid-email-address Apr 21, 2026
fe2a46a
chore: revert CHANGELOG.md to insider version
invalid-email-address Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/audit-onboarding-skill-guards.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Add defensive guards from architecture audit: (1) verify roster is populated after team creation before dispatching to coordinator, preventing empty-roster dispatch loops; (2) warn when `squad upgrade` overwrites customized built-in skills
5 changes: 5 additions & 0 deletions .changeset/docs-state-backends.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Add user-facing documentation for state backends (git-notes, orphan-branch, worktree)
5 changes: 5 additions & 0 deletions .changeset/dynamic-state-discovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Replace hardcoded state artifact lists with dynamic directory scanning in externalize/internalize, preventing silent orphaning when new `.squad/` artifacts are added.
9 changes: 9 additions & 0 deletions .changeset/external-capability-loading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@bradygaster/squad-cli': minor
---

feat(watch): load external WatchCapabilities from .squad/capabilities/

Users can now define custom watch capabilities as .js files in `.squad/capabilities/`.
Each file default-exports a WatchCapability object (name, phase, preflight, execute).
Capabilities are loaded at watch startup and participate in the normal phase-based round cycle.
5 changes: 5 additions & 0 deletions .changeset/fix-cast-base-path.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Passes repo root to LocalAgentSource instead of .squad/ dir, preventing a double-nested .squad/.squad/agents/ lookup. In remote mode, passes paths.teamDir (team repo root) so agents are discovered from the correct location.
11 changes: 11 additions & 0 deletions .changeset/fix-copilot-message-flag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'@bradygaster/squad-cli': patch
'@bradygaster/squad-sdk': patch
---

Fix obsolete --message flag in watch and loop commands

Replace `--message` with `-p` across all watch capabilities and loop command.
Use `copilot` directly on Windows to avoid .cmd console window issues,
fall back to `gh copilot` on other platforms. Fix TOKEN_PATH typo in
comms-teams.ts (pre-existing bug from #906).
8 changes: 8 additions & 0 deletions .changeset/monorepo-subfolder-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@bradygaster/squad-cli": patch
"@bradygaster/squad-sdk": patch
---

fix: monorepo subfolder support — never run git init (#939)

When `squad init` runs in a subfolder of a monorepo, place `.github/agents/squad.agent.md` at the git root and `.squad/` in the subfolder. Never run `git init`.
9 changes: 9 additions & 0 deletions .changeset/pid-tracker-cleanup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@bradygaster/squad-cli': patch
---

fix(watch): track child process PIDs and cleanup orphans on exit

Prevents MCP server process leaks during long-running watch sessions.
Tracks PIDs of spawned copilot sessions, kills them on exit/crash,
and cleans up stale orphans from previous crashed runs on startup.
5 changes: 5 additions & 0 deletions .changeset/review-findings-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

fix: address post-merge review findings — catch unknown narrowing and deprecation warnings for start/rc commands
12 changes: 12 additions & 0 deletions .changeset/shell-injection-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
'@bradygaster/squad-sdk': patch
---

Eliminate shell injection vectors in scheduler and state backend

- Replace all `execSync` calls with `execFileSync` using explicit argv arrays (no shell interpretation)
- Refactor git helper functions to accept `string[]` instead of space-delimited strings
- Add `validateTaskRef()` for scheduler script refs (rejects null bytes, newlines)
- Add `validateStateKey()` for state backend keys (rejects null bytes, newlines, tabs, path traversal)
- Validate script task refs at manifest parse time (defense-in-depth)
- Add security-focused tests for both scheduler and state backend
5 changes: 5 additions & 0 deletions .changeset/skill-security-scanner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Add markdown-aware skill security scanner (Phase 1) to security-review.mjs. Scans .copilot/skills and .squad/skills markdown files for embedded credentials, download-and-execute patterns, and privilege escalation commands. Includes fenced code block suppression, inline code span suppression, and placeholder token detection. Zero false positives on existing 35 skill files.
5 changes: 5 additions & 0 deletions .changeset/start-tunnel-node-pty.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Validate node-pty availability before side effects in squad start --tunnel
5 changes: 5 additions & 0 deletions .changeset/teams-adapter-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-sdk': patch
---

Teams adapter: encode channelId in deep-link URL, log warning on icacls failure, add integration tests
5 changes: 5 additions & 0 deletions .changeset/teams-adapter-security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-sdk': patch
---

Teams adapter token security: tenant-scoped token cache (keyed by tenant ID hash), explicit logout() for session teardown, 15-minute device-code timeout guard, stale token cleanup on permanent auth errors, per-instance user ID cache. Migration guide for async createCommunicationAdapter change.
10 changes: 10 additions & 0 deletions .changeset/watch-p0-p1-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@bradygaster/squad-cli': patch
---

fix(watch): wire missing CLI flags to config, validate --state-backend, fix auth stderr parsing (#834)

- Wire --notify-level, --overnight-start, --overnight-end, --sentinel-file to WatchConfig and loadWatchConfig merge
- Add --state-backend flag with upfront validation against allowed values (worktree, git-notes, orphan, external)
- Fix probeCurrentGhUser() to use `gh api user -q .login` (stdout) instead of parsing `gh auth status` stderr
- Also wire authUser through loadWatchConfig merge logic (was accepted but silently dropped)
5 changes: 5 additions & 0 deletions .changeset/watch-rate-limit-detection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bradygaster/squad-cli': patch
---

Fix watch reporting "Board is clear" when GitHub API rate limit is hit. Detects rate-limit and other scan errors, shows appropriate warning instead of the misleading idle message, skips subsequent phases on failed scans, and prevents rate-limited rounds from counting as circuit-breaker successes.
Loading
Loading