wogiflow 1.8.3 → 1.8.5

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.
Files changed (63) hide show
  1. package/.claude/commands/wogi-guided-edit.md +1 -1
  2. package/.claude/commands/wogi-register.md +28 -3
  3. package/.claude/commands/wogi-review.md +1 -1
  4. package/.claude/commands/wogi-start.md +6 -1
  5. package/.claude/commands/wogi-statusline-setup.md +9 -0
  6. package/.claude/docs/commands.md +1 -0
  7. package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +1 -1
  8. package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +57 -43
  9. package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +8 -6
  10. package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +10 -7
  11. package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +12 -12
  12. package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +37 -45
  13. package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +6 -7
  14. package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +44 -107
  15. package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +7 -7
  16. package/.claude/docs/knowledge-base/02-task-execution/README.md +47 -18
  17. package/.claude/docs/knowledge-base/02-task-execution/branch-finalization.md +141 -0
  18. package/.claude/docs/knowledge-base/02-task-execution/debug-hypothesis.md +166 -0
  19. package/.claude/docs/knowledge-base/02-task-execution/eval-system.md +157 -0
  20. package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +6 -6
  21. package/.claude/docs/knowledge-base/02-task-execution/model-management.md +12 -10
  22. package/.claude/docs/knowledge-base/02-task-execution/peer-review.md +180 -0
  23. package/.claude/docs/knowledge-base/02-task-execution/plan-management.md +175 -0
  24. package/.claude/docs/knowledge-base/02-task-execution/quick-capture.md +165 -0
  25. package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +14 -14
  26. package/.claude/docs/knowledge-base/03-self-improvement/README.md +31 -23
  27. package/.claude/docs/knowledge-base/03-self-improvement/long-input-extraction.md +175 -0
  28. package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +7 -6
  29. package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +15 -11
  30. package/.claude/docs/knowledge-base/03-self-improvement/rules-management.md +141 -0
  31. package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +25 -19
  32. package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +1 -1
  33. package/.claude/docs/knowledge-base/04-memory-context/context-management.md +39 -29
  34. package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +41 -35
  35. package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +24 -22
  36. package/.claude/docs/knowledge-base/05-development-tools/README.md +7 -11
  37. package/.claude/docs/knowledge-base/05-development-tools/browser-debugging.md +210 -0
  38. package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +44 -178
  39. package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +1 -0
  40. package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +13 -9
  41. package/.claude/docs/knowledge-base/06-safety-guardrails/project-audit.md +179 -0
  42. package/.claude/docs/knowledge-base/README.md +6 -3
  43. package/.claude/docs/knowledge-base/configuration/all-options.md +770 -1167
  44. package/.claude/skills/_template/skill.md +4 -4
  45. package/.claude/skills/figma-analyzer/skill.md +62 -0
  46. package/.workflow/bridges/claude-bridge.js +5 -0
  47. package/README.md +30 -25
  48. package/lib/installer.js +3 -1
  49. package/package.json +1 -1
  50. package/scripts/flow-bridge-state.js +73 -2
  51. package/scripts/flow-figma-match.js +25 -9
  52. package/scripts/flow-figma-orchestrator.js +517 -0
  53. package/scripts/flow-figma-registry.js +480 -0
  54. package/scripts/flow-figma-state-analyzer.js +521 -0
  55. package/scripts/flow-plugin-registry.js +112 -10
  56. package/scripts/flow-watch +5 -2
  57. package/scripts/hooks/adapters/claude-code.js +44 -4
  58. package/scripts/hooks/core/instructions-loaded.js +330 -0
  59. package/scripts/hooks/core/phase-gate.js +27 -3
  60. package/scripts/hooks/entry/claude-code/instructions-loaded.js +56 -0
  61. package/scripts/hooks/entry/claude-code/pre-tool-use.js +46 -12
  62. package/scripts/hooks/entry/claude-code/session-start.js +33 -0
  63. package/scripts/hooks/entry/claude-code/user-prompt-submit.js +15 -3
