opencode-goopspec 0.1.3 → 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 +253 -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 +364 -338
- 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 +430 -36
- package/commands/goop-amend.md +13 -0
- package/commands/goop-complete.md +13 -0
- package/commands/goop-debug.md +13 -0
- package/commands/goop-discuss.md +419 -7
- package/commands/goop-execute.md +386 -37
- package/commands/goop-help.md +11 -0
- package/commands/goop-map-codebase.md +13 -0
- package/commands/goop-memory.md +11 -0
- package/commands/goop-milestone.md +13 -0
- package/commands/goop-pause.md +12 -0
- package/commands/goop-plan.md +320 -266
- package/commands/goop-quick.md +12 -0
- package/commands/goop-recall.md +11 -0
- package/commands/goop-remember.md +12 -0
- package/commands/goop-research.md +13 -0
- package/commands/goop-resume.md +12 -0
- package/commands/goop-setup.md +18 -8
- package/commands/goop-specify.md +315 -39
- package/commands/goop-status.md +276 -28
- package/dist/index.js +328 -15
- 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/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/visual-style.md +199 -0
- 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
package/templates/blueprint.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Spec Version:** {{spec_version}}
|
|
4
4
|
**Created:** {{created_date}}
|
|
5
|
+
**Last Updated:** {{updated_date}}
|
|
5
6
|
**Mode:** {{mode}}
|
|
6
7
|
|
|
7
8
|
---
|
|
@@ -12,8 +13,26 @@
|
|
|
12
13
|
|
|
13
14
|
**Approach:** {{approach}}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
| Metric | Value |
|
|
17
|
+
|--------|-------|
|
|
18
|
+
| Waves | {{wave_count}} |
|
|
19
|
+
| Total Tasks | {{task_count}} |
|
|
20
|
+
| Parallel Execution | {{parallel_percentage}}% |
|
|
21
|
+
| Estimated Effort | {{estimated_effort}} |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Spec Mapping
|
|
26
|
+
|
|
27
|
+
Every must-have from SPEC.md is covered:
|
|
28
|
+
|
|
29
|
+
| Must-Have | Tasks | Coverage |
|
|
30
|
+
|-----------|-------|----------|
|
|
31
|
+
{{#spec_mapping}}
|
|
32
|
+
| MH{{number}}: {{title}} | {{tasks}} | {{coverage}} |
|
|
33
|
+
{{/spec_mapping}}
|
|
34
|
+
|
|
35
|
+
**Total Coverage:** {{total_coverage}}%
|
|
17
36
|
|
|
18
37
|
---
|
|
19
38
|
|
|
@@ -21,8 +40,10 @@
|
|
|
21
40
|
|
|
22
41
|
```
|
|
23
42
|
{{#waves}}
|
|
24
|
-
Wave {{number}}: {{name}} {{#parallel}}
|
|
25
|
-
{{#
|
|
43
|
+
Wave {{number}}: {{name}} {{#parallel}}[PARALLEL]{{/parallel}}{{^parallel}}[SEQUENTIAL]{{/parallel}}
|
|
44
|
+
{{#tasks}} ├── Task {{wave}}.{{number}}: {{name}}
|
|
45
|
+
{{/tasks}}{{#depends_on}} └── depends on Wave {{.}}
|
|
46
|
+
{{/depends_on}}
|
|
26
47
|
{{/waves}}
|
|
27
48
|
```
|
|
28
49
|
|
|
@@ -32,17 +53,31 @@ Wave {{number}}: {{name}} {{#parallel}}(parallel){{/parallel}}{{^parallel}}(sequ
|
|
|
32
53
|
## Wave {{number}}: {{name}}
|
|
33
54
|
|
|
34
55
|
**Goal:** {{goal}}
|
|
35
|
-
**Parallel:** {{#parallel}}Yes — tasks can run concurrently{{/parallel}}{{^parallel}}No — sequential execution{{/parallel}}
|
|
36
|
-
{{#depends_on}}
|
|
37
|
-
**Depends On:** Wave {{.}}
|
|
38
|
-
{{/depends_on}}
|
|
39
56
|
|
|
40
|
-
|
|
57
|
+
**Execution:** {{#parallel}}Parallel — tasks can run concurrently{{/parallel}}{{^parallel}}Sequential — tasks must run in order{{/parallel}}
|
|
58
|
+
|
|
59
|
+
{{#depends_on}}**Depends On:** Wave {{.}} must complete first{{/depends_on}}
|
|
60
|
+
|
|
61
|
+
### Verification Matrix
|
|
62
|
+
|
|
63
|
+
| Check | Command | Expected |
|
|
64
|
+
|-------|---------|----------|
|
|
65
|
+
{{#verification_matrix}}
|
|
66
|
+
| {{check}} | `{{command}}` | {{expected}} |
|
|
67
|
+
{{/verification_matrix}}
|
|
68
|
+
|
|
69
|
+
---
|
|
41
70
|
|
|
42
71
|
{{#tasks}}
|
|
43
72
|
### Task {{wave}}.{{number}}: {{name}}
|
|
44
73
|
|
|
45
|
-
|
|
74
|
+
| Attribute | Value |
|
|
75
|
+
|-----------|-------|
|
|
76
|
+
| **Intent** | {{intent}} |
|
|
77
|
+
| **Parallel** | {{#parallel}}Yes{{/parallel}}{{^parallel}}No{{/parallel}} |
|
|
78
|
+
{{#depends_on}}| **Depends On** | Task {{depends_on}} |{{/depends_on}}
|
|
79
|
+
{{#blocks}}| **Blocks** | Task {{blocks}} |{{/blocks}}
|
|
80
|
+
| **Spec Coverage** | {{spec_coverage}} |
|
|
46
81
|
|
|
47
82
|
**Deliverables:**
|
|
48
83
|
{{#deliverables}}
|
|
@@ -51,30 +86,25 @@ Wave {{number}}: {{name}} {{#parallel}}(parallel){{/parallel}}{{^parallel}}(sequ
|
|
|
51
86
|
|
|
52
87
|
**Files:**
|
|
53
88
|
{{#files}}
|
|
54
|
-
- `{{
|
|
89
|
+
- `{{path}}` — {{action}}
|
|
55
90
|
{{/files}}
|
|
56
91
|
|
|
57
92
|
**Verification:**
|
|
58
93
|
```bash
|
|
59
|
-
{{
|
|
94
|
+
{{verification_command}}
|
|
60
95
|
```
|
|
61
96
|
|
|
62
97
|
**Acceptance:**
|
|
63
98
|
{{acceptance}}
|
|
64
99
|
|
|
65
|
-
{{#blocks}}
|
|
66
|
-
**Blocks:** {{blocks}}
|
|
67
|
-
{{/blocks}}
|
|
68
|
-
|
|
69
100
|
---
|
|
70
101
|
|
|
71
102
|
{{/tasks}}
|
|
72
|
-
|
|
73
103
|
{{/waves}}
|
|
74
104
|
|
|
75
105
|
## Verification Checklist
|
|
76
106
|
|
|
77
|
-
Before marking complete:
|
|
107
|
+
Before marking blueprint complete:
|
|
78
108
|
|
|
79
109
|
{{#verification_checklist}}
|
|
80
110
|
- [ ] {{.}}
|
|
@@ -82,25 +112,22 @@ Before marking complete:
|
|
|
82
112
|
|
|
83
113
|
---
|
|
84
114
|
|
|
85
|
-
##
|
|
115
|
+
## Risk Assessment
|
|
86
116
|
|
|
87
|
-
|
|
117
|
+
{{#risks}}
|
|
118
|
+
### Risk: {{title}}
|
|
88
119
|
|
|
89
|
-
|
|
|
90
|
-
|
|
91
|
-
{{
|
|
92
|
-
|
|
|
93
|
-
{{
|
|
120
|
+
| Attribute | Value |
|
|
121
|
+
|-----------|-------|
|
|
122
|
+
| Likelihood | {{likelihood}} |
|
|
123
|
+
| Impact | {{impact}} |
|
|
124
|
+
| Affected Tasks | {{affected_tasks}} |
|
|
94
125
|
|
|
95
|
-
|
|
126
|
+
**Mitigation:** {{mitigation}}
|
|
96
127
|
|
|
97
|
-
|
|
128
|
+
**Contingency:** {{contingency}}
|
|
98
129
|
|
|
99
|
-
|
|
100
|
-
### {{risk}}
|
|
101
|
-
- **Likelihood:** {{likelihood}}
|
|
102
|
-
- **Impact:** {{impact}}
|
|
103
|
-
- **Mitigation:** {{mitigation}}
|
|
130
|
+
---
|
|
104
131
|
{{/risks}}
|
|
105
132
|
|
|
106
133
|
{{^risks}}
|
|
@@ -109,33 +136,53 @@ No significant risks identified.
|
|
|
109
136
|
|
|
110
137
|
---
|
|
111
138
|
|
|
139
|
+
## Deviation Protocol
|
|
140
|
+
|
|
141
|
+
If issues are encountered during execution:
|
|
142
|
+
|
|
143
|
+
| Rule | Trigger | Action |
|
|
144
|
+
|------|---------|--------|
|
|
145
|
+
| **Rule 1** | Bug found in existing code | Auto-fix, document in CHRONICLE |
|
|
146
|
+
| **Rule 2** | Missing critical functionality | Auto-add, document in CHRONICLE |
|
|
147
|
+
| **Rule 3** | Blocking issue (deps, imports) | Auto-fix, document in CHRONICLE |
|
|
148
|
+
| **Rule 4** | Architectural decision needed | **STOP**, ask user, log to memory |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
112
152
|
## Execution Notes
|
|
113
153
|
|
|
114
154
|
### For Orchestrator
|
|
115
155
|
- Delegate ALL code tasks to executor agents
|
|
116
156
|
- Track progress in CHRONICLE.md
|
|
117
|
-
- Save
|
|
157
|
+
- Save checkpoint at wave boundaries
|
|
158
|
+
- Generate HANDOFF.md when suggesting new session
|
|
118
159
|
- Confirm with user at CONTRACT GATES
|
|
119
160
|
|
|
120
161
|
### For Subagents
|
|
121
162
|
- Read SPEC.md for requirements
|
|
122
163
|
- Check CHRONICLE.md for context
|
|
164
|
+
- Load PROJECT_KNOWLEDGE_BASE.md for conventions
|
|
123
165
|
- Use memory_search before decisions
|
|
124
166
|
- Persist learnings with memory_save
|
|
167
|
+
- Return XML response envelope
|
|
125
168
|
|
|
126
|
-
|
|
169
|
+
### Parallel Execution Rules
|
|
170
|
+
- Tasks within a parallel wave can run concurrently
|
|
171
|
+
- Wait for all tasks in wave before proceeding to next wave
|
|
172
|
+
- If any task blocks, continue others and handle blocker separately
|
|
127
173
|
|
|
128
|
-
|
|
174
|
+
---
|
|
129
175
|
|
|
130
|
-
|
|
176
|
+
## Handoff Protocol
|
|
131
177
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
178
|
+
At wave boundaries:
|
|
179
|
+
1. Update CHRONICLE.md with completed tasks
|
|
180
|
+
2. Save checkpoint with goop_checkpoint
|
|
181
|
+
3. If context full or natural pause, generate HANDOFF.md
|
|
182
|
+
4. Suggest: "Start new session and run `/goop-execute`"
|
|
136
183
|
|
|
137
184
|
---
|
|
138
185
|
|
|
139
186
|
*Blueprint derived from SPEC.md*
|
|
140
187
|
*Execute with confidence — the plan is the contract*
|
|
141
|
-
*GoopSpec v0.1.
|
|
188
|
+
*GoopSpec v0.1.4*
|
package/templates/chronicle.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Last Updated:** {{last_updated}}
|
|
4
4
|
**Current Phase:** {{current_phase}}
|
|
5
|
+
**Session:** {{session_id}}
|
|
5
6
|
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -15,10 +16,12 @@
|
|
|
15
16
|
|
|
16
17
|
| Metric | Value |
|
|
17
18
|
|--------|-------|
|
|
19
|
+
| Phase | {{current_phase}} |
|
|
20
|
+
| Interview Complete | {{interview_complete}} |
|
|
21
|
+
| Spec Locked | {{spec_locked}} |
|
|
18
22
|
| Waves Completed | {{waves_completed}}/{{waves_total}} |
|
|
19
|
-
| Tasks Done | {{tasks_completed}} |
|
|
23
|
+
| Tasks Done | {{tasks_completed}}/{{tasks_total}} |
|
|
20
24
|
| Time Invested | {{total_time}} |
|
|
21
|
-
| Current Mode | {{mode}} |
|
|
22
25
|
|
|
23
26
|
---
|
|
24
27
|
|
|
@@ -28,31 +31,93 @@
|
|
|
28
31
|
|
|
29
32
|
**Status:** {{wave_status}}
|
|
30
33
|
**Started:** {{wave_started}}
|
|
34
|
+
**Execution:** {{#parallel}}Parallel{{/parallel}}{{^parallel}}Sequential{{/parallel}}
|
|
31
35
|
|
|
32
36
|
**Tasks:**
|
|
33
37
|
{{#wave_tasks}}
|
|
34
|
-
- [{{status}}] {{name}}
|
|
38
|
+
- [{{status}}] Task {{wave}}.{{number}}: {{name}} {{#commit}}(`{{commit}}`){{/commit}}
|
|
35
39
|
{{/wave_tasks}}
|
|
36
40
|
|
|
37
|
-
**
|
|
41
|
+
**Progress:** {{wave_progress}}%
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Active Blockers
|
|
46
|
+
|
|
38
47
|
{{#blockers}}
|
|
39
|
-
|
|
48
|
+
### {{title}}
|
|
49
|
+
|
|
50
|
+
| Attribute | Value |
|
|
51
|
+
|-----------|-------|
|
|
52
|
+
| Severity | {{severity}} |
|
|
53
|
+
| Type | {{type}} |
|
|
54
|
+
| Blocking | Task {{blocking_task}} |
|
|
55
|
+
| Since | {{since}} |
|
|
56
|
+
|
|
57
|
+
**Description:** {{description}}
|
|
58
|
+
|
|
59
|
+
**Resolution:** {{resolution}}
|
|
60
|
+
|
|
61
|
+
---
|
|
40
62
|
{{/blockers}}
|
|
63
|
+
|
|
41
64
|
{{^blockers}}
|
|
42
|
-
|
|
65
|
+
No active blockers.
|
|
43
66
|
{{/blockers}}
|
|
44
67
|
|
|
45
68
|
---
|
|
46
69
|
|
|
70
|
+
## Pending Decisions
|
|
71
|
+
|
|
72
|
+
Decisions awaiting user input (Rule 4 deviations):
|
|
73
|
+
|
|
74
|
+
{{#pending_decisions}}
|
|
75
|
+
### {{title}}
|
|
76
|
+
|
|
77
|
+
**Context:** {{context}}
|
|
78
|
+
|
|
79
|
+
**Options:**
|
|
80
|
+
{{#options}}
|
|
81
|
+
- **{{label}}:** {{description}}
|
|
82
|
+
{{/options}}
|
|
83
|
+
|
|
84
|
+
**Recommendation:** {{recommendation}}
|
|
85
|
+
|
|
86
|
+
**Impact:** {{impact}}
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
{{/pending_decisions}}
|
|
90
|
+
|
|
91
|
+
{{^pending_decisions}}
|
|
92
|
+
No pending decisions.
|
|
93
|
+
{{/pending_decisions}}
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
47
97
|
## Recent Activity
|
|
48
98
|
|
|
49
99
|
{{#recent_activity}}
|
|
50
|
-
### {{timestamp}}
|
|
51
|
-
|
|
52
|
-
|
|
100
|
+
### {{timestamp}} — {{agent}}
|
|
101
|
+
|
|
102
|
+
**Action:** {{action}}
|
|
103
|
+
|
|
104
|
+
**Outcome:** {{outcome}}
|
|
105
|
+
|
|
106
|
+
{{#files_changed}}
|
|
107
|
+
**Files:** {{files_changed}}
|
|
108
|
+
{{/files_changed}}
|
|
109
|
+
|
|
110
|
+
{{#commit}}
|
|
111
|
+
**Commit:** `{{commit}}` — {{commit_message}}
|
|
112
|
+
{{/commit}}
|
|
113
|
+
|
|
53
114
|
{{#decision}}
|
|
54
|
-
|
|
115
|
+
**Decision:** {{decision}}
|
|
116
|
+
- Reason: {{reason}}
|
|
117
|
+
- Saved to memory: {{saved_to_memory}}
|
|
55
118
|
{{/decision}}
|
|
119
|
+
|
|
120
|
+
---
|
|
56
121
|
{{/recent_activity}}
|
|
57
122
|
|
|
58
123
|
---
|
|
@@ -63,10 +128,18 @@ Significant choices captured for future reference.
|
|
|
63
128
|
|
|
64
129
|
{{#decisions}}
|
|
65
130
|
### {{date}}: {{title}}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
131
|
+
|
|
132
|
+
| Attribute | Value |
|
|
133
|
+
|-----------|-------|
|
|
134
|
+
| Choice | {{choice}} |
|
|
135
|
+
| Alternatives | {{alternatives}} |
|
|
136
|
+
| Impact | {{impact}} |
|
|
137
|
+
|
|
138
|
+
**Reasoning:** {{reasoning}}
|
|
139
|
+
|
|
140
|
+
**Memory ID:** {{memory_id}}
|
|
141
|
+
|
|
142
|
+
---
|
|
70
143
|
{{/decisions}}
|
|
71
144
|
|
|
72
145
|
{{^decisions}}
|
|
@@ -81,6 +154,8 @@ Insights gained during this journey.
|
|
|
81
154
|
|
|
82
155
|
{{#learnings}}
|
|
83
156
|
- **{{topic}}:** {{insight}}
|
|
157
|
+
- Discovered: {{discovered_at}}
|
|
158
|
+
- Memory: {{memory_id}}
|
|
84
159
|
{{/learnings}}
|
|
85
160
|
|
|
86
161
|
{{^learnings}}
|
|
@@ -89,6 +164,22 @@ No learnings captured yet.
|
|
|
89
164
|
|
|
90
165
|
---
|
|
91
166
|
|
|
167
|
+
## Session History
|
|
168
|
+
|
|
169
|
+
### Current Session
|
|
170
|
+
- Started: {{session_start}}
|
|
171
|
+
- Tasks Completed: {{session_tasks_completed}}
|
|
172
|
+
- Commits: {{session_commits}}
|
|
173
|
+
|
|
174
|
+
### Previous Sessions
|
|
175
|
+
{{#previous_sessions}}
|
|
176
|
+
| Session | Date | Accomplishments |
|
|
177
|
+
|---------|------|-----------------|
|
|
178
|
+
| {{session_id}} | {{date}} | {{accomplishments}} |
|
|
179
|
+
{{/previous_sessions}}
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
92
183
|
## Checkpoints
|
|
93
184
|
|
|
94
185
|
Saved positions for recovery.
|
|
@@ -105,6 +196,21 @@ No checkpoints saved.
|
|
|
105
196
|
|
|
106
197
|
---
|
|
107
198
|
|
|
199
|
+
## Handoff History
|
|
200
|
+
|
|
201
|
+
{{#handoffs}}
|
|
202
|
+
### {{timestamp}}
|
|
203
|
+
- Phase: {{phase}}
|
|
204
|
+
- Next Command: `{{next_command}}`
|
|
205
|
+
- Handoff File: `{{handoff_file}}`
|
|
206
|
+
{{/handoffs}}
|
|
207
|
+
|
|
208
|
+
{{^handoffs}}
|
|
209
|
+
No handoffs generated yet.
|
|
210
|
+
{{/handoffs}}
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
108
214
|
## Memory Integration
|
|
109
215
|
|
|
110
216
|
### Recent Memory Entries
|
|
@@ -131,6 +237,11 @@ No checkpoints saved.
|
|
|
131
237
|
- {{.}}
|
|
132
238
|
{{/after_wave}}
|
|
133
239
|
|
|
240
|
+
### Suggested Command
|
|
241
|
+
```
|
|
242
|
+
{{next_command}}
|
|
243
|
+
```
|
|
244
|
+
|
|
134
245
|
---
|
|
135
246
|
|
|
136
247
|
## Quick Commands
|
|
@@ -143,7 +254,10 @@ No checkpoints saved.
|
|
|
143
254
|
/goop-execute
|
|
144
255
|
|
|
145
256
|
# Save checkpoint
|
|
146
|
-
/goop-
|
|
257
|
+
/goop-pause
|
|
258
|
+
|
|
259
|
+
# Resume from checkpoint
|
|
260
|
+
/goop-resume
|
|
147
261
|
|
|
148
262
|
# Search past work
|
|
149
263
|
/goop-recall "{{query}}"
|
|
@@ -153,4 +267,4 @@ No checkpoints saved.
|
|
|
153
267
|
|
|
154
268
|
*Chronicle auto-updated by GoopSpec after each action*
|
|
155
269
|
*This is your journey log — decisions persist, context flows*
|
|
156
|
-
*GoopSpec v0.1.
|
|
270
|
+
*GoopSpec v0.1.4*
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Session Handoff
|
|
2
|
+
|
|
3
|
+
**Generated:** {{generated_timestamp}}
|
|
4
|
+
**Phase:** {{current_phase}}
|
|
5
|
+
**Session:** {{session_id}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Accomplished This Session
|
|
10
|
+
|
|
11
|
+
### Completed Tasks
|
|
12
|
+
{{#completed_tasks}}
|
|
13
|
+
- [x] {{task_id}}: {{description}} {{#commit}}(commit: `{{commit}}`){{/commit}}
|
|
14
|
+
{{/completed_tasks}}
|
|
15
|
+
|
|
16
|
+
### Key Outcomes
|
|
17
|
+
{{#key_outcomes}}
|
|
18
|
+
- {{.}}
|
|
19
|
+
{{/key_outcomes}}
|
|
20
|
+
|
|
21
|
+
### Decisions Made
|
|
22
|
+
{{#decisions}}
|
|
23
|
+
- **{{title}}**: {{choice}} — {{rationale}}
|
|
24
|
+
{{/decisions}}
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Current State
|
|
29
|
+
|
|
30
|
+
### Workflow Position
|
|
31
|
+
| Attribute | Value |
|
|
32
|
+
|-----------|-------|
|
|
33
|
+
| **Phase** | {{phase}} |
|
|
34
|
+
| **Spec Locked** | {{spec_locked}} |
|
|
35
|
+
| **Wave** | {{current_wave}} of {{total_waves}} |
|
|
36
|
+
| **Task** | {{current_task}} of {{total_tasks}} |
|
|
37
|
+
|
|
38
|
+
### Files Modified
|
|
39
|
+
{{#files_modified}}
|
|
40
|
+
- `{{path}}` — {{description}}
|
|
41
|
+
{{/files_modified}}
|
|
42
|
+
|
|
43
|
+
### Commits Made
|
|
44
|
+
{{#commits}}
|
|
45
|
+
- `{{sha}}` — {{message}}
|
|
46
|
+
{{/commits}}
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Next Session Instructions
|
|
51
|
+
|
|
52
|
+
### Command to Run
|
|
53
|
+
```
|
|
54
|
+
{{next_command}}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Files to Read First
|
|
58
|
+
{{#files_to_read}}
|
|
59
|
+
1. `{{path}}` — {{reason}}
|
|
60
|
+
{{/files_to_read}}
|
|
61
|
+
|
|
62
|
+
### Context Summary
|
|
63
|
+
|
|
64
|
+
{{context_summary}}
|
|
65
|
+
|
|
66
|
+
### Immediate Next Task
|
|
67
|
+
|
|
68
|
+
**Task:** {{next_task_id}} — {{next_task_name}}
|
|
69
|
+
|
|
70
|
+
**Files:**
|
|
71
|
+
{{#next_task_files}}
|
|
72
|
+
- `{{.}}`
|
|
73
|
+
{{/next_task_files}}
|
|
74
|
+
|
|
75
|
+
**Action:** {{next_task_action}}
|
|
76
|
+
|
|
77
|
+
**Verify:** `{{next_task_verify}}`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Warnings & Blockers
|
|
82
|
+
|
|
83
|
+
### Active Blockers
|
|
84
|
+
{{#blockers}}
|
|
85
|
+
- **{{title}}**: {{description}}
|
|
86
|
+
- Type: {{type}}
|
|
87
|
+
- Resolution: {{resolution}}
|
|
88
|
+
{{/blockers}}
|
|
89
|
+
|
|
90
|
+
{{^blockers}}
|
|
91
|
+
None — clear to proceed.
|
|
92
|
+
{{/blockers}}
|
|
93
|
+
|
|
94
|
+
### Gotchas Discovered
|
|
95
|
+
{{#gotchas}}
|
|
96
|
+
- {{.}}
|
|
97
|
+
{{/gotchas}}
|
|
98
|
+
|
|
99
|
+
{{^gotchas}}
|
|
100
|
+
None discovered this session.
|
|
101
|
+
{{/gotchas}}
|
|
102
|
+
|
|
103
|
+
### Pending Decisions
|
|
104
|
+
{{#pending_decisions}}
|
|
105
|
+
- **{{title}}**: {{description}}
|
|
106
|
+
- Options: {{options}}
|
|
107
|
+
- Recommendation: {{recommendation}}
|
|
108
|
+
{{/pending_decisions}}
|
|
109
|
+
|
|
110
|
+
{{^pending_decisions}}
|
|
111
|
+
None — no user input needed.
|
|
112
|
+
{{/pending_decisions}}
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Memory Saved
|
|
117
|
+
|
|
118
|
+
Key learnings persisted to memory this session:
|
|
119
|
+
|
|
120
|
+
{{#memory_saved}}
|
|
121
|
+
- **{{title}}** ({{type}}, importance: {{importance}})
|
|
122
|
+
{{/memory_saved}}
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Resume Checklist
|
|
127
|
+
|
|
128
|
+
For the next session:
|
|
129
|
+
|
|
130
|
+
- [ ] Start new session for fresh context
|
|
131
|
+
- [ ] Run: `{{next_command}}`
|
|
132
|
+
- [ ] Read files listed above
|
|
133
|
+
- [ ] Continue with immediate next task
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
*Start a new session for fresh 200k context window.*
|
|
138
|
+
*All state is preserved in GoopSpec files.*
|
|
139
|
+
|
|
140
|
+
*Session Handoff — GoopSpec v0.1.4*
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# PROJECT: {{project_name}}
|
|
2
|
+
|
|
3
|
+
**Type:** {{project_type}}
|
|
4
|
+
**Created:** {{created_date}}
|
|
5
|
+
**Status:** Active
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Vision
|
|
10
|
+
|
|
11
|
+
{{vision_statement}}
|
|
12
|
+
|
|
13
|
+
### Why This Matters
|
|
14
|
+
{{why_it_matters}}
|
|
15
|
+
|
|
16
|
+
### Target Users
|
|
17
|
+
{{target_users}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Success Criteria
|
|
22
|
+
|
|
23
|
+
When complete, we will have:
|
|
24
|
+
|
|
25
|
+
{{#success_criteria}}
|
|
26
|
+
- {{.}}
|
|
27
|
+
{{/success_criteria}}
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Technical Foundation
|
|
32
|
+
|
|
33
|
+
### Stack
|
|
34
|
+
| Layer | Technology | Version |
|
|
35
|
+
|-------|------------|---------|
|
|
36
|
+
| Runtime | {{runtime}} | {{runtime_version}} |
|
|
37
|
+
| Language | {{language}} | {{language_version}} |
|
|
38
|
+
| Framework | {{framework}} | {{framework_version}} |
|
|
39
|
+
| Database | {{database}} | {{database_version}} |
|
|
40
|
+
| Testing | {{testing}} | {{testing_version}} |
|
|
41
|
+
|
|
42
|
+
### Key Dependencies
|
|
43
|
+
{{#dependencies}}
|
|
44
|
+
- `{{name}}`: {{purpose}}
|
|
45
|
+
{{/dependencies}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Conventions
|
|
50
|
+
|
|
51
|
+
### Naming
|
|
52
|
+
- **Files:** {{file_naming}}
|
|
53
|
+
- **Functions:** {{function_naming}}
|
|
54
|
+
- **Components:** {{component_naming}}
|
|
55
|
+
- **Constants:** {{constant_naming}}
|
|
56
|
+
|
|
57
|
+
### Code Style
|
|
58
|
+
- **Exports:** {{export_style}}
|
|
59
|
+
- **Types:** {{type_style}}
|
|
60
|
+
- **Error Handling:** {{error_handling}}
|
|
61
|
+
|
|
62
|
+
### Git
|
|
63
|
+
- **Branch Format:** {{branch_format}}
|
|
64
|
+
- **Commit Format:** {{commit_format}}
|
|
65
|
+
- **PR Process:** {{pr_process}}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Architecture Overview
|
|
70
|
+
|
|
71
|
+
{{architecture_description}}
|
|
72
|
+
|
|
73
|
+
### Directory Structure
|
|
74
|
+
```
|
|
75
|
+
{{directory_structure}}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Key Integration Points
|
|
79
|
+
{{#integration_points}}
|
|
80
|
+
- **{{name}}:** {{description}}
|
|
81
|
+
{{/integration_points}}
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Boundaries
|
|
86
|
+
|
|
87
|
+
### Always Do
|
|
88
|
+
{{#always_do}}
|
|
89
|
+
- {{.}}
|
|
90
|
+
{{/always_do}}
|
|
91
|
+
|
|
92
|
+
### Ask First
|
|
93
|
+
{{#ask_first}}
|
|
94
|
+
- {{.}}
|
|
95
|
+
{{/ask_first}}
|
|
96
|
+
|
|
97
|
+
### Never Do
|
|
98
|
+
{{#never_do}}
|
|
99
|
+
- {{.}}
|
|
100
|
+
{{/never_do}}
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Milestones
|
|
105
|
+
|
|
106
|
+
| Milestone | Status | Target |
|
|
107
|
+
|-----------|--------|--------|
|
|
108
|
+
{{#milestones}}
|
|
109
|
+
| {{name}} | {{status}} | {{target_date}} |
|
|
110
|
+
{{/milestones}}
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
*Project foundation document - GoopSpec v0.1.4*
|