Skip to content

Implementation: Ambient Personal Squad (#329 + #344) #508

Closed

Description

@bradygaster

Summary

Implementation plan for the Ambient Personal Squad feature, based on Flight's architecture review and 19-task breakdown.

Refs: #329, #344

Background

Flight validated the 20KB design doc and identified 5 gaps (all resolved):

  1. No resolvePersonalAgents() function signature — added to plan
  2. Scenario 9 contradiction: personal agents writing to project orchestration log (violates ghost protocol) — coordinator writes audit trail instead
  3. --team-root scope undefined — additive CLI flag on squad init, backward compat
  4. squad personal init missing — bootstrapping path for first-time users
  5. No SQUAD_NO_PERSONAL kill switch — env var gates ambient discovery at earliest point

Implementation Plan — 4 PRs

PR #1 — SDK Foundation (EECOM)

  • ResolvedSquadPaths.personalDir — add personal dir to resolved paths
  • resolvePersonalSquadDir() — platform-aware personal squad directory resolution
  • PersonalAgentMeta type — metadata for personal agents (origin: 'personal')
  • resolvePersonalAgents() — discover and load personal agents
  • mergeSessionCast() — merge personal agents into session cast
  • ensureSquadPathTriple() — extend dual-root path guard to triple-root for personal dirs
  • SQUAD_NO_PERSONAL env var — kill switch for ambient discovery

PR #2 — CLI Surface (EECOM, depends on PR #1)

  • squad personal init — bootstrap a personal squad
  • squad personal list — list personal agents
  • squad personal add — add a personal agent
  • squad personal remove — remove a personal agent
  • squad cast — show current session cast (project + personal)
  • --team-root flag — explicit team root override
  • Wiring + package exports

PR #3 — Governance (Procedures, concurrent with PR #1)

  • squad.agent.md updates for personal squad awareness
  • Ghost Protocol template — rules for personal agent behavior in project context
  • personal-charter.md template — charter template for personal agents
  • Consult mode detection and routing rules

PR #4 — Tests (Sims, after PR #1 + #2)

  • E2E ambient discovery tests
  • Ghost Protocol enforcement tests
  • Routing scenario tests (personal vs project agents)
  • Unit tests for all SDK functions

MVP

PR #1 + PR #3 — users see ambient cast immediately. squad personal commands (PR #2) are quality-of-life on top.

Key Decisions

  • Personal agents tagged with origin: 'personal' and Ghost Protocol applied
  • Audit trail is coordinator-written in project orchestration log (personal agents don't write to project state)
  • SQUAD_NO_PERSONAL env var gates ambient discovery at the earliest point
  • Dual-root path guard extended to triple-root (ensureSquadPathTriple) for personal dirs
  • Personal squad paths resolved via platform detection (never hard-coded)
  • Resolution priority: explicit (CLI flag) > project config > env var > git remote mapping > path mapping > default

Status

Design validated. Ready for EECOM to start PR #1.

Activity

  1. github-actions commented on Mar 22, 2026

    @github-actions
    Contributor

    📋 Assigned to Sims (E2E Test Engineer)

    Issue: #508 — Implementation: Ambient Personal Squad (#329 + #344)

    Sims will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Sims, work on issue #508

  2. github-actions commented on Mar 22, 2026

    @github-actions
    Contributor

    📋 Assigned to EECOM (Core Dev)

    Issue: #508 — Implementation: Ambient Personal Squad (#329 + #344)

    EECOM will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    EECOM, work on issue #508

  3. github-actions commented on Mar 22, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #508 — Implementation: Ambient Personal Squad (#329 + #344)
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  4. github-actions commented on Mar 22, 2026

    @github-actions
    Contributor

    📋 Assigned to Procedures (Prompt Engineer)

    Issue: #508 — Implementation: Ambient Personal Squad (#329 + #344)

    Procedures will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Procedures, work on issue #508

  5. bradygaster commented on Mar 22, 2026

    @bradygaster
    CollaboratorAuthor

    @jsturtevant - thoughts?

  6. 9 remaining items

  7. bradygaster commented on Mar 23, 2026

    @bradygaster
    CollaboratorAuthor

    All 4 PRs merged: #536 (SDK foundation), #538 (CLI commands), #539 (governance), #541 (tests). Ambient Personal Squad is shipped.

  8. dat-intellis commented on Mar 24, 2026

    @dat-intellis

    This sounds like a great addition, but I must admit I'm confused as to how Im supposed to use this based on the currently available documentation on personal squads: https://bradygaster.github.io/squad/docs/guide/personal-squad/#4-use-case-your-side-projects-get-a-team

    Any pointers?

  9. added a commit that references this issue on Mar 26, 2026
    770e344
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationnext-upPriority queue — next issues to workpriority:p1This sprintsquadSquad triage inbox — Lead will assign to a membertype:featureNew capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions