@monoes/monomindcli 1.10.54 → 1.10.55

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 (441) hide show
  1. package/.claude/agents/optimization/benchmark-suite.md +2 -0
  2. package/.claude/agents/optimization/load-balancer.md +2 -0
  3. package/.claude/agents/optimization/performance-monitor.md +2 -0
  4. package/.claude/agents/optimization/resource-allocator.md +3 -1
  5. package/.claude/agents/optimization/topology-optimizer.md +2 -0
  6. package/.claude/commands/mastermind/_repeat.md +21 -0
  7. package/.claude/commands/mastermind/_taskfile.md +235 -0
  8. package/.claude/commands/mastermind/adr.md +11 -0
  9. package/.claude/commands/mastermind/approve.md +94 -0
  10. package/.claude/commands/mastermind/autodev.md +32 -0
  11. package/.claude/commands/mastermind/budget.md +7 -0
  12. package/.claude/commands/mastermind/code-review.md +317 -0
  13. package/.claude/commands/mastermind/createorg.md +40 -1
  14. package/.claude/commands/mastermind/createtask.md +383 -0
  15. package/.claude/commands/mastermind/debug.md +22 -0
  16. package/.claude/commands/mastermind/design.md +20 -0
  17. package/.claude/commands/mastermind/do.md +526 -0
  18. package/.claude/commands/mastermind/execute.md +20 -0
  19. package/.claude/commands/mastermind/finish.md +20 -0
  20. package/.claude/commands/mastermind/graph-status.md +7 -0
  21. package/.claude/commands/mastermind/help.md +118 -0
  22. package/.claude/commands/mastermind/ideate.md +261 -0
  23. package/.claude/commands/mastermind/improve.md +345 -0
  24. package/.claude/commands/mastermind/loops.md +7 -0
  25. package/.claude/commands/mastermind/master.md +186 -6
  26. package/.claude/commands/mastermind/memory.md +230 -0
  27. package/.claude/commands/mastermind/plan.md +26 -0
  28. package/.claude/commands/mastermind/receive-review.md +20 -0
  29. package/.claude/commands/mastermind/repeat.md +257 -0
  30. package/.claude/commands/mastermind/runorg.md +3 -0
  31. package/.claude/commands/mastermind/skill-builder.md +20 -0
  32. package/.claude/commands/mastermind/specialagents.md +125 -0
  33. package/.claude/commands/mastermind/swarm.md +161 -0
  34. package/.claude/commands/mastermind/taskdev.md +26 -0
  35. package/.claude/commands/mastermind/tdd.md +22 -0
  36. package/.claude/commands/mastermind/techport.md +4 -0
  37. package/.claude/commands/mastermind/understand.md +139 -0
  38. package/.claude/commands/mastermind/verify.md +22 -0
  39. package/.claude/commands/mastermind/worktree.md +20 -0
  40. package/.claude/helpers/handlers/graph-status-handler.cjs +2 -1
  41. package/.claude/helpers/hook-handler.cjs +19 -0
  42. package/.claude/helpers/skill-registry.json +23 -0
  43. package/.claude/helpers/statusline.cjs +1 -1
  44. package/.claude/skills/mastermind/approve.md +15 -7
  45. package/.claude/skills/mastermind/autodev.md +534 -0
  46. package/.claude/skills/mastermind/createorg.md +21 -5
  47. package/.claude/skills/mastermind/debug.md +232 -0
  48. package/.claude/skills/mastermind/design.md +187 -0
  49. package/.claude/skills/mastermind/execute.md +104 -0
  50. package/.claude/skills/mastermind/finish.md +251 -0
  51. package/.claude/skills/mastermind/plan.md +180 -0
  52. package/.claude/skills/mastermind/receive-review.md +213 -0
  53. package/.claude/skills/mastermind/runorg.md +23 -8
  54. package/.claude/skills/mastermind/skill-builder.md +274 -0
  55. package/.claude/skills/mastermind/taskdev.md +307 -0
  56. package/.claude/skills/mastermind/tdd.md +394 -0
  57. package/.claude/skills/mastermind/verify.md +196 -0
  58. package/.claude/skills/mastermind/worktree.md +160 -132
  59. package/README.md +320 -253
  60. package/dist/src/commands/analyze.d.ts.map +1 -1
  61. package/dist/src/commands/analyze.js +9 -2
  62. package/dist/src/commands/analyze.js.map +1 -1
  63. package/dist/src/commands/benchmark.js.map +1 -1
  64. package/dist/src/commands/completions.js +1 -1
  65. package/dist/src/commands/guidance.js +7 -7
  66. package/dist/src/commands/hooks.d.ts.map +1 -1
  67. package/dist/src/commands/hooks.js +16 -3
  68. package/dist/src/commands/hooks.js.map +1 -1
  69. package/dist/src/commands/index.d.ts +3 -2
  70. package/dist/src/commands/index.d.ts.map +1 -1
  71. package/dist/src/commands/index.js +7 -0
  72. package/dist/src/commands/index.js.map +1 -1
  73. package/dist/src/commands/init.d.ts.map +1 -1
  74. package/dist/src/commands/init.js +47 -13
  75. package/dist/src/commands/init.js.map +1 -1
  76. package/dist/src/commands/neural.d.ts.map +1 -1
  77. package/dist/src/commands/neural.js +100 -14
  78. package/dist/src/commands/neural.js.map +1 -1
  79. package/dist/src/commands/platforms.d.ts +11 -0
  80. package/dist/src/commands/platforms.d.ts.map +1 -0
  81. package/dist/src/commands/platforms.js +195 -0
  82. package/dist/src/commands/platforms.js.map +1 -0
  83. package/dist/src/commands/ruvector/backup.js.map +1 -1
  84. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  85. package/dist/src/commands/ruvector/init.js.map +1 -1
  86. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  87. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  88. package/dist/src/commands/ruvector/status.js.map +1 -1
  89. package/dist/src/commands/update.js +6 -6
  90. package/dist/src/init/executor.d.ts.map +1 -1
  91. package/dist/src/init/executor.js +28 -0
  92. package/dist/src/init/executor.js.map +1 -1
  93. package/dist/src/init/statusline-generator.js +1 -1
  94. package/dist/src/init/types.d.ts +1 -0
  95. package/dist/src/init/types.d.ts.map +1 -1
  96. package/dist/src/mcp-server.d.ts.map +1 -1
  97. package/dist/src/mcp-server.js +92 -0
  98. package/dist/src/mcp-server.js.map +1 -1
  99. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  100. package/dist/src/mcp-tools/hive-mind-tools.js +52 -0
  101. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  102. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  103. package/dist/src/mcp-tools/hooks-tools.js +106 -5
  104. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  105. package/dist/src/mcp-tools/index.d.ts +0 -5
  106. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  107. package/dist/src/mcp-tools/index.js +0 -5
  108. package/dist/src/mcp-tools/index.js.map +1 -1
  109. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  110. package/dist/src/mcp-tools/monograph-tools.js +507 -5587
  111. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  112. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  113. package/dist/src/mcp-tools/neural-tools.js +64 -4
  114. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  115. package/dist/src/mcp-tools/security-tools.js +4 -4
  116. package/dist/src/memory/intelligence.d.ts +2 -2
  117. package/dist/src/memory/intelligence.d.ts.map +1 -1
  118. package/dist/src/memory/intelligence.js +108 -3
  119. package/dist/src/memory/intelligence.js.map +1 -1
  120. package/dist/src/memory/memory-bridge.js +1 -1
  121. package/dist/src/memory/memory-bridge.js.map +1 -1
  122. package/dist/src/memory/sona-optimizer.d.ts +1 -10
  123. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  124. package/dist/src/memory/sona-optimizer.js +0 -46
  125. package/dist/src/memory/sona-optimizer.js.map +1 -1
  126. package/dist/src/runtime/headless.js +3 -3
  127. package/dist/src/ruvector/diff-classifier.d.ts +0 -2
  128. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -1
  129. package/dist/src/ruvector/diff-classifier.js +2 -14
  130. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  131. package/dist/src/ruvector/index.d.ts +26 -9
  132. package/dist/src/ruvector/index.d.ts.map +1 -1
  133. package/dist/src/ruvector/index.js +3 -21
  134. package/dist/src/ruvector/index.js.map +1 -1
  135. package/dist/src/ruvector/ruvllm-wasm.js +2 -2
  136. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  137. package/dist/src/types.d.ts +0 -15
  138. package/dist/src/types.d.ts.map +1 -1
  139. package/dist/src/types.js +0 -18
  140. package/dist/src/types.js.map +1 -1
  141. package/dist/src/ui/dashboard.html +8763 -9766
  142. package/dist/src/ui/orgs.html +1 -1
  143. package/dist/src/ui/server.mjs +504 -35
  144. package/dist/src/update/index.js +1 -1
  145. package/dist/src/update/validator.js +8 -8
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +2 -2
  148. package/.claude/agents/academic/academic-anthropologist.md +0 -126
  149. package/.claude/agents/academic/academic-geographer.md +0 -128
  150. package/.claude/agents/academic/academic-historian.md +0 -124
  151. package/.claude/agents/academic/academic-narratologist.md +0 -119
  152. package/.claude/agents/academic/academic-psychologist.md +0 -119
  153. package/.claude/agents/analysis/analyze-code-quality.md +0 -58
  154. package/.claude/agents/analysis/code-analyzer.md +0 -189
  155. package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -58
  156. package/.claude/agents/consensus/performance-benchmarker.md +0 -831
  157. package/.claude/agents/data/ml/data-ml-model.md +0 -76
  158. package/.claude/agents/development/dev-backend-api.md +0 -178
  159. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +0 -52
  160. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -63
  161. package/.claude/agents/game-development/blender/blender-addon-engineer.md +0 -235
  162. package/.claude/agents/game-development/game-audio-engineer.md +0 -265
  163. package/.claude/agents/game-development/game-designer.md +0 -168
  164. package/.claude/agents/game-development/godot/godot-gameplay-scripter.md +0 -335
  165. package/.claude/agents/game-development/godot/godot-multiplayer-engineer.md +0 -298
  166. package/.claude/agents/game-development/godot/godot-shader-developer.md +0 -267
  167. package/.claude/agents/game-development/level-designer.md +0 -209
  168. package/.claude/agents/game-development/narrative-designer.md +0 -244
  169. package/.claude/agents/game-development/roblox-studio/roblox-avatar-creator.md +0 -298
  170. package/.claude/agents/game-development/roblox-studio/roblox-experience-designer.md +0 -306
  171. package/.claude/agents/game-development/roblox-studio/roblox-systems-scripter.md +0 -326
  172. package/.claude/agents/game-development/technical-artist.md +0 -230
  173. package/.claude/agents/game-development/unity/unity-architect.md +0 -272
  174. package/.claude/agents/game-development/unity/unity-editor-tool-developer.md +0 -311
  175. package/.claude/agents/game-development/unity/unity-multiplayer-engineer.md +0 -322
  176. package/.claude/agents/game-development/unity/unity-shader-graph-artist.md +0 -270
  177. package/.claude/agents/game-development/unreal-engine/unreal-multiplayer-architect.md +0 -314
  178. package/.claude/agents/game-development/unreal-engine/unreal-systems-engineer.md +0 -311
  179. package/.claude/agents/game-development/unreal-engine/unreal-technical-artist.md +0 -257
  180. package/.claude/agents/game-development/unreal-engine/unreal-world-builder.md +0 -274
  181. package/.claude/agents/github/release-swarm.md +0 -597
  182. package/.claude/agents/goal/agent.md +0 -804
  183. package/.claude/agents/goal/code-goal-planner.md +0 -445
  184. package/.claude/agents/marketing/marketing-ai-citation-strategist.md +0 -171
  185. package/.claude/agents/marketing/marketing-app-store-optimizer.md +0 -322
  186. package/.claude/agents/marketing/marketing-baidu-seo-specialist.md +0 -227
  187. package/.claude/agents/marketing/marketing-bilibili-content-strategist.md +0 -200
  188. package/.claude/agents/marketing/marketing-book-co-author.md +0 -111
  189. package/.claude/agents/marketing/marketing-carousel-growth-engine.md +0 -200
  190. package/.claude/agents/marketing/marketing-china-ecommerce-operator.md +0 -284
  191. package/.claude/agents/marketing/marketing-content-creator.md +0 -67
  192. package/.claude/agents/marketing/marketing-cross-border-ecommerce.md +0 -260
  193. package/.claude/agents/marketing/marketing-douyin-strategist.md +0 -150
  194. package/.claude/agents/marketing/marketing-growth-hacker.md +0 -54
  195. package/.claude/agents/marketing/marketing-instagram-curator.md +0 -114
  196. package/.claude/agents/marketing/marketing-kuaishou-strategist.md +0 -224
  197. package/.claude/agents/marketing/marketing-linkedin-content-creator.md +0 -215
  198. package/.claude/agents/marketing/marketing-livestream-commerce-coach.md +0 -306
  199. package/.claude/agents/marketing/marketing-podcast-strategist.md +0 -278
  200. package/.claude/agents/marketing/marketing-private-domain-operator.md +0 -309
  201. package/.claude/agents/marketing/marketing-reddit-community-builder.md +0 -124
  202. package/.claude/agents/marketing/marketing-seo-specialist.md +0 -279
  203. package/.claude/agents/marketing/marketing-short-video-editing-coach.md +0 -413
  204. package/.claude/agents/marketing/marketing-social-media-strategist.md +0 -125
  205. package/.claude/agents/marketing/marketing-tiktok-strategist.md +0 -126
  206. package/.claude/agents/marketing/marketing-twitter-engager.md +0 -127
  207. package/.claude/agents/marketing/marketing-wechat-official-account.md +0 -146
  208. package/.claude/agents/marketing/marketing-weibo-strategist.md +0 -241
  209. package/.claude/agents/marketing/marketing-xiaohongshu-specialist.md +0 -139
  210. package/.claude/agents/marketing/marketing-zhihu-strategist.md +0 -163
  211. package/.claude/agents/neural/safla-neural.md +0 -74
  212. package/.claude/agents/paid-media/paid-media-auditor.md +0 -71
  213. package/.claude/agents/paid-media/paid-media-creative-strategist.md +0 -71
  214. package/.claude/agents/paid-media/paid-media-paid-social-strategist.md +0 -71
  215. package/.claude/agents/paid-media/paid-media-ppc-strategist.md +0 -71
  216. package/.claude/agents/paid-media/paid-media-programmatic-buyer.md +0 -71
  217. package/.claude/agents/paid-media/paid-media-search-query-analyst.md +0 -71
  218. package/.claude/agents/paid-media/paid-media-tracking-specialist.md +0 -71
  219. package/.claude/agents/payments/agentic-payments.md +0 -126
  220. package/.claude/agents/product/product-behavioral-nudge-engine.md +0 -81
  221. package/.claude/agents/product/product-feedback-synthesizer.md +0 -119
  222. package/.claude/agents/product/product-manager.md +0 -469
  223. package/.claude/agents/product/product-sprint-prioritizer.md +0 -154
  224. package/.claude/agents/product/product-trend-researcher.md +0 -159
  225. package/.claude/agents/project-management/project-management-experiment-tracker.md +0 -199
  226. package/.claude/agents/project-management/project-management-jira-workflow-steward.md +0 -231
  227. package/.claude/agents/project-management/project-management-project-shepherd.md +0 -195
  228. package/.claude/agents/project-management/project-management-studio-operations.md +0 -201
  229. package/.claude/agents/project-management/project-management-studio-producer.md +0 -204
  230. package/.claude/agents/project-management/project-manager-senior.md +0 -136
  231. package/.claude/agents/reasoning/agent.md +0 -804
  232. package/.claude/agents/reasoning/goal-planner.md +0 -73
  233. package/.claude/agents/sales/sales-account-strategist.md +0 -228
  234. package/.claude/agents/sales/sales-coach.md +0 -272
  235. package/.claude/agents/sales/sales-deal-strategist.md +0 -181
  236. package/.claude/agents/sales/sales-discovery-coach.md +0 -226
  237. package/.claude/agents/sales/sales-engineer.md +0 -183
  238. package/.claude/agents/sales/sales-outbound-strategist.md +0 -202
  239. package/.claude/agents/sales/sales-pipeline-analyst.md +0 -268
  240. package/.claude/agents/sales/sales-proposal-strategist.md +0 -218
  241. package/.claude/agents/sona/sona-learning-optimizer.md +0 -65
  242. package/.claude/agents/spatial-computing/macos-spatial-metal-engineer.md +0 -338
  243. package/.claude/agents/spatial-computing/terminal-integration-specialist.md +0 -71
  244. package/.claude/agents/spatial-computing/visionos-spatial-engineer.md +0 -55
  245. package/.claude/agents/specialists/memory-specialist.md +0 -298
  246. package/.claude/agents/specialists/performance-engineer.md +0 -387
  247. package/.claude/agents/specialists/queen-coordinator.md +0 -67
  248. package/.claude/agents/specialists/security-architect.md +0 -154
  249. package/.claude/agents/specialized/accounts-payable-agent.md +0 -186
  250. package/.claude/agents/specialized/corporate-training-designer.md +0 -193
  251. package/.claude/agents/specialized/data-consolidation-agent.md +0 -61
  252. package/.claude/agents/specialized/government-digital-presales-consultant.md +0 -364
  253. package/.claude/agents/specialized/healthcare-marketing-compliance.md +0 -396
  254. package/.claude/agents/specialized/recruitment-specialist.md +0 -510
  255. package/.claude/agents/specialized/report-distribution-agent.md +0 -66
  256. package/.claude/agents/specialized/sales-data-extraction-agent.md +0 -68
  257. package/.claude/agents/specialized/specialized-french-consulting-market.md +0 -193
  258. package/.claude/agents/specialized/specialized-korean-business-navigator.md +0 -217
  259. package/.claude/agents/specialized/specialized-salesforce-architect.md +0 -181
  260. package/.claude/agents/specialized/study-abroad-advisor.md +0 -283
  261. package/.claude/agents/specialized/supply-chain-strategist.md +0 -583
  262. package/.claude/agents/sublinear/consensus-coordinator.md +0 -333
  263. package/.claude/agents/sublinear/matrix-optimizer.md +0 -180
  264. package/.claude/agents/sublinear/pagerank-analyzer.md +0 -295
  265. package/.claude/agents/sublinear/performance-optimizer.md +0 -363
  266. package/.claude/agents/sublinear/trading-predictor.md +0 -242
  267. package/.claude/agents/support/support-analytics-reporter.md +0 -366
  268. package/.claude/agents/support/support-executive-summary-generator.md +0 -213
  269. package/.claude/agents/support/support-finance-tracker.md +0 -443
  270. package/.claude/agents/support/support-infrastructure-maintainer.md +0 -619
  271. package/.claude/agents/support/support-legal-compliance-checker.md +0 -589
  272. package/.claude/agents/support/support-support-responder.md +0 -586
  273. package/.claude/agents/swarm/adaptive-coordinator.md +0 -364
  274. package/.claude/agents/swarm/hierarchical-coordinator.md +0 -318
  275. package/.claude/agents/templates/github-pr-manager.md +0 -155
  276. package/.claude/agents/templates/memory-coordinator.md +0 -163
  277. package/.claude/agents/templates/migration-plan.md +0 -724
  278. package/.claude/agents/templates/orchestrator-task.md +0 -120
  279. package/.claude/agents/templates/performance-analyzer.md +0 -179
  280. package/.claude/agents/templates/sparc-coordinator.md +0 -163
  281. package/.claude/agents/testing/testing-reality-checker.md +0 -237
  282. package/.claude/commands/analysis/token-efficiency.md +0 -42
  283. package/.claude/commands/optimization/README.md +0 -73
  284. package/.claude/commands/optimization/parallel-execution.md +0 -76
  285. package/.claude/commands/swarm/swarm-analysis.md +0 -62
  286. package/.claude/commands/swarm/swarm-background.md +0 -65
  287. package/.claude/commands/swarm/swarm-modes.md +0 -67
  288. package/.claude/commands/swarm/swarm-monitor.md +0 -54
  289. package/.claude/commands/swarm/swarm-status.md +0 -44
  290. package/.claude/commands/swarm/swarm-strategies.md +0 -76
  291. package/.claude/commands/training/model-update.md +0 -78
  292. package/.claude/commands/training/pattern-learn.md +0 -69
  293. package/.claude/commands/training/specialization.md +0 -92
  294. package/.claude/commands/verify/check.md +0 -106
  295. package/.claude/commands/verify/start.md +0 -105
  296. package/.claude/helpers/README.md +0 -105
  297. package/.claude/helpers/context-persistence-hook.mjs +0 -1988
  298. package/.claude/helpers/intelligence.cjs +0 -247
  299. package/.claude/helpers/learning-service.mjs +0 -1302
  300. package/.claude/helpers/memory-palace.cjs +0 -461
  301. package/.claude/helpers/memory.cjs +0 -84
  302. package/.claude/helpers/metrics-db.mjs +0 -488
  303. package/.claude/helpers/router.cjs +0 -559
  304. package/.claude/helpers/session.cjs +0 -126
  305. package/.claude/helpers/swarm-hooks.sh +0 -761
  306. package/.claude/helpers/toggle-statusline.cjs +0 -58
  307. package/.claude/helpers/token-tracker.cjs +0 -934
  308. package/.claude/skills/agentdb-advanced/SKILL.md +0 -549
  309. package/.claude/skills/agentdb-learning/SKILL.md +0 -544
  310. package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -337
  311. package/.claude/skills/agentdb-optimization/SKILL.md +0 -508
  312. package/.claude/skills/agentdb-vector-search/SKILL.md +0 -335
  313. package/.claude/skills/agentic-integration/SKILL.md +0 -265
  314. package/.claude/skills/cli-modernization/SKILL.md +0 -950
  315. package/.claude/skills/core-implementation/SKILL.md +0 -892
  316. package/.claude/skills/ddd-architecture/SKILL.md +0 -444
  317. package/.claude/skills/github-code-review/SKILL.md +0 -1147
  318. package/.claude/skills/github-multi-repo/SKILL.md +0 -912
  319. package/.claude/skills/github-project-management/SKILL.md +0 -1245
  320. package/.claude/skills/github-release-management/SKILL.md +0 -1118
  321. package/.claude/skills/github-workflow-automation/SKILL.md +0 -1107
  322. package/.claude/skills/mcp-optimization/SKILL.md +0 -837
  323. package/.claude/skills/memory-unification/SKILL.md +0 -196
  324. package/.claude/skills/performance-optimization/SKILL.md +0 -416
  325. package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -444
  326. package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -199
  327. package/.claude/skills/security-hardening/SKILL.md +0 -101
  328. package/.claude/skills/stream-chain/SKILL.md +0 -560
  329. package/.claude/skills/swarm-coordination/SKILL.md +0 -451
  330. package/bundled-graph/dist/src/analyze.d.ts +0 -32
  331. package/bundled-graph/dist/src/analyze.d.ts.map +0 -1
  332. package/bundled-graph/dist/src/analyze.js +0 -297
  333. package/bundled-graph/dist/src/analyze.js.map +0 -1
  334. package/bundled-graph/dist/src/build.d.ts +0 -8
  335. package/bundled-graph/dist/src/build.d.ts.map +0 -1
  336. package/bundled-graph/dist/src/build.js.map +0 -1
  337. package/bundled-graph/dist/src/cache.d.ts +0 -12
  338. package/bundled-graph/dist/src/cache.d.ts.map +0 -1
  339. package/bundled-graph/dist/src/cache.js +0 -43
  340. package/bundled-graph/dist/src/cache.js.map +0 -1
  341. package/bundled-graph/dist/src/cluster.d.ts +0 -5
  342. package/bundled-graph/dist/src/cluster.d.ts.map +0 -1
  343. package/bundled-graph/dist/src/cluster.js.map +0 -1
  344. package/bundled-graph/dist/src/detect.d.ts +0 -21
  345. package/bundled-graph/dist/src/detect.d.ts.map +0 -1
  346. package/bundled-graph/dist/src/detect.js +0 -195
  347. package/bundled-graph/dist/src/detect.js.map +0 -1
  348. package/bundled-graph/dist/src/export.d.ts +0 -21
  349. package/bundled-graph/dist/src/export.d.ts.map +0 -1
  350. package/bundled-graph/dist/src/export.js +0 -68
  351. package/bundled-graph/dist/src/export.js.map +0 -1
  352. package/bundled-graph/dist/src/extract/index.d.ts +0 -20
  353. package/bundled-graph/dist/src/extract/index.d.ts.map +0 -1
  354. package/bundled-graph/dist/src/extract/index.js +0 -158
  355. package/bundled-graph/dist/src/extract/index.js.map +0 -1
  356. package/bundled-graph/dist/src/extract/languages/c.d.ts +0 -3
  357. package/bundled-graph/dist/src/extract/languages/c.d.ts.map +0 -1
  358. package/bundled-graph/dist/src/extract/languages/c.js +0 -88
  359. package/bundled-graph/dist/src/extract/languages/c.js.map +0 -1
  360. package/bundled-graph/dist/src/extract/languages/cpp.d.ts +0 -3
  361. package/bundled-graph/dist/src/extract/languages/cpp.d.ts.map +0 -1
  362. package/bundled-graph/dist/src/extract/languages/cpp.js +0 -121
  363. package/bundled-graph/dist/src/extract/languages/cpp.js.map +0 -1
  364. package/bundled-graph/dist/src/extract/languages/csharp.d.ts +0 -3
  365. package/bundled-graph/dist/src/extract/languages/csharp.d.ts.map +0 -1
  366. package/bundled-graph/dist/src/extract/languages/csharp.js +0 -121
  367. package/bundled-graph/dist/src/extract/languages/csharp.js.map +0 -1
  368. package/bundled-graph/dist/src/extract/languages/go.d.ts +0 -3
  369. package/bundled-graph/dist/src/extract/languages/go.d.ts.map +0 -1
  370. package/bundled-graph/dist/src/extract/languages/go.js +0 -181
  371. package/bundled-graph/dist/src/extract/languages/go.js.map +0 -1
  372. package/bundled-graph/dist/src/extract/languages/java.d.ts +0 -3
  373. package/bundled-graph/dist/src/extract/languages/java.d.ts.map +0 -1
  374. package/bundled-graph/dist/src/extract/languages/java.js +0 -117
  375. package/bundled-graph/dist/src/extract/languages/java.js.map +0 -1
  376. package/bundled-graph/dist/src/extract/languages/kotlin.d.ts +0 -3
  377. package/bundled-graph/dist/src/extract/languages/kotlin.d.ts.map +0 -1
  378. package/bundled-graph/dist/src/extract/languages/kotlin.js +0 -112
  379. package/bundled-graph/dist/src/extract/languages/kotlin.js.map +0 -1
  380. package/bundled-graph/dist/src/extract/languages/php.d.ts +0 -3
  381. package/bundled-graph/dist/src/extract/languages/php.d.ts.map +0 -1
  382. package/bundled-graph/dist/src/extract/languages/php.js +0 -130
  383. package/bundled-graph/dist/src/extract/languages/php.js.map +0 -1
  384. package/bundled-graph/dist/src/extract/languages/python.d.ts +0 -3
  385. package/bundled-graph/dist/src/extract/languages/python.d.ts.map +0 -1
  386. package/bundled-graph/dist/src/extract/languages/python.js +0 -230
  387. package/bundled-graph/dist/src/extract/languages/python.js.map +0 -1
  388. package/bundled-graph/dist/src/extract/languages/ruby.d.ts +0 -3
  389. package/bundled-graph/dist/src/extract/languages/ruby.d.ts.map +0 -1
  390. package/bundled-graph/dist/src/extract/languages/ruby.js +0 -120
  391. package/bundled-graph/dist/src/extract/languages/ruby.js.map +0 -1
  392. package/bundled-graph/dist/src/extract/languages/rust.d.ts +0 -3
  393. package/bundled-graph/dist/src/extract/languages/rust.d.ts.map +0 -1
  394. package/bundled-graph/dist/src/extract/languages/rust.js +0 -195
  395. package/bundled-graph/dist/src/extract/languages/rust.js.map +0 -1
  396. package/bundled-graph/dist/src/extract/languages/scala.d.ts +0 -3
  397. package/bundled-graph/dist/src/extract/languages/scala.d.ts.map +0 -1
  398. package/bundled-graph/dist/src/extract/languages/scala.js +0 -110
  399. package/bundled-graph/dist/src/extract/languages/scala.js.map +0 -1
  400. package/bundled-graph/dist/src/extract/languages/swift.d.ts +0 -3
  401. package/bundled-graph/dist/src/extract/languages/swift.d.ts.map +0 -1
  402. package/bundled-graph/dist/src/extract/languages/swift.js +0 -122
  403. package/bundled-graph/dist/src/extract/languages/swift.js.map +0 -1
  404. package/bundled-graph/dist/src/extract/languages/typescript.d.ts +0 -3
  405. package/bundled-graph/dist/src/extract/languages/typescript.d.ts.map +0 -1
  406. package/bundled-graph/dist/src/extract/languages/typescript.js +0 -295
  407. package/bundled-graph/dist/src/extract/languages/typescript.js.map +0 -1
  408. package/bundled-graph/dist/src/extract/semantic.d.ts +0 -38
  409. package/bundled-graph/dist/src/extract/semantic.d.ts.map +0 -1
  410. package/bundled-graph/dist/src/extract/semantic.js +0 -242
  411. package/bundled-graph/dist/src/extract/semantic.js.map +0 -1
  412. package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts +0 -48
  413. package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts.map +0 -1
  414. package/bundled-graph/dist/src/extract/tree-sitter-runner.js +0 -137
  415. package/bundled-graph/dist/src/extract/tree-sitter-runner.js.map +0 -1
  416. package/bundled-graph/dist/src/extract/types.d.ts +0 -7
  417. package/bundled-graph/dist/src/extract/types.d.ts.map +0 -1
  418. package/bundled-graph/dist/src/extract/types.js +0 -2
  419. package/bundled-graph/dist/src/extract/types.js.map +0 -1
  420. package/bundled-graph/dist/src/index.d.ts +0 -28
  421. package/bundled-graph/dist/src/index.d.ts.map +0 -1
  422. package/bundled-graph/dist/src/index.js +0 -26
  423. package/bundled-graph/dist/src/index.js.map +0 -1
  424. package/bundled-graph/dist/src/pipeline.d.ts +0 -27
  425. package/bundled-graph/dist/src/pipeline.d.ts.map +0 -1
  426. package/bundled-graph/dist/src/pipeline.js +0 -269
  427. package/bundled-graph/dist/src/pipeline.js.map +0 -1
  428. package/bundled-graph/dist/src/report.d.ts +0 -26
  429. package/bundled-graph/dist/src/report.d.ts.map +0 -1
  430. package/bundled-graph/dist/src/report.js +0 -214
  431. package/bundled-graph/dist/src/report.js.map +0 -1
  432. package/bundled-graph/dist/src/types.d.ts +0 -124
  433. package/bundled-graph/dist/src/types.d.ts.map +0 -1
  434. package/bundled-graph/dist/src/types.js +0 -2
  435. package/bundled-graph/dist/src/types.js.map +0 -1
  436. package/bundled-graph/dist/src/visualize.d.ts +0 -4
  437. package/bundled-graph/dist/src/visualize.d.ts.map +0 -1
  438. package/bundled-graph/dist/src/visualize.js +0 -574
  439. package/bundled-graph/dist/src/visualize.js.map +0 -1
  440. package/bundled-graph/dist/tsconfig.tsbuildinfo +0 -1
  441. package/dist/src/ui/dashboard-v2.html +0 -5316
