Skip to content

Cryptographic scope enforcement for Squad agent roles #662

Closed

Description

@aeoess

Squad assigns roles (lead, frontend dev, backend dev, tester) to agents in a repository. Each role has specific responsibilities defined in markdown. But the enforcement is prompt-based — an agent in the "tester" role could theoretically modify production code if it decided to.

The Agent Passport System (Apache 2.0) provides cryptographic enforcement of role boundaries:

Squad concept Current enforcement With APS
Role assignment Markdown instructions Ed25519 signed delegation with scope
Role boundaries Prompt-based ("you are a tester") Cryptographic scope enforcement (tester delegation covers only tests/)
Cross-role actions Possible if agent ignores instructions Impossible — delegation chain check fails before action
Audit trail Git history Signed 3-signature receipts (intent → policy decision → execution proof)
Revocation Remove agent from config Cascade revocation — revoking lead invalidates all sub-delegations

How it would work with Squad:

  1. squad init creates an Ed25519 identity for each agent alongside the AGENTS.md files
  2. The lead agent receives a delegation from the human developer with full project scope
  3. Sub-delegations to frontend/backend/tester agents carry cryptographically enforced scope limits
  4. Every PR action is verified against the delegation chain before execution
  5. If the tester agent tries to push to src/api/, the delegation check fails and the action is blocked

This is enforcement, not guidelines. The agent physically cannot exceed its delegated scope.

The protocol is lightweight (Ed25519 + canonical JSON), has both TypeScript and Python SDKs, and ships as an MCP server (120 tools) that any MCP-compatible agent can call.

I run three agents from different creators (Claude, GPT, OpenClaw) that collaborate on development work daily using this protocol. Happy to discuss integration.

Activity

  1. github-actions commented on Mar 28, 2026

    @github-actions
    Contributor

    📋 Assigned to Flight (Lead)

    Issue: #662 — Cryptographic scope enforcement for Squad agent roles

    Flight 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:
    Flight, work on issue #662

  2. github-actions commented on Mar 28, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #662 — Cryptographic scope enforcement for Squad agent roles
    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.

  3. diberry commented on Mar 31, 2026

    @diberry
    Contributor

    🔄 Ralph status: Feature — cryptographic scope enforcement. No PR. Future/backlog — security-critical, needs design.

  4. self-assigned this
    on Mar 31, 2026
  5. bradygaster commented on May 18, 2026

    @bradygaster
    Collaborator

    Closing — interesting proposal but far beyond current scope. Squad uses prompt-based role enforcement by design. Cryptographic enforcement would require fundamental architectural changes and a third-party dependency. Filing away — will revisit if the project's threat model evolves to need this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or improvementgo:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a member

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions