opencode-goopspec 0.1.2 → 0.1.3
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 +36 -34
- package/agents/goop-orchestrator.md +106 -20
- package/commands/goop-accept.md +43 -163
- package/commands/goop-amend.md +26 -155
- package/commands/goop-complete.md +30 -187
- package/commands/goop-debug.md +25 -303
- package/commands/goop-discuss.md +9 -125
- package/commands/goop-execute.md +49 -115
- package/commands/goop-map-codebase.md +3 -3
- package/commands/goop-milestone.md +20 -196
- package/commands/goop-pause.md +22 -43
- package/commands/goop-plan.md +404 -46
- package/commands/goop-quick.md +29 -145
- package/commands/goop-research.md +43 -77
- package/commands/goop-resume.md +19 -40
- package/commands/goop-setup.md +207 -116
- package/commands/goop-specify.md +58 -134
- package/commands/goop-status.md +32 -134
- package/dist/index.js +5952 -2796
- package/package.json +1 -1
- package/references/interactive-questioning.md +122 -0
- package/references/ui-interaction-patterns.md +133 -0
- package/references/workflow-accept.md +60 -273
- package/references/workflow-execute.md +63 -274
- package/references/workflow-plan.md +86 -133
- package/references/workflow-research.md +78 -186
- package/references/workflow-specify.md +64 -221
package/commands/goop-debug.md
CHANGED
|
@@ -1,318 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: goop-debug
|
|
3
|
-
description:
|
|
4
|
-
tools:
|
|
5
|
-
read: true
|
|
6
|
-
write: true
|
|
7
|
-
edit: true
|
|
8
|
-
bash: true
|
|
9
|
-
grep: true
|
|
10
|
-
glob: true
|
|
3
|
+
description: Debug with a systematic workflow
|
|
11
4
|
---
|
|
12
5
|
|
|
13
|
-
|
|
14
|
-
Systematic debugging using the scientific method.
|
|
6
|
+
# /goop-debug
|
|
15
7
|
|
|
16
|
-
|
|
8
|
+
**Systematic debugging.** Solve hard bugs using the scientific method.
|
|
17
9
|
|
|
18
|
-
|
|
19
|
-
- User = Reporter (knows symptoms), Claude = Investigator (finds cause)
|
|
20
|
-
- Hypothesis testing with falsifiable predictions
|
|
21
|
-
- Change one variable at a time
|
|
22
|
-
- Document everything in DEBUG.md
|
|
23
|
-
|
|
24
|
-
**Creates:**
|
|
25
|
-
- `.goopspec/debug/DEBUG-{id}.md` - Debug session record
|
|
26
|
-
</objective>
|
|
27
|
-
|
|
28
|
-
<execution_context>
|
|
29
|
-
<!-- Debug template is embedded in the process section above -->
|
|
30
|
-
</execution_context>
|
|
31
|
-
|
|
32
|
-
<context>
|
|
33
|
-
@.goopspec/PROJECT.md
|
|
34
|
-
@.goopspec/STATE.md
|
|
35
|
-
</context>
|
|
36
|
-
|
|
37
|
-
<process>
|
|
38
|
-
## Phase 1: Gather Evidence
|
|
39
|
-
|
|
40
|
-
**Opening questions:**
|
|
41
|
-
|
|
42
|
-
"Tell me about the bug. What did you expect to happen, and what actually happened?"
|
|
43
|
-
|
|
44
|
-
Listen for:
|
|
45
|
-
- Expected behavior
|
|
46
|
-
- Actual behavior
|
|
47
|
-
- Error messages
|
|
48
|
-
- When it started
|
|
49
|
-
- Reproduction steps
|
|
50
|
-
- Environment details
|
|
51
|
-
|
|
52
|
-
**Do NOT ask:**
|
|
53
|
-
- "What's causing it?" (User doesn't know)
|
|
54
|
-
- "Which file has the bug?" (That's your job)
|
|
55
|
-
- "How should we fix it?" (Investigate first)
|
|
56
|
-
|
|
57
|
-
**DO ask about:**
|
|
58
|
-
- "What were you doing when it happened?"
|
|
59
|
-
- "Does it happen every time?"
|
|
60
|
-
- "When did you first notice it?"
|
|
61
|
-
- "What error messages did you see?"
|
|
62
|
-
|
|
63
|
-
## Phase 2: Initialize Debug Session
|
|
64
|
-
|
|
65
|
-
Create debug session file:
|
|
10
|
+
## Usage
|
|
66
11
|
|
|
67
12
|
```bash
|
|
68
|
-
|
|
69
|
-
mkdir -p .goopspec/debug
|
|
13
|
+
/goop-debug [symptom description]
|
|
70
14
|
```
|
|
71
15
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
```markdown
|
|
75
|
-
# Debug Session: $DEBUG_ID
|
|
76
|
-
|
|
77
|
-
**Started:** [Timestamp]
|
|
78
|
-
**Status:** In Progress
|
|
79
|
-
**Severity:** [Critical/Major/Minor]
|
|
80
|
-
|
|
81
|
-
## Problem Statement
|
|
82
|
-
|
|
83
|
-
**Expected:** [What should happen]
|
|
84
|
-
**Actual:** [What actually happens]
|
|
85
|
-
**Impact:** [Who/what is affected]
|
|
86
|
-
|
|
87
|
-
## Evidence Gathered
|
|
88
|
-
|
|
89
|
-
### Error Messages
|
|
90
|
-
```
|
|
91
|
-
[Paste error messages]
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Reproduction Steps
|
|
95
|
-
1. [Step 1]
|
|
96
|
-
2. [Step 2]
|
|
97
|
-
3. [Step 3]
|
|
98
|
-
|
|
99
|
-
### Environment
|
|
100
|
-
- [OS/Version]
|
|
101
|
-
- [Runtime version]
|
|
102
|
-
- [Relevant env vars]
|
|
103
|
-
|
|
104
|
-
## Investigation Log
|
|
105
|
-
|
|
106
|
-
### Hypothesis 1: [Brief description]
|
|
107
|
-
**Prediction:** If true, [observable outcome]
|
|
108
|
-
**Test:** [What to do]
|
|
109
|
-
**Result:** [Pending/Confirmed/Refuted]
|
|
110
|
-
**Conclusion:** [What we learned]
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Current Status
|
|
115
|
-
|
|
116
|
-
**Active Hypothesis:** [Which one we're testing]
|
|
117
|
-
**Next Step:** [What to do next]
|
|
118
|
-
|
|
119
|
-
## Resolution
|
|
120
|
-
|
|
121
|
-
**Root Cause:** [What was actually wrong]
|
|
122
|
-
**Fix Applied:** [What was changed]
|
|
123
|
-
**Verification:** [How we confirmed it's fixed]
|
|
124
|
-
**Committed:** [Commit hash]
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
*Debug session following scientific method*
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Phase 3: Form Hypotheses
|
|
131
|
-
|
|
132
|
-
Based on evidence, generate 3+ independent hypotheses:
|
|
133
|
-
|
|
134
|
-
**Good hypotheses (falsifiable):**
|
|
135
|
-
- "User state resets because component remounts on route change"
|
|
136
|
-
- "API returns 404 because URL construction is wrong"
|
|
137
|
-
- "Race condition between async operations"
|
|
138
|
-
|
|
139
|
-
**Bad hypotheses (unfalsifiable):**
|
|
140
|
-
- "Something is wrong with the state"
|
|
141
|
-
- "The timing is off"
|
|
142
|
-
- "There's a bug somewhere"
|
|
143
|
-
|
|
144
|
-
For each hypothesis, design an experiment:
|
|
145
|
-
|
|
146
|
-
```markdown
|
|
147
|
-
### Hypothesis N: [Description]
|
|
148
|
-
**Prediction:** If this hypothesis is true, I will observe [specific outcome]
|
|
149
|
-
**Test:** [Exact steps to test]
|
|
150
|
-
**Measurement:** [What to measure]
|
|
151
|
-
**Success criteria:** [What confirms/refutes]
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Phase 4: Test Hypotheses
|
|
155
|
-
|
|
156
|
-
**Rule: Change ONE variable at a time**
|
|
157
|
-
|
|
158
|
-
For each hypothesis:
|
|
159
|
-
1. Run the test
|
|
160
|
-
2. Record the exact outcome
|
|
161
|
-
3. Compare to prediction
|
|
162
|
-
4. Document in DEBUG.md
|
|
163
|
-
|
|
164
|
-
**If hypothesis confirmed:**
|
|
165
|
-
- Move to Phase 5 (Action)
|
|
166
|
-
- Update DEBUG.md with conclusion
|
|
167
|
-
|
|
168
|
-
**If hypothesis refuted:**
|
|
169
|
-
- Document what we learned (rules something out)
|
|
170
|
-
- Form new hypothesis based on new information
|
|
171
|
-
- Continue testing
|
|
172
|
-
|
|
173
|
-
## Phase 5: Take Action
|
|
174
|
-
|
|
175
|
-
**Only act when ALL are true:**
|
|
176
|
-
1. Understand the mechanism (not just "what fails" but "why")
|
|
177
|
-
2. Can reproduce reliably
|
|
178
|
-
3. Have evidence, not just theory
|
|
179
|
-
4. Ruled out alternatives
|
|
180
|
-
|
|
181
|
-
**Action types:**
|
|
182
|
-
|
|
183
|
-
### Fix the bug
|
|
184
|
-
- Make minimal, targeted change
|
|
185
|
-
- Update tests to prevent regression
|
|
186
|
-
- Verify fix works
|
|
187
|
-
- Document in DEBUG.md
|
|
188
|
-
|
|
189
|
-
### Checkpoint (if blocked)
|
|
190
|
-
If you need user input:
|
|
191
|
-
```
|
|
192
|
-
<task type="checkpoint:decision" gate="blocking">
|
|
193
|
-
<decision>[What needs deciding]</decision>
|
|
194
|
-
<context>[Why this matters]</context>
|
|
195
|
-
<options>[Available options]</options>
|
|
196
|
-
</task>
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
## Phase 6: Document Resolution
|
|
200
|
-
|
|
201
|
-
Update DEBUG.md:
|
|
202
|
-
|
|
203
|
-
```markdown
|
|
204
|
-
## Resolution
|
|
205
|
-
|
|
206
|
-
**Root Cause:** [Clear explanation]
|
|
207
|
-
**Fix Applied:** [What was changed]
|
|
208
|
-
```diff
|
|
209
|
-
- [Old code]
|
|
210
|
-
+ [New code]
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
**Verification:** [How confirmed]
|
|
214
|
-
- [ ] Test passes
|
|
215
|
-
- [ ] Manual verification
|
|
216
|
-
- [ ] No regressions
|
|
217
|
-
|
|
218
|
-
**Committed:** [Hash]
|
|
219
|
-
**Duration:** [How long it took]
|
|
220
|
-
**Status:** RESOLVED
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
## Phase 7: Offer Next Steps
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
227
|
-
GOOPSPEC > DEBUG COMPLETE
|
|
228
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
|
-
|
|
230
|
-
**Bug Resolved**
|
|
231
|
-
|
|
232
|
-
Root Cause: [Brief description]
|
|
233
|
-
Fix: [What was changed]
|
|
234
|
-
Commit: [Hash]
|
|
235
|
-
|
|
236
|
-
Debug record: .goopspec/debug/DEBUG-{id}.md
|
|
237
|
-
|
|
238
|
-
───────────────────────────────────────────────────────────────
|
|
239
|
-
|
|
240
|
-
## Lessons Learned
|
|
241
|
-
|
|
242
|
-
[Key insight from this debug session]
|
|
243
|
-
|
|
244
|
-
───────────────────────────────────────────────────────────────
|
|
245
|
-
|
|
246
|
-
**Next steps:**
|
|
247
|
-
- Continue with current work
|
|
248
|
-
- /goop-status - Check overall progress
|
|
249
|
-
- /goop-pause - Save checkpoint
|
|
250
|
-
|
|
251
|
-
───────────────────────────────────────────────────────────────
|
|
252
|
-
```
|
|
253
|
-
</process>
|
|
254
|
-
|
|
255
|
-
<methodology>
|
|
256
|
-
**Scientific Method Steps:**
|
|
257
|
-
|
|
258
|
-
1. **Observe precisely**
|
|
259
|
-
- Not "it's broken" but "counter shows 3 when clicking once, should show 1"
|
|
260
|
-
|
|
261
|
-
2. **Form falsifiable hypotheses**
|
|
262
|
-
- Must be provable wrong
|
|
263
|
-
- Make specific, testable claims
|
|
264
|
-
|
|
265
|
-
3. **Design experiments**
|
|
266
|
-
- One variable at a time
|
|
267
|
-
- Clear prediction
|
|
268
|
-
- Unambiguous outcome
|
|
269
|
-
|
|
270
|
-
4. **Run experiments**
|
|
271
|
-
- Document exact results
|
|
272
|
-
- No interpretation yet
|
|
273
|
-
|
|
274
|
-
5. **Conclude based on evidence**
|
|
275
|
-
- Update mental model
|
|
276
|
-
- Form new hypotheses if needed
|
|
277
|
-
|
|
278
|
-
**Cognitive Biases to Avoid:**
|
|
279
|
-
|
|
280
|
-
| Bias | Trap | Antidote |
|
|
281
|
-
|------|------|----------|
|
|
282
|
-
| Confirmation | Only look for supporting evidence | Actively seek disproof |
|
|
283
|
-
| Anchoring | First explanation becomes anchor | Generate 3+ hypotheses |
|
|
284
|
-
| Availability | Recent bugs -> similar cause | Treat each bug as novel |
|
|
285
|
-
| Sunk Cost | Keep going despite evidence | "If I started fresh...?" |
|
|
286
|
-
|
|
287
|
-
**When to Restart:**
|
|
288
|
-
- 2+ hours with no progress
|
|
289
|
-
- 3+ "fixes" that didn't work
|
|
290
|
-
- Can't explain current behavior
|
|
291
|
-
- Debugging the debugger
|
|
16
|
+
## How It Works
|
|
292
17
|
|
|
293
|
-
|
|
294
|
-
1. Close all files
|
|
295
|
-
2. Write what you know for certain
|
|
296
|
-
3. Write what you've ruled out
|
|
297
|
-
4. List new hypotheses
|
|
298
|
-
5. Begin again
|
|
299
|
-
</methodology>
|
|
18
|
+
Enters a specialized debugging mode that enforces scientific rigor to prevent "flailing."
|
|
300
19
|
|
|
301
|
-
|
|
302
|
-
**
|
|
20
|
+
### The Protocol
|
|
21
|
+
1. **Observation:** "What exactly is happening?" (Gather evidence).
|
|
22
|
+
2. **Hypothesis:** "Why might this be happening?" (List possible causes).
|
|
23
|
+
3. **Experiment:** "How can we test that?" (Design falsifiable tests).
|
|
24
|
+
4. **Deduction:** "What does the result tell us?" (Eliminate possibilities).
|
|
303
25
|
|
|
304
|
-
|
|
305
|
-
-
|
|
306
|
-
-
|
|
307
|
-
-
|
|
26
|
+
### Features
|
|
27
|
+
- **Debug Session Log:** Creates `.goopspec/debug/SESSION-<id>.md`.
|
|
28
|
+
- **Constraint:** Forces changing *one variable at a time*.
|
|
29
|
+
- **Memory:** searches for similar past bugs.
|
|
308
30
|
|
|
309
|
-
|
|
310
|
-
-
|
|
311
|
-
-
|
|
312
|
-
- Requires architectural change
|
|
31
|
+
### Output
|
|
32
|
+
- A resolution report with Root Cause and Fix.
|
|
33
|
+
- Updates persistent memory with the solution to prevent recurrence.
|
|
313
34
|
|
|
314
|
-
|
|
315
|
-
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
35
|
+
## Example
|
|
36
|
+
> **User:** `/goop-debug Login fails with 500 error only on production`
|
|
37
|
+
> **Agent:** "Starting debug session.
|
|
38
|
+
> Hypothesis 1: Env vars missing.
|
|
39
|
+
> Hypothesis 2: Database connection timeout.
|
|
40
|
+
> Let's test Hypothesis 1 first..."
|
package/commands/goop-discuss.md
CHANGED
|
@@ -1,138 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: goop-discuss
|
|
3
|
-
description: Capture user vision before planning
|
|
3
|
+
description: Capture user vision before planning
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# /goop-discuss
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
**Deprecated.** Use `/goop-plan`.
|
|
9
9
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
|
+
```bash
|
|
13
|
+
/goop-discuss [topic]
|
|
12
14
|
```
|
|
13
|
-
/goop-discuss [brief description]
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Workflow Position
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
20
|
-
│ DISCUSS │ ──▶ │ PLAN │ ──▶ │ RESEARCH │
|
|
21
|
-
│ (Vision) │ │ (Intent) │ │ (Explore) │
|
|
22
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
23
|
-
↑
|
|
24
|
-
(You are here)
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
The Discuss phase answers: **What does the user really want?**
|
|
28
|
-
|
|
29
|
-
## What Happens
|
|
30
|
-
|
|
31
|
-
1. **Vision Capture** - Understand the high-level goal
|
|
32
|
-
2. **Requirements Gathering** - Ask clarifying questions to understand:
|
|
33
|
-
- Functional requirements (what it should do)
|
|
34
|
-
- Non-functional requirements (performance, security, accessibility)
|
|
35
|
-
- Constraints (time, technology, compatibility)
|
|
36
|
-
- Success criteria (how to know it's done)
|
|
37
|
-
3. **Scope Definition** - Identify boundaries
|
|
38
|
-
4. **Priority Clarification** - Understand what matters most
|
|
39
|
-
5. **Memory Search** - Check for relevant past context
|
|
40
|
-
|
|
41
|
-
## Discussion Techniques
|
|
42
|
-
|
|
43
|
-
**Ask Open-Ended Questions:**
|
|
44
|
-
```
|
|
45
|
-
"Can you walk me through how a user would interact with this?"
|
|
46
|
-
"What happens if [edge case]?"
|
|
47
|
-
"Are there any existing patterns in the codebase we should follow?"
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Validate Understanding:**
|
|
51
|
-
```
|
|
52
|
-
"Let me make sure I understand correctly:
|
|
53
|
-
- The feature should [summary]
|
|
54
|
-
- It needs to handle [edge cases]
|
|
55
|
-
- Success looks like [acceptance criteria]
|
|
56
|
-
|
|
57
|
-
Is that accurate?"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Challenge Assumptions:**
|
|
61
|
-
```
|
|
62
|
-
"I notice you mentioned X. Have you considered Y as an alternative?
|
|
63
|
-
It might be simpler because [reason]."
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## What to Gather
|
|
67
15
|
|
|
68
|
-
|
|
69
|
-
- What should the feature DO?
|
|
70
|
-
- What are the inputs and outputs?
|
|
71
|
-
- What are the edge cases?
|
|
72
|
-
- What happens on errors?
|
|
16
|
+
## Description
|
|
73
17
|
|
|
74
|
-
|
|
75
|
-
- Performance expectations?
|
|
76
|
-
- Security considerations?
|
|
77
|
-
- Accessibility needs?
|
|
78
|
-
- Compatibility requirements?
|
|
18
|
+
This command is an alias for `/goop-plan`.
|
|
79
19
|
|
|
80
|
-
|
|
81
|
-
- Why is this needed? What problem does it solve?
|
|
82
|
-
- What existing code/patterns should be followed?
|
|
83
|
-
- Any technical constraints or limitations?
|
|
84
|
-
- Timeline or priority considerations?
|
|
85
|
-
|
|
86
|
-
### Acceptance Criteria
|
|
87
|
-
- How will we know it's "done"?
|
|
88
|
-
- What tests should pass?
|
|
89
|
-
- What should the user experience be?
|
|
90
|
-
|
|
91
|
-
## Artifacts Created
|
|
92
|
-
|
|
93
|
-
- Understanding of requirements (informal)
|
|
94
|
-
- Identified edge cases
|
|
95
|
-
- Agreement on acceptance criteria
|
|
96
|
-
- Technical research notes (if needed)
|
|
97
|
-
|
|
98
|
-
## Example
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
/goop-discuss Add user authentication
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Agent asks:
|
|
105
|
-
- "What authentication methods? Email/password? OAuth?"
|
|
106
|
-
- "Should sessions persist across browser closes?"
|
|
107
|
-
- "Any specific security requirements?"
|
|
108
|
-
- "How should errors be displayed?"
|
|
109
|
-
|
|
110
|
-
After discussion, agent summarizes understanding and asks for confirmation.
|
|
111
|
-
|
|
112
|
-
## Transition to Plan
|
|
113
|
-
|
|
114
|
-
When requirements are clear:
|
|
115
|
-
```
|
|
116
|
-
"I have a clear picture of what we need:
|
|
117
|
-
[Summary of requirements]
|
|
118
|
-
|
|
119
|
-
Ready to move to planning? I'll capture the formal intent
|
|
120
|
-
and requirements in the Plan phase."
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Next Steps
|
|
124
|
-
|
|
125
|
-
After discussion:
|
|
126
|
-
- `/goop-plan [description]` - Capture formal intent and requirements
|
|
127
|
-
|
|
128
|
-
## Tips
|
|
129
|
-
|
|
130
|
-
- Don't rush to planning - thorough discussion prevents rework
|
|
131
|
-
- Ask about edge cases early
|
|
132
|
-
- Validate understanding frequently
|
|
133
|
-
- Challenge assumptions respectfully
|
|
134
|
-
- Search memory for relevant past context
|
|
135
|
-
|
|
136
|
-
---
|
|
20
|
+
In GoopSpec Wave 3, the "discussion" or "interview" phase is an integral part of **Planning**. When you run `/goop-plan`, the agent automatically engages in a discovery conversation to clarify requirements before generating artifacts.
|
|
137
21
|
|
|
138
|
-
|
|
22
|
+
See [/goop-plan](./goop-plan.md) for details.
|
package/commands/goop-execute.md
CHANGED
|
@@ -1,137 +1,71 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: goop-execute
|
|
3
|
-
description:
|
|
3
|
+
description: Begin wave-based execution
|
|
4
|
+
agent: goop-executor
|
|
5
|
+
spawn: true
|
|
6
|
+
phase: execute
|
|
7
|
+
next-step: "When all waves are complete, verify the work and request acceptance"
|
|
8
|
+
next-command: /goop-accept
|
|
9
|
+
alternatives:
|
|
10
|
+
- command: /goop-status
|
|
11
|
+
when: "To check current progress and wave status"
|
|
12
|
+
- command: /goop-pause
|
|
13
|
+
when: "To save a checkpoint and continue later"
|
|
4
14
|
---
|
|
5
15
|
|
|
6
|
-
#
|
|
16
|
+
# /goop-execute
|
|
7
17
|
|
|
8
|
-
Implement the
|
|
18
|
+
**Start the Execution Phase.** Implement the blueprint using wave-based orchestration.
|
|
9
19
|
|
|
10
20
|
## Usage
|
|
11
21
|
|
|
12
|
-
```
|
|
22
|
+
```bash
|
|
13
23
|
/goop-execute
|
|
14
24
|
```
|
|
15
25
|
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
20
|
-
│ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
|
|
21
|
-
│ (Intent) │ │ (Explore) │ │ (Contract) │
|
|
22
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
23
|
-
│
|
|
24
|
-
┌──────────────────────────────────────┘
|
|
25
|
-
▼
|
|
26
|
-
┌─────────────┐ ┌─────────────┐
|
|
27
|
-
│ EXECUTE │ ──▶ │ ACCEPT │
|
|
28
|
-
│ (Build) │ │ (Verify) │
|
|
29
|
-
└─────────────┘ └─────────────┘
|
|
30
|
-
↑
|
|
31
|
-
(You are here)
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
The Execute phase answers: **Build exactly what the spec says.**
|
|
35
|
-
|
|
36
|
-
## What Happens
|
|
26
|
+
## How It Works
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
- **Wave 1: Foundation** - Setup, configuration, base structures
|
|
40
|
-
- **Wave 2: Core** - Main feature, business logic, data handling
|
|
41
|
-
- **Wave 3: Integration** - Connect components, wire to existing system
|
|
42
|
-
- **Wave 4: Polish** - Error handling, edge cases, documentation
|
|
28
|
+
The **Orchestrator** takes control and manages the implementation process. It does not write code directly but delegates to the **Executor** agent.
|
|
43
29
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
### 1. Wave-Based Execution
|
|
31
|
+
Tasks are executed in sequential waves (vertical slices):
|
|
32
|
+
- **Wave 1:** Foundation (Core structure)
|
|
33
|
+
- **Wave 2:** Implementation (Main logic)
|
|
34
|
+
- **Wave 3:** Integration (Wiring it up)
|
|
35
|
+
- **Wave 4:** Polish (Refinement & fixes)
|
|
50
36
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- Update CHRONICLE.md
|
|
58
|
-
- Verify tests pass
|
|
37
|
+
### 2. Orchestration Loop
|
|
38
|
+
For each task in `BLUEPRINT.md`:
|
|
39
|
+
1. **Delegate:** Send task to `goop-executor`.
|
|
40
|
+
2. **Monitor:** Watch for completion or blocks.
|
|
41
|
+
3. **Verify:** Run tests/checks.
|
|
42
|
+
4. **Update:** Mark task complete in `CHRONICLE.md`.
|
|
59
43
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **Rule 4:** STOP for architectural decisions (new tables, framework changes)
|
|
44
|
+
### 3. Deviation Handling
|
|
45
|
+
The Orchestrator applies rules for issues:
|
|
46
|
+
- **Rule 1-3 (Auto-fix):** Minor bugs, missing imports (fix and continue).
|
|
47
|
+
- **Rule 4 (Architectural):** Major blockers (PAUSE and ask user).
|
|
65
48
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
### 4. Checkpoints
|
|
50
|
+
If user input is needed, the system pauses and creates a checkpoint.
|
|
51
|
+
- **Decision:** User must choose between options (e.g., architecture trade-off).
|
|
52
|
+
- **Verification:** User must verify something (e.g., UI visual check).
|
|
53
|
+
- **Action:** User must perform an action (e.g., add API key).
|
|
70
54
|
|
|
71
|
-
##
|
|
55
|
+
## Output
|
|
72
56
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
4. **Verification gates** - Tests must pass between waves
|
|
77
|
-
|
|
78
|
-
## Artifacts Created/Updated
|
|
79
|
-
|
|
80
|
-
- `CHRONICLE.md` - Real-time progress tracking:
|
|
81
|
-
- Current wave and task
|
|
82
|
-
- Completed tasks with commit hashes
|
|
83
|
-
- Deviations logged
|
|
84
|
-
- Blockers noted
|
|
85
|
-
|
|
86
|
-
- Git commits - One per task:
|
|
87
|
-
```
|
|
88
|
-
feat(wave-task): description
|
|
89
|
-
|
|
90
|
-
- Change 1
|
|
91
|
-
- Change 2
|
|
92
|
-
```
|
|
57
|
+
- **Code:** Modified source files.
|
|
58
|
+
- **Commits:** Atomic commits per task.
|
|
59
|
+
- **Chronicle:** Updated `.goopspec/CHRONICLE.md`.
|
|
93
60
|
|
|
94
61
|
## Example
|
|
95
62
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
Orchestrator executes:
|
|
103
|
-
- Wave 1: Setup auth directory, install jose library
|
|
104
|
-
- Wave 2: Implement login function, session management
|
|
105
|
-
- Wave 3: Wire to API routes, connect to user model
|
|
106
|
-
- Wave 4: Add error handling, write tests
|
|
107
|
-
|
|
108
|
-
Each task delegated to goop-executor, committed atomically.
|
|
109
|
-
|
|
110
|
-
## Continuation Enforcement
|
|
111
|
-
|
|
112
|
-
The agent **CANNOT stop** with incomplete tasks:
|
|
113
|
-
- Incomplete todos = forced continuation
|
|
114
|
-
- Only checkpoints allow pause
|
|
115
|
-
- User must explicitly confirm completion
|
|
116
|
-
- Max continuation prompts before escalation
|
|
117
|
-
|
|
118
|
-
## Next Steps
|
|
119
|
-
|
|
120
|
-
After execution:
|
|
121
|
-
- `/goop-accept` - Verify and accept completion (ACCEPTANCE GATE)
|
|
122
|
-
|
|
123
|
-
During execution:
|
|
124
|
-
- `/goop-status` - Check progress
|
|
125
|
-
- `/goop-pause` - Save checkpoint manually
|
|
126
|
-
|
|
127
|
-
## Quick Mode Execution
|
|
128
|
-
|
|
129
|
-
For Quick tasks:
|
|
130
|
-
- Abbreviated waves (often just 1-2)
|
|
131
|
-
- Faster delegation
|
|
132
|
-
- Less formal tracking
|
|
133
|
-
- Direct to Accept phase
|
|
134
|
-
|
|
135
|
-
---
|
|
63
|
+
> **User:** `/goop-execute`
|
|
64
|
+
> **Agent:** "Starting Wave 1...
|
|
65
|
+
> [Task 1.1] Setup Auth Context... Done (commit: a1b2c3)
|
|
66
|
+
> [Task 1.2] Create Login Component... Done (commit: d4e5f6)
|
|
67
|
+
> Wave 1 Complete. Verification passed. Starting Wave 2..."
|
|
136
68
|
|
|
137
|
-
|
|
69
|
+
## Interactive Control
|
|
70
|
+
- Use `/goop-status` to check progress.
|
|
71
|
+
- Use `/goop-pause` to stop safely.
|