wogiflow 1.0.21 → 1.0.22
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/.claude/commands/wogi-bug.md +43 -0
- package/.claude/commands/wogi-bulk.md +144 -0
- package/.claude/commands/wogi-changelog.md +36 -0
- package/.claude/commands/wogi-compact.md +99 -0
- package/.claude/commands/wogi-config.md +50 -0
- package/.claude/commands/wogi-context.md +68 -0
- package/.claude/commands/wogi-correction.md +73 -0
- package/.claude/commands/wogi-debt.md +128 -0
- package/.claude/commands/wogi-deps.md +32 -0
- package/.claude/commands/wogi-epics.md +145 -0
- package/.claude/commands/wogi-export.md +100 -0
- package/.claude/commands/wogi-feature.md +149 -0
- package/.claude/commands/wogi-guided-edit.md +83 -0
- package/.claude/commands/wogi-health.md +43 -0
- package/.claude/commands/wogi-help.md +96 -0
- package/.claude/commands/wogi-hybrid-edit.md +36 -0
- package/.claude/commands/wogi-hybrid-off.md +24 -0
- package/.claude/commands/wogi-hybrid-setup.md +79 -0
- package/.claude/commands/wogi-hybrid-status.md +45 -0
- package/.claude/commands/wogi-hybrid.md +54 -0
- package/.claude/commands/wogi-import.md +44 -0
- package/.claude/commands/wogi-init.md +618 -0
- package/.claude/commands/wogi-log.md +38 -0
- package/.claude/commands/wogi-map-add.md +29 -0
- package/.claude/commands/wogi-map-check.md +35 -0
- package/.claude/commands/wogi-map-index.md +98 -0
- package/.claude/commands/wogi-map-scan.md +38 -0
- package/.claude/commands/wogi-map-sync.md +91 -0
- package/.claude/commands/wogi-map.md +33 -0
- package/.claude/commands/wogi-morning.md +65 -0
- package/.claude/commands/wogi-onboard.md +99 -0
- package/.claude/commands/wogi-plan.md +173 -0
- package/.claude/commands/wogi-ready.md +84 -0
- package/.claude/commands/wogi-resume.md +95 -0
- package/.claude/commands/wogi-review.md +636 -0
- package/.claude/commands/wogi-roadmap.md +241 -0
- package/.claude/commands/wogi-rules.md +104 -0
- package/.claude/commands/wogi-search.md +33 -0
- package/.claude/commands/wogi-session-end.md +49 -0
- package/.claude/commands/wogi-setup-stack.md +151 -0
- package/.claude/commands/wogi-skill-learn.md +66 -0
- package/.claude/commands/wogi-skills.md +87 -0
- package/.claude/commands/wogi-standup.md +28 -0
- package/.claude/commands/wogi-start.md +465 -0
- package/.claude/commands/wogi-status.md +41 -0
- package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
- package/.claude/commands/wogi-story.md +98 -0
- package/.claude/commands/wogi-suspend.md +87 -0
- package/.claude/commands/wogi-test-browser.md +43 -0
- package/.claude/commands/wogi-trace.md +198 -0
- package/.claude/docs/architecture.md +37 -0
- package/.claude/docs/commands.md +343 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
- package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
- package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
- package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
- package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
- package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
- package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
- package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
- package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
- package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
- package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
- package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
- package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
- package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
- package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
- package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
- package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
- package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
- package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
- package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
- package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
- package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
- package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
- package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
- package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
- package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
- package/.claude/docs/knowledge-base/README.md +92 -0
- package/.claude/docs/knowledge-base/configuration/README.md +228 -0
- package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
- package/.claude/docs/knowledge-base/future-features.md +277 -0
- package/.claude/docs/stack.md +25 -0
- package/.claude/docs/testing.md +71 -0
- package/.claude/rules/README.md +60 -0
- package/.claude/rules/architecture/component-reuse.md +38 -0
- package/.claude/rules/architecture/document-structure.md +76 -0
- package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
- package/.claude/rules/architecture/model-management.md +35 -0
- package/.claude/rules/code-style/naming-conventions.md +55 -0
- package/.claude/rules/security/security-patterns.md +116 -0
- package/.claude/skills/.gitkeep +0 -0
- package/.claude/skills/README.md +131 -0
- package/.claude/skills/_template/commands/.gitkeep +0 -0
- package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
- package/.claude/skills/_template/knowledge/learnings.md +60 -0
- package/.claude/skills/_template/knowledge/patterns.md +45 -0
- package/.claude/skills/_template/rules/.gitkeep +0 -0
- package/.claude/skills/_template/skill.md +99 -0
- package/.claude/skills/_template/templates/.gitkeep +0 -0
- package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
- package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
- package/.claude/skills/figma-analyzer/skill.md +236 -0
- package/lib/installer.js +59 -19
- package/package.json +5 -1
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# Completion
|
|
2
|
+
|
|
3
|
+
After verification passes, the completion phase handles logging, commits, archival, and cleanup.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Request Logging
|
|
8
|
+
|
|
9
|
+
Every completed task is logged in `.workflow/state/request-log.md` for future context.
|
|
10
|
+
|
|
11
|
+
### Log Entry Format
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
### R-047 | 2024-01-15 14:30
|
|
15
|
+
**Type**: new
|
|
16
|
+
**Tags**: #screen:login #component:AuthService #feature:authentication
|
|
17
|
+
**Request**: "Add user authentication with login form"
|
|
18
|
+
**Result**: Created AuthService and LoginForm components with validation
|
|
19
|
+
**Files**: src/services/AuthService.ts, src/components/LoginForm.tsx
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Entry Fields
|
|
23
|
+
|
|
24
|
+
| Field | Purpose |
|
|
25
|
+
|-------|---------|
|
|
26
|
+
| `Type` | new / fix / change / refactor |
|
|
27
|
+
| `Tags` | Searchable categories (#screen, #component, #feature) |
|
|
28
|
+
| `Request` | Original user request |
|
|
29
|
+
| `Result` | What was accomplished |
|
|
30
|
+
| `Files` | Files created/modified |
|
|
31
|
+
|
|
32
|
+
### Configuration
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"autoLog": true, // Auto-add log entries
|
|
37
|
+
"requestLog": {
|
|
38
|
+
"enabled": true,
|
|
39
|
+
"autoArchive": true, // Archive old entries
|
|
40
|
+
"maxRecentEntries": 50, // Keep last 50 active
|
|
41
|
+
"keepRecent": 30, // Days before archival
|
|
42
|
+
"createSummary": true // Generate summary on archive
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Why Logging Matters
|
|
48
|
+
|
|
49
|
+
- **Future Context**: AI reads log to understand project history
|
|
50
|
+
- **Pattern Learning**: Identify common requests and solutions
|
|
51
|
+
- **Audit Trail**: Track what changed and when
|
|
52
|
+
- **Tag Search**: Find related work with `/wogi-search #component:Button`
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## App-Map Updates
|
|
57
|
+
|
|
58
|
+
New components are registered in `.workflow/state/app-map.md`.
|
|
59
|
+
|
|
60
|
+
### When to Update
|
|
61
|
+
|
|
62
|
+
- Created new component
|
|
63
|
+
- Created new hook
|
|
64
|
+
- Created new service/utility
|
|
65
|
+
- Created new page/route
|
|
66
|
+
|
|
67
|
+
### Update Format
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Components
|
|
71
|
+
|
|
72
|
+
### Button (src/components/Button.tsx)
|
|
73
|
+
- **Variants**: primary, secondary, ghost, danger
|
|
74
|
+
- **Props**: label, onClick, disabled, loading
|
|
75
|
+
- **Used by**: LoginForm, RegistrationForm, DashboardHeader
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Configuration
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"autoUpdateAppMap": true,
|
|
83
|
+
"componentRules": {
|
|
84
|
+
"preferVariants": true, // Suggest variants over new components
|
|
85
|
+
"requireAppMapEntry": true, // Block completion without entry
|
|
86
|
+
"requireDetailDoc": false // Require detailed documentation
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Automatic Detection
|
|
92
|
+
|
|
93
|
+
On task completion, system checks:
|
|
94
|
+
1. Were new files created in component directories?
|
|
95
|
+
2. Do they export React components/hooks?
|
|
96
|
+
3. If yes, prompt to add to app-map
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Commit Handling
|
|
101
|
+
|
|
102
|
+
Commits are managed based on task type and configuration.
|
|
103
|
+
|
|
104
|
+
### Configuration
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"commits": {
|
|
109
|
+
"requireApproval": {
|
|
110
|
+
"feature": true, // Features need approval
|
|
111
|
+
"bugfix": false, // Bugfixes auto-commit
|
|
112
|
+
"refactor": true, // Refactors need approval
|
|
113
|
+
"docs": false // Docs auto-commit
|
|
114
|
+
},
|
|
115
|
+
"autoCommitSmallFixes": true,
|
|
116
|
+
"smallFixThreshold": 3, // Files count for "small"
|
|
117
|
+
"squashTaskCommits": true, // Squash on completion
|
|
118
|
+
"commitMessageFormat": "conventional"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Approval Flow
|
|
124
|
+
|
|
125
|
+
For tasks requiring approval:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Changes to commit:
|
|
129
|
+
|
|
130
|
+
M src/services/AuthService.ts
|
|
131
|
+
A src/components/LoginForm.tsx
|
|
132
|
+
A src/components/LoginForm.test.tsx
|
|
133
|
+
M src/routes/index.tsx
|
|
134
|
+
|
|
135
|
+
Ready to commit these changes? [y/n]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Commit Message Format
|
|
139
|
+
|
|
140
|
+
**Conventional:**
|
|
141
|
+
```
|
|
142
|
+
feat(auth): add user authentication
|
|
143
|
+
|
|
144
|
+
- Create AuthService with login/logout
|
|
145
|
+
- Add LoginForm component with validation
|
|
146
|
+
- Integrate with existing routing
|
|
147
|
+
|
|
148
|
+
TASK-015
|
|
149
|
+
|
|
150
|
+
🤖 Generated with Claude Code
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Small Fix Auto-Commit
|
|
154
|
+
|
|
155
|
+
If `autoCommitSmallFixes` is enabled and changes are < `smallFixThreshold` files:
|
|
156
|
+
```
|
|
157
|
+
✓ Auto-committed small fix (2 files)
|
|
158
|
+
Commit: abc1234 "fix(auth): correct password validation"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Session Archival
|
|
164
|
+
|
|
165
|
+
Durable sessions are archived for learning and metrics.
|
|
166
|
+
|
|
167
|
+
### What's Archived
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"taskId": "TASK-015",
|
|
172
|
+
"taskType": "task",
|
|
173
|
+
"startedAt": "2024-01-15T10:30:00Z",
|
|
174
|
+
"completedAt": "2024-01-15T11:45:00Z",
|
|
175
|
+
"status": "completed",
|
|
176
|
+
"steps": [...],
|
|
177
|
+
"execution": {
|
|
178
|
+
"totalIterations": 3,
|
|
179
|
+
"totalRetries": 1
|
|
180
|
+
},
|
|
181
|
+
"metrics": {
|
|
182
|
+
"stepsCompleted": 5,
|
|
183
|
+
"tokensSaved": 12500,
|
|
184
|
+
"duration": 4500000
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Archive Location
|
|
190
|
+
|
|
191
|
+
`.workflow/state/session-history/`
|
|
192
|
+
|
|
193
|
+
### Configuration
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"durableSteps": {
|
|
198
|
+
"enabled": true,
|
|
199
|
+
"autoResume": true
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Session History Commands
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# View session statistics
|
|
208
|
+
flow session stats
|
|
209
|
+
|
|
210
|
+
# Output:
|
|
211
|
+
# Total sessions: 47
|
|
212
|
+
# Completed: 45
|
|
213
|
+
# Failed: 2
|
|
214
|
+
# Cancelled: 0
|
|
215
|
+
# Avg steps: 4.2
|
|
216
|
+
# Avg tokens saved: 85.3%
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Checkpoint System
|
|
222
|
+
|
|
223
|
+
Checkpoints provide rollback capability during task execution.
|
|
224
|
+
|
|
225
|
+
### Configuration
|
|
226
|
+
|
|
227
|
+
```json
|
|
228
|
+
{
|
|
229
|
+
"checkpoint": {
|
|
230
|
+
"enabled": true,
|
|
231
|
+
"interval": 5, // Create every N steps
|
|
232
|
+
"maxCheckpoints": 20, // Keep last 20
|
|
233
|
+
"autoCommit": true, // Git commit at checkpoint
|
|
234
|
+
"commitPrefix": "[checkpoint]",
|
|
235
|
+
"includeStateFiles": true // Snapshot workflow state
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### What's Saved
|
|
241
|
+
|
|
242
|
+
1. **Git Commit**: Current code state
|
|
243
|
+
2. **State Snapshot**: ready.json, request-log.md, app-map.md, etc.
|
|
244
|
+
3. **Session State**: durable-session.json
|
|
245
|
+
|
|
246
|
+
### Commands
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# Create manual checkpoint
|
|
250
|
+
flow checkpoint create "Before risky refactor"
|
|
251
|
+
|
|
252
|
+
# List checkpoints
|
|
253
|
+
flow checkpoint list
|
|
254
|
+
|
|
255
|
+
# Rollback to checkpoint
|
|
256
|
+
flow checkpoint rollback cp-2024-01-15T10-30-00
|
|
257
|
+
|
|
258
|
+
# Status
|
|
259
|
+
flow checkpoint status
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Rollback
|
|
263
|
+
|
|
264
|
+
When rolling back:
|
|
265
|
+
1. State files restored from snapshot
|
|
266
|
+
2. Git soft reset to checkpoint commit
|
|
267
|
+
3. Changes preserved as unstaged
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
flow checkpoint rollback cp-2024-01-15T10-30-00
|
|
271
|
+
|
|
272
|
+
# Output:
|
|
273
|
+
# ✅ State files restored
|
|
274
|
+
# ✅ Git rolled back to abc1234
|
|
275
|
+
#
|
|
276
|
+
# Changes since checkpoint are now unstaged.
|
|
277
|
+
# Review with: git status
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## Context Health Check
|
|
283
|
+
|
|
284
|
+
After task completion, check context window usage.
|
|
285
|
+
|
|
286
|
+
### Configuration
|
|
287
|
+
|
|
288
|
+
```json
|
|
289
|
+
{
|
|
290
|
+
"contextMonitor": {
|
|
291
|
+
"enabled": true,
|
|
292
|
+
"warnAt": 0.7, // Warn at 70% usage
|
|
293
|
+
"criticalAt": 0.85, // Critical at 85%
|
|
294
|
+
"contextWindow": 200000, // Token limit
|
|
295
|
+
"checkAfterTask": true
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Post-Task Check
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
✓ Completed: TASK-015
|
|
304
|
+
|
|
305
|
+
Context Health:
|
|
306
|
+
Usage: 45,000 / 200,000 tokens (22.5%)
|
|
307
|
+
Status: ✓ Healthy
|
|
308
|
+
|
|
309
|
+
# Or if high:
|
|
310
|
+
Context Health:
|
|
311
|
+
Usage: 165,000 / 200,000 tokens (82.5%)
|
|
312
|
+
Status: ⚠️ Consider running /compact
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Completion Flow Summary
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
Task Verification Passed
|
|
321
|
+
↓
|
|
322
|
+
┌────────────────────────────────────────────┐
|
|
323
|
+
│ 1. Move task to recentlyCompleted │
|
|
324
|
+
├────────────────────────────────────────────┤
|
|
325
|
+
│ 2. Archive durable session │
|
|
326
|
+
├────────────────────────────────────────────┤
|
|
327
|
+
│ 3. Update session state │
|
|
328
|
+
├────────────────────────────────────────────┤
|
|
329
|
+
│ 4. Add key fact to memory │
|
|
330
|
+
├────────────────────────────────────────────┤
|
|
331
|
+
│ 5. Auto-archive request log (if threshold) │
|
|
332
|
+
├────────────────────────────────────────────┤
|
|
333
|
+
│ 6. Commit changes (with approval if needed)│
|
|
334
|
+
├────────────────────────────────────────────┤
|
|
335
|
+
│ 7. Run regression tests (if enabled) │
|
|
336
|
+
├────────────────────────────────────────────┤
|
|
337
|
+
│ 8. Suggest browser tests (if UI task) │
|
|
338
|
+
├────────────────────────────────────────────┤
|
|
339
|
+
│ 9. Check context health │
|
|
340
|
+
└────────────────────────────────────────────┘
|
|
341
|
+
↓
|
|
342
|
+
✓ Task Complete
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Commands
|
|
348
|
+
|
|
349
|
+
| Command | Purpose |
|
|
350
|
+
|---------|---------|
|
|
351
|
+
| `/wogi-done TASK-XXX` | Complete task (runs gates) |
|
|
352
|
+
| `/wogi-log` | Add request log entry |
|
|
353
|
+
| `/wogi-map-add` | Add component to app-map |
|
|
354
|
+
| `flow checkpoint create` | Manual checkpoint |
|
|
355
|
+
| `flow checkpoint rollback` | Rollback to checkpoint |
|
|
356
|
+
| `flow session stats` | View session metrics |
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## Best Practices
|
|
361
|
+
|
|
362
|
+
1. **Always log completed tasks** - Future AI needs this context
|
|
363
|
+
2. **Update app-map for new components** - Prevents duplication
|
|
364
|
+
3. **Use checkpoints for risky work** - Easy rollback
|
|
365
|
+
4. **Monitor context health** - Compact before overflow
|
|
366
|
+
5. **Review commit diffs** - Catch unintended changes
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## Related
|
|
371
|
+
|
|
372
|
+
- [Verification](./03-verification.md) - Before completion
|
|
373
|
+
- [Trade-offs](./trade-offs.md) - Balancing thoroughness
|
|
374
|
+
- [Memory & Context](../04-memory-context/) - Context management
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Session Review
|
|
2
|
+
|
|
3
|
+
Comprehensive code review using 3 parallel agents to analyze session changes.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The `/wogi-session-review` command performs a thorough review of all code changes made during a session. It uses 3 parallel agents, each focused on different aspects:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ SESSION REVIEW │
|
|
12
|
+
├─────────────────────────────────────────────────────────────┤
|
|
13
|
+
│ │
|
|
14
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
15
|
+
│ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ │
|
|
16
|
+
│ │ Code/Logic │ │ Security │ │ Architecture │ │
|
|
17
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
18
|
+
│ │ │ │ │
|
|
19
|
+
│ ▼ ▼ ▼ │
|
|
20
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
21
|
+
│ │ Consolidated Report │ │
|
|
22
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
23
|
+
│ │
|
|
24
|
+
└─────────────────────────────────────────────────────────────┘
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Triggers
|
|
28
|
+
|
|
29
|
+
The review can be triggered by:
|
|
30
|
+
|
|
31
|
+
| Trigger | Example |
|
|
32
|
+
|---------|---------|
|
|
33
|
+
| Slash command | `/wogi-session-review` |
|
|
34
|
+
| Natural language | "please review" |
|
|
35
|
+
| Natural language | "review what we did" |
|
|
36
|
+
| Natural language | "review the changes" |
|
|
37
|
+
|
|
38
|
+
## The 3 Review Agents
|
|
39
|
+
|
|
40
|
+
### Agent 1: Code & Logic Review
|
|
41
|
+
|
|
42
|
+
Focuses on code quality and correctness:
|
|
43
|
+
|
|
44
|
+
- **Code Quality**: Naming conventions, readability, structure
|
|
45
|
+
- **Logic Correctness**: Algorithm bugs, edge case handling
|
|
46
|
+
- **DRY Violations**: Duplicated code that should be extracted
|
|
47
|
+
- **Error Handling**: Missing try/catch, unhandled promises
|
|
48
|
+
- **Code Smells**: Long methods, deep nesting, magic numbers
|
|
49
|
+
|
|
50
|
+
### Agent 2: Security Review
|
|
51
|
+
|
|
52
|
+
Based on `agents/security.md` and OWASP Top 10:
|
|
53
|
+
|
|
54
|
+
- **Input Validation**: User inputs sanitized?
|
|
55
|
+
- **Authentication/Authorization**: Proper access controls?
|
|
56
|
+
- **Injection Risks**: SQL, XSS, command injection vulnerabilities
|
|
57
|
+
- **Sensitive Data**: Passwords, tokens, PII exposure
|
|
58
|
+
- **Error Messages**: Stack traces or secrets in error responses
|
|
59
|
+
|
|
60
|
+
### Agent 3: Architecture & Conflicts
|
|
61
|
+
|
|
62
|
+
Checks against project standards:
|
|
63
|
+
|
|
64
|
+
- **Component Reuse**: Check `app-map.md` for existing components
|
|
65
|
+
- **Pattern Consistency**: Check `decisions.md` for coding patterns
|
|
66
|
+
- **Redundancies**: Similar implementations that could be consolidated
|
|
67
|
+
- **Conflicts**: Code that contradicts existing implementations
|
|
68
|
+
- **Dead Code**: Unused imports, variables, unreachable code
|
|
69
|
+
|
|
70
|
+
## Command Options
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
/wogi-session-review # Review all session changes
|
|
74
|
+
/wogi-session-review --commits 3 # Include last 3 commits
|
|
75
|
+
/wogi-session-review --staged # Only staged changes
|
|
76
|
+
/wogi-session-review --security-only # Only run security agent
|
|
77
|
+
/wogi-session-review --quick # Faster, less thorough
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Output Format
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
╔══════════════════════════════════════════════════════════╗
|
|
84
|
+
║ Session Review ║
|
|
85
|
+
╚══════════════════════════════════════════════════════════╝
|
|
86
|
+
|
|
87
|
+
Files Reviewed: 5
|
|
88
|
+
• src/components/Button.tsx
|
|
89
|
+
• src/utils/validation.ts
|
|
90
|
+
• src/api/users.ts
|
|
91
|
+
|
|
92
|
+
───────────────────────────────────────────────────────────
|
|
93
|
+
CODE & LOGIC REVIEW
|
|
94
|
+
───────────────────────────────────────────────────────────
|
|
95
|
+
✓ Code quality: Good naming conventions
|
|
96
|
+
✓ Error handling: Appropriate try/catch blocks
|
|
97
|
+
⚠ Edge case: Missing null check in validation.ts:45
|
|
98
|
+
⚠ DRY: Similar validation logic in users.ts and validation.ts
|
|
99
|
+
|
|
100
|
+
───────────────────────────────────────────────────────────
|
|
101
|
+
SECURITY REVIEW
|
|
102
|
+
───────────────────────────────────────────────────────────
|
|
103
|
+
✓ Input validation: Present on all user inputs
|
|
104
|
+
✓ Authentication: Properly checked before data access
|
|
105
|
+
⚠ Potential: SQL injection risk in users.ts:78
|
|
106
|
+
|
|
107
|
+
───────────────────────────────────────────────────────────
|
|
108
|
+
ARCHITECTURE & CONFLICTS
|
|
109
|
+
───────────────────────────────────────────────────────────
|
|
110
|
+
✓ Component reuse: Button follows app-map patterns
|
|
111
|
+
✓ Pattern consistency: Follows decisions.md conventions
|
|
112
|
+
⚠ Redundancy: validateEmail exists in utils/helpers.ts
|
|
113
|
+
|
|
114
|
+
───────────────────────────────────────────────────────────
|
|
115
|
+
SUMMARY
|
|
116
|
+
───────────────────────────────────────────────────────────
|
|
117
|
+
Total Issues: 4 (0 critical, 0 high, 4 medium)
|
|
118
|
+
|
|
119
|
+
Top Recommendations:
|
|
120
|
+
1. Add null check in validation.ts:45
|
|
121
|
+
2. Use parameterized query in users.ts:78
|
|
122
|
+
3. Consolidate email validation logic
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Severity Levels
|
|
126
|
+
|
|
127
|
+
| Level | Description | Action |
|
|
128
|
+
|-------|-------------|--------|
|
|
129
|
+
| **Critical** | Security vulnerability, data loss risk | Must fix before merge |
|
|
130
|
+
| **High** | Bug, logic error, significant issue | Should fix before merge |
|
|
131
|
+
| **Medium** | Code quality, DRY violation, minor issue | Recommend fixing |
|
|
132
|
+
| **Low** | Style, suggestion, nice-to-have | Optional |
|
|
133
|
+
|
|
134
|
+
## Integration
|
|
135
|
+
|
|
136
|
+
### With Quality Gates
|
|
137
|
+
|
|
138
|
+
Session review can be added to quality gates:
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"qualityGates": {
|
|
143
|
+
"feature": {
|
|
144
|
+
"require": ["tests", "sessionReview", "appMapUpdate"]
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### With CI/CD
|
|
151
|
+
|
|
152
|
+
Run before merge:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# In CI pipeline
|
|
156
|
+
./scripts/flow session-review --commits 1 --json > review.json
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Best Practices
|
|
160
|
+
|
|
161
|
+
1. **Run before committing** - Catch issues early
|
|
162
|
+
2. **Use after major changes** - Especially refactors
|
|
163
|
+
3. **Focus on security for public-facing code** - Use `--security-only`
|
|
164
|
+
4. **Review the summary** - Top recommendations are most important
|
|
165
|
+
|
|
166
|
+
## Related Commands
|
|
167
|
+
|
|
168
|
+
- `/wogi-health` - Check workflow integrity
|
|
169
|
+
- `/wogi-session-end` - End session and commit
|
|
170
|
+
- `./scripts/flow verify all` - Run all verification gates
|