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
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# XML Response Schema
|
|
2
|
+
|
|
3
|
+
All GoopSpec agents use a standardized XML envelope for machine-parseable handoffs while keeping content human-readable in Markdown.
|
|
4
|
+
|
|
5
|
+
## Why XML + Markdown Hybrid?
|
|
6
|
+
|
|
7
|
+
1. **Machine Parsing**: Orchestrator can reliably extract status, next actions, and state
|
|
8
|
+
2. **Human Readability**: Markdown inside XML remains easy to read
|
|
9
|
+
3. **Structured Handoffs**: Clean session boundaries with explicit next steps
|
|
10
|
+
4. **State Continuity**: Exact phase/wave/task tracking across sessions
|
|
11
|
+
|
|
12
|
+
## Response Envelope Structure
|
|
13
|
+
|
|
14
|
+
Every agent response MUST include this XML block at the END of their response:
|
|
15
|
+
|
|
16
|
+
```xml
|
|
17
|
+
<goop_report version="0.1.4">
|
|
18
|
+
<status>COMPLETE|PARTIAL|BLOCKED|CHECKPOINT</status>
|
|
19
|
+
<agent>goop-[type]</agent>
|
|
20
|
+
<task_id>W[wave].T[task]</task_id>
|
|
21
|
+
<task_name>Brief task description</task_name>
|
|
22
|
+
|
|
23
|
+
<state>
|
|
24
|
+
<phase>plan|specify|execute|accept|research</phase>
|
|
25
|
+
<wave current="N" total="M"/>
|
|
26
|
+
<task current="X" total="Y"/>
|
|
27
|
+
<spec_locked>true|false</spec_locked>
|
|
28
|
+
<interview_complete>true|false</interview_complete>
|
|
29
|
+
</state>
|
|
30
|
+
|
|
31
|
+
<summary>1-2 sentence summary of what was accomplished</summary>
|
|
32
|
+
|
|
33
|
+
<artifacts>
|
|
34
|
+
<files>
|
|
35
|
+
<file path="path/to/file" action="created|modified|deleted">
|
|
36
|
+
Brief description of change
|
|
37
|
+
</file>
|
|
38
|
+
</files>
|
|
39
|
+
<commits>
|
|
40
|
+
<commit sha="abc1234">type(scope): commit message</commit>
|
|
41
|
+
</commits>
|
|
42
|
+
</artifacts>
|
|
43
|
+
|
|
44
|
+
<memory>
|
|
45
|
+
<saved type="decision|observation|note" importance="0.8">
|
|
46
|
+
Title of memory saved
|
|
47
|
+
</saved>
|
|
48
|
+
</memory>
|
|
49
|
+
|
|
50
|
+
<verification>
|
|
51
|
+
<check name="tests" passed="true|false">bun test - 42 passed</check>
|
|
52
|
+
<check name="typecheck" passed="true|false">No errors</check>
|
|
53
|
+
<check name="manual" passed="true|false">Description</check>
|
|
54
|
+
</verification>
|
|
55
|
+
|
|
56
|
+
<handoff>
|
|
57
|
+
<ready>true|false</ready>
|
|
58
|
+
<next_action agent="goop-[type]">
|
|
59
|
+
Exact description of next task
|
|
60
|
+
</next_action>
|
|
61
|
+
<files_to_read>
|
|
62
|
+
<file>.goopspec/SPEC.md</file>
|
|
63
|
+
<file>.goopspec/BLUEPRINT.md</file>
|
|
64
|
+
</files_to_read>
|
|
65
|
+
<blockers>None | Description of blocker</blockers>
|
|
66
|
+
<suggest_new_session>true|false</suggest_new_session>
|
|
67
|
+
<next_command>/goop-[command]</next_command>
|
|
68
|
+
</handoff>
|
|
69
|
+
</goop_report>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Status Values
|
|
73
|
+
|
|
74
|
+
| Status | When to Use | Orchestrator Action |
|
|
75
|
+
|--------|-------------|---------------------|
|
|
76
|
+
| `COMPLETE` | Task fully finished, verified | Move to next task |
|
|
77
|
+
| `PARTIAL` | Some progress, need to continue | Resume same task |
|
|
78
|
+
| `BLOCKED` | Cannot proceed without input | Assess blocker, may need user |
|
|
79
|
+
| `CHECKPOINT` | Natural stopping point | Save state, may suggest new session |
|
|
80
|
+
|
|
81
|
+
## Required vs Optional Elements
|
|
82
|
+
|
|
83
|
+
### Always Required
|
|
84
|
+
- `<status>` - Current completion status
|
|
85
|
+
- `<agent>` - Which agent is responding
|
|
86
|
+
- `<state>` - Current workflow state
|
|
87
|
+
- `<summary>` - What was accomplished
|
|
88
|
+
- `<handoff>` - Next steps
|
|
89
|
+
|
|
90
|
+
### Required When Applicable
|
|
91
|
+
- `<artifacts>` - When files changed or commits made
|
|
92
|
+
- `<memory>` - When memory was persisted
|
|
93
|
+
- `<verification>` - When verification commands were run
|
|
94
|
+
|
|
95
|
+
### Optional
|
|
96
|
+
- `<task_id>` - May not exist in research/explore phases
|
|
97
|
+
- `<blockers>` - Only when blocked
|
|
98
|
+
|
|
99
|
+
## Examples by Agent Type
|
|
100
|
+
|
|
101
|
+
### Executor Response
|
|
102
|
+
```xml
|
|
103
|
+
<goop_report version="0.1.4">
|
|
104
|
+
<status>COMPLETE</status>
|
|
105
|
+
<agent>goop-executor</agent>
|
|
106
|
+
<task_id>W2.T3</task_id>
|
|
107
|
+
<task_name>Implement user authentication</task_name>
|
|
108
|
+
|
|
109
|
+
<state>
|
|
110
|
+
<phase>execute</phase>
|
|
111
|
+
<wave current="2" total="3"/>
|
|
112
|
+
<task current="3" total="4"/>
|
|
113
|
+
<spec_locked>true</spec_locked>
|
|
114
|
+
</state>
|
|
115
|
+
|
|
116
|
+
<summary>Implemented JWT-based authentication with login/logout endpoints and middleware.</summary>
|
|
117
|
+
|
|
118
|
+
<artifacts>
|
|
119
|
+
<files>
|
|
120
|
+
<file path="src/auth/service.ts" action="created">Auth service with JWT generation</file>
|
|
121
|
+
<file path="src/auth/middleware.ts" action="created">Auth middleware for protected routes</file>
|
|
122
|
+
<file path="src/auth/types.ts" action="created">Auth type definitions</file>
|
|
123
|
+
</files>
|
|
124
|
+
<commits>
|
|
125
|
+
<commit sha="a1b2c3d">feat(auth): implement JWT authentication service</commit>
|
|
126
|
+
</commits>
|
|
127
|
+
</artifacts>
|
|
128
|
+
|
|
129
|
+
<memory>
|
|
130
|
+
<saved type="decision" importance="0.8">Used jose library for JWT over jsonwebtoken</saved>
|
|
131
|
+
</memory>
|
|
132
|
+
|
|
133
|
+
<verification>
|
|
134
|
+
<check name="tests" passed="true">bun test src/auth/ - 12 passed</check>
|
|
135
|
+
<check name="typecheck" passed="true">No errors</check>
|
|
136
|
+
</verification>
|
|
137
|
+
|
|
138
|
+
<handoff>
|
|
139
|
+
<ready>true</ready>
|
|
140
|
+
<next_action agent="goop-executor">W2.T4: Implement session management</next_action>
|
|
141
|
+
<files_to_read>
|
|
142
|
+
<file>src/auth/service.ts</file>
|
|
143
|
+
</files_to_read>
|
|
144
|
+
<blockers>None</blockers>
|
|
145
|
+
<suggest_new_session>false</suggest_new_session>
|
|
146
|
+
</handoff>
|
|
147
|
+
</goop_report>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Planner Response
|
|
151
|
+
```xml
|
|
152
|
+
<goop_report version="0.1.4">
|
|
153
|
+
<status>COMPLETE</status>
|
|
154
|
+
<agent>goop-planner</agent>
|
|
155
|
+
<task_name>Create execution blueprint</task_name>
|
|
156
|
+
|
|
157
|
+
<state>
|
|
158
|
+
<phase>plan</phase>
|
|
159
|
+
<spec_locked>false</spec_locked>
|
|
160
|
+
<interview_complete>true</interview_complete>
|
|
161
|
+
</state>
|
|
162
|
+
|
|
163
|
+
<summary>Created 3-wave blueprint with 8 tasks covering all must-haves from SPEC.md.</summary>
|
|
164
|
+
|
|
165
|
+
<artifacts>
|
|
166
|
+
<files>
|
|
167
|
+
<file path=".goopspec/BLUEPRINT.md" action="created">Execution blueprint</file>
|
|
168
|
+
<file path=".goopspec/SPEC.md" action="modified">Added traceability mapping</file>
|
|
169
|
+
</files>
|
|
170
|
+
</artifacts>
|
|
171
|
+
|
|
172
|
+
<memory>
|
|
173
|
+
<saved type="decision" importance="0.7">Wave 1 foundation parallel, Wave 2-3 sequential</saved>
|
|
174
|
+
</memory>
|
|
175
|
+
|
|
176
|
+
<handoff>
|
|
177
|
+
<ready>true</ready>
|
|
178
|
+
<next_action agent="orchestrator">Review blueprint with user, then /goop-specify</next_action>
|
|
179
|
+
<files_to_read>
|
|
180
|
+
<file>.goopspec/BLUEPRINT.md</file>
|
|
181
|
+
</files_to_read>
|
|
182
|
+
<blockers>None</blockers>
|
|
183
|
+
<suggest_new_session>true</suggest_new_session>
|
|
184
|
+
<next_command>/goop-specify</next_command>
|
|
185
|
+
</handoff>
|
|
186
|
+
</goop_report>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Blocked Response
|
|
190
|
+
```xml
|
|
191
|
+
<goop_report version="0.1.4">
|
|
192
|
+
<status>BLOCKED</status>
|
|
193
|
+
<agent>goop-executor</agent>
|
|
194
|
+
<task_id>W2.T2</task_id>
|
|
195
|
+
<task_name>Implement payment integration</task_name>
|
|
196
|
+
|
|
197
|
+
<state>
|
|
198
|
+
<phase>execute</phase>
|
|
199
|
+
<wave current="2" total="3"/>
|
|
200
|
+
<task current="2" total="4"/>
|
|
201
|
+
<spec_locked>true</spec_locked>
|
|
202
|
+
</state>
|
|
203
|
+
|
|
204
|
+
<summary>Cannot proceed - architectural decision required about payment provider.</summary>
|
|
205
|
+
|
|
206
|
+
<handoff>
|
|
207
|
+
<ready>false</ready>
|
|
208
|
+
<blockers>
|
|
209
|
+
RULE 4 DEVIATION: Need user decision on payment provider.
|
|
210
|
+
Options: A) Stripe (recommended, better docs), B) PayPal (wider reach)
|
|
211
|
+
</blockers>
|
|
212
|
+
<suggest_new_session>false</suggest_new_session>
|
|
213
|
+
</handoff>
|
|
214
|
+
</goop_report>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Parsing Guidelines for Orchestrator
|
|
218
|
+
|
|
219
|
+
1. **Extract status first** - Determines routing logic
|
|
220
|
+
2. **Check blockers** - If blocked, present to user
|
|
221
|
+
3. **Update CHRONICLE.md** - From artifacts and state
|
|
222
|
+
4. **Route next action** - Based on handoff.next_action
|
|
223
|
+
5. **Session boundary** - If suggest_new_session=true, generate HANDOFF.md
|
|
224
|
+
|
|
225
|
+
## Validation Rules
|
|
226
|
+
|
|
227
|
+
- Status must be one of: COMPLETE, PARTIAL, BLOCKED, CHECKPOINT
|
|
228
|
+
- Agent must match the subagent_type that was invoked
|
|
229
|
+
- State.phase must match current workflow phase
|
|
230
|
+
- If COMPLETE, verification should have at least one check
|
|
231
|
+
- If BLOCKED, blockers must be non-empty
|
|
232
|
+
- handoff.next_action must specify which agent continues
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
*GoopSpec XML Response Schema v0.1.4*
|
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*
|