wogiflow 1.1.7 → 1.1.9
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-bulk.md +147 -9
- package/.claude/commands/wogi-capture.md +111 -20
- package/.claude/commands/wogi-research.md +73 -17
- package/.claude/commands/wogi-start.md +142 -12
- package/.claude/docs/development-guide.md +163 -0
- package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +7 -4
- package/.claude/docs/knowledge-base/05-development-tools/mcp-tools-generated.md +217 -0
- package/.claude/docs/knowledge-base/future-features.md +2 -2
- package/.claude/docs/release-process.md +70 -0
- package/.claude/rules/operations/github-releases.md +51 -0
- package/.workflow/bridges/index.js +20 -100
- package/.workflow/templates/claude-md.hbs +48 -32
- package/lib/installer.js +5 -30
- package/lib/utils.js +4 -3
- package/package.json +1 -1
- package/scripts/flow +39 -13
- package/scripts/flow-aggregate.js +54 -10
- package/scripts/flow-background.js +540 -0
- package/scripts/flow-bridge-state.js +48 -92
- package/scripts/flow-bridge.js +17 -75
- package/scripts/flow-bulk-orchestrator.js +711 -0
- package/scripts/flow-capture.js +609 -29
- package/scripts/flow-health.js +2 -7
- package/scripts/flow-hooks.js +1 -1
- package/scripts/flow-mcp-docs.js +652 -0
- package/scripts/flow-model-router.js +5 -0
- package/scripts/flow-onboard +38 -8
- package/scripts/flow-permissions.js +362 -0
- package/scripts/flow-research-protocol.js +91 -9
- package/scripts/flow-session-end.js +90 -8
- package/scripts/flow-story.js +57 -23
- package/scripts/flow-task-analyzer.js +35 -5
- package/scripts/hooks/adapters/index.js +2 -101
- package/scripts/hooks/core/research-gate.js +78 -2
- package/scripts/hooks/core/task-gate.js +22 -0
- package/scripts/postinstall.js +2 -4
- package/.claude/rules/README.md +0 -60
- package/.claude/rules/architecture/component-reuse.md +0 -38
- package/.claude/rules/architecture/document-structure.md +0 -76
- package/.claude/rules/architecture/feature-refactoring-cleanup.md +0 -87
- package/.claude/rules/architecture/model-management.md +0 -35
- package/.claude/rules/code-style/naming-conventions.md +0 -55
- package/.claude/rules/security/security-patterns.md +0 -176
- package/.workflow/bridges/codex-bridge.js +0 -466
- package/.workflow/bridges/cursor-bridge.js +0 -573
- package/.workflow/bridges/gemini-bridge.js +0 -566
- package/.workflow/bridges/kimi-bridge.js +0 -454
- package/.workflow/bridges/opencode-bridge.js +0 -825
- package/.workflow/specs/architecture.md.template +0 -24
- package/.workflow/specs/stack.md.template +0 -33
- package/.workflow/specs/testing.md.template +0 -36
- package/.workflow/templates/codex-config.hbs +0 -69
- package/.workflow/templates/cursor-rules.mdc.hbs +0 -142
- package/.workflow/templates/gemini-md.hbs +0 -360
- package/.workflow/templates/kimi-agents-md.hbs +0 -139
- package/.workflow/templates/opencode-agents-md.hbs +0 -158
- package/.workflow/templates/opencode-config.hbs +0 -27
- package/scripts/flow-jira-integration.js +0 -579
- package/scripts/flow-linear-integration.js +0 -631
- package/scripts/flow-parity-check.js +0 -281
- package/scripts/hooks/adapters/cursor.js +0 -421
- package/scripts/hooks/adapters/gemini.js +0 -368
- package/scripts/hooks/adapters/opencode.js +0 -317
- package/scripts/hooks/entry/cursor/after-file-edit.js +0 -127
- package/scripts/hooks/entry/cursor/before-shell.js +0 -131
- package/scripts/hooks/entry/cursor/before-submit-prompt.js +0 -102
- package/scripts/hooks/entry/cursor/session-start.js +0 -148
- package/scripts/hooks/entry/cursor/stop.js +0 -135
- package/scripts/hooks/entry/gemini-cli/after-tool.js +0 -119
- package/scripts/hooks/entry/gemini-cli/before-agent.js +0 -140
- package/scripts/hooks/entry/gemini-cli/before-tool.js +0 -189
- package/scripts/hooks/entry/gemini-cli/session-end.js +0 -120
- package/scripts/hooks/entry/gemini-cli/session-start.js +0 -102
- package/scripts/hooks/entry/opencode/prompt-append.js +0 -76
- package/scripts/hooks/entry/opencode/session-start.js +0 -109
- package/scripts/hooks/entry/opencode/tool-after.js +0 -77
- package/scripts/hooks/entry/opencode/tool-before.js +0 -143
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
Execute multiple tasks in sequence, following all workflow rules.
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**v3.0**: Now supports **orchestrator mode** where each task executes in a fresh sub-agent context, preventing context pollution. Inspired by Matt Maher's "do-work" pattern.
|
|
4
|
+
|
|
5
|
+
**v2.1**: Uses task queue for automatic continuation between tasks.
|
|
4
6
|
|
|
5
7
|
## Usage
|
|
6
8
|
|
|
@@ -13,7 +15,38 @@ Execute multiple tasks in sequence, following all workflow rules.
|
|
|
13
15
|
- "do wf-001, wf-002, wf-003"
|
|
14
16
|
- "work on these 3 stories"
|
|
15
17
|
|
|
16
|
-
## How It Works (
|
|
18
|
+
## How It Works (v3.0 - Orchestrator Mode)
|
|
19
|
+
|
|
20
|
+
**Default behavior** (when `bulkOrchestrator.enabled: true`):
|
|
21
|
+
|
|
22
|
+
1. **Build Execution Plan**:
|
|
23
|
+
- Detect dependencies between tasks
|
|
24
|
+
- Group independent tasks into parallel batches
|
|
25
|
+
- Order batches to respect dependencies
|
|
26
|
+
|
|
27
|
+
2. **Execute Each Batch**:
|
|
28
|
+
- For each batch, spawn sub-agent(s) with **fresh context**
|
|
29
|
+
- Independent tasks in same batch run in parallel
|
|
30
|
+
- Dependent tasks wait for their dependencies
|
|
31
|
+
|
|
32
|
+
3. **Pass-Forward Summaries**:
|
|
33
|
+
- When Task A completes, generate completion summary
|
|
34
|
+
- Task B (if dependent on A) receives summary as context
|
|
35
|
+
- Ensures continuity without context pollution
|
|
36
|
+
|
|
37
|
+
4. **Failure Handling** (configurable via `onFailure`):
|
|
38
|
+
- `stop-all`: Stop entire queue on any failure
|
|
39
|
+
- `stop-dependent`: Skip tasks that depend on failed task, continue others
|
|
40
|
+
- `continue`: Log failure and continue all remaining tasks
|
|
41
|
+
|
|
42
|
+
**Benefits over v2.1:**
|
|
43
|
+
- No context pollution between tasks
|
|
44
|
+
- Can run for hours without context exhaustion
|
|
45
|
+
- Each task is atomic and reliable
|
|
46
|
+
|
|
47
|
+
## How It Works (v2.1 - Legacy Mode)
|
|
48
|
+
|
|
49
|
+
When `bulkOrchestrator.enabled: false`:
|
|
17
50
|
|
|
18
51
|
1. **Initialize Queue**:
|
|
19
52
|
- Parse task IDs from arguments or natural language
|
|
@@ -36,27 +69,98 @@ Execute multiple tasks in sequence, following all workflow rules.
|
|
|
36
69
|
- Quality gates and validation
|
|
37
70
|
- Request log and app-map updates
|
|
38
71
|
|
|
39
|
-
## Execution Flow
|
|
72
|
+
## Execution Flow (v3.0 Orchestrator)
|
|
40
73
|
|
|
41
74
|
```
|
|
42
75
|
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
-
│ /wogi-bulk
|
|
76
|
+
│ /wogi-bulk wf-001 wf-002 wf-003 │
|
|
77
|
+
├─────────────────────────────────────────────────────────────┤
|
|
78
|
+
│ 1. Detect dependencies between tasks │
|
|
79
|
+
│ 2. Build execution batches: │
|
|
80
|
+
│ Batch 1: [wf-001, wf-002] (independent, run parallel) │
|
|
81
|
+
│ Batch 2: [wf-003] (depends on wf-001, run after) │
|
|
82
|
+
│ │
|
|
83
|
+
│ 3. Execute Batch 1: │
|
|
84
|
+
│ ┌─────────────────┐ ┌─────────────────┐ │
|
|
85
|
+
│ │ Sub-Agent A │ │ Sub-Agent B │ ← Parallel │
|
|
86
|
+
│ │ /wogi-start │ │ /wogi-start │ │
|
|
87
|
+
│ │ wf-001 │ │ wf-002 │ │
|
|
88
|
+
│ │ (fresh context) │ │ (fresh context) │ │
|
|
89
|
+
│ └────────┬────────┘ └────────┬────────┘ │
|
|
90
|
+
│ │ │ │
|
|
91
|
+
│ ▼ ▼ │
|
|
92
|
+
│ [Summary A] [Summary B] │
|
|
93
|
+
│ │
|
|
94
|
+
│ 4. Execute Batch 2: │
|
|
95
|
+
│ ┌─────────────────────────────────┐ │
|
|
96
|
+
│ │ Sub-Agent C │ │
|
|
97
|
+
│ │ Context: Summary A (dependency) │ ← Pass-forward │
|
|
98
|
+
│ │ /wogi-start wf-003 │ │
|
|
99
|
+
│ │ (fresh context + summary) │ │
|
|
100
|
+
│ └─────────────────────────────────┘ │
|
|
101
|
+
│ │
|
|
102
|
+
│ 5. All batches complete - show summary │
|
|
103
|
+
└─────────────────────────────────────────────────────────────┘
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Execution Flow (v2.1 Legacy)
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
110
|
+
│ /wogi-bulk 3 --no-orchestrator │
|
|
44
111
|
├─────────────────────────────────────────────────────────────┤
|
|
45
112
|
│ 1. Get 3 ready tasks sorted by priority │
|
|
46
113
|
│ 2. Initialize task queue: [wf-001, wf-002, wf-003] │
|
|
47
|
-
│ 3. Start wf-001 (full loop)
|
|
114
|
+
│ 3. Start wf-001 (full loop, SAME context) │
|
|
48
115
|
│ → All scenarios implemented and verified │
|
|
49
116
|
│ → Quality gates pass │
|
|
50
117
|
│ → Committed │
|
|
51
118
|
│ 4. Stop hook detects queue has more tasks │
|
|
52
|
-
│ 5. Auto-continue to wf-002 (full loop)
|
|
119
|
+
│ 5. Auto-continue to wf-002 (full loop, SAME context) │
|
|
53
120
|
│ → ... │
|
|
54
|
-
│ 6. Auto-continue to wf-003 (full loop)
|
|
121
|
+
│ 6. Auto-continue to wf-003 (full loop, SAME context) │
|
|
55
122
|
│ → ... │
|
|
56
123
|
│ 7. Queue empty - stop │
|
|
57
124
|
└─────────────────────────────────────────────────────────────┘
|
|
58
125
|
```
|
|
59
126
|
|
|
127
|
+
## Continuous Mode (v3.1)
|
|
128
|
+
|
|
129
|
+
When enabled, the orchestrator keeps checking for new work instead of stopping when the queue is empty. This enables the two-terminal workflow:
|
|
130
|
+
|
|
131
|
+
- **Terminal 1**: Running `/wogi-bulk --continuous` - continuously processing tasks
|
|
132
|
+
- **Terminal 2**: Capturing ideas with `/wogi-capture` - ideas become ready tasks
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
136
|
+
│ /wogi-bulk --continuous │
|
|
137
|
+
├─────────────────────────────────────────────────────────────┤
|
|
138
|
+
│ 1. Process initial queue (wf-001, wf-002) │
|
|
139
|
+
│ → All tasks complete │
|
|
140
|
+
│ │
|
|
141
|
+
│ 2. Queue empty - but continuous mode enabled │
|
|
142
|
+
│ → Wait 60 seconds (configurable) │
|
|
143
|
+
│ → Check for new tasks... │
|
|
144
|
+
│ │
|
|
145
|
+
│ 3. New task found! (wf-003 was captured during wait) │
|
|
146
|
+
│ → Process wf-003 │
|
|
147
|
+
│ → Task complete │
|
|
148
|
+
│ │
|
|
149
|
+
│ 4. Queue empty again │
|
|
150
|
+
│ → Wait 60 seconds │
|
|
151
|
+
│ → Check 1/3... no new tasks │
|
|
152
|
+
│ → Wait 60 seconds │
|
|
153
|
+
│ → Check 2/3... no new tasks │
|
|
154
|
+
│ → Wait 60 seconds │
|
|
155
|
+
│ → Check 3/3... no new tasks │
|
|
156
|
+
│ │
|
|
157
|
+
│ 5. Max idle checks reached - stop │
|
|
158
|
+
│ → Show summary of all completed work │
|
|
159
|
+
└─────────────────────────────────────────────────────────────┘
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Graceful shutdown**: Press `Ctrl+C` to stop the loop. Current task will complete (or checkpoint) before stopping.
|
|
163
|
+
|
|
60
164
|
## Output
|
|
61
165
|
|
|
62
166
|
**Start:**
|
|
@@ -95,14 +199,48 @@ Queue Summary:
|
|
|
95
199
|
|
|
96
200
|
## Options
|
|
97
201
|
|
|
98
|
-
|
|
202
|
+
### Orchestrator Options (v3.0)
|
|
203
|
+
- `--no-orchestrator` - Disable orchestrator mode, use legacy v2.1 behavior (same context)
|
|
204
|
+
- `--parallel-limit <N>` - Max tasks to run in parallel (default: 3)
|
|
205
|
+
- `--on-failure <mode>` - How to handle failures: `stop-all`, `stop-dependent`, `continue`
|
|
206
|
+
- `--summary-depth <level>` - Pass-forward summary detail: `minimal`, `standard`, `detailed`
|
|
207
|
+
|
|
208
|
+
### Continuous Mode Options (v3.1)
|
|
209
|
+
- `--continuous` - Enable continuous mode (keep checking for new tasks)
|
|
210
|
+
- `--no-continuous` - Disable continuous mode (stop when initial queue is done)
|
|
211
|
+
- `--idle-timeout <N>` - Seconds to wait when idle before rechecking (default: 60)
|
|
212
|
+
- `--idle-action <mode>` - What to do when idle: `stop` or `wait`
|
|
213
|
+
|
|
214
|
+
### General Options
|
|
215
|
+
- `--auto` - Don't pause between tasks (default behavior)
|
|
99
216
|
- `--pause` - Pause and ask before each task
|
|
100
|
-
- `--plan` - Show
|
|
217
|
+
- `--plan` - Show execution plan without executing (dry run)
|
|
101
218
|
- `--feature <name>` - Only tasks in specified feature
|
|
102
219
|
|
|
103
220
|
## Configuration
|
|
104
221
|
|
|
105
222
|
In `config.json`:
|
|
223
|
+
|
|
224
|
+
### Orchestrator Configuration (v3.0)
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"bulkOrchestrator": {
|
|
228
|
+
"enabled": true, // Use sub-agent isolation (false = legacy mode)
|
|
229
|
+
"parallelLimit": 3, // Max tasks to run in parallel
|
|
230
|
+
"useWorktrees": true, // Use git worktrees for parallel isolation
|
|
231
|
+
"onFailure": "stop-dependent", // stop-all | stop-dependent | continue
|
|
232
|
+
"summaryDepth": "standard", // minimal | standard | detailed
|
|
233
|
+
"continuous": {
|
|
234
|
+
"enabled": false, // Enable continuous mode
|
|
235
|
+
"idleAction": "stop", // stop | wait when queue is empty
|
|
236
|
+
"idleTimeout": 60, // Seconds to wait before rechecking
|
|
237
|
+
"maxIdleChecks": 3 // Max times to check before stopping
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Task Queue Configuration (v2.1 Legacy)
|
|
106
244
|
```json
|
|
107
245
|
{
|
|
108
246
|
"taskQueue": {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
Quick capture an idea or bug without interrupting your current work. Provide a brief title: `/wogi-capture Add dark mode toggle`
|
|
2
2
|
|
|
3
|
+
**v2.1**: Auto-Grouping + **Routing** (certain → roadmap, uncertain → discussion queue)
|
|
4
|
+
|
|
3
5
|
## Usage
|
|
4
6
|
|
|
5
7
|
```bash
|
|
@@ -9,38 +11,103 @@ Quick capture an idea or bug without interrupting your current work. Provide a b
|
|
|
9
11
|
|
|
10
12
|
Just provide a brief title. That's it.
|
|
11
13
|
|
|
12
|
-
##
|
|
14
|
+
## Routing (v2.1)
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
Ideas are automatically routed based on certainty:
|
|
17
|
+
|
|
18
|
+
- **Certain ideas** (clear action) → Added to `roadmap.md`
|
|
19
|
+
- **Uncertain ideas** (questions, "maybe") → Added to `discussion-queue.md`
|
|
20
|
+
|
|
21
|
+
### Auto-Detection
|
|
22
|
+
|
|
23
|
+
The system detects uncertainty from:
|
|
24
|
+
- **Question marks**: "should we add GraphQL?"
|
|
25
|
+
- **Hedging words**: "maybe", "might", "could", "perhaps"
|
|
26
|
+
- **Tentative phrases**: "what if", "should we", "thinking about", "wondering"
|
|
27
|
+
|
|
28
|
+
### Examples
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
/wogi-capture "add dark mode toggle"
|
|
32
|
+
→ Certain (explicit action) → Roadmap
|
|
33
|
+
|
|
34
|
+
/wogi-capture "should we maybe use GraphQL?"
|
|
35
|
+
→ Uncertain (question + "maybe") → Discussion queue
|
|
36
|
+
|
|
37
|
+
/wogi-capture "refactor auth" --certain
|
|
38
|
+
→ Forced to roadmap
|
|
39
|
+
|
|
40
|
+
/wogi-capture "add caching" --idea
|
|
41
|
+
→ Forced to discussion queue
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Routing Flags
|
|
17
45
|
|
|
18
|
-
|
|
46
|
+
- `--certain` - Force routing to roadmap
|
|
47
|
+
- `--idea` - Force routing to discussion queue
|
|
48
|
+
- `--no-route` - Disable routing, just add to backlog
|
|
19
49
|
|
|
20
|
-
|
|
50
|
+
## Auto-Grouping (v2.0)
|
|
21
51
|
|
|
22
|
-
|
|
52
|
+
When you capture multiple related items at once, they're automatically grouped:
|
|
23
53
|
|
|
24
|
-
|
|
54
|
+
```
|
|
55
|
+
/wogi-capture "change send button to blue, change cancel button to blue, change delete button to blue"
|
|
56
|
+
→ ONE capture: "Update button colors" (3 items grouped)
|
|
57
|
+
|
|
58
|
+
/wogi-capture "fix login bug, add dark mode, update footer"
|
|
59
|
+
→ THREE captures (unrelated items split)
|
|
60
|
+
|
|
61
|
+
/wogi-capture "change header to blue, change footer to blue, fix the login bug"
|
|
62
|
+
→ TWO captures: color changes grouped, bug fix separate
|
|
63
|
+
```
|
|
25
64
|
|
|
26
|
-
|
|
65
|
+
### Grouping Heuristics
|
|
27
66
|
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
67
|
+
Items are grouped when they share:
|
|
68
|
+
- **Same action type**: color changes, size changes, text updates
|
|
69
|
+
- **Same target**: button, header, form, etc.
|
|
70
|
+
- **Same item type**: bugs with bugs, features with features
|
|
32
71
|
|
|
33
|
-
|
|
72
|
+
### Disable Grouping
|
|
34
73
|
|
|
74
|
+
Use `--no-group` to create separate items without grouping:
|
|
75
|
+
```bash
|
|
76
|
+
/wogi-capture "change all buttons to blue, fix the form" --no-group
|
|
77
|
+
→ TWO captures (no grouping applied)
|
|
35
78
|
```
|
|
36
|
-
/wogi-capture Add export to PDF
|
|
37
|
-
→ Captured: Add export to PDF (feature)
|
|
38
79
|
|
|
39
|
-
|
|
40
|
-
→ Captured: Bug: form validation not working (bug)
|
|
80
|
+
## What Happens
|
|
41
81
|
|
|
42
|
-
|
|
43
|
-
|
|
82
|
+
1. **Parse input** - Split by commas, "and", numbered lists
|
|
83
|
+
2. **Analyze items** - Extract action type, target component, item type
|
|
84
|
+
3. **Group related** - Combine similar items above threshold
|
|
85
|
+
4. **Detect certainty** - Check for uncertainty signals
|
|
86
|
+
5. **Route** - Certain → roadmap, uncertain → discussion queue
|
|
87
|
+
6. **Auto-detect type** from keywords:
|
|
88
|
+
- "bug", "fix", "broken", "error", "crash", "fails" → `bug`
|
|
89
|
+
- Everything else → `feature`
|
|
90
|
+
7. **Auto-tag** from current context (if a task is in progress)
|
|
91
|
+
|
|
92
|
+
## Files
|
|
93
|
+
|
|
94
|
+
| Certainty | Destination |
|
|
95
|
+
|-----------|-------------|
|
|
96
|
+
| Certain | `.workflow/roadmap.md` |
|
|
97
|
+
| Uncertain | `.workflow/state/discussion-queue.md` |
|
|
98
|
+
| No routing | `.workflow/state/ready.json` (backlog) |
|
|
99
|
+
|
|
100
|
+
### Discussion Queue Format
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Pending Review
|
|
104
|
+
|
|
105
|
+
### 2026-01-29
|
|
106
|
+
- [ ] Should we refactor the auth system? (captured: 10:30)
|
|
107
|
+
- [ ] Maybe add GraphQL support? (captured: 11:15)
|
|
108
|
+
|
|
109
|
+
## Reviewed
|
|
110
|
+
<!-- Moved items go here with decision -->
|
|
44
111
|
```
|
|
45
112
|
|
|
46
113
|
## CLI Usage
|
|
@@ -48,6 +115,8 @@ Later you can:
|
|
|
48
115
|
```bash
|
|
49
116
|
node scripts/flow-capture.js "Add dark mode toggle"
|
|
50
117
|
node scripts/flow-capture.js "Bug: login fails" --json
|
|
118
|
+
node scripts/flow-capture.js "maybe add caching?" --idea
|
|
119
|
+
node scripts/flow-capture.js "refactor auth" --certain
|
|
51
120
|
```
|
|
52
121
|
|
|
53
122
|
## Options
|
|
@@ -55,3 +124,25 @@ node scripts/flow-capture.js "Bug: login fails" --json
|
|
|
55
124
|
- `--type <type>` - Force type (bug/feature) instead of auto-detect
|
|
56
125
|
- `--tags <tags>` - Add comma-separated tags
|
|
57
126
|
- `--json` - Output JSON instead of minimal confirmation
|
|
127
|
+
- `--no-group` - Disable auto-grouping (create separate items)
|
|
128
|
+
- `--certain` - Force routing to roadmap
|
|
129
|
+
- `--idea` - Force routing to discussion queue
|
|
130
|
+
- `--no-route` - Disable routing, just add to backlog
|
|
131
|
+
|
|
132
|
+
## Configuration
|
|
133
|
+
|
|
134
|
+
In `config.json`:
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"capture": {
|
|
138
|
+
"autoGroup": true, // Enable/disable auto-grouping
|
|
139
|
+
"groupingThreshold": 0.5, // Similarity threshold (0-1)
|
|
140
|
+
"maxGroupSize": 5, // Max items per group
|
|
141
|
+
"routing": {
|
|
142
|
+
"enabled": true, // Enable routing
|
|
143
|
+
"defaultCertainty": "certain", // Default when not detected
|
|
144
|
+
"autoDetect": true // Auto-detect from text
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
@@ -20,42 +20,98 @@ This command is **automatically triggered** (when strict mode is enabled) for:
|
|
|
20
20
|
3. **Existence Questions**: "Is there a...", "Does X exist?"
|
|
21
21
|
4. **Architecture Questions**: "How does X work?", "How is X structured?"
|
|
22
22
|
5. **Integration Questions**: "How to integrate X with Y?"
|
|
23
|
+
6. **Comparison Questions**: "What can we learn from X?", "How does X compare to Y?"
|
|
23
24
|
|
|
24
25
|
## Research Protocol Phases
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
There are two flows depending on question type:
|
|
28
|
+
|
|
29
|
+
### Standard Flow (Capability, Existence, Architecture Questions)
|
|
30
|
+
|
|
31
|
+
For questions like "Does X support Y?" or "How does X work?":
|
|
32
|
+
|
|
33
|
+
**Phase 1: Scope Mapping**
|
|
27
34
|
- Identify all potentially relevant local files
|
|
28
35
|
- Identify external tools/libraries mentioned
|
|
29
36
|
- Generate search keywords
|
|
30
|
-
- Create `research-scope.json`
|
|
31
37
|
|
|
32
|
-
|
|
38
|
+
**Phase 2: Local Evidence Gathering**
|
|
33
39
|
- Read ALL files identified in scope (not just the first match)
|
|
34
40
|
- Extract relevant code snippets and documentation
|
|
35
|
-
- Log findings to research notes
|
|
36
41
|
- **DO NOT SKIP FILES** - partial reading leads to false conclusions
|
|
37
42
|
|
|
38
|
-
|
|
43
|
+
**Phase 3: External Verification**
|
|
39
44
|
- For each external tool/library:
|
|
40
45
|
- Web search: "[tool] documentation [feature] [current year]"
|
|
41
46
|
- Read official docs (top 3 results minimum)
|
|
42
|
-
- Extract quotes with URLs
|
|
43
47
|
- **ASSUME training data is 2+ years stale**
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
**Phase 4: Assumption Check**
|
|
46
50
|
- List ALL assumptions made during research
|
|
47
|
-
- Tag each
|
|
48
|
-
- `[VERIFIED]` with HIGH confidence + source
|
|
49
|
-
- `[UNVERIFIED]` with LOW confidence - **MUST be verified before proceeding**
|
|
51
|
+
- Tag each: `[VERIFIED]` with source or `[UNVERIFIED]`
|
|
50
52
|
- Loop back to Phase 2/3 for any unverified assumptions
|
|
51
53
|
|
|
52
|
-
|
|
53
|
-
- Generate research report with
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
**Phase 5: Synthesis**
|
|
55
|
+
- Generate research report with citations
|
|
56
|
+
- State confidence level (HIGH/MEDIUM/LOW)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### Comparison Flow (External-First)
|
|
61
|
+
|
|
62
|
+
For questions like "What can we learn from X?" or "How does X compare to Y?":
|
|
63
|
+
|
|
64
|
+
**⚠️ CRITICAL: Do external research FIRST**
|
|
65
|
+
|
|
66
|
+
You're comparing an external tool to your codebase. You must understand what the external tool HAS before you can search locally for equivalents.
|
|
67
|
+
|
|
68
|
+
**Phase 0: External Research (DO THIS FIRST)**
|
|
69
|
+
- Web search the external tool/repository
|
|
70
|
+
- Read their documentation, README, source code
|
|
71
|
+
- List the features, patterns, or approaches they have
|
|
72
|
+
- **OUTPUT**: A clear list of "External tool X has: [features]"
|
|
73
|
+
|
|
74
|
+
**Phase 1: Scope Mapping (informed by Phase 0)**
|
|
75
|
+
- For EACH feature found in Phase 0:
|
|
76
|
+
- Identify local files that might have equivalent functionality
|
|
77
|
+
- Use search patterns based on what you learned externally
|
|
78
|
+
|
|
79
|
+
**Phase 2: Local Evidence Gathering**
|
|
80
|
+
- For EACH external feature, search the local codebase
|
|
81
|
+
- Read ALL potentially relevant local files
|
|
82
|
+
- Note specific implementations with file paths
|
|
83
|
+
|
|
84
|
+
**Phase 4: Assumption Check**
|
|
85
|
+
- List assumptions, mark [VERIFIED] or [UNVERIFIED]
|
|
86
|
+
- Verify anything uncertain
|
|
87
|
+
|
|
88
|
+
**Phase 5: Synthesis**
|
|
89
|
+
- Generate comparison table: External Feature | Local Equivalent | Status
|
|
90
|
+
- Cite sources for each claim
|
|
91
|
+
|
|
92
|
+
**Phase 6: Recommendation Verification (MANDATORY)**
|
|
93
|
+
|
|
94
|
+
Before presenting ANY recommendation ("We should add X"):
|
|
95
|
+
|
|
96
|
+
1. **Search local codebase** for equivalent functionality
|
|
97
|
+
- Use Glob/Grep with relevant patterns
|
|
98
|
+
- Search for synonyms and related terms
|
|
99
|
+
2. **Read at least one potentially relevant file**
|
|
100
|
+
- Don't just search - actually read the code
|
|
101
|
+
3. **Mark each recommendation**:
|
|
102
|
+
- `EXISTS` - Already implemented → **DO NOT recommend**
|
|
103
|
+
- `PARTIAL` - Partially implemented → Recommend enhancement
|
|
104
|
+
- `MISSING` - Not implemented → Safe to recommend
|
|
105
|
+
4. **Include verification evidence** in output:
|
|
106
|
+
```
|
|
107
|
+
Searched: [patterns used]
|
|
108
|
+
Read: [files examined]
|
|
109
|
+
Status: EXISTS/PARTIAL/MISSING
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**ONLY recommend features marked MISSING or PARTIAL.**
|
|
113
|
+
|
|
114
|
+
This phase prevents recommending features that already exist in the codebase.
|
|
59
115
|
|
|
60
116
|
## Critical Rules
|
|
61
117
|
|