opencode-goopspec 0.1.0
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/LICENSE +21 -0
- package/README.md +650 -0
- package/agents/goop-debugger.md +265 -0
- package/agents/goop-designer.md +244 -0
- package/agents/goop-executor.md +217 -0
- package/agents/goop-explorer.md +252 -0
- package/agents/goop-librarian.md +197 -0
- package/agents/goop-orchestrator.md +224 -0
- package/agents/goop-planner.md +231 -0
- package/agents/goop-researcher.md +246 -0
- package/agents/goop-tester.md +245 -0
- package/agents/goop-verifier.md +266 -0
- package/agents/goop-writer.md +293 -0
- package/agents/memory-distiller.md +226 -0
- package/commands/goop-accept.md +183 -0
- package/commands/goop-amend.md +175 -0
- package/commands/goop-complete.md +206 -0
- package/commands/goop-debug.md +318 -0
- package/commands/goop-discuss.md +138 -0
- package/commands/goop-execute.md +137 -0
- package/commands/goop-help.md +82 -0
- package/commands/goop-map-codebase.md +501 -0
- package/commands/goop-memory.md +66 -0
- package/commands/goop-milestone.md +213 -0
- package/commands/goop-pause.md +61 -0
- package/commands/goop-plan.md +78 -0
- package/commands/goop-quick.md +165 -0
- package/commands/goop-recall.md +48 -0
- package/commands/goop-remember.md +71 -0
- package/commands/goop-research.md +98 -0
- package/commands/goop-resume.md +57 -0
- package/commands/goop-setup.md +208 -0
- package/commands/goop-specify.md +145 -0
- package/commands/goop-status.md +153 -0
- package/dist/index.js +31017 -0
- package/dist/memory/index.js +48752 -0
- package/package.json +73 -0
- package/references/agent-patterns.md +334 -0
- package/references/boundary-system.md +141 -0
- package/references/deviation-rules.md +80 -0
- package/references/dispatch-patterns.md +176 -0
- package/references/model-profiles.md +109 -0
- package/references/orchestrator-philosophy.md +280 -0
- package/references/security-checklist.md +163 -0
- package/references/subagent-protocol.md +393 -0
- package/references/tdd.md +231 -0
- package/references/ui-brand.md +261 -0
- package/references/workflow-accept.md +325 -0
- package/references/workflow-execute.md +315 -0
- package/references/workflow-plan.md +179 -0
- package/references/workflow-research.md +234 -0
- package/references/workflow-specify.md +278 -0
- package/skills/README.md +362 -0
- package/skills/accessibility/skill.md +41 -0
- package/skills/accessibility-testing/skill.md +47 -0
- package/skills/api-docs/skill.md +50 -0
- package/skills/architecture-design/skill.md +168 -0
- package/skills/atomic-commits/skill.md +53 -0
- package/skills/code-review/skill.md +59 -0
- package/skills/codebase-mapping/skill.md +54 -0
- package/skills/convention-detection/skill.md +68 -0
- package/skills/debugging/skill.md +59 -0
- package/skills/deviation-handling/skill.md +187 -0
- package/skills/documentation/skill.md +213 -0
- package/skills/goop-core/skill.md +383 -0
- package/skills/memory-usage/skill.md +208 -0
- package/skills/parallel-planning/skill.md +170 -0
- package/skills/pattern-extraction/skill.md +73 -0
- package/skills/performance-optimization/skill.md +188 -0
- package/skills/playwright/skill.md +69 -0
- package/skills/playwright-testing/skill.md +93 -0
- package/skills/progress-tracking/skill.md +155 -0
- package/skills/readme-generation/skill.md +87 -0
- package/skills/research/skill.md +161 -0
- package/skills/responsive-design/skill.md +76 -0
- package/skills/scientific-method/skill.md +67 -0
- package/skills/security-audit/skill.md +152 -0
- package/skills/task-decomposition/skill.md +153 -0
- package/skills/task-delegation/skill.md +127 -0
- package/skills/technical-writing/skill.md +69 -0
- package/skills/testing/skill.md +202 -0
- package/skills/ui-design/skill.md +73 -0
- package/skills/ux-patterns/skill.md +82 -0
- package/skills/verification/skill.md +178 -0
- package/skills/visual-regression/skill.md +86 -0
- package/templates/blueprint.md +141 -0
- package/templates/chronicle.md +156 -0
- package/templates/milestone.md +131 -0
- package/templates/research.md +117 -0
- package/templates/retrospective.md +188 -0
- package/templates/spec.md +103 -0
- package/templates/summary.md +202 -0
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# Workflow: Accept Phase
|
|
2
|
+
|
|
3
|
+
The Accept phase verifies the implementation against the specification and obtains user sign-off.
|
|
4
|
+
|
|
5
|
+
## Position in Workflow
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
9
|
+
│ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
|
|
10
|
+
│ (Intent) │ │ (Explore) │ │ (Contract) │
|
|
11
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
12
|
+
│
|
|
13
|
+
┌──────────────────────────────────────┘
|
|
14
|
+
▼
|
|
15
|
+
┌─────────────┐ ┌─────────────┐
|
|
16
|
+
│ EXECUTE │ ──▶ │ ACCEPT │
|
|
17
|
+
│ (Build) │ │ (Verify) │
|
|
18
|
+
└─────────────┘ └─────────────┘
|
|
19
|
+
↑
|
|
20
|
+
(You are here)
|
|
21
|
+
|
|
22
|
+
╔══════════════════════════════════════════════╗
|
|
23
|
+
║ ACCEPTANCE GATE ║
|
|
24
|
+
║ User MUST confirm completion ║
|
|
25
|
+
╚══════════════════════════════════════════════╝
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Purpose
|
|
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
|
|
64
|
+
|
|
65
|
+
# Linting
|
|
66
|
+
npm run lint
|
|
67
|
+
|
|
68
|
+
# Tests
|
|
69
|
+
npm test
|
|
70
|
+
|
|
71
|
+
# Build
|
|
72
|
+
npm run build
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3. Manual Verification
|
|
76
|
+
|
|
77
|
+
For behaviors that can't be automated:
|
|
78
|
+
|
|
79
|
+
```markdown
|
|
80
|
+
## Manual Verification Checklist
|
|
81
|
+
|
|
82
|
+
- [ ] Login flow works end-to-end
|
|
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
|
+
```
|
|
134
|
+
╭─ ⬢ GoopSpec ───────────────────────────────────────╮
|
|
135
|
+
│ │
|
|
136
|
+
│ ✓ ACCEPTANCE GATE │
|
|
137
|
+
│ │
|
|
138
|
+
│ Implementation complete. Verification results: │
|
|
139
|
+
│ │
|
|
140
|
+
│ MUST HAVES: │
|
|
141
|
+
│ ☑ User can log in - VERIFIED │
|
|
142
|
+
│ ☑ Session persists - VERIFIED │
|
|
143
|
+
│ ☑ Errors displayed - VERIFIED │
|
|
144
|
+
│ │
|
|
145
|
+
│ AUTOMATED CHECKS: │
|
|
146
|
+
│ ✓ TypeScript: No errors │
|
|
147
|
+
│ ✓ Lint: No issues │
|
|
148
|
+
│ ✓ Tests: 24/24 passing │
|
|
149
|
+
│ ✓ Build: Successful │
|
|
150
|
+
│ │
|
|
151
|
+
│ NICE TO HAVES COMPLETED: │
|
|
152
|
+
│ ☑ Remember me option │
|
|
153
|
+
│ │
|
|
154
|
+
│ ───────────────────────────────────────────── │
|
|
155
|
+
│ Type "accept" to confirm completion. │
|
|
156
|
+
│ Type "issues: [description]" to request fixes. │
|
|
157
|
+
│ │
|
|
158
|
+
╰────────────────────────────────────────────────────╯
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Acceptance Responses
|
|
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
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
# Summary: [Feature Name]
|
|
177
|
+
|
|
178
|
+
**Completed:** [timestamp]
|
|
179
|
+
**Duration:** [time]
|
|
180
|
+
**Tasks:** 12 completed
|
|
181
|
+
**Commits:** 12
|
|
182
|
+
|
|
183
|
+
## Delivered
|
|
184
|
+
- Must-have 1 ✓
|
|
185
|
+
- Must-have 2 ✓
|
|
186
|
+
- Nice-to-have 1 ✓ (bonus)
|
|
187
|
+
|
|
188
|
+
## Key Decisions
|
|
189
|
+
- Used jose library for JWT (better ESM support)
|
|
190
|
+
- Stored refresh tokens in httpOnly cookies
|
|
191
|
+
|
|
192
|
+
## Files Modified
|
|
193
|
+
- src/auth/login.ts (new)
|
|
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:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
/goop-complete
|
|
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
|
+
```
|
|
309
|
+
memory_save({
|
|
310
|
+
type: "observation",
|
|
311
|
+
title: "Feature Accepted: [name]",
|
|
312
|
+
content: "[summary of delivered work]",
|
|
313
|
+
concepts: ["completed", "patterns-used"],
|
|
314
|
+
importance: 0.7
|
|
315
|
+
})
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Commands
|
|
319
|
+
|
|
320
|
+
| Command | Effect |
|
|
321
|
+
|---------|--------|
|
|
322
|
+
| `/goop-accept` | Trigger acceptance verification |
|
|
323
|
+
| `/goop-status` | Check verification status |
|
|
324
|
+
| `/goop-complete` | Complete and archive milestone |
|
|
325
|
+
| `/goop-amend [change]` | Modify spec if issues found |
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# Workflow: Execute Phase
|
|
2
|
+
|
|
3
|
+
The Execute phase implements the specification through wave-based task execution.
|
|
4
|
+
|
|
5
|
+
## Position in Workflow
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
9
|
+
│ PLAN │ ──▶ │ RESEARCH │ ──▶ │ SPECIFY │
|
|
10
|
+
│ (Intent) │ │ (Explore) │ │ (Contract) │
|
|
11
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
12
|
+
│
|
|
13
|
+
┌──────────────────────────────────────┘
|
|
14
|
+
▼
|
|
15
|
+
┌─────────────┐ ┌─────────────┐
|
|
16
|
+
│ EXECUTE │ ──▶ │ ACCEPT │
|
|
17
|
+
│ (Build) │ │ (Verify) │
|
|
18
|
+
└─────────────┘ └─────────────┘
|
|
19
|
+
↑
|
|
20
|
+
(You are here)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Purpose
|
|
24
|
+
|
|
25
|
+
The Execute phase answers: **Build exactly what the spec says.**
|
|
26
|
+
|
|
27
|
+
Implementation happens in waves, with the orchestrator coordinating specialized subagents. Progress is tracked in CHRONICLE.md.
|
|
28
|
+
|
|
29
|
+
## Entry Criteria
|
|
30
|
+
|
|
31
|
+
- Specify phase complete
|
|
32
|
+
- SPEC.md locked and confirmed
|
|
33
|
+
- BLUEPRINT.md ready with waves and tasks
|
|
34
|
+
|
|
35
|
+
## Wave-Based Execution
|
|
36
|
+
|
|
37
|
+
### Wave Structure
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Wave 1: Foundation
|
|
41
|
+
├── Task 1.1: Setup
|
|
42
|
+
├── Task 1.2: Configuration
|
|
43
|
+
└── Task 1.3: Base structures
|
|
44
|
+
|
|
45
|
+
Wave 2: Core
|
|
46
|
+
├── Task 2.1: Main feature
|
|
47
|
+
├── Task 2.2: Business logic
|
|
48
|
+
└── Task 2.3: Data handling
|
|
49
|
+
|
|
50
|
+
Wave 3: Integration
|
|
51
|
+
├── Task 3.1: Connect components
|
|
52
|
+
└── Task 3.2: Wire to existing system
|
|
53
|
+
|
|
54
|
+
Wave 4: Polish
|
|
55
|
+
├── Task 4.1: Error handling
|
|
56
|
+
├── Task 4.2: Edge cases
|
|
57
|
+
└── Task 4.3: Documentation
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Wave Principles
|
|
61
|
+
|
|
62
|
+
1. **Sequential waves** - Wave N completes before Wave N+1 starts
|
|
63
|
+
2. **Vertical slices** - Each wave delivers working functionality
|
|
64
|
+
3. **Atomic commits** - Each task = one commit
|
|
65
|
+
4. **Verification gates** - Tests must pass between waves
|
|
66
|
+
|
|
67
|
+
## Orchestrator Role
|
|
68
|
+
|
|
69
|
+
The orchestrator is a CONDUCTOR - it coordinates but NEVER writes code.
|
|
70
|
+
|
|
71
|
+
### Orchestrator Does
|
|
72
|
+
- Delegate tasks to subagents
|
|
73
|
+
- Track progress in CHRONICLE.md
|
|
74
|
+
- Apply deviation rules
|
|
75
|
+
- Coordinate between waves
|
|
76
|
+
- Handle blockers
|
|
77
|
+
|
|
78
|
+
### Orchestrator Does NOT
|
|
79
|
+
- Write implementation code
|
|
80
|
+
- Make architectural decisions alone
|
|
81
|
+
- Modify files directly
|
|
82
|
+
- "Quickly fix" things itself
|
|
83
|
+
|
|
84
|
+
### Delegation Pattern
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
task({
|
|
88
|
+
subagent_type: "general",
|
|
89
|
+
description: "Execute auth task",
|
|
90
|
+
prompt: `
|
|
91
|
+
Execute Task 2.1: Implement user authentication
|
|
92
|
+
|
|
93
|
+
SPEC Reference: .goopspec/SPEC.md
|
|
94
|
+
BLUEPRINT: .goopspec/BLUEPRINT.md
|
|
95
|
+
|
|
96
|
+
Files to modify:
|
|
97
|
+
- src/auth/login.ts
|
|
98
|
+
- src/auth/session.ts
|
|
99
|
+
|
|
100
|
+
Acceptance criteria:
|
|
101
|
+
- User can log in with email/password
|
|
102
|
+
- Session persists across refresh
|
|
103
|
+
|
|
104
|
+
Constraints:
|
|
105
|
+
- Follow existing patterns in src/auth/
|
|
106
|
+
- Use jose library (per RESEARCH.md)
|
|
107
|
+
`
|
|
108
|
+
})
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Task Execution Flow
|
|
112
|
+
|
|
113
|
+
For each task:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
1. Read task from BLUEPRINT.md
|
|
117
|
+
2. Check deviation rules (can auto-fix?)
|
|
118
|
+
3. Delegate to appropriate agent
|
|
119
|
+
4. Agent implements with memory protocol
|
|
120
|
+
5. Agent commits atomically
|
|
121
|
+
6. Update CHRONICLE.md
|
|
122
|
+
7. Verify (tests pass?)
|
|
123
|
+
8. Move to next task or wave
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Task Types
|
|
127
|
+
|
|
128
|
+
| Type | Behavior |
|
|
129
|
+
|------|----------|
|
|
130
|
+
| `auto` | Execute automatically via delegation |
|
|
131
|
+
| `checkpoint:verify` | Pause for user verification |
|
|
132
|
+
| `checkpoint:decision` | Pause for user decision |
|
|
133
|
+
| `checkpoint:action` | Pause for user action |
|
|
134
|
+
|
|
135
|
+
### Checkpoint Handling
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
### Task 2.4 (checkpoint:verify): Verify Auth Flow
|
|
139
|
+
|
|
140
|
+
**What Built:** Authentication system
|
|
141
|
+
**How to Verify:**
|
|
142
|
+
1. Start dev server
|
|
143
|
+
2. Navigate to /login
|
|
144
|
+
3. Test with credentials
|
|
145
|
+
|
|
146
|
+
**Resume Signal:** "verified" or list issues
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
When checkpoint reached:
|
|
150
|
+
1. Save state to CHRONICLE.md
|
|
151
|
+
2. Present verification instructions
|
|
152
|
+
3. Wait for user signal
|
|
153
|
+
4. Resume or address issues
|
|
154
|
+
|
|
155
|
+
## CHRONICLE.md Tracking
|
|
156
|
+
|
|
157
|
+
Progress tracked in real-time:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
# Chronicle: [Feature Name]
|
|
161
|
+
|
|
162
|
+
## Current State
|
|
163
|
+
- Phase: Execute
|
|
164
|
+
- Wave: 2 of 4
|
|
165
|
+
- Task: 2.3 of 3
|
|
166
|
+
- Status: In Progress
|
|
167
|
+
|
|
168
|
+
## Wave History
|
|
169
|
+
|
|
170
|
+
### Wave 1: Foundation [COMPLETE]
|
|
171
|
+
- [x] Task 1.1: Setup (commit: abc123)
|
|
172
|
+
- [x] Task 1.2: Config (commit: def456)
|
|
173
|
+
- [x] Task 1.3: Base (commit: ghi789)
|
|
174
|
+
|
|
175
|
+
### Wave 2: Core [IN PROGRESS]
|
|
176
|
+
- [x] Task 2.1: Auth (commit: jkl012)
|
|
177
|
+
- [x] Task 2.2: Logic (commit: mno345)
|
|
178
|
+
- [ ] Task 2.3: Data [WORKING]
|
|
179
|
+
|
|
180
|
+
### Wave 3: Integration [PENDING]
|
|
181
|
+
...
|
|
182
|
+
|
|
183
|
+
## Deviations
|
|
184
|
+
- DEV-001: Fixed missing validation (Rule 2)
|
|
185
|
+
- DEV-002: Added error handler (Rule 2)
|
|
186
|
+
|
|
187
|
+
## Blockers
|
|
188
|
+
- (none currently)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Deviation Handling
|
|
192
|
+
|
|
193
|
+
Apply deviation rules during execution:
|
|
194
|
+
|
|
195
|
+
| Rule | Trigger | Action |
|
|
196
|
+
|------|---------|--------|
|
|
197
|
+
| Rule 1 | Bug found | Auto-fix |
|
|
198
|
+
| Rule 2 | Missing critical functionality | Auto-add |
|
|
199
|
+
| Rule 3 | Blocking issue | Auto-fix |
|
|
200
|
+
| Rule 4 | Architectural decision | STOP and ask |
|
|
201
|
+
|
|
202
|
+
All deviations logged to CHRONICLE.md.
|
|
203
|
+
|
|
204
|
+
## Commit Protocol
|
|
205
|
+
|
|
206
|
+
### Commit Format
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
type(wave-task): description
|
|
210
|
+
|
|
211
|
+
- Change 1
|
|
212
|
+
- Change 2
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Commit Timing
|
|
216
|
+
|
|
217
|
+
- One commit per completed task
|
|
218
|
+
- NEVER batch multiple tasks
|
|
219
|
+
- NEVER commit incomplete work (except checkpoints)
|
|
220
|
+
|
|
221
|
+
### Pre-Commit Checks
|
|
222
|
+
|
|
223
|
+
Before each commit:
|
|
224
|
+
1. Run linter
|
|
225
|
+
2. Run type checker
|
|
226
|
+
3. Run relevant tests
|
|
227
|
+
4. Verify changes match task
|
|
228
|
+
|
|
229
|
+
## Error Recovery
|
|
230
|
+
|
|
231
|
+
### On Task Failure
|
|
232
|
+
|
|
233
|
+
1. Log error to CHRONICLE.md
|
|
234
|
+
2. Attempt auto-recovery (deviation rules)
|
|
235
|
+
3. If 3 failures: pause and notify user
|
|
236
|
+
|
|
237
|
+
### On Agent Context Overflow
|
|
238
|
+
|
|
239
|
+
1. Save checkpoint
|
|
240
|
+
2. Spawn fresh agent with handoff:
|
|
241
|
+
- Current spec reference
|
|
242
|
+
- Incomplete tasks
|
|
243
|
+
- Recent decisions
|
|
244
|
+
3. Resume from checkpoint
|
|
245
|
+
|
|
246
|
+
## Continuation Enforcement
|
|
247
|
+
|
|
248
|
+
The agent CANNOT stop with incomplete tasks:
|
|
249
|
+
|
|
250
|
+
- Incomplete todos = forced continuation
|
|
251
|
+
- Only checkpoints allow pause
|
|
252
|
+
- User must explicitly confirm completion
|
|
253
|
+
- Max continuation prompts before escalation
|
|
254
|
+
|
|
255
|
+
## Transition to Accept Phase
|
|
256
|
+
|
|
257
|
+
Execute phase is complete when:
|
|
258
|
+
|
|
259
|
+
- [ ] All waves executed
|
|
260
|
+
- [ ] All tasks completed
|
|
261
|
+
- [ ] All tests passing
|
|
262
|
+
- [ ] All deviations logged
|
|
263
|
+
- [ ] CHRONICLE.md up to date
|
|
264
|
+
|
|
265
|
+
**Transition:**
|
|
266
|
+
```
|
|
267
|
+
"Execution complete.
|
|
268
|
+
|
|
269
|
+
Tasks: 12/12 completed
|
|
270
|
+
Commits: 12 atomic commits
|
|
271
|
+
Tests: All passing
|
|
272
|
+
|
|
273
|
+
Ready for acceptance verification?"
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Memory Protocol
|
|
277
|
+
|
|
278
|
+
### Before Starting
|
|
279
|
+
```
|
|
280
|
+
memory_search({
|
|
281
|
+
query: "past implementation patterns for [feature]",
|
|
282
|
+
concepts: ["implementation"]
|
|
283
|
+
})
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### During Execution
|
|
287
|
+
```
|
|
288
|
+
memory_note({
|
|
289
|
+
note: "Pattern discovered: [description]"
|
|
290
|
+
})
|
|
291
|
+
|
|
292
|
+
memory_decision({
|
|
293
|
+
decision: "Used approach X over Y",
|
|
294
|
+
reasoning: "[rationale]"
|
|
295
|
+
})
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### After Completing
|
|
299
|
+
```
|
|
300
|
+
memory_save({
|
|
301
|
+
type: "observation",
|
|
302
|
+
title: "Execution: [feature] complete",
|
|
303
|
+
content: "[summary of approach taken]",
|
|
304
|
+
concepts: ["patterns-used"]
|
|
305
|
+
})
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Commands
|
|
309
|
+
|
|
310
|
+
| Command | Effect |
|
|
311
|
+
|---------|--------|
|
|
312
|
+
| `/goop-execute` | Start/resume execution |
|
|
313
|
+
| `/goop-status` | Check execution progress |
|
|
314
|
+
| `/goop-checkpoint` | Save progress manually |
|
|
315
|
+
| `/goop-pause` | Pause execution |
|