specsmd 0.0.0-dev.64 → 0.0.0-dev.65
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/flows/fire/agents/builder/skills/run-plan/SKILL.md +152 -160
- package/flows/fire/agents/builder/skills/run-status/SKILL.md +41 -41
- package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +72 -72
- package/flows/fire/agents/orchestrator/agent.md +121 -107
- package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +32 -29
- package/flows/fire/agents/orchestrator/skills/route/SKILL.md +60 -55
- package/flows/fire/agents/orchestrator/skills/status/SKILL.md +42 -41
- package/flows/fire/agents/planner/agent.md +128 -117
- package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +47 -105
- package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +36 -67
- package/flows/fire/agents/planner/skills/work-item-decompose/SKILL.md +39 -68
- package/package.json +1 -1
|
@@ -1,61 +1,55 @@
|
|
|
1
|
-
# Skill: Run Plan
|
|
2
|
-
|
|
3
|
-
Plan the scope of a run by discovering available work items and suggesting groupings.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Trigger
|
|
8
|
-
|
|
9
|
-
- After work-item decomposition completes
|
|
10
|
-
- User wants to start execution
|
|
11
|
-
- Pending work items exist
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Degrees of Freedom
|
|
16
|
-
|
|
17
|
-
**MEDIUM** — Present smart grouping suggestions but let user choose scope.
|
|
18
|
-
|
|
19
1
|
---
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
### Dependencies Mean Sequential Execution, NOT Separate Runs
|
|
24
|
-
|
|
25
|
-
**IMPORTANT**: When work items have dependencies:
|
|
26
|
-
- They execute **sequentially within the SAME run**
|
|
27
|
-
- They do **NOT** require separate runs
|
|
28
|
-
- The dependent item waits for its dependency to complete before starting
|
|
29
|
-
|
|
30
|
-
**Example**: If item 05 depends on item 04:
|
|
31
|
-
- **CORRECT**: ONE run with both items, 04 executes first, then 05
|
|
32
|
-
- **WRONG**: TWO separate runs
|
|
33
|
-
|
|
34
|
-
### All Options Can Include Multiple Items Per Run
|
|
35
|
-
|
|
36
|
-
| Option | Items Per Run | Execution |
|
|
37
|
-
|--------|---------------|-----------|
|
|
38
|
-
| Single | 1 item | One at a time, separate runs |
|
|
39
|
-
| Batch | Multiple items (same mode) | Sequential within run |
|
|
40
|
-
| Wide | All compatible items | Sequential within run |
|
|
41
|
-
|
|
2
|
+
name: run-plan
|
|
3
|
+
description: Plan the scope of a run by discovering available work items and suggesting groupings. Invoked before run-execute.
|
|
4
|
+
version: 1.0.0
|
|
42
5
|
---
|
|
43
6
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
7
|
+
<objective>
|
|
8
|
+
Plan the scope of a run by discovering available work items and suggesting groupings.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<triggers>
|
|
12
|
+
- After work-item decomposition completes
|
|
13
|
+
- User wants to start execution
|
|
14
|
+
- Pending work items exist
|
|
15
|
+
</triggers>
|
|
16
|
+
|
|
17
|
+
<degrees_of_freedom>
|
|
18
|
+
**MEDIUM** — Present smart grouping suggestions but let user choose scope.
|
|
19
|
+
</degrees_of_freedom>
|
|
20
|
+
|
|
21
|
+
<llm critical="true">
|
|
22
|
+
<mandate>DISCOVER all available work — both in state.yaml AND file system</mandate>
|
|
23
|
+
<mandate>FILE SYSTEM IS SOURCE OF TRUTH — state.yaml may be incomplete</mandate>
|
|
24
|
+
<mandate>ALWAYS SCAN FILE SYSTEM — even if state.yaml shows all completed</mandate>
|
|
25
|
+
<mandate>SUGGEST smart groupings based on mode, dependencies, and user history</mandate>
|
|
26
|
+
<mandate>LEARN from user choices to improve future recommendations</mandate>
|
|
27
|
+
<mandate>NEVER force a scope — always let user choose</mandate>
|
|
28
|
+
<mandate>DEPENDENCIES = SEQUENTIAL EXECUTION, NOT SEPARATE RUNS</mandate>
|
|
29
|
+
</llm>
|
|
30
|
+
|
|
31
|
+
<critical_clarifications>
|
|
32
|
+
<clarification title="Dependencies Mean Sequential Execution, NOT Separate Runs">
|
|
33
|
+
When work items have dependencies:
|
|
34
|
+
- They execute **sequentially within the SAME run**
|
|
35
|
+
- They do **NOT** require separate runs
|
|
36
|
+
- The dependent item waits for its dependency to complete before starting
|
|
37
|
+
|
|
38
|
+
**Example**: If item 05 depends on item 04:
|
|
39
|
+
- **CORRECT**: ONE run with both items, 04 executes first, then 05
|
|
40
|
+
- **WRONG**: TWO separate runs
|
|
41
|
+
</clarification>
|
|
42
|
+
|
|
43
|
+
<clarification title="All Options Can Include Multiple Items Per Run">
|
|
44
|
+
| Option | Items Per Run | Execution |
|
|
45
|
+
|--------|---------------|-----------|
|
|
46
|
+
| Single | 1 item | One at a time, separate runs |
|
|
47
|
+
| Batch | Multiple items (same mode) | Sequential within run |
|
|
48
|
+
| Wide | All compatible items | Sequential within run |
|
|
49
|
+
</clarification>
|
|
50
|
+
</critical_clarifications>
|
|
51
|
+
|
|
52
|
+
<flow>
|
|
59
53
|
<step n="1" title="Discover Available Work" critical="true">
|
|
60
54
|
<critical>
|
|
61
55
|
MUST scan file system BEFORE deciding if work exists.
|
|
@@ -152,7 +146,7 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
152
146
|
Create a new intent? [Y/n]
|
|
153
147
|
</output>
|
|
154
148
|
<check if="response == y">
|
|
155
|
-
<
|
|
149
|
+
<route_to>planner-agent (intent-capture)</route_to>
|
|
156
150
|
</check>
|
|
157
151
|
<stop/>
|
|
158
152
|
</check>
|
|
@@ -162,14 +156,14 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
162
156
|
<action>Read workspace.autonomy_bias from state.yaml</action>
|
|
163
157
|
<action>Read workspace.run_scope_preference from state.yaml (if exists)</action>
|
|
164
158
|
|
|
165
|
-
<
|
|
159
|
+
<grouping_rules>
|
|
166
160
|
<rule>Dependencies = SEQUENTIAL execution in SAME run (NOT separate runs)</rule>
|
|
167
161
|
<rule>Different modes CAN be in same run (executed sequentially)</rule>
|
|
168
162
|
<rule>Cross-intent items allowed in same run if compatible</rule>
|
|
169
163
|
<rule>Validate mode items may benefit from running alone (more checkpoints)</rule>
|
|
170
|
-
</
|
|
164
|
+
</grouping_rules>
|
|
171
165
|
|
|
172
|
-
<
|
|
166
|
+
<generate_options>
|
|
173
167
|
<option name="single">
|
|
174
168
|
Each work item in its own run
|
|
175
169
|
Total runs: {count of pending items}
|
|
@@ -186,7 +180,7 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
186
180
|
Same as batch - all items in one run
|
|
187
181
|
Total runs: 1
|
|
188
182
|
</option>
|
|
189
|
-
</
|
|
183
|
+
</generate_options>
|
|
190
184
|
</step>
|
|
191
185
|
|
|
192
186
|
<step n="4" title="Present Options">
|
|
@@ -195,7 +189,7 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
195
189
|
<substep>run_scope_preference (user's historical choice)</substep>
|
|
196
190
|
<substep>Number of pending items (few items→single is fine)</substep>
|
|
197
191
|
|
|
198
|
-
<
|
|
192
|
+
<template_output section="options">
|
|
199
193
|
## Run Planning
|
|
200
194
|
|
|
201
195
|
**Found**: {count} pending work items across {intent_count} intent(s)
|
|
@@ -227,7 +221,7 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
227
221
|
1 run, sequential execution
|
|
228
222
|
|
|
229
223
|
Choose [1/2/3]:
|
|
230
|
-
</
|
|
224
|
+
</template_output>
|
|
231
225
|
</step>
|
|
232
226
|
|
|
233
227
|
<step n="5" title="Process Choice">
|
|
@@ -245,11 +239,11 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
245
239
|
<action>Update workspace.run_scope_preference in state.yaml</action>
|
|
246
240
|
<action>Add to workspace.run_scope_history (keep last 10)</action>
|
|
247
241
|
|
|
248
|
-
<
|
|
242
|
+
<history_entry>
|
|
249
243
|
choice: {run_scope}
|
|
250
244
|
items_count: {count}
|
|
251
245
|
timestamp: {now}
|
|
252
|
-
</
|
|
246
|
+
</history_entry>
|
|
253
247
|
|
|
254
248
|
<note>
|
|
255
249
|
After 3+ consistent choices, start pre-selecting that option
|
|
@@ -275,102 +269,100 @@ Plan the scope of a run by discovering available work items and suggesting group
|
|
|
275
269
|
Begin execution? [Y/n]
|
|
276
270
|
</output>
|
|
277
271
|
<check if="response == y">
|
|
278
|
-
<
|
|
272
|
+
<invoke_skill args="work_items_for_run, run_scope">run-execute</invoke_skill>
|
|
279
273
|
</check>
|
|
280
274
|
</step>
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
├──
|
|
325
|
-
│
|
|
326
|
-
│
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
## Recommendation Logic
|
|
360
|
-
|
|
361
|
-
```
|
|
362
|
-
IF run_scope_history has 3+ same choices:
|
|
363
|
-
pre_selected = most_common_choice
|
|
364
|
-
|
|
365
|
-
ELSE IF autonomy_bias == autonomous:
|
|
366
|
-
recommended = batch (all in one run)
|
|
367
|
-
|
|
368
|
-
ELSE IF autonomy_bias == controlled:
|
|
369
|
-
recommended = single
|
|
370
|
-
|
|
371
|
-
ELSE: # balanced
|
|
372
|
-
IF pending_count <= 2:
|
|
275
|
+
</flow>
|
|
276
|
+
|
|
277
|
+
<state_schema_updates>
|
|
278
|
+
**workspace section additions**:
|
|
279
|
+
```yaml
|
|
280
|
+
workspace:
|
|
281
|
+
# ... existing fields ...
|
|
282
|
+
run_scope_preference: batch # single | batch | wide (learned)
|
|
283
|
+
run_scope_history:
|
|
284
|
+
- choice: batch
|
|
285
|
+
items_count: 4
|
|
286
|
+
timestamp: 2026-01-19T10:00:00Z
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**active_run with multi-item support**:
|
|
290
|
+
```yaml
|
|
291
|
+
active_run:
|
|
292
|
+
id: run-001
|
|
293
|
+
scope: batch # single | batch | wide
|
|
294
|
+
work_items:
|
|
295
|
+
- id: 01-stats-data-model
|
|
296
|
+
intent: session-stats
|
|
297
|
+
mode: autopilot
|
|
298
|
+
status: completed
|
|
299
|
+
- id: 02-stats-api-endpoint
|
|
300
|
+
intent: session-stats
|
|
301
|
+
mode: autopilot
|
|
302
|
+
status: in_progress
|
|
303
|
+
current_item: 02-stats-api-endpoint
|
|
304
|
+
started: 2026-01-19T10:00:00Z
|
|
305
|
+
```
|
|
306
|
+
</state_schema_updates>
|
|
307
|
+
|
|
308
|
+
<file_discovery_logic>
|
|
309
|
+
```
|
|
310
|
+
.specs-fire/
|
|
311
|
+
├── intents/
|
|
312
|
+
│ ├── user-auth/
|
|
313
|
+
│ │ ├── brief.md ← Parse frontmatter for intent metadata
|
|
314
|
+
│ │ └── work-items/
|
|
315
|
+
│ │ ├── login-endpoint.md ← Parse for work item metadata
|
|
316
|
+
│ │ └── session-mgmt.md
|
|
317
|
+
│ └── analytics/
|
|
318
|
+
│ ├── brief.md
|
|
319
|
+
│ └── work-items/
|
|
320
|
+
│ └── dashboard.md
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**Frontmatter parsing**:
|
|
324
|
+
- Extract `id`, `title`, `status` from YAML frontmatter
|
|
325
|
+
- If status missing, default to `pending`
|
|
326
|
+
- If in file but not state.yaml, add to state
|
|
327
|
+
</file_discovery_logic>
|
|
328
|
+
|
|
329
|
+
<grouping_algorithm>
|
|
330
|
+
```
|
|
331
|
+
1. Collect all pending items with their modes
|
|
332
|
+
2. Build dependency graph
|
|
333
|
+
3. Sort items in dependency order (dependencies first)
|
|
334
|
+
4. For "single" option:
|
|
335
|
+
- Each item is its own run
|
|
336
|
+
5. For "batch" or "wide" option:
|
|
337
|
+
- ALL items in ONE run
|
|
338
|
+
- Execution order follows dependency graph
|
|
339
|
+
- Checkpoints pause at confirm/validate items
|
|
340
|
+
```
|
|
341
|
+
</grouping_algorithm>
|
|
342
|
+
|
|
343
|
+
<recommendation_logic>
|
|
344
|
+
```
|
|
345
|
+
IF run_scope_history has 3+ same choices:
|
|
346
|
+
pre_selected = most_common_choice
|
|
347
|
+
|
|
348
|
+
ELSE IF autonomy_bias == autonomous:
|
|
349
|
+
recommended = batch (all in one run)
|
|
350
|
+
|
|
351
|
+
ELSE IF autonomy_bias == controlled:
|
|
373
352
|
recommended = single
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
353
|
+
|
|
354
|
+
ELSE: # balanced
|
|
355
|
+
IF pending_count <= 2:
|
|
356
|
+
recommended = single
|
|
357
|
+
ELSE:
|
|
358
|
+
recommended = batch
|
|
359
|
+
```
|
|
360
|
+
</recommendation_logic>
|
|
361
|
+
|
|
362
|
+
<success_criteria>
|
|
363
|
+
<criterion>File system scanned for all intents and work items</criterion>
|
|
364
|
+
<criterion>state.yaml reconciled with file system</criterion>
|
|
365
|
+
<criterion>Run scope options presented to user</criterion>
|
|
366
|
+
<criterion>User choice recorded for future recommendations</criterion>
|
|
367
|
+
<criterion>run-execute invoked with selected work items</criterion>
|
|
368
|
+
</success_criteria>
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
# Skill: Run Status
|
|
2
|
-
|
|
3
|
-
Display current run status and progress.
|
|
4
|
-
|
|
5
1
|
---
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- User asks about run status
|
|
10
|
-
- During long-running execution
|
|
11
|
-
|
|
2
|
+
name: run-status
|
|
3
|
+
description: Display current run status and progress. Shows work item, mode, duration, and files changed.
|
|
4
|
+
version: 1.0.0
|
|
12
5
|
---
|
|
13
6
|
|
|
14
|
-
|
|
7
|
+
<objective>
|
|
8
|
+
Display current run status and progress.
|
|
9
|
+
</objective>
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
<triggers>
|
|
12
|
+
- User asks about run status
|
|
13
|
+
- During long-running execution
|
|
14
|
+
</triggers>
|
|
18
15
|
|
|
16
|
+
<flow>
|
|
19
17
|
<step n="1" title="Check Active Run">
|
|
20
18
|
<action>Read state.yaml for active_run</action>
|
|
21
19
|
<check if="no active run">
|
|
@@ -55,40 +53,42 @@ Display current run status and progress.
|
|
|
55
53
|
{last 5 actions}
|
|
56
54
|
</output>
|
|
57
55
|
</step>
|
|
56
|
+
</flow>
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Example Output
|
|
58
|
+
<example_output>
|
|
59
|
+
```
|
|
60
|
+
## Run Status: run-003
|
|
65
61
|
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
**Work Item**: Add session management
|
|
63
|
+
**Intent**: User Authentication
|
|
64
|
+
**Mode**: confirm
|
|
65
|
+
**Started**: 2026-01-19T10:30:00Z
|
|
66
|
+
**Duration**: 12 minutes
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
**Intent**: User Authentication
|
|
71
|
-
**Mode**: confirm
|
|
72
|
-
**Started**: 2026-01-19T10:30:00Z
|
|
73
|
-
**Duration**: 12 minutes
|
|
68
|
+
### Progress
|
|
74
69
|
|
|
75
|
-
|
|
70
|
+
- [x] Initialize run
|
|
71
|
+
- [x] Load context
|
|
72
|
+
- [x] Plan approved (Checkpoint 1)
|
|
73
|
+
- [~] Execute implementation
|
|
74
|
+
- [ ] Run tests
|
|
75
|
+
- [ ] Generate walkthrough
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
- [x] Load context
|
|
79
|
-
- [x] Plan approved (Checkpoint 1)
|
|
80
|
-
- [~] Execute implementation
|
|
81
|
-
- [ ] Run tests
|
|
82
|
-
- [ ] Generate walkthrough
|
|
77
|
+
### Files Changed So Far
|
|
83
78
|
|
|
84
|
-
|
|
79
|
+
Created: 2
|
|
80
|
+
Modified: 1
|
|
85
81
|
|
|
86
|
-
|
|
87
|
-
Modified: 1
|
|
82
|
+
### Recent Activity
|
|
88
83
|
|
|
89
|
-
|
|
84
|
+
- Created src/auth/session.ts
|
|
85
|
+
- Created src/auth/session.test.ts
|
|
86
|
+
- Modified src/auth/index.ts
|
|
87
|
+
```
|
|
88
|
+
</example_output>
|
|
90
89
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
<success_criteria>
|
|
91
|
+
<criterion>Current run status displayed</criterion>
|
|
92
|
+
<criterion>Progress indicators accurate</criterion>
|
|
93
|
+
<criterion>Files changed shown</criterion>
|
|
94
|
+
</success_criteria>
|
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
# Skill: Walkthrough Generate
|
|
2
|
-
|
|
3
|
-
Generate implementation walkthrough for human review after run completion.
|
|
4
|
-
|
|
5
1
|
---
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- Run completed successfully
|
|
10
|
-
- Invoked by run-execute skill
|
|
11
|
-
|
|
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
|
|
12
5
|
---
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
---
|
|
7
|
+
<objective>
|
|
8
|
+
Generate implementation walkthrough for human review after run completion.
|
|
9
|
+
</objective>
|
|
19
10
|
|
|
20
|
-
|
|
11
|
+
<triggers>
|
|
12
|
+
- Run completed successfully
|
|
13
|
+
- Invoked by run-execute skill
|
|
14
|
+
</triggers>
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
<degrees_of_freedom>
|
|
17
|
+
**LOW** — Follow walkthrough structure precisely. Be thorough but concise.
|
|
18
|
+
</degrees_of_freedom>
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
+
</llm>
|
|
30
25
|
|
|
26
|
+
<flow>
|
|
31
27
|
<step n="1" title="Gather Implementation Data">
|
|
32
28
|
<action>Read run log from .specs-fire/runs/{run-id}/run.md</action>
|
|
33
29
|
<action>Collect:</action>
|
|
@@ -67,74 +63,78 @@ Generate implementation walkthrough for human review after run completion.
|
|
|
67
63
|
Walkthrough generated: .specs-fire/runs/{run-id}/walkthrough.md
|
|
68
64
|
</output>
|
|
69
65
|
</step>
|
|
66
|
+
</flow>
|
|
70
67
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Output
|
|
68
|
+
<output_template>
|
|
69
|
+
**Walkthrough** (`.specs-fire/runs/{run-id}/walkthrough.md`):
|
|
77
70
|
|
|
78
|
-
|
|
71
|
+
```markdown
|
|
72
|
+
---
|
|
73
|
+
run: {run-id}
|
|
74
|
+
work_item: {work-item-id}
|
|
75
|
+
intent: {intent-id}
|
|
76
|
+
generated: {timestamp}
|
|
77
|
+
mode: {mode}
|
|
78
|
+
---
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
run: {run-id}
|
|
83
|
-
work_item: {work-item-id}
|
|
84
|
-
intent: {intent-id}
|
|
85
|
-
generated: {timestamp}
|
|
86
|
-
mode: {mode}
|
|
87
|
-
---
|
|
80
|
+
# Implementation Walkthrough: {title}
|
|
88
81
|
|
|
89
|
-
|
|
82
|
+
## Summary
|
|
90
83
|
|
|
91
|
-
|
|
84
|
+
{2-3 sentences describing what was implemented}
|
|
92
85
|
|
|
93
|
-
|
|
86
|
+
## Files Changed
|
|
94
87
|
|
|
95
|
-
|
|
88
|
+
### Created
|
|
96
89
|
|
|
97
|
-
|
|
90
|
+
| File | Purpose |
|
|
91
|
+
|------|---------|
|
|
92
|
+
| `{path}` | {purpose} |
|
|
98
93
|
|
|
99
|
-
|
|
100
|
-
|------|---------|
|
|
101
|
-
| `{path}` | {purpose} |
|
|
94
|
+
### Modified
|
|
102
95
|
|
|
103
|
-
|
|
96
|
+
| File | Changes |
|
|
97
|
+
|------|---------|
|
|
98
|
+
| `{path}` | {changes} |
|
|
104
99
|
|
|
105
|
-
|
|
106
|
-
|------|---------|
|
|
107
|
-
| `{path}` | {changes} |
|
|
100
|
+
## Key Implementation Details
|
|
108
101
|
|
|
109
|
-
|
|
102
|
+
### 1. {Detail Title}
|
|
110
103
|
|
|
111
|
-
|
|
104
|
+
{description of implementation approach}
|
|
112
105
|
|
|
113
|
-
|
|
106
|
+
## Decisions Made
|
|
114
107
|
|
|
115
|
-
|
|
108
|
+
| Decision | Choice | Rationale |
|
|
109
|
+
|----------|--------|-----------|
|
|
110
|
+
| {decision} | {choice} | {rationale} |
|
|
116
111
|
|
|
117
|
-
|
|
118
|
-
|----------|--------|-----------|
|
|
119
|
-
| {decision} | {choice} | {rationale} |
|
|
112
|
+
## How to Verify
|
|
120
113
|
|
|
121
|
-
|
|
114
|
+
1. **{Step Title}**
|
|
115
|
+
```bash
|
|
116
|
+
{command}
|
|
117
|
+
```
|
|
118
|
+
Expected: {expected output}
|
|
122
119
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
{command}
|
|
126
|
-
```
|
|
127
|
-
Expected: {expected output}
|
|
120
|
+
2. **{Step Title}**
|
|
121
|
+
{manual verification steps}
|
|
128
122
|
|
|
129
|
-
|
|
130
|
-
{manual verification steps}
|
|
123
|
+
## Test Coverage
|
|
131
124
|
|
|
132
|
-
|
|
125
|
+
- Tests added: {count}
|
|
126
|
+
- Coverage: {percentage}%
|
|
127
|
+
- Status: {passing/failing}
|
|
133
128
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
---
|
|
130
|
+
*Generated by FIRE Run {run-id}*
|
|
131
|
+
```
|
|
132
|
+
</output_template>
|
|
137
133
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
134
|
+
<success_criteria>
|
|
135
|
+
<criterion>Walkthrough generated with all sections</criterion>
|
|
136
|
+
<criterion>Files changed documented with purposes</criterion>
|
|
137
|
+
<criterion>Decisions recorded with rationale</criterion>
|
|
138
|
+
<criterion>Verification steps included</criterion>
|
|
139
|
+
<criterion>Saved to run folder</criterion>
|
|
140
|
+
</success_criteria>
|