aiwg
Version:
Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.
272 lines (187 loc) • 8.98 kB
Markdown
# Agent Permission Tiers
**Version**: 1.0.0
**Status**: Active
**Platform**: Claude Code v2.1.33+
## Overview
This document defines a 3-tier permission model for AIWG agents that controls which sub-agents each agent can spawn. This leverages Claude Code's `Task(agent_type)` syntax introduced in v2.1.33 to enforce least-privilege access and prevent runaway agent spawning.
## Platform Compatibility
| Platform | Support | Notes |
|----------|---------|-------|
| Claude Code | Full | Native `Task(agent_type)` support |
| GitHub Copilot | Partial | Uses different delegation model |
| Cursor | N/A | No sub-agent spawning |
| Windsurf | N/A | Uses different agent model |
| Cline | N/A | Single-agent model |
This permission model is primarily for Claude Code. Other platforms handle agent restrictions through different mechanisms.
## Three-Tier Model
### Tier 1: Analyst (Read-Only)
**Permission**: `Task(Explore)` only - can spawn Explore agents for information gathering
**Philosophy**: Analysis and review agents should gather information and produce reports, not execute code or spawn implementation agents.
**Tool Access**: Read, Grep, Glob (information gathering only)
**Agents**:
| Category | Agents |
|----------|--------|
| **Requirements** | requirements-analyst, requirements-reviewer, requirements-documenter |
| **Domain Analysis** | domain-expert, business-process-analyst, system-analyst |
| **Security Review** | security-auditor, security-architect, security-gatekeeper |
| **Code Review** | code-reviewer, citation-verifier, quality-assessor |
| **Governance** | legal-liaison, privacy-officer, raci-expert, decision-matrix-expert |
| **Strategy** | metrics-analyst, product-strategist, product-designer, vision-owner |
| **Documentation** | documentation-archivist, documentation-synthesizer |
| **Writing** | technical-writer, test-documenter, architecture-documenter |
**Rationale**: These agents analyze, review, and document. They should not execute code or spawn implementation agents. Limiting to `Task(Explore)` prevents escalation from analysis to implementation.
### Tier 2: Implementation (Execute + Explore)
**Permission**: `Task(Explore)`, `Task(Bash)` - can spawn Explore and Bash agents
**Philosophy**: Implementation agents need to run tests, build code, and validate their work. They can spawn exploratory agents for investigation and Bash agents for execution.
**Tool Access**: Read, Write, Bash, Grep, Glob (full development toolset)
**Agents**:
| Category | Agents |
|----------|--------|
| **Development** | software-implementer, test-engineer, test-architect |
| **Debugging** | debugger, database-optimizer, performance-engineer |
| **DevOps** | devops-engineer, build-engineer, cloud-architect |
| **Modernization** | legacy-modernizer, incident-responder, reliability-engineer |
| **Integration** | integration-engineer, deployment-manager, environment-engineer |
| **Accessibility** | accessibility-specialist, api-designer, api-documenter |
| **Tooling** | toolsmith, mcpsmith, skillsmith, commandsmith, agentsmith |
| **Research** | technical-researcher |
**Rationale**: These agents produce working code and infrastructure. They need execution capability to test their work but should not have unrestricted agent spawning.
### Tier 3: Orchestrator (Unrestricted)
**Permission**: Full `Task` - can spawn any agent type
**Philosophy**: Orchestrators coordinate work across multiple specialists. They need unrestricted delegation to route tasks appropriately.
**Tool Access**: Read, Write, Bash, Grep, Glob (full toolset)
**Agents**:
| Category | Agents |
|----------|--------|
| **Orchestration** | executive-orchestrator, architecture-designer |
| **Intake** | intake-coordinator, project-manager |
| **Management** | configuration-manager, traceability-manager |
| **Context** | context-librarian, component-owner |
**Rationale**: These agents manage workflows and delegate to specialists. They need full Task access to route work effectively.
## Permission Enforcement
### Claude Code Frontmatter
For Claude Code agents, the `tools:` field in frontmatter should reflect tier:
**Analyst Tier**:
```yaml
name: Requirements Analyst
tools: Read, Grep, Glob
# No Task listed - cannot spawn sub-agents (or Task(Explore) if exploration needed)
```
**Implementation Tier**:
```yaml
name: Software Implementer
tools: Bash, Read, Write, Grep, Glob
# Can spawn Explore and Bash agents
```
**Orchestrator Tier**:
```yaml
name: Executive Orchestrator
tools: Bash, Read, Write, Grep, Glob
# Can spawn any agent (unrestricted Task)
```
### Runtime Enforcement
Claude Code enforces `Task(agent_type)` restrictions at runtime. Attempting to spawn an unauthorized agent type results in:
```
Error: Agent 'requirements-analyst' cannot spawn agent type 'Bash'.
Permitted types: Explore
```
## Escalation Paths
When an agent needs capabilities beyond its tier:
### Analyst → Implementation
**Scenario**: Security Auditor finds vulnerability requiring code fix
**Solution**: Generate finding report, escalate to orchestrator to delegate to Software Implementer
**Pattern**:
```markdown
# Security Finding: SQL Injection in login.ts
**Severity**: Critical
**Location**: src/auth/login.ts:42
**Recommendation**: Parameterize query
**Escalation**: Requires code change beyond auditor scope.
Request delegation to Software Implementer.
```
### Implementation → Orchestrator
**Scenario**: Software Implementer encounters architectural decision
**Solution**: Document decision point, escalate to Architecture Designer
**Pattern**:
```markdown
# Implementation Blocker: Database Schema Decision
**Context**: Implementing user preferences storage
**Options**: JSON column vs normalized tables
**Impact**: Performance, maintainability, query complexity
**Escalation**: Requires architectural decision.
Request Architecture Designer evaluation.
```
## Security Implications
### Least Privilege
Restricting agent spawning follows the principle of least privilege:
- Analyst agents cannot accidentally introduce code changes
- Implementation agents cannot spawn unrestricted orchestrators
- Only designated orchestrators have full delegation authority
### Attack Surface Reduction
By limiting Task access:
- Reduces risk of runaway agent spawning
- Prevents privilege escalation through agent chaining
- Creates clear audit trail of delegation decisions
### Monitoring
Track agent spawning patterns:
| Metric | Alert Threshold |
|--------|----------------|
| Analyst spawns Bash | Any occurrence (should be impossible) |
| Implementation spawns Orchestrator | Any occurrence (escalation required) |
| Orchestrator spawn depth | >3 levels (potential runaway) |
## Migration Notes
### Existing Agents
Most existing agent definitions don't explicitly list `Task` in tools. This is correct - Task is a runtime capability, not a frontmatter declaration.
### Documentation Update
This document serves as the canonical reference for permission tiers. Agent definitions should reference this document:
```markdown
## Permission Tier
Tier: Analyst
Permitted Task types: Explore
See @agentic/code/frameworks/sdlc-complete/docs/agent-permission-tiers.md
```
### Cross-Platform
For platforms without `Task(agent_type)` support, this tier model serves as design guidance. Implement equivalent restrictions through platform-specific mechanisms.
## Examples
### Analyst Tier: Requirements Analyst
**What they CAN do**:
- Spawn `Task(Explore)` to research existing requirements
- Read source code and documentation
- Generate requirement specifications
**What they CANNOT do**:
- Spawn `Task(Bash)` to run tests
- Spawn `Task(software-implementer)` to implement code
- Execute arbitrary commands
### Implementation Tier: Software Implementer
**What they CAN do**:
- Spawn `Task(Explore)` to investigate code patterns
- Spawn `Task(Bash)` to run tests
- Read, write, and edit source files
**What they CANNOT do**:
- Spawn `Task(executive-orchestrator)` for workflow decisions
- Spawn `Task(architecture-designer)` for design decisions
- Delegate to agents outside Explore/Bash
### Orchestrator Tier: Executive Orchestrator
**What they CAN do**:
- Spawn any agent type via unrestricted `Task`
- Coordinate multi-agent workflows
- Make routing decisions
**What they SHOULD avoid**:
- Directly implementing code (delegate to Software Implementer)
- Deep agent nesting (>3 levels)
- Spawning agents without clear task definition
## References
- Claude Code v2.1.33 Release Notes - Task(agent_type) introduction
- @.claude/rules/agent-fallback.md - Agent fallback patterns
- @agentic/code/frameworks/sdlc-complete/agents/agent-template.md - Agent definition template
- @agentic/code/frameworks/sdlc-complete/schemas/flows/agent-capability-matrix.yaml - Capability matching
**Maintained by**: Configuration Manager
**Last Updated**: 2026-02-06
**Review Cycle**: Quarterly