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,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification
|
|
3
|
+
description: Verify implementations against specifications
|
|
4
|
+
category: review
|
|
5
|
+
triggers:
|
|
6
|
+
- verify
|
|
7
|
+
- check
|
|
8
|
+
- validate
|
|
9
|
+
- audit
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
requires:
|
|
12
|
+
- goop-core
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Verification Skill
|
|
16
|
+
|
|
17
|
+
## Verification Philosophy
|
|
18
|
+
|
|
19
|
+
Task completion ≠ Goal achievement
|
|
20
|
+
|
|
21
|
+
Verify that the implementation:
|
|
22
|
+
1. Does what the spec says
|
|
23
|
+
2. Handles edge cases
|
|
24
|
+
3. Meets quality standards
|
|
25
|
+
4. Is maintainable
|
|
26
|
+
|
|
27
|
+
## Verification Levels
|
|
28
|
+
|
|
29
|
+
### Level 1: Syntax
|
|
30
|
+
- Code compiles/transpiles
|
|
31
|
+
- No linting errors
|
|
32
|
+
- Types check
|
|
33
|
+
|
|
34
|
+
### Level 2: Unit
|
|
35
|
+
- Individual functions work
|
|
36
|
+
- Edge cases handled
|
|
37
|
+
- Errors thrown appropriately
|
|
38
|
+
|
|
39
|
+
### Level 3: Integration
|
|
40
|
+
- Components work together
|
|
41
|
+
- Data flows correctly
|
|
42
|
+
- State managed properly
|
|
43
|
+
|
|
44
|
+
### Level 4: E2E
|
|
45
|
+
- User flows complete
|
|
46
|
+
- UI renders correctly
|
|
47
|
+
- Performance acceptable
|
|
48
|
+
|
|
49
|
+
### Level 5: Security
|
|
50
|
+
- No vulnerabilities
|
|
51
|
+
- Auth works correctly
|
|
52
|
+
- Data protected
|
|
53
|
+
|
|
54
|
+
## Verification Checklist
|
|
55
|
+
|
|
56
|
+
### Code Quality
|
|
57
|
+
- [ ] Follows project conventions
|
|
58
|
+
- [ ] No unused code
|
|
59
|
+
- [ ] No hardcoded values
|
|
60
|
+
- [ ] Proper error handling
|
|
61
|
+
- [ ] Logging in place
|
|
62
|
+
|
|
63
|
+
### Functionality
|
|
64
|
+
- [ ] All spec requirements met
|
|
65
|
+
- [ ] Edge cases handled
|
|
66
|
+
- [ ] Error states work
|
|
67
|
+
- [ ] Happy path works
|
|
68
|
+
|
|
69
|
+
### Tests
|
|
70
|
+
- [ ] Tests exist for new code
|
|
71
|
+
- [ ] Tests pass
|
|
72
|
+
- [ ] Coverage acceptable
|
|
73
|
+
- [ ] Tests are meaningful
|
|
74
|
+
|
|
75
|
+
### Documentation
|
|
76
|
+
- [ ] Code is self-documenting
|
|
77
|
+
- [ ] Complex logic commented
|
|
78
|
+
- [ ] API documented
|
|
79
|
+
- [ ] README updated if needed
|
|
80
|
+
|
|
81
|
+
## Must-Have Verification
|
|
82
|
+
|
|
83
|
+
From SPEC.md must-haves:
|
|
84
|
+
|
|
85
|
+
### Truths (Observable Behaviors)
|
|
86
|
+
```markdown
|
|
87
|
+
- [ ] User can log in with email/password
|
|
88
|
+
- [ ] Invalid credentials show error
|
|
89
|
+
- [ ] Session persists across refresh
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Artifacts (Required Files)
|
|
93
|
+
```markdown
|
|
94
|
+
| Path | Exists | Exports | Min Lines |
|
|
95
|
+
|------|--------|---------|-----------|
|
|
96
|
+
| src/auth/login.ts | ✓ | login() | 50 |
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Key Links (Connections)
|
|
100
|
+
```markdown
|
|
101
|
+
| From | To | Via | Verified |
|
|
102
|
+
|------|-----|-----|----------|
|
|
103
|
+
| login.ts | session.ts | createSession() | ✓ |
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Verification Commands
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Type checking
|
|
110
|
+
npm run typecheck
|
|
111
|
+
|
|
112
|
+
# Linting
|
|
113
|
+
npm run lint
|
|
114
|
+
|
|
115
|
+
# Unit tests
|
|
116
|
+
npm test
|
|
117
|
+
|
|
118
|
+
# Integration tests
|
|
119
|
+
npm run test:integration
|
|
120
|
+
|
|
121
|
+
# E2E tests
|
|
122
|
+
npm run test:e2e
|
|
123
|
+
|
|
124
|
+
# Build
|
|
125
|
+
npm run build
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## VERIFY.md Template
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
# Verification: Phase {N}
|
|
132
|
+
|
|
133
|
+
**Date:** {YYYY-MM-DD}
|
|
134
|
+
**Verifier:** GoopSpec Verifier Agent
|
|
135
|
+
|
|
136
|
+
## Summary
|
|
137
|
+
{Pass/Fail with brief explanation}
|
|
138
|
+
|
|
139
|
+
## Must-Haves
|
|
140
|
+
|
|
141
|
+
### Truths
|
|
142
|
+
| Behavior | Status | Notes |
|
|
143
|
+
|----------|--------|-------|
|
|
144
|
+
| User can log in | ✓ | Tested manually |
|
|
145
|
+
|
|
146
|
+
### Artifacts
|
|
147
|
+
| File | Status | Notes |
|
|
148
|
+
|------|--------|-------|
|
|
149
|
+
| src/auth/login.ts | ✓ | 75 lines |
|
|
150
|
+
|
|
151
|
+
### Key Links
|
|
152
|
+
| Connection | Status | Notes |
|
|
153
|
+
|------------|--------|-------|
|
|
154
|
+
| login → session | ✓ | createSession called |
|
|
155
|
+
|
|
156
|
+
## Quality Checks
|
|
157
|
+
|
|
158
|
+
| Check | Status |
|
|
159
|
+
|-------|--------|
|
|
160
|
+
| TypeScript | ✓ Pass |
|
|
161
|
+
| ESLint | ✓ Pass |
|
|
162
|
+
| Tests | ✓ 45/45 |
|
|
163
|
+
| Build | ✓ Success |
|
|
164
|
+
|
|
165
|
+
## Issues Found
|
|
166
|
+
{List any issues or none}
|
|
167
|
+
|
|
168
|
+
## Recommendations
|
|
169
|
+
{Suggestions for improvement}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Best Practices
|
|
173
|
+
|
|
174
|
+
1. **Verify against spec** - Not against assumptions
|
|
175
|
+
2. **Test boundaries** - Edge cases, limits, errors
|
|
176
|
+
3. **Check behavior** - Not just code existence
|
|
177
|
+
4. **Document findings** - Even if all passes
|
|
178
|
+
5. **Be ruthless** - Better to catch issues now
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: visual-regression
|
|
3
|
+
description: Detect unintended visual changes in UI through automated screenshot comparison.
|
|
4
|
+
category: review
|
|
5
|
+
triggers:
|
|
6
|
+
- visual regression
|
|
7
|
+
- screenshots
|
|
8
|
+
- ui testing
|
|
9
|
+
- diff
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Visual Regression Testing Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
Detect unintended visual changes in UI through automated screenshot comparison.
|
|
17
|
+
|
|
18
|
+
## How It Works
|
|
19
|
+
|
|
20
|
+
1. Capture baseline screenshots of components/pages
|
|
21
|
+
2. Run tests to capture new screenshots
|
|
22
|
+
3. Compare against baselines pixel-by-pixel
|
|
23
|
+
4. Flag differences for review
|
|
24
|
+
5. Update baselines when changes are intentional
|
|
25
|
+
|
|
26
|
+
## Tools
|
|
27
|
+
|
|
28
|
+
### Playwright Visual Comparisons
|
|
29
|
+
```typescript
|
|
30
|
+
import { test, expect } from '@playwright/test';
|
|
31
|
+
|
|
32
|
+
test('homepage visual regression', async ({ page }) => {
|
|
33
|
+
await page.goto('/');
|
|
34
|
+
await expect(page).toHaveScreenshot('homepage.png', {
|
|
35
|
+
maxDiffPixels: 100,
|
|
36
|
+
threshold: 0.2,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Percy/Chromatic Integration
|
|
42
|
+
- Cloud-based visual testing
|
|
43
|
+
- Cross-browser comparisons
|
|
44
|
+
- Approval workflows
|
|
45
|
+
|
|
46
|
+
## Best Practices
|
|
47
|
+
|
|
48
|
+
### 1. Stable Tests
|
|
49
|
+
- Wait for animations to complete
|
|
50
|
+
- Use consistent viewport sizes
|
|
51
|
+
- Mock dynamic content (dates, avatars)
|
|
52
|
+
- Disable animations during tests
|
|
53
|
+
|
|
54
|
+
### 2. Meaningful Baselines
|
|
55
|
+
- Capture at key breakpoints
|
|
56
|
+
- Include interactive states
|
|
57
|
+
- Test light and dark themes
|
|
58
|
+
|
|
59
|
+
### 3. Efficient Reviews
|
|
60
|
+
- Set appropriate diff thresholds
|
|
61
|
+
- Use component-level screenshots
|
|
62
|
+
- Group related screenshots
|
|
63
|
+
|
|
64
|
+
## Configuration
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
// playwright.config.ts
|
|
68
|
+
export default defineConfig({
|
|
69
|
+
expect: {
|
|
70
|
+
toHaveScreenshot: {
|
|
71
|
+
maxDiffPixels: 50,
|
|
72
|
+
threshold: 0.1,
|
|
73
|
+
animations: 'disabled',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
use: {
|
|
77
|
+
viewport: { width: 1280, height: 720 },
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## When to Update Baselines
|
|
83
|
+
|
|
84
|
+
- Intentional design changes
|
|
85
|
+
- After reviewing and approving diffs
|
|
86
|
+
- Never auto-update without review
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# BLUEPRINT: {{project_name}}
|
|
2
|
+
|
|
3
|
+
**Spec Version:** {{spec_version}}
|
|
4
|
+
**Created:** {{created_date}}
|
|
5
|
+
**Mode:** {{mode}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
**Goal:** {{goal}}
|
|
12
|
+
|
|
13
|
+
**Approach:** {{approach}}
|
|
14
|
+
|
|
15
|
+
**Waves:** {{wave_count}}
|
|
16
|
+
**Estimated Tasks:** {{task_count}}
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Wave Architecture
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
{{#waves}}
|
|
24
|
+
Wave {{number}}: {{name}} {{#parallel}}(parallel){{/parallel}}{{^parallel}}(sequential){{/parallel}}
|
|
25
|
+
{{#depends_on}} └── depends on Wave {{.}}{{/depends_on}}
|
|
26
|
+
{{/waves}}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
{{#waves}}
|
|
32
|
+
## Wave {{number}}: {{name}}
|
|
33
|
+
|
|
34
|
+
**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
|
+
|
|
40
|
+
### Tasks
|
|
41
|
+
|
|
42
|
+
{{#tasks}}
|
|
43
|
+
### Task {{wave}}.{{number}}: {{name}}
|
|
44
|
+
|
|
45
|
+
**Intent:** {{intent}}
|
|
46
|
+
|
|
47
|
+
**Deliverables:**
|
|
48
|
+
{{#deliverables}}
|
|
49
|
+
- [ ] {{.}}
|
|
50
|
+
{{/deliverables}}
|
|
51
|
+
|
|
52
|
+
**Files:**
|
|
53
|
+
{{#files}}
|
|
54
|
+
- `{{.}}`
|
|
55
|
+
{{/files}}
|
|
56
|
+
|
|
57
|
+
**Verification:**
|
|
58
|
+
```bash
|
|
59
|
+
{{verification}}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Acceptance:**
|
|
63
|
+
{{acceptance}}
|
|
64
|
+
|
|
65
|
+
{{#blocks}}
|
|
66
|
+
**Blocks:** {{blocks}}
|
|
67
|
+
{{/blocks}}
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
{{/tasks}}
|
|
72
|
+
|
|
73
|
+
{{/waves}}
|
|
74
|
+
|
|
75
|
+
## Verification Checklist
|
|
76
|
+
|
|
77
|
+
Before marking complete:
|
|
78
|
+
|
|
79
|
+
{{#verification_checklist}}
|
|
80
|
+
- [ ] {{.}}
|
|
81
|
+
{{/verification_checklist}}
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Must-Haves Traceability
|
|
86
|
+
|
|
87
|
+
Mapping tasks to spec requirements:
|
|
88
|
+
|
|
89
|
+
| Must-Have | Covered By |
|
|
90
|
+
|-----------|------------|
|
|
91
|
+
{{#must_have_mapping}}
|
|
92
|
+
| {{must_have}} | Wave {{wave}}, Task {{task}} |
|
|
93
|
+
{{/must_have_mapping}}
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Risk Assessment
|
|
98
|
+
|
|
99
|
+
{{#risks}}
|
|
100
|
+
### {{risk}}
|
|
101
|
+
- **Likelihood:** {{likelihood}}
|
|
102
|
+
- **Impact:** {{impact}}
|
|
103
|
+
- **Mitigation:** {{mitigation}}
|
|
104
|
+
{{/risks}}
|
|
105
|
+
|
|
106
|
+
{{^risks}}
|
|
107
|
+
No significant risks identified.
|
|
108
|
+
{{/risks}}
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Execution Notes
|
|
113
|
+
|
|
114
|
+
### For Orchestrator
|
|
115
|
+
- Delegate ALL code tasks to executor agents
|
|
116
|
+
- Track progress in CHRONICLE.md
|
|
117
|
+
- Save to memory at wave boundaries
|
|
118
|
+
- Confirm with user at CONTRACT GATES
|
|
119
|
+
|
|
120
|
+
### For Subagents
|
|
121
|
+
- Read SPEC.md for requirements
|
|
122
|
+
- Check CHRONICLE.md for context
|
|
123
|
+
- Use memory_search before decisions
|
|
124
|
+
- Persist learnings with memory_save
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Deviation Protocol
|
|
129
|
+
|
|
130
|
+
If you encounter issues:
|
|
131
|
+
|
|
132
|
+
1. **Bug Found** → Auto-fix, document in CHRONICLE.md
|
|
133
|
+
2. **Missing Functionality** → Auto-add if critical, document
|
|
134
|
+
3. **Blocking Issue** → Auto-fix (deps, imports), document
|
|
135
|
+
4. **Architectural Decision** → STOP, ask user, log to memory
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
*Blueprint derived from SPEC.md*
|
|
140
|
+
*Execute with confidence — the plan is the contract*
|
|
141
|
+
*GoopSpec v0.1.0*
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# CHRONICLE: {{project_name}}
|
|
2
|
+
|
|
3
|
+
**Last Updated:** {{last_updated}}
|
|
4
|
+
**Current Phase:** {{current_phase}}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Journey Status
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
{{progress_bar}} {{progress_percent}}%
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Position:** {{position_description}}
|
|
15
|
+
|
|
16
|
+
| Metric | Value |
|
|
17
|
+
|--------|-------|
|
|
18
|
+
| Waves Completed | {{waves_completed}}/{{waves_total}} |
|
|
19
|
+
| Tasks Done | {{tasks_completed}} |
|
|
20
|
+
| Time Invested | {{total_time}} |
|
|
21
|
+
| Current Mode | {{mode}} |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Current Wave
|
|
26
|
+
|
|
27
|
+
### Wave {{current_wave}}: {{wave_name}}
|
|
28
|
+
|
|
29
|
+
**Status:** {{wave_status}}
|
|
30
|
+
**Started:** {{wave_started}}
|
|
31
|
+
|
|
32
|
+
**Tasks:**
|
|
33
|
+
{{#wave_tasks}}
|
|
34
|
+
- [{{status}}] {{name}}
|
|
35
|
+
{{/wave_tasks}}
|
|
36
|
+
|
|
37
|
+
**Blockers:**
|
|
38
|
+
{{#blockers}}
|
|
39
|
+
- **[{{severity}}]** {{description}}
|
|
40
|
+
{{/blockers}}
|
|
41
|
+
{{^blockers}}
|
|
42
|
+
None
|
|
43
|
+
{{/blockers}}
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Recent Activity
|
|
48
|
+
|
|
49
|
+
{{#recent_activity}}
|
|
50
|
+
### {{timestamp}}
|
|
51
|
+
- **Action:** {{action}}
|
|
52
|
+
- **Outcome:** {{outcome}}
|
|
53
|
+
{{#decision}}
|
|
54
|
+
- **Decision:** {{decision}} — *Reason: {{reason}}*
|
|
55
|
+
{{/decision}}
|
|
56
|
+
{{/recent_activity}}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Decisions Made
|
|
61
|
+
|
|
62
|
+
Significant choices captured for future reference.
|
|
63
|
+
|
|
64
|
+
{{#decisions}}
|
|
65
|
+
### {{date}}: {{title}}
|
|
66
|
+
- **Choice:** {{choice}}
|
|
67
|
+
- **Alternatives:** {{alternatives}}
|
|
68
|
+
- **Reasoning:** {{reasoning}}
|
|
69
|
+
- **Impact:** {{impact}}
|
|
70
|
+
{{/decisions}}
|
|
71
|
+
|
|
72
|
+
{{^decisions}}
|
|
73
|
+
No decisions recorded yet.
|
|
74
|
+
{{/decisions}}
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Learnings
|
|
79
|
+
|
|
80
|
+
Insights gained during this journey.
|
|
81
|
+
|
|
82
|
+
{{#learnings}}
|
|
83
|
+
- **{{topic}}:** {{insight}}
|
|
84
|
+
{{/learnings}}
|
|
85
|
+
|
|
86
|
+
{{^learnings}}
|
|
87
|
+
No learnings captured yet.
|
|
88
|
+
{{/learnings}}
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Checkpoints
|
|
93
|
+
|
|
94
|
+
Saved positions for recovery.
|
|
95
|
+
|
|
96
|
+
{{#checkpoints}}
|
|
97
|
+
| ID | Phase | Wave | Created | Description |
|
|
98
|
+
|----|-------|------|---------|-------------|
|
|
99
|
+
| {{id}} | {{phase}} | {{wave}} | {{created}} | {{description}} |
|
|
100
|
+
{{/checkpoints}}
|
|
101
|
+
|
|
102
|
+
{{^checkpoints}}
|
|
103
|
+
No checkpoints saved.
|
|
104
|
+
{{/checkpoints}}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Memory Integration
|
|
109
|
+
|
|
110
|
+
### Recent Memory Entries
|
|
111
|
+
{{#recent_memories}}
|
|
112
|
+
- **[{{type}}]** {{title}} — {{created}}
|
|
113
|
+
{{/recent_memories}}
|
|
114
|
+
|
|
115
|
+
### Relevant Past Context
|
|
116
|
+
{{#relevant_context}}
|
|
117
|
+
- {{context}}
|
|
118
|
+
{{/relevant_context}}
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Next Steps
|
|
123
|
+
|
|
124
|
+
### Immediate
|
|
125
|
+
{{#immediate_next}}
|
|
126
|
+
1. {{.}}
|
|
127
|
+
{{/immediate_next}}
|
|
128
|
+
|
|
129
|
+
### After This Wave
|
|
130
|
+
{{#after_wave}}
|
|
131
|
+
- {{.}}
|
|
132
|
+
{{/after_wave}}
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Quick Commands
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Check status
|
|
140
|
+
/goop-status
|
|
141
|
+
|
|
142
|
+
# Continue work
|
|
143
|
+
/goop-execute
|
|
144
|
+
|
|
145
|
+
# Save checkpoint
|
|
146
|
+
/goop-checkpoint
|
|
147
|
+
|
|
148
|
+
# Search past work
|
|
149
|
+
/goop-recall "{{query}}"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
*Chronicle auto-updated by GoopSpec after each action*
|
|
155
|
+
*This is your journey log — decisions persist, context flows*
|
|
156
|
+
*GoopSpec v0.1.0*
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# MILESTONE: {{milestone_name}}
|
|
2
|
+
|
|
3
|
+
**Version:** {{version}}
|
|
4
|
+
**Started:** {{started_date}}
|
|
5
|
+
**Target:** {{target_date}}
|
|
6
|
+
**Status:** {{status}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Milestone Goal
|
|
11
|
+
|
|
12
|
+
{{goal}}
|
|
13
|
+
|
|
14
|
+
**Definition of Done:**
|
|
15
|
+
{{#definition_of_done}}
|
|
16
|
+
- [ ] {{.}}
|
|
17
|
+
{{/definition_of_done}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Progress
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
{{progress_bar}} {{progress_percent}}%
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
| Metric | Current | Target |
|
|
28
|
+
|--------|---------|--------|
|
|
29
|
+
| Waves | {{waves_completed}}/{{waves_total}} | {{waves_total}} |
|
|
30
|
+
| Tasks | {{tasks_completed}} | {{tasks_total}} |
|
|
31
|
+
| Time | {{time_spent}} | {{time_estimated}} |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Waves in This Milestone
|
|
36
|
+
|
|
37
|
+
{{#waves}}
|
|
38
|
+
### Wave {{number}}: {{name}}
|
|
39
|
+
|
|
40
|
+
**Status:** {{status}}
|
|
41
|
+
**Tasks:** {{tasks_completed}}/{{tasks_total}}
|
|
42
|
+
|
|
43
|
+
{{#completed}}
|
|
44
|
+
**Completed:** {{completed_date}}
|
|
45
|
+
**Summary:** {{summary}}
|
|
46
|
+
{{/completed}}
|
|
47
|
+
|
|
48
|
+
{{^completed}}
|
|
49
|
+
**Next:** {{next_task}}
|
|
50
|
+
{{/completed}}
|
|
51
|
+
|
|
52
|
+
{{/waves}}
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Key Deliverables
|
|
57
|
+
|
|
58
|
+
{{#deliverables}}
|
|
59
|
+
- [{{status}}] **{{name}}**: {{description}}
|
|
60
|
+
{{/deliverables}}
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Dependencies
|
|
65
|
+
|
|
66
|
+
### External
|
|
67
|
+
{{#external_deps}}
|
|
68
|
+
- {{dependency}} — {{status}}
|
|
69
|
+
{{/external_deps}}
|
|
70
|
+
|
|
71
|
+
### Internal
|
|
72
|
+
{{#internal_deps}}
|
|
73
|
+
- Requires: {{requirement}} — {{status}}
|
|
74
|
+
{{/internal_deps}}
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Decisions Log
|
|
79
|
+
|
|
80
|
+
Significant decisions made during this milestone:
|
|
81
|
+
|
|
82
|
+
{{#decisions}}
|
|
83
|
+
| Date | Decision | Rationale |
|
|
84
|
+
|------|----------|-----------|
|
|
85
|
+
| {{date}} | {{decision}} | {{rationale}} |
|
|
86
|
+
{{/decisions}}
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Blockers & Risks
|
|
91
|
+
|
|
92
|
+
### Active Blockers
|
|
93
|
+
{{#blockers}}
|
|
94
|
+
- **[{{severity}}]** {{description}}
|
|
95
|
+
- **Impact:** {{impact}}
|
|
96
|
+
- **Resolution:** {{resolution}}
|
|
97
|
+
{{/blockers}}
|
|
98
|
+
{{^blockers}}
|
|
99
|
+
None
|
|
100
|
+
{{/blockers}}
|
|
101
|
+
|
|
102
|
+
### Identified Risks
|
|
103
|
+
{{#risks}}
|
|
104
|
+
- **{{risk}}**: {{mitigation}}
|
|
105
|
+
{{/risks}}
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## On Completion
|
|
110
|
+
|
|
111
|
+
When this milestone completes:
|
|
112
|
+
|
|
113
|
+
1. Run `/goop-complete` to archive
|
|
114
|
+
2. Generate RETROSPECTIVE.md
|
|
115
|
+
3. Extract LEARNINGS.md → Memory
|
|
116
|
+
4. Tag git: `git tag -a {{version}} -m "{{milestone_name}}"`
|
|
117
|
+
5. Update project status
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Notes
|
|
122
|
+
|
|
123
|
+
{{#notes}}
|
|
124
|
+
- {{note}}
|
|
125
|
+
{{/notes}}
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
*Milestone tracking by GoopSpec*
|
|
130
|
+
*Complete milestones are archived with learnings extracted*
|
|
131
|
+
*GoopSpec v0.1.0*
|