specsmd 0.0.0-dev.9 → 0.0.0-dev.90
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 +190 -224
- package/bin/cli.js +28 -1
- package/flows/aidlc/commands/construction-agent.md +5 -1
- package/flows/aidlc/commands/inception-agent.md +4 -0
- package/flows/aidlc/commands/master-agent.md +4 -0
- package/flows/aidlc/commands/operations-agent.md +4 -0
- package/flows/aidlc/memory-bank.yaml +2 -1
- package/{scripts/artifact-validator.js → flows/aidlc/scripts/artifact-validator.cjs} +3 -3
- package/{scripts/bolt-complete.js → flows/aidlc/scripts/bolt-complete.cjs} +36 -5
- package/{scripts/status-integrity.js → flows/aidlc/scripts/status-integrity.cjs} +5 -5
- package/flows/aidlc/skills/construction/bolt-list.md +1 -1
- package/flows/aidlc/skills/construction/bolt-start.md +3 -3
- package/flows/aidlc/skills/construction/bolt-status.md +1 -1
- package/flows/aidlc/skills/construction/prototype-apply.md +311 -0
- package/flows/aidlc/skills/inception/vibe-to-spec.md +410 -0
- package/flows/aidlc/skills/master/analyze-context.md +1 -1
- package/flows/aidlc/templates/construction/bolt-template.md +2 -2
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +73 -11
- package/flows/aidlc/templates/standards/decision-index-template.md +32 -0
- package/flows/fire/README.md +19 -0
- package/flows/fire/agents/builder/agent.md +260 -0
- package/flows/fire/agents/builder/skills/code-review/SKILL.md +257 -0
- package/flows/fire/agents/builder/skills/code-review/references/auto-fix-rules.md +218 -0
- package/flows/fire/agents/builder/skills/code-review/references/review-categories.md +154 -0
- package/flows/fire/agents/builder/skills/code-review/templates/review-report.md.hbs +120 -0
- package/flows/fire/agents/builder/skills/run-execute/SKILL.md +714 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/complete-run.cjs +800 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/init-run.cjs +500 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/update-checkpoint.cjs +254 -0
- package/flows/fire/agents/builder/skills/run-execute/scripts/update-phase.cjs +250 -0
- package/flows/fire/agents/builder/skills/run-execute/templates/plan.md.hbs +61 -0
- package/flows/fire/agents/builder/skills/run-execute/templates/test-report.md.hbs +81 -0
- package/flows/fire/agents/builder/skills/run-plan/SKILL.md +378 -0
- package/flows/fire/agents/builder/skills/run-status/SKILL.md +96 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +267 -0
- package/flows/fire/agents/builder/skills/walkthrough-generate/templates/walkthrough.md.hbs +176 -0
- package/flows/fire/agents/orchestrator/agent.md +144 -0
- package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +226 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/coding-standards.md.hbs +149 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/constitution.md.hbs +43 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/system-architecture.md.hbs +101 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/tech-stack.md.hbs +136 -0
- package/flows/fire/agents/orchestrator/skills/project-init/templates/testing-standards.md.hbs +94 -0
- package/flows/fire/agents/orchestrator/skills/route/SKILL.md +146 -0
- package/flows/fire/agents/orchestrator/skills/status/SKILL.md +696 -0
- package/flows/fire/agents/planner/agent.md +143 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +156 -0
- package/flows/fire/agents/planner/skills/design-doc-generate/templates/design.md.hbs +124 -0
- package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +125 -0
- package/flows/fire/agents/planner/skills/intent-capture/templates/brief.md.hbs +40 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/SKILL.md +166 -0
- package/flows/fire/agents/planner/skills/work-item-decompose/templates/work-item.md.hbs +40 -0
- package/flows/fire/commands/fire-builder.md +56 -0
- package/flows/fire/commands/fire-planner.md +48 -0
- package/flows/fire/commands/fire.md +46 -0
- package/flows/fire/memory-bank.yaml +240 -0
- package/flows/fire/quick-start.md +146 -0
- package/flows/ideation/README.md +35 -0
- package/flows/ideation/agents/orchestrator/agent.md +103 -0
- package/flows/ideation/agents/orchestrator/skills/flame/SKILL.md +132 -0
- package/flows/ideation/agents/orchestrator/skills/flame/references/evaluation-criteria.md +81 -0
- package/flows/ideation/agents/orchestrator/skills/flame/references/six-hats-method.md +87 -0
- package/flows/ideation/agents/orchestrator/skills/flame/templates/flame-report.md.hbs +81 -0
- package/flows/ideation/agents/orchestrator/skills/forge/SKILL.md +153 -0
- package/flows/ideation/agents/orchestrator/skills/forge/references/disney-method.md +94 -0
- package/flows/ideation/agents/orchestrator/skills/forge/references/pitch-framework.md +87 -0
- package/flows/ideation/agents/orchestrator/skills/forge/templates/concept-brief.md.hbs +83 -0
- package/flows/ideation/agents/orchestrator/skills/spark/SKILL.md +152 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/anti-bias.md +43 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/analogy.md +60 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/first-principles.md +56 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/index.yaml +76 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/inversion.md +52 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/questorming.md +57 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/random-word.md +35 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/scamper.md +67 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/what-if.md +55 -0
- package/flows/ideation/agents/orchestrator/skills/spark/templates/spark-bank.md.hbs +72 -0
- package/flows/ideation/commands/flame.md +43 -0
- package/flows/ideation/commands/forge.md +43 -0
- package/flows/ideation/commands/ideation.md +51 -0
- package/flows/ideation/commands/spark.md +43 -0
- package/flows/ideation/memory-bank.yaml +177 -0
- package/flows/ideation/quick-start.md +84 -0
- package/flows/ideation/shared/protocols/anti-bias.md +79 -0
- package/flows/ideation/shared/protocols/deep-thinking.md +92 -0
- package/flows/ideation/shared/protocols/diverge-converge.md +72 -0
- package/flows/ideation/shared/protocols/interaction-adaptation.md +88 -0
- package/flows/simple/README.md +190 -0
- package/flows/simple/agents/agent.md +404 -0
- package/flows/simple/commands/agent.md +60 -0
- package/flows/simple/context-config.yaml +34 -0
- package/flows/simple/memory-bank.yaml +66 -0
- package/flows/simple/quick-start.md +231 -0
- package/flows/simple/skills/design.md +96 -0
- package/flows/simple/skills/execute.md +190 -0
- package/flows/simple/skills/requirements.md +94 -0
- package/flows/simple/skills/tasks.md +136 -0
- package/flows/simple/templates/design-template.md +138 -0
- package/flows/simple/templates/requirements-template.md +85 -0
- package/flows/simple/templates/tasks-template.md +104 -0
- package/lib/analytics/tracker.js +6 -2
- package/lib/constants.js +25 -8
- package/lib/dashboard/aidlc/parser.js +581 -0
- package/lib/dashboard/fire/model.js +382 -0
- package/lib/dashboard/fire/parser.js +470 -0
- package/lib/dashboard/flow-detect.js +86 -0
- package/lib/dashboard/git/changes.js +362 -0
- package/lib/dashboard/git/worktrees.js +248 -0
- package/lib/dashboard/index.js +709 -0
- package/lib/dashboard/runtime/watch-runtime.js +122 -0
- package/lib/dashboard/simple/parser.js +293 -0
- package/lib/dashboard/tui/app.js +1675 -0
- package/lib/dashboard/tui/components/error-banner.js +35 -0
- package/lib/dashboard/tui/components/header.js +60 -0
- package/lib/dashboard/tui/components/help-footer.js +15 -0
- package/lib/dashboard/tui/components/stats-strip.js +35 -0
- package/lib/dashboard/tui/file-entries.js +383 -0
- package/lib/dashboard/tui/flow-builders.js +991 -0
- package/lib/dashboard/tui/git-builders.js +218 -0
- package/lib/dashboard/tui/helpers.js +236 -0
- package/lib/dashboard/tui/overlays.js +242 -0
- package/lib/dashboard/tui/preview.js +220 -0
- package/lib/dashboard/tui/renderer.js +76 -0
- package/lib/dashboard/tui/row-builders.js +797 -0
- package/lib/dashboard/tui/sections.js +45 -0
- package/lib/dashboard/tui/store.js +44 -0
- package/lib/dashboard/tui/views/overview-view.js +61 -0
- package/lib/dashboard/tui/views/runs-view.js +93 -0
- package/lib/dashboard/tui/worktree-builders.js +229 -0
- package/lib/dashboard/web/extension-adapter.js +726 -0
- package/lib/dashboard/web/public/app.js +9 -0
- package/lib/dashboard/web/public/index.html +14 -0
- package/lib/dashboard/web/public/styles.css +36 -0
- package/lib/dashboard/web/public/webview-bundle.js +7596 -0
- package/lib/dashboard/web/server.js +376 -0
- package/lib/dashboard/web/snapshot.js +299 -0
- package/lib/installer.js +19 -15
- package/lib/installers/CodexInstaller.js +72 -1
- package/lib/installers/KiroInstaller.js +55 -0
- package/lib/installers/OpenCodeInstaller.js +9 -1
- package/lib/installers/ToolInstaller.js +4 -1
- package/lib/installers/WindsurfInstaller.js +0 -54
- package/package.json +15 -55
- package/scripts/check-webview-bundle-sync.cjs +38 -0
- package/scripts/sync-webview-bundle.cjs +19 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: walkthrough-generate
|
|
3
|
+
description: Generate implementation walkthrough for human review after run completion. Documents decisions, changes, and verification steps.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Generate implementation walkthrough for human review after run completion.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<triggers>
|
|
12
|
+
- Run completed successfully
|
|
13
|
+
- Invoked by run-execute skill
|
|
14
|
+
</triggers>
|
|
15
|
+
|
|
16
|
+
<degrees_of_freedom>
|
|
17
|
+
**LOW** — Follow walkthrough structure precisely. Be thorough but concise.
|
|
18
|
+
</degrees_of_freedom>
|
|
19
|
+
|
|
20
|
+
<llm critical="true">
|
|
21
|
+
<mandate>ALWAYS generate walkthrough after run completion</mandate>
|
|
22
|
+
<mandate>Document DECISIONS, not just changes</mandate>
|
|
23
|
+
<mandate>Include verification steps — how to test this works</mandate>
|
|
24
|
+
<mandate>Track DEVIATIONS from plan — compare to original work item</mandate>
|
|
25
|
+
<mandate>List ALL new dependencies added during implementation</mandate>
|
|
26
|
+
<mandate>Capture developer notes — gotchas save future debugging time</mandate>
|
|
27
|
+
</llm>
|
|
28
|
+
|
|
29
|
+
<flow>
|
|
30
|
+
<step n="1" title="Gather Implementation Data">
|
|
31
|
+
<action>Read run log from .specs-fire/runs/{run-id}/run.md</action>
|
|
32
|
+
<action>Read work item plan from .specs-fire/intents/{intent}/work-items/{work-item}/</action>
|
|
33
|
+
<action>Collect:</action>
|
|
34
|
+
<substep>Work item details (id, title, intent)</substep>
|
|
35
|
+
<substep>Files created during implementation</substep>
|
|
36
|
+
<substep>Files modified during implementation</substep>
|
|
37
|
+
<substep>Decisions made during execution</substep>
|
|
38
|
+
<substep>Tests added and coverage</substep>
|
|
39
|
+
<substep>Dependencies added (new packages in package.json, requirements.txt, etc.)</substep>
|
|
40
|
+
<substep>Deviations from the original work item plan</substep>
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step n="2" title="Analyze Implementation">
|
|
44
|
+
<action>For each file created/modified:</action>
|
|
45
|
+
<substep>Identify purpose of the file</substep>
|
|
46
|
+
<substep>Summarize key changes</substep>
|
|
47
|
+
<substep>Note patterns or approaches used</substep>
|
|
48
|
+
<action>Document structure overview:</action>
|
|
49
|
+
<substep>How the pieces fit together architecturally</substep>
|
|
50
|
+
<substep>Data flow or component relationships</substep>
|
|
51
|
+
<substep>Keep high-level, NO CODE</substep>
|
|
52
|
+
<action>Identify architecture pattern (if multi-component):</action>
|
|
53
|
+
<substep>Pattern used (Repository, Service Layer, MVC, Clean Architecture, etc.)</substep>
|
|
54
|
+
<substep>Layer structure diagram (ASCII) if applicable</substep>
|
|
55
|
+
<action>Document domain model (if entities/models created):</action>
|
|
56
|
+
<substep>Entities with properties and business rules</substep>
|
|
57
|
+
<substep>Value objects with constraints</substep>
|
|
58
|
+
</step>
|
|
59
|
+
|
|
60
|
+
<step n="3" title="Document Key Details">
|
|
61
|
+
<action>Extract implementation highlights:</action>
|
|
62
|
+
<substep>Main flow/algorithm implemented</substep>
|
|
63
|
+
<substep>Integration points with existing code</substep>
|
|
64
|
+
<action>Document security considerations (if applicable):</action>
|
|
65
|
+
<substep>Authentication/authorization approach</substep>
|
|
66
|
+
<substep>Input validation strategy</substep>
|
|
67
|
+
<substep>Data protection measures</substep>
|
|
68
|
+
<substep>Format as table: Concern | Approach</substep>
|
|
69
|
+
<action>Document performance considerations (if applicable):</action>
|
|
70
|
+
<substep>Optimization strategies used</substep>
|
|
71
|
+
<substep>Caching, indexing, or query optimization</substep>
|
|
72
|
+
<substep>Scalability approach</substep>
|
|
73
|
+
<substep>Format as table: Requirement | Implementation</substep>
|
|
74
|
+
<action>Document deviations from plan:</action>
|
|
75
|
+
<substep>Compare implementation to original work item plan</substep>
|
|
76
|
+
<substep>Note any changes and explain WHY they were made</substep>
|
|
77
|
+
<substep>If no deviations, state "None"</substep>
|
|
78
|
+
<action>Capture developer notes:</action>
|
|
79
|
+
<substep>Gotchas or non-obvious behaviors</substep>
|
|
80
|
+
<substep>Tips for future developers</substep>
|
|
81
|
+
<substep>Context that would save debugging time</substep>
|
|
82
|
+
</step>
|
|
83
|
+
|
|
84
|
+
<step n="4" title="Create Verification Steps">
|
|
85
|
+
<action>Generate how-to-verify section:</action>
|
|
86
|
+
<substep>Commands to run the feature</substep>
|
|
87
|
+
<substep>Expected behavior/output</substep>
|
|
88
|
+
<substep>Manual test scenarios</substep>
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step n="5" title="Assess Ready for Review">
|
|
92
|
+
<action>Evaluate implementation completeness:</action>
|
|
93
|
+
<substep>All acceptance criteria met?</substep>
|
|
94
|
+
<substep>Tests passing?</substep>
|
|
95
|
+
<substep>No critical issues remaining?</substep>
|
|
96
|
+
<substep>Documentation updated (if applicable)?</substep>
|
|
97
|
+
<substep>Developer notes captured?</substep>
|
|
98
|
+
<action>Generate checklist with [x] for met, [ ] for unmet</action>
|
|
99
|
+
</step>
|
|
100
|
+
|
|
101
|
+
<step n="6" title="Generate Walkthrough">
|
|
102
|
+
<action>Generate walkthrough using template: templates/walkthrough.md.hbs</action>
|
|
103
|
+
<action>Include all sections (conditional sections only if data exists):</action>
|
|
104
|
+
<substep>Architecture — only if multi-component with clear pattern</substep>
|
|
105
|
+
<substep>Domain Model — only if entities/value objects created</substep>
|
|
106
|
+
<substep>Security Considerations — only if security-relevant changes</substep>
|
|
107
|
+
<substep>Performance Considerations — only if performance-relevant changes</substep>
|
|
108
|
+
<action>Save to: .specs-fire/runs/{run-id}/walkthrough.md</action>
|
|
109
|
+
<output>
|
|
110
|
+
Walkthrough generated: .specs-fire/runs/{run-id}/walkthrough.md
|
|
111
|
+
</output>
|
|
112
|
+
</step>
|
|
113
|
+
</flow>
|
|
114
|
+
|
|
115
|
+
<output_template>
|
|
116
|
+
**Walkthrough** (`.specs-fire/runs/{run-id}/walkthrough.md`):
|
|
117
|
+
|
|
118
|
+
````markdown
|
|
119
|
+
---
|
|
120
|
+
run: {run-id}
|
|
121
|
+
work_item: {work-item-id}
|
|
122
|
+
intent: {intent-id}
|
|
123
|
+
generated: {timestamp}
|
|
124
|
+
mode: {mode}
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
# Implementation Walkthrough: {title}
|
|
128
|
+
|
|
129
|
+
## Summary
|
|
130
|
+
|
|
131
|
+
{2-3 sentences describing what was implemented}
|
|
132
|
+
|
|
133
|
+
## Structure Overview
|
|
134
|
+
|
|
135
|
+
{High-level description of how pieces fit together - NO CODE}
|
|
136
|
+
|
|
137
|
+
## Architecture (if multi-component)
|
|
138
|
+
|
|
139
|
+
### Pattern Used
|
|
140
|
+
{Pattern and rationale - e.g., Repository pattern for data access abstraction}
|
|
141
|
+
|
|
142
|
+
### Layer Structure
|
|
143
|
+
```text
|
|
144
|
+
┌─────────────────────────────┐
|
|
145
|
+
│ Presentation │
|
|
146
|
+
├─────────────────────────────┤
|
|
147
|
+
│ Application │
|
|
148
|
+
├─────────────────────────────┤
|
|
149
|
+
│ Domain │
|
|
150
|
+
├─────────────────────────────┤
|
|
151
|
+
│ Infrastructure │
|
|
152
|
+
└─────────────────────────────┘
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Files Changed
|
|
156
|
+
|
|
157
|
+
### Created
|
|
158
|
+
|
|
159
|
+
| File | Purpose |
|
|
160
|
+
|------|---------|
|
|
161
|
+
| `{path}` | {purpose} |
|
|
162
|
+
|
|
163
|
+
### Modified
|
|
164
|
+
|
|
165
|
+
| File | Changes |
|
|
166
|
+
|------|---------|
|
|
167
|
+
| `{path}` | {changes} |
|
|
168
|
+
|
|
169
|
+
## Domain Model (if entities created)
|
|
170
|
+
|
|
171
|
+
### Entities
|
|
172
|
+
|
|
173
|
+
| Entity | Properties | Business Rules |
|
|
174
|
+
|--------|------------|----------------|
|
|
175
|
+
| {name} | {props} | {rules} |
|
|
176
|
+
|
|
177
|
+
### Value Objects
|
|
178
|
+
|
|
179
|
+
| Value Object | Properties | Constraints |
|
|
180
|
+
|--------------|------------|-------------|
|
|
181
|
+
| {name} | {props} | {constraints} |
|
|
182
|
+
|
|
183
|
+
## Key Implementation Details
|
|
184
|
+
|
|
185
|
+
### 1. {Detail Title}
|
|
186
|
+
|
|
187
|
+
{description of implementation approach}
|
|
188
|
+
|
|
189
|
+
## Security Considerations (if applicable)
|
|
190
|
+
|
|
191
|
+
| Concern | Approach |
|
|
192
|
+
|---------|----------|
|
|
193
|
+
| {concern} | {approach} |
|
|
194
|
+
|
|
195
|
+
## Performance Considerations (if applicable)
|
|
196
|
+
|
|
197
|
+
| Requirement | Implementation |
|
|
198
|
+
|-------------|----------------|
|
|
199
|
+
| {requirement} | {implementation} |
|
|
200
|
+
|
|
201
|
+
## Decisions Made
|
|
202
|
+
|
|
203
|
+
| Decision | Choice | Rationale |
|
|
204
|
+
|----------|--------|-----------|
|
|
205
|
+
| {decision} | {choice} | {rationale} |
|
|
206
|
+
|
|
207
|
+
## Deviations from Plan
|
|
208
|
+
|
|
209
|
+
{Changes from work item plan and why, or "None"}
|
|
210
|
+
|
|
211
|
+
## Dependencies Added
|
|
212
|
+
|
|
213
|
+
| Package | Why Needed |
|
|
214
|
+
|---------|------------|
|
|
215
|
+
| `{package}` | {reason} |
|
|
216
|
+
|
|
217
|
+
## How to Verify
|
|
218
|
+
|
|
219
|
+
1. **{Step Title}**
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
{command}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Expected: {expected output}
|
|
226
|
+
|
|
227
|
+
## Test Coverage
|
|
228
|
+
|
|
229
|
+
- Tests added: {count}
|
|
230
|
+
- Coverage: {percentage}%
|
|
231
|
+
- Status: {passing/failing}
|
|
232
|
+
|
|
233
|
+
## Ready for Review
|
|
234
|
+
|
|
235
|
+
- [x] All acceptance criteria met
|
|
236
|
+
- [x] Tests passing
|
|
237
|
+
- [x] No critical issues
|
|
238
|
+
- [ ] Documentation updated (if applicable)
|
|
239
|
+
- [x] Developer notes captured
|
|
240
|
+
|
|
241
|
+
## Developer Notes
|
|
242
|
+
|
|
243
|
+
{Gotchas, tips, or context for future work - keep brief}
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
*Generated by specs.md - fabriqa.ai FIRE Flow Run {run-id}*
|
|
247
|
+
|
|
248
|
+
````
|
|
249
|
+
|
|
250
|
+
</output_template>
|
|
251
|
+
|
|
252
|
+
<success_criteria>
|
|
253
|
+
<criterion>Walkthrough generated with all applicable sections</criterion>
|
|
254
|
+
<criterion>Structure overview explains architecture (NO CODE)</criterion>
|
|
255
|
+
<criterion>Architecture pattern documented (if multi-component)</criterion>
|
|
256
|
+
<criterion>Domain model documented (if entities created)</criterion>
|
|
257
|
+
<criterion>Files changed documented with purposes</criterion>
|
|
258
|
+
<criterion>Security considerations documented (if security-relevant)</criterion>
|
|
259
|
+
<criterion>Performance considerations documented (if performance-relevant)</criterion>
|
|
260
|
+
<criterion>Decisions recorded with rationale</criterion>
|
|
261
|
+
<criterion>Deviations from plan documented (or "None")</criterion>
|
|
262
|
+
<criterion>Dependencies added listed with reasons</criterion>
|
|
263
|
+
<criterion>Verification steps included</criterion>
|
|
264
|
+
<criterion>Ready for Review checklist completed</criterion>
|
|
265
|
+
<criterion>Developer notes capture gotchas and tips</criterion>
|
|
266
|
+
<criterion>Saved to run folder</criterion>
|
|
267
|
+
</success_criteria>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
run: {{run_id}}
|
|
3
|
+
work_item: {{work_item_id}}
|
|
4
|
+
intent: {{intent_id}}
|
|
5
|
+
generated: {{generated}}
|
|
6
|
+
mode: {{mode}}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Implementation Walkthrough: {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
{{summary}}
|
|
14
|
+
|
|
15
|
+
## Structure Overview
|
|
16
|
+
|
|
17
|
+
{{structure_overview}}
|
|
18
|
+
|
|
19
|
+
{{#if architecture}}
|
|
20
|
+
## Architecture
|
|
21
|
+
|
|
22
|
+
### Pattern Used
|
|
23
|
+
|
|
24
|
+
{{architecture.pattern}}
|
|
25
|
+
|
|
26
|
+
{{#if architecture.layer_diagram}}
|
|
27
|
+
### Layer Structure
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
{{architecture.layer_diagram}}
|
|
31
|
+
```
|
|
32
|
+
{{/if}}
|
|
33
|
+
{{/if}}
|
|
34
|
+
|
|
35
|
+
## Files Changed
|
|
36
|
+
|
|
37
|
+
### Created
|
|
38
|
+
|
|
39
|
+
| File | Purpose |
|
|
40
|
+
|------|---------|
|
|
41
|
+
{{#each files_created}}
|
|
42
|
+
| `{{this.path}}` | {{this.purpose}} |
|
|
43
|
+
{{/each}}
|
|
44
|
+
{{#unless files_created}}
|
|
45
|
+
| (none) | |
|
|
46
|
+
{{/unless}}
|
|
47
|
+
|
|
48
|
+
### Modified
|
|
49
|
+
|
|
50
|
+
| File | Changes |
|
|
51
|
+
|------|---------|
|
|
52
|
+
{{#each files_modified}}
|
|
53
|
+
| `{{this.path}}` | {{this.changes}} |
|
|
54
|
+
{{/each}}
|
|
55
|
+
{{#unless files_modified}}
|
|
56
|
+
| (none) | |
|
|
57
|
+
{{/unless}}
|
|
58
|
+
|
|
59
|
+
{{#if domain_model}}
|
|
60
|
+
## Domain Model
|
|
61
|
+
|
|
62
|
+
{{#if domain_model.entities}}
|
|
63
|
+
### Entities
|
|
64
|
+
|
|
65
|
+
| Entity | Properties | Business Rules |
|
|
66
|
+
|--------|------------|----------------|
|
|
67
|
+
{{#each domain_model.entities}}
|
|
68
|
+
| {{this.name}} | {{this.properties}} | {{this.rules}} |
|
|
69
|
+
{{/each}}
|
|
70
|
+
{{/if}}
|
|
71
|
+
|
|
72
|
+
{{#if domain_model.value_objects}}
|
|
73
|
+
### Value Objects
|
|
74
|
+
|
|
75
|
+
| Value Object | Properties | Constraints |
|
|
76
|
+
|--------------|------------|-------------|
|
|
77
|
+
{{#each domain_model.value_objects}}
|
|
78
|
+
| {{this.name}} | {{this.properties}} | {{this.constraints}} |
|
|
79
|
+
{{/each}}
|
|
80
|
+
{{/if}}
|
|
81
|
+
{{/if}}
|
|
82
|
+
|
|
83
|
+
## Key Implementation Details
|
|
84
|
+
|
|
85
|
+
{{#each implementation_details}}
|
|
86
|
+
### {{@index}}. {{this.title}}
|
|
87
|
+
|
|
88
|
+
{{this.description}}
|
|
89
|
+
|
|
90
|
+
{{/each}}
|
|
91
|
+
|
|
92
|
+
{{#if security_considerations}}
|
|
93
|
+
## Security Considerations
|
|
94
|
+
|
|
95
|
+
| Concern | Approach |
|
|
96
|
+
|---------|----------|
|
|
97
|
+
{{#each security_considerations}}
|
|
98
|
+
| {{this.concern}} | {{this.approach}} |
|
|
99
|
+
{{/each}}
|
|
100
|
+
{{/if}}
|
|
101
|
+
|
|
102
|
+
{{#if performance_considerations}}
|
|
103
|
+
## Performance Considerations
|
|
104
|
+
|
|
105
|
+
| Requirement | Implementation |
|
|
106
|
+
|-------------|----------------|
|
|
107
|
+
{{#each performance_considerations}}
|
|
108
|
+
| {{this.requirement}} | {{this.implementation}} |
|
|
109
|
+
{{/each}}
|
|
110
|
+
{{/if}}
|
|
111
|
+
|
|
112
|
+
## Decisions Made
|
|
113
|
+
|
|
114
|
+
| Decision | Choice | Rationale |
|
|
115
|
+
|----------|--------|-----------|
|
|
116
|
+
{{#each decisions}}
|
|
117
|
+
| {{this.decision}} | {{this.choice}} | {{this.rationale}} |
|
|
118
|
+
{{/each}}
|
|
119
|
+
{{#unless decisions}}
|
|
120
|
+
| (none) | | |
|
|
121
|
+
{{/unless}}
|
|
122
|
+
|
|
123
|
+
## Deviations from Plan
|
|
124
|
+
|
|
125
|
+
{{#if deviations}}
|
|
126
|
+
{{deviations}}
|
|
127
|
+
{{else}}
|
|
128
|
+
None
|
|
129
|
+
{{/if}}
|
|
130
|
+
|
|
131
|
+
## Dependencies Added
|
|
132
|
+
|
|
133
|
+
| Package | Why Needed |
|
|
134
|
+
|---------|------------|
|
|
135
|
+
{{#each dependencies_added}}
|
|
136
|
+
| `{{this.package}}` | {{this.reason}} |
|
|
137
|
+
{{/each}}
|
|
138
|
+
{{#unless dependencies_added}}
|
|
139
|
+
| (none) | |
|
|
140
|
+
{{/unless}}
|
|
141
|
+
|
|
142
|
+
## How to Verify
|
|
143
|
+
|
|
144
|
+
{{#each verification_steps}}
|
|
145
|
+
{{@index}}. **{{this.title}}**
|
|
146
|
+
```bash
|
|
147
|
+
{{this.command}}
|
|
148
|
+
```
|
|
149
|
+
Expected: {{this.expected}}
|
|
150
|
+
|
|
151
|
+
{{/each}}
|
|
152
|
+
|
|
153
|
+
## Test Coverage
|
|
154
|
+
|
|
155
|
+
- Tests added: {{tests_added}}
|
|
156
|
+
- Coverage: {{coverage}}%
|
|
157
|
+
- Status: {{test_status}}
|
|
158
|
+
|
|
159
|
+
## Ready for Review
|
|
160
|
+
|
|
161
|
+
- [{{#if ready.acceptance_met}}x{{else}} {{/if}}] All acceptance criteria met
|
|
162
|
+
- [{{#if ready.tests_passing}}x{{else}} {{/if}}] Tests passing
|
|
163
|
+
- [{{#if ready.no_critical_issues}}x{{else}} {{/if}}] No critical issues
|
|
164
|
+
- [{{#if ready.docs_updated}}x{{else}} {{/if}}] Documentation updated (if applicable)
|
|
165
|
+
- [{{#if ready.notes_captured}}x{{else}} {{/if}}] Developer notes captured
|
|
166
|
+
|
|
167
|
+
## Developer Notes
|
|
168
|
+
|
|
169
|
+
{{#if developer_notes}}
|
|
170
|
+
{{developer_notes}}
|
|
171
|
+
{{else}}
|
|
172
|
+
(none)
|
|
173
|
+
{{/if}}
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
*Generated by specs.md - fabriqa.ai FIRE Flow Run {{run_id}}*
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fire-orchestrator-agent
|
|
3
|
+
description: FIRE flow orchestrator and session manager. Routes users to the appropriate agent based on project state.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<role>
|
|
8
|
+
You are the **Orchestrator Agent** for FIRE (Fast Intent-Run Engineering).
|
|
9
|
+
|
|
10
|
+
- **Role**: FIRE Flow Orchestrator & Session Manager
|
|
11
|
+
- **Communication**: Direct and efficient. Route based on state, not assumptions.
|
|
12
|
+
- **Principle**: Minimize friction. Get users to the right agent fast.
|
|
13
|
+
</role>
|
|
14
|
+
|
|
15
|
+
<constraints critical="true">
|
|
16
|
+
<constraint>ALWAYS read state.yaml before routing</constraint>
|
|
17
|
+
<constraint>NEVER assume project state — verify it</constraint>
|
|
18
|
+
<constraint>ALWAYS scan file system to discover untracked intents/work-items</constraint>
|
|
19
|
+
</constraints>
|
|
20
|
+
|
|
21
|
+
<on_activation>
|
|
22
|
+
When user invokes this agent:
|
|
23
|
+
|
|
24
|
+
<step n="1" title="Load Configuration">
|
|
25
|
+
<action>Read `.specsmd/fire/memory-bank.yaml` for schema</action>
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step n="2" title="Check Initialization">
|
|
29
|
+
<action>Check if `.specs-fire/state.yaml` exists</action>
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step n="3" title="Route by State">
|
|
33
|
+
<check if="NOT initialized (new project)">
|
|
34
|
+
<action>Execute `project-init` skill to set up workspace</action>
|
|
35
|
+
</check>
|
|
36
|
+
<check if="initialized">
|
|
37
|
+
<action>Read `.specs-fire/state.yaml` for current state</action>
|
|
38
|
+
<action>Execute `route` skill to determine next action</action>
|
|
39
|
+
</check>
|
|
40
|
+
</step>
|
|
41
|
+
</on_activation>
|
|
42
|
+
|
|
43
|
+
<skills>
|
|
44
|
+
| Command | Skill | Description |
|
|
45
|
+
|---------|-------|-------------|
|
|
46
|
+
| `init` | `skills/project-init/SKILL.md` | Initialize FIRE project |
|
|
47
|
+
| `route` | `skills/route/SKILL.md` | Route to appropriate agent |
|
|
48
|
+
| `status` | `skills/status/SKILL.md` | Show project status |
|
|
49
|
+
</skills>
|
|
50
|
+
|
|
51
|
+
<routing_logic>
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
[1] state.yaml exists?
|
|
55
|
+
→ No → Execute project-init skill
|
|
56
|
+
→ Yes → [2]
|
|
57
|
+
|
|
58
|
+
[2] Active run in progress?
|
|
59
|
+
→ Yes → Route to Builder Agent (resume run)
|
|
60
|
+
→ No → [3]
|
|
61
|
+
|
|
62
|
+
[3] Pending work items exist?
|
|
63
|
+
→ Yes → Route to Builder Agent (start next work item)
|
|
64
|
+
→ No → [4]
|
|
65
|
+
|
|
66
|
+
[4] Active intent with no work items?
|
|
67
|
+
→ Yes → Route to Planner Agent (decompose intent)
|
|
68
|
+
→ No → [5]
|
|
69
|
+
|
|
70
|
+
[5] No active intents?
|
|
71
|
+
→ Route to Planner Agent (capture new intent)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
</routing_logic>
|
|
75
|
+
|
|
76
|
+
<state_schema>
|
|
77
|
+
The orchestrator maintains `state.yaml`:
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
project:
|
|
81
|
+
name: "project-name"
|
|
82
|
+
fire_version: "0.1.8"
|
|
83
|
+
|
|
84
|
+
workspace:
|
|
85
|
+
type: brownfield
|
|
86
|
+
structure: monolith
|
|
87
|
+
autonomy_bias: balanced
|
|
88
|
+
|
|
89
|
+
intents:
|
|
90
|
+
- id: user-auth
|
|
91
|
+
title: "User Authentication"
|
|
92
|
+
status: in_progress
|
|
93
|
+
work_items:
|
|
94
|
+
- id: login-endpoint
|
|
95
|
+
status: completed
|
|
96
|
+
complexity: medium
|
|
97
|
+
mode: confirm
|
|
98
|
+
- id: session-management
|
|
99
|
+
status: pending
|
|
100
|
+
complexity: medium
|
|
101
|
+
mode: confirm
|
|
102
|
+
|
|
103
|
+
runs:
|
|
104
|
+
active: [] # List of active runs (supports multiple parallel runs)
|
|
105
|
+
completed:
|
|
106
|
+
- id: run-fabriqa-2026-001
|
|
107
|
+
work_items:
|
|
108
|
+
- id: login-endpoint
|
|
109
|
+
intent: user-auth
|
|
110
|
+
mode: confirm
|
|
111
|
+
status: completed
|
|
112
|
+
completed: "2026-01-19T12:00:00Z"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
</state_schema>
|
|
116
|
+
|
|
117
|
+
<handoff_protocol>
|
|
118
|
+
When routing to another agent, provide context:
|
|
119
|
+
|
|
120
|
+
<handoff to="Planner">
|
|
121
|
+
```
|
|
122
|
+
Routing to Planner Agent.
|
|
123
|
+
Context: No active intent. Ready for new intent capture.
|
|
124
|
+
```
|
|
125
|
+
</handoff>
|
|
126
|
+
|
|
127
|
+
<handoff to="Builder">
|
|
128
|
+
```
|
|
129
|
+
Routing to Builder Agent.
|
|
130
|
+
Context: Work item "session-management" ready for execution.
|
|
131
|
+
Mode: confirm (1 checkpoint)
|
|
132
|
+
```
|
|
133
|
+
</handoff>
|
|
134
|
+
</handoff_protocol>
|
|
135
|
+
|
|
136
|
+
<success_criteria>
|
|
137
|
+
<criterion>Project state correctly identified</criterion>
|
|
138
|
+
<criterion>User routed to appropriate agent</criterion>
|
|
139
|
+
<criterion>Context passed to target agent</criterion>
|
|
140
|
+
</success_criteria>
|
|
141
|
+
|
|
142
|
+
<begin>
|
|
143
|
+
Read `.specs-fire/state.yaml` and execute the `route` skill to determine the user's next action.
|
|
144
|
+
</begin>
|