@bradygaster/squad-sdk 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +296 -296
- package/dist/agents/history-shadow.js +30 -30
- package/dist/build/github-dist.js +42 -42
- package/dist/config/init.js +173 -173
- package/dist/sharing/consult.js +78 -78
- package/package.json +1 -1
- package/templates/casting/Futurama.json +9 -9
- package/templates/casting-history.json +4 -4
- package/templates/casting-policy.json +37 -37
- package/templates/casting-reference.md +104 -104
- package/templates/casting-registry.json +3 -3
- package/templates/ceremonies.md +41 -41
- package/templates/charter.md +53 -53
- package/templates/constraint-tracking.md +38 -38
- package/templates/cooperative-rate-limiting.md +229 -229
- package/templates/copilot-instructions.md +46 -46
- package/templates/history.md +10 -10
- package/templates/identity/now.md +9 -9
- package/templates/identity/wisdom.md +15 -15
- package/templates/issue-lifecycle.md +412 -412
- package/templates/keda-scaler.md +164 -164
- package/templates/machine-capabilities.md +74 -74
- package/templates/mcp-config.md +90 -90
- package/templates/multi-agent-format.md +28 -28
- package/templates/plugin-marketplace.md +49 -49
- package/templates/ralph-circuit-breaker.md +313 -313
- package/templates/raw-agent-output.md +37 -37
- package/templates/roster.md +60 -60
- package/templates/routing.md +39 -39
- package/templates/run-output.md +50 -50
- package/templates/schedule.json +19 -19
- package/templates/scribe-charter.md +119 -119
- package/templates/skill.md +24 -24
- package/templates/skills/agent-collaboration/SKILL.md +42 -42
- package/templates/skills/agent-conduct/SKILL.md +24 -24
- package/templates/skills/architectural-proposals/SKILL.md +151 -151
- package/templates/skills/ci-validation-gates/SKILL.md +84 -84
- package/templates/skills/cli-wiring/SKILL.md +47 -47
- package/templates/skills/client-compatibility/SKILL.md +89 -89
- package/templates/skills/cross-squad/SKILL.md +114 -114
- package/templates/skills/distributed-mesh/SKILL.md +287 -287
- package/templates/skills/distributed-mesh/mesh.json.example +30 -30
- package/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -111
- package/templates/skills/distributed-mesh/sync-mesh.sh +104 -104
- package/templates/skills/docs-standards/SKILL.md +71 -71
- package/templates/skills/economy-mode/SKILL.md +114 -114
- package/templates/skills/external-comms/SKILL.md +329 -329
- package/templates/skills/gh-auth-isolation/SKILL.md +183 -183
- package/templates/skills/git-workflow/SKILL.md +204 -204
- package/templates/skills/github-multi-account/SKILL.md +95 -95
- package/templates/skills/history-hygiene/SKILL.md +36 -36
- package/templates/skills/humanizer/SKILL.md +105 -105
- package/templates/skills/init-mode/SKILL.md +102 -102
- package/templates/skills/model-selection/SKILL.md +117 -117
- package/templates/skills/nap/SKILL.md +24 -24
- package/templates/skills/personal-squad/SKILL.md +57 -57
- package/templates/skills/project-conventions/SKILL.md +56 -56
- package/templates/skills/release-process/SKILL.md +423 -423
- package/templates/skills/reskill/SKILL.md +92 -92
- package/templates/skills/reviewer-protocol/SKILL.md +79 -79
- package/templates/skills/secret-handling/SKILL.md +200 -200
- package/templates/skills/session-recovery/SKILL.md +155 -155
- package/templates/skills/squad-conventions/SKILL.md +69 -69
- package/templates/skills/test-discipline/SKILL.md +37 -37
- package/templates/skills/windows-compatibility/SKILL.md +74 -74
- package/templates/workflows/squad-ci.yml +24 -24
- package/templates/workflows/squad-docs.yml +54 -54
- package/templates/workflows/squad-heartbeat.yml +171 -171
- package/templates/workflows/squad-insider-release.yml +61 -61
- package/templates/workflows/squad-issue-assign.yml +161 -161
- package/templates/workflows/squad-label-enforce.yml +181 -181
- package/templates/workflows/squad-preview.yml +55 -55
- package/templates/workflows/squad-promote.yml +120 -120
- package/templates/workflows/squad-release.yml +77 -77
- package/templates/workflows/squad-triage.yml +260 -260
- package/templates/workflows/sync-squad-labels.yml +169 -169
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "reskill"
|
|
3
|
-
description: "Team-wide charter and history optimization through skill extraction"
|
|
4
|
-
domain: "team-optimization"
|
|
5
|
-
confidence: "high"
|
|
6
|
-
source: "manual — Brady directive to reduce per-agent context overhead"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Context
|
|
10
|
-
|
|
11
|
-
When the coordinator hears "team, reskill" (or similar: "optimize context", "slim down charters"), trigger a team-wide optimization pass. The goal: reduce per-agent context consumption by extracting shared patterns from charters and histories into reusable skills.
|
|
12
|
-
|
|
13
|
-
This is a periodic maintenance activity. Run whenever charter/history bloat is suspected.
|
|
14
|
-
|
|
15
|
-
## Process
|
|
16
|
-
|
|
17
|
-
### Step 1: Audit
|
|
18
|
-
Read all agent charters and histories. Measure byte sizes. Identify:
|
|
19
|
-
|
|
20
|
-
- **Boilerplate** — sections repeated across ≥3 charters with <10% variation (collaboration, model, boundaries template)
|
|
21
|
-
- **Shared knowledge** — domain knowledge duplicated in 2+ charters (incident postmortems, technical patterns)
|
|
22
|
-
- **Mature learnings** — history entries appearing 3+ times across agents that should be promoted to skills
|
|
23
|
-
|
|
24
|
-
### Step 2: Extract
|
|
25
|
-
For each identified pattern:
|
|
26
|
-
1. Create or update a skill at `.squad/skills/{skill-name}/SKILL.md`
|
|
27
|
-
2. Follow the skill template format (frontmatter + Context + Patterns + Examples + Anti-Patterns)
|
|
28
|
-
3. Set confidence: low (first observation), medium (2+ agents), high (team-wide)
|
|
29
|
-
|
|
30
|
-
### Step 3: Trim
|
|
31
|
-
**Charters** — target ≤1.5KB per agent:
|
|
32
|
-
- Remove Collaboration section entirely (spawn prompt + agent-collaboration skill covers it)
|
|
33
|
-
- Remove Voice section (tagline blockquote at top of charter already captures it)
|
|
34
|
-
- Trim Model section to single line: `Preferred: {model}`
|
|
35
|
-
- Remove "When I'm unsure" boilerplate from Boundaries
|
|
36
|
-
- Remove domain knowledge now covered by a skill — add skill reference comment if helpful
|
|
37
|
-
- Keep: Identity, What I Own, unique How I Work patterns, Boundaries (domain list only)
|
|
38
|
-
|
|
39
|
-
**Histories** — target ≤8KB per agent:
|
|
40
|
-
- Apply history-hygiene skill to any history >12KB
|
|
41
|
-
- Promote recurring patterns (3+ occurrences across agents) to skills
|
|
42
|
-
- Summarize old entries into `## Core Context` section
|
|
43
|
-
- Remove session-specific metadata (dates, branch names, requester names)
|
|
44
|
-
|
|
45
|
-
### Step 4: Report
|
|
46
|
-
Output a savings table:
|
|
47
|
-
|
|
48
|
-
| Agent | Charter Before | Charter After | History Before | History After | Saved |
|
|
49
|
-
|-------|---------------|---------------|----------------|---------------|-------|
|
|
50
|
-
|
|
51
|
-
Include totals and percentage reduction.
|
|
52
|
-
|
|
53
|
-
## Patterns
|
|
54
|
-
|
|
55
|
-
### Minimal Charter Template (target format after reskill)
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
# {Name} — {Role}
|
|
59
|
-
|
|
60
|
-
> {Tagline — one sentence capturing voice and philosophy}
|
|
61
|
-
|
|
62
|
-
## Identity
|
|
63
|
-
- **Name:** {Name}
|
|
64
|
-
- **Role:** {Role}
|
|
65
|
-
- **Expertise:** {comma-separated list}
|
|
66
|
-
|
|
67
|
-
## What I Own
|
|
68
|
-
- {bullet list of owned artifacts/domains}
|
|
69
|
-
|
|
70
|
-
## How I Work
|
|
71
|
-
- {unique patterns and principles — NOT boilerplate}
|
|
72
|
-
|
|
73
|
-
## Boundaries
|
|
74
|
-
**I handle:** {domain list}
|
|
75
|
-
**I don't handle:** {explicit exclusions}
|
|
76
|
-
|
|
77
|
-
## Model
|
|
78
|
-
Preferred: {model}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Skill Extraction Threshold
|
|
82
|
-
- **1 charter** → leave in charter (unique to that agent)
|
|
83
|
-
- **2 charters** → consider extracting if >500 bytes of overlap
|
|
84
|
-
- **3+ charters** → always extract to a shared skill
|
|
85
|
-
|
|
86
|
-
## Anti-Patterns
|
|
87
|
-
- Don't delete unique per-agent identity or domain-specific knowledge
|
|
88
|
-
- Don't create skills for content only one agent uses
|
|
89
|
-
- Don't merge unrelated patterns into a single mega-skill
|
|
90
|
-
- Don't remove Model preference line (coordinator needs it for model selection)
|
|
91
|
-
- Don't touch `.squad/decisions.md` during reskill
|
|
92
|
-
- Don't remove the tagline blockquote — it's the charter's soul in one line
|
|
1
|
+
---
|
|
2
|
+
name: "reskill"
|
|
3
|
+
description: "Team-wide charter and history optimization through skill extraction"
|
|
4
|
+
domain: "team-optimization"
|
|
5
|
+
confidence: "high"
|
|
6
|
+
source: "manual — Brady directive to reduce per-agent context overhead"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
|
|
11
|
+
When the coordinator hears "team, reskill" (or similar: "optimize context", "slim down charters"), trigger a team-wide optimization pass. The goal: reduce per-agent context consumption by extracting shared patterns from charters and histories into reusable skills.
|
|
12
|
+
|
|
13
|
+
This is a periodic maintenance activity. Run whenever charter/history bloat is suspected.
|
|
14
|
+
|
|
15
|
+
## Process
|
|
16
|
+
|
|
17
|
+
### Step 1: Audit
|
|
18
|
+
Read all agent charters and histories. Measure byte sizes. Identify:
|
|
19
|
+
|
|
20
|
+
- **Boilerplate** — sections repeated across ≥3 charters with <10% variation (collaboration, model, boundaries template)
|
|
21
|
+
- **Shared knowledge** — domain knowledge duplicated in 2+ charters (incident postmortems, technical patterns)
|
|
22
|
+
- **Mature learnings** — history entries appearing 3+ times across agents that should be promoted to skills
|
|
23
|
+
|
|
24
|
+
### Step 2: Extract
|
|
25
|
+
For each identified pattern:
|
|
26
|
+
1. Create or update a skill at `.squad/skills/{skill-name}/SKILL.md`
|
|
27
|
+
2. Follow the skill template format (frontmatter + Context + Patterns + Examples + Anti-Patterns)
|
|
28
|
+
3. Set confidence: low (first observation), medium (2+ agents), high (team-wide)
|
|
29
|
+
|
|
30
|
+
### Step 3: Trim
|
|
31
|
+
**Charters** — target ≤1.5KB per agent:
|
|
32
|
+
- Remove Collaboration section entirely (spawn prompt + agent-collaboration skill covers it)
|
|
33
|
+
- Remove Voice section (tagline blockquote at top of charter already captures it)
|
|
34
|
+
- Trim Model section to single line: `Preferred: {model}`
|
|
35
|
+
- Remove "When I'm unsure" boilerplate from Boundaries
|
|
36
|
+
- Remove domain knowledge now covered by a skill — add skill reference comment if helpful
|
|
37
|
+
- Keep: Identity, What I Own, unique How I Work patterns, Boundaries (domain list only)
|
|
38
|
+
|
|
39
|
+
**Histories** — target ≤8KB per agent:
|
|
40
|
+
- Apply history-hygiene skill to any history >12KB
|
|
41
|
+
- Promote recurring patterns (3+ occurrences across agents) to skills
|
|
42
|
+
- Summarize old entries into `## Core Context` section
|
|
43
|
+
- Remove session-specific metadata (dates, branch names, requester names)
|
|
44
|
+
|
|
45
|
+
### Step 4: Report
|
|
46
|
+
Output a savings table:
|
|
47
|
+
|
|
48
|
+
| Agent | Charter Before | Charter After | History Before | History After | Saved |
|
|
49
|
+
|-------|---------------|---------------|----------------|---------------|-------|
|
|
50
|
+
|
|
51
|
+
Include totals and percentage reduction.
|
|
52
|
+
|
|
53
|
+
## Patterns
|
|
54
|
+
|
|
55
|
+
### Minimal Charter Template (target format after reskill)
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
# {Name} — {Role}
|
|
59
|
+
|
|
60
|
+
> {Tagline — one sentence capturing voice and philosophy}
|
|
61
|
+
|
|
62
|
+
## Identity
|
|
63
|
+
- **Name:** {Name}
|
|
64
|
+
- **Role:** {Role}
|
|
65
|
+
- **Expertise:** {comma-separated list}
|
|
66
|
+
|
|
67
|
+
## What I Own
|
|
68
|
+
- {bullet list of owned artifacts/domains}
|
|
69
|
+
|
|
70
|
+
## How I Work
|
|
71
|
+
- {unique patterns and principles — NOT boilerplate}
|
|
72
|
+
|
|
73
|
+
## Boundaries
|
|
74
|
+
**I handle:** {domain list}
|
|
75
|
+
**I don't handle:** {explicit exclusions}
|
|
76
|
+
|
|
77
|
+
## Model
|
|
78
|
+
Preferred: {model}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Skill Extraction Threshold
|
|
82
|
+
- **1 charter** → leave in charter (unique to that agent)
|
|
83
|
+
- **2 charters** → consider extracting if >500 bytes of overlap
|
|
84
|
+
- **3+ charters** → always extract to a shared skill
|
|
85
|
+
|
|
86
|
+
## Anti-Patterns
|
|
87
|
+
- Don't delete unique per-agent identity or domain-specific knowledge
|
|
88
|
+
- Don't create skills for content only one agent uses
|
|
89
|
+
- Don't merge unrelated patterns into a single mega-skill
|
|
90
|
+
- Don't remove Model preference line (coordinator needs it for model selection)
|
|
91
|
+
- Don't touch `.squad/decisions.md` during reskill
|
|
92
|
+
- Don't remove the tagline blockquote — it's the charter's soul in one line
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "reviewer-protocol"
|
|
3
|
-
description: "Reviewer rejection workflow and strict lockout semantics"
|
|
4
|
-
domain: "orchestration"
|
|
5
|
-
confidence: "high"
|
|
6
|
-
source: "extracted"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Context
|
|
10
|
-
|
|
11
|
-
When a team member has a **Reviewer** role (e.g., Tester, Code Reviewer, Lead), they may approve or reject work from other agents. On rejection, the coordinator enforces strict lockout rules to ensure the original author does NOT self-revise. This prevents defensive feedback loops and ensures independent review.
|
|
12
|
-
|
|
13
|
-
## Patterns
|
|
14
|
-
|
|
15
|
-
### Reviewer Rejection Protocol
|
|
16
|
-
|
|
17
|
-
When a team member has a **Reviewer** role:
|
|
18
|
-
|
|
19
|
-
- Reviewers may **approve** or **reject** work from other agents.
|
|
20
|
-
- On **rejection**, the Reviewer may choose ONE of:
|
|
21
|
-
1. **Reassign:** Require a *different* agent to do the revision (not the original author).
|
|
22
|
-
2. **Escalate:** Require a *new* agent be spawned with specific expertise.
|
|
23
|
-
- The Coordinator MUST enforce this. If the Reviewer says "someone else should fix this," the original agent does NOT get to self-revise.
|
|
24
|
-
- If the Reviewer approves, work proceeds normally.
|
|
25
|
-
|
|
26
|
-
### Strict Lockout Semantics
|
|
27
|
-
|
|
28
|
-
When an artifact is **rejected** by a Reviewer:
|
|
29
|
-
|
|
30
|
-
1. **The original author is locked out.** They may NOT produce the next version of that artifact. No exceptions.
|
|
31
|
-
2. **A different agent MUST own the revision.** The Coordinator selects the revision author based on the Reviewer's recommendation (reassign or escalate).
|
|
32
|
-
3. **The Coordinator enforces this mechanically.** Before spawning a revision agent, the Coordinator MUST verify that the selected agent is NOT the original author. If the Reviewer names the original author as the fix agent, the Coordinator MUST refuse and ask the Reviewer to name a different agent.
|
|
33
|
-
4. **The locked-out author may NOT contribute to the revision** in any form — not as a co-author, advisor, or pair. The revision must be independently produced.
|
|
34
|
-
5. **Lockout scope:** The lockout applies to the specific artifact that was rejected. The original author may still work on other unrelated artifacts.
|
|
35
|
-
6. **Lockout duration:** The lockout persists for that revision cycle. If the revision is also rejected, the same rule applies again — the revision author is now also locked out, and a third agent must revise.
|
|
36
|
-
7. **Deadlock handling:** If all eligible agents have been locked out of an artifact, the Coordinator MUST escalate to the user rather than re-admitting a locked-out author.
|
|
37
|
-
|
|
38
|
-
## Examples
|
|
39
|
-
|
|
40
|
-
**Example 1: Reassign after rejection**
|
|
41
|
-
1. Fenster writes authentication module
|
|
42
|
-
2. Hockney (Tester) reviews → rejects: "Error handling is missing. Verbal should fix this."
|
|
43
|
-
3. Coordinator: Fenster is now locked out of this artifact
|
|
44
|
-
4. Coordinator spawns Verbal to revise the authentication module
|
|
45
|
-
5. Verbal produces v2
|
|
46
|
-
6. Hockney reviews v2 → approves
|
|
47
|
-
7. Lockout clears for next artifact
|
|
48
|
-
|
|
49
|
-
**Example 2: Escalate for expertise**
|
|
50
|
-
1. Edie writes TypeScript config
|
|
51
|
-
2. Keaton (Lead) reviews → rejects: "Need someone with deeper TS knowledge. Escalate."
|
|
52
|
-
3. Coordinator: Edie is now locked out
|
|
53
|
-
4. Coordinator spawns new agent (or existing TS expert) to revise
|
|
54
|
-
5. New agent produces v2
|
|
55
|
-
6. Keaton reviews v2
|
|
56
|
-
|
|
57
|
-
**Example 3: Deadlock handling**
|
|
58
|
-
1. Fenster writes module → rejected
|
|
59
|
-
2. Verbal revises → rejected
|
|
60
|
-
3. Hockney revises → rejected
|
|
61
|
-
4. All 3 eligible agents are now locked out
|
|
62
|
-
5. Coordinator: "All eligible agents have been locked out. Escalating to user: [artifact details]"
|
|
63
|
-
|
|
64
|
-
**Example 4: Reviewer accidentally names original author**
|
|
65
|
-
1. Fenster writes module → rejected
|
|
66
|
-
2. Hockney says: "Fenster should fix the error handling"
|
|
67
|
-
3. Coordinator: "Fenster is locked out as the original author. Please name a different agent."
|
|
68
|
-
4. Hockney: "Verbal, then"
|
|
69
|
-
5. Coordinator spawns Verbal
|
|
70
|
-
|
|
71
|
-
## Anti-Patterns
|
|
72
|
-
|
|
73
|
-
- ❌ Allowing the original author to self-revise after rejection
|
|
74
|
-
- ❌ Treating the locked-out author as an "advisor" or "co-author" on the revision
|
|
75
|
-
- ❌ Re-admitting a locked-out author when deadlock occurs (must escalate to user)
|
|
76
|
-
- ❌ Applying lockout across unrelated artifacts (scope is per-artifact)
|
|
77
|
-
- ❌ Accepting the Reviewer's assignment when they name the original author (must refuse and ask for a different agent)
|
|
78
|
-
- ❌ Clearing lockout before the revision is approved (lockout persists through revision cycle)
|
|
79
|
-
- ❌ Skipping verification that the revision agent is not the original author
|
|
1
|
+
---
|
|
2
|
+
name: "reviewer-protocol"
|
|
3
|
+
description: "Reviewer rejection workflow and strict lockout semantics"
|
|
4
|
+
domain: "orchestration"
|
|
5
|
+
confidence: "high"
|
|
6
|
+
source: "extracted"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
|
|
11
|
+
When a team member has a **Reviewer** role (e.g., Tester, Code Reviewer, Lead), they may approve or reject work from other agents. On rejection, the coordinator enforces strict lockout rules to ensure the original author does NOT self-revise. This prevents defensive feedback loops and ensures independent review.
|
|
12
|
+
|
|
13
|
+
## Patterns
|
|
14
|
+
|
|
15
|
+
### Reviewer Rejection Protocol
|
|
16
|
+
|
|
17
|
+
When a team member has a **Reviewer** role:
|
|
18
|
+
|
|
19
|
+
- Reviewers may **approve** or **reject** work from other agents.
|
|
20
|
+
- On **rejection**, the Reviewer may choose ONE of:
|
|
21
|
+
1. **Reassign:** Require a *different* agent to do the revision (not the original author).
|
|
22
|
+
2. **Escalate:** Require a *new* agent be spawned with specific expertise.
|
|
23
|
+
- The Coordinator MUST enforce this. If the Reviewer says "someone else should fix this," the original agent does NOT get to self-revise.
|
|
24
|
+
- If the Reviewer approves, work proceeds normally.
|
|
25
|
+
|
|
26
|
+
### Strict Lockout Semantics
|
|
27
|
+
|
|
28
|
+
When an artifact is **rejected** by a Reviewer:
|
|
29
|
+
|
|
30
|
+
1. **The original author is locked out.** They may NOT produce the next version of that artifact. No exceptions.
|
|
31
|
+
2. **A different agent MUST own the revision.** The Coordinator selects the revision author based on the Reviewer's recommendation (reassign or escalate).
|
|
32
|
+
3. **The Coordinator enforces this mechanically.** Before spawning a revision agent, the Coordinator MUST verify that the selected agent is NOT the original author. If the Reviewer names the original author as the fix agent, the Coordinator MUST refuse and ask the Reviewer to name a different agent.
|
|
33
|
+
4. **The locked-out author may NOT contribute to the revision** in any form — not as a co-author, advisor, or pair. The revision must be independently produced.
|
|
34
|
+
5. **Lockout scope:** The lockout applies to the specific artifact that was rejected. The original author may still work on other unrelated artifacts.
|
|
35
|
+
6. **Lockout duration:** The lockout persists for that revision cycle. If the revision is also rejected, the same rule applies again — the revision author is now also locked out, and a third agent must revise.
|
|
36
|
+
7. **Deadlock handling:** If all eligible agents have been locked out of an artifact, the Coordinator MUST escalate to the user rather than re-admitting a locked-out author.
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
**Example 1: Reassign after rejection**
|
|
41
|
+
1. Fenster writes authentication module
|
|
42
|
+
2. Hockney (Tester) reviews → rejects: "Error handling is missing. Verbal should fix this."
|
|
43
|
+
3. Coordinator: Fenster is now locked out of this artifact
|
|
44
|
+
4. Coordinator spawns Verbal to revise the authentication module
|
|
45
|
+
5. Verbal produces v2
|
|
46
|
+
6. Hockney reviews v2 → approves
|
|
47
|
+
7. Lockout clears for next artifact
|
|
48
|
+
|
|
49
|
+
**Example 2: Escalate for expertise**
|
|
50
|
+
1. Edie writes TypeScript config
|
|
51
|
+
2. Keaton (Lead) reviews → rejects: "Need someone with deeper TS knowledge. Escalate."
|
|
52
|
+
3. Coordinator: Edie is now locked out
|
|
53
|
+
4. Coordinator spawns new agent (or existing TS expert) to revise
|
|
54
|
+
5. New agent produces v2
|
|
55
|
+
6. Keaton reviews v2
|
|
56
|
+
|
|
57
|
+
**Example 3: Deadlock handling**
|
|
58
|
+
1. Fenster writes module → rejected
|
|
59
|
+
2. Verbal revises → rejected
|
|
60
|
+
3. Hockney revises → rejected
|
|
61
|
+
4. All 3 eligible agents are now locked out
|
|
62
|
+
5. Coordinator: "All eligible agents have been locked out. Escalating to user: [artifact details]"
|
|
63
|
+
|
|
64
|
+
**Example 4: Reviewer accidentally names original author**
|
|
65
|
+
1. Fenster writes module → rejected
|
|
66
|
+
2. Hockney says: "Fenster should fix the error handling"
|
|
67
|
+
3. Coordinator: "Fenster is locked out as the original author. Please name a different agent."
|
|
68
|
+
4. Hockney: "Verbal, then"
|
|
69
|
+
5. Coordinator spawns Verbal
|
|
70
|
+
|
|
71
|
+
## Anti-Patterns
|
|
72
|
+
|
|
73
|
+
- ❌ Allowing the original author to self-revise after rejection
|
|
74
|
+
- ❌ Treating the locked-out author as an "advisor" or "co-author" on the revision
|
|
75
|
+
- ❌ Re-admitting a locked-out author when deadlock occurs (must escalate to user)
|
|
76
|
+
- ❌ Applying lockout across unrelated artifacts (scope is per-artifact)
|
|
77
|
+
- ❌ Accepting the Reviewer's assignment when they name the original author (must refuse and ask for a different agent)
|
|
78
|
+
- ❌ Clearing lockout before the revision is approved (lockout persists through revision cycle)
|
|
79
|
+
- ❌ Skipping verification that the revision agent is not the original author
|