claude-code-workflow 7.1.0 → 7.2.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.
@@ -30,7 +30,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
30
30
  | `workflow:roadmap-with-file` | strategic requirement roadmap → issue creation → execution-plan.json |
31
31
  | `workflow:integration-test-cycle` | explore → test dev → test-fix cycle → reflection |
32
32
  | `workflow:refactor-cycle` | tech debt discovery → prioritize → execute → validate |
33
- | `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue,实现 0→1 开发)|
33
+ | `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue)|
34
34
 
35
35
  ## Core Concept: Minimum Execution Units (最小执行单元)
36
36
 
@@ -85,7 +85,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
85
85
  | Unit Name | Commands | Purpose | Output |
86
86
  |-----------|----------|---------|--------|
87
87
  | **Analyze to Plan** | analyze-with-file → lite-plan | Collaborative analysis → auto chain to lite-plan | discussion.md + code |
88
- | **Brainstorm to Plan** | brainstorm-with-file → lite-plan | Multi-perspective ideation → auto chain to lite-plan | brainstorm.md + code |
88
+ | **Brainstorm to Plan** | brainstorm-with-file → plan → execute | Multi-perspective ideation → formal planning | brainstorm.md + code |
89
89
  | **Debug With File** | debug-with-file | Hypothesis-driven debugging with documentation | understanding.md |
90
90
  | **Collaborative Plan** | collaborative-plan-with-file → unified-execute-with-file | Multi-agent collaborative planning and execution | plan-note.md + code |
91
91
  | **Roadmap Plan** | roadmap-with-file → team-planex | Requirement decomposition and wave execution | execution-plan.json + code |
@@ -118,7 +118,7 @@ Interactive orchestration tool: analyze task → discover commands → recommend
118
118
  | issue:queue | issue:execute | Issue Workflow, Rapid-to-Issue, Brainstorm-to-Issue |
119
119
  | issue:from-brainstorm | issue:queue | Brainstorm-to-Issue |
120
120
  | analyze-with-file | lite-plan (auto) | Analyze to Plan |
121
- | brainstorm-with-file | lite-plan (auto), issue:from-brainstorm | Brainstorm to Plan, Brainstorm-to-Issue |
121
+ | brainstorm-with-file | plan (auto), issue:from-brainstorm | Brainstorm to Plan, Brainstorm-to-Issue |
122
122
  | collaborative-plan-with-file | unified-execute-with-file | Collaborative Plan |
123
123
  | roadmap-with-file | team-planex | Roadmap Plan |
124
124
  | unified-execute-with-file | (terminal) | Collaborative Plan |
