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.
@@ -1,17 +1,12 @@
1
1
  # Workflow: Execute Phase
2
2
 
3
- The Execute phase implements the specification through wave-based task execution.
3
+ **GoopSpec Voice:** Industrial, Atomic, Transparent.
4
+
5
+ The Execute phase answers: **Build exactly what the spec says.** Implementation happens in **Waves**.
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,296 +15,90 @@ The Execute phase implements the specification through wave-based task execution
20
15
  (You are here)
21
16
  ```
22
17
 
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
18
+ ## Core Protocol: The Wave Cycle
34
19
 
35
- ## Wave-Based Execution
20
+ Execution is not a monolith. It is a series of controlled loops.
36
21
 
37
- ### Wave Structure
22
+ **1. The Wave:** A logical grouping of tasks (e.g., "Foundation", "Core", "Polish").
23
+ **2. The Task:** A single, atomic unit of work (one commit).
24
+ **3. The Checkpoint:** A mandatory pause for verification or decision.
38
25
 
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
- ```
26
+ ### Orchestrator's Role (The Conductor)
27
+ * **Delegate:** Hand tasks to `goop-executor` (Subagent).
28
+ * **Track:** Update `CHRONICLE.md`.
29
+ * **Verify:** Ensure tests pass between tasks.
30
+ * **Correct:** Apply Deviation Rules (Auto-fix vs. Ask).
110
31
 
111
- ## Task Execution Flow
32
+ ## Interaction Patterns
112
33
 
113
- For each task:
34
+ ### 1. Progress Updates
35
+ Keep the user informed without spamming. Use "Inline Notices".
114
36
 
37
+ ```text
38
+ ⬢ Wave 1: Foundation
39
+ ├─ ⚡ Task 1.1: Setup Provider... [DONE] (abc1234)
40
+ └─ ⚡ Task 1.2: Login Component... [IN PROGRESS]
115
41
  ```
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
42
 
135
- ### Checkpoint Handling
43
+ ### 2. The Checkpoint Gate
44
+ When the blueprint calls for a pause, or a **Rule 4 (Architectural Decision)** is triggered.
136
45
 
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
46
+ ```text
47
+ ╭─ GoopSpec ───────────────────────────────────────╮
48
+ │ │
49
+ │ 🚧 CHECKPOINT REACHED │
50
+ │ │
51
+ │ Task: Configure OAuth Callbacks │
52
+ │ │
53
+ │ I need a callback URL for the production env. │
54
+ │ Currently using: localhost:3000 │
55
+ │ │
56
+ │ ► Please provide the Production URL: │
57
+ │ │
58
+ ╰────────────────────────────────────────────────────╯
147
59
  ```
148
60
 
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
61
+ ### 3. Deviation Handling
62
+ * **Rule 1-3 (Minor):** Auto-fix and log.
63
+ * `⬢ Notice: Auto-fixed missing import in auth.ts`
64
+ * **Rule 4 (Major):** Stop and Ask (Checkpoint Gate).
154
65
 
155
- ## CHRONICLE.md Tracking
66
+ ## Output: CHRONICLE.md
156
67
 
157
- Progress tracked in real-time:
68
+ The living history of execution.
158
69
 
159
70
  ```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
71
+ # Chronicle
72
+ ## Wave 1 [COMPLETE]
73
+ - [x] Task 1.1 (commit: 7f8a9d)
74
+ - [x] Task 1.2 (commit: 3b2c1a)
169
75
 
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)
76
+ ## Wave 2 [IN PROGRESS]
77
+ - [ ] Task 2.1
189
78
  ```
190
79
 
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
80
  ## Commit Protocol
205
81
 
206
- ### Commit Format
82
+ * **Atomic:** One task = One commit.
83
+ * **Conventional:** `feat(auth): add login form`.
84
+ * **Verified:** Tests MUST pass (or be skipped with reason) before commit.
207
85
 
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
86
+ ## Commands
277
87
 
278
- ### Before Starting
279
- ```
280
- memory_search({
281
- query: "past implementation patterns for [feature]",
282
- concepts: ["implementation"]
283
- })
284
- ```
88
+ | Command | Effect |
89
+ | :--- | :--- |
90
+ | `/goop-execute` | Start or resume execution. |
91
+ | `/goop-pause` | Pause at next safe checkpoint. |
92
+ | `/goop-status` | Show current Wave/Task progress. |
93
+ | `/goop-checkpoint` | Force a checkpoint save. |
285
94
 
286
- ### During Execution
287
- ```
288
- memory_note({
289
- note: "Pattern discovered: [description]"
290
- })
95
+ ## Memory Triggers
291
96
 
292
- memory_decision({
293
- decision: "Used approach X over Y",
294
- reasoning: "[rationale]"
295
- })
296
- ```
97
+ * **Note:** Implementation details ("Used X library version Y").
98
+ * **Observation:** Issues encountered and how they were fixed.
297
99
 
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"]
100
+ ```javascript
101
+ memory_note({
102
+ note: "Fixed build error in Task 1.2 by upgrading dependency Z."
305
103
  })
306
104
  ```
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 |
@@ -1,6 +1,8 @@
1
1
  # Workflow: Plan Phase
