@thierrynakoa/fire-flow 10.0.0
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/.claude-plugin/plugin.json +64 -0
- package/ARCHITECTURE-DIAGRAM.md +440 -0
- package/COMMAND-REFERENCE.md +172 -0
- package/DOMINION-FLOW-OVERVIEW.md +421 -0
- package/LICENSE +21 -0
- package/QUICK-START.md +351 -0
- package/README.md +398 -0
- package/TROUBLESHOOTING.md +264 -0
- package/agents/fire-codebase-mapper.md +484 -0
- package/agents/fire-debugger.md +535 -0
- package/agents/fire-executor.md +949 -0
- package/agents/fire-fact-checker.md +276 -0
- package/agents/fire-learncoding-explainer.md +237 -0
- package/agents/fire-learncoding-walker.md +147 -0
- package/agents/fire-planner.md +675 -0
- package/agents/fire-project-researcher.md +155 -0
- package/agents/fire-research-synthesizer.md +166 -0
- package/agents/fire-researcher.md +723 -0
- package/agents/fire-reviewer.md +499 -0
- package/agents/fire-roadmapper.md +203 -0
- package/agents/fire-verifier.md +880 -0
- package/bin/cli.js +208 -0
- package/commands/fire-0-orient.md +476 -0
- package/commands/fire-1-new.md +281 -0
- package/commands/fire-1a-discuss.md +455 -0
- package/commands/fire-2-plan.md +527 -0
- package/commands/fire-3-execute.md +1303 -0
- package/commands/fire-4-verify.md +845 -0
- package/commands/fire-5-handoff.md +515 -0
- package/commands/fire-6-resume.md +501 -0
- package/commands/fire-7-review.md +409 -0
- package/commands/fire-add-new-skill.md +598 -0
- package/commands/fire-analytics.md +499 -0
- package/commands/fire-assumptions.md +78 -0
- package/commands/fire-autonomous.md +528 -0
- package/commands/fire-brainstorm.md +413 -0
- package/commands/fire-complete-milestone.md +270 -0
- package/commands/fire-dashboard.md +375 -0
- package/commands/fire-debug.md +663 -0
- package/commands/fire-discover.md +616 -0
- package/commands/fire-double-check.md +460 -0
- package/commands/fire-execute-plan.md +182 -0
- package/commands/fire-learncoding.md +242 -0
- package/commands/fire-loop-resume.md +272 -0
- package/commands/fire-loop-stop.md +198 -0
- package/commands/fire-loop.md +1168 -0
- package/commands/fire-map-codebase.md +313 -0
- package/commands/fire-new-milestone.md +356 -0
- package/commands/fire-reflect.md +235 -0
- package/commands/fire-research.md +246 -0
- package/commands/fire-search.md +330 -0
- package/commands/fire-security-audit-repo.md +293 -0
- package/commands/fire-security-scan.md +484 -0
- package/commands/fire-session-summary.md +252 -0
- package/commands/fire-skills-diff.md +506 -0
- package/commands/fire-skills-history.md +388 -0
- package/commands/fire-skills-rollback.md +408 -0
- package/commands/fire-skills-sync.md +470 -0
- package/commands/fire-test.md +520 -0
- package/commands/fire-todos.md +335 -0
- package/commands/fire-transition.md +186 -0
- package/commands/fire-update.md +312 -0
- package/commands/fire-verify-uat.md +146 -0
- package/commands/fire-vuln-scan.md +493 -0
- package/hooks/hooks.json +16 -0
- package/hooks/run-hook.cmd +69 -0
- package/hooks/run-hook.sh +8 -0
- package/hooks/run-session-end.cmd +49 -0
- package/hooks/run-session-end.sh +7 -0
- package/hooks/session-end.sh +90 -0
- package/hooks/session-start.sh +111 -0
- package/package.json +52 -0
- package/plugin.json +7 -0
- package/references/auto-skill-extraction.md +136 -0
- package/references/behavioral-directives.md +365 -0
- package/references/blocker-tracking.md +155 -0
- package/references/checkpoints.md +165 -0
- package/references/circuit-breaker.md +410 -0
- package/references/context-engineering.md +587 -0
- package/references/decision-time-guidance.md +289 -0
- package/references/error-classification.md +326 -0
- package/references/execution-mode-intelligence.md +242 -0
- package/references/git-integration.md +217 -0
- package/references/honesty-protocols.md +304 -0
- package/references/integration-architecture.md +470 -0
- package/references/issue-to-pr-pipeline.md +150 -0
- package/references/metrics-and-trends.md +234 -0
- package/references/playwright-e2e-testing.md +326 -0
- package/references/questioning.md +125 -0
- package/references/research-improvements.md +110 -0
- package/references/skills-usage-guide.md +429 -0
- package/references/tdd.md +131 -0
- package/references/testing-enforcement.md +192 -0
- package/references/ui-brand.md +383 -0
- package/references/validation-checklist.md +456 -0
- package/references/verification-patterns.md +187 -0
- package/references/warrior-principles.md +173 -0
- package/skills-library/SKILLS-INDEX.md +588 -0
- package/skills-library/_general/frontend/html-visual-reports.md +292 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -0
- package/skills-library/_general/methodology/learncoding-agentic-pattern.md +114 -0
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +238 -0
- package/skills-library/basics/api-rest-basics.md +162 -0
- package/skills-library/basics/env-variables.md +96 -0
- package/skills-library/basics/error-handling-basics.md +125 -0
- package/skills-library/basics/git-commit-conventions.md +106 -0
- package/skills-library/basics/readme-template.md +108 -0
- package/skills-library/common-tasks/async-await-patterns.md +157 -0
- package/skills-library/common-tasks/auth-jwt-basics.md +164 -0
- package/skills-library/common-tasks/database-schema-design.md +166 -0
- package/skills-library/common-tasks/file-upload-basics.md +166 -0
- package/skills-library/common-tasks/form-validation.md +159 -0
- package/skills-library/debugging/FAILURE_TAXONOMY_CLASSIFICATION.md +117 -0
- package/skills-library/debugging/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +86 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +678 -0
- package/skills-library/methodology/CONFIDENCE_GATED_EXECUTION.md +243 -0
- package/skills-library/methodology/EVIDENCE_BASED_VALIDATION.md +308 -0
- package/skills-library/methodology/MULTI_PERSPECTIVE_CODE_REVIEW.md +330 -0
- package/skills-library/methodology/PATH_VERIFICATION_GATE.md +211 -0
- package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +183 -0
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +263 -0
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +267 -0
- package/skills-library/methodology/STONE_AND_SCAFFOLD.md +220 -0
- package/skills-library/performance/cache-augmented-generation.md +172 -0
- package/skills-library/quality-safety/debugging-steps.md +147 -0
- package/skills-library/quality-safety/deployment-checklist.md +155 -0
- package/skills-library/quality-safety/security-checklist.md +204 -0
- package/skills-library/quality-safety/testing-basics.md +180 -0
- package/skills-library/security/agent-security-scanner.md +445 -0
- package/skills-library/specialists/api-architecture/api-designer.md +49 -0
- package/skills-library/specialists/api-architecture/graphql-architect.md +49 -0
- package/skills-library/specialists/api-architecture/mcp-developer.md +51 -0
- package/skills-library/specialists/api-architecture/microservices-architect.md +50 -0
- package/skills-library/specialists/api-architecture/websocket-engineer.md +48 -0
- package/skills-library/specialists/backend/django-expert.md +52 -0
- package/skills-library/specialists/backend/fastapi-expert.md +52 -0
- package/skills-library/specialists/backend/laravel-specialist.md +52 -0
- package/skills-library/specialists/backend/nestjs-expert.md +51 -0
- package/skills-library/specialists/backend/rails-expert.md +53 -0
- package/skills-library/specialists/backend/spring-boot-engineer.md +56 -0
- package/skills-library/specialists/data-ml/fine-tuning-expert.md +48 -0
- package/skills-library/specialists/data-ml/ml-pipeline.md +47 -0
- package/skills-library/specialists/data-ml/pandas-pro.md +47 -0
- package/skills-library/specialists/data-ml/rag-architect.md +51 -0
- package/skills-library/specialists/data-ml/spark-engineer.md +47 -0
- package/skills-library/specialists/frontend/angular-architect.md +52 -0
- package/skills-library/specialists/frontend/flutter-expert.md +51 -0
- package/skills-library/specialists/frontend/nextjs-developer.md +54 -0
- package/skills-library/specialists/frontend/react-native-expert.md +50 -0
- package/skills-library/specialists/frontend/vue-expert.md +51 -0
- package/skills-library/specialists/infrastructure/chaos-engineer.md +74 -0
- package/skills-library/specialists/infrastructure/cloud-architect.md +70 -0
- package/skills-library/specialists/infrastructure/database-optimizer.md +64 -0
- package/skills-library/specialists/infrastructure/devops-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/kubernetes-specialist.md +52 -0
- package/skills-library/specialists/infrastructure/monitoring-expert.md +70 -0
- package/skills-library/specialists/infrastructure/sre-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/terraform-engineer.md +51 -0
- package/skills-library/specialists/languages/cpp-pro.md +74 -0
- package/skills-library/specialists/languages/csharp-developer.md +69 -0
- package/skills-library/specialists/languages/dotnet-core-expert.md +54 -0
- package/skills-library/specialists/languages/golang-pro.md +51 -0
- package/skills-library/specialists/languages/java-architect.md +49 -0
- package/skills-library/specialists/languages/javascript-pro.md +68 -0
- package/skills-library/specialists/languages/kotlin-specialist.md +68 -0
- package/skills-library/specialists/languages/php-pro.md +49 -0
- package/skills-library/specialists/languages/python-pro.md +52 -0
- package/skills-library/specialists/languages/react-expert.md +51 -0
- package/skills-library/specialists/languages/rust-engineer.md +50 -0
- package/skills-library/specialists/languages/sql-pro.md +56 -0
- package/skills-library/specialists/languages/swift-expert.md +69 -0
- package/skills-library/specialists/languages/typescript-pro.md +51 -0
- package/skills-library/specialists/platform/atlassian-mcp.md +52 -0
- package/skills-library/specialists/platform/embedded-systems.md +53 -0
- package/skills-library/specialists/platform/game-developer.md +53 -0
- package/skills-library/specialists/platform/salesforce-developer.md +53 -0
- package/skills-library/specialists/platform/shopify-expert.md +49 -0
- package/skills-library/specialists/platform/wordpress-pro.md +49 -0
- package/skills-library/specialists/quality/code-documenter.md +51 -0
- package/skills-library/specialists/quality/code-reviewer.md +67 -0
- package/skills-library/specialists/quality/debugging-wizard.md +51 -0
- package/skills-library/specialists/quality/fullstack-guardian.md +51 -0
- package/skills-library/specialists/quality/legacy-modernizer.md +50 -0
- package/skills-library/specialists/quality/playwright-expert.md +65 -0
- package/skills-library/specialists/quality/spec-miner.md +56 -0
- package/skills-library/specialists/quality/test-master.md +65 -0
- package/skills-library/specialists/security/secure-code-guardian.md +55 -0
- package/skills-library/specialists/security/security-reviewer.md +53 -0
- package/skills-library/specialists/workflow/architecture-designer.md +53 -0
- package/skills-library/specialists/workflow/cli-developer.md +70 -0
- package/skills-library/specialists/workflow/feature-forge.md +65 -0
- package/skills-library/specialists/workflow/prompt-engineer.md +54 -0
- package/skills-library/specialists/workflow/the-fool.md +62 -0
- package/templates/ASSUMPTIONS.md +125 -0
- package/templates/BLOCKERS.md +73 -0
- package/templates/DECISION_LOG.md +116 -0
- package/templates/UAT.md +96 -0
- package/templates/blueprint.md +94 -0
- package/templates/brainstorm.md +185 -0
- package/templates/conscience.md +92 -0
- package/templates/fire-handoff.md +159 -0
- package/templates/metrics.md +67 -0
- package/templates/phase-prompt.md +142 -0
- package/templates/record.md +131 -0
- package/templates/review-report.md +117 -0
- package/templates/skills-index.md +157 -0
- package/templates/verification.md +149 -0
- package/templates/vision.md +79 -0
- package/validation-config.yml +793 -0
- package/version.json +7 -0
- package/workflows/execute-phase.md +732 -0
- package/workflows/handoff-session.md +678 -0
- package/workflows/new-project.md +578 -0
- package/workflows/plan-phase.md +592 -0
- package/workflows/verify-phase.md +874 -0
|
@@ -0,0 +1,678 @@
|
|
|
1
|
+
# Breath-Based Parallel Execution - Implementation Guide
|
|
2
|
+
|
|
3
|
+
## The Problem
|
|
4
|
+
|
|
5
|
+
When executing multi-plan phases, sequential execution wastes time. Independent plans could run in parallel, but coordination is complex and dependencies must be respected.
|
|
6
|
+
|
|
7
|
+
### Why It Was Hard
|
|
8
|
+
|
|
9
|
+
- **Dependency management:** Plans may depend on earlier plan outputs
|
|
10
|
+
- **Resource conflicts:** Parallel operations might conflict (same files, ports)
|
|
11
|
+
- **Coordination overhead:** Multiple agents need synchronized context
|
|
12
|
+
- **Error propagation:** One failure could block dependent plans
|
|
13
|
+
- **Documentation fragmentation:** Each agent creates separate summaries
|
|
14
|
+
|
|
15
|
+
### Impact
|
|
16
|
+
|
|
17
|
+
- Sequential execution: 105-145 minutes estimated for Phase 1
|
|
18
|
+
- Wasted developer time waiting for independent tasks
|
|
19
|
+
- Delayed feedback on errors in parallel-capable plans
|
|
20
|
+
- Inefficient use of compute resources
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## The Solution
|
|
25
|
+
|
|
26
|
+
**Breath-Based Parallel Execution** groups plans by dependency level into "breaths." Plans in the same breath execute in parallel, while breath N+1 waits for breath N completion.
|
|
27
|
+
|
|
28
|
+
### Architecture
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Breath Structure:
|
|
32
|
+
Breath 1 (Sequential - Foundation):
|
|
33
|
+
└─ Plan X-01: Core infrastructure
|
|
34
|
+
|
|
35
|
+
Breath 2 (Parallel - Both depend only on Breath 1):
|
|
36
|
+
├─ Plan X-02: Database setup
|
|
37
|
+
└─ Plan X-03: Storage setup
|
|
38
|
+
|
|
39
|
+
Breath 3 (Parallel - Depend on Breath 2):
|
|
40
|
+
├─ Plan X-04: Feature A (needs DB + Storage)
|
|
41
|
+
└─ Plan X-05: Feature B (needs DB + Storage)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Key Concepts
|
|
45
|
+
|
|
46
|
+
**1. Breath Grouping Rules:**
|
|
47
|
+
- Plans with NO dependencies → Breath 1
|
|
48
|
+
- Plans depending ONLY on Breath 1 → Breath 2
|
|
49
|
+
- Plans depending on Breath 2 → Breath 3
|
|
50
|
+
- All plans in a breath can run simultaneously
|
|
51
|
+
|
|
52
|
+
**2. Execution Flow:**
|
|
53
|
+
```
|
|
54
|
+
Start Phase Execution
|
|
55
|
+
↓
|
|
56
|
+
Discover all plans in phase
|
|
57
|
+
↓
|
|
58
|
+
Group plans by dependency level (breaths)
|
|
59
|
+
↓
|
|
60
|
+
For each breath:
|
|
61
|
+
- Spawn fire-executor agent per plan (parallel)
|
|
62
|
+
- Each agent creates RECORD.md independently
|
|
63
|
+
- Wait for ALL agents in breath to complete
|
|
64
|
+
- Check for blocking errors
|
|
65
|
+
↓
|
|
66
|
+
After all breaths complete:
|
|
67
|
+
- Spawn fire-verifier agent
|
|
68
|
+
- Validate must-haves across all plans
|
|
69
|
+
- Update CONSCIENCE.md and SKILLS-INDEX.md
|
|
70
|
+
↓
|
|
71
|
+
Phase Complete
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**3. Agent Coordination:**
|
|
75
|
+
- Each `fire-executor` receives:
|
|
76
|
+
- Plan file context
|
|
77
|
+
- Skills library access
|
|
78
|
+
- Honesty protocols
|
|
79
|
+
- Independent work scope
|
|
80
|
+
- Agents DO NOT communicate during execution
|
|
81
|
+
- Coordination happens at breath boundaries
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Implementation
|
|
86
|
+
|
|
87
|
+
### Step 1: Plan Discovery
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Scan for all plans in phase
|
|
91
|
+
.planning/phases/{N}-{name}/{N}-*-BLUEPRINT.md
|
|
92
|
+
|
|
93
|
+
# Example for Phase 1:
|
|
94
|
+
# - 1-01-BLUEPRINT.md
|
|
95
|
+
# - 1-02-BLUEPRINT.md
|
|
96
|
+
# - 1-03-BLUEPRINT.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Step 2: Breath Grouping
|
|
100
|
+
|
|
101
|
+
Read each plan's frontmatter:
|
|
102
|
+
```markdown
|
|
103
|
+
---
|
|
104
|
+
Phase: 1-setup
|
|
105
|
+
Plan: 02
|
|
106
|
+
Breath: 2
|
|
107
|
+
Depends On: ["1-01"]
|
|
108
|
+
---
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Build dependency graph:
|
|
112
|
+
```javascript
|
|
113
|
+
const plans = [
|
|
114
|
+
{ id: "1-01", breath: 1, depends: [] },
|
|
115
|
+
{ id: "1-02", breath: 2, depends: ["1-01"] },
|
|
116
|
+
{ id: "1-03", breath: 2, depends: ["1-01"] }
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
const breaths = {
|
|
120
|
+
1: ["1-01"],
|
|
121
|
+
2: ["1-02", "1-03"] // Can run in parallel
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Step 3: Spawn Executors Per Breath
|
|
126
|
+
|
|
127
|
+
**Breath 1 (Sequential):**
|
|
128
|
+
```typescript
|
|
129
|
+
// Single agent for foundation plan
|
|
130
|
+
await spawnExecutor({
|
|
131
|
+
plan: "1-01",
|
|
132
|
+
context: planFileContent,
|
|
133
|
+
skills: relevantSkills,
|
|
134
|
+
mode: "autonomous"
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Breath 2 (Parallel):**
|
|
139
|
+
```typescript
|
|
140
|
+
// Spawn multiple agents simultaneously
|
|
141
|
+
const executors = await Promise.all([
|
|
142
|
+
spawnExecutor({
|
|
143
|
+
plan: "1-02",
|
|
144
|
+
context: plan1_02Content,
|
|
145
|
+
skills: databaseSkills,
|
|
146
|
+
mode: "autonomous"
|
|
147
|
+
}),
|
|
148
|
+
spawnExecutor({
|
|
149
|
+
plan: "1-03",
|
|
150
|
+
context: plan1_03Content,
|
|
151
|
+
skills: storageSkills,
|
|
152
|
+
mode: "autonomous"
|
|
153
|
+
})
|
|
154
|
+
]);
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Step 4: Agent Execution Protocol
|
|
158
|
+
|
|
159
|
+
Each `fire-executor` agent:
|
|
160
|
+
|
|
161
|
+
**Input:**
|
|
162
|
+
```markdown
|
|
163
|
+
<plan_context>
|
|
164
|
+
@.planning/phases/{N}-{name}/{N}-{NN}-BLUEPRINT.md
|
|
165
|
+
</plan_context>
|
|
166
|
+
|
|
167
|
+
<skills_context>
|
|
168
|
+
Skills to apply:
|
|
169
|
+
@skills-library/{category}/{skill-1}.md
|
|
170
|
+
@skills-library/{category}/{skill-2}.md
|
|
171
|
+
</skills_context>
|
|
172
|
+
|
|
173
|
+
<execution_mode>
|
|
174
|
+
Mode: autonomous
|
|
175
|
+
User approval: pre-approved (YOLO mode)
|
|
176
|
+
</execution_mode>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Process:**
|
|
180
|
+
1. Read plan file
|
|
181
|
+
2. Execute all tasks sequentially
|
|
182
|
+
3. Run verification commands
|
|
183
|
+
4. Apply honesty protocols
|
|
184
|
+
5. Create RECORD.md
|
|
185
|
+
|
|
186
|
+
**Output:**
|
|
187
|
+
- Implementation commits (atomic)
|
|
188
|
+
- `{N}-{NN}-RECORD.md` (fire-handoff format)
|
|
189
|
+
- SKILLS-INDEX.md updates
|
|
190
|
+
|
|
191
|
+
### Step 5: Breath Completion Check
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
// Wait for all agents in breath to finish
|
|
195
|
+
await Promise.all(waveExecutors);
|
|
196
|
+
|
|
197
|
+
// Check for blocking errors
|
|
198
|
+
const blockingErrors = waveExecutors
|
|
199
|
+
.filter(e => e.status === "blocked")
|
|
200
|
+
.map(e => e.error);
|
|
201
|
+
|
|
202
|
+
if (blockingErrors.length > 0) {
|
|
203
|
+
// Create .continue-here.md
|
|
204
|
+
// Pause execution
|
|
205
|
+
// Report to user
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Step 6: Verification
|
|
210
|
+
|
|
211
|
+
After all breaths complete:
|
|
212
|
+
```typescript
|
|
213
|
+
await spawnVerifier({
|
|
214
|
+
phase: N,
|
|
215
|
+
plans: allPlansInPhase,
|
|
216
|
+
mustHaves: aggregatedMustHaves,
|
|
217
|
+
validationChecklist: warriorChecklist
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Real-World Example: Phase 1 Execution
|
|
224
|
+
|
|
225
|
+
### Planning Context
|
|
226
|
+
|
|
227
|
+
**Phase 1 Plans:**
|
|
228
|
+
- Plan 1-01: Initialize Monorepo (Breath 1)
|
|
229
|
+
- Depends: None
|
|
230
|
+
- Time: 45-60 min estimate
|
|
231
|
+
- Plan 1-02: PostgreSQL + Prisma (Breath 2)
|
|
232
|
+
- Depends: 1-01
|
|
233
|
+
- Time: 30-45 min estimate
|
|
234
|
+
- Plan 1-03: MinIO + S3 Client (Breath 2)
|
|
235
|
+
- Depends: 1-01
|
|
236
|
+
- Time: 30-40 min estimate
|
|
237
|
+
|
|
238
|
+
**Sequential Estimate:** 105-145 minutes
|
|
239
|
+
**Parallel Potential:** Breath 2 can run simultaneously
|
|
240
|
+
|
|
241
|
+
### Execution Flow
|
|
242
|
+
|
|
243
|
+
**Breath 1: Foundation**
|
|
244
|
+
```bash
|
|
245
|
+
# Spawn single executor
|
|
246
|
+
fire-executor: Plan 1-01 (Initialize Monorepo)
|
|
247
|
+
- Duration: 15.5 minutes (3x faster than estimate)
|
|
248
|
+
- Output: 7 commits, 1-01-RECORD.md
|
|
249
|
+
- Status: ✅ Complete
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Breath 2: Parallel Infrastructure**
|
|
253
|
+
```bash
|
|
254
|
+
# Spawn two executors simultaneously
|
|
255
|
+
fire-executor: Plan 1-02 (PostgreSQL + Prisma)
|
|
256
|
+
- Duration: 15.4 minutes (2x faster than estimate)
|
|
257
|
+
- Output: 8 commits, 1-02-RECORD.md
|
|
258
|
+
- Status: ✅ Complete
|
|
259
|
+
|
|
260
|
+
fire-executor: Plan 1-03 (MinIO + S3)
|
|
261
|
+
- Duration: 42 minutes
|
|
262
|
+
- Output: 8 commits, 1-03-RECORD.md
|
|
263
|
+
- Status: ✅ Complete (MinIO installation pending)
|
|
264
|
+
|
|
265
|
+
# Breath 2 completes in ~42 minutes (longest agent)
|
|
266
|
+
# Sequential would have been 15.4 + 42 = 57.4 minutes
|
|
267
|
+
# Savings: 15.4 minutes (27% faster)
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Final Verification:**
|
|
271
|
+
```bash
|
|
272
|
+
fire-verifier: Phase 1 Validation
|
|
273
|
+
- Must-haves: 27/30 verified (3 pending MinIO install)
|
|
274
|
+
- WARRIOR checks: Passed
|
|
275
|
+
- Output: 1-VERIFICATION.md (if verification agent used)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Results
|
|
279
|
+
|
|
280
|
+
**Total Time:** ~73 minutes
|
|
281
|
+
- Breath 1: 15.5 minutes
|
|
282
|
+
- Breath 2: 42 minutes (parallel)
|
|
283
|
+
- Verification: ~15 minutes (included in agent time)
|
|
284
|
+
|
|
285
|
+
**vs Sequential:** 105-145 minutes estimated
|
|
286
|
+
**Time Savings:** 32-72 minutes (31-50% faster)
|
|
287
|
+
|
|
288
|
+
**Efficiency Gains:**
|
|
289
|
+
- Breath 1: 3x faster than estimate
|
|
290
|
+
- Breath 2: 27% faster through parallelization
|
|
291
|
+
- Overall: 45% faster than estimated
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Agent Spawning Code
|
|
296
|
+
|
|
297
|
+
### Fire Executor Spawn
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
async function spawnExecutor(plan: Plan): Promise<ExecutorResult> {
|
|
301
|
+
return await Task({
|
|
302
|
+
subagent_type: "fire-executor",
|
|
303
|
+
description: `Execute ${plan.id}: ${plan.name}`,
|
|
304
|
+
prompt: `
|
|
305
|
+
You are a fire-executor agent. Execute ${plan.id} with full autonomy.
|
|
306
|
+
|
|
307
|
+
**Context:**
|
|
308
|
+
- Phase: ${plan.phase}
|
|
309
|
+
- Plan: ${plan.id} - ${plan.name}
|
|
310
|
+
- Breath: ${plan.breath}
|
|
311
|
+
- User has approved all edits (YOLO mode)
|
|
312
|
+
|
|
313
|
+
**Plan File:**
|
|
314
|
+
@${plan.filePath}
|
|
315
|
+
|
|
316
|
+
**Instructions:**
|
|
317
|
+
1. Execute ALL tasks in the plan sequentially
|
|
318
|
+
2. Run ALL verification commands
|
|
319
|
+
3. Apply honesty protocols
|
|
320
|
+
4. Create summary: .planning/phases/${plan.phase}/${plan.id}-RECORD.md
|
|
321
|
+
5. Update SKILLS-INDEX.md
|
|
322
|
+
|
|
323
|
+
**Execution Mode:** Full autonomy, proceed with confidence.
|
|
324
|
+
|
|
325
|
+
Go ahead and execute the entire plan now.
|
|
326
|
+
`,
|
|
327
|
+
mode: "dontAsk"
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Parallel Breath Execution
|
|
333
|
+
|
|
334
|
+
```typescript
|
|
335
|
+
// Claude Code: Use single message with multiple Task calls
|
|
336
|
+
async function executeWave(breath: number, plans: Plan[]) {
|
|
337
|
+
console.log(`━━━ FIRE ► BREATH ${breath} EXECUTION ━━━`);
|
|
338
|
+
|
|
339
|
+
// Spawn all executors in parallel
|
|
340
|
+
const executors = plans.map(plan => spawnExecutor(plan));
|
|
341
|
+
|
|
342
|
+
// Wait for all to complete
|
|
343
|
+
const results = await Promise.all(executors);
|
|
344
|
+
|
|
345
|
+
// Check for errors
|
|
346
|
+
const errors = results.filter(r => r.status === "error");
|
|
347
|
+
if (errors.length > 0) {
|
|
348
|
+
throw new WaveExecutionError(breath, errors);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
console.log(`✓ Breath ${breath} complete`);
|
|
352
|
+
return results;
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Testing the Pattern
|
|
359
|
+
|
|
360
|
+
### Before (Sequential)
|
|
361
|
+
```
|
|
362
|
+
Plan 1-01: 15 min
|
|
363
|
+
↓ (wait)
|
|
364
|
+
Plan 1-02: 15 min
|
|
365
|
+
↓ (wait)
|
|
366
|
+
Plan 1-03: 42 min
|
|
367
|
+
↓
|
|
368
|
+
Total: 72 minutes
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### After (Breath-Based)
|
|
372
|
+
```
|
|
373
|
+
Plan 1-01: 15 min
|
|
374
|
+
↓ (wait)
|
|
375
|
+
Plan 1-02: 15 min ┐ (parallel)
|
|
376
|
+
Plan 1-03: 42 min ┘
|
|
377
|
+
↓
|
|
378
|
+
Total: 57 minutes
|
|
379
|
+
Savings: 15 minutes (21%)
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### Verification Steps
|
|
383
|
+
|
|
384
|
+
1. **Dependency Validation:**
|
|
385
|
+
```bash
|
|
386
|
+
# Verify plans don't conflict
|
|
387
|
+
- Check file modifications (no overlap)
|
|
388
|
+
- Check port usage (no conflicts)
|
|
389
|
+
- Check database operations (no race conditions)
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
2. **Execution Monitoring:**
|
|
393
|
+
```bash
|
|
394
|
+
# Watch agent progress
|
|
395
|
+
◆ Breath 2 in progress...
|
|
396
|
+
├─ ⚡ Plan 1-02: Running (database)
|
|
397
|
+
└─ ⚡ Plan 1-03: Running (storage)
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
3. **Completion Verification:**
|
|
401
|
+
```bash
|
|
402
|
+
# All summaries created
|
|
403
|
+
ls .planning/phases/1-setup/*-RECORD.md
|
|
404
|
+
# Expected: 1-01-RECORD.md, 1-02-RECORD.md, 1-03-RECORD.md
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## Prevention & Best Practices
|
|
410
|
+
|
|
411
|
+
### Breath Grouping Guidelines
|
|
412
|
+
|
|
413
|
+
**Do:**
|
|
414
|
+
- ✅ Group truly independent plans together
|
|
415
|
+
- ✅ Check for file conflicts (Git will catch these)
|
|
416
|
+
- ✅ Document dependencies in plan frontmatter
|
|
417
|
+
- ✅ Test with small plans first
|
|
418
|
+
|
|
419
|
+
**Don't:**
|
|
420
|
+
- ❌ Put dependent plans in same breath
|
|
421
|
+
- ❌ Assume parallelization always faster (overhead exists)
|
|
422
|
+
- ❌ Ignore resource limits (disk I/O, memory)
|
|
423
|
+
- ❌ Skip breath completion checks
|
|
424
|
+
|
|
425
|
+
### Dependency Analysis
|
|
426
|
+
|
|
427
|
+
```markdown
|
|
428
|
+
# Plan Frontmatter Pattern
|
|
429
|
+
---
|
|
430
|
+
Phase: X-name
|
|
431
|
+
Plan: NN
|
|
432
|
+
Breath: N
|
|
433
|
+
Depends On: ["X-01", "X-02"] # Must be in earlier breaths
|
|
434
|
+
Autonomous: true
|
|
435
|
+
Estimated Time: X-Y minutes
|
|
436
|
+
---
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**Rules:**
|
|
440
|
+
1. Breath N can only depend on plans in breaths < N
|
|
441
|
+
2. Plans in same breath CANNOT depend on each other
|
|
442
|
+
3. If circular dependency detected → sequential execution
|
|
443
|
+
|
|
444
|
+
### Error Handling
|
|
445
|
+
|
|
446
|
+
**Blocking Error in Breath:**
|
|
447
|
+
```typescript
|
|
448
|
+
if (plan.status === "blocked") {
|
|
449
|
+
// Create recovery document
|
|
450
|
+
await createContinueHere({
|
|
451
|
+
phase: plan.phase,
|
|
452
|
+
plan: plan.id,
|
|
453
|
+
blocker: plan.error,
|
|
454
|
+
resumeInstructions: plan.recoverySteps
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
// Continue other plans in breath
|
|
458
|
+
// Report blocker at breath completion
|
|
459
|
+
}
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
**Non-Blocking Error:**
|
|
463
|
+
```typescript
|
|
464
|
+
if (plan.status === "warning") {
|
|
465
|
+
// Document in RECORD.md
|
|
466
|
+
// Continue execution
|
|
467
|
+
// Report in verification
|
|
468
|
+
}
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## Common Mistakes to Avoid
|
|
474
|
+
|
|
475
|
+
### Mistake 1: Incorrect Breath Assignment
|
|
476
|
+
❌ **Wrong:**
|
|
477
|
+
```yaml
|
|
478
|
+
Plan 2-01: Breath 1
|
|
479
|
+
Plan 2-02: Breath 2, Depends: ["2-01"]
|
|
480
|
+
Plan 2-03: Breath 2, Depends: ["2-02"] # BAD: Depends on same breath
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
✅ **Correct:**
|
|
484
|
+
```yaml
|
|
485
|
+
Plan 2-01: Breath 1
|
|
486
|
+
Plan 2-02: Breath 2, Depends: ["2-01"]
|
|
487
|
+
Plan 2-03: Breath 3, Depends: ["2-02"] # Good: Depends on earlier breath
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Mistake 2: Assuming All Parallelization Helps
|
|
491
|
+
❌ **Wrong:** "More parallel = faster"
|
|
492
|
+
|
|
493
|
+
✅ **Correct:** Consider overhead:
|
|
494
|
+
- Agent spawn time: ~2-5 seconds per agent
|
|
495
|
+
- Context loading: ~5-10 seconds per agent
|
|
496
|
+
- Git conflicts: Serial resolution needed
|
|
497
|
+
- Break-even: ~15+ minute tasks benefit most
|
|
498
|
+
|
|
499
|
+
### Mistake 3: Ignoring Resource Conflicts
|
|
500
|
+
❌ **Wrong:** Parallel plans modifying same file
|
|
501
|
+
|
|
502
|
+
✅ **Correct:** Check for conflicts:
|
|
503
|
+
```bash
|
|
504
|
+
# Plan 1: Modifies server/src/index.ts
|
|
505
|
+
# Plan 2: Also modifies server/src/index.ts
|
|
506
|
+
# → Git conflict → Sequential execution better
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### Mistake 4: No Breath Completion Check
|
|
510
|
+
❌ **Wrong:** Start Breath 3 before Breath 2 done
|
|
511
|
+
|
|
512
|
+
✅ **Correct:** Always wait:
|
|
513
|
+
```typescript
|
|
514
|
+
await Promise.all(wave2Executors);
|
|
515
|
+
// Only then start Breath 3
|
|
516
|
+
await executeWave(3, wave3Plans);
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## Related Patterns
|
|
522
|
+
|
|
523
|
+
- [Dominion Flow Methodology](./DOMINION_FLOW_METHODOLOGY.md) - Core Dominion Flow concepts
|
|
524
|
+
- [Honesty Protocols](./HONESTY_PROTOCOLS.md) - Agent execution guidelines
|
|
525
|
+
- [Power Executor Agent](./POWER_EXECUTOR_PATTERN.md) - Agent design
|
|
526
|
+
- [Atomic Commits](../patterns-standards/ATOMIC_GIT_COMMITS.md) - Commit strategy
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
## Resources
|
|
531
|
+
|
|
532
|
+
### Dominion Flow Documentation
|
|
533
|
+
- Dominion Flow Plugin: `~/.claude/plugins/dominion-flow/`
|
|
534
|
+
- Execution Command: `/fire-3-execute N`
|
|
535
|
+
- Agent Definitions: `@agents/fire-executor.md`
|
|
536
|
+
|
|
537
|
+
### Claude Code
|
|
538
|
+
- Task Tool: Spawn parallel agents
|
|
539
|
+
- Promise.all: Wait for completion
|
|
540
|
+
- Agent IDs: Resume interrupted work
|
|
541
|
+
|
|
542
|
+
### Example Projects
|
|
543
|
+
- Viral Caption Maker: Phase 1 execution (this example)
|
|
544
|
+
- Breath savings: 31-50% time reduction
|
|
545
|
+
|
|
546
|
+
---
|
|
547
|
+
|
|
548
|
+
## Time to Implement
|
|
549
|
+
|
|
550
|
+
**Setup Time:** 5-10 minutes (plan breath assignment)
|
|
551
|
+
**Execution Time:** Depends on longest plan in breath
|
|
552
|
+
**Verification Time:** 5-15 minutes
|
|
553
|
+
|
|
554
|
+
**Break-Even Analysis:**
|
|
555
|
+
- 2 plans, 15 min each: Sequential = 30 min, Parallel = ~20 min (saves 10 min)
|
|
556
|
+
- 3 plans, 30 min each: Sequential = 90 min, Parallel = ~35 min (saves 55 min)
|
|
557
|
+
- Overhead: ~5-10 min per parallel breath
|
|
558
|
+
|
|
559
|
+
**When to Use Parallel:**
|
|
560
|
+
- Plans > 15 minutes each
|
|
561
|
+
- No file/resource conflicts
|
|
562
|
+
- True independence (no hidden dependencies)
|
|
563
|
+
|
|
564
|
+
**When to Use Sequential:**
|
|
565
|
+
- Plans < 10 minutes each
|
|
566
|
+
- File conflicts likely
|
|
567
|
+
- Dependent operations
|
|
568
|
+
- Debugging needed
|
|
569
|
+
|
|
570
|
+
---
|
|
571
|
+
|
|
572
|
+
## Difficulty Level
|
|
573
|
+
|
|
574
|
+
⭐⭐⭐ (3/5) - Moderate
|
|
575
|
+
|
|
576
|
+
**Why 3 stars:**
|
|
577
|
+
- ✅ Easy: Spawn parallel agents (Promise.all)
|
|
578
|
+
- ⚠️ Medium: Dependency analysis
|
|
579
|
+
- ⚠️ Medium: Breath grouping decisions
|
|
580
|
+
- ⚠️ Hard: Error handling across breaths
|
|
581
|
+
- ⚠️ Hard: Documentation aggregation
|
|
582
|
+
|
|
583
|
+
**Skills Required:**
|
|
584
|
+
- Understanding of async/await and promises
|
|
585
|
+
- Dependency graph analysis
|
|
586
|
+
- Git conflict awareness
|
|
587
|
+
- Dominion Flow methodology knowledge
|
|
588
|
+
|
|
589
|
+
---
|
|
590
|
+
|
|
591
|
+
## Metrics & Success Criteria
|
|
592
|
+
|
|
593
|
+
### Measure These
|
|
594
|
+
|
|
595
|
+
**Time Savings:**
|
|
596
|
+
```
|
|
597
|
+
Sequential Time: Sum of all plan estimates
|
|
598
|
+
Parallel Time: Sum of longest plan per breath
|
|
599
|
+
Savings: (Sequential - Parallel) / Sequential * 100%
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
**Efficiency Ratio:**
|
|
603
|
+
```
|
|
604
|
+
Ideal Parallel: Longest plan time
|
|
605
|
+
Actual Parallel: Real execution time
|
|
606
|
+
Efficiency: Ideal / Actual * 100%
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
**Example (Phase 1):**
|
|
610
|
+
- Sequential: 105 minutes
|
|
611
|
+
- Parallel: 73 minutes
|
|
612
|
+
- Savings: 30%
|
|
613
|
+
- Efficiency: 58/73 = 79% (good, overhead is 21%)
|
|
614
|
+
|
|
615
|
+
### Success Indicators
|
|
616
|
+
|
|
617
|
+
✅ **Success:**
|
|
618
|
+
- Time savings > 20%
|
|
619
|
+
- All plans complete successfully
|
|
620
|
+
- No Git conflicts
|
|
621
|
+
- Documentation complete
|
|
622
|
+
- Verification passes
|
|
623
|
+
|
|
624
|
+
⚠️ **Review Needed:**
|
|
625
|
+
- Time savings < 10%
|
|
626
|
+
- Frequent Git conflicts
|
|
627
|
+
- Agent failures in breath
|
|
628
|
+
- Overhead > 30%
|
|
629
|
+
|
|
630
|
+
❌ **Use Sequential:**
|
|
631
|
+
- Time savings negative
|
|
632
|
+
- Consistent failures
|
|
633
|
+
- Complex dependencies
|
|
634
|
+
- Small tasks (< 10 min)
|
|
635
|
+
|
|
636
|
+
---
|
|
637
|
+
|
|
638
|
+
## Author Notes
|
|
639
|
+
|
|
640
|
+
**Real-World Results (Phase 1 Execution):**
|
|
641
|
+
- Breath 1: 15.5 minutes (foundation)
|
|
642
|
+
- Breath 2: 42 minutes (parallel DB + Storage)
|
|
643
|
+
- Total: 73 minutes vs 105-145 min estimate
|
|
644
|
+
- Savings: 45% faster than expected
|
|
645
|
+
|
|
646
|
+
**Key Insights:**
|
|
647
|
+
1. **Parallelization overhead is real but acceptable** (~5-10 min)
|
|
648
|
+
2. **Individual agent efficiency mattered more** (3x faster tasks)
|
|
649
|
+
3. **Documentation aggregation is manual** (each agent creates RECORD.md)
|
|
650
|
+
4. **Git handles conflicts well** (no collisions in Phase 1)
|
|
651
|
+
5. **User feedback is delayed** (wait for breath completion)
|
|
652
|
+
|
|
653
|
+
**When I'd Use This Again:**
|
|
654
|
+
- ✅ Multi-infrastructure setup (DB + Storage + Cache)
|
|
655
|
+
- ✅ Independent feature development (Feature A + B + C)
|
|
656
|
+
- ✅ Parallel testing (Unit + Integration + E2E)
|
|
657
|
+
- ✅ Documentation generation (Multiple doc types)
|
|
658
|
+
|
|
659
|
+
**When I'd Avoid:**
|
|
660
|
+
- ❌ Single complex plan (no parallelization benefit)
|
|
661
|
+
- ❌ Sequential migrations (order matters)
|
|
662
|
+
- ❌ Debugging sessions (need sequential feedback)
|
|
663
|
+
- ❌ Small tasks < 10 min each (overhead > benefit)
|
|
664
|
+
|
|
665
|
+
**Best Use Case:**
|
|
666
|
+
Large phases with 3+ truly independent plans, each taking 20+ minutes. Phase 1 was perfect: monorepo setup (required), then parallel DB + Storage (independent infrastructure).
|
|
667
|
+
|
|
668
|
+
---
|
|
669
|
+
|
|
670
|
+
**Created:** 2026-02-09
|
|
671
|
+
**Author:** Claude Sonnet 4.5
|
|
672
|
+
**Tested On:** Viral Caption Maker - Phase 1
|
|
673
|
+
**Success Rate:** 100% (first use)
|
|
674
|
+
**Time Saved:** 32-72 minutes (31-50%)
|
|
675
|
+
|
|
676
|
+
---
|
|
677
|
+
|
|
678
|
+
*This pattern is proven in production. Use it for multi-plan phase execution with independent tasks.*
|