@@ -47,7 +47,7 @@ This command modifies files. It MUST operate within one of these contexts:
47
47
  4. **Apply**: Make approved changes
48
48
  - **After each file edit**, validate by file type:
49
49
  - `.js` files: `node --check <file>` + ESLint
50
- - `.ts`/`.tsx` files: `npx tsc --noEmit` + ESLint
50
+ - `.ts`/`.tsx` files: Run typecheck from `config.scripts.typecheck` (read from `.workflow/config.json`) + ESLint
51
51
  - `.json` files: JSON parse check
52
52
  - Other types: skip validation
53
53
  - Do NOT proceed to next file until current file passes validation
@@ -52,7 +52,18 @@ If MCP inspection yields few or no results:
52
52
 
53
53
  ### Step 3: Build Plugin Entry
54
54
 
55
- From the discovered information, construct:
55
+ From the discovered information, construct each capability entry. For each capability, classify its **mode** and **flowPhases**:
56
+
57
+ **Mode Classification Guide:**
58
+ | Mode | When to use | Examples |
59
+ |------|-------------|----------|
60
+ | `standalone` | Action works independently, no task context needed | Screenshots, status checks, lookups, notifications, sending messages |
61
+ | `flow-integrated` | Action is part of a development workflow phase | Running tests (validating), design checks (exploring), deploys (completing), linting (validating) |
62
+ | `trigger` | Action feeds events INTO WogiFlow routing | Error alerts → `/wogi-bug`, deployment failures → `/wogi-story`, PR comments → `/wogi-review` |
63
+
64
+ **flowPhases** (only for `flow-integrated` mode): `exploring`, `coding`, `validating`, `completing`
65
+
66
+ **outputFormat**: `text` (default), `json` (structured data), `artifact` (file/image output)
56
67
 
57
68
  ```json
58
69
  {
@@ -66,7 +77,10 @@ From the discovered information, construct:
66
77
  "description": "What this action does",
67
78
  "triggerPhrases": ["send to X", "push to X"],
68
79
  "mcpTool": "mcp__server__tool_name or null",
69
- "requiresTask": false
80
+ "requiresTask": false,
81
+ "mode": "standalone|flow-integrated|trigger",
82
+ "flowPhases": ["validating"],
83
+ "outputFormat": "text"
70
84
  }
71
85
  ],
72
86
  "metadata": {
@@ -91,10 +105,11 @@ Source: MCP tools | Web search | Manual
91
105
 
92
106
  Capabilities discovered (N):
93
107
  1. <action>: <description>
94
- Triggers: "phrase 1", "phrase 2"
108
+ Mode: standalone | Triggers: "phrase 1", "phrase 2"
95
109
  MCP Tool: mcp__server__tool
96
110
 
97
111
  2. <action>: <description>
112
+ Mode: flow-integrated | Phases: validating, completing
98
113
  Triggers: "phrase 3"
99
114
 
100
115
  Trigger phrases (top-level):
@@ -183,3 +198,13 @@ When `config.plugins.autoScanOnSessionStart` is true:
183
198
  - Display: `New plugin detected: <name>. Auto-registered with N capabilities.`
184
199
 
185
200
  Mid-session plugin installs require manual `/wogi-register <name>`.
201
+
202
+ ## Post-Registration: Activate Plugin
203
+
204
+ After saving the plugin to the registry (Step 5), automatically run `/reload-plugins` to activate the newly registered plugin without requiring a session restart. This ensures the plugin's MCP tools are immediately available.
205
+
206
+ ```
207
+ After registration completes, tell the user:
208
+ "Plugin registered. Running /reload-plugins to activate it immediately."
209
+ Then invoke /reload-plugins.
210
+ ```
@@ -1473,7 +1473,7 @@ For each issue, follow this cycle:
1473
1473
  │ Run targeted verification: │
1474
1474
  │ node --check <file> (syntax) │
1475
1475
  │ npx eslint <file> (lint) │
1476
- npx tsc --noEmit (types)
1476
+ config.scripts.typecheck (types)
1477
1477
  │ ↓ │
1478
1478
  │ If PASS → Mark todo: completed │
1479
1479
  │ If FAIL → Fix and retry │
@@ -20,7 +20,12 @@ When invoked with a **quoted request** instead of a task ID, assess intent and r
20
20
 
21
21
  **Plugin Registry Routing**: After command catalog finds no match and `config.plugins.enabled`, check `.workflow/state/plugin-registry.json` for trigger phrase matches (score >= 0.5). Plugin routing has LOWER priority than built-in commands.
22
22
 
23
- **Routing order**: Task ID Long input gate → Command Catalog → Plugin Registry → Default (`/wogi-story`)
23
+ **Plugin Mode-Aware Routing** (when a plugin match is found):
24
+ - **Standalone** (`mode: 'standalone'`): If `config.plugins.standaloneBypassTask` is true, skip task creation. Clear routing flag, let the AI use the plugin directly. Log the action with `#plugin:<name>` tag by running `node -e "require('./scripts/flow-plugin-registry').logPluginAction({pluginName:'<name>',action:'<action>',mode:'standalone'})"`.
25
+ - **Flow-integrated** (`mode: 'flow-integrated'`): Requires an active task. If no task is in progress, route to `/wogi-story` first. The plugin becomes available during its declared `flowPhases` (injected via phase context prompt).
26
+ - **Trigger** (`mode: 'trigger'`): Route to the appropriate `/wogi-*` command based on the trigger type (error triggers → `/wogi-bug`, deployment triggers → `/wogi-story`, PR triggers → `/wogi-review`). The plugin action feeds INTO WogiFlow routing.
27
+
28
+ **Routing order**: Task ID → Long input gate → Command Catalog → Plugin Registry (mode-aware) → Default (`/wogi-story`)
24
29
 