2
2
 
3
- The Plan phase captures user intent and establishes the foundation for all subsequent work.
3
+ **GoopSpec Voice:** Direct, Purposeful, Memory-First.
4
+
5
+ The Plan phase captures user intent and establishes the foundation for all subsequent work. It answers: **What does the user want and why?**
4
6
 
5
7
  ## Position in Workflow
6
8
 
@@ -13,167 +15,118 @@ The Plan phase captures user intent and establishes the foundation for all subse
13
15
  (You are here)
14
16
  ```
15
17
 
16
- ## Purpose
17
-
18
- The Plan phase answers: **What does the user want and why?**
19
-
20
- This is NOT about HOW to build it - that comes later. The Plan phase focuses purely on understanding intent, constraints, and success criteria.
21
-
22
- ## Entry Criteria
23
-
24
- - User has expressed a need or request
25
- - Orchestrator has classified the work (Quick, Standard, Comprehensive, Milestone)
26
-
27
- ## Activities
18
+ ## Core Protocol
28
19
 
29
- ### 1. Intent Capture
20
+ ### 1. Memory-First Context Loading
21
+ **Before** asking the user anything, the agent **MUST** search memory.
30
22
 
31
- Extract the core intent from the user's request:
32
-
33
- ```markdown
34
- ## Intent
35
-
36
- **User wants to:** [Action] [Target] [Context]
37
- **Because:** [Motivation/Problem being solved]
38
- **Success looks like:** [Observable outcome]
23
+ ```javascript
24
+ // Search for similar past requests, preferences, and project context
25
+ memory_search({ query: "intent similar requests [project_name]" })
39
26
  ```
40
27
 
41
- ### 2. Clarifying Questions
42
-
43
- Ask questions to resolve ambiguity:
28
+ ### 2. Intent Capture
29
+ Extract the core intent using the **Interactive Questioning Protocol**.
44
30
 
45
- - **Scope questions:** "Should this include X or just Y?"
46
- - **Priority questions:** "Is A more important than B?"
47
- - **Constraint questions:** "Are there performance/security requirements?"
48
- - **Integration questions:** "How should this work with existing feature Z?"
31
+ * **Goal:** Move from "vague request" to "structured intent".
32
+ * **Method:** Progressive Disclosure.
49
33
 
50
- **Rule:** If ambiguity could lead to 2x+ effort difference, MUST ask before proceeding.
34
+ **Example Interaction:**
35
+ ```text
36
+ ⬢ User Request: "I need a login page."
51
37
 
52
- ### 3. Requirements Gathering
53
-
54
- Categorize requirements:
55
-
56
- ```markdown
57
- ## Requirements
58
-
59
- ### Must Have (Non-negotiable)
60
- - Requirement 1
61
- - Requirement 2
62
-
63
- ### Should Have (Important)
64
- - Requirement 3
65
- - Requirement 4
66
-
67
- ### Could Have (Nice to have)
68
- - Requirement 5
69
-
70
- ### Won't Have (Explicitly excluded)
71
- - Out of scope item 1
38
+ Memory Recall: You prefer **Auth0** for authentication (Confidence: High).
39
+ Proceed with Auth0? [Y/n]
72
40
  ```
73
41
 
74
- ### 4. Constraint Identification
42
+ ### 3. The "Why" and "Success"
43
+ Every plan must have a defined outcome.
75
44
 
76
- Document known constraints:
45
+ * **Intent:** Action + Target + Context.
46
+ * **Motivation:** Why now? What problem does this solve?
47
+ * **Success Criteria:** Observable outcomes (e.g., "User can log in", "Response time < 200ms").
77
48
 
78
- - Technical constraints (existing stack, compatibility)
79
- - Time constraints (deadlines, urgency)
80
- - Resource constraints (budget, team)
81
- - Business constraints (compliance, brand)
49
+ ## Clarifying Questions Protocol
82
50
 
83
- ### 5. Success Criteria Definition
51
+ **Rule:** Only ask if it resolves ambiguity that changes effort by 2x+.
84
52
 
85
- Define how we'll know when we're done:
53
+ 1. **Search:** Do I already know this?
54
+ 2. **Skill:** Can I deduce this? (e.g., "Standard practice for React is...")
55
+ 3. **Ask:** If neither, ask a **Structured Prompt**.
86
56
 
87
- ```markdown
88
- ## Success Criteria
89
-
90
- 1. [Observable behavior 1]
91
- 2. [Observable behavior 2]
92
- 3. [Measurable outcome]
57
+ ```text
58
+ Decision Required: UI Framework
59
+
60
+ 1. Tailwind CSS (Consistent with project)
61
+ 2. CSS Modules (Used in legacy components)
62
+
63
+ ► Select [1-2]:
93
64
  ```
