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,17 +1,12 @@
|
|
|
1
1
|
# Workflow: Accept Phase
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**GoopSpec Voice:** Critical, Celebratory, Final.
|
|
4
|
+
|
|
5
|
+
The Accept phase answers: **Did we deliver what we promised?** It is the final quality gate.
|
|
4
6
|
|
|
5
7
|
## Position in Workflow
|
|
6
8
|
|
|
7
9
|
```
|
|
8
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
9
|
-
│ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
|
|
10
|
-
│ (Intent) │ │ (Explore) │ │ (Contract) │
|
|
11
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
12
|
-
│
|
|
13
|
-
┌──────────────────────────────────────┘
|
|
14
|
-
▼
|
|
15
10
|
┌─────────────┐ ┌─────────────┐
|
|
16
11
|
│ EXECUTE │ ──▶ │ ACCEPT │
|
|
17
12
|
│ (Build) │ │ (Verify) │
|
|
@@ -20,117 +15,31 @@ The Accept phase verifies the implementation against the specification and obtai
|
|
|
20
15
|
(You are here)
|
|
21
16
|
|
|
22
17
|
╔══════════════════════════════════════════════╗
|
|
23
|
-
║ ACCEPTANCE GATE
|
|
18
|
+
║ ACCEPTANCE GATE ║
|
|
24
19
|
║ User MUST confirm completion ║
|
|
25
20
|
╚══════════════════════════════════════════════╝
|
|
26
21
|
```
|
|
27
22
|
|
|
28
|
-
##
|
|
29
|
-
|
|
30
|
-
The Accept phase answers: **Did we deliver what we promised?**
|
|
31
|
-
|
|
32
|
-
This is the final verification against the locked specification. The user confirms the work is complete before it's considered done.
|
|
33
|
-
|
|
34
|
-
## Entry Criteria
|
|
35
|
-
|
|
36
|
-
- Execute phase complete
|
|
37
|
-
- All tasks finished
|
|
38
|
-
- All tests passing
|
|
39
|
-
- CHRONICLE.md updated
|
|
40
|
-
|
|
41
|
-
## Verification Activities
|
|
42
|
-
|
|
43
|
-
### 1. Spec Compliance Check
|
|
44
|
-
|
|
45
|
-
Verify each must-have from SPEC.md:
|
|
46
|
-
|
|
47
|
-
```markdown
|
|
48
|
-
## Must-Have Verification
|
|
49
|
-
|
|
50
|
-
| Requirement | Status | Evidence |
|
|
51
|
-
|-------------|--------|----------|
|
|
52
|
-
| User can log in | ✓ | Test: auth.test.ts:15 |
|
|
53
|
-
| Session persists | ✓ | Test: session.test.ts:42 |
|
|
54
|
-
| Error messages shown | ✓ | Manual verification |
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 2. Automated Verification
|
|
58
|
-
|
|
59
|
-
Run all quality gates:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
# Type checking
|
|
63
|
-
npm run typecheck
|
|
23
|
+
## Verification Protocol
|
|
64
24
|
|
|
65
|
-
|
|
66
|
-
npm run lint
|
|
25
|
+
Before asking the user, the agent runs the **Verifier**.
|
|
67
26
|
|
|
68
|
-
|
|
69
|
-
|
|
27
|
+
### 1. Automated Checks
|
|
28
|
+
* Linting
|
|
29
|
+
* Type Checking
|
|
30
|
+
* Unit/Integration Tests
|
|
31
|
+
* Build Verification
|
|
70
32
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
### 3. Manual Verification
|
|
33
|
+
### 2. Spec Compliance
|
|
34
|
+
Compare `CHRONICLE.md` against `SPEC.md`.
|
|
35
|
+
* Are all "Must Haves" marked complete?
|
|
36
|
+
* Are there any open deviations?
|
|
76
37
|
|
|
77
|
-
|
|
38
|
+
## The Acceptance Gate
|
|
78
39
|
|
|
79
|
-
|
|
80
|
-
## Manual Verification Checklist
|
|
40
|
+
Present the evidence clearly.
|
|
81
41
|
|
|
82
|
-
|
|
83
|
-
- [ ] Error states display correctly
|
|
84
|
-
- [ ] Mobile responsive (if applicable)
|
|
85
|
-
- [ ] Accessibility check (keyboard nav, screen reader)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### 4. Security Audit (If Applicable)
|
|
89
|
-
|
|
90
|
-
For security-sensitive features:
|
|
91
|
-
|
|
92
|
-
```markdown
|
|
93
|
-
## Security Verification
|
|
94
|
-
|
|
95
|
-
- [ ] Input validation present
|
|
96
|
-
- [ ] No hardcoded secrets
|
|
97
|
-
- [ ] Auth/authz properly enforced
|
|
98
|
-
- [ ] No obvious vulnerabilities
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Verifier Agent
|
|
102
|
-
|
|
103
|
-
Delegate comprehensive verification to goop-verifier:
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
task({
|
|
107
|
-
subagent_type: "general",
|
|
108
|
-
description: "Verify spec",
|
|
109
|
-
prompt: `
|
|
110
|
-
Verify implementation against specification.
|
|
111
|
-
|
|
112
|
-
SPEC: .goopspec/SPEC.md
|
|
113
|
-
CHRONICLE: .goopspec/CHRONICLE.md
|
|
114
|
-
|
|
115
|
-
Verify:
|
|
116
|
-
1. All must-haves implemented
|
|
117
|
-
2. Acceptance criteria met
|
|
118
|
-
3. No regressions introduced
|
|
119
|
-
4. Security considerations addressed
|
|
120
|
-
5. Code quality standards met
|
|
121
|
-
|
|
122
|
-
Return: Detailed verification report
|
|
123
|
-
`
|
|
124
|
-
})
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Acceptance Gate
|
|
128
|
-
|
|
129
|
-
**CRITICAL**: User MUST explicitly accept the work.
|
|
130
|
-
|
|
131
|
-
### Acceptance Prompt
|
|
132
|
-
|
|
133
|
-
```
|
|
42
|
+
```text
|
|
134
43
|
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
135
44
|
│ │
|
|
136
45
|
│ ✓ ACCEPTANCE GATE │
|
|
@@ -138,188 +47,66 @@ task({
|
|
|
138
47
|
│ Implementation complete. Verification results: │
|
|
139
48
|
│ │
|
|
140
49
|
│ MUST HAVES: │
|
|
141
|
-
│ ☑
|
|
142
|
-
│ ☑
|
|
143
|
-
│ ☑ Errors displayed - VERIFIED │
|
|
50
|
+
│ ☑ Login Form - VERIFIED │
|
|
51
|
+
│ ☑ API Integration - VERIFIED │
|
|
144
52
|
│ │
|
|
145
|
-
│
|
|
146
|
-
│ ✓
|
|
147
|
-
│ ✓
|
|
148
|
-
│ ✓ Tests: 24/24 passing │
|
|
149
|
-
│ ✓ Build: Successful │
|
|
150
|
-
│ │
|
|
151
|
-
│ NICE TO HAVES COMPLETED: │
|
|
152
|
-
│ ☑ Remember me option │
|
|
53
|
+
│ QUALITY METRICS: │
|
|
54
|
+
│ ✓ Tests: 14/14 Passing │
|
|
55
|
+
│ ✓ Build: Success │
|
|
153
56
|
│ │
|
|
154
57
|
│ ───────────────────────────────────────────── │
|
|
155
|
-
│ Type "accept" to
|
|
156
|
-
│ Type "issues: [
|
|
58
|
+
│ ► Type "accept" to Archive and Complete. │
|
|
59
|
+
│ ► Type "issues: [details]" to Reject. │
|
|
157
60
|
│ │
|
|
158
61
|
╰────────────────────────────────────────────────────╯
|
|
159
62
|
```
|
|
160
63
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
| Response | Effect |
|
|
164
|
-
|----------|--------|
|
|
165
|
-
| `accept` | Work marked complete, proceed to archive |
|
|
166
|
-
| `issues: [desc]` | Return to Execute phase for fixes |
|
|
167
|
-
| `amend: [change]` | Modify spec, reassess what's needed |
|
|
168
|
-
|
|
169
|
-
## Post-Acceptance
|
|
170
|
-
|
|
171
|
-
After user accepts:
|
|
172
|
-
|
|
173
|
-
### 1. Generate Summary
|
|
64
|
+
## Handling Rejection
|
|
174
65
|
|
|
175
|
-
|
|
176
|
-
|
|
66
|
+
If the user types `issues: ...`:
|
|
67
|
+
1. **Log:** Create a new "Fix" Wave in `BLUEPRINT.md`.
|
|
68
|
+
2. **Execute:** Return to Execute Phase.
|
|
69
|
+
3. **Verify:** Re-run verification.
|
|
70
|
+
4. **Gate:** Re-present Acceptance Gate.
|
|
177
71
|
|
|
178
|
-
|
|
179
|
-
**Duration:** [time]
|
|
180
|
-
**Tasks:** 12 completed
|
|
181
|
-
**Commits:** 12
|
|
72
|
+
## Completion Activities
|
|
182
73
|
|
|
183
|
-
|
|
184
|
-
- Must-have 1 ✓
|
|
185
|
-
- Must-have 2 ✓
|
|
186
|
-
- Nice-to-have 1 ✓ (bonus)
|
|
74
|
+
Once accepted:
|
|
187
75
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
76
|
+
1. **Archive:** Move documents to `.goopspec/archive/`.
|
|
77
|
+
2. **Retrospective:** Generate `RETROSPECTIVE.md`.
|
|
78
|
+
3. **Memory Extraction:** The most important step for future intelligence.
|
|
191
79
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
- src/auth/session.ts (new)
|
|
195
|
-
- src/routes/api.ts (modified)
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### 2. Archive (For Milestones)
|
|
199
|
-
|
|
200
|
-
If this completes a milestone:
|
|
80
|
+
### Memory Extraction
|
|
81
|
+
Extract **Patterns**, **Decisions**, and **Learnings**.
|
|
201
82
|
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
This triggers:
|
|
207
|
-
1. Move to archive/
|
|
208
|
-
2. Generate RETROSPECTIVE.md
|
|
209
|
-
3. Extract LEARNINGS.md
|
|
210
|
-
4. Persist learnings to memory
|
|
211
|
-
5. Tag git with version
|
|
212
|
-
|
|
213
|
-
### 3. Clean Up
|
|
214
|
-
|
|
215
|
-
- Clear active workflow state
|
|
216
|
-
- Keep SPEC.md and CHRONICLE.md for reference
|
|
217
|
-
- Ready for next task
|
|
218
|
-
|
|
219
|
-
## Handling Issues
|
|
220
|
-
|
|
221
|
-
### Minor Issues
|
|
222
|
-
|
|
223
|
-
Issues that don't fundamentally change the spec:
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
User: "issues: Login button color should be blue, not gray"
|
|
227
|
-
|
|
228
|
-
Agent:
|
|
229
|
-
1. Note as fix task
|
|
230
|
-
2. Delegate quick fix
|
|
231
|
-
3. Re-verify affected area
|
|
232
|
-
4. Present for re-acceptance
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Major Issues
|
|
236
|
-
|
|
237
|
-
Issues that reveal missing requirements:
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
User: "issues: Wait, it also needs OAuth support"
|
|
241
|
-
|
|
242
|
-
Agent:
|
|
243
|
-
1. Note as spec change
|
|
244
|
-
2. Prompt for `/goop-amend`
|
|
245
|
-
3. Update SPEC.md
|
|
246
|
-
4. Re-plan affected tasks
|
|
247
|
-
5. Execute additions
|
|
248
|
-
6. Re-verify
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
## Verification Report
|
|
252
|
-
|
|
253
|
-
Full verification saved to CHRONICLE.md:
|
|
254
|
-
|
|
255
|
-
```markdown
|
|
256
|
-
## Verification Report
|
|
257
|
-
|
|
258
|
-
**Date:** [timestamp]
|
|
259
|
-
**Verifier:** goop-verifier
|
|
260
|
-
|
|
261
|
-
### Spec Compliance
|
|
262
|
-
| Must-Have | Status | Evidence |
|
|
263
|
-
|-----------|--------|----------|
|
|
264
|
-
| Req 1 | PASS | test:auth:15 |
|
|
265
|
-
| Req 2 | PASS | test:session:42 |
|
|
266
|
-
|
|
267
|
-
### Quality Metrics
|
|
268
|
-
- TypeScript: Clean
|
|
269
|
-
- Lint: Clean
|
|
270
|
-
- Test Coverage: 87%
|
|
271
|
-
- Build: Success
|
|
272
|
-
|
|
273
|
-
### Security Review
|
|
274
|
-
- Input validation: Present
|
|
275
|
-
- Auth checks: Proper
|
|
276
|
-
- No secrets: Verified
|
|
277
|
-
|
|
278
|
-
### Recommendation
|
|
279
|
-
READY FOR ACCEPTANCE
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
## Quick Mode Accept
|
|
283
|
-
|
|
284
|
-
For Quick tasks:
|
|
285
|
-
- Abbreviated verification
|
|
286
|
-
- No formal report
|
|
287
|
-
- Quick confirmation prompt
|
|
288
|
-
- Direct archive to quick/
|
|
289
|
-
|
|
290
|
-
## Memory Protocol
|
|
291
|
-
|
|
292
|
-
### Before Verifying
|
|
293
|
-
```
|
|
294
|
-
memory_search({
|
|
295
|
-
query: "verification patterns, past issues",
|
|
296
|
-
types: ["observation"]
|
|
297
|
-
})
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### During Verification
|
|
301
|
-
```
|
|
302
|
-
memory_note({
|
|
303
|
-
note: "Verification passed for [feature]"
|
|
304
|
-
})
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### After Acceptance
|
|
308
|
-
```
|
|
83
|
+
```javascript
|
|
84
|
+
// Example Extraction
|
|
309
85
|
memory_save({
|
|
310
86
|
type: "observation",
|
|
311
|
-
title: "
|
|
312
|
-
content: "
|
|
313
|
-
concepts: ["
|
|
314
|
-
importance: 0.
|
|
87
|
+
title: "Completed: Auth Feature",
|
|
88
|
+
content: "Successfully implemented Auth0. Key learning: User prefers JWT over session cookies.",
|
|
89
|
+
concepts: ["auth", "completion", "preference"],
|
|
90
|
+
importance: 0.9 // High importance for future recall
|
|
315
91
|
})
|
|
316
92
|
```
|
|
317
93
|
|
|
318
94
|
## Commands
|
|
319
95
|
|
|
320
96
|
| Command | Effect |
|
|
321
|
-
|
|
322
|
-
| `/goop-accept` | Trigger
|
|
323
|
-
| `/goop-
|
|
324
|
-
| `/goop-
|
|
325
|
-
|
|
97
|
+
| :--- | :--- |
|
|
98
|
+
| `/goop-accept` | Trigger the Acceptance Gate. |
|
|
99
|
+
| `/goop-complete` | Finalize, archive, and reset state. |
|
|
100
|
+
| `/goop-milestone` | Start a new milestone after completion. |
|
|
101
|
+
|
|
102
|
+
## The "Celebrate" Pattern
|
|
103
|
+
|
|
104
|
+
End on a high note.
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
⬢ Milestone Completed: Auth Feature 🚀
|
|
108
|
+
Saved to Archive: .goopspec/archive/v1.0-auth/
|
|
109
|
+
Memory Updated: +3 new patterns
|
|
110
|
+
|
|
111
|
+
Ready for next plan?
|
|
112
|
+
```
|