25
30
  ### Command Catalog
26
31
 
@@ -60,6 +60,10 @@ Add or update the `statusLine` section in `~/.claude/settings.json`:
60
60
  | `{{task.id}}` | Current WogiFlow task ID (if any) |
61
61
  | `{{task.title}}` | Current task title |
62
62
  | `{{skill}}` | Currently active skill |
63
+ | `{{worktree.name}}` | Worktree name (if running in --worktree session) |
64
+ | `{{worktree.branch}}` | Worktree branch name |
65
+ | `{{worktree.path}}` | Worktree directory path |
66
+ | `{{worktree.original}}` | Original repo directory |
63
67
 
64
68
  ### Recommended Formats
65
69
 
@@ -78,6 +82,11 @@ Add or update the `statusLine` section in `~/.claude/settings.json`:
78
82
  "format": "[{{task.id}}] {{model}} | {{context_window.used_percentage}}% used | {{#if skill}}{{skill}}{{/if}}"
79
83
  ```
80
84
 
85
+ **With Worktree** (for parallel task execution):
86
+ ```json
87
+ "format": "{{#if worktree}}[WT:{{worktree.branch}}] {{/if}}{{#if task}}[{{task.id}}] {{/if}}{{model}} | Ctx: {{context_window.used_percentage}}%"
88
+ ```
89
+
81
90
  ## WogiFlow Integration
82
91
 
83
92
  To have WogiFlow automatically update the status line with current task info, we need to:
@@ -39,6 +39,7 @@ When user types these commands, execute the corresponding action immediately.
39
39
  | `/wogi-init` | Initialize workflow structure. Create all directories and state files. Use for new projects. |
40
40
  | `/wogi-review-fix` | Code review with automatic fixing. Runs full review process then auto-fixes all findings. |
41
41
  | `/wogi-peer-review` | Multi-model code review - different AI models review same code for diverse perspectives. |
42
+ | `/wogi-eval` | Multi-judge scoring system — 1 Opus + 2 Sonnet judges score task output across 5 dimensions. |
42
43
  | `/wogi-triage` | Interactive walkthrough of review findings from last-review.json. Categorize, dismiss, or create tasks. |
43
44
  | `/wogi-onboard` | Analyze existing project with deep temporal analysis, pattern extraction, and state file generation. |
44
45
  | `/wogi-rescan` | Re-scan project after external changes. Smart diff: auto-adds new items, auto-removes deleted items, presents conflicts one-by-one. Options: `--dry-run`, `--auto-resolve`, `--category`, `--since`. |
@@ -167,7 +167,7 @@ This analyzes your codebase and populates:
167
167
  1. **Review Generated Files**: Check `decisions.md` and `app-map.md` for accuracy
168
168
  2. **Run Health Check**: `/wogi-health` to verify setup
169
169
  3. **View Tasks**: `/wogi-ready` to see available tasks
170
- 4. **Start Working**: `/wogi-start TASK-001`
170
+ 4. **Start Working**: `/wogi-start wf-a1b2c3d4`
171
171
 
172
172
  ---
173
173
 
@@ -45,34 +45,39 @@ Component indexing solves:
45
45
 
46
46
  ## Configuration
47
47
 
48
+ Component indexing is now configured via the `registries` array in `config.json`. Each registry object defines a type, directories, and ignore patterns:
49
+
48
50
  ```json
