You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 368958b
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .github/agents/squad.agent.md
+17-3Lines changed: 17 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,9 +154,23 @@ For each squad member with assigned issues, note them in the session context. Wh
154
154
155
155
**The user should never see a blank screen while agents work.** Before spawning any background agents, ALWAYS respond with brief text acknowledging the request. Name the agents being launched and describe their work in human terms — not system jargon. This acknowledgment is REQUIRED, not optional.
156
156
157
-
-**Single agent:**`"Fenster's on it — looking at the error handling now."`
158
-
-**Multi-agent spawn:** Show a quick launch table:
157
+
#### Task Context Signal
158
+
159
+
Before naming agents, classify how this message relates to the conversation so far. This helps users understand whether the system sees continuity or a fresh start. Use exactly one of these signals as the **first line** of your acknowledgment:
160
+
161
+
- 🔗 **Continuing**`{brief context}` — the message extends the same task thread (e.g., a follow-up question, next step, or refinement of earlier work)
162
+
- 🆕 **New task** — the message is unrelated to previous work in this session
163
+
- 🔀 **Related pivot**`{brief context}` — the message connects to earlier work but shifts focus to a different concern
164
+
165
+
Skip the signal only on the very first message of a session (there's no prior context to classify against).
166
+
167
+
#### Agent Launch
168
+
169
+
-**Single agent:**`"🔗 Continuing your auth refactor\nFenster's on it — looking at the error handling now."`
170
+
-**Multi-agent spawn:** Show the signal, then a quick launch table:
159
171
```
172
+
🔀 Related pivot from the auth work — now looking at tests
173
+
160
174
🔧 Fenster — error handling in index.js
161
175
🧪 Hockney — writing test cases
162
176
📋 Scribe — logging session
@@ -1185,7 +1199,7 @@ This runs as a standalone local process (not inside Copilot) that:
1185
1199
|-------|------|-----|
1186
1200
|**In-session**| You're at the keyboard | "Ralph, go" — active loop while work exists |
1187
1201
|**Local watchdog**| You're away but machine is on |`npx @bradygaster/squad-cli watch --interval 10`|
Copy file name to clipboardExpand all lines: .squad/agents/capcom/history.md
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,3 +30,37 @@
30
30
3.**Copilot API platform** (upstream) — source of transient errors and rate limits
31
31
32
32
Squad operates at layer #1, so issues at layers #2-3 are outside our control.
33
+
## Core Context
34
+
35
+
-**Project:** Squad — AI agent orchestration framework
36
+
-**Role:** SDK Expert
37
+
-**Joined:** 2025-01-25
38
+
39
+
## Learnings
40
+
41
+
### 2025-01-25: SDK Init Implementation Deep Dive
42
+
43
+
Completed deep technical analysis of `squad init --sdk` code paths. Key findings:
44
+
45
+
**CastingEngine is orphaned** — The SDK has a full universe-based casting system (`packages/squad-sdk/src/casting/casting-engine.ts`) with themed characters (The Usual Suspects, Ocean's Eleven), personality traits, backstories, and role-matching algorithms. **But no code calls it.** The CLI bypasses it with a hardcoded `personalityForRole()` function that generates generic personalities based on role patterns.
46
+
47
+
**Config/team sync is one-way** — The REPL init flow generates team.md, routing.md, and registry.json when casting a team, but never updates squad.config.ts. Meanwhile, `squad init --sdk` generates squad.config.ts with only Scribe, missing Ralph and all other agents. The disconnect: CLI init writes a skeleton + prompt, REPL auto-cast generates the team, but the two paths never merge into a unified config.
48
+
49
+
**Built-in agents are inconsistent** — Ralph is added by the REPL casting flow (`cli/core/cast.ts:385-386`) but not by SDK init (`cli/core/init.ts:109-115`). @copilot is a pseudo-agent — a Markdown table row inserted via `team-md.ts:insertCopilotSection()`, not a real agent with charter/history files.
50
+
51
+
**Universe selection is a dead end** — The coordinator init prompt asks the LLM to pick a universe (line 52: "Pick a fictional universe for character names"), and the coordinator responds with `UNIVERSE: Alien`, which gets stored in `casting/history.json`... and then **nothing uses it**. There's no mapping from freeform universe names to CastingEngine templates.
52
+
53
+
**The fix path is clear** — Three priority levels:
54
+
-**P0 (trivial):** Add Ralph to SDK init agents array, guide coordinator to existing CastingEngine universes
55
+
-**P1 (small/medium):** Integrate CastingEngine into CLI casting, make REPL init write squad.config.ts
56
+
-**P2 (design-heavy):** Decide config sync strategy (config-as-source vs. bidirectional), decide if @copilot should be a real agent
57
+
58
+
Written full technical analysis to `.squad/identity/sdk-init-technical-analysis.md` with file/line references, complexity estimates, and actionable recommendations for Brady's PRD.
59
+
60
+
**SDK patterns observed:**
61
+
-`defineSquad()` / `defineAgent()` builder pattern is clean and works well
**Pattern:** When working with git worktrees, always create a dedicated worktree for complex operations (rebase, cherry-pick) to avoid main worktree state interference. Use `git worktree list` to diagnose unexpected branch switching.
133
+
### SDK Init Flow Deep Dive (2026-03-08)
134
+
Traced complete `squad init --sdk` flow end-to-end for unified PRD. Key findings: (1) Init flow has two phases: CLI init creates skeleton files, REPL auto-cast creates team members. (2) Critical gap: squad.config.ts is never updated after auto-cast — members exist in .squad/ but not in config. (3) Ralph is inconsistently created (auto-cast yes, CLI init no). (4) No commands exist for adding/removing members post-init. (5) CastingEngine class exists but is never called during init — LLM-based Init Mode prompt is used instead. Roadmap written to .squad/identity/sdk-init-implementation-roadmap.md with 7 fixes prioritized by dependency graph. Critical path: sync utility → Ralph fixes → CastingEngine integration → hire/remove commands. High-risk items: squad.config.ts AST parsing (considered regex alternative). Open questions: AST vs regex for config sync, CastingEngine augment vs replace LLM, Ralph always-on vs opt-in.
135
+
136
+
📌 **Team update (2026-03-11T01:25:00Z):** SDK Init decisions finalized: Phase-based quality improvement program, CastingEngine canonical casting, squad.config.ts as source of truth, Ralph always-included, implementation priority order (sync utility first, then Ralph fixes, then CastingEngine integration). All decisions merged to decisions.md. Ready to start Phase 1 implementation.
Implemented Flight's privacy-first adoption monitoring strategy on PR #326 branch. Moved `.squad/adoption/` → `.github/adoption/` for better GitHub integration. Stripped tracking.md to aggregate-only metrics (removed all individual repo names/URLs). Updated GitHub Action workflow (adoption-report.yml) and monitoring script (scripts/adoption-monitor.mjs) to write reports to `.github/adoption/reports/`. Removed "Built with Squad" showcase link from README.md (deferred to Tier 2 opt-in feature). This honors the principle: collect aggregate metrics via public APIs, but never publish individual repo lists without explicit consent. Test discipline: verified npm run build passes; docs-build.test.ts passed structure tests (Astro build failure unrelated to changes). Committed with clear message explaining privacy rationale.
Copy file name to clipboardExpand all lines: .squad/agents/fido/history.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,3 +74,49 @@ CastingEngine augments LLM casting with curated names for recognized universes.
74
74
75
75
**Learning:** When test assertions reference file counts, they MUST be kept in sync with disk reality. The principle applies to ALL assertion arrays (EXPECTED_SCENARIOS, EXPECTED_FEATURES, EXPECTED_GUIDES, EXPECTED_REFERENCE, etc.). Consider dynamic discovery pattern (used in EXPECTED_BLOG) for resilience against content additions.
1.**Stale Test Assertions (Hard Rule Violation)** — EXPECTED_SCENARIOS array in test/docs-build.test.ts contains only 7 values ['issue-driven-dev', 'existing-repo', 'ci-cd-integration', 'solo-dev', 'monorepo', 'team-of-humans', 'cross-org-auth'], but 25 scenario files exist on disk (aspire-dashboard, client-compatibility, disaster-recovery, keep-my-squad, large-codebase, mid-project, multi-codespace, multiple-squads, new-project, open-source, private-repos, release-process, scaling-workstreams, switching-models, team-portability, team-state-storage, troubleshooting, upgrading, + 7 in array). My charter: "When I add test count assertions, I MUST keep them in sync with the actual files on disk. Stale assertions that block CI are MY responsibility to prevent." This is MY responsibility to catch.
83
+
84
+
2.**Missing EXPECTED_FEATURES Array** — PR adds 'features' to the sections list in test/docs-build.test.ts (line 46), but NO EXPECTED_FEATURES array exists. Test line 171 "all expected doc pages produce HTML in dist/" will skip features entirely. 32 feature files exist (.md files in docs/src/content/docs/features/).
85
+
86
+
📌 **Team update (2026-03-11T01:27:57Z):** PR #331 quality gate resolved. FIDO fixed test assertion sync in docs-build.test.ts: EXPECTED_SCENARIOS updated to 25 entries, EXPECTED_FEATURES array created with 32 entries, test assertions updated for features validation. Tests: 6/6 passing. Commit: 6599db6. Blocking NO-GO converted to approval gate cleared. Lesson reinforced: test assertions must be synced to filesystem state; CI passing ≠ coverage.
87
+
88
+
3.**Incomplete Test Coverage Sync** — PAO's history (line 41) states "Updated EXPECTED_SCENARIOS in docs-build.test.ts to match remaining files" after deleting ralph-operations.md and proactive-communication.md. But the diff shows ONLY a single-line change (adding 'features' to sections array). The full test update was not committed.
89
+
90
+
**POSITIVE FINDINGS:**
91
+
- ✅ CI passed (test run completed successfully on GitHub)
- ✅ Docs are well-written: sentence-case headings, active voice, present tense, second person
94
+
- ✅ Cross-references valid (labels.md link verified)
95
+
- ✅ No duplicate "How It Works" heading in reviewer-protocol.md
96
+
- ✅ Content intact (no accidental loss)
97
+
- ✅ Microsoft Style Guide compliance confirmed
98
+
99
+
**ROOT CAUSE:** PAO staged the boundary review changes but the test update commit was incomplete. The assertion arrays must be synchronized before merge.
100
+
101
+
**REQUIRED FIX:** Update test/docs-build.test.ts:
102
+
1. EXPECTED_SCENARIOS = [ all 25 actual scenario files, sorted ]
103
+
2. EXPECTED_FEATURES = [ all 32 actual feature files, sorted ]
104
+
3. Regenerate to match disk reality (use filesystem discovery if the project wants test-resilience)
105
+
106
+
**VERDICT:** 🔴 **NO-GO** — Merge blocked until test assertions sync with disk state. This is a quality gate violation.
107
+
108
+
### Test Assertion Sync Fix (2026-03-10T14:20:00Z)
109
+
110
+
**Issue resolved:** Fixed stale test assertions in test/docs-build.test.ts identified during PR #331 review.
111
+
112
+
**Changes made:**
113
+
1. Expanded EXPECTED_SCENARIOS from 7 to 25 entries (matched all .md files in docs/src/content/docs/scenarios/)
114
+
2. Added EXPECTED_FEATURES array with 32 entries (matched all .md files in docs/src/content/docs/features/)
115
+
3. Updated test logic to include features section in HTML build validation
116
+
117
+
**Validation:** All structure validation tests passing (6/6). Build tests skipped as expected (Astro not installed). Arrays now accurately reflect disk state.
118
+
119
+
**Commit:** 6599db6 on branch squad/289-squad-dir-explainer
120
+
121
+
**Learning:** When test assertions reference file counts, they MUST be kept in sync with disk reality. The principle applies to ALL assertion arrays (EXPECTED_SCENARIOS, EXPECTED_FEATURES, EXPECTED_GUIDES, EXPECTED_REFERENCE, etc.). Consider dynamic discovery pattern (used in EXPECTED_BLOG) for resilience against content additions.
Copy file name to clipboardExpand all lines: .squad/agents/flight/history.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,16 @@ Rank by: (1) bugs with active user impact, (2) quality/test gaps blocking GA, (3
29
29
30
30
**Updated wisdom.md with 4 patterns + 2 anti-patterns from recent work:** Test name-agnosticism for team rebirths, dynamic filesystem discovery for evolving content, cli-entry.ts unwired command bug pattern, bump-build.mjs version mutation timing, invalid semver formats, git reset data loss.
31
31
32
+
**Issue triage attempted for 30 open issues:** Identified 10 unlabeled issues requiring squad assignment. Enterprise Managed User permissions blocked GitHub API label updates via `gh issue edit`. Triage analysis complete:
📌 **Team update (2026-03-11T01:25:00Z):** Flight completed 30-issue triage + unified SDK Init Shore-Up PRD. CAPCOM + EECOM completed deep technical analysis + implementation roadmap. 5 decisions merged to decisions.md: Phase-based quality improvement program, CastingEngine canonical casting, squad.config.ts as source of truth, Ralph always-included, implementation priority order.
32
42
📌 **Team update (2026-03-10T12-55-49Z):** Adoption tracking architecture finalized. Three-tier system approved: Tier 1 (aggregate-only, `.github/adoption/`) shipping with PR #326; Tier 2 (opt-in registry) designed for next PR; Tier 3 (public showcase) launches when ≥5 projects opt in. Append-only file governance rule enforced to prevent data loss. Microsoft ampersand style guide adopted for all user-facing documentation.
Copy file name to clipboardExpand all lines: .squad/agents/inco/history.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,14 @@
3
3
## Core Context
4
4
5
5
Terminal flicker fix cherry-picked from main to dev — PR #405 merged (March 2026).
6
+
> UX Engineer & Interaction Designer
7
+
8
+
## Learnings
9
+
10
+
### Animation Performance Trade-offs (PR #310)
11
+
Scroll flicker fix required careful animation frame budget management. Slowdown accepted as trade-off for visual clarity and stable viewport rendering. Version footer suggestion considered for animation frame transparency.
12
+
13
+
---
14
+
15
+
📌 **Team update (2026-03-10T14-44-23Z):** PR #310 scroll flicker fix merged. 4 root causes identified by Flight: Ink clearTerminal issue, timer amplification, log-update trailing newline, unstable Static keys. Postinstall patch pattern adopted for Ink internals. Version pin recommended for stability gate.
0 commit comments