maestro-flow 0.3.9 → 0.3.11

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 (281) hide show
  1. package/.claude/agents/workflow-collab-planner.md +1 -1
  2. package/.claude/agents/workflow-executor.md +1 -1
  3. package/.claude/agents/workflow-plan-checker.md +1 -1
  4. package/.claude/agents/workflow-planner.md +1 -1
  5. package/.claude/commands/learn-decompose.md +176 -176
  6. package/.claude/commands/learn-follow.md +167 -167
  7. package/.claude/commands/learn-retro.md +1 -1
  8. package/.claude/commands/maestro-analyze.md +46 -3
  9. package/.claude/commands/maestro-coordinate.md +1 -3
  10. package/.claude/commands/maestro-execute.md +14 -0
  11. package/.claude/commands/maestro-plan.md +16 -0
  12. package/.claude/commands/manage-harvest.md +131 -131
  13. package/.claude/commands/manage-issue-discover.md +2 -2
  14. package/.claude/commands/manage-issue.md +5 -5
  15. package/.claude/commands/spec-add.md +67 -56
  16. package/.claude/commands/spec-load.md +66 -64
  17. package/.claude/commands/spec-setup.md +5 -9
  18. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  19. package/.codex/skills/learn-follow/SKILL.md +83 -0
  20. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  21. package/.codex/skills/learn-retro/SKILL.md +83 -0
  22. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  23. package/.codex/skills/maestro/SKILL.md +335 -0
  24. package/.codex/skills/maestro-analyze/SKILL.md +84 -75
  25. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  26. package/.codex/skills/maestro-chain/SKILL.md +233 -0
  27. package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
  28. package/.codex/skills/maestro-execute/SKILL.md +435 -438
  29. package/.codex/skills/maestro-fork/SKILL.md +68 -0
  30. package/.codex/skills/maestro-init/SKILL.md +171 -167
  31. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  32. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  33. package/.codex/skills/maestro-merge/SKILL.md +62 -0
  34. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  35. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  36. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  37. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  38. package/.codex/skills/maestro-plan/SKILL.md +66 -69
  39. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  40. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  41. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  42. package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
  43. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  44. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  45. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  46. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  47. package/.codex/skills/manage-issue/SKILL.md +80 -65
  48. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  49. package/.codex/skills/manage-learn/SKILL.md +190 -186
  50. package/.codex/skills/manage-memory/SKILL.md +95 -72
  51. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  52. package/.codex/skills/manage-status/SKILL.md +102 -89
  53. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  54. package/.codex/skills/quality-debug/SKILL.md +54 -66
  55. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  56. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  57. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  58. package/.codex/skills/quality-review/SKILL.md +93 -105
  59. package/.codex/skills/quality-sync/SKILL.md +101 -89
  60. package/.codex/skills/quality-test/SKILL.md +202 -198
  61. package/.codex/skills/quality-test-gen/SKILL.md +93 -104
  62. package/.codex/skills/spec-add/SKILL.md +58 -39
  63. package/.codex/skills/spec-load/SKILL.md +45 -40
  64. package/.codex/skills/spec-map/SKILL.md +180 -182
  65. package/.codex/skills/spec-setup/SKILL.md +94 -76
  66. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  67. package/.codex/skills/team-executor/SKILL.md +70 -112
  68. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  69. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  70. package/.codex/skills/team-review/SKILL.md +232 -225
  71. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  72. package/.codex/skills/team-testing/SKILL.md +242 -235
  73. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  74. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  75. package/README.md +14 -11
  76. package/README.zh-CN.md +14 -11
  77. package/chains/issue-lifecycle.json +13 -13
  78. package/chains/singles/issue-analyze.json +3 -3
  79. package/chains/singles/issue-execute.json +3 -3
  80. package/chains/singles/issue-plan.json +3 -3
  81. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
  82. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  83. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  84. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  85. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
  86. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  88. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  89. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  90. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  91. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  92. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  93. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
  94. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  95. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  96. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  97. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
  98. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  99. package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
  100. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
  101. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
  102. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
  103. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  104. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  105. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  106. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  107. package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
  108. package/dashboard/dist-server/src/hooks/constants.js +151 -16
  109. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  110. package/dashboard/dist-server/src/types/index.d.ts +5 -0
  111. package/dist/src/commands/collab.d.ts +1 -34
  112. package/dist/src/commands/collab.d.ts.map +1 -1
  113. package/dist/src/commands/collab.js +8 -76
  114. package/dist/src/commands/collab.js.map +1 -1
  115. package/dist/src/commands/hooks.d.ts +5 -1
  116. package/dist/src/commands/hooks.d.ts.map +1 -1
  117. package/dist/src/commands/hooks.js +115 -10
  118. package/dist/src/commands/hooks.js.map +1 -1
  119. package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
  120. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  121. package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
  122. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  123. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  124. package/dist/src/commands/install-ui/InstallExecution.js +5 -1
  125. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  126. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  127. package/dist/src/commands/install-ui/InstallFlow.js +7 -3
  128. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  129. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
  130. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  131. package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
  132. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  133. package/dist/src/commands/spec.d.ts.map +1 -1
  134. package/dist/src/commands/spec.js +7 -2
  135. package/dist/src/commands/spec.js.map +1 -1
  136. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
  137. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
  138. package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
  139. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
  140. package/dist/src/hooks/constants.d.ts +92 -12
  141. package/dist/src/hooks/constants.d.ts.map +1 -1
  142. package/dist/src/hooks/constants.js +151 -16
  143. package/dist/src/hooks/constants.js.map +1 -1
  144. package/dist/src/hooks/guards/index.d.ts +2 -0
  145. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  146. package/dist/src/hooks/guards/index.js +2 -0
  147. package/dist/src/hooks/guards/index.js.map +1 -1
  148. package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
  149. package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
  150. package/dist/src/hooks/guards/preflight-guard.js +95 -0
  151. package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
  152. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  153. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  154. package/dist/src/hooks/guards/spec-validator.js +66 -0
  155. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  156. package/dist/src/hooks/index.d.ts +1 -0
  157. package/dist/src/hooks/index.d.ts.map +1 -1
  158. package/dist/src/hooks/index.js +1 -0
  159. package/dist/src/hooks/index.js.map +1 -1
  160. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  161. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  162. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  163. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  164. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  165. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  166. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  167. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  168. package/dist/src/hooks/preflight-core.d.ts +37 -0
  169. package/dist/src/hooks/preflight-core.d.ts.map +1 -0
  170. package/dist/src/hooks/preflight-core.js +86 -0
  171. package/dist/src/hooks/preflight-core.js.map +1 -0
  172. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  173. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  174. package/dist/src/hooks/spec-bridge.js +97 -0
  175. package/dist/src/hooks/spec-bridge.js.map +1 -0
  176. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  177. package/dist/src/hooks/spec-injector.js +18 -12
  178. package/dist/src/hooks/spec-injector.js.map +1 -1
  179. package/dist/src/hooks/statusline.d.ts +8 -17
  180. package/dist/src/hooks/statusline.d.ts.map +1 -1
  181. package/dist/src/hooks/statusline.js +269 -112
  182. package/dist/src/hooks/statusline.js.map +1 -1
  183. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  184. package/dist/src/i18n/locales/en.js +5 -0
  185. package/dist/src/i18n/locales/en.js.map +1 -1
  186. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  187. package/dist/src/i18n/locales/zh.js +5 -0
  188. package/dist/src/i18n/locales/zh.js.map +1 -1
  189. package/dist/src/i18n/types.d.ts +5 -0
  190. package/dist/src/i18n/types.d.ts.map +1 -1
  191. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  192. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  193. package/dist/src/team/phase-orchestrator.js +165 -0
  194. package/dist/src/team/phase-orchestrator.js.map +1 -0
  195. package/dist/src/team/phase-types.d.ts +51 -0
  196. package/dist/src/team/phase-types.d.ts.map +1 -0
  197. package/dist/src/team/phase-types.js +41 -0
  198. package/dist/src/team/phase-types.js.map +1 -0
  199. package/dist/src/tools/collab-adapter.d.ts +17 -0
  200. package/dist/src/tools/collab-adapter.d.ts.map +1 -1
  201. package/dist/src/tools/collab-adapter.js +138 -0
  202. package/dist/src/tools/collab-adapter.js.map +1 -1
  203. package/dist/src/tools/index.d.ts.map +1 -1
  204. package/dist/src/tools/index.js +6 -0
  205. package/dist/src/tools/index.js.map +1 -1
  206. package/dist/src/tools/merge-validator.d.ts +24 -0
  207. package/dist/src/tools/merge-validator.d.ts.map +1 -0
  208. package/dist/src/tools/merge-validator.js +220 -0
  209. package/dist/src/tools/merge-validator.js.map +1 -0
  210. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  211. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  212. package/dist/src/tools/spec-entry-parser.js +196 -0
  213. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  214. package/dist/src/tools/spec-init.d.ts.map +1 -1
  215. package/dist/src/tools/spec-init.js +66 -92
  216. package/dist/src/tools/spec-init.js.map +1 -1
  217. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  218. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  219. package/dist/src/tools/spec-keyword-index.js +101 -0
  220. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  221. package/dist/src/tools/spec-loader.d.ts +3 -3
  222. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  223. package/dist/src/tools/spec-loader.js +49 -23
  224. package/dist/src/tools/spec-loader.js.map +1 -1
  225. package/dist/src/tools/team-agents.d.ts +27 -0
  226. package/dist/src/tools/team-agents.d.ts.map +1 -0
  227. package/dist/src/tools/team-agents.js +362 -0
  228. package/dist/src/tools/team-agents.js.map +1 -0
  229. package/dist/src/tools/team-mailbox.d.ts +40 -0
  230. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  231. package/dist/src/tools/team-mailbox.js +384 -0
  232. package/dist/src/tools/team-mailbox.js.map +1 -0
  233. package/dist/src/tools/team-msg.d.ts +17 -8
  234. package/dist/src/tools/team-msg.d.ts.map +1 -1
  235. package/dist/src/tools/team-msg.js +110 -13
  236. package/dist/src/tools/team-msg.js.map +1 -1
  237. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  238. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  239. package/dist/src/tools/team-tasks-mcp.js +408 -0
  240. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  241. package/dist/src/types/index.d.ts +5 -0
  242. package/dist/src/types/index.d.ts.map +1 -1
  243. package/package.json +2 -1
  244. package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
  245. package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
  246. package/templates/search-tools.md +1 -1
  247. package/workflows/analyze.md +816 -816
  248. package/workflows/brainstorm.md +471 -471
  249. package/workflows/cli-tools-usage.md +44 -27
  250. package/workflows/codebase-rebuild.md +332 -332
  251. package/workflows/codebase-refresh.md +240 -240
  252. package/workflows/delegate-usage.md +3 -3
  253. package/workflows/execute.md +1 -1
  254. package/workflows/harvest.md +420 -420
  255. package/workflows/integration-test.md +343 -343
  256. package/workflows/issue-analyze.md +6 -2
  257. package/workflows/issue-discover.md +414 -414
  258. package/workflows/issue-execute.md +6 -3
  259. package/workflows/issue-plan.md +5 -2
  260. package/workflows/maestro-coordinate.codex.md +281 -470
  261. package/workflows/maestro-coordinate.md +14 -14
  262. package/workflows/maestro-link-coordinate.md +2 -2
  263. package/workflows/maestro.codex.md +710 -0
  264. package/workflows/maestro.md +10 -11
  265. package/workflows/map.md +111 -111
  266. package/workflows/milestone-complete.md +176 -176
  267. package/workflows/plan.md +1 -1
  268. package/workflows/quick.md +497 -497
  269. package/workflows/refactor.md +300 -300
  270. package/workflows/retrospective.md +1 -1
  271. package/workflows/roadmap.md +335 -335
  272. package/workflows/spec-generate.md +640 -640
  273. package/workflows/specs-add.md +46 -81
  274. package/workflows/specs-load.md +15 -17
  275. package/workflows/specs-setup.md +40 -161
  276. package/.claude/commands/manage-issue-analyze.md +0 -62
  277. package/.claude/commands/manage-issue-execute.md +0 -73
  278. package/.claude/commands/manage-issue-plan.md +0 -62
  279. package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
  280. package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
  281. package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