@@ -165,11 +165,13 @@ function detectTaskType(text) {
165
165
  if (/urgent|production|critical/.test(text) && /fix|bug/.test(text)) return 'bugfix-hotfix';
166
166
  // With-File workflow patterns (specific keywords - must come before generic bugfix)
167
167
  if (/brainstorm.*issue|头脑风暴.*issue|idea.*issue|想法.*issue|从.*头脑风暴|convert.*brainstorm/.test(text)) return 'brainstorm-to-issue';
168
+ // 0→1 Greenfield detection (priority over brainstorm/roadmap)
169
+ if (/从零开始|from scratch|0.*to.*1|greenfield|全新.*开发|新项目|new project|build.*from.*ground/.test(text)) return 'greenfield';
168
170
  if (/brainstorm|ideation|头脑风暴|创意|发散思维|creative thinking/.test(text)) return 'brainstorm-file';
169
171
  if (/debug.*document|hypothesis.*debug|深度调试|假设.*验证|systematic debug/.test(text)) return 'debug-file';
170
172
  if (/analyze.*document|collaborative analysis|协作分析|深度.*理解/.test(text)) return 'analyze-file';
171
173
  if (/collaborative.*plan|协作.*规划|多人.*规划|multi.*agent.*plan|Plan Note|分工.*规划/.test(text)) return 'collaborative-plan';
172
- if (/roadmap|需求.*规划|需求.*拆解|requirement.*plan|progressive.*plan|路线.*图/.test(text)) return 'roadmap';
174
+ if (/roadmap|路线.*图/.test(text)) return 'roadmap'; // Narrowed: only explicit roadmap keywords
173
175
  if (/spec.*gen|specification|PRD|产品需求|产品文档|产品规格/.test(text)) return 'spec-driven';
174
176
  // Cycle workflow patterns
175
177
  if (/integration.*test|集成测试|端到端.*测试|e2e.*test|integration.*cycle/.test(text)) return 'integration-test';
@@ -407,7 +409,7 @@ const commandPorts = {
407
409
  output: ['brainstorm-document'],
408
410
  tags: ['brainstorm', 'with-file'],
409
411
  atomic_group: 'brainstorm-to-plan',
410
- note: 'Auto chains to lite-plan with brainstorm artifacts'
412
+ note: 'Auto chains to workflow-plan with brainstorm artifacts'
411
413
  },
412
414
  'issue:from-brainstorm': {
413
415
  name: 'issue:from-brainstorm',
@@ -515,8 +517,10 @@ function determinePortFlow(taskType, constraints) {
515
517
  // Issue workflow types
516
518
  'issue-batch': { inputPort: 'codebase', outputPort: 'completed-issues' },
517
519
  'issue-transition': { inputPort: 'requirement', outputPort: 'completed-issues' },
518
- // With-File workflow types (auto chain to lite-plan)
519
- 'brainstorm-file': { inputPort: 'exploration-topic', outputPort: 'code' },
520
+ // 0→1 Greenfield (exploration formal planning → execution)
521
+ 'greenfield': { inputPort: 'exploration-topic', outputPort: 'test-passed' },
522
+ // With-File workflow types (auto chain to plan)
523
+ 'brainstorm-file': { inputPort: 'exploration-topic', outputPort: 'test-passed' },
520
524
  'brainstorm-to-issue': { inputPort: 'brainstorm-document', outputPort: 'completed-issues' },
521
525
  'debug-file': { inputPort: 'bug-report', outputPort: 'understanding-document' },
522
526
  'analyze-file': { inputPort: 'analysis-topic', outputPort: 'code' },
@@ -957,7 +961,8 @@ Task: <description>
957
961
  | **issue-batch** | 代码库 →【discover → plan → queue → execute】→ 完成 issues | Issue Workflow |
958
962
  | **issue-transition** | 需求 →【lite-plan → convert-to-plan → queue → execute】→ 完成 issues | Rapid-to-Issue |
959
963
  | **analyze-file** | 分析主题 →【analyze-with-file → lite-plan → lite-execute】→ 代码 | Analyze to Plan |
960
- | **brainstorm-file** | 主题 →【brainstorm-with-file → lite-plan → lite-execute】→ 代码 | Brainstorm to Plan |
964
+ | **greenfield** | 需求 →【brainstorm-with-file → plan → execute】→ 代码 → test | Greenfield (0→1) |
965
+ | **brainstorm-file** | 主题 →【brainstorm-with-file → plan → execute】→ 代码 → test | Brainstorm to Plan |
961
966
  | **brainstorm-to-issue** | brainstorm.md →【from-brainstorm → queue → execute】→ 完成 issues | Brainstorm to Issue |
962
967
  | **debug-file** | Bug报告 → debug-with-file → understanding.md (自包含) | Debug With File |
963
968
  | **collaborative-plan** | 需求 →【collaborative-plan-with-file → unified-execute-with-file】→ 代码 | Collaborative Plan |
@@ -28,7 +28,7 @@ Main process orchestrator: intent analysis → workflow selection → command ch
28
28
  | `workflow:roadmap-with-file` | strategic requirement roadmap → issue creation → execution-plan.json |
29
29
  | `workflow:integration-test-cycle` | explore → test dev → test-fix cycle → reflection |
30
30
  | `workflow:refactor-cycle` | tech debt discovery → prioritize → execute → validate |
31
- | `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue,实现 0→1 开发)|
31
+ | `team-planex` | planner + executor wave pipeline(适合大量零散 issue 或 roadmap 产出的清晰 issue)|
32
32
 
33
33
  ## Core Concept: Self-Contained Skills (自包含 Skill)
34
34
 
@@ -51,9 +51,11 @@ Main process orchestrator: intent analysis → workflow selection → command ch
51
51
  | 代码审查 | `review-cycle` | 内部完成 review→fix |
52
52
  | 多CLI协作 | `workflow-multi-cli-plan` | ACE context → CLI discussion → plan → execute |
53
53
  | 分析→规划 | `workflow:analyze-with-file` → `workflow-lite-plan` | 协作分析产物自动传递给 lite-plan |
54
- | 头脑风暴→规划 | `workflow:brainstorm-with-file` → `workflow-lite-plan` | 头脑风暴产物自动传递给 lite-plan |
54
+ | 头脑风暴→规划 | `workflow:brainstorm-with-file` → `workflow-plan` `workflow-execute` | 头脑风暴产物自动传递给正式规划 |
55
+ | 0→1 开发(小) | `workflow:brainstorm-with-file` → `workflow-plan` → `workflow-execute` | 小规模从零开始,探索+正式规划+实现 |
56
+ | 0→1 开发(中/大) | `workflow:brainstorm-with-file` → `workflow-plan` → `workflow-execute` | 探索后正式规划+执行 |
55
57
  | 协作规划 | `workflow:collaborative-plan-with-file` → `workflow:unified-execute-with-file` | 多 agent 协作规划→通用执行 |
56
- | 需求路线图 | `workflow:roadmap-with-file` → `team-planex` | 需求拆解→issue 创建→wave pipeline 执行 |
58
+ | 需求路线图 | `workflow:roadmap-with-file` → `team-planex` | 需求拆解→issue 创建→wave pipeline 执行(需明确 roadmap 关键词)|
57
59
  | 集成测试循环 | `workflow:integration-test-cycle` | 自迭代集成测试闭环 |
58
60
  | 重构循环 | `workflow:refactor-cycle` | 技术债务发现→重构→验证 |
59
61
 
@@ -124,12 +126,14 @@ function detectTaskType(text) {
124
126
  const patterns = {
125
127
  'bugfix-hotfix': /urgent|production|critical/ && /fix|bug/,
126
128
  // With-File workflows (documented exploration → auto chain to lite-plan)
129
+ // 0→1 Greenfield detection (priority over brainstorm/roadmap)
130
+ 'greenfield': /从零开始|from scratch|0.*to.*1|greenfield|全新.*开发|新项目|new project|build.*from.*ground/,
127
131
  'brainstorm': /brainstorm|ideation|头脑风暴|创意|发散思维|creative thinking|multi-perspective.*think|compare perspectives|探索.*可能/,
128
132
  'brainstorm-to-issue': /brainstorm.*issue|头脑风暴.*issue|idea.*issue|想法.*issue|从.*头脑风暴|convert.*brainstorm/,
129
133
  'debug-file': /debug.*document|hypothesis.*debug|troubleshoot.*track|investigate.*log|调试.*记录|假设.*验证|systematic debug|深度调试/,
130
134
  'analyze-file': /analyze.*document|explore.*concept|understand.*architecture|investigate.*discuss|collaborative analysis|分析.*讨论|深度.*理解|协作.*分析/,
131
135
  'collaborative-plan': /collaborative.*plan|协作.*规划|多人.*规划|multi.*agent.*plan|Plan Note|分工.*规划/,
132
- 'roadmap': /roadmap|需求.*规划|需求.*拆解|requirement.*plan|progressive.*plan|路线.*图/,
136
+ 'roadmap': /roadmap|路线.*图/, // Narrowed: only explicit roadmap keywords (需求规划/需求拆解 moved to greenfield routing)
133
137
  'spec-driven': /spec.*gen|specification|PRD|产品需求|产品文档|产品规格/,
134
138
  // Cycle workflows (self-iterating with reflection)
135
139
  'integration-test': /integration.*test|集成测试|端到端.*测试|e2e.*test|integration.*cycle/,
@@ -184,13 +188,18 @@ async function clarifyRequirements(analysis) {
184
188
  function selectWorkflow(analysis) {
185
189
  const levelMap = {
186
190
  'bugfix-hotfix': { level: 2, flow: 'bugfix.hotfix' },
191
+ // 0→1 Greenfield (complexity-adaptive routing)
192
+ 'greenfield': { level: analysis.complexity === 'high' ? 4 : 3,
193
+ flow: analysis.complexity === 'high' ? 'greenfield-phased' // large: brainstorm → workflow-plan → execute
194
+ : analysis.complexity === 'medium' ? 'greenfield-plan' // medium: brainstorm → workflow-plan → execute
195
+ : 'brainstorm-to-plan' }, // small: brainstorm → workflow-plan
187
196
  // With-File workflows → auto chain to lite-plan
188
- 'brainstorm': { level: 4, flow: 'brainstorm-to-plan' }, // brainstorm-with-file → lite-plan
197
+ 'brainstorm': { level: 4, flow: 'brainstorm-to-plan' }, // brainstorm-with-file → workflow-plan
189
198
  'brainstorm-to-issue': { level: 4, flow: 'brainstorm-to-issue' }, // Brainstorm → Issue workflow
190
199
  'debug-file': { level: 3, flow: 'debug-with-file' }, // Hypothesis-driven debugging (standalone)
191
200
  'analyze-file': { level: 3, flow: 'analyze-to-plan' }, // analyze-with-file → lite-plan
192
201
  'collaborative-plan': { level: 3, flow: 'collaborative-plan' }, // Multi-agent collaborative planning
193
- 'roadmap': { level: 4, flow: 'roadmap' }, // roadmap → team-planex
202
+ 'roadmap': { level: 4, flow: 'roadmap' }, // roadmap → team-planex (explicit roadmap only)
194
203
  'spec-driven': { level: 4, flow: 'spec-driven' }, // spec-generator → plan → execute
195
204
  // Cycle workflows (self-iterating with reflection)
196
205
  'integration-test': { level: 3, flow: 'integration-test-cycle' },
@@ -266,7 +275,11 @@ function buildCommandChain(workflow, analysis) {
266
275
 
267
276
  'brainstorm-to-plan': [
268
277
  { cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
269
- { cmd: 'workflow-lite-plan', args: '' } // auto receives brainstorm artifacts (brainstorm.md)
278
+ { cmd: 'workflow-plan', args: '' }, // formal planning with brainstorm artifacts
279
+ { cmd: 'workflow-execute', args: '' },
280
+ ...(analysis.constraints?.includes('skip-tests') ? [] : [
281
+ { cmd: 'workflow-test-fix', args: '' }
282
+ ])
270
283
  ],
271
284
 
272
285
  'debug-with-file': [
@@ -281,6 +294,26 @@ function buildCommandChain(workflow, analysis) {
281
294
  { cmd: 'issue:execute', args: '--queue auto' }
282
295
  ],
283
296
 
297
+ // 0→1 Greenfield (complexity-adaptive)
298
+ 'greenfield-plan': [
299
+ { cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
300
+ { cmd: 'workflow-plan', args: '' }, // formal planning after exploration
301
+ { cmd: 'workflow-execute', args: '' },
302
+ ...(analysis.constraints?.includes('skip-tests') ? [] : [
303
+ { cmd: 'workflow-test-fix', args: '' }
304
+ ])
305
+ ],
306
+
307
+ 'greenfield-phased': [
308
+ { cmd: 'workflow:brainstorm-with-file', args: `"${analysis.goal}"` },
309
+ { cmd: 'workflow-plan', args: '' }, // formal planning after exploration
310
+ { cmd: 'workflow-execute', args: '' },
311
+ { cmd: 'review-cycle', args: '' },
312
+ ...(analysis.constraints?.includes('skip-tests') ? [] : [
313
+ { cmd: 'workflow-test-fix', args: '' }
314
+ ])
315
+ ],
316
+
284
317
  // Universal Plan+Execute
285
318
  'collaborative-plan': [
286
319
  { cmd: 'workflow:collaborative-plan-with-file', args: `"${analysis.goal}"` },
@@ -338,7 +371,7 @@ function buildCommandChain(workflow, analysis) {
338
371
  { cmd: 'workflow-execute', args: '' }
339
372
  ],
340
373
 
341
- // Level 4 - Full Exploration
374
+ // Level 4 - Full Exploration (brainstorm → formal planning → execute)
342
375
  'full': [
343
376
  { cmd: 'brainstorm', args: `"${analysis.goal}"` },
344
377
  { cmd: 'workflow-plan', args: '' },
@@ -600,10 +633,12 @@ Phase 5: Execute Command Chain
600
633
  | "Use issue workflow" | issue-transition | 2.5 | workflow-lite-plan(plan-only) → convert-to-plan → queue → execute |
601
634
  | "协作分析: 认证架构" | analyze-file | 3 | analyze-with-file → workflow-lite-plan |
602
635
  | "深度调试 WebSocket" | debug-file | 3 | workflow:debug-with-file |
603
- | "头脑风暴: 通知系统" | brainstorm | 4 | brainstorm-with-file → workflow-lite-plan |
636
+ | "从零开始: 用户系统" | greenfield (medium) | 3 | brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix |
637
+ | "greenfield: 大型平台" | greenfield (high) | 4 | brainstorm-with-file → workflow-plan → workflow-execute → review-cycle → workflow-test-fix |
638
+ | "头脑风暴: 通知系统" | brainstorm | 4 | brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix |
604
639
  | "从头脑风暴创建 issue" | brainstorm-to-issue | 4 | issue:from-brainstorm → issue:queue → issue:execute |
605
640
  | "协作规划: 实时通知系统" | collaborative-plan | 3 | collaborative-plan-with-file → unified-execute-with-file |
606
- | "需求路线图: OAuth + 2FA" | roadmap | 4 | roadmap-with-file → team-planex |
641
+ | "roadmap: OAuth + 2FA" | roadmap | 4 | roadmap-with-file → team-planex |
607
642
  | "specification: 用户系统" | spec-driven | 4 | spec-generator → workflow-plan → workflow-execute → workflow-test-fix |
608
643
  | "集成测试: 支付流程" | integration-test | 3 | workflow:integration-test-cycle |
609
644
  | "重构 auth 模块" | refactor | 3 | workflow:refactor-cycle |
@@ -687,13 +722,13 @@ todos = [
687
722
 
688
723
  | Workflow | Purpose | Auto Chain | Output Folder |
689
724
  |----------|---------|------------|---------------|
690
- | **brainstorm-with-file** | Multi-perspective ideation | → workflow-lite-plan (auto) | `.workflow/.brainstorm/` |
725
+ | **brainstorm-with-file** | Multi-perspective ideation | → workflow-plan → workflow-execute (auto) | `.workflow/.brainstorm/` |
691
726
  | **debug-with-file** | Hypothesis-driven debugging | Standalone (self-contained) | `.workflow/.debug/` |
692
727
  | **analyze-with-file** | Collaborative analysis | → workflow-lite-plan (auto) | `.workflow/.analysis/` |
693
728
  | **collaborative-plan-with-file** | Multi-agent collaborative planning | → unified-execute-with-file | `.workflow/.planning/` |
694
729
  | **roadmap-with-file** | Strategic requirement roadmap | → team-planex | `.workflow/.planning/` |
695
730
 
696
- **Auto Chain Mechanism**: When `analyze-with-file` or `brainstorm-with-file` completes, its artifacts (discussion.md / brainstorm.md) are automatically passed to `workflow-lite-plan` as context input. No user intervention needed.
731
+ **Auto Chain Mechanism**: When `analyze-with-file` completes, its artifacts (discussion.md) are automatically passed to `workflow-lite-plan`. When `brainstorm-with-file` completes, its artifacts (brainstorm.md) are passed to `workflow-plan` for formal planning. No user intervention needed.
697
732
 
698
733
  **Detection Keywords**:
699
734
  - **brainstorm**: 头脑风暴, 创意, 发散思维, multi-perspective, compare perspectives
@@ -752,9 +787,14 @@ todos = [
752
787
  # Multi-CLI collaborative planning
753
788
  /ccw "multi-cli plan: 支付网关API设计" # → workflow-multi-cli-plan → workflow-test-fix
754
789
 
755
- # With-File workflows auto chain to lite-plan
790
+ # 01 Greenfield development (exploration-first)
791
+ /ccw "从零开始: 用户认证系统" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
792
+ /ccw "new project: 数据导出模块" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
793
+ /ccw "全新开发: 实时通知系统" # → brainstorm-with-file → workflow-plan → workflow-execute → review-cycle → workflow-test-fix
794
+
795
+ # With-File workflows → auto chain
756
796
  /ccw "协作分析: 理解现有认证架构的设计决策" # → analyze-with-file → workflow-lite-plan
757
- /ccw "头脑风暴: 用户通知系统重新设计" # → brainstorm-with-file → workflow-lite-plan
797
+ /ccw "头脑风暴: 用户通知系统重新设计" # → brainstorm-with-file → workflow-plan → workflow-execute → workflow-test-fix
758
798
  /ccw "深度调试: 系统随机崩溃问题" # → debug-with-file (standalone)
759
799
  /ccw "从头脑风暴 BS-通知系统-2025-01-28 创建 issue" # → brainstorm-to-issue (bridge)
760
800
 
@@ -763,8 +803,8 @@ todos = [
763
803
 
764
804
  # Collaborative planning & requirement workflows
765
805
  /ccw "协作规划: 实时通知系统架构" # → collaborative-plan-with-file → unified-execute
766
- /ccw "需求路线图: 用户认证 OAuth + 2FA" # → roadmap-with-file → team-planex
767
- /ccw "roadmap: 数据导出功能路线图" # → roadmap-with-file → team-planex
806
+ /ccw "roadmap: 用户认证 OAuth + 2FA 路线图" # → roadmap-with-file → team-planex (explicit roadmap only)
807
+ /ccw "roadmap: 数据导出功能路线图" # → roadmap-with-file → team-planex (explicit roadmap only)
768
808
 
769
809
  # Team workflows (kept: team-planex)
770
810
  /ccw "team planex: 用户认证系统" # → team-planex (planner + executor wave pipeline)
@@ -529,15 +529,17 @@ ${task_description}
529
529
 
530
530
  ## Multi-Angle Exploration Context
531
531
 
532
- ${manifest.explorations.map(exp => `### Exploration: ${exp.angle} (${exp.file})
532
+ ${manifest.explorations.length > 0
533
+ ? manifest.explorations.map(exp => `### Exploration: ${exp.angle} (${exp.file})
533
534
  Path: ${exp.path}
534
535
 
535
- Read this file for detailed ${exp.angle} analysis.`).join('\n\n')}
536
+ Read this file for detailed ${exp.angle} analysis.`).join('\n\n') + `
536
537
 
537
538
  Total explorations: ${manifest.exploration_count}
538
539
  Angles covered: ${manifest.explorations.map(e => e.angle).join(', ')}
539
540
 
540
- Manifest: ${sessionFolder}/explorations-manifest.json
541
+ Manifest: ${sessionFolder}/explorations-manifest.json`
542
+ : `No exploration files. Task Description above contains "## Prior Analysis" with analysis summary, key files, and findings — use it as primary planning context.`}
541
543
 
542
544
  ## User Clarifications
543
545
  ${JSON.stringify(clarificationContext) || "None"}
@@ -687,7 +687,8 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
687
687
  if (feedback.feedback === 'approve') {
688
688
  approved = true
689
689
  } else {
690
- // Handle feedback type
690
+ // CONSTRAINT: All modifications below ONLY touch roadmap.md and issues.jsonl
691
+ // NEVER modify source code or project files during interactive rounds
691
692
  switch (feedback.feedback) {
692
693
  case 'scope':
693
694
  // Collect scope adjustments
@@ -695,8 +696,9 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
695
696
  { id: "adjustments", type: "text", prompt: "Describe scope adjustments needed:" }
696
697
  ]) // BLOCKS
697
698
 
698
- // Update roadmap.md and issues
699
- // ... implementation ...
699
+ // Update ONLY roadmap.md Roadmap table + Convergence sections
700
+ Edit({ path: `${sessionFolder}/roadmap.md`, /* scope changes */ })
701
+ // Update ONLY issues.jsonl entries (scope/context fields)
700
702
 
701
703
  break
702
704
 
@@ -706,8 +708,8 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
706
708
  { id: "refinements", type: "text", prompt: "Describe convergence refinements needed:" }
707
709
  ]) // BLOCKS
708
710
 
709
- // Update roadmap.md
710
- // ... implementation ...
711
+ // Update ONLY roadmap.md Convergence Criteria section
712
+ Edit({ path: `${sessionFolder}/roadmap.md`, /* convergence changes */ })
711
713
 
712
714
  break
713
715
 
@@ -726,8 +728,7 @@ ${selectedMode === 'progressive' ? `**Progressive Mode**:
726
728
  ]) // BLOCKS
727
729
 
728
730
  selectedMode = newStrategy.strategy
729
- // Re-execute Phase 2
730
- // ... goto Phase 2 ...
731
+ // Re-execute Phase 2 (updates roadmap.md + issues.jsonl only)
731
732
  break
732
733
  }