@@ -0,0 +1,534 @@
1
+ ---
2
+ name: mastermind-autodev
3
+ description: Mastermind autodev — autonomous research → build → review loop. Researches the project, picks the best improvement idea, builds it, then reviews with mastermind:review --tillend until clean. Repeats N times when given a count. Supports --newfeature N for full feature pipeline (research → build → review → document → deliver).
4
+ type: domain-skill
5
+ default_mode: auto
6
+ ---
7
+
8
+ # Mastermind Autodev Domain
9
+
10
+ This skill is invoked directly via `/mastermind:autodev`.
11
+
12
+ Autodev is a fully autonomous loop: it researches the project, selects the highest-value improvement, builds it, and reviews it until clean — then repeats.
13
+
14
+ When `--newfeature N` is passed, it switches to **feature mode**: discovers the N best genuinely-new features the project is missing, then for each one runs the complete pipeline — Build → Review → Documentation → Delivery.
15
+
16
+ ---
17
+
18
+ ## Inputs
19
+
20
+ - `brain_context`: BRAIN CONTEXT block (loaded via _protocol.md Brain Load Procedure)
21
+ - `count`: number of improvements to build (default: 1; set by leading integer in arguments, e.g. `9 --tillend`)
22
+ - `newfeature_count`: when `--newfeature N` is set, number of brand-new features to discover and fully deliver (overrides normal improvement loop)
23
+ - `focus`: optional topic hint (e.g. "performance", "security", "dx") — narrows research phase
24
+ - `mode`: auto | confirm (default: auto)
25
+ - `current_rep` / `loop_id`: injected by _repeat.md on continuation runs
26
+
27
+ ---
28
+
29
+ ## Flag Parsing
30
+
31
+ Before anything else, extract from `$ARGUMENTS`:
32
+
33
+ 1. **Leading integer** — if the first token is a bare integer (e.g. `9`), set `count = 9`. Remove it from the remaining args.
34
+ 2. **`--count <N>`** — alternate way to set count.
35
+ 3. **`--newfeature <N>`** — activate feature mode; set `newfeature_count = N`. When present, the normal improvement loop is **replaced** by the Feature Pipeline below. N is how many new features to discover and deliver end-to-end (must be ≥ 1).
36
+ 4. **`--focus <topic>`** — set focus topic.
37
+ 5. **`--auto` / `--confirm`** — mode.
38
+ 6. **`--tillend`, `--repeat`, `--maxruns`, `--wait`, `--rep`, `--loop`** — handled by _repeat.md PREAMBLE before this skill runs.
39
+ 7. Remaining text → `focus` hint (if no `--focus` was given).
40
+
41
+ If `count` is not set, default to `1`.
42
+ If `--newfeature` is present but N is missing or not a positive integer, default `newfeature_count = 3`.
43
+ If `newfeature_count > 10`: emit `[autodev] Warning: --newfeature capped at 10 (requested: N)` and set `newfeature_count = 10` before proceeding.
44
+ If `--newfeature` and `--tillend` are both present: emit `[autodev] Warning: --tillend is not supported with --newfeature and will be ignored.` and strip the tillend flag before proceeding.
45
+
46
+ ---
47
+
48
+ ## Feature Pipeline (--newfeature mode)
49
+
50
+ When `--newfeature N` is parsed, skip the normal improvement loop entirely and run this pipeline instead.
51
+
52
+ ### FP-0 — Feature Discovery
53
+
54
+ **Goal:** Find the N best brand-new features the project is missing — not improvements to existing code, not bugfixes, not refactors. Things that would be genuinely new capability.
55
+
56
+ Run all research in parallel:
57
+
58
+ ```bash
59
+ git log --oneline -30
60
+ find . -maxdepth 3 -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.md" \) \
61
+ ! -path "*/node_modules/*" ! -path "*/.git/*" ! -path "*/dist/*" | head -80
62
+ cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || cat go.mod 2>/dev/null || true
63
+ cat README.md 2>/dev/null | head -120 || true
64
+ # Scan for capability gaps / user-facing TODOs
65
+ grep -rn "TODO\|could add\|future\|roadmap\|planned\|wish\|missing\|not yet\|coming soon" \
66
+ --include="*.ts" --include="*.js" --include="*.py" --include="*.md" \
67
+ . 2>/dev/null | grep -v node_modules | grep -v dist | head -40
68
+ ```
69
+
70
+ Also call (parallel):
71
+ - `mcp__monomind__monograph_god_nodes` — find the most-connected modules (surfaces where new features plug in best)
72
+ - `mcp__monomind__monograph_suggest` with query `"missing feature new capability gap"` — graph-guided gaps
73
+ - `mcp__monomind__memory_search` with query `"autodev newfeature built"`, namespace `"mastermind:autodev"`, limit 30 — exclude already-delivered features
74
+
75
+ **Produce a ranked shortlist of up to `newfeature_count` features.** Aim for exactly `newfeature_count`, but stop at fewer only if the project genuinely has no more viable new features. After producing the shortlist — regardless of mode — **set `newfeature_count = len(shortlist)`** so the loop counter and FP-End summary are accurate. For each:
76
+
77
+ ```
78
+ Feature <K>:
79
+ title: <short imperative name, e.g. "Add batch export command">
80
+ user_value: <one sentence — what a user gains>
81
+ entry_point: <where in the codebase it plugs in (file/module)>
82
+ feasibility: high | medium
83
+ effort_estimate: small (< 100 LOC) | medium (100-400 LOC) | large (400+ LOC)
84
+ type: feature
85
+ ```
86
+
87
+ Priority ranking:
88
+ 1. High feasibility first
89
+ 2. High user_value for the effort
90
+ 3. Not in recent git history
91
+ 4. Not in autodev memory (already built)
92
+ 5. Aligns with `focus` hint if given
93
+
94
+ If `mode = confirm`: display the full ranked shortlist and ask the user to approve before continuing. The user may strike features, reorder, or add constraints. After the user responds, update `approved_shortlist` to contain only the features the user kept, then **set `newfeature_count = len(approved_shortlist)`** before starting the FP-1..N loop. The FP-End summary denominator uses this updated count.
95
+
96
+ If `mode = auto`: `approved_shortlist = shortlist` (all features). `newfeature_count` was already aligned to `len(shortlist)` above — it does not revert to the originally parsed value.
97
+
98
+ Store the shortlist in memory:
99
+ ```
100
+ mcp__monomind__memory_store(
101
+ content: "autodev newfeature shortlist: [<title1>, <title2>, ...]. Session: <date>.",
102
+ namespace: "mastermind:autodev",
103
+ tags: ["autodev", "newfeature", "shortlist"]
104
+ )
105
+ ```
106
+
107
+ ---
108
+
109
+ ### FP-1 through FP-N — Full Delivery Loop (one per feature)
110
+
111
+ Initialize the loop counter before starting:
112
+ ```bash
113
+ K=0
114
+ ```
115
+
116
+ For **each feature** in the ranked shortlist (1 through `newfeature_count`), run these phases in order. At the start of each iteration, increment K:
117
+ ```bash
118
+ K=$((K + 1))
119
+ ```
120
+
121
+ #### Phase A — Build
122
+
123
+ (`K` is the current loop index integer — e.g. `1`, `2`, `3`. Treat `$K` and `$FEATURE_FILE_LIST` as template values: re-emit them with the concrete value substituted at the top of each phase's bash block, since each shell invocation is independent. E.g. at the top of Phase B's block: `K=1; FEATURE_FILE_LIST="/tmp/autodev_feature_files_${K}.txt"`. The same rule applies to FP-End: assign `K=<final_newfeature_count>` at the top of the FP-End bash block before the cleanup loop.)
124
+
125
+ Before invoking build, snapshot untracked files so the post-build delta can be computed:
126
+ ```bash
127
+ FEATURE_FILE_LIST="/tmp/autodev_feature_files_${K}.txt"
128
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_${K}.txt
129
+ ```
130
+
131
+ Invoke `Skill("mastermind:build")` with a detailed brief:
132
+
133
+ ```
134
+ Brief must include:
135
+ - Feature title and user_value
136
+ - Concrete spec: inputs, outputs, API surface, CLI flags, UI, etc.
137
+ - Entry point file(s) to create or modify — list every path explicitly
138
+ - Acceptance criteria (3–5 testable outcomes)
139
+ - What NOT to touch (blast radius guard)
140
+ - Test requirements: at minimum one unit test and one integration test
141
+ ```
142
+
143
+ Wait for build to complete before Phase B.
144
+
145
+ After build returns, determine which files this feature owns for staging in Phase D. The **build brief's declared file list** is the primary source of truth — it names every path the build was allowed to touch. Supplement it with only the files the build created that were not untracked before:
146
+
147
+ ```bash
148
+ # 1. Write declared paths from the build brief (one per line)
149
+ printf '%s\n' \
150
+ "path/to/file1.ts" \
151
+ "path/to/file2.ts" \
152
+ "tests/path/to/test1.ts" \
153
+ > "$FEATURE_FILE_LIST"
154
+
155
+ # 2. Append any newly untracked files the build produced beyond the brief
156
+ # (comm -13: lines only in file2 — i.e., new since the before-snapshot)
157
+ comm -13 \
158
+ /tmp/autodev_untracked_before_${K}.txt \
159
+ <(git ls-files --others --exclude-standard | sort) \
160
+ >> "$FEATURE_FILE_LIST"
161
+ ```
162
+
163
+ Store build start in memory:
164
+ ```
165
+ mcp__monomind__memory_store(
166
+ content: "autodev newfeature building: <title>",
167
+ namespace: "mastermind:autodev",
168
+ tags: ["autodev", "newfeature", "building"]
169
+ )
170
+ ```
171
+
172
+ #### Phase B — Review Until Clean
173
+
174
+ Before starting the review loop, snapshot current working tree state (both unstaged and untracked) so the post-review delta is scoped only to this phase:
175
+ ```bash
176
+ git diff --name-only | sort > /tmp/autodev_unstaged_before_B_${K}.txt
177
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_B_${K}.txt
178
+ ```
179
+
180
+ Inline review loop (same cap as improvement mode: max 5 iterations):
181
+
182
+ ```
183
+ review_iter = 0
184
+ LOOP:
185
+ review_iter += 1
186
+ If review_iter > 5: EXIT LOOP (cap reached — log warning, continue)
187
+
188
+ Invoke Skill("mastermind:review") with:
189
+ prompt: "Review the new feature just built: <title>. Verify: correctness, edge cases,
190
+ tests present and passing, no regressions, security, API consistency."
191
+ brain_context: brain_context
192
+ mode: auto
193
+ (do NOT pass --tillend)
194
+
195
+ If review returns zero findings: EXIT LOOP (clean)
196
+ Else: auto-fix findings; continue loop
197
+ ```
198
+
199
+ After the review loop exits, append only files this phase introduced (delta from before-snapshot), covering both modified tracked files and newly created untracked files:
200
+ ```bash
201
+ # Tracked files modified by review (delta only — excludes files modified by prior features)
202
+ comm -13 \
203
+ /tmp/autodev_unstaged_before_B_${K}.txt \
204
+ <(git diff --name-only | sort) \
205
+ >> "$FEATURE_FILE_LIST"
206
+ # Untracked files created by review (e.g. new test files)
207
+ comm -13 \
208
+ /tmp/autodev_untracked_before_B_${K}.txt \
209
+ <(git ls-files --others --exclude-standard | sort) \
210
+ >> "$FEATURE_FILE_LIST"
211
+ sort -u "$FEATURE_FILE_LIST" -o "$FEATURE_FILE_LIST"
212
+ ```
213
+
214
+ #### Phase C — Documentation
215
+
216
+ Before generating documentation, snapshot current working tree state:
217
+ ```bash
218
+ git diff --name-only | sort > /tmp/autodev_unstaged_before_C_${K}.txt
219
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_C_${K}.txt
220
+ ```
221
+
222
+ After review is clean (or capped), generate documentation for the feature.
223
+
224
+ Invoke `Skill("mastermind:content")` with:
225
+ ```
226
+ prompt: "Document the new feature '<title>' that was just built.
227
+ Generate:
228
+ 1. A concise user-facing description (2-3 sentences) for README or CHANGELOG
229
+ 2. API/CLI/function-level docstrings for every new public symbol
230
+ 3. A usage example (runnable snippet or command)
231
+ 4. Any caveats or known limitations
232
+ Write documentation inline into the relevant files — do not create standalone doc files
233
+ unless the project already has a /docs directory pattern."
234
+ brain_context: brain_context
235
+ mode: auto
236
+ ```
237
+
238
+ If `Skill("mastermind:content")` raises a "skill not found" or "skill unavailable" error, write the documentation directly:
239
+ - Add docstrings to all new public functions/classes/commands
240
+ - Update README.md (Features section or equivalent) with one bullet describing the feature
241
+ - Add a CHANGELOG entry under `[Unreleased]` only if `CHANGELOG.md` already exists in the project (check with `git ls-files CHANGELOG.md`); do NOT create it from scratch
242
+
243
+ After Phase C completes, append only files this phase introduced (delta from before-snapshot):
244
+ ```bash
245
+ comm -13 \
246
+ /tmp/autodev_unstaged_before_C_${K}.txt \
247
+ <(git diff --name-only | sort) \
248
+ >> "$FEATURE_FILE_LIST"
249
+ comm -13 \
250
+ /tmp/autodev_untracked_before_C_${K}.txt \
251
+ <(git ls-files --others --exclude-standard | sort) \
252
+ >> "$FEATURE_FILE_LIST"
253
+ sort -u "$FEATURE_FILE_LIST" -o "$FEATURE_FILE_LIST"
254
+ ```
255
+
256
+ #### Phase D — Delivery
257
+
258
+ (`$FEATURE_FILE_LIST` is the variable set at the top of Phase A: `/tmp/autodev_feature_files_${K}.txt`.)
259
+
260
+ Stage only the files declared for this feature. Do NOT commit — leave that to the user.
261
+
262
+ ```bash
263
+ # Load file list, filtering blank lines, into an array (bash 4+)
264
+ mapfile -t _feat_files < <(grep -v '^[[:space:]]*$' "$FEATURE_FILE_LIST" 2>/dev/null)
265
+
266
+ # Guard: skip if file list is missing or contains only blank lines
267
+ if [ ${#_feat_files[@]} -eq 0 ]; then
268
+ echo "[autodev:newfeature] Warning: Feature ${K} file list is empty — build may be a no-op. Skipping stage."
269
+ else
270
+ # Stage only this feature's declared files. Exclude secrets/env.
271
+ for f in "${_feat_files[@]}"; do
272
+ case "$f" in
273
+ .env|*.env|secrets*|credentials*) echo "Skipping sensitive file: $f" ;;
274
+ *) git add -- "$f" 2>/dev/null || echo "Warning: could not stage $f" ;;
275
+ esac
276
+ done
277
+
278
+ # Guard: detect no-op build (files listed but nothing actually changed)
279
+ # Quoted array expansion handles filenames with spaces correctly
280
+ if git diff --cached --quiet -- "${_feat_files[@]}"; then
281
+ echo "[autodev:newfeature] Warning: Feature ${K} staged no changes — build produced no diff."
282
+ else
283
+ # Show what this feature contributed to the staged set (scoped to feature files only)
284
+ git diff --cached --stat -- "${_feat_files[@]}"
285
+ fi
286
+ fi
287
+ ```
288
+
289
+ Log delivery:
290
+ ```
291
+ [autodev:newfeature] Feature <K>/<newfeature_count> staged: <title>
292
+ Status: <staged|no-op|skipped> # staged=changes in index, no-op=built but no diff, skipped=build failed/empty list
293
+ Review: <clean|capped>
294
+ Files changed: <git diff --cached --stat output scoped to this feature's files>
295
+ ```
296
+
297
+ Track the outcome for FP-End: `feature_status[K] = staged|no-op|skipped`, `feature_review[K] = clean|capped|n/a`.
298
+
299
+ Suggest a commit message (print it, do not run it):
300
+ ```
301
+ feat(<entry_point_module>): <title>
302
+
303
+ <user_value>
304
+
305
+ Delivered by mastermind:autodev --newfeature
306
+ ```
307
+
308
+ Store completion in memory:
309
+ ```
310
+ mcp__monomind__memory_store(
311
+ content: "autodev newfeature built: <title> — <user_value>. Status: <status>.",
312
+ namespace: "mastermind:autodev",
313
+ tags: ["autodev", "newfeature", "built", status]
314
+ )
315
+ ```
316
+
317
+ ---
318
+
319
+ ### FP-End — Summary
320
+
321
+ After all `newfeature_count` features complete, clean up tmp files and print a summary table:
322
+
323
+ ```bash
324
+ # Re-assign K to the final feature count (each shell block is independent per Phase A rule)
325
+ K=<final_newfeature_count> # substitute the actual integer, e.g. K=3
326
+ # Clean up per-feature tmp files
327
+ for k in $(seq 1 $K); do
328
+ rm -f /tmp/autodev_feature_files_${k}.txt \
329
+ /tmp/autodev_untracked_before_${k}.txt \
330
+ /tmp/autodev_unstaged_before_B_${k}.txt \
331
+ /tmp/autodev_untracked_before_B_${k}.txt \
332
+ /tmp/autodev_unstaged_before_C_${k}.txt \
333
+ /tmp/autodev_untracked_before_C_${k}.txt
334
+ done
335
+ ```
336
+
337
+ Count staged features: `staged_count = count of features where feature_status[K] == "staged"`.
338
+
339
+ Print summary table (Status: `staged|no-op|skipped`; Review: `clean|capped|n/a`):
340
+
341
+ ```
342
+ ╔══════════════════════════════════════════════════════════════╗
343
+ ║ autodev --newfeature | Session Summary ║
344
+ ╠══════════════════════════════════════════════════════════════╣
345
+ ║ Feature │ Title │ Status │ Review ║
346
+ ╠═══════════╪═════════════════════════╪═══════════╪════════════╣
347
+ ║ 1/<newfeature_count> │ <title> │ staged │ clean ║
348
+ ║ 2/<newfeature_count> │ <title> │ skipped │ n/a ║
349
+ ║ ... ║
350
+ ╚══════════════════════════════════════════════════════════════╝
351
+ Staged: <staged_count>/<newfeature_count> features. Run `git commit` to finalize.
352
+ ```
353
+
354
+ ---
355
+
356
+ ## Loop: For Each Improvement (1 through `count`)
357
+
358
+ Run this sequence `count` times. After each completed improvement, increment the counter and continue — do not stop between improvements unless `mode = confirm` and the user declines.
359
+
360
+ ### Phase 1 — Research
361
+
362
+ **Goal:** Understand the project deeply enough to pick the single best improvement to build right now.
363
+
364
+ Gather context from at minimum these sources — run all in parallel:
365
+
366
+ ```bash
367
+ # Git log: what has been worked on recently
368
+ git log --oneline -20
369
+
370
+ # Project structure
371
+ find . -maxdepth 3 -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.md" \) \
372
+ ! -path "*/node_modules/*" ! -path "*/.git/*" ! -path "*/dist/*" | head -60
373
+
374
+ # Package/project metadata
375
+ cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || cat go.mod 2>/dev/null || true
376
+
377
+ # README
378
+ cat README.md 2>/dev/null | head -80 || true
379
+
380
+ # Existing issues/todos (common patterns)
381
+ grep -rn "TODO\|FIXME\|HACK\|XXX\|BUG\|PERF\|DEBT" --include="*.ts" --include="*.js" --include="*.py" \
382
+ --include="*.go" --include="*.md" . 2>/dev/null | grep -v node_modules | grep -v dist | head -30
383
+ ```
384
+
385
+ Also call (parallel):
386
+ - `mcp__monomind__monograph_god_nodes` — find high-centrality files (architectural hotspots)
387
+ - `mcp__monomind__monograph_suggest` with query `"most impactful improvement"` — graph-guided suggestions
388
+ - `mcp__monomind__memory_search` with query `"autodev built"`, namespace `"mastermind:autodev"`, limit 20 — to exclude already-built improvements from candidates
389
+
390
+ If a `focus` hint was provided, bias all research toward that topic.
391
+
392
+ **Output of research phase:**
393
+ Produce a ranked list of 3–5 candidate improvements. For each candidate:
394
+ - `title`: one-line name
395
+ - `type`: feature | bugfix | refactor | performance | dx | security | test
396
+ - `why`: one sentence — why this helps the project most
397
+ - `feasibility`: high | medium (skip low — don't pick things that need days)
398
+ - `blast_radius`: files/modules affected (estimate)
399
+
400
+ ### Phase 2 — Selection
401
+
402
+ Pick the **single best** candidate using this priority order:
403
+ 1. Highest feasibility
404
+ 2. Lowest blast radius for the value delivered
405
+ 3. Aligns with `focus` hint (if given)
406
+ 4. Not something already in git log from the last 20 commits
407
+
408
+ If `mode = confirm`: show the ranked list and selection, wait for user approval before proceeding.
409
+
410
+ If `mode = auto`: proceed immediately with the top pick.
411
+
412
+ Log the selection:
413
+ ```
414
+ [autodev] Improvement <N>/<count>: <title> (<type>)
415
+ Rationale: <why>
416
+ Files affected: <blast_radius>
417
+ ```
418
+
419
+ Store selection in memory so it's not re-picked next iteration:
420
+ ```
421
+ mcp__monomind__memory_store(
422
+ content: "autodev built: <title> — <why>",
423
+ namespace: "mastermind:autodev",
424
+ tags: ["autodev", "built", type]
425
+ )
426
+ ```
427
+
428
+ ### Phase 3 — Build
429
+
430
+ Invoke `Skill("mastermind:build")` with:
431
+ - `prompt`: detailed implementation brief for the selected improvement
432
+ - `brain_context`: the loaded brain context
433
+ - `project_name`: `$(basename "$PWD")`
434
+ - `mode`: `auto`
435
+ - `board_id`: the autodev board (create once at startup, reuse)
436
+
437
+ The brief passed to build MUST include:
438
+ - What to build (concrete spec, not vague)
439
+ - Which files to touch
440
+ - Acceptance criteria (2–4 testable outcomes)
441
+ - What NOT to change (blast radius guard)
442
+
443
+ Wait for `mastermind:build` to complete before proceeding to Phase 4.
444
+
445
+ ### Phase 4 — Review Until Clean
446
+
447
+ After build completes, enter an **inline** review loop (no ScheduleWakeup — must stay within this session):
448
+
449
+ ```
450
+ review_iter = 0
451
+ LOOP:
452
+ review_iter += 1
453
+ If review_iter > 5: EXIT LOOP (cap reached)
454
+
455
+ Invoke Skill("mastermind:review") with:
456
+ prompt: "Review the changes just made for: <title>. Check correctness, tests, edge cases, security."
457
+ brain_context: brain_context
458
+ mode: auto
459
+ (do NOT pass --tillend — that would schedule a ScheduleWakeup and break out of autodev)
460
+
461
+ If review returns zero findings: EXIT LOOP (clean)
462
+ Else: findings are auto-fixed by the reviewer; continue loop
463
+ ```
464
+
465
+ **Critical:** Do not invoke the review command via `/mastermind:review --tillend ...`. That syntax schedules ScheduleWakeup continuations which would terminate the current autodev session. Always invoke inline with `Skill("mastermind:review")` only.
466
+
467
+ If the cap (5 iterations) is reached without a clean pass, log a warning and continue to Phase 5 — don't block the outer loop.
468
+
469
+ ### Phase 5 — Log Completion
470
+
471
+ ```
472
+ [autodev] Improvement <N>/<count> complete: <title>
473
+ Status: clean | capped (review issues remain)
474
+ ```
475
+
476
+ Update brain with what was built:
477
+ ```
478
+ mcp__monomind__memory_store(
479
+ content: "autodev completed improvement <N>: <title>. Type: <type>. Status: <status>.",
480
+ namespace: "mastermind:autodev",
481
+ tags: ["autodev", "completed", type, status]
482
+ )
483
+ ```
484
+
485
+ If `N < count`: log `[autodev] Moving to improvement <N+1>/<count>...` and repeat from Phase 1.
486
+
487
+ ---
488
+
489
+ ## Standalone Execution
490
+
491
+ 1. Extract flags (leading integer for count, --newfeature N, --focus, --auto/--confirm)
492
+ 2. Load brain context via _protocol.md Brain Load Procedure (namespace: `autodev`)
493
+ 3. Create monotask board:
494
+ ```bash
495
+ project_name="${project_name:-$(basename "$PWD")}"
496
+ board_id=$(monotask board create "autodev" --json 2>/dev/null | jq -r '.id // empty')
497
+ ```
498
+ 4. **If `--newfeature` was parsed:** run the Feature Pipeline (FP-0 through FP-End) and skip the improvement loop entirely.
499
+ **Otherwise:** run the Loop section above for each improvement.
500
+ 5. At end: follow _protocol.md Brain Write Procedure (namespace: `autodev`)
501
+
502
+ ---
503
+
504
+ ## Tillend Integration
505
+
506
+ **`--newfeature` is incompatible with `--tillend`.** Both the command and skill strip `--tillend` and emit a warning when both are present. This is because the Feature Pipeline has a fundamentally different termination model (a fixed shortlist of N features, not an open-ended "until exhausted" loop), and the FP-0 discovery + FP-End staging structure does not map onto the per-wakeup session model that `--tillend` assumes.
507
+
508
+ For the standard improvement loop: when `--tillend` wraps autodev, each ScheduleWakeup wakeup runs a **full autodev session** (all `count` improvements). Memory deduplication (Phase 1 searches `"autodev built"`) prevents already-built improvements from being re-picked in subsequent wakeups.
509
+
510
+ - `count` controls improvements **per session** (default: 1)
511
+ - `--tillend` keeps scheduling new sessions until an empty round
512
+ - An empty round occurs when Phase 1 research finds no viable new candidates (all feasible work is already in memory)
513
+
514
+ The loop terminates naturally when the project has no more improvements worth building — not based on hitting a fixed count across wakeups.
515
+
516
+ ---
517
+
518
+ ## Safety Guards
519
+
520
+ - Never delete files unless the improvement or feature explicitly requires it
521
+ - Never modify `.env`, secrets, credentials
522
+ - Never commit (only stage) — leave commit to the user
523
+ - If Phase A (build) fails or produces no output: skip this feature, log the skip, continue to next feature
524
+ - If Phase B (review) skill is unavailable or throws: log a warning, treat as capped (review issues may remain), continue to Phase C
525
+ - If Phase C (documentation) skill is unavailable: fall back to inline documentation; if that also fails, log and continue to Phase D
526
+ - If Phase D (delivery) `git add` fails on multiple files: log each failure, stage what succeeded, continue
527
+ - If all research candidates are infeasible: ask the user for a focus direction instead of guessing
528
+ - **`--newfeature` specific:**
529
+ - Features must be genuinely new — reject any candidate that is just a refactor or bugfix of existing code
530
+ - Do not create standalone `.md` doc files unless the project already has a `/docs` directory
531
+ - Stage only the files declared in the build brief for each feature (written to `$FEATURE_FILE_LIST` in Phase A), supplemented only by newly untracked files the build produced (detected via before/after `git ls-files` delta) — never use `git add --all` in feature mode
532
+ - Each feature's staged set is driven by its build brief's declared file list, making it deterministic and cross-feature safe
533
+ - `newfeature_count > 10` is caught at parse time and capped to 10 before any pipeline runs
534
+ - `--tillend` combined with `--newfeature` is rejected at parse time with a clear warning
@@ -128,6 +128,7 @@ Ask the user (or infer from prompt) for the optional Paperclip-style fields:
128
128
  "agent_type": "<subagent_type slug from mapping table>",
129
129
  "responsibilities": ["<1-3 bullet responsibilities>"],
130
130
  "reports_to": "<role id or null>",
131
+ "skills": [],
131
132
  "adapter_config": {
132
133
  "model": "<claude model id>",
133
134
  "max_tokens": 8192
@@ -226,18 +227,32 @@ mkdir -p .monomind/orgs
226
227
  Write the confirmed org config as JSON using `jq` to guarantee valid encoding:
227
228
 
228
229
  ```bash
229
- # Build the config JSON from the confirmed org plan and write atomically
230
- # (Claude constructs the full jq expression from the confirmed roles/edges in Step 5)
230
+ # Build the config JSON from the confirmed org plan and write atomically.
231
+ # Set shell variables from the confirmed plan before running this block:
232
+ # governance_policy — "auto" | "board" | "strict" (from Step 4)
233
+ # budget_tokens_val — integer or 0 for unlimited (from Step 4)
234
+ # ceo_adapter — model id string (from Step 4)
231
235
  jq -n \
232
236
  --arg name "$org_name" \
233
237
  --arg goal "$goal" \
234
238
  --arg topology "$topology" \
235
239
  --argjson roles "$roles_json" \
236
240
  --argjson communication "$communication_json" \
241
+ --arg gov_policy "${governance_policy:-auto}" \
242
+ --argjson budget_tokens "${budget_tokens_val:-0}" \
243
+ --arg ceo_adapter "${ceo_adapter:-claude-sonnet-4-6}" \
237
244
  '{name:$name,goal:$goal,mode:"daemon",topology:$topology,
238
245
  created_at:(now|todate),roles:$roles,communication:$communication,
246
+ governance:{policy:$gov_policy,approvals_file:(".monomind/orgs/"+$name+"-approvals.json")},
239
247
  board_space:$name,board_name:"org-tasks",
240
- run_config:{checkpoint_interval_min:30,max_concurrent_agents:6,memory_namespace:("org:"+$name)}}' \
248
+ run_config:{
249
+ checkpoint_interval_min:30,
250
+ max_concurrent_agents:6,
251
+ memory_namespace:("org:"+$name),
252
+ budget_tokens:$budget_tokens,
253
+ alert_threshold:0.8,
254
+ ceo_adapter:$ceo_adapter
255
+ }}' \
241
256
  > "${orgJson}.tmp" && mv "${orgJson}.tmp" "$orgJson"
242
257
  ```
243
258
 
@@ -296,14 +311,15 @@ curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
296
311
  '{type:"domain:complete",session:$session,domain:"ops",status:"complete",
297
312
  org:$orgName,goal:$goal,roles_count:$rolesCount,ts:(now*1000|floor)}')" || true
298
313
 
299
- # org:create — so handleOrgEvent routes it to the Orgs panel event log
314
+ # org:create — so handleOrgEvent routes it to the Orgs panel event log and SSE triggers list refresh
300
315
  curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
301
316
  -H "Content-Type: application/json" \
302
317
  -d "$(jq -cn \
303
318
  --arg session "$session_id" \
304
319
  --arg org "$orgName" \
305
320
  --arg goal "$goal_val" \
306
- '{type:"org:create",session:$session,org:$org,goal:$goal,ts:(now*1000|floor)}')" || true
321
+ --arg proj "$(pwd)" \
322
+ '{type:"org:create",session:$session,org:$org,goal:$goal,project:$proj,ts:(now*1000|floor)}')" || true
307
323
  ```
308
324
 
309
325
  ---