opencode-goopspec 0.1.2 → 0.1.4
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 +255 -331
- package/agents/goop-debugger.md +175 -172
- package/agents/goop-designer.md +232 -160
- package/agents/goop-executor.md +197 -127
- package/agents/goop-explorer.md +148 -150
- package/agents/goop-librarian.md +218 -164
- package/agents/goop-orchestrator.md +392 -280
- package/agents/goop-planner.md +331 -153
- package/agents/goop-researcher.md +198 -126
- package/agents/goop-tester.md +277 -202
- package/agents/goop-verifier.md +191 -201
- package/agents/goop-writer.md +241 -133
- package/agents/memory-distiller.md +228 -136
- package/commands/goop-accept.md +434 -160
- package/commands/goop-amend.md +35 -151
- package/commands/goop-complete.md +39 -183
- package/commands/goop-debug.md +33 -298
- package/commands/goop-discuss.md +381 -85
- package/commands/goop-execute.md +391 -108
- package/commands/goop-help.md +11 -0
- package/commands/goop-map-codebase.md +16 -3
- package/commands/goop-memory.md +11 -0
- package/commands/goop-milestone.md +29 -192
- package/commands/goop-pause.md +31 -40
- package/commands/goop-plan.md +458 -46
- package/commands/goop-quick.md +38 -142
- package/commands/goop-recall.md +11 -0
- package/commands/goop-remember.md +12 -0
- package/commands/goop-research.md +52 -73
- package/commands/goop-resume.md +28 -37
- package/commands/goop-setup.md +225 -124
- package/commands/goop-specify.md +321 -121
- package/commands/goop-status.md +256 -110
- package/dist/index.js +6289 -2820
- package/package.json +1 -1
- package/references/context-injection.md +307 -0
- package/references/discovery-interview.md +278 -0
- package/references/enforcement-system.md +213 -0
- package/references/handoff-protocol.md +290 -0
- package/references/interactive-questioning.md +122 -0
- package/references/model-profiles.md +1 -1
- package/references/phase-gates.md +360 -0
- package/references/plugin-architecture.md +212 -0
- package/references/response-format.md +41 -9
- package/references/subagent-protocol.md +83 -33
- package/references/ui-interaction-patterns.md +133 -0
- package/references/visual-style.md +199 -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/references/xml-response-schema.md +236 -0
- package/templates/blueprint.md +88 -41
- package/templates/chronicle.md +130 -16
- package/templates/handoff.md +140 -0
- package/templates/project.md +114 -0
- package/templates/requirements.md +121 -0
- package/templates/spec.md +85 -20
- package/templates/state.md +103 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Workflow: Research Phase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**GoopSpec Voice:** Analytical, Thorough, Skill-Backed.
|
|
4
|
+
|
|
5
|
+
The Research phase answers: **How should we build this?** It explores the problem space *before* we commit to a contract.
|
|
4
6
|
|
|
5
7
|
## Position in Workflow
|
|
6
8
|
|
|
@@ -13,222 +15,112 @@ The Research phase gathers context and explores implementation approaches before
|
|
|
13
15
|
(You are here)
|
|
14
16
|
```
|
|
15
17
|
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
The Research phase answers: **How should we build this?**
|
|
19
|
-
|
|
20
|
-
It explores the problem space, gathers context, evaluates approaches, and informs specification decisions.
|
|
21
|
-
|
|
22
18
|
## Entry Criteria
|
|
19
|
+
* Plan phase complete.
|
|
20
|
+
* User selected **Deep Research** (or default for complex tasks).
|
|
21
|
+
* *Note: Quick Mode skips this phase entirely.*
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
- Intent and requirements documented
|
|
26
|
-
- User has confirmed understanding
|
|
27
|
-
|
|
28
|
-
## Parallel Research Agents
|
|
29
|
-
|
|
30
|
-
Research phase spawns multiple agents working simultaneously:
|
|
31
|
-
|
|
32
|
-
| Agent | Focus |
|
|
33
|
-
|-------|-------|
|
|
34
|
-
| **Researcher** | Deep domain research - technologies, patterns, best practices |
|
|
35
|
-
| **Explorer** | Codebase analysis - existing patterns, conventions, integration points |
|
|
36
|
-
| **Librarian** | Documentation gathering - API docs, library guides, examples |
|
|
37
|
-
| **Designer** | (For UI tasks) Visual research - patterns, components, UX |
|
|
23
|
+
## Research Modes
|
|
38
24
|
|
|
39
|
-
###
|
|
25
|
+
### 1. The Explorer (Codebase Map)
|
|
26
|
+
**Skill:** `octocode-research`
|
|
27
|
+
* **Goal:** Understand existing patterns.
|
|
28
|
+
* **Action:** Map relevant files, check conventions, find integration points.
|
|
40
29
|
|
|
30
|
+
```text
|
|
31
|
+
⬢ Exploring Codebase...
|
|
32
|
+
└─ ⚡ Mapped "src/auth/" (Found 3 files)
|
|
33
|
+
└─ ⚡ Identified pattern: "Repository Pattern"
|
|
41
34
|
```
|
|
42
|
-
task({
|
|
43
|
-
subagent_type: "general",
|
|
44
|
-
description: "Research topic",
|
|
45
|
-
prompt: "Research [topic] for [project intent]. Focus on: ..."
|
|
46
|
-
})
|
|
47
35
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
})
|
|
36
|
+
### 2. The Scholar (External Knowledge)
|
|
37
|
+
**Skill:** `exa_web_search`, `context7_query-docs`
|
|
38
|
+
* **Goal:** Find best practices and documentation.
|
|
39
|
+
* **Action:** Read docs, find libraries, compare options.
|
|
53
40
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
})
|
|
41
|
+
```text
|
|
42
|
+
⬢ Researching: "Auth0 React SDK vs NextAuth"
|
|
43
|
+
└─ ⚡ Reading documentation...
|
|
44
|
+
└─ ⚡ Comparing community usage...
|
|
59
45
|
```
|
|
60
46
|
|
|
61
|
-
## Research
|
|
62
|
-
|
|
63
|
-
### 1. Technology Research
|
|
64
|
-
|
|
65
|
-
- Available libraries/frameworks
|
|
66
|
-
- Tradeoffs between approaches
|
|
67
|
-
- Performance characteristics
|
|
68
|
-
- Security considerations
|
|
69
|
-
- Community support/maturity
|
|
70
|
-
|
|
71
|
-
### 2. Codebase Exploration
|
|
47
|
+
## Research Output: RESEARCH.md
|
|
72
48
|
|
|
73
|
-
|
|
74
|
-
- Related implementations
|
|
75
|
-
- Integration points
|
|
76
|
-
- Potential conflicts
|
|
77
|
-
- Test coverage gaps
|
|
78
|
-
|
|
79
|
-
### 3. Domain Knowledge
|
|
80
|
-
|
|
81
|
-
- Business rules
|
|
82
|
-
- Edge cases
|
|
83
|
-
- User expectations
|
|
84
|
-
- Industry standards
|
|
85
|
-
- Compliance requirements
|
|
86
|
-
|
|
87
|
-
### 4. Visual Research (UI Tasks)
|
|
88
|
-
|
|
89
|
-
- Design patterns
|
|
90
|
-
- Component libraries
|
|
91
|
-
- Accessibility requirements
|
|
92
|
-
- Responsive considerations
|
|
93
|
-
- Animation/interaction patterns
|
|
94
|
-
|
|
95
|
-
## RESEARCH.md Output
|
|
96
|
-
|
|
97
|
-
Research findings are consolidated into RESEARCH.md:
|
|
49
|
+
Findings are consolidated into a structured document.
|
|
98
50
|
|
|
99
51
|
```markdown
|
|
100
52
|
# Research: [Feature Name]
|
|
101
53
|
|
|
102
|
-
##
|
|
54
|
+
## Analysis
|
|
55
|
+
* **Pattern:** Repository Pattern (matches codebase)
|
|
56
|
+
* **Library:** Auth0 SDK (matches preference)
|
|
103
57
|
|
|
104
|
-
|
|
58
|
+
## Options
|
|
105
59
|
| Option | Pros | Cons | Recommendation |
|
|
106
|
-
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
110
|
-
### Relevant Documentation
|
|
111
|
-
- [Link 1]: Key insight
|
|
112
|
-
- [Link 2]: Key insight
|
|
113
|
-
|
|
114
|
-
## Codebase Analysis
|
|
115
|
-
|
|
116
|
-
### Existing Patterns
|
|
117
|
-
- Pattern 1: Used in [files], suitable for [use case]
|
|
118
|
-
- Pattern 2: Used in [files], suitable for [use case]
|
|
119
|
-
|
|
120
|
-
### Integration Points
|
|
121
|
-
- Component A: Will need [modification]
|
|
122
|
-
- Service B: Already supports [capability]
|
|
123
|
-
|
|
124
|
-
### Conventions Discovered
|
|
125
|
-
- Naming: [convention]
|
|
126
|
-
- Structure: [convention]
|
|
127
|
-
- Testing: [convention]
|
|
128
|
-
|
|
129
|
-
## Recommendations
|
|
60
|
+
| :--- | :--- | :--- | :--- |
|
|
61
|
+
| **A: Auth0 SDK** | Native support, secure | Vendor lock-in | ✅ Recommended |
|
|
62
|
+
| **B: NextAuth** | Flexible provider | More setup | |
|
|
130
63
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
### Key Decisions Needed
|
|
135
|
-
- Decision 1: [options]
|
|
136
|
-
- Decision 2: [options]
|
|
137
|
-
|
|
138
|
-
### Risks
|
|
139
|
-
- Risk 1: [description, mitigation]
|
|
140
|
-
- Risk 2: [description, mitigation]
|
|
141
|
-
|
|
142
|
-
### Estimated Complexity
|
|
143
|
-
[Low / Medium / High] - [rationale]
|
|
64
|
+
## Risks
|
|
65
|
+
* Risk: API Rate limits on free tier.
|
|
66
|
+
* Mitigation: Implement caching.
|
|
144
67
|
```
|
|
145
68
|
|
|
146
|
-
##
|
|
147
|
-
|
|
148
|
-
### Good Research
|
|
149
|
-
- Multiple sources consulted
|
|
150
|
-
- Alternatives considered
|
|
151
|
-
- Tradeoffs explicitly stated
|
|
152
|
-
- Recommendations justified
|
|
153
|
-
- Risks identified
|
|
69
|
+
## Interactive Decision Protocol
|
|
154
70
|
|
|
155
|
-
|
|
156
|
-
- Single source only
|
|
157
|
-
- First option accepted
|
|
158
|
-
- No alternatives considered
|
|
159
|
-
- Recommendations without rationale
|
|
160
|
-
- No risk assessment
|
|
71
|
+
When research reveals a fork in the road, use a **Skill-Backed Question**.
|
|
161
72
|
|
|
162
|
-
|
|
73
|
+
```text
|
|
74
|
+
⬢ Decision Required: State Management
|
|
163
75
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
**Transition prompt:**
|
|
76
|
+
I found two viable patterns for this feature:
|
|
77
|
+
|
|
78
|
+
1. **Zustand** (Used in 'Settings' module, simpler)
|
|
79
|
+
2. **Redux** (Used in 'Core', but verbose)
|
|
80
|
+
|
|
81
|
+
► Recommendation: Zustand (Lower complexity).
|
|
82
|
+
► Select [1-2]:
|
|
173
83
|
```
|
|
174
|
-
"Research complete. Key findings:
|
|
175
|
-
|
|
176
|
-
Recommended approach: [summary]
|
|
177
|
-
Key decisions needed: [list]
|
|
178
|
-
Main risks: [list]
|
|
179
84
|
|
|
180
|
-
|
|
85
|
+
## The Specification Gate
|
|
86
|
+
|
|
87
|
+
The transition to Specify is a formal handoff.
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
91
|
+
│ │
|
|
92
|
+
│ 🚩 SPECIFICATION GATE │
|
|
93
|
+
│ │
|
|
94
|
+
│ Research complete. I have a recommended approach. │
|
|
95
|
+
│ │
|
|
96
|
+
│ • Approach: Use Auth0 SDK with Context API │
|
|
97
|
+
│ • Key Decision: Zustand for local state │
|
|
98
|
+
│ • Risks: None blocking │
|
|
99
|
+
│ │
|
|
100
|
+
│ ► Type "proceed" to Draft Specification. │
|
|
101
|
+
│ ► Type "discuss" to review findings in detail. │
|
|
102
|
+
│ │
|
|
103
|
+
╰────────────────────────────────────────────────────╯
|
|
181
104
|
```
|
|
182
105
|
|
|
183
|
-
##
|
|
184
|
-
|
|
185
|
-
For Quick tasks, Research phase is SKIPPED entirely:
|
|
186
|
-
- Assume existing patterns are sufficient
|
|
187
|
-
- No parallel agent spawning
|
|
188
|
-
- Jump directly from Plan to Execute
|
|
106
|
+
## Commands
|
|
189
107
|
|
|
190
|
-
|
|
108
|
+
| Command | Effect |
|
|
109
|
+
| :--- | :--- |
|
|
110
|
+
| `/goop-research` | Start deep research. |
|
|
111
|
+
| `/goop-map-codebase` | Trigger specific codebase mapping task. |
|
|
112
|
+
| `/goop-recall [query]` | Search past research. |
|
|
191
113
|
|
|
192
|
-
|
|
193
|
-
- Deeper research per agent
|
|
194
|
-
- More alternatives explored
|
|
195
|
-
- Extended timeframe
|
|
196
|
-
- User reviews RESEARCH.md before Specify
|
|
114
|
+
## Memory Triggers
|
|
197
115
|
|
|
198
|
-
|
|
116
|
+
* **Save:** New technology choices and rationale.
|
|
117
|
+
* **Save:** Discovered codebase patterns (for future "Explorer" runs).
|
|
199
118
|
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
memory_search({
|
|
203
|
-
query: "past research on [topic]",
|
|
204
|
-
concepts: ["technology", "pattern"]
|
|
205
|
-
})
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### During Research
|
|
209
|
-
Each agent saves findings:
|
|
210
|
-
```
|
|
211
|
-
memory_save({
|
|
212
|
-
type: "observation",
|
|
213
|
-
title: "Research: [specific finding]",
|
|
214
|
-
concepts: ["relevant", "concepts"]
|
|
215
|
-
})
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### After Completing
|
|
219
|
-
```
|
|
119
|
+
```javascript
|
|
220
120
|
memory_save({
|
|
221
121
|
type: "observation",
|
|
222
|
-
title: "Research
|
|
223
|
-
content: "
|
|
224
|
-
concepts: ["
|
|
122
|
+
title: "Research: Auth0 Pattern",
|
|
123
|
+
content: "Project uses Auth0 SDK wrapped in a custom provider.",
|
|
124
|
+
concepts: ["auth", "pattern", "react"]
|
|
225
125
|
})
|
|
226
126
|
```
|
|
227
|
-
|
|
228
|
-
## Commands
|
|
229
|
-
|
|
230
|
-
| Command | Effect |
|
|
231
|
-
|---------|--------|
|
|
232
|
-
| `/goop-research` | Start Research phase |
|
|
233
|
-
| `/goop-status` | Check research progress |
|
|
234
|
-
| `/goop-recall [query]` | Search past research |
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Workflow: Specify Phase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**GoopSpec Voice:** Contractual, Precise, Binding.
|
|
4
|
+
|
|
5
|
+
The Specify phase answers: **What exactly will we deliver?** This is the **CONTRACT**.
|
|
4
6
|
|
|
5
7
|
## Position in Workflow
|
|
6
8
|
|
|
@@ -13,167 +15,36 @@ The Specify phase locks the specification - the CONTRACT between user and agent.
|
|
|
13
15
|
(You are here)
|
|
14
16
|
|
|
15
17
|
╔══════════════════════════════════════════════╗
|
|
16
|
-
║ CONTRACT GATE
|
|
17
|
-
║ User MUST confirm before execution begins
|
|
18
|
+
║ CONTRACT GATE ║
|
|
19
|
+
║ User MUST confirm before execution begins ║
|
|
18
20
|
╚══════════════════════════════════════════════╝
|
|
19
21
|
```
|
|
20
22
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
The Specify phase answers: **What exactly will we deliver?**
|
|
24
|
-
|
|
25
|
-
This is the CONTRACT phase. Once locked, the specification becomes the binding agreement:
|
|
26
|
-
- Agent commits to delivering must-haves
|
|
27
|
-
- User commits to accepting if must-haves are met
|
|
28
|
-
- Changes require explicit amendment
|
|
29
|
-
|
|
30
|
-
## Entry Criteria
|
|
31
|
-
|
|
32
|
-
- Plan phase complete (intent captured)
|
|
33
|
-
- Research phase complete (approach researched)
|
|
34
|
-
- RESEARCH.md available with recommendations
|
|
35
|
-
|
|
36
|
-
## The Contract Concept
|
|
37
|
-
|
|
38
|
-
### Why Contracts Matter
|
|
39
|
-
|
|
40
|
-
Without a locked spec:
|
|
41
|
-
- Scope creeps silently
|
|
42
|
-
- "Almost done" never ends
|
|
43
|
-
- Success criteria shift
|
|
44
|
-
- Both parties frustrated
|
|
45
|
-
|
|
46
|
-
With a locked spec:
|
|
47
|
-
- Clear deliverables
|
|
48
|
-
- Measurable completion
|
|
49
|
-
- Explicit change process
|
|
50
|
-
- Satisfied expectations
|
|
23
|
+
## The Contract Philosophy
|
|
51
24
|
|
|
52
|
-
|
|
25
|
+
* **No Surprises:** Everything implemented must be in the spec.
|
|
26
|
+
* **Must vs. Nice:** Ruthless prioritization.
|
|
27
|
+
* **Explicit Scope:** "Out of Scope" is as important as "Must Have".
|
|
53
28
|
|
|
54
|
-
|
|
55
|
-
## Specification Contract
|
|
56
|
-
|
|
57
|
-
### Must Haves (Guaranteed)
|
|
58
|
-
If these aren't delivered, the work is incomplete.
|
|
59
|
-
- [ ] Must-have 1
|
|
60
|
-
- [ ] Must-have 2
|
|
61
|
-
|
|
62
|
-
### Nice to Haves (Best Effort)
|
|
63
|
-
Will attempt if time permits after must-haves.
|
|
64
|
-
- [ ] Nice-to-have 1
|
|
65
|
-
- [ ] Nice-to-have 2
|
|
66
|
-
|
|
67
|
-
### Out of Scope (Explicitly Excluded)
|
|
68
|
-
These are NOT part of this work.
|
|
69
|
-
- Excluded item 1
|
|
70
|
-
- Excluded item 2
|
|
71
|
-
|
|
72
|
-
### Acceptance Criteria
|
|
73
|
-
How we'll verify completion.
|
|
74
|
-
1. Criterion 1
|
|
75
|
-
2. Criterion 2
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## SPEC.md Structure
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
# Specification: [Feature Name]
|
|
29
|
+
## Activities
|
|
82
30
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
**Locked By:** [user confirmation]
|
|
31
|
+
### 1. Synthesize & Draft
|
|
32
|
+
Combine Intent (Plan) + Approach (Research) into `SPEC.md`.
|
|
86
33
|
|
|
87
|
-
|
|
88
|
-
|
|
34
|
+
* **Must Haves:** Non-negotiable deliverables.
|
|
35
|
+
* **Nice to Haves:** Best effort, time permitting.
|
|
36
|
+
* **Out of Scope:** Explicitly excluded to prevent creep.
|
|
89
37
|
|
|
90
|
-
|
|
38
|
+
### 2. The Blueprinting
|
|
39
|
+
Create `BLUEPRINT.md` - the execution plan.
|
|
40
|
+
* Break down into **Waves**.
|
|
41
|
+
* Define **Atomic Tasks**.
|
|
91
42
|
|
|
92
|
-
|
|
93
|
-
- [ ] Requirement 1
|
|
94
|
-
- Acceptance: [how to verify]
|
|
95
|
-
- [ ] Requirement 2
|
|
96
|
-
- Acceptance: [how to verify]
|
|
43
|
+
## The Contract Gate
|
|
97
44
|
|
|
98
|
-
|
|
99
|
-
- [ ] Requirement 3
|
|
100
|
-
- [ ] Requirement 4
|
|
45
|
+
This is the most critical interaction in the GoopSpec workflow.
|
|
101
46
|
|
|
102
|
-
|
|
103
|
-
- Item 1 (reason: ...)
|
|
104
|
-
- Item 2 (reason: ...)
|
|
105
|
-
|
|
106
|
-
## Technical Approach
|
|
107
|
-
[Summary from Research phase]
|
|
108
|
-
|
|
109
|
-
## Target Files
|
|
110
|
-
- `path/to/file1.ts` - [change description]
|
|
111
|
-
- `path/to/file2.ts` - [change description]
|
|
112
|
-
|
|
113
|
-
## Dependencies
|
|
114
|
-
- Depends on: [list]
|
|
115
|
-
- Blocks: [list]
|
|
116
|
-
|
|
117
|
-
## Risks
|
|
118
|
-
- Risk 1: [description, mitigation]
|
|
119
|
-
|
|
120
|
-
## Estimated Effort
|
|
121
|
-
[T-shirt size: XS, S, M, L, XL]
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## Specify Activities
|
|
125
|
-
|
|
126
|
-
### 1. Synthesize Plan + Research
|
|
127
|
-
|
|
128
|
-
Combine intent (Plan) with approach (Research):
|
|
129
|
-
- Match requirements to technical solutions
|
|
130
|
-
- Identify which must-haves are feasible
|
|
131
|
-
- Determine what should be nice-to-have vs out-of-scope
|
|
132
|
-
|
|
133
|
-
### 2. Define Must-Haves
|
|
134
|
-
|
|
135
|
-
Critical: Must-haves should be:
|
|
136
|
-
- **Observable** - Can be seen/tested
|
|
137
|
-
- **Achievable** - Within scope of work
|
|
138
|
-
- **Specific** - No ambiguity
|
|
139
|
-
- **Limited** - Keep list short (3-7 items)
|
|
140
|
-
|
|
141
|
-
### 3. Set Boundaries
|
|
142
|
-
|
|
143
|
-
Explicitly define what's out:
|
|
144
|
-
- Features that seem related but aren't included
|
|
145
|
-
- Edge cases that won't be handled
|
|
146
|
-
- Future enhancements
|
|
147
|
-
|
|
148
|
-
### 4. Create BLUEPRINT.md
|
|
149
|
-
|
|
150
|
-
Transform spec into executable plan:
|
|
151
|
-
|
|
152
|
-
```markdown
|
|
153
|
-
# Blueprint: [Feature Name]
|
|
154
|
-
|
|
155
|
-
## Wave 1: [Foundation]
|
|
156
|
-
|
|
157
|
-
### Task 1.1: [Name]
|
|
158
|
-
**Files:** path/to/file.ts
|
|
159
|
-
**Action:** [What to do]
|
|
160
|
-
**Verify:** [How to verify]
|
|
161
|
-
**Done:** [Acceptance criterion]
|
|
162
|
-
|
|
163
|
-
### Task 1.2: [Name]
|
|
164
|
-
...
|
|
165
|
-
|
|
166
|
-
## Wave 2: [Core]
|
|
167
|
-
...
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Contract Gate
|
|
171
|
-
|
|
172
|
-
**CRITICAL**: User MUST explicitly confirm the specification.
|
|
173
|
-
|
|
174
|
-
### Confirmation Prompt
|
|
175
|
-
|
|
176
|
-
```
|
|
47
|
+
```text
|
|
177
48
|
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
178
49
|
│ │
|
|
179
50
|
│ 🔒 CONTRACT GATE │
|
|
@@ -181,98 +52,70 @@ Transform spec into executable plan:
|
|
|
181
52
|
│ I'm ready to lock the specification. │
|
|
182
53
|
│ │
|
|
183
54
|
│ MUST HAVES (I commit to delivering): │
|
|
184
|
-
│ •
|
|
185
|
-
│ •
|
|
55
|
+
│ • User Login (Email/Pass) │
|
|
56
|
+
│ • "Forgot Password" Flow │
|
|
186
57
|
│ │
|
|
187
58
|
│ NICE TO HAVES (Best effort): │
|
|
188
|
-
│ •
|
|
59
|
+
│ • Social Login (Google) │
|
|
189
60
|
│ │
|
|
190
61
|
│ OUT OF SCOPE: │
|
|
191
|
-
│ •
|
|
192
|
-
│ │
|
|
193
|
-
│ ACCEPTANCE CRITERIA: │
|
|
194
|
-
│ 1. Criterion 1 │
|
|
195
|
-
│ 2. Criterion 2 │
|
|
62
|
+
│ • Admin Dashboard │
|
|
196
63
|
│ │
|
|
197
64
|
│ ───────────────────────────────────────────── │
|
|
198
|
-
│ Type "confirm" to
|
|
199
|
-
│ Type "amend" to request changes.
|
|
65
|
+
│ ► Type "confirm" to Lock Spec and Execute. │
|
|
66
|
+
│ ► Type "amend" to request changes. │
|
|
200
67
|
│ │
|
|
201
68
|
╰────────────────────────────────────────────────────╯
|
|
202
69
|
```
|
|
203
70
|
|
|
204
|
-
### After Confirmation
|
|
205
|
-
|
|
206
|
-
- SPEC.md status changes to LOCKED
|
|
207
|
-
- Timestamp recorded
|
|
208
|
-
- Execution phase can begin
|
|
209
|
-
- Changes require `/goop-amend` command
|
|
210
|
-
|
|
211
71
|
## Amendments
|
|
212
72
|
|
|
213
|
-
If
|
|
73
|
+
If the user rejects the contract or needs changes later:
|
|
214
74
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
75
|
+
1. **Command:** `/goop-amend "Add Social Login to Must Haves"`
|
|
76
|
+
2. **Action:** Agent updates `SPEC.md` and `BLUEPRINT.md`.
|
|
77
|
+
3. **Gate:** Re-present the Contract Gate.
|
|
218
78
|
|
|
219
|
-
|
|
220
|
-
1. Stop current execution
|
|
221
|
-
2. Document the change request
|
|
222
|
-
3. Assess impact on existing work
|
|
223
|
-
4. User confirms amendment
|
|
224
|
-
5. Update SPEC.md
|
|
225
|
-
6. Resume or restart execution
|
|
79
|
+
**Note:** Amending a locked spec during execution triggers a "Scope Change" warning.
|
|
226
80
|
|
|
227
|
-
##
|
|
81
|
+
## Output: SPEC.md & BLUEPRINT.md
|
|
82
|
+
|
|
83
|
+
### SPEC.md
|
|
84
|
+
The "What".
|
|
85
|
+
```markdown
|
|
86
|
+
# Specification: Auth Feature
|
|
87
|
+
**Status:** LOCKED
|
|
228
88
|
|
|
229
|
-
|
|
89
|
+
## Must Haves
|
|
90
|
+
- [ ] Login Form
|
|
91
|
+
- [ ] API Integration
|
|
92
|
+
```
|
|
230
93
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
94
|
+
### BLUEPRINT.md
|
|
95
|
+
The "How".
|
|
96
|
+
```markdown
|
|
97
|
+
# Blueprint
|
|
98
|
+
## Wave 1: Foundation
|
|
99
|
+
- [ ] Task 1.1: Setup Auth0 Provider
|
|
100
|
+
```
|
|
236
101
|
|
|
237
|
-
##
|
|
102
|
+
## Commands
|
|
238
103
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
-
|
|
242
|
-
-
|
|
104
|
+
| Command | Effect |
|
|
105
|
+
| :--- | :--- |
|
|
106
|
+
| `/goop-specify` | Generate spec and trigger Contract Gate. |
|
|
107
|
+
| `/goop-amend` | Modify a draft or locked spec. |
|
|
108
|
+
| `/goop-status` | View current spec status. |
|
|
243
109
|
|
|
244
|
-
## Memory
|
|
110
|
+
## Memory Triggers
|
|
245
111
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
memory_search({
|
|
249
|
-
query: "past specs for similar features",
|
|
250
|
-
types: ["decision"]
|
|
251
|
-
})
|
|
252
|
-
```
|
|
112
|
+
* **Save:** The Locked Contract (High Importance).
|
|
113
|
+
* **Decision:** Scope exclusions (Why did we exclude X?).
|
|
253
114
|
|
|
254
|
-
|
|
255
|
-
```
|
|
115
|
+
```javascript
|
|
256
116
|
memory_decision({
|
|
257
|
-
decision: "
|
|
258
|
-
reasoning: "User
|
|
117
|
+
decision: "Excluded Admin Dashboard",
|
|
118
|
+
reasoning: "User wants to focus on consumer-facing features first.",
|
|
119
|
+
impact: "high"
|
|
259
120
|
})
|
|
260
121
|
```
|
|
261
|
-
|
|
262
|
-
### After Locking
|
|
263
|
-
```
|
|
264
|
-
memory_save({
|
|
265
|
-
type: "decision",
|
|
266
|
-
title: "Spec Locked: [feature]",
|
|
267
|
-
content: "[must-haves summary]",
|
|
268
|
-
importance: 0.8
|
|
269
|
-
})
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
## Commands
|
|
273
|
-
|
|
274
|
-
| Command | Effect |
|
|
275
|
-
|---------|--------|
|
|
276
|
-
| `/goop-specify` | Create and present spec for confirmation |
|
|
277
|
-
| `/goop-amend [change]` | Request spec amendment |
|
|
278
|
-
| `/goop-status` | Check spec lock status |
|