49
51
  {
50
- "componentIndex": {
51
- "autoScan": true, // Enable auto-scanning
52
- "scanOn": [ // When to scan
53
- "sessionStart", // On new Claude session
54
- "afterTask", // After task completion
55
- "preCommit" // Before git commits (requires hooks)
56
- ],
57
- "staleAfterMinutes": 60, // Refresh if older than this
58
- "directories": [ // Where to look
59
- "src/components",
60
- "src/hooks",
61
- "src/services",
62
- "src/pages",
63
- "src/modules",
64
- "app"
65
- ],
66
- "ignore": [ // What to skip
67
- "*.test.*",
68
- "*.spec.*",
69
- "*.stories.*",
70
- "index.ts",
71
- "index.js",
72
- "__tests__",
73
- "__mocks__"
74
- ]
75
- }
52
+ "registries": [
53
+ {
54
+ "id": "components",
55
+ "autoScan": true, // Enable auto-scanning
56
+ "scanOn": [ // When to scan
57
+ "sessionStart", // On new Claude session
58
+ "afterTask", // After task completion
59
+ "preCommit" // Before git commits (requires hooks)
60
+ ],
61
+ "staleAfterMinutes": 60, // Refresh if older than this
62
+ "directories": [ // Where to look
63
+ "src/components",
64
+ "src/hooks",
65
+ "src/services",
66
+ "src/pages",
67
+ "src/modules",
68
+ "app"
69
+ ],
70
+ "ignore": [ // What to skip
71
+ "*.test.*",
72
+ "*.spec.*",
73
+ "*.stories.*",
74
+ "index.ts",
75
+ "index.js",
76
+ "__tests__",
77
+ "__mocks__"
78
+ ]
79
+ }
80
+ ]
76
81
  }
77
82
  ```
78
83
 
@@ -167,10 +172,13 @@ Based on `scanOn` configuration:
167
172
 
168
173
  ```json
169
174
  {
170
- "componentIndex": {
171
- "scanOn": ["sessionStart", "afterTask", "preCommit"],
172
- "staleAfterMinutes": 60
173
- }
175
+ "registries": [
176
+ {
177
+ "id": "components",
178
+ "scanOn": ["sessionStart", "afterTask", "preCommit"],
179
+ "staleAfterMinutes": 60
180
+ }
181
+ ]
174
182
  }
175
183
  ```
176
184
 
@@ -300,28 +308,34 @@ Check directories are correct:
300
308
  ls -la src/components/
301
309
  ```
302
310
 
303
- Update config if needed:
311
+ Update the component registry entry in the `registries` array:
304
312
  ```json
305
313
  {
306
- "componentIndex": {
307
- "directories": ["components", "lib"] // Adjust paths
308
- }
314
+ "registries": [
315
+ {
316
+ "id": "components",
317
+ "directories": ["components", "lib"] // Adjust paths
318
+ }
319
+ ]
309
320
  }
310
321
  ```
