Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
dd730b7
ci: bootstrap release workflow to main for Actions visibility
bradygaster Feb 11, 2026
4469d03
release: v0.3.0
github-actions[bot] Feb 11, 2026
60dafa1
Initial plan
Copilot Feb 11, 2026
43a9469
Add version number to Squad agent name for visibility in Copilot UI
Copilot Feb 12, 2026
611a00d
Update documentation to reflect version display across Copilot hosts
Copilot Feb 12, 2026
f9bb4b5
Make version stamping more robust with regex patterns
Copilot Feb 12, 2026
5f5204a
Handle edge cases in version stamping and fix documentation consistency
Copilot Feb 12, 2026
8d37901
docs(ai-team): v0.4.0 sprint session log and decision merge
bradygaster Feb 12, 2026
67dc1a5
docs(ai-team): issue #6 go/no-go, universe expansion decisions
bradygaster Feb 12, 2026
d8a76da
docs: add gh auth login requirements to README and guide
bradygaster Feb 12, 2026
3e5b6c3
Merge pull request #19 from bradygaster/copilot/show-squad-version-in…
bradygaster Feb 12, 2026
70e8ba1
Merge branch 'main' into dev
bradygaster Feb 12, 2026
96bdd2a
docs(ai-team): notification architecture session
bradygaster Feb 12, 2026
b32d07b
docs(ai-team): notification architecture session
bradygaster Feb 12, 2026
4067378
feat: Ralph idle-watch mode — auto-poll for new work after board clears
spboyer Feb 12, 2026
cc9eb66
Merge pull request #28 from spboyer/squad/ralph-idle-watch
bradygaster Feb 13, 2026
748cd4c
Merge remote-tracking branch 'origin/main' into dev
bradygaster Feb 13, 2026
bf0539c
feat: go:/release: label automation workflows
bradygaster Feb 13, 2026
f2c6419
docs(ai-team): go/release label automation session
bradygaster Feb 13, 2026
9d24b50
docs(ai-team): merge go/release label automation decision
bradygaster Feb 13, 2026
760ae8f
feat: full namespaced label taxonomy (type:/priority:/squad:member)
bradygaster Feb 13, 2026
659055f
docs: comprehensive feature docs, sample prompts, and scenario guides
bradygaster Feb 13, 2026
c5233ae
docs(ai-team): log docs session and merge decisions
bradygaster Feb 13, 2026
8b11330
docs: team state storage options (gitignore, submodule, branch, symlink)
bradygaster Feb 13, 2026
58632bc
fix: document SSH agent requirement and workaround (#30)
bradygaster Feb 13, 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
8 changes: 8 additions & 0 deletions .ai-team/agents/fenster/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,11 @@ _Summarized from initial architecture review (2026-02-07). Full entries in `hist

- **UTF-8 emoji mojibake in test file.** `test/index.test.js` had 8 instances of garbled emoji strings (e.g. `≡ƒæñ` instead of `👤`, `≡ƒôî` instead of `📌`, `≡ƒñû` instead of `🤖`, `≡ƒƒó`/`≡ƒƒí`/`≡ƒö┤` instead of `🟢`/`🟡`/`🔴`). Root cause: file was likely saved or transferred through a system that re-encoded UTF-8 multibyte sequences as Latin-1/CP1252. Fixed all 8 instances to use real Unicode codepoints matching what `index.js` and `squad.agent.md` produce. All 118 tests pass.

- **Universe allowlist expansion (issue #21).** Added Adventure Time (community request from Gabe) plus 10 new universes to the allowlist in both `.github/agents/squad.agent.md` and `.ai-team/casting/policy.json`. New universes: Futurama, Seinfeld, The Office, Cowboy Bebop, Fullmetal Alchemist, Stranger Things, The Expanse, Arcane, Ted Lasso, Dune. Selection rationale: filled genre gaps (sitcom, anime, animation, workplace comedy, hard sci-fi, sports/comedy). Total universes went from 20 → 31. Constraints added for The Office (avoid Michael Scott at scale) and Dune (combine book/film, avoid Paul unless required). Closed issue #21.


📌 Team update (2026-02-12): Universe expansion complete — 11 new universes (Adventure Time, Futurama, Seinfeld, The Office, Cowboy Bebop, Fullmetal Alchemist, Stranger Things, The Expanse, Arcane, Ted Lasso, Dune) added to casting allowlist. Issue #21 closed. — decided by Fenster

- **SSH agent / npm spinner hang documented (issue #30).** `npx github:bradygaster/squad` resolves via `git+ssh://`. When no SSH agent is running, git prompts for a passphrase but npm's progress spinner overwrites the TTY prompt, making it look frozen. This is an npm bug, not ours. Documented workarounds in README (Install section note + Known Limitations bullet) and created `docs/scenarios/troubleshooting.md` with problem→cause→fix format covering SSH hang, gh auth, Node version, agent visibility, upgrade cache, and Windows paths. The troubleshooting doc pattern is reusable for future community-reported issues.

- **Label automation for go: and release: namespaces.** Created `squad-label-enforce.yml` workflow to enforce mutual exclusivity on `go:*` (triage verdict) and `release:*` (version target) labels. When a new label is applied, conflicting labels in the same namespace are auto-removed and a comment is posted (only if a change was made). Special cases: applying `go:yes` auto-adds `release:backlog` if no release target exists; applying `go:no` removes all release labels. Updated `sync-squad-labels.yml` to sync 3 go: labels (go:yes, go:no, go:needs-research) and 5 release: labels (release:v0.4.0, v0.5.0, v0.6.0, v1.0.0, release:backlog). Updated `squad-triage.yml` to apply `go:needs-research` as default verdict after triage assigns a squad member. Updated `squad-heartbeat.yml` to add two new checks: issues missing go: labels and go:yes issues missing release: labels. This implements "agentic DevOps" — labels drive automation, automation enforces label integrity.
30 changes: 29 additions & 1 deletion .ai-team/agents/keaton/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,10 @@ _Summarized from initial architecture review and proposal-first design (2026-02-

## Learnings

_Summarized 2026-02-10 learnings (full entries available in session logs):_
_Summarized 2026-02-10+ learnings (full entries available in session logs):_

- **2026-02-10+: Issue #6 (Project Boards) — Go/No-Go Assessment**
- **Verdict: GO (Conditional v0.4.0).** Projects V2 integration is architecturally sound and technically feasible with zero npm dependencies using `gh project *` CLI commands. Kujan's 033a assessment confirmed: 12 operations map cleanly to CLI, MCP server has zero Projects tools, provider abstraction works for GitHub/ADO/GitLab. Single prerequisite: Brady must grant `project` token scope (`gh auth refresh -s project`). Three-phase sprint plan: Phase 1 (6-9h foundation validation), Phase 2 (7-11h integration, parallelizable), Phase 3 (4-6h polish). Total 17-26h across Fenster (core), Verbal (prompts), McManus (docs). v0.4.0 timing is intentional — labels + issues (v0.3.0) are the foundation; boards are the dashboard (v0.4.0). Posted as comment on Issue #6 at https://github.com/bradygaster/squad/issues/6#issuecomment-3888277477.

- **2026-02-10: Model Selection (024 consolidated)** — Merged 024+024a+024b into single spec. 4-layer selection priority, 16-model catalog condensed to 4 columns, nuclear fallback for resilience. Status: Approved ✅ for v0.3.0 Wave 1.
- **2026-02-10: v0.3.0 Sprint Plan (027)** — 4 bets: model selection, backlog capture, demo infra, GitHub Issue sync. 2 waves, 31-43h. v0.2.0 gave hands; v0.3.0 gives a brain. Cut aggressively: no Squad DM, no agent negotiation, no speculative execution.
Expand Down Expand Up @@ -199,3 +202,28 @@ _Summarized 2026-02-10 learnings (full entries available in session logs):_
📌 Team update (2026-02-11): Proposal 034 — MCP Integration architecture designed. Recommendation: Option B (Awareness Layer, 4-6h). Blocks on WI-1 platform behavior validation. Fritz's use cases: Trello board sync + Aspire dashboard monitoring. — decided by Keaton

📌 Team update (2026-02-11): MCP Integration Direction for Squad approved — Option B (Awareness Layer) chosen. Phase 1 spike (WI-1) validates platform MCP support. See decisions.md for rationale and timeline. — decided by Keaton


📌 Team update (2026-02-12): Branching strategy finalized — feature branches (squad/{issue}-{slug}) to dev via PR, release pipeline handles preview→main — decided by Keaton, analyzed by Fenster, hardened by Kobayashi

📌 Team update (2026-02-12): Release process hardened with branch protection rules and CI/CD-only writes to preview/main — decided by Kobayashi and Brady

📌 Team update (2026-02-12): Issue #6 (Project Boards) approved for v0.4.0. GO (Conditional) — pending Brady's project token scope grant. 3-phase implementation plan (17-26 squad-hours), agent assignments finalized. — decided by Keaton
📌 Team update (2026-02-13): go:/release: label automation shipped — Four-workflow system enforces label namespace integrity (go:* triage verdicts, release:* version targets). Mutual exclusivity at runtime, special cases (go:yes auto-adds release:backlog), heartbeat detects label hygiene gaps. Labels-as-state-machine is now foundational to GitHub-native workflow. — decided by Fenster

- **2026-02-11: Proposal 034 — Squad Pings You (Notification Architecture)**
- **Brady's vision:** "It needs to feel like I'm not in the team room, they are, and they need me so they pinged me." He wants notifications on his phone (Teams or iMessage) when squad agents hit a wall requiring human input.
- **Architectural decision: Squad ships ZERO notification infrastructure.** This is an MCP integration pattern — the consumer brings their own notification MCP server (Teams, iMessage, Discord, webhook). Squad teaches agents WHEN and HOW to notify via a skill.
- **Three-layer architecture:** (1) Notification skill at .ai-team/skills/human-notification/SKILL.md teaches agents when to ping, (2) MCP tool abstraction (no hardcoded tool names), (3) Consumer's MCP server (user-configured in .vscode/mcp.json).
- **Notification trigger taxonomy:** BLOCKED (work cannot proceed), ERROR (unrecoverable failure), DECISION (strategic choice needed), COMPLETE (opt-in only, for completion notifications).
- **Platform-agnostic message format:** Agent name + emoji + type badge + context + action + link. Platform-specific renderers: Teams (Adaptive Cards), iMessage (plain text), webhook (JSON payload).
- **Primary path: Microsoft Teams.** Brady said "ideal, especially per-repo channels." Teams channels-per-repo is native, Incoming Webhooks are simple (POST JSON to URL), mobile UX is enterprise-standard. Official MCP server exists: @microsoft/teams.mcp.
- **Secondary path: iMessage (Mac-only).** Zero account setup, instant delivery. Limitations: requires macOS with Messages.app running, cannot run headless. MCP server exists: imessage-mcp or imsg CLI.
- **Graceful degradation:** If no MCP server is configured, agents log the notification attempt and continue. Notifications are an enhancement, not a requirement.
- **Integration with existing features:** Human Team Members get BLOCKED notifications when work routes to them. Ralph can escalate stale work via notifications (opt-in). Coordinator triggers notifications when agents return blocked.
- **Zero maintenance burden for Squad:** The consumer owns the MCP server, credentials, and delivery mechanism. When Teams changes their API, the MCP server maintainer updates the server — not Squad.
- **Sprint estimate:** 1.8 squad-days (core) + 0.3 squad-days (Ralph integration, optional). Target version: 0.3.0 (alongside GitHub-native proposals).
- **Key file paths:** eam-docs/proposals/034-notification-architecture.md (full spec), .ai-team/skills/human-notification/SKILL.md (agent-facing skill), future docs/notifications.md (consumer setup guide).


📌 Team update (2026-02-12): Squad Notification Architecture (Proposal 034) merged into decisions.md — MCP integration pattern, Teams primary, iMessage secondary, skill-based trigger system (BLOCKED/ERROR/DECISION/COMPLETE). — decided by Keaton
8 changes: 8 additions & 0 deletions .ai-team/agents/kobayashi/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,11 @@ _Summarized from sessions through 2026-02-09. Full entries in `history-archive.m
📌 Team update (2026-02-11): Per-agent model selection implemented with cost-first directive (optimize cost unless writing code) — decided by Brady and Verbal

📌 Team update (2026-02-11): MCP Integration Direction for Squad approved — Option B (Awareness Layer) chosen. Phase 1 spike (WI-1) validates platform MCP support. See decisions.md for rationale and timeline. — decided by Keaton

## Learnings

- **v0.3.0 release entry created** — Added comprehensive CHANGELOG.md entry documenting five shipped features (per-agent model selection, Ralph work monitor, @copilot integration, universe expansion, milestones rename), four Changed items (tests, emoji fixes, agent.md expansion, index.js upgrade fix), and community contributions (2 PRs from @spboyer, 4 new issues from external contributors). Entry follows v0.2.0 format (Added/Changed/Community sections) and preserves content tree with v0.2.0 and v0.1.0 below. Date: 2026-02-11.


📌 Team update (2026-02-12): Cross-client sub-agent API research complete — squad.agent.md uses task tool exclusively for CLI platform, VS Code uses runSubagent, no unification planned — research by Kujan
📌 Team update (2026-02-13): go:/release: label automation shipped — Four-workflow system enforces label namespace integrity (go:* triage verdicts, release:* version targets). Workflows: squad-label-enforce.yml (mutual exclusivity), sync-squad-labels.yml (sync 8 static labels), squad-triage.yml (default go:needs-research), squad-heartbeat.yml (detect label gaps). Labels-as-state-machine is foundational to GitHub-native workflow. — decided by Fenster
5 changes: 5 additions & 0 deletions .ai-team/agents/kujan/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,8 @@ _Summarized 2026-02-10 learnings (full entries in session logs and proposals):_

📌 Team update (2026-02-11): Discord is the v0.3.0 MVP messaging connector. Gateway must be platform-agnostic with zero GitHub-specific imports. — decided by Keaton

- **Issue #18: Version Display in Agent Output** — Investigated how to show Squad version across Copilot hosts. Key finding: the version stamping pipeline (`stampVersion()` in `index.js`) already embeds the version into `squad.agent.md` frontmatter during install/upgrade — the version was present but unused at runtime. Solution: added a `Version` instruction to the Coordinator Identity section telling the coordinator to read its own frontmatter version and include `Squad v{version}` in its first response. Zero `index.js` changes needed. Works across CLI, VS Code, and GitHub.com because it's coordinator behavior, not host-specific. The `description` frontmatter field and `task` tool `description` parameter were rejected as too noisy/per-spawn respectively.



📌 Team update (2026-02-12): Version display implemented via Coordinator self-announcement in squad.agent.md — leverages existing version stamping infrastructure — decided by Kujan
Loading