maestro-flow 0.5.47 → 0.5.49

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 (212) hide show
  1. package/.agents/agents/ralph-executor.md +14 -24
  2. package/.agents/skills/maestro-analyze/SKILL.md +13 -13
  3. package/.agents/skills/maestro-composer/SKILL.md +1 -1
  4. package/.agents/skills/maestro-help/SKILL.md +2 -0
  5. package/.agents/skills/maestro-help/index/catalog.json +7 -7
  6. package/.agents/skills/maestro-init/SKILL.md +1 -1
  7. package/.agents/skills/maestro-milestone-audit/SKILL.md +2 -2
  8. package/.agents/skills/maestro-milestone-release/SKILL.md +1 -1
  9. package/.agents/skills/maestro-next/SKILL.md +2 -2
  10. package/.agents/skills/maestro-plan/SKILL.md +31 -9
  11. package/.agents/skills/maestro-ralph-v2/SKILL.md +26 -50
  12. package/.agents/skills/maestro-roadmap/SKILL.md +2 -2
  13. package/.agents/skills/manage-harvest/SKILL.md +4 -2
  14. package/.agents/skills/manage-knowledge-audit/SKILL.md +7 -2
  15. package/.agents/skills/quality-auto-test/SKILL.md +1 -1
  16. package/.agents/skills/quality-review/SKILL.md +2 -2
  17. package/.agents/skills/spec-add/SKILL.md +4 -0
  18. package/.agy/agents/ralph-executor.md +14 -23
  19. package/.agy/skills/maestro-analyze/SKILL.md +13 -13
  20. package/.agy/skills/maestro-composer/SKILL.md +1 -1
  21. package/.agy/skills/maestro-help/SKILL.md +2 -0
  22. package/.agy/skills/maestro-help/index/catalog.json +7 -7
  23. package/.agy/skills/maestro-init/SKILL.md +1 -1
  24. package/.agy/skills/maestro-milestone-audit/SKILL.md +2 -2
  25. package/.agy/skills/maestro-milestone-release/SKILL.md +1 -1
  26. package/.agy/skills/maestro-next/SKILL.md +2 -2
  27. package/.agy/skills/maestro-plan/SKILL.md +31 -9
  28. package/.agy/skills/maestro-ralph-v2/SKILL.md +26 -50
  29. package/.agy/skills/maestro-roadmap/SKILL.md +2 -2
  30. package/.agy/skills/manage-harvest/SKILL.md +4 -2
  31. package/.agy/skills/manage-knowledge-audit/SKILL.md +7 -2
  32. package/.agy/skills/quality-auto-test/SKILL.md +1 -1
  33. package/.agy/skills/quality-review/SKILL.md +2 -2
  34. package/.agy/skills/spec-add/SKILL.md +4 -0
  35. package/.claude/agents/ralph-executor.md +14 -24
  36. package/.claude/commands/maestro-analyze.md +13 -13
  37. package/.claude/commands/maestro-composer.md +1 -1
  38. package/.claude/commands/maestro-init.md +1 -1
  39. package/.claude/commands/maestro-milestone-audit.md +2 -2
  40. package/.claude/commands/maestro-milestone-release.md +1 -1
  41. package/.claude/commands/maestro-next.md +2 -2
  42. package/.claude/commands/maestro-plan.md +31 -9
  43. package/.claude/commands/maestro-ralph-v2.md +26 -50
  44. package/.claude/commands/maestro-roadmap.md +2 -2
  45. package/.claude/commands/manage-harvest.md +4 -2
  46. package/.claude/commands/manage-knowledge-audit.md +7 -2
  47. package/.claude/commands/quality-auto-test.md +1 -1
  48. package/.claude/commands/quality-review.md +2 -2
  49. package/.claude/commands/spec-add.md +4 -0
  50. package/.claude/skills/maestro-help/SKILL.md +2 -0
  51. package/.claude/skills/maestro-help/index/catalog.json +7 -7
  52. package/.codex/skills/maestro/SKILL.md +6 -5
  53. package/.codex/skills/maestro-analyze/SKILL.md +13 -18
  54. package/.codex/skills/maestro-help/catalog.json +7 -7
  55. package/.codex/skills/maestro-next/SKILL.md +2 -2
  56. package/.codex/skills/maestro-plan/SKILL.md +13 -16
  57. package/.codex/skills/maestro-ralph/SKILL.md +11 -11
  58. package/.codex/skills/maestro-ralph-execute/SKILL.md +8 -8
  59. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +2 -2
  60. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +45 -37
  61. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -1
  62. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.d.ts +0 -34
  63. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +0 -126
  64. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  65. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +6 -0
  66. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +17 -1
  67. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
  68. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.d.ts +28 -0
  69. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.js +70 -0
  70. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.js.map +1 -0
  71. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.test.d.ts +1 -0
  72. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.test.js +78 -0
  73. package/dashboard/dist-server/dashboard/src/server/wiki/time-decay.test.js.map +1 -0
  74. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +6 -1
  75. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  76. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +1 -0
  77. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +104 -29
  78. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  79. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +2 -2
  80. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  81. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +8 -5
  82. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  83. package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js +2 -0
  84. package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js.map +1 -1
  85. package/dashboard/dist-server/src/graph/kg/engine.js +5 -1
  86. package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -1
  87. package/dashboard/dist-server/src/hooks/kg-sync-hook.js +5 -3
  88. package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -1
  89. package/dashboard/dist-server/src/hooks/session-context.js +3 -1
  90. package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
  91. package/dashboard/dist-server/src/search/daemon-client.js +5 -3
  92. package/dashboard/dist-server/src/search/daemon-client.js.map +1 -1
  93. package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +42 -1
  94. package/dashboard/dist-server/src/tools/spec-entry-parser.js +22 -2
  95. package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
  96. package/dashboard/dist-server/src/tools/spec-loader.js +10 -3
  97. package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
  98. package/dist/src/agents/api-explore/agent-loop.d.ts +2 -0
  99. package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -1
  100. package/dist/src/agents/api-explore/agent-loop.js +1 -1
  101. package/dist/src/agents/api-explore/agent-loop.js.map +1 -1
  102. package/dist/src/agents/api-explore/circuit-breaker.d.ts +52 -0
  103. package/dist/src/agents/api-explore/circuit-breaker.d.ts.map +1 -0
  104. package/dist/src/agents/api-explore/circuit-breaker.js +151 -0
  105. package/dist/src/agents/api-explore/circuit-breaker.js.map +1 -0
  106. package/dist/src/agents/api-explore/config.d.ts +10 -39
  107. package/dist/src/agents/api-explore/config.d.ts.map +1 -1
  108. package/dist/src/agents/api-explore/config.js +7 -33
  109. package/dist/src/agents/api-explore/config.js.map +1 -1
  110. package/dist/src/agents/api-explore/index.js +2 -2
  111. package/dist/src/agents/api-explore/index.js.map +1 -1
  112. package/dist/src/agents/api-explore/llm.d.ts +5 -0
  113. package/dist/src/agents/api-explore/llm.d.ts.map +1 -1
  114. package/dist/src/agents/api-explore/llm.js +31 -0
  115. package/dist/src/agents/api-explore/llm.js.map +1 -1
  116. package/dist/src/agents/api-explore/runner.d.ts +5 -0
  117. package/dist/src/agents/api-explore/runner.d.ts.map +1 -1
  118. package/dist/src/agents/api-explore/runner.js +103 -8
  119. package/dist/src/agents/api-explore/runner.js.map +1 -1
  120. package/dist/src/commands/explore.d.ts.map +1 -1
  121. package/dist/src/commands/explore.js +4 -2
  122. package/dist/src/commands/explore.js.map +1 -1
  123. package/dist/src/commands/install.d.ts.map +1 -1
  124. package/dist/src/commands/install.js +59 -4
  125. package/dist/src/commands/install.js.map +1 -1
  126. package/dist/src/commands/moa.js +1 -1
  127. package/dist/src/commands/moa.js.map +1 -1
  128. package/dist/src/commands/search.d.ts +4 -0
  129. package/dist/src/commands/search.d.ts.map +1 -1
  130. package/dist/src/commands/search.js +18 -3
  131. package/dist/src/commands/search.js.map +1 -1
  132. package/dist/src/commands/spec.d.ts.map +1 -1
  133. package/dist/src/commands/spec.js +113 -0
  134. package/dist/src/commands/spec.js.map +1 -1
  135. package/dist/src/commands/wiki.js +2 -2
  136. package/dist/src/commands/wiki.js.map +1 -1
  137. package/dist/src/config/api-config.d.ts +61 -0
  138. package/dist/src/config/api-config.d.ts.map +1 -0
  139. package/dist/src/config/api-config.js +59 -0
  140. package/dist/src/config/api-config.js.map +1 -0
  141. package/dist/src/config/cli-tools-config.d.ts +1 -0
  142. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  143. package/dist/src/config/cli-tools-config.js +22 -1
  144. package/dist/src/config/cli-tools-config.js.map +1 -1
  145. package/dist/src/graph/kg/embedding/code-embedding.d.ts.map +1 -1
  146. package/dist/src/graph/kg/embedding/code-embedding.js +2 -0
  147. package/dist/src/graph/kg/embedding/code-embedding.js.map +1 -1
  148. package/dist/src/graph/kg/engine.d.ts.map +1 -1
  149. package/dist/src/graph/kg/engine.js +5 -1
  150. package/dist/src/graph/kg/engine.js.map +1 -1
  151. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  152. package/dist/src/hooks/kg-sync-hook.js +5 -3
  153. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  154. package/dist/src/hooks/session-context.js +3 -1
  155. package/dist/src/hooks/session-context.js.map +1 -1
  156. package/dist/src/search/daemon-client.d.ts.map +1 -1
  157. package/dist/src/search/daemon-client.js +5 -3
  158. package/dist/src/search/daemon-client.js.map +1 -1
  159. package/dist/src/search/daemon.d.ts.map +1 -1
  160. package/dist/src/search/daemon.js +17 -0
  161. package/dist/src/search/daemon.js.map +1 -1
  162. package/dist/src/tools/spec-conflict-marker.d.ts +62 -0
  163. package/dist/src/tools/spec-conflict-marker.d.ts.map +1 -1
  164. package/dist/src/tools/spec-conflict-marker.js +280 -1
  165. package/dist/src/tools/spec-conflict-marker.js.map +1 -1
  166. package/dist/src/tools/spec-entry-parser.d.ts +42 -1
  167. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  168. package/dist/src/tools/spec-entry-parser.js +22 -2
  169. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  170. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  171. package/dist/src/tools/spec-loader.js +10 -3
  172. package/dist/src/tools/spec-loader.js.map +1 -1
  173. package/dist/src/tools/spec-writer.d.ts +2 -0
  174. package/dist/src/tools/spec-writer.d.ts.map +1 -1
  175. package/dist/src/tools/spec-writer.js +8 -6
  176. package/dist/src/tools/spec-writer.js.map +1 -1
  177. package/dist/src/tui/install-ui/EmbeddingConfig.d.ts +25 -0
  178. package/dist/src/tui/install-ui/EmbeddingConfig.d.ts.map +1 -0
  179. package/dist/src/tui/install-ui/EmbeddingConfig.js +58 -0
  180. package/dist/src/tui/install-ui/EmbeddingConfig.js.map +1 -0
  181. package/dist/src/tui/install-ui/EmbeddingPanel.d.ts +6 -0
  182. package/dist/src/tui/install-ui/EmbeddingPanel.d.ts.map +1 -0
  183. package/dist/src/tui/install-ui/EmbeddingPanel.js +101 -0
  184. package/dist/src/tui/install-ui/EmbeddingPanel.js.map +1 -0
  185. package/dist/src/tui/install-ui/GroupedHub.d.ts +2 -0
  186. package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -1
  187. package/dist/src/tui/install-ui/GroupedHub.js +8 -1
  188. package/dist/src/tui/install-ui/GroupedHub.js.map +1 -1
  189. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  190. package/dist/src/tui/install-ui/InstallFlow.js +4 -2
  191. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  192. package/dist/src/tui/install-ui/embedding-status.d.ts +12 -0
  193. package/dist/src/tui/install-ui/embedding-status.d.ts.map +1 -0
  194. package/dist/src/tui/install-ui/embedding-status.js +82 -0
  195. package/dist/src/tui/install-ui/embedding-status.js.map +1 -0
  196. package/dist/src/tui/install-ui/useInstallFlowState.d.ts +1 -1
  197. package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -1
  198. package/dist/src/tui/install-ui/useInstallFlowState.js +52 -2
  199. package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -1
  200. package/dist/src/tui/shared/tokens.d.ts +1 -1
  201. package/dist/src/tui/shared/tokens.js +1 -1
  202. package/dist/src/utils/update-notices.js +23 -0
  203. package/dist/src/utils/update-notices.js.map +1 -1
  204. package/package.json +1 -1
  205. package/workflows/agy-instructions.md +14 -5
  206. package/workflows/analyze.md +13 -15
  207. package/workflows/claude-instructions.md +25 -3
  208. package/workflows/codex-instructions.md +14 -5
  209. package/workflows/finish-work.md +65 -86
  210. package/workflows/knowledge-audit.md +2 -1
  211. package/workflows/plan.md +33 -21
  212. package/workflows/specs-add.md +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"update-notices.js","sourceRoot":"","sources":["../../../src/utils/update-notices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-notices.js","sourceRoot":"","sources":["../../../src/utils/update-notices.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-flow",
3
- "version": "0.5.47",
3
+ "version": "0.5.49",
4
4
  "description": "Intent-driven workflow orchestration for multi-agent AI development with adaptive lifecycle engine and self-reinforcing knowledge graph",
5
5
  "type": "module",
6
6
  "imports": {
@@ -137,11 +137,20 @@ maestro load --type spec --category coding
137
137
 
138
138
  Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, tests→`test`.
139
139
 
140
- ### Conflict Marking
140
+ ### Supersession & Conflict (dual-track)
141
141
 
142
- ```bash
143
- maestro spec conflict mark <file> <line> --note "<reason>"
144
- ```
142
+ | 关系 | 场景 | 命令 | 效果 |
143
+ |------|------|------|------|
144
+ | **supersede** | 新规则替代旧规则 | `maestro spec supersede <old-sid> --by <new-sid>` | 旧条目 `deprecated`,演化链保留 |
145
+ | **conflict** | 两条规则均有道理 | `maestro spec conflict mark <file> <line> --note "<reason>"` | 旧条目 `contested`(search ×0.5),人裁决 |
145
146
 
146
- Levels: `high` → `medium` (default) → `low` (`[LOW CONFIDENCE]`) → `contested` (`[CONTESTED]`).
147
+ Confidence levels: `high` → `medium` (default) → `low` (`[LOW CONFIDENCE]`) → `contested` (`[CONTESTED]`).
147
148
  Resolution: `/manage-knowledge-audit`
149
+
150
+ ### Health & Maintenance
151
+
152
+ ```bash
153
+ maestro spec health # 生命周期统计 + 演化链完整性
154
+ maestro spec backfill-sid # 存量无 sid 条目回填
155
+ maestro spec history <sid> # 演化链查看
156
+ ```
@@ -41,10 +41,10 @@ Quick mode (-q):
41
41
  ## Arguments
42
42
 
43
43
  ```
44
- $ARGUMENTS: "[phase|topic] [-y] [-c] [-q] [--from <source>]"
44
+ $ARGUMENTS: "[milestone|topic] [-y] [-c] [-q] [--from <source>]"
45
45
 
46
46
  (no args) -- Milestone-wide analysis (requires init + roadmap)
47
- <phase> -- Phase number (phase-scoped, requires init + roadmap)
47
+ <milestone> -- Milestone number (milestone-scoped, requires init + roadmap)
48
48
  <topic> -- Topic text (adhoc if milestone exists, standalone if not)
49
49
  -y / --yes -- Auto mode, skip interactive scoping, auto-deepen
50
50
  -c / --continue -- Resume from existing session
@@ -55,14 +55,14 @@ $ARGUMENTS: "[phase|topic] [-y] [-c] [-q] [--from <source>]"
55
55
  ## Scope Routing
56
56
 
57
57
  ```
58
- Worktree guard: If .workflow/worktree-scope.json exists, reject phase args not in owned_phases.
58
+ Worktree guard: If .workflow/worktree-scope.json exists, reject milestone args not in owned scope.
59
59
 
60
60
  Auto-bootstrap: Create minimal .workflow/state.json if missing.
61
61
 
62
62
  Scope determination → OUTPUT_DIR:
63
63
  (no args) + milestone + roadmap → scope="milestone", mode="micro", OUTPUT_DIR=.workflow/scratch/{YYYYMMDD}-analyze-M{N}-{milestone_slug}/
64
64
  (no args) without milestone/roadmap → ERROR E001
65
- (number) + milestone + roadmap → scope="phase", mode="micro", OUTPUT_DIR=.workflow/scratch/{YYYYMMDD}-analyze-P{N}-{phase_slug}/
65
+ (number) + milestone + roadmap → scope="milestone", mode="micro", OUTPUT_DIR=.workflow/scratch/{YYYYMMDD}-analyze-M{N}-{milestone_slug}/
66
66
  (number) without milestone/roadmap → ERROR
67
67
  (text) + milestone → scope="adhoc", mode="macro", OUTPUT_DIR=.workflow/scratch/{YYYYMMDD}-analyze-{topic_slug}/
68
68
  (text) without milestone → scope="standalone", mode="macro", OUTPUT_DIR=.workflow/scratch/{YYYYMMDD}-analyze-{topic_slug}/
@@ -75,14 +75,12 @@ Macro mode additions (scope="adhoc" or "standalone"):
75
75
  - Write scope_verdict to context.md conclusions section
76
76
  - Include scope_verdict in context-package.json for downstream consumption
77
77
 
78
- Phase-to-Milestone resolution (when scope="phase"):
79
- FOR each ms in state.json.milestones[]:
80
- IF phase_number in ms.phases[]:
81
- target_milestone = ms.id
82
- BREAK
83
- IF no match: target_milestone = current_milestone (fallback)
78
+ Milestone resolution (when scope="milestone"):
79
+ IF numeric arg specified: target_milestone = that milestone number
80
+ ELSE: target_milestone = current_milestone (fallback)
81
+ IF target_milestone not found in state.json.milestones[]: ERROR
84
82
 
85
- Use target_milestone (not current_milestone) for:
83
+ Use target_milestone for:
86
84
  - artifact registration (milestone field in Step 8.9)
87
85
  - loading prior artifacts (Step 1 context loading)
88
86
 
@@ -137,7 +135,7 @@ Parse $ARGUMENTS to determine mode and flags:
137
135
  - `-c` present: locate existing session folder (discussion.md exists), resume from last round
138
136
  - `-y` present: set AUTO_MODE=true
139
137
  - `-q` present: set QUICK_MODE=true (skip Steps 2-7, jump to Step 8: Decision Extraction)
140
- - Number (e.g., "3") = phase scope: resolve phase slug from roadmap, output to scratch/{YYYYMMDD}-analyze-P{N}-{phase-slug}/
138
+ - Number (e.g., "3") = milestone scope: resolve milestone slug from roadmap, output to scratch/{YYYYMMDD}-analyze-M{N}-{milestone-slug}/
141
139
  - Text (e.g., "microservices vs monolith") = adhoc/standalone scope: output to scratch/{YYYYMMDD}-analyze-{slug}/
142
140
  - Missing/empty = milestone scope (if roadmap exists) or error E001
143
141
 
@@ -610,7 +608,7 @@ For each Deferred decision, create an issue in .workflow/issues/issues.jsonl:
610
608
  id: "ISS-{YYYYMMDD}-{NNN}"
611
609
  title: "Deferred: {item.title}"
612
610
  status: "deferred", priority: 5, severity: "low"
613
- source: "analyze", phase_ref: PHASE_NUM
611
+ source: "analyze", milestone_ref: target_milestone
614
612
  description: "{item.context} -- Chosen to defer: {item.reason}"
615
613
  tags: ["deferred", "analyze"]
616
614
  ```
@@ -621,8 +619,8 @@ For each Deferred decision, create an issue in .workflow/issues/issues.jsonl:
621
619
  Register artifact in .workflow/state.json:
622
620
  id: "ANL-{next sequential 3-digit id}"
623
621
  type: "analyze", scope: scope, status: "completed"
624
- milestone: current_milestone (null if standalone)
625
- phase: phase_num (null if milestone/adhoc/standalone)
622
+ milestone: target_milestone (null if standalone/adhoc)
623
+ phase: null (analyze operates at milestone level)
626
624
  path: OUTPUT_DIR relative to .workflow/
627
625
  context_package: "{OUTPUT_DIR}/context-package.json" // relative to .workflow/
628
626
  harvested: false, created_at: session_start_time, completed_at: now()
@@ -135,11 +135,33 @@ maestro load --type spec --category coding
135
135
 
136
136
  Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, tests→`test`.
137
137
 
138
- ### Conflict Marking
138
+ ### Supersession & Conflict (dual-track)
139
+
140
+ 新知识与旧条目的关系分两种,语义不同、操作不同:
141
+
142
+ | 关系 | 场景 | 命令 | 效果 |
143
+ |------|------|------|------|
144
+ | **supersede** | 新规则替代旧规则(演化) | `maestro spec supersede <old-sid> --by <new-sid>` | 旧条目 `deprecated`(search/load 排除),演化链保留 |
145
+ | **conflict** | 两条规则均有道理(争议) | `maestro spec conflict mark <file> <line> --note "<reason>"` | 旧条目 `contested`(search ×0.5,`[CONTESTED]` 标注,仍注入),人裁决 |
139
146
 
140
147
  ```bash
148
+ # supersede 流程: add → capture sid → supersede
149
+ maestro spec add coding "新规则" "内容" --keywords kw1,kw2 --json # → 获取 new-sid
150
+ maestro spec supersede <old-sid> --by <new-sid> # → 旧条目 deprecated
151
+ maestro spec history <sid> # → 查看演化链
152
+
153
+ # conflict 流程: 不确定谁对 → 标记争议 → 审计解决
141
154
  maestro spec conflict mark <file> <line> --note "<reason>"
155
+ # Resolution: /manage-knowledge-audit
142
156
  ```
143
157
 
144
- Levels: `high` `medium` (default) → `low` (`[LOW CONFIDENCE]`) → `contested` (`[CONTESTED]`).
145
- Resolution: `/manage-knowledge-audit`
158
+ **三正交轴**: `confidence`(人/审计裁定)⊥ `status`(active/deprecated 生命周期)⊥ time-decay(自动新鲜度)。不要混用。
159
+
160
+ ### Health & Maintenance
161
+
162
+ ```bash
163
+ maestro spec health # 生命周期统计 + 悬空/循环 supersedes 校验 + 新鲜度
164
+ maestro spec backfill-sid # 存量无 sid 条目回填(幂等),启用演化链
165
+ maestro spec history <sid> # 某条目的演化链(oldest → newest)
166
+ maestro search "<q>" --include-deprecated # 搜索含 deprecated 条目
167
+ ```
@@ -137,11 +137,20 @@ maestro load --type spec --category coding
137
137
 
138
138
  Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, tests→`test`.
139
139
 
140
- ### Conflict Marking
140
+ ### Supersession & Conflict (dual-track)
141
141
 
142
- ```bash
143
- maestro spec conflict mark <file> <line> --note "<reason>"
144
- ```
142
+ | 关系 | 场景 | 命令 | 效果 |
143
+ |------|------|------|------|
144
+ | **supersede** | 新规则替代旧规则 | `maestro spec supersede <old-sid> --by <new-sid>` | 旧条目 `deprecated`,演化链保留 |
145
+ | **conflict** | 两条规则均有道理 | `maestro spec conflict mark <file> <line> --note "<reason>"` | 旧条目 `contested`(search ×0.5),人裁决 |
145
146
 
146
- Levels: `high` → `medium` (default) → `low` (`[LOW CONFIDENCE]`) → `contested` (`[CONTESTED]`).
147
+ Confidence levels: `high` → `medium` (default) → `low` (`[LOW CONFIDENCE]`) → `contested` (`[CONTESTED]`).
147
148
  Resolution: `/manage-knowledge-audit`
149
+
150
+ ### Health & Maintenance
151
+
152
+ ```bash
153
+ maestro spec health # 生命周期统计 + 演化链完整性
154
+ maestro spec backfill-sid # 存量无 sid 条目回填
155
+ maestro spec history <sid> # 演化链查看
156
+ ```
@@ -2,138 +2,117 @@
2
2
 
3
3
  ## Inputs
4
4
 
5
- Caller passes: `SESSION_DIR`, `SESSION_TYPE` (grill | brainstorm | analyze | blueprint | plan | execute | verify), `SESSION_ID`, `LINKED_MILESTONE` (optional).
5
+ `SESSION_DIR`, `SESSION_TYPE` (grill | brainstorm | analyze | blueprint | plan | execute | verify), `SESSION_ID`, `LINKED_MILESTONE` (optional).
6
6
 
7
7
  ## Steps
8
8
 
9
9
  ### 1. Detect outputs
10
10
 
11
- Scan `SESSION_DIR` for any of these files; if absent: log W0xx "<file> missing" and continue; flag harvest as [LOW CONFIDENCE] (partial fragments):
11
+ Scan `SESSION_DIR` for known files. Missing file log W0xx, flag [LOW CONFIDENCE]. None found skip to Step 4 with `extraction.harvested = false`.
12
12
 
13
- | File | Source | Used for |
14
- |------|--------|----------|
13
+ | File | Session types | Yields |
14
+ |------|---------------|--------|
15
15
  | `context-package.json` | grill/brainstorm/analyze/blueprint | constraints + insights |
16
- | `terminology.md` | grill | domain terms with code references |
17
- | `grill-report.md` | grill | stress-test decisions + risk register |
18
- | `conclusions.json` | analyze | decisions |
16
+ | `terminology.md` | grill | domain terms |
17
+ | `grill-report.md` | grill | decisions + risk register |
18
+ | `conclusions.json` | analyze | decisions + recommendations |
19
19
  | `reflection-log.md` | execute | lessons + pitfalls |
20
20
  | `{role}/analysis.md` | brainstorm | role decisions |
21
21
 
22
- If none present → skip Steps 2-3, continue with empty `content_refs` and `extraction.harvested = false`.
22
+ ### 2. Extract fragments
23
23
 
24
- ### 2. Extract fragments (inline)
24
+ Build `fragments[]` from detected files. Each: `{ kind, category, title, content, keywords[], confidence, ref }`.
25
25
 
26
- Iterate detected files; build a `fragments[]` array. Each fragment: `{ kind, category, title, content, keywords[], confidence, ref }`.
26
+ **Routing table** `locked` status or `priority medium` required unless noted:
27
27
 
28
- | Source field | kind | Target store | Default category |
29
- |--------------|------|--------------|------------------|
30
- | `context-package.json#constraints[status=locked]` | rule | spec | `arch` if area matches arch keywords (module/layer/boundary), else `coding` |
31
- | `context-package.json#insights[]` | knowhow | knowhow (type: `DCS` for decisions, `RCP` for patterns) | `arch` for decisions, `coding` for patterns |
32
- | `conclusions.json#decisions[status=locked]` | rule | spec | `arch` |
33
- | `conclusions.json#recommendations[]` (priority ≥ medium) | knowhow | knowhow (`REF`) | derived from area |
34
- | `reflection-log.md` "## Lessons" / "## Pitfalls" sections | learning | spec (category `learning`) or knowhow (`KNW`) by length: < 200 chars → spec, else knowhow | `learning` |
35
- | `{role}/analysis.md` §2 Decisions[status=locked] | rule | spec | role-derived (`arch` for system-architect, `coding` for code-quality, etc.) |
36
- | `grill-report.md` "## Synthesis" locked decisions | rule | spec | `arch` if scope/integration/security branch, else `coding` |
37
- | `grill-report.md` "## Risk Register" items (severity medium) | knowhow | knowhow (`REF`) | `debug` |
38
- | `terminology.md` locked terms | knowhow | knowhow (`REF`) | `coding` |
28
+ | Source | Store | Category |
29
+ |--------|---------|----------|
30
+ | `context-package.json#constraints[locked]` | spec (rule) | `arch` if module/layer/boundary, else `coding` |
31
+ | `context-package.json#insights[]` | knowhow (`DCS`/`RCP`) | `arch` for decisions, `coding` for patterns |
32
+ | `conclusions.json#decisions[locked]` | spec (rule) | `arch` |
33
+ | `conclusions.json#recommendations[≥medium]` | knowhow (`REF`) | area-derived |
34
+ | `reflection-log.md` §Lessons/§Pitfalls | < 200 chars spec (`learning`), else knowhow (`KNW`) | `learning` |
35
+ | `{role}/analysis.md` §Decisions[locked] | spec (rule) | role-derived |
36
+ | `grill-report.md` §Synthesis[locked] | spec (rule) | `arch` if scope/integration/security, else `coding` |
37
+ | `grill-report.md` §Risk Register[≥medium] | knowhow (`REF`) | `debug` |
38
+ | `terminology.md` locked terms | knowhow (`REF`) | `coding` |
39
39
 
40
- **Confidence scoring** (drop if < 0.5):
41
- - +0.3 if `status == "locked"` or section is explicit "## Decisions"
42
- - +0.2 if has ≥ 3 keywords (extracted from content)
43
- - +0.2 if has explicit `rationale` field
44
- - +0.2 if content length 50-2000 chars (not too thin, not too verbose)
45
- - +0.1 if explicit `ref` to source file
40
+ **Confidence** (drop if < 0.5): locked/decisions heading +0.3 · ≥3 keywords +0.2 · has rationale +0.2 · length 50-2000 +0.2 · has ref +0.1
46
41
 
47
- **Keyword extraction**: take 3-5 lowercased domain terms (filter stop words, take frequency-ranked nouns/identifiers from content).
42
+ **Keywords**: 3-5 lowercased domain terms, frequency-ranked nouns/identifiers, stop words filtered.
48
43
 
49
- **Deduplication**: hash `(kind, content[:100])` — skip if any existing spec/knowhow entry has matching hash (MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep: check via `maestro spec list --json` + `maestro knowhow list --json`).
44
+ **Dedup**: hash `(kind, content[:100])` — skip if existing entry matches. MANDATORY via `maestro spec list --json` + `maestro knowhow list --json`.
45
+
46
+ **Relationship to existing knowledge**: for `kind == "rule"` fragments, search existing spec in the same category (`maestro search "<keywords>" --type spec --json`, note each hit's `sid`). Classify against the closest existing entry — the two outcomes are distinct, do NOT conflate:
47
+ - **supersedes** (evolution): the new rule replaces the old on the same topic — the old is now outdated, not merely disputed. Attach `supersedes = <old-sid>`.
48
+ - **conflicts** (contradiction): both rules are plausible and a human must adjudicate which wins. Attach `conflicting_entry = { file, line }` + `conflict_note`.
49
+ - **independent**: no strong overlap → no metadata.
50
+
51
+ Never drop — proceed with whatever metadata attached.
50
52
 
51
53
  ### 3. Route fragments
52
54
 
53
- Auto mode (`-y`): apply all. Otherwise prompt once with batch summary:
55
+ Prompt once (unless `-y` auto mode):
54
56
  ```
55
- Found {N} fragments — {S_spec} spec / {S_knowhow} knowhow.
56
- Apply? (auto | spec-only | knowhow-only | skip)
57
+ Found {N} fragments — {S_spec} spec / {S_knowhow} knowhow. Apply? (auto | spec-only | knowhow-only | skip)
57
58
  ```
58
59
 
59
- Then for each fragment in approved buckets:
60
+ Routing all CLI calls MANDATORY, NOT SUBSTITUTABLE:
60
61
 
61
- - **spec**: MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep: `maestro spec add <category> "<title>" "<content>" --keywords {csv} --description "<one-line summary>" --source finish-work` (capture returned id into `extracted_spec_ids[]`)
62
- - **knowhow**: MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep: `maestro knowhow add --type {DCS|RCP|REF|KNW} --title "{title}" --body "{content}" --keywords {csv}` (capture id into `extracted_knowhow_ids[]`)
63
- - Below confidence threshold: increment `skipped_count`, do nothing
64
- - CLI failure: log W002, continue with remaining fragments; flag harvest as [LOW CONFIDENCE] (CLI failure)
62
+ - **spec**: `maestro spec add <category> "<title>" "<content>" --keywords {csv} --description "<summary>" --source finish-work --json` capture returned `sid` + id into `spec_ids[]` (the `--json` output carries the new entry's `sid`, needed for supersession).
63
+ - **spec that supersedes** (evolution): after adding the new entry, retire the old one: `maestro spec supersede <old-sid> --by <new-sid>`. Old entry `status="deprecated"` (excluded from search + agent injection), chain preserved and inspectable via `maestro spec history <sid>`. Record into `supersede_marks[]`.
64
+ - **spec that conflicts** (contradiction): after adding, mark the old entry for human review: `maestro spec conflict mark <file> <line> --note "<note>"` → `confidence="contested"` (search ×0.5, `[CONTESTED]` badge, still injected). Resolution deferred to `/manage-knowledge-audit`. Record into `conflict_marks[]`.
65
+ - **knowhow**: `maestro knowhow add --type {DCS|RCP|REF|KNW} --title "<title>" --body "<content>" --keywords {csv}` capture id into `knowhow_ids[]`
66
+ - **below threshold**: increment `skipped_count`
67
+ - **CLI failure**: log W002, continue; flag [LOW CONFIDENCE]
65
68
 
66
- ### 3.5 Domain Term Extraction (interactive, conditional)
69
+ ### 3.5 Domain term extraction
67
70
 
68
- Prerequisites:
69
- - `.workflow/domain/` 目录存在(不存在则跳过整个步骤)
70
- - Session 包含术语源文件
71
+ Skip if `.workflow/domain/` absent or no term sources or all candidates already registered.
71
72
 
72
- Source priority:
73
- 1. `terminology.md` (grill session) — locked terms with code references
74
- 2. `context-package.json#domain.terminology[]` — brainstorm/grill/import 产出
75
- 3. `conclusions.json#recommendations` with domain-like keywords
73
+ Sources (priority order): `terminology.md` → `context-package.json#domain.terminology[]` → `conclusions.json#recommendations` with domain keywords.
76
74
 
77
- Process:
78
- 1. 从 session 产物中收集术语候选
79
- 2. 过滤已注册的 `glossary.yaml` terms
80
- 3. 0 个新候选 → 跳过(静默)
81
- 4. ≥ 1 个新候选 → 交互确认(domain 注册始终需要用户确认,`-y` 对 domain 无效)
82
- 5. MANDATORY, NOT SUBSTITUTABLE by manual Read/Grep: 确认的术语写入 `glossary.yaml` via `maestro domain add`
83
- 6. 记录到 `archive.json` 的 `extraction.domain_ids[]`
75
+ Process: collect candidates → filter registered terms → interactive confirm (always, `-y` does NOT bypass) → MANDATORY `maestro domain add` → record in `extraction.domain_ids[]`.
84
76
 
85
- Skip conditions:
86
- - `.workflow/domain/` 不存在
87
- - Session 无术语源文件
88
- - 所有候选术语已注册
77
+ ### 4. Write archive.json
89
78
 
90
- ### 4. Write `archive.json`
91
-
92
- Overwrites; idempotent. Schema `session-archive/1.0`:
79
+ Idempotent overwrite. Schema `session-archive/1.0`:
93
80
 
94
81
  ```jsonc
95
82
  {
96
83
  "$schema": "session-archive/1.0",
97
- "session_id": "{SESSION_ID}",
98
- "session_type": "{SESSION_TYPE}",
99
- "session_path": "{SESSION_DIR relative to .workflow/}",
100
- "lifecycle": { "status": "sealed", "sealed_at": "{ISO now}", "archived_at": null, "linked_milestone": "{LINKED_MILESTONE or null}" },
101
- "content_refs": [ /* one entry per file detected in Step 1, schema { type, path } */ ],
84
+ "session_id": "", "session_type": "", "session_path": "",
85
+ "lifecycle": { "status": "sealed", "sealed_at": "", "archived_at": null, "linked_milestone": null },
86
+ "content_refs": [/* { type, path } per detected file */],
102
87
  "extraction": {
103
- "harvested": true,
104
- "harvested_at": "{ISO now}",
105
- "spec_ids": [/* from Step 3 */],
106
- "knowhow_ids": [/* from Step 3 */],
107
- "domain_ids": [/* from Step 3.5 */],
88
+ "harvested": true, "harvested_at": "",
89
+ "spec_ids": [], "knowhow_ids": [], "domain_ids": [],
90
+ "supersede_marks": [/* { old_sid, new_sid } — old entry deprecated, chain preserved */],
91
+ "conflict_marks": [/* { file, line, note } — old entry contested, pending audit */],
108
92
  "skipped_count": 0
109
93
  },
110
94
  "pruned": null
111
95
  }
112
- ```
113
-
114
- If Step 2 produced zero fragments or user chose skip:
115
- ```jsonc
116
- "extraction": { "harvested": false, "reason": "no-signal | user-skip | harvest-failed" }
96
+ // No fragments or user skip: "extraction": { "harvested": false, "reason": "no-signal | user-skip | harvest-failed" }
117
97
  ```
118
98
 
119
99
  ### 5. Report
120
100
 
121
101
  ```
122
102
  === SESSION SEALED ===
123
- Session: {SESSION_ID} ({SESSION_TYPE})
124
- Wiki: searchable via `maestro wiki search` (category {arch|coding|review})
125
- Knowledge: {len(spec_ids)} spec / {len(knowhow_ids)} knowhow extracted, {skipped_count} skipped
126
- Next: /maestro-milestone-complete will flip lifecycle.status archived and prune context-package.json
103
+ Session: {SESSION_ID} ({SESSION_TYPE})
104
+ Knowledge: {spec} spec / {knowhow} knowhow extracted, {skipped} skipped
105
+ Superseded: {supersede_count} old entries deprecated (chain preserved maestro spec history <sid>)
106
+ Conflicts: {conflict_count} entries marked [CONTESTED] resolve via /manage-knowledge-audit
107
+ Next: /maestro-milestone-complete → archive + prune
127
108
  ```
128
109
 
129
- ## Idempotency
130
-
131
110
  ## Boundary
132
111
 
133
- - Does NOT flip `archived_at` or move files — that is milestone-complete Step 2.3.
134
- - Does NOT prune `context-package.json` — pruning is milestone-complete only.
135
- - Does NOT touch `state.json` caller handles artifact registration.
136
- - Does NOT create issues — issue creation is out of single-session sealing scope (use `/manage-harvest` or `/manage-issue-discover` for that).
112
+ - Does NOT flip `archived_at` or move files (milestone-complete Step 2.3)
113
+ - Does NOT prune `context-package.json` (milestone-complete only)
114
+ - Does NOT touch `state.json` (caller handles)
115
+ - Does NOT create issues (use `/manage-harvest` or `/manage-issue-discover`)
137
116
 
138
117
  ## Errors
139
118
 
@@ -141,5 +120,5 @@ Next: /maestro-milestone-complete will flip lifecycle.status → archived and pr
141
120
  |------|-----------|
142
121
  | E001 | SESSION_DIR missing |
143
122
  | E002 | SESSION_TYPE unknown |
144
- | W001 | No substantive outputs (still seals with empty content_refs) |
145
- | W002 | A `spec add` / `knowhow add` CLI invocation failed (continue with remaining fragments) |
123
+ | W001 | No substantive outputs (seals with empty content_refs) |
124
+ | W002 | CLI invocation failed (continue with remaining) |
@@ -258,7 +258,8 @@ for finding in actionable_findings:
258
258
  | Action | 实施 |
259
259
  |---|---|
260
260
  | `keep` | 写 `audit-log.jsonl` 一条 ignore 记录(防止下次重复 flag)|
261
- | `deprecate` (spec) | Edit 目标文件,把 `<spec-entry ...>` 改为 `<spec-entry ... status="deprecated">` |
261
+ | `supersede` (spec) | `maestro spec supersede <old-sid> --by <new-sid>`(双向链接 + deprecated,保留演化链) |
262
+ | `deprecate` (spec) | Edit 目标文件,把 `<spec-entry ...>` 改为 `<spec-entry ... status="deprecated">`(无替代条目时) |
262
263
  | `deprecate` (knowhow) | `maestro wiki edit <slug>` 注入 `status: deprecated` frontmatter |
263
264
  | `deprecate` (artifact) | 更新 state.json.artifacts[].status = "deprecated" |
264
265
  | `delete` (spec) | Edit 移除整个 `<spec-entry>` 块 |
package/workflows/plan.md CHANGED
@@ -11,16 +11,16 @@ All output goes to `.workflow/scratch/{YYYYMMDD}-plan-[P{N}-|M{N}-]{slug}/`. Dat
11
11
  ## Prerequisites
12
12
 
13
13
  - None for standalone operation (state.json auto-bootstraps)
14
- - For milestone/phase scope: init + roadmap required
14
+ - For milestone scope: init + roadmap required
15
15
 
16
16
  ---
17
17
 
18
18
  ## Scope Resolution
19
19
 
20
20
  ```
21
- Input: [phase] argument OR --dir <path> OR --from <source>
21
+ Input: [milestone] argument OR --dir <path> OR --from <source>
22
22
 
23
- Worktree guard: reject if phase not in .workflow/worktree-scope.json owned_phases
23
+ Worktree guard: reject if milestone not in .workflow/worktree-scope.json owned scope
24
24
  Auto-bootstrap: create minimal state.json if missing
25
25
 
26
26
  Resolution priority (highest to lowest):
@@ -32,16 +32,16 @@ Resolution priority (highest to lowest):
32
32
  4. --dir <path> → CONTEXT_DIR = path, scope from state.json artifact or "standalone"
33
33
  5. no arguments + roadmap → scope = "milestone", CONTEXT_DIR = latest analyze artifact for current_milestone
34
34
  (ERROR E001 if no roadmap)
35
- 6. numeric arg → scope = "phase", resolve PHASE_SLUG from roadmap.md,
36
- CONTEXT_DIR = latest analyze artifact for phase
35
+ 6. numeric arg → scope = "milestone", resolve MILESTONE_SLUG from roadmap.md,
36
+ CONTEXT_DIR = latest analyze artifact for milestone
37
37
  (ERROR if no init + roadmap)
38
38
  7. no arguments + no roadmap → search state.json for latest analyze artifact
39
39
  Found → scope = "standalone", CONTEXT_DIR = artifact path
40
40
  Not found → ERROR E001
41
41
 
42
- Phase-to-Milestone resolution (when scope="phase"):
42
+ Milestone resolution (when scope="milestone"):
43
43
  FOR each ms in state.json.milestones[]:
44
- IF phase_number in ms.phases[]:
44
+ IF ms matches milestone_number:
45
45
  target_milestone = ms.id
46
46
  BREAK
47
47
  IF no match: target_milestone = current_milestone (fallback)
@@ -84,11 +84,10 @@ When plan resolves to `scope == "standalone"` AND `state.json.current_milestone
84
84
 
85
85
  | Flag | Effect |
86
86
  |------|--------|
87
- | `--collab` | Use collaborative multi-planner mode in P3 |
88
87
  | `--spec SPEC-xxx` | Load task-spec as requirements source |
89
88
  | `--auto` | Skip P2 (clarification), proceed directly to P3 |
90
89
  | `--gaps` | Load verification.json gaps, skip P1 exploration, plan only gap fixes |
91
- | `--dir <path>` | Use arbitrary directory instead of phase resolution (skip roadmap validation) |
90
+ | `--dir <path>` | Use arbitrary directory instead of milestone resolution (skip roadmap validation) |
92
91
  | `--revise [instructions]` | Revise existing plan (skip P1-P3, load → modify → P4). Auto-discovers latest plan or use `--dir` |
93
92
  | `--check <plan-dir>` | Standalone plan verification (P4 only, read-only) |
94
93
  | `--tdd` | Generate TDD task chains (RED-GREEN-REFACTOR triplets). Load `@~/.maestro/workflows/tdd.md` for discipline and task structure |
@@ -246,9 +245,9 @@ When `--tdd` is active:
246
245
  MUST spawn `workflow-planner` agent with: context.md, spec-ref, doc-index.json, explorationContext (incl. implementationScope from P1 Step 5), clarificationContext, phase goal + success_criteria, templates (plan.json, task.json).
247
246
 
248
247
  **Task count guard**: Before spawning, assess scope complexity:
249
- - Single feature / simple change → expect **1-2 tasks** max
250
- - Medium feature (multiple files, one module) → expect **2-4 tasks** max
251
- - Large feature (cross-module) → expect **4-8 tasks** max
248
+ - Single feature / simple change → expect **1-4 tasks** max
249
+ - Medium feature (multiple files, cross-module) → expect **4-8 tasks** max
250
+ - Large milestone (>3 modules, 2+1 agent mode) → expect **8-16 tasks** max
252
251
  - If planner outputs more tasks than these thresholds, re-prompt with explicit instruction to merge.
253
252
 
254
253
  Agent responsibilities:
@@ -298,12 +297,26 @@ Every TASK-*.json MUST include these fields — they are NOT optional:
298
297
 
299
298
  **Why this matters:** Executor agents work from the task JSON. Vague instructions produce shallow one-line changes. Concrete instructions produce complete work.
300
299
 
301
- ### Collaborative Mode (`--collab`)
300
+ ### Plan Agent Model
302
301
 
303
- - Pre-allocate TASK ID ranges per planner (2-5 planners based on scope): TASK-001..010, TASK-011..020, etc.
304
- - Create `plan-note.md` for coordination (shared context, ID ranges, no-overlap rules)
305
- - MUST spawn N `workflow-collab-planner` agents in parallel, each writing `.task/TASK-{NNN}.json` within assigned range
306
- - Merge: collect all task files, build unified plan.json with merged waves, resolve cross-planner dependencies
302
+ Plan automatically selects agent mode based on milestone scope:
303
+
304
+ **Single agent mode** (default):
305
+ - Milestone involves ≤3 modules
306
+ - 1 workflow-planner agent, max 8 TASK JSON output
307
+ - Directly produces plan.json
308
+
309
+ **2+1 agent mode** (auto-triggered when milestone involves >3 modules):
310
+ - 2 parallel workflow-planner agents, each scoped to 2-3 modules
311
+ - Each agent produces max 8 TASK JSON (total max 16)
312
+ - +1 synthesis agent:
313
+ - Merges TASK JSON from both agents
314
+ - DAG analysis: dependency correctness, cycle detection, cross-module conflicts
315
+ - Terminology consistency check
316
+ - Wave ordering optimization
317
+ - Produces unified plan.json
318
+
319
+ Module count is derived from milestone phase definitions and analyze upstream context.
307
320
 
308
321
  ### Gap Mode (`--gaps`)
309
322
 
@@ -316,7 +329,6 @@ Bidirectional linking (main flow, post-planner): update matching issues in `.wor
316
329
  ### Output
317
330
  - `plan.json` in PHASE_DIR
318
331
  - `.task/TASK-{NNN}.json` files in PHASE_DIR/.task/
319
- - `plan-note.md` (collab mode only)
320
332
 
321
333
  ---
322
334
 
@@ -414,10 +426,10 @@ Bidirectional linking (main flow, post-planner): update matching issues in `.wor
414
426
 
415
427
  | Error | Action |
416
428
  |-------|--------|
417
- | E001: No args and no roadmap | Provide phase number or topic, or create roadmap |
429
+ | E001: No args and no roadmap | Provide milestone number or topic, or create roadmap |
418
430
  | E004: No plan found to revise | Use --dir to specify plan, or create plan first |
419
431
  | E005: Plan directory not found (--check) | Check path, use --dir |
420
- | Phase directory not found | Abort with message: "Phase {phase} not found. Run /workflow:init first." |
432
+ | Milestone not found | Abort with message: "Milestone {milestone} not found. Run /maestro-roadmap first." |
421
433
  | No context.md | Warn, proceed with exploration only |
422
434
  | Exploration agent fails | Log error, continue with available explorations; flag plan as [LOW CONFIDENCE] (partial explorations) |
423
435
  | Planner produces invalid JSON | Retry once, then abort with error details |
@@ -444,7 +456,7 @@ Incrementally modify an existing plan without rebuilding from scratch.
444
456
  ### Plan Discovery
445
457
 
446
458
  - `--dir` specified → use directly
447
- - Else → latest completed plan artifact for current phase from state.json
459
+ - Else → latest completed plan artifact for current milestone from state.json
448
460
  - Not found → ERROR E004
449
461
 
450
462
  ### Execution Flow
@@ -97,23 +97,27 @@ Keyword quality rules:
97
97
  ```
98
98
  Entry format (closed-tag), date = YYYY-MM-DD, title = first meaningful phrase:
99
99
 
100
- <spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}" title="{title}" description="{one-line summary}">
100
+ <spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}" sid="{S-YYYYMMDD-xxxx}" title="{title}" description="{one-line summary}">
101
101
  ### {title}
102
102
  {content}
103
103
  </spec-entry>
104
104
  ```
105
105
 
106
+ `sid` (stable identity) 由 CLI 自动生成(`S-YYYYMMDD-xxxx`,base36 随机后缀),用于 supersession 演化链。
107
+
106
108
  ### Step 5: Append to Target File
107
109
 
108
110
  Read target file. Append the formatted `<spec-entry>` block at the end. Write file back.
109
111
 
112
+ CLI 调用时加 `--json` 可从输出中获取生成的 `sid`(supersession 流程需要)。
113
+
110
114
  ### Step 6: Confirm
111
115
 
112
- Display: category, scope, target file path, keywords, and verify command:
116
+ Display: category, scope, target file path, keywords, sid, and verify command:
113
117
  ```
114
118
  maestro spec load --scope <scope> --keyword <kw1>
115
119
  ```
116
120
 
117
121
  ## Output
118
122
 
119
- One `<spec-entry>` block appended to the target file.
123
+ One `<spec-entry>` block appended to the target file (with auto-generated sid).