@@ -1,240 +1,240 @@
1
- # Workflow: codebase-refresh
2
-
3
- Incremental refresh of `.workflow/codebase/` documentation based on changes since the last rebuild or refresh.
4
-
5
- Detects which files have changed (via git diff), identifies which codebase docs are affected, selectively re-scans only those areas, and updates timestamps. Much faster than a full rebuild for ongoing maintenance.
6
-
7
- ## Trigger
8
-
9
- - Manual via `/workflow:codebase-refresh [--since <date>] [--deep]`
10
-
11
- ## Arguments
12
-
13
- | Arg | Description | Required |
14
- |-----|-------------|----------|
15
- | `--since <date>` | Override change detection window (ISO date or relative like "3d") | No |
16
- | `--deep` | Force deeper re-scan even for files with minor changes | No |
17
-
18
- ## Prerequisites
19
-
20
- - `.workflow/` directory exists and is initialized
21
- - `.workflow/codebase/` must contain existing docs (from prior rebuild)
22
- - `.workflow/codebase/doc-index.json` must exist (run `/workflow:codebase rebuild` first)
23
-
24
- ---
25
-
26
- ## Workflow Steps
27
-
28
- ### Step 1: Parse Input and Validate
29
-
30
- ```
31
- Parse $ARGUMENTS for --since and --deep flags.
32
-
33
- Verify .workflow/ directory exists and is initialized (project.md, state.json present).
34
- If not initialized: abort with E001.
35
-
36
- Verify .workflow/codebase/doc-index.json exists.
37
- If not: abort with E002 (suggest using codebase-rebuild instead).
38
- ```
39
-
40
- ### Step 2: Detect Changes
41
-
42
- ```
43
- Determine the change detection window:
44
- If --since provided: use that date/ref
45
- Otherwise: use codebase_last_rebuilt or codebase_last_refreshed from state.json
46
-
47
- Run git diff --name-only since the determined date to get list of changed files.
48
-
49
- If no changes detected: emit W001 and exit gracefully ("No changes detected since last refresh").
50
- ```
51
-
52
- ### Step 3: Identify Affected Documentation
53
-
54
- ```
55
- Read .workflow/codebase/doc-index.json to map changed files to documentation entries.
56
-
57
- For each changed file, identify which doc-index entries reference it:
58
- - Which tech-registry components are affected (via code_locations matching)
59
- - Which feature-map entries need updating (via component -> feature chain)
60
- - Which requirements or ADRs reference changed code
61
-
62
- Build a list of affected documentation sections:
63
- affected_components = [component entries whose code_locations include changed files]
64
- affected_features = [features whose component_ids include affected components]
65
- ```
66
-
67
- ### Step 3.5: Load Project Specs
68
-
69
- ```
70
- specs_content = maestro spec load --category planning
71
- ```
72
-
73
- Used in Step 4-5 to validate refreshed docs against architectural expectations.
74
-
75
- ---
76
-
77
- ### Step 4: Re-scan Affected Components
78
-
79
- ```
80
- For each component in affected_components:
81
- For each file_path in component.code_locations:
82
- a. Check if file still exists
83
- If not: mark for removal from code_locations, log warning
84
-
85
- b. Read file content
86
- Extract exported symbols:
87
- - export class {Name}
88
- - export function {name}
89
- - export interface {Name}
90
- - export type {Name}
91
- - export const {NAME}
92
- - export default {name/class}
93
- - module.exports patterns (for CJS)
94
-
95
- c. Update component entry:
96
- - symbols = [newly extracted symbols]
97
- - last_updated = current ISO timestamp
98
-
99
- If --deep is set, also re-scan files that import/require the changed files
100
- (follow reverse dependency chain to find additional affected components).
101
-
102
- Check for new files that should belong to this component:
103
- - Scan same directory as existing code_locations
104
- - If new files match the component's naming pattern:
105
- Log: "Potential new file for {component.id}: {file}"
106
- (Do not auto-add; report for manual review)
107
- ```
108
-
109
- ### Step 5: Check Relationship Changes
110
-
111
- ```
112
- For each refreshed component:
113
- Read import statements from code_locations files
114
- Identify imported modules that map to other components
115
-
116
- Compare with current feature_ids:
117
- If a component imports from a different feature's components:
118
- Log: "Cross-feature dependency detected: {component.id} -> {other_component.id}"
119
-
120
- For each refreshed feature:
121
- Verify all component_ids still exist in components[]
122
- Remove any stale component_ids
123
- Check if new components should be added (by directory proximity)
124
- ```
125
-
126
- ### Step 6: Update Doc Index
127
-
128
- ```
129
- Write updated entries back to doc-index.json:
130
- - Updated component entries (symbols, code_locations, last_updated)
131
- - Updated feature entries (component_ids, last_updated)
132
- - Update top-level last_updated timestamp
133
- - Update global last_refreshed timestamp
134
-
135
- Write: .workflow/codebase/doc-index.json
136
- ```
137
-
138
- ### Step 7: Regenerate Affected Docs
139
-
140
- ```
141
- For each refreshed component:
142
- Compute slug from component.name
143
- Regenerate: .workflow/codebase/tech-registry/{slug}.md
144
-
145
- # {component.name}
146
-
147
- | Field | Value |
148
- |-------|-------|
149
- | **ID** | {id} |
150
- | **Type** | {type} |
151
- | **Features** | {feature_ids joined} |
152
-
153
- ## Code Locations
154
- {bullet list of code_locations}
155
-
156
- ## Exported Symbols
157
- {bullet list of symbols}
158
-
159
- ---
160
- *Refreshed at {timestamp}*
161
-
162
- For each refreshed feature:
163
- Compute slug from feature.name
164
- Regenerate: .workflow/codebase/feature-maps/{slug}.md
165
-
166
- # {feature.name}
167
-
168
- | Field | Value |
169
- |-------|-------|
170
- | **ID** | {id} |
171
- | **Status** | {status} |
172
- | **Phase** | {phase or "unassigned"} |
173
-
174
- ## Components
175
- | ID | Name | Type |
176
- |----|------|------|
177
- {table row per component}
178
-
179
- ## Requirements
180
- {bullet list of requirement_ids with titles}
181
-
182
- ---
183
- *Refreshed at {timestamp}*
184
-
185
- Update _index.md files if any entries changed:
186
- Regenerate tech-registry/_index.md
187
- Regenerate feature-maps/_index.md
188
- ```
189
-
190
- ### Step 8: Update Timestamps
191
-
192
- ```
193
- Update .workflow/state.json:
194
- - Set codebase_last_refreshed timestamp
195
- - Update last_updated timestamp
196
- ```
197
-
198
- ### Step 9: Report
199
-
200
- ```
201
- Display summary:
202
- Refresh complete:
203
- Changed files detected: {count}
204
- Components refreshed: {count} ({IDs})
205
- Features refreshed: {count} ({IDs})
206
- Symbols updated: {count new} added, {count removed} removed
207
- Files updated in .workflow/codebase/: {list}
208
- Warnings: {any warnings from Steps 4-5}
209
- If W001: "No changes detected since last refresh"
210
-
211
- Suggest next: Skill({ skill: "manage-status" }) to review
212
- ```
213
-
214
- ---
215
-
216
- ## Error Handling
217
-
218
- | Code | Meaning |
219
- |------|---------|
220
- | E001 | .workflow/ not initialized |
221
- | E002 | No codebase/ docs exist, use codebase-rebuild instead |
222
- | W001 | No changes detected since last refresh |
223
-
224
- | Error | Action |
225
- |-------|--------|
226
- | doc-index.json missing | Fail with E002: "Run /workflow:codebase rebuild first" |
227
- | .workflow/ missing | Fail with E001 |
228
- | Code location file missing | Remove from code_locations, log warning |
229
- | No changes detected | Emit W001, exit gracefully |
230
-
231
- ## Output Files
232
-
233
- | File | Action |
234
- |------|--------|
235
- | `.workflow/codebase/doc-index.json` | Updated (affected entries + timestamps) |
236
- | `.workflow/codebase/tech-registry/{slug}.md` | Regenerated for refreshed components |
237
- | `.workflow/codebase/feature-maps/{slug}.md` | Regenerated for refreshed features |
238
- | `.workflow/codebase/tech-registry/_index.md` | Updated if entries changed |
239
- | `.workflow/codebase/feature-maps/_index.md` | Updated if entries changed |
240
- | `.workflow/state.json` | Updated with codebase_last_refreshed timestamp |
1
+ # Workflow: codebase-refresh
2
+
3
+ Incremental refresh of `.workflow/codebase/` documentation based on changes since the last rebuild or refresh.
4
+
5
+ Detects which files have changed (via git diff), identifies which codebase docs are affected, selectively re-scans only those areas, and updates timestamps. Much faster than a full rebuild for ongoing maintenance.
6
+
7
+ ## Trigger
8
+
9
+ - Manual via `/workflow:codebase-refresh [--since <date>] [--deep]`
10
+
11
+ ## Arguments
12
+
13
+ | Arg | Description | Required |
14
+ |-----|-------------|----------|
15
+ | `--since <date>` | Override change detection window (ISO date or relative like "3d") | No |
16
+ | `--deep` | Force deeper re-scan even for files with minor changes | No |
17
+
18
+ ## Prerequisites
19
+
20
+ - `.workflow/` directory exists and is initialized
21
+ - `.workflow/codebase/` must contain existing docs (from prior rebuild)
22
+ - `.workflow/codebase/doc-index.json` must exist (run `/workflow:codebase rebuild` first)
23
+
24
+ ---
25
+
26
+ ## Workflow Steps
27
+
28
+ ### Step 1: Parse Input and Validate
29
+
30
+ ```
31
+ Parse $ARGUMENTS for --since and --deep flags.
32
+
33
+ Verify .workflow/ directory exists and is initialized (project.md, state.json present).
34
+ If not initialized: abort with E001.
35
+
36
+ Verify .workflow/codebase/doc-index.json exists.
37
+ If not: abort with E002 (suggest using codebase-rebuild instead).
38
+ ```
39
+
40
+ ### Step 2: Detect Changes
41
+
42
+ ```
43
+ Determine the change detection window:
44
+ If --since provided: use that date/ref
45
+ Otherwise: use codebase_last_rebuilt or codebase_last_refreshed from state.json
46
+
47
+ Run git diff --name-only since the determined date to get list of changed files.
48
+
49
+ If no changes detected: emit W001 and exit gracefully ("No changes detected since last refresh").
50
+ ```
51
+
52
+ ### Step 3: Identify Affected Documentation
53
+
54
+ ```
55
+ Read .workflow/codebase/doc-index.json to map changed files to documentation entries.
56
+
57
+ For each changed file, identify which doc-index entries reference it:
58
+ - Which tech-registry components are affected (via code_locations matching)
59
+ - Which feature-map entries need updating (via component -> feature chain)
60
+ - Which requirements or ADRs reference changed code
61
+
62
+ Build a list of affected documentation sections:
63
+ affected_components = [component entries whose code_locations include changed files]
64
+ affected_features = [features whose component_ids include affected components]
65
+ ```
66
+
67
+ ### Step 3.5: Load Project Specs
68
+
69
+ ```
70
+ specs_content = maestro spec load --category arch
71
+ ```
72
+
73
+ Used in Step 4-5 to validate refreshed docs against architectural expectations.
74
+
75
+ ---
76
+
77
+ ### Step 4: Re-scan Affected Components
78
+
79
+ ```
80
+ For each component in affected_components:
81
+ For each file_path in component.code_locations:
82
+ a. Check if file still exists
83
+ If not: mark for removal from code_locations, log warning
84
+
85
+ b. Read file content
86
+ Extract exported symbols:
87
+ - export class {Name}
88
+ - export function {name}
89
+ - export interface {Name}
90
+ - export type {Name}
91
+ - export const {NAME}
92
+ - export default {name/class}
93
+ - module.exports patterns (for CJS)
94
+
95
+ c. Update component entry:
96
+ - symbols = [newly extracted symbols]
97
+ - last_updated = current ISO timestamp
98
+
99
+ If --deep is set, also re-scan files that import/require the changed files
100
+ (follow reverse dependency chain to find additional affected components).
101
+
102
+ Check for new files that should belong to this component:
103
+ - Scan same directory as existing code_locations
104
+ - If new files match the component's naming pattern:
105
+ Log: "Potential new file for {component.id}: {file}"
106
+ (Do not auto-add; report for manual review)
107
+ ```
108
+
109
+ ### Step 5: Check Relationship Changes
110
+
111
+ ```
112
+ For each refreshed component:
113
+ Read import statements from code_locations files
114
+ Identify imported modules that map to other components
115
+
116
+ Compare with current feature_ids:
117
+ If a component imports from a different feature's components:
118
+ Log: "Cross-feature dependency detected: {component.id} -> {other_component.id}"
119
+
120
+ For each refreshed feature:
121
+ Verify all component_ids still exist in components[]
122
+ Remove any stale component_ids
123
+ Check if new components should be added (by directory proximity)
124
+ ```
125
+
126
+ ### Step 6: Update Doc Index
127
+
128
+ ```
129
+ Write updated entries back to doc-index.json:
130
+ - Updated component entries (symbols, code_locations, last_updated)
131
+ - Updated feature entries (component_ids, last_updated)
132
+ - Update top-level last_updated timestamp
133
+ - Update global last_refreshed timestamp
134
+
135
+ Write: .workflow/codebase/doc-index.json
136
+ ```
137
+
138
+ ### Step 7: Regenerate Affected Docs
139
+
140
+ ```
141
+ For each refreshed component:
142
+ Compute slug from component.name
143
+ Regenerate: .workflow/codebase/tech-registry/{slug}.md
144
+
145
+ # {component.name}
146
+
147
+ | Field | Value |
148
+ |-------|-------|
149
+ | **ID** | {id} |
150
+ | **Type** | {type} |
151
+ | **Features** | {feature_ids joined} |
152
+
153
+ ## Code Locations
154
+ {bullet list of code_locations}
155
+
156
+ ## Exported Symbols
157
+ {bullet list of symbols}
158
+
159
+ ---
160
+ *Refreshed at {timestamp}*
161
+
162
+ For each refreshed feature:
163
+ Compute slug from feature.name
164
+ Regenerate: .workflow/codebase/feature-maps/{slug}.md
165
+
166
+ # {feature.name}
167
+
168
+ | Field | Value |
169
+ |-------|-------|
170
+ | **ID** | {id} |
171
+ | **Status** | {status} |
172
+ | **Phase** | {phase or "unassigned"} |
173
+
174
+ ## Components
175
+ | ID | Name | Type |
176
+ |----|------|------|
177
+ {table row per component}
178
+
179
+ ## Requirements
180
+ {bullet list of requirement_ids with titles}
181
+
182
+ ---
183
+ *Refreshed at {timestamp}*
184
+
185
+ Update _index.md files if any entries changed:
186
+ Regenerate tech-registry/_index.md
187
+ Regenerate feature-maps/_index.md
188
+ ```
189
+
190
+ ### Step 8: Update Timestamps
191
+
192
+ ```
193
+ Update .workflow/state.json:
194
+ - Set codebase_last_refreshed timestamp
195
+ - Update last_updated timestamp
196
+ ```
197
+
198
+ ### Step 9: Report
199
+
200
+ ```
201
+ Display summary:
202
+ Refresh complete:
203
+ Changed files detected: {count}
204
+ Components refreshed: {count} ({IDs})
205
+ Features refreshed: {count} ({IDs})
206
+ Symbols updated: {count new} added, {count removed} removed
207
+ Files updated in .workflow/codebase/: {list}
208
+ Warnings: {any warnings from Steps 4-5}
209
+ If W001: "No changes detected since last refresh"
210
+
211
+ Suggest next: Skill({ skill: "manage-status" }) to review
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Error Handling
217
+
218
+ | Code | Meaning |
219
+ |------|---------|
220
+ | E001 | .workflow/ not initialized |
221
+ | E002 | No codebase/ docs exist, use codebase-rebuild instead |
222
+ | W001 | No changes detected since last refresh |
223
+
224
+ | Error | Action |
225
+ |-------|--------|
226
+ | doc-index.json missing | Fail with E002: "Run /workflow:codebase rebuild first" |
227
+ | .workflow/ missing | Fail with E001 |
228
+ | Code location file missing | Remove from code_locations, log warning |
229
+ | No changes detected | Emit W001, exit gracefully |
230
+
231
+ ## Output Files
232
+
233
+ | File | Action |
234
+ |------|--------|
235
+ | `.workflow/codebase/doc-index.json` | Updated (affected entries + timestamps) |
236
+ | `.workflow/codebase/tech-registry/{slug}.md` | Regenerated for refreshed components |
237
+ | `.workflow/codebase/feature-maps/{slug}.md` | Regenerated for refreshed features |
238
+ | `.workflow/codebase/tech-registry/_index.md` | Updated if entries changed |
239
+ | `.workflow/codebase/feature-maps/_index.md` | Updated if entries changed |
240
+ | `.workflow/state.json` | Updated with codebase_last_refreshed timestamp |
@@ -1,7 +1,7 @@
1
1
  # Delegate Execution Specification
2
2
 
3
3
  <purpose>
4
- Unified reference for `maestro delegate` — synchronous task delegation with broker-managed lifecycle, message injection, and MCP notifications. Superset of `maestro cli` with cancellation and message chaining.
4
+ Unified reference for `maestro delegate` — synchronous task delegation with broker-managed lifecycle, message injection, and MCP notifications.
5
5
  </purpose>
6
6
 
7
7
  **References**: `~/.maestro/cli-tools.json` (tool config), `~/.maestro/templates/cli/` (protocol + prompt templates)
@@ -87,7 +87,7 @@ With MCP connected, all delegate tools are available programmatically.
87
87
 
88
88
  ### Assembly Order
89
89
 
90
- `maestro delegate` builds the final prompt identically to `maestro cli`:
90
+ `maestro delegate` builds the final prompt as:
91
91
 
92
92
  1. **Mode protocol** — `~/.maestro/templates/cli/protocols/{mode}-protocol.md`
93
93
  2. **User prompt** — the positional `"<PROMPT>"` value
@@ -243,7 +243,7 @@ All subcommands are also available as MCP tools for programmatic access:
243
243
 
244
244
  ### Snapshot & Preview
245
245
 
246
- `delegate status` includes a `Preview:` field showing the agent's latest output — built from `assistant_message`, `tool_use` completions, and `file_change` events. This serves the same purpose as `maestro cli watch` without requiring real-time streaming.
246
+ `delegate status` includes a `Preview:` field showing the agent's latest output — built from `assistant_message`, `tool_use` completions, and `file_change` events.
247
247
 
248
248
  ### Job Lifecycle
249
249
 
@@ -132,7 +132,7 @@ For each wave in waves:
132
132
  ## E1.5: Load Project Specs
133
133
 
134
134
  ```
135
- specs_content = maestro spec load --category execution
135
+ specs_content = maestro spec load --category coding
136
136
  ```
137
137
 
138
138
  Pass specs_content to each executor agent in E2.