94
65
 
95
- ## Artifacts Produced
66
+ ## Output: PLAN.md
96
67
 
97
- | Artifact | Purpose |
98
- |----------|---------|
99
- | Intent statement | Clear understanding of what and why |
100
- | Requirements list | Categorized list of needs |
101
- | Constraints | Known limitations |
102
- | Success criteria | Acceptance conditions |
68
+ The result of this phase is a clear `PLAN.md` (internal state) or simple structured context.
103
69
 
104
- ## Transition to Research Phase
70
+ ```markdown
71
+ # Plan: [Feature Name]
105
72
 
106
- The Plan phase is complete when:
73
+ ## Intent
74
+ **User wants to:** Create a login page
75
+ **Because:** Users need to access private dashboards
76
+ **Success:** Successful login redirects to /dashboard
107
77
 
108
- - [ ] Intent is clearly understood and documented
109
- - [ ] All critical ambiguities resolved
110
- - [ ] Requirements categorized (must/should/could/won't)
111
- - [ ] Success criteria defined
112
- - [ ] User confirms understanding is correct
78
+ ## Requirements
79
+ ### Must Have
80
+ - Email/Password form
81
+ - "Forgot Password" link
113
82
 
114
- **Transition prompt:**
83
+ ### Constraints
84
+ - Must use existing Auth0 tenant
85
+ - Mobile responsive
115
86
  ```
116
- "I understand you want to [intent summary].
117
-
118
- Must haves:
119
- - [list]
120
87
 
121
- Success looks like:
122
- - [criteria]
123
-
124
- Is this understanding correct? Ready to research implementation approaches?"
88
+ ## The Research Gate
89
+
90
+ The transition to Research is a formal **Decision Gate**.
91
+
92
+ ```text
93
+ ╭─ ⬢ GoopSpec ───────────────────────────────────────╮
94
+ │ │
95
+ │ 🚩 RESEARCH GATE │
96
+ │ │
97
+ │ I understand the intent. How should we proceed? │
98
+ │ │
99
+ │ 1. ⚡ Quick Mode │
100
+ │ Skip research. Use standard patterns. │
101
+ │ Best for: Simple fixes, standard features. │
102
+ │ │
103
+ │ 2. 🔍 Deep Research │
104
+ │ Explore options, read docs, map codebase. │
105
+ │ Best for: New tech, complex feats, unknown. │
106
+ │ │
107
+ │ ► Select [1-2]: │
108
+ │ │
109
+ ╰────────────────────────────────────────────────────╯
125
110
  ```
126
111
 
127
- ## Quick Mode Shortcut
128
-
129
- For Quick tasks, Plan phase is abbreviated:
130
- - Capture intent in 1-2 sentences
131
- - Skip detailed requirements (scope is small)
132
- - Define one clear success criterion
133
- - Proceed directly to Execute
134
-
135
- ## Common Pitfalls
136
-
137
- ### Over-planning
138
- **Symptom:** Spending hours documenting a 30-minute fix
139
- **Fix:** Match planning depth to task complexity
140
-
141
- ### Under-planning
142
- **Symptom:** Starting work without clear success criteria
143
- **Fix:** Always define at least one observable success criterion
144
-
145
- ### Assumption accumulation
146
- **Symptom:** Making multiple assumptions without noting them
147
- **Fix:** Document assumptions explicitly, validate critical ones
148
-
149
- ### Scope creep during planning
150
- **Symptom:** Requirements keep growing
151
- **Fix:** Establish must-haves first, push additions to could-have
112
+ ## Commands
152
113
 
153
- ## Memory Protocol
114
+ | Command | Effect |
115
+ | :--- | :--- |
116
+ | `/goop-plan [intent]` | Start Plan phase with initial intent. |
117
+ | `/goop-discuss` | Open-ended discussion to clarify vague intent. |
118
+ | `/goop-status` | Check current phase status. |
154
119
 
155
- ### Before Starting
156
- ```
157
- memory_search({ query: "similar features, past requirements" })
158
- ```
120
+ ## Memory Triggers
159
121
 
160
- ### During Planning
161
- ```
162
- memory_note({ note: "User prefers X approach over Y" })
163
- ```
122
+ * **Save:** User preferences discovered during questioning.
123
+ * **Save:** The finalized "Project Intent" for future reference.
164
124
 
165
- ### After Completing
166
- ```
167
- memory_save({
125
+ ```javascript
126
+ memory_save({
168
127
  type: "note",
169
- title: "Project Intent: [name]",
170
- content: "[intent summary]"
128
+ title: "Project Intent: [Name]",
129
+ content: "User wants to... [Summary]",
130
+ concepts: ["intent", "scope"]
171
131
  })
172
132
  ```
173
-
174
- ## Commands
175
-
176
- | Command | Effect |
177
- |---------|--------|
178
- | `/goop-plan [intent]` | Start Plan phase with initial intent |
179
- | `/goop-status` | Check current phase status |