733
734
 
@@ -871,6 +872,7 @@ To execute later:
871
872
  4. **Testable Convergence**: criteria = assertions, DoD = business language
872
873
  5. **Explicit Lifecycle**: Always close_agent after wait completes to free resources
873
874
  6. **DO NOT STOP**: Continuous workflow until handoff complete
875
+ 7. **Plan-Only Modifications**: Interactive feedback (Phase 3) MUST only update `roadmap.md` and `issues.jsonl`. NEVER modify source code, configuration files, or any project files during interactive rounds. Code changes happen only after handoff (Phase 4) via team-planex or other execution skills
874
876
 
875
877
  ---
876
878
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoHH,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuvCD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,EAAE,cAAc,GAAG,cAAc,GACvC,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwHH,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuvCD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,EAAE,cAAc,GAAG,cAAc,GACvC,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
@@ -28,9 +28,11 @@ function notifyDashboard(data) {
28
28
  path: '/api/hook',
29
29
  method: 'POST',
30
30
  timeout: 2000, // 2 second timeout to prevent hanging
31
+ agent: false, // Disable Keep-Alive to allow process exit
31
32
  headers: {
32
33
  'Content-Type': 'application/json',
33
- 'Content-Length': Buffer.byteLength(payload)
34
+ 'Content-Length': Buffer.byteLength(payload),
35
+ 'Connection': 'close' // Ensure connection closes after response
34
36
  }
35
37
  });
36
38
  // Fire and forget - don't block process exit
@@ -68,9 +70,11 @@ function broadcastStreamEvent(eventType, payload) {
68
70
  path: '/api/hook',
69
71
  method: 'POST',
70
72
  timeout: 1000, // Short timeout for streaming
73
+ agent: false, // Disable Keep-Alive to allow process exit
71
74
  headers: {
72
75
  'Content-Type': 'application/json',
73
- 'Content-Length': Buffer.byteLength(data)
76
+ 'Content-Length': Buffer.byteLength(data),
77
+ 'Connection': 'close' // Ensure connection closes after response
74
78
  }
75
79
  });
76
80
  // Fire and forget - don't block streaming