fix(upgrade): context-aware footer + EPERM handling + gitignore parent coverage (#549)#551
Closed
bradygaster wants to merge 135 commits intomainfrom
Closed
fix(upgrade): context-aware footer + EPERM handling + gitignore parent coverage (#549)#551bradygaster wants to merge 135 commits intomainfrom
bradygaster wants to merge 135 commits intomainfrom
Conversation
… merged Session: 2026-03-07T20-03-20Z-v0821-release Requested by: Spawn manifest (release coordination) Changes: - Logged orchestration outputs for Kobayashi, Hockney, McManus, Rabin - Logged session summary: v0.8.21 release complete (3,768 tests passing, docs deployed) - Merged decisions from inbox: npm publish CI directive + Kobayashi's GitHub Actions automation - Propagated cross-agent updates to affected agents' history.md (Kobayashi, Hockney, McManus, Rabin) Directives: - GitHub Actions (publish.yml) is now authoritative for npm publishing; local npm publish deprecated - Brady must add NPM_TOKEN secret to GitHub repo settings to enable CI-based publishing
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # package.json # packages/squad-cli/package.json # packages/squad-sdk/package.json
# Conflicts: # .squad/agents/_alumni/kobayashi/history.md
Add the required changeset for the README docs fix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When squad init runs inside a subdirectory of a parent git repo, copilot resolves .github/agents/ from the git root (parent), not from CWD. This makes the Squad agent invisible to copilot. Added detectParentGitRepo() to init.ts that: - Compares CWD to git rev-parse --show-toplevel - Warns the user if they differ - Auto-runs git init to create a proper repo boundary Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Session: 2026-03-13T17-53-reskill Requested by: squad-coordinator Changes: - Logged reskill session (Verbal skills, charter trim, history hygiene) - Verbal created 3 skills: reskill, agent-collaboration, ci-validation-gates - Keaton trimmed all 22 charters (25.7KB savings, 42.2% reduction) - Hockney deduplicated 6 agent histories (204.5KB savings, 84.8% reduction) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Session: 2026-03-13T20-28-00Z-issue-triage Agent: Keaton (Lead) Changes: - Logged issue triage session (47 issues processed) - Remapped 19 Apollo 13 labels to Usual Suspects cast - Triaged 26 unlabeled issues - Closed 2 duplicate issues Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds custom universe casting from contributor boclifton-MSFT. Users can define custom character lists in .squad-templates/casting/. Replaces real-name examples with fictional ones per review feedback. Co-authored-by: boclifton-MSFT <102168009+boclifton-MSFT@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updates README.md links to point to published docs site instead of local paths. Co-authored-by: Matthew Corven <27839633+matthewcorven@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds prominent recommendation to use 'copilot --yolo' in Quick Start guide to avoid approval prompts for each tool call. Co-authored-by: Dina Berry <41597107+diberry@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds mandatory scannability framework for content review. Defines when to use paragraphs, bullets, tables, and callouts. Includes decision test for format selection. Co-authored-by: Dina Berry <41597107+diberry@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…346) Replaces hardcoded ~/.squad/ references with platform-aware descriptions. The SDK correctly resolves personal squad paths via resolveGlobalSquadPath(). Co-authored-by: James Sturtevant <648372+jsturtevant@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updated history with PR merge pattern learnings and base branch handling strategies.
Co-authored-by: Dina Berry <diberry@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Dina Berry <diberry@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Sturtevant <jsturtevant@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Dina Berry <diberry@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
New docs pages derived from public blog post analysis: - scenarios/ralph-operations.md: outer loop deployment, mutex, logging, alerting - scenarios/proactive-communication.md: two-way Teams webhooks and scanning - features/issue-templates.md: squad-aware issue templates, routing labels - features/reviewer-protocol.md: trust levels section (full/selective/self-managing) - test/docs-build.test.ts: assertions updated for new pages All content follows Microsoft Style Guide. No individual repo names — aggregate references only per owner privacy directive. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove ralph-operations.md and proactive-communication.md — both document infrastructure around Squad (webhooks, WorkIQ, deployment patterns) rather than Squad itself. Content moves to Squad IRL repo. Reframe issue-templates.md to clarify GitHub Issue Templates are a platform feature configured for Squad routing, not a Squad feature. Litmus test applied: if Squad doesn't ship the code/config, it belongs in IRL. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Created comprehensive documentation for working across GitHub personal
accounts and GitHub Enterprise Managed Users (EMU):
- New scenario page: scenarios/cross-org-auth.md
- Three solution approaches: gh auth switch, Copilot instructions,
Squad skill pattern
- Git credential helper configuration
- Common error messages and verification steps
- Updated troubleshooting.md with cross-org auth section
- Updated enterprise-platforms.md authentication section with cross-ref
- Added navigation entry for Cross-Org Auth scenario
- Updated test assertions in docs-build.test.ts
Follows Microsoft Style Guide (sentence-case headings, active voice).
Includes practical examples and cross-references to related pages.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixed test assertion arrays to match actual files on disk: - EXPECTED_SCENARIOS: expanded from 7 to 25 entries - EXPECTED_FEATURES: added new array with 32 entries This resolves the sync issue identified in PR #331 review where test assertions were out of sync with docs/src/content/docs/ structure. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ntent triage, remote access proposal Session: 2026-03-11T01-27-57-post-work-orchestration Agents: FIDO (Quality Owner), Flight (Lead) Changes: - Orchestration logs for FIDO (test assertion sync fix, commit 6599db6) and Flight (content triage skill) - Merged 6 decisions from inbox to decisions.md - Consolidated boundary heuristic: "Squad Ships It" (docs vs IRL) across content-triage skill and PR #331 review - Added content-triage workflow for external content integration - Added phased rollout proposal for remote Squad access (Discussions → Copilot → Chat) - Added PR trust levels spectrum (full/selective/self-managing) - Cross-agent updates: FIDO, Flight, PAO history.md sync; boundary heuristic shared Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…dlers Includes: - SkillScriptLoader with handler types - Replace CONCERN_TOOL_MAP with directory scan - OTel instrumentation for skill handlers - resolveSkillPath DRY refactor - backendConfig security docs Co-authored-by: Emmitt <1337ERJ1337@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove incorrect lazyRunShell() call in cli-entry.ts (use runShell directly) - Remove undefined maxVisible prop from MessageStream component Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: spboyer <spboyer@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- docs-build.test.ts: Add EXPECTED_CONCEPTS array for new concepts/ docs Added 5 concept files (github-workflow, memory-and-knowledge, parallel-work, portability, your-team) and included them in HTML generation test - shell-metrics.test.ts: Clear OTEL_EXPORTER_OTLP_ENDPOINT in disabled test enableShellMetrics() returns true if either SQUAD_TELEMETRY=1 OR OTEL_EXPORTER_OTLP_ENDPOINT is set. Test now clears both to verify disabled state - cli-packaging-smoke.test.ts: Remove non-existent commands Removed 'subsquads', 'upstream', and 'workstreams' commands that were removed in recent PRs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: economy mode skill, governance proposals for #500 and #344 - Add .squad/skills/economy-mode/SKILL.md: Layer 3 cost modifier - Economy table shifts code tasks to gpt-4.1/gpt-5-mini, arch to sonnet - Activation: session phrase, config.json economyMode:true, or --economy flag - Layer 0/1/2 (user intent) always overrides economy mode - 💰 indicator in spawn acknowledgments - Confidence: low (first implementation) - Add .squad/decisions/inbox/procedures-economy-mode-governance.md - Draft additions to squad.agent.md for Flight review - Economy mode paragraph after Layer 0, updated table, 💰 convention - Valid models catalog audit findings (claude-sonnet-4.6 missing, etc.) - Add .squad/decisions/inbox/procedures-personal-squad-governance.md - Five gap analysis: Init Mode, consult mode detection, TEAM_ROOT semantics, charter templates, missing consult-mode skill - Proposed CONSULT_MODE spawn signal and 🧳 acknowledgment format - Proposed new consult-mode skill (post-governance-approval) - Update procedures history.md with learnings Closes #500 References #344 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: economy mode for cost-conscious model selection (#500) Add economy mode that shifts model selection to cheaper alternatives at Layer 3 (task-aware auto) and Layer 4 (default). Explicit user preferences at Layers 0-2 are never overridden. SDK changes: - Add ECONOMY_MODEL_MAP and applyEconomyMode() to config/models.ts - Add readEconomyMode() / writeEconomyMode() for config.json persistence - Update resolveModel() in config/models.ts with economyMode option - Update resolveModel() in agents/model-selector.ts with economyMode option CLI changes: - Add 'squad economy [on|off]' command for persistent toggle - Add --economy global flag for session-level activation (SQUAD_ECONOMY_MODE=1) Tests: - 34 new tests in test/economy-mode.test.ts (all passing) Economy model table: claude-opus-4.6 -> claude-sonnet-4.5 (architecture/review) claude-sonnet-4.6 -> gpt-4.1 (code writing) claude-haiku-4.5 -> gpt-4.1 (docs/mechanical) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add .squad/skills/economy-mode/SKILL.md: Layer 3 cost modifier
- Economy table shifts code tasks to gpt-4.1/gpt-5-mini, arch to sonnet
- Activation: session phrase, config.json economyMode:true, or --economy flag
- Layer 0/1/2 (user intent) always overrides economy mode
- 💰 indicator in spawn acknowledgments
- Confidence: low (first implementation)
- Add .squad/decisions/inbox/procedures-economy-mode-governance.md
- Draft additions to squad.agent.md for Flight review
- Economy mode paragraph after Layer 0, updated table, 💰 convention
- Valid models catalog audit findings (claude-sonnet-4.6 missing, etc.)
- Add .squad/decisions/inbox/procedures-personal-squad-governance.md
- Five gap analysis: Init Mode, consult mode detection, TEAM_ROOT semantics,
charter templates, missing consult-mode skill
- Proposed CONSULT_MODE spawn signal and 🧳 acknowledgment format
- Proposed new consult-mode skill (post-governance-approval)
- Update procedures history.md with learnings
Closes #500
References #344
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add rateLimitGuidance() and extractRetryAfter() to error-messages.ts - Detect rate limit errors (instanceof RateLimitError or message pattern) in handleDispatch catch block instead of falling through to generic message - Show actionable recovery: retry time, squad economy on, model override - Write .squad/rate-limit-status.json on detection for squad doctor to read - Add checkRateLimitStatus() to squad doctor — warns on recent rate limits, passes when stale (>4h), silent when no rate limit has been hit - 36 new tests covering rateLimitGuidance, extractRetryAfter, and doctor check Closes #464 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add orchestration log: 2026-03-22T22-45-flight-triage-525.md - Add session log: 2026-03-22T22-45-triage-session.md - Merge decision inbox (6 files) into decisions.md: - flight-triage-525.md (validated #525, P2 rating, sub-issue decomposition, top-5 v1 priorities) - eecom-economy-mode.md (economy mode design decision) - eecom-node-sqlite.md (Node 22.5.0+ hard-fail decision) - eecom-rate-limit-ux.md (rate limit detection and recovery) - procedures-economy-mode-governance.md (squad.agent.md governance proposal) - procedures-personal-squad-governance.md (consult mode governance proposal) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…udit, #533 filed Orchestration logs for all 12 agent actions from 2026-03-23 parallel session: - EECOM: SDK foundation, CLI surface, Ralph commands, worktree cleanup, VCS audit - Procedures: Governance, issue lifecycle, coordinator worktree - Flight: Issue decomposition, heuristic decision, doctor support - FIDO: Test suite (27 tests, 4,818 passing) Session log summarizes all work with decision captures, next steps, blocking status. Merged user directive: Teams messaging requires Brady approval and content review. Deleted: .squad/decisions/inbox/copilot-directive-20260322-173914.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…#536) - Add personalDir to ResolvedSquadPaths - Add resolvePersonalSquadDir() with SQUAD_NO_PERSONAL kill switch - Add PersonalAgentMeta/PersonalAgentManifest types - Add resolvePersonalAgents() for personal agent discovery - Add mergeSessionCast() to merge personal into project cast - Add ensureSquadPathTriple() for triple-root path validation - Export all new functions and types Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(sdk): add personal squad resolution and ambient discovery (#508) - Add personalDir to ResolvedSquadPaths - Add resolvePersonalSquadDir() with SQUAD_NO_PERSONAL kill switch - Add PersonalAgentMeta/PersonalAgentManifest types - Add resolvePersonalAgents() for personal agent discovery - Add mergeSessionCast() to merge personal into project cast - Add ensureSquadPathTriple() for triple-root path validation - Export all new functions and types Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat(cli): add personal squad commands and cast display (#508) - Add 'squad personal init/list/add/remove' subcommands - Add 'squad cast' to show merged session cast - Add --team-root CLI flag for explicit team root override - Register commands in cli-entry.ts with help text PR #2 of #508 implementation plan. Depends on: squad/508-sdk-foundation (PR #1) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add Ghost Protocol template for personal agent behavior rules - Add personal charter template for personal agents - Update squad.agent.md with personal squad awareness - Add consult mode detection and routing - Add personal-squad skill document PR #3 of #508 implementation plan. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…543) Create the missing issue-lifecycle template document referenced by squad.agent.md at lines 1097 and 1103. Documents the complete issue→branch→PR→merge lifecycle across GitHub, Azure DevOps, and Planner platforms. Includes: - Platform-specific issue state mappings - Branch naming conventions (squad/{issue-number}-{slug}) - PR creation and review workflows - Ralph's role in issue lifecycle monitoring - Spawn prompt additions for issue context - Merge commands and cleanup procedures - Common lifecycle patterns and anti-patterns This template provides the reference guide that agents use when working on repository issues, from initial assignment through PR merge and cleanup. Closes #527 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Test resolvePersonalSquadDir() with kill switch and dir detection - Test resolvePersonalAgents() discovery and metadata parsing - Test mergeSessionCast() dedup and precedence rules - Test ensureSquadPathTriple() path validation for triple-root mode - Test Ghost Protocol enforcement - Test CLI personal commands (init, list, add, remove) Added package.json exports for: - @bradygaster/squad-sdk/config/agent-source - @bradygaster/squad-cli/commands/personal - @bradygaster/squad-cli/commands/cast Fixed help text formatting to stay within 80-char UX gate. PR #4 of #508 implementation plan. All 27 tests pass. Full test suite: 4818 tests passing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add pre-spawn worktree setup logic to coordinator prompt - Add WORKTREE_PATH and WORKTREE_MODE to spawn templates - Add worktree lifecycle management section - Document worktree reuse and dependency management Closes #529 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…518) * feat: cooperative rate limiting with predictive circuit breaker (#515) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: TypeScript strict null checks and add missing SDK export - Add non-null assertions for array indexing in PredictiveCircuitBreaker - Add ./ralph/rate-limiting export entry to SDK package.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: split canUseQuota into pure read + consumeQuota, fix JSDoc - canUseQuota() is now a pure read — returns boolean, no side effects - consumeQuota() handles stale lease reclamation and usage tracking - Correct JSDoc: prediction uses first-to-last delta rate, not linear regression - Update tests: add consumeQuota test suite, fix canUseQuota purity assertions Fixes Q review findings on PR #518: side-effect bug in canUseQuota() and inaccurate 'linear regression' JSDoc claim. * fix: use subpath imports in rate-limiting tests, remove unused writeFile import - Changed test import from relative path to @bradygaster/squad-sdk/ralph/rate-limiting - Removed unused writeFile import from rate-limiting.ts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: bradygaster <bradyg@microsoft.com>
* docs: KEDA external scaler template for autoscaling (#516) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: remove stray test/capabilities.test.ts (belongs to PR #520) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: bradygaster <bradyg@microsoft.com>
* feat: machine capability discovery & needs:* label routing (#514) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: machine capability discovery & needs:* label routing (#514) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: revert package-lock.json engine requirement to >=20.0.0 The lockfile had been regenerated with >=22.5.0 engine requirements, which is a breaking change. Reverting to keep Node >=20 compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: bradygaster <bradyg@microsoft.com>
10 fixes addressing 13 upgrade gaps found during 3-agent audit. Cross-tested across 23 repos (244/245 checks passing, 99.6%). Fixes #544 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix broken link in cli.md: getting-started/index.md → guide.md - Add TELMU and Automator to cspell dictionary - Increase validateWorkItemType case-insensitive test timeout to 10s (execFileSync calls az CLI twice with 3s timeout each, exceeding 5s default) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Anonymized writeup of squad fanning out 9 agents across 23 repos (244/245 checks passing) to validate the upgrade path before release. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Propagate canonical template changes from .squad-templates/ to all target directories (templates/, packages/squad-cli/templates/, packages/squad-sdk/templates/, .github/agents/). Includes new skill templates, casting Futurama universe, rate-limiting/circuit-breaker docs, and personal squad coordinator section in squad.agent.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The patch-esm-imports script was skipping when any exports field existed, even if it was incomplete (missing ./node.js). Now checks for the critical ./node.js subpath specifically before skipping. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…t coverage (#549) - Footer now shows "Privacy scrub applied" when email scrub ran, "Preserves user state" otherwise (fixes contradictory messaging) - ensureGitattributes gracefully warns on EPERM instead of crashing - ensureGitignore skips entries already covered by parent paths Closes #549 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Orchestration log: EECOM #549 privacy scrub fix (PR #551) - Orchestration log: Flight community PR batch review (5 PRs reviewed) - Session log: 2026-03-23T06-50-00Z PR review + #549 consolidation - Merged decisions from inbox: * Context-aware upgrade footer message (#549) * Community PR batch review outcomes (diberry, tamirdresher, JasonYeYuhe) * Tamirdresher PR series guidance - Updated agent histories with session outcomes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace npx @bradygaster/squad-cli with squad (global install) - Remove npx alternatives and stale migration notes - Remove deprecated 'npx github:bradygaster/squad' hang troubleshooting section - Update insider-program.md to use npm install -g @bradygaster/squad-cli@insider - Audit 'agency' usage — all hits are MIT attribution for agency-agents (keep) - Fix cli-entry.ts example: agency copilot -> gh copilot 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>
Owner
Author
|
Merged locally to dev — branch work complete. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #549
Tested: upgrade test suite passes, end-to-end agent testing on upgrade path completed.