311
322
 
312
323
  ### Too Many Results
313
324
 
314
- Add ignore patterns:
325
+ Add ignore patterns to the component registry entry:
315
326
  ```json
316
327
  {
317
- "componentIndex": {
318
- "ignore": [
319
- "*.test.*",
320
- "*.stories.*",
321
- "*.d.ts",
322
- "internal/*"
323
- ]
324
- }
328
+ "registries": [
329
+ {
330
+ "id": "components",
331
+ "ignore": [
332
+ "*.test.*",
333
+ "*.stories.*",
334
+ "*.d.ts",
335
+ "internal/*"
336
+ ]
337
+ }
338
+ ]
325
339
  }
326
340
  ```
327
341
 
@@ -37,7 +37,7 @@ trustedDependencies = ["wogiflow"]
37
37
 
38
38
  ```
39
39
  .workflow/
40
- ├── config.json # Configuration (200+ options)
40
+ ├── config.json # Configuration (500+ options)
41
41
  ├── state/
42
42
  │ ├── ready.json # Task queues
43
43
  │ ├── app-map.md # Component registry
@@ -81,9 +81,11 @@ Check `.workflow/config.json` and adjust settings:
81
81
  "strictMode": true,
82
82
  "requireStoryForMediumTasks": true
83
83
  },
84
- "loops": {
85
- "enforced": true,
86
- "maxRetries": 5
84
+ "execution": {
85
+ "loops": {
86
+ "enforced": true,
87
+ "maxRetries": 5
88
+ }
87
89
  }
88
90
  }
89
91
  ```
@@ -125,8 +127,8 @@ The installer creates a balanced config:
125
127
  | Setting | Default | Purpose |
126
128
  |---------|---------|---------|
127
129
  | `enforcement.strictMode` | `true` | Require tasks for implementation |
128
- | `loops.enforced` | `true` | Enable self-completing loops |
129
- | `loops.maxRetries` | `5` | Retry failed verifications |
130
+ | `execution.loops.enforced` | `true` | Enable self-completing loops |
131
+ | `execution.loops.maxRetries` | `5` | Retry failed verifications |
130
132
  | `durableSteps.enabled` | `true` | Enable crash recovery |
131
133
  | `autoLog` | `true` | Auto-log changes |
132
134
  | `autoUpdateAppMap` | `true` | Auto-update component registry |
@@ -169,12 +169,12 @@ From known issues:
169
169
  {
170
170
  "tasks": [
171
171
  {
172
- "id": "TASK-001",
172
+ "id": "wf-a1b2c3d4",
173
173
  "title": "Login sometimes fails on slow connections",
174
174
  "type": "bugfix"
175
175
  },
176
176
  {
177
- "id": "TASK-002",
177
+ "id": "wf-b2c3d4e5",
178
178
  "title": "Dashboard needs performance optimization",
179
179
  "type": "refactor"
180
180
  }
@@ -242,7 +242,7 @@ Edit files to add:
242
242
  ### 5. Start Working
243
243
 
244
244
  ```bash
245
- /wogi-start TASK-001
245
+ /wogi-start wf-a1b2c3d4
246
246
  ```
247
247
 
248
248
  ---
@@ -288,12 +288,15 @@ This helps local LLMs understand your project structure.
288
288
 
289
289
  ### Components Not Detected
290
290
 
291
- Check directory patterns in config:
291
+ Check directory patterns in the `registries` array in config:
292
292
  ```json
293
293
  {
294
- "componentIndex": {
295
- "directories": ["src/components", "src/hooks", "src/services"]
296
- }
294
+ "registries": [
295
+ {
296
+ "type": "component",
297
+ "directories": ["src/components", "src/hooks", "src/services"]
298
+ }
299
+ ]
297
300
  }
298
301
  ```
299
302
 
@@ -45,7 +45,7 @@ User: "Add a login button"
45
45
  ┌─────────────────────────────────────────┐
46
46
  │ Does task exist in ready.json? │
47
47
  ├─────────────────────────────────────────┤
48
- │ YES → /wogi-start TASK-XXX
48
+ │ YES → /wogi-start wf-XXXXXXXX
49
49
  │ NO → Assess size first │
50
50
  └─────────────────────────────────────────┘
51
51
  ```
@@ -102,7 +102,7 @@ Stories define acceptance criteria that drive the execution loop.
102
102
  This generates a structured story:
103
103
 
104
104
  ```markdown
105
- # [TASK-015] Add user authentication
105
+ # [wf-a1b2c3d4] Add user authentication
106
106
 
107
107
  ## User Story
108
108
  **As a** user
@@ -136,7 +136,7 @@ This generates a structured story:
136
136
  1. Story is created with proposed acceptance criteria
137
137
  2. User reviews and approves (or modifies)
138
138
  3. Task is added to `ready.json` with criteria attached
139
- 4. `/wogi-start TASK-XXX` uses criteria to drive loop
139
+ 4. `/wogi-start wf-XXXXXXXX` uses criteria to drive loop
140
140
 
141
141
  ---
142
142
 
@@ -170,13 +170,13 @@ Original story: "Add user authentication"
170
170
 
171
171
  Decomposed tasks:
172
172
  ```
173
- TASK-015-A: Create AuthService with login/logout methods
174
- TASK-015-B: Create LoginForm component
175
- TASK-015-C: Add form validation with error states
176
- TASK-015-D: Handle loading state during auth
177
- TASK-015-E: Add error handling for failed auth
178
- TASK-015-F: Integrate with existing routing
179
- TASK-015-G: Add session persistence
173
+ wf-a1b2c3d4-01: Create AuthService with login/logout methods
174
+ wf-a1b2c3d4-02: Create LoginForm component
175
+ wf-a1b2c3d4-03: Add form validation with error states
176
+ wf-a1b2c3d4-04: Handle loading state during auth
177
+ wf-a1b2c3d4-05: Add error handling for failed auth
178
+ wf-a1b2c3d4-06: Integrate with existing routing
179
+ wf-a1b2c3d4-07: Add session persistence
180
180
  ```
181
181
 
182
182
  ### Configuration Options
@@ -238,8 +238,8 @@ For complex tasks, analyze multiple implementation approaches before committing.
238
238
  | `/wogi-story "title"` | Create story with acceptance criteria |
239
239
  | `/wogi-story "title" --deep` | Create story with forced decomposition |
240
240
  | `/wogi-ready` | Show available tasks |
241
- | `/wogi-start TASK-XXX` | Start executing a task |
242
- | `/wogi-deps TASK-XXX` | Show task dependencies |
241
+ | `/wogi-start wf-XXXXXXXX` | Start executing a task |
242
+ | `/wogi-deps wf-XXXXXXXX` | Show task dependencies |
243
243
 
244
244
  ---
245
245
 
@@ -55,18 +55,20 @@ The execution loop is the core mechanism that ensures task completion. When enab
55
55
 
56
56
  ```json
57
57
  {
58
- "loops": {
59
- "enabled": true, // Enable execution loops
60
- "enforced": true, // Cannot exit until complete
58
+ "execution": {
59
+ "maxIterations": 20,
60
+ "maxRetries": 5,
61
61
  "blockExitUntilComplete": true,
62
- "requireVerification": true, // Must verify each criterion
63
- "blockOnSkip": true, // Cannot skip without approval
64
- "maxRetries": 5, // Failed verification retries
65
- "maxIterations": 20, // Total loop cycles
66
- "commitEvery": 3, // Checkpoint commits
67
- "pauseBetweenScenarios": false,
68
62
  "autoInferVerification": true,
69
- "fallbackToManual": true
63
+ "loops": {
64
+ "enabled": true,
65
+ "enforced": true,
66
+ "requireVerification": true,
67
+ "blockOnSkip": true,
68
+ "commitEvery": 3,
69
+ "pauseBetweenScenarios": false,
70
+ "fallbackToManual": true
71
+ }
70
72
  }
71
73
  }
72
74
  ```
@@ -106,7 +108,7 @@ Durable sessions persist:
106
108
  1. **Task Start**: Creates `durable-session.json` with all steps
107
109
  2. **Step Execution**: Updates step status after each action
108
110
  3. **Interruption**: Session persists on disk
109
- 4. **Resume**: `/wogi-start TASK-XXX` detects existing session
111
+ 4. **Resume**: `/wogi-start wf-XXXXXXXX` detects existing session
110
112
  5. **Completion**: Session archived for learning
111
113
 
112
114
  ### Configuration
@@ -114,10 +116,7 @@ Durable sessions persist:
114
116
  ```json
115
117
  {
116
118
  "durableSteps": {
117
- "enabled": true, // Enable durable sessions
118
- "autoResume": true, // Auto-resume on restart
119
- "checkSuspensionsOnStart": true,
120
- "defaultMaxAttempts": 5
119
+ "enabled": true
121
120
  }
122
121
  }
123
122
  ```
@@ -126,7 +125,7 @@ Durable sessions persist:
126
125
 
127
126
  ```json
128
127
  {
129
- "taskId": "TASK-015",
128
+ "taskId": "wf-a1b2c3d4",
130
129
  "taskType": "task",
131
130
  "startedAt": "2024-01-15T10:30:00Z",
132
131
  "steps": [
@@ -155,7 +154,7 @@ Durable sessions persist:
155
154
 
156
155
  ```bash
157
156
  # Normal start detects existing session
158
- /wogi-start TASK-015
157
+ /wogi-start wf-a1b2c3d4
159
158
  # Output: "🔄 Resuming from durable session (3/7 steps completed)"
160
159
 
161
160
  # Force resume after suspension
@@ -185,10 +184,7 @@ For tasks that require waiting (external reviews, CI runs, etc.), suspend/resume
185
184
  ```json
186
185
  {
187
186
  "suspension": {
188
- "enabled": true,
189
- "pollIntervalSeconds": 60, // How often to check poll conditions
190
- "maxPollAttempts": 120, // Max checks before timeout
191
- "reminderAfterHours": 24 // Remind about suspended tasks
187
+ "enabled": true
192
188
  }
193
189
  }
194
190
  ```
@@ -233,13 +229,13 @@ flow suspend --poll \
233
229
 
234
230
  ## Hybrid Mode
235
231
 
236
- Hybrid mode uses a local LLM for execution while Claude plans, saving 85-95% of tokens.
232
+ Hybrid mode uses a local LLM for execution while Claude plans, with configurable token savings depending on model and task complexity.
237
233
 
238
234
  ### The Trade-off
239
235
 
240
236
  | Aspect | Claude Only | Hybrid Mode |
241
237
  |--------|-------------|-------------|
242
- | Token Cost | 100% | 5-15% |
238
+ | Token Cost | 100% | Reduced (varies by model) |
243
239
  | Code Quality | Highest | Good (varies by model) |
244
240
  | Speed | Fast | Depends on hardware |
245
241
  | Context | Full | Limited to prompt |
@@ -256,9 +252,10 @@ Hybrid mode uses a local LLM for execution while Claude plans, saving 85-95% of
256
252
 
257
253
  ```json
258
254
  {
259
- "hybrid": {
260
- "enabled": true,
261
- "executor": {
255
+ "models": {
256
+ "hybrid": {
257
+ "enabled": true,
258
+ "executor": {
262
259
  "type": "local", // "local" | "cloud"
263
260
  "provider": "ollama", // "ollama" | "lmstudio" | "openai" | etc.
264
261
  "providerEndpoint": "http://localhost:11434",
@@ -268,12 +265,13 @@ Hybrid mode uses a local LLM for execution while Claude plans, saving 85-95% of
268
265
  "adaptToExecutor": true, // Adjust plan for model capabilities
269
266
  "useAdapterKnowledge": true // Use learned model behaviors
270
267
  },
271
- "settings": {
272
- "temperature": 0.7,
273
- "maxTokens": 4096,
274
- "maxRetries": 20,
275
- "timeout": 120000,
276
- "autoExecute": false // Require approval before execution
268
+ "settings": {
269
+ "temperature": 0.7,
270
+ "maxTokens": 4096,
271
+ "maxRetries": 20,
272
+ "timeout": 120000,
273
+ "autoExecute": false
274
+ }
277
275
  }
278
276
  }
279
277
  }
@@ -318,7 +316,7 @@ flow session stats
318
316
  # Output:
319
317
  # Total sessions: 15
320
318
  # Completed: 14
321
- # Avg tokens saved: 85.3%
319
+ # Avg tokens saved: varies by model
322
320
  ```
323
321
 
324
322
  ---
@@ -331,16 +329,10 @@ Execute independent tasks simultaneously using git worktrees.
331
329
 
332
330
  ```json
333
331
  {
334
- "parallel": {
335
- "enabled": true,
336
- "maxConcurrent": 3, // Max parallel tasks
337
- "autoApprove": false, // Require approval
338
- "requireWorktree": true, // Isolate in worktrees
339
- "showProgress": true,
340
- "autoDetect": true, // Detect parallelizable tasks
341
- "autoSuggest": true, // Suggest when beneficial
342
- "autoExecute": false, // Require approval
343
- "minTasksForParallel": 2
332
+ "parallelExecution": {
333
+ "parallel": {
334
+ "enabled": true
335
+ }
344
336
  }
345
337
  }
346
338
  ```
@@ -357,7 +349,7 @@ Execute independent tasks simultaneously using git worktrees.
357
349
 
358
350
  ```bash
359
351
  # Suggest parallel execution
360
- /wogi-bulk TASK-001 TASK-002 TASK-003
352
+ /wogi-bulk wf-a1b2c3d4 wf-b2c3d4e5 wf-c3d4e5f6
361
353
 
362
354
  # Check parallel status
363
355
  flow parallel status
@@ -378,7 +370,7 @@ node scripts/flow-task-enforcer.js status
378
370
 
379
371
  # Output:
380
372
  # 📊 Active Loop Session
381
- # Task: TASK-015
373
+ # Task: wf-a1b2c3d4
382
374
  # Iteration: 3
383
375
  # Retries: 1
384
376
  #
@@ -24,9 +24,8 @@ Auto-inference automatically verifies certain types of criteria without manual c
24
24
 
25
25
  ```json
26
26
  {
27
- "loops": {
28
- "autoInferVerification": true, // Enable auto-inference
29
- "fallbackToManual": true // Ask user if can't infer
27
+ "execution": {
28
+ "autoInferVerification": true
30
29
  }
31
30
  }
32
31
  ```
@@ -126,7 +125,7 @@ The `smokeTest` gate ensures basic functionality still works after refactoring.
126
125
 
127
126
  ### Gate Execution
128
127
 
129
- When running `/wogi-done TASK-XXX`:
128
+ When task completion runs (automatically via `/wogi-start`):
130
129
 
131
130
  ```
132
131
  Running quality gates...
@@ -146,7 +145,7 @@ If a gate fails:
146
145
  1. Error output is captured
147
146
  2. Failure details saved to `.workflow/state/last-failure.json`
148
147
  3. Task completion is blocked
149
- 4. Fix issues and retry `/wogi-done`
148
+ 4. Fix issues and retry
150
149
 
151
150
  ```
152
151
  Running quality gates...
@@ -181,8 +180,8 @@ Run validation commands after file edits or before commits.
181
180
  "afterFileEdit": {
182
181
  "enabled": true,
183
182
  "commands": {
184
- "*.ts": ["npx tsc --noEmit"],
185
- "*.tsx": ["npx tsc --noEmit", "npx eslint {file} --fix"],
183
+ "*.ts": ["npm run type-check"],
184
+ "*.tsx": ["npm run type-check", "npx eslint {file} --fix"],
186
185
  "*.js": ["npx eslint {file} --fix"],
187
186
  "*.jsx": ["npx eslint {file} --fix"]
188
187
  },