@mindrian_os/cli 1.13.0-beta.10

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 (590) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/.mcp.json +9 -0
  3. package/CHANGELOG.md +3329 -0
  4. package/LICENSE +123 -0
  5. package/README.md +673 -0
  6. package/agents/brain-query.md +80 -0
  7. package/agents/framework-runner.md +237 -0
  8. package/agents/grading.md +188 -0
  9. package/agents/investor.md +128 -0
  10. package/agents/larry-extended.md +135 -0
  11. package/agents/opportunity-scanner.md +91 -0
  12. package/agents/persona-analyst.md +132 -0
  13. package/agents/research.md +89 -0
  14. package/agents/reverse-salient-agent.md +27 -0
  15. package/bin/cli.js +93 -0
  16. package/bin/mindrian-mcp-server.cjs +182 -0
  17. package/bin/mindrian-tools.cjs +765 -0
  18. package/commands/act.md +433 -0
  19. package/commands/admin.md +404 -0
  20. package/commands/analyze-needs.md +36 -0
  21. package/commands/analyze-systems.md +33 -0
  22. package/commands/analyze-timing.md +36 -0
  23. package/commands/auto-explore.md +64 -0
  24. package/commands/beautiful-question.md +34 -0
  25. package/commands/brain-derive.md +78 -0
  26. package/commands/build-knowledge.md +36 -0
  27. package/commands/build-thesis.md +40 -0
  28. package/commands/causal.md +228 -0
  29. package/commands/challenge-assumptions.md +33 -0
  30. package/commands/compare-ventures.md +77 -0
  31. package/commands/dashboard.md +110 -0
  32. package/commands/deep-grade.md +76 -0
  33. package/commands/diagnose.md +52 -0
  34. package/commands/diagnostics.md +145 -0
  35. package/commands/doctor.md +151 -0
  36. package/commands/dominant-designs.md +34 -0
  37. package/commands/explain-decision.md +87 -0
  38. package/commands/explore-domains.md +36 -0
  39. package/commands/explore-futures.md +34 -0
  40. package/commands/explore-trends.md +36 -0
  41. package/commands/export.md +103 -0
  42. package/commands/file-meeting.md +724 -0
  43. package/commands/find-analogies.md +182 -0
  44. package/commands/find-bottlenecks.md +56 -0
  45. package/commands/find-connections.md +70 -0
  46. package/commands/funding.md +81 -0
  47. package/commands/grade.md +197 -0
  48. package/commands/graph.md +128 -0
  49. package/commands/hat-briefing.md +119 -0
  50. package/commands/heal.md +196 -0
  51. package/commands/help.md +399 -0
  52. package/commands/hmi-status.md +172 -0
  53. package/commands/jtbd.md +241 -0
  54. package/commands/leadership.md +73 -0
  55. package/commands/lean-canvas.md +34 -0
  56. package/commands/macro-trends.md +34 -0
  57. package/commands/map-unknowns.md +34 -0
  58. package/commands/memory.md +173 -0
  59. package/commands/models.md +175 -0
  60. package/commands/mos-reason.md +279 -0
  61. package/commands/mullins.md +114 -0
  62. package/commands/new-project.md +481 -0
  63. package/commands/onboard.md +434 -0
  64. package/commands/operator.md +149 -0
  65. package/commands/opportunities.md +144 -0
  66. package/commands/organize.md +497 -0
  67. package/commands/persona.md +192 -0
  68. package/commands/pipeline.md +106 -0
  69. package/commands/present.md +91 -0
  70. package/commands/publish.md +201 -0
  71. package/commands/query.md +124 -0
  72. package/commands/radar.md +72 -0
  73. package/commands/reanalyze.md +91 -0
  74. package/commands/research.md +190 -0
  75. package/commands/room.md +352 -0
  76. package/commands/rooms.md +598 -0
  77. package/commands/root-cause.md +34 -0
  78. package/commands/rs-experts.md +79 -0
  79. package/commands/rs-explain.md +94 -0
  80. package/commands/rs-fetch.md +88 -0
  81. package/commands/rs-thesis.md +79 -0
  82. package/commands/scenario-plan.md +34 -0
  83. package/commands/scheduled-tasks.md +285 -0
  84. package/commands/score-innovation.md +37 -0
  85. package/commands/scout.md +239 -0
  86. package/commands/setup.md +618 -0
  87. package/commands/snapshot.md +147 -0
  88. package/commands/speakers.md +84 -0
  89. package/commands/splash.md +28 -0
  90. package/commands/status.md +75 -0
  91. package/commands/structure-argument.md +36 -0
  92. package/commands/suggest-next.md +74 -0
  93. package/commands/systems-thinking.md +34 -0
  94. package/commands/think-hats.md +36 -0
  95. package/commands/update.md +181 -0
  96. package/commands/user-needs.md +34 -0
  97. package/commands/validate.md +34 -0
  98. package/commands/value-proposition.md +55 -0
  99. package/commands/vault.md +180 -0
  100. package/commands/visualize.md +52 -0
  101. package/commands/whitespace.md +501 -0
  102. package/commands/wiki.md +69 -0
  103. package/hooks/hooks.json +381 -0
  104. package/hooks/run-hook.cmd +64 -0
  105. package/lib/__init__.py +0 -0
  106. package/lib/__pycache__/__init__.cpython-312.pyc +0 -0
  107. package/lib/agents/auto-explore-agent.cjs +1043 -0
  108. package/lib/agents/reverse-salient-agent.cjs +679 -0
  109. package/lib/agents/tension-hook-agent.cjs +544 -0
  110. package/lib/chat/chat-context.js +185 -0
  111. package/lib/chat/chat-panel.js +721 -0
  112. package/lib/chat/fabric-chat.cjs +288 -0
  113. package/lib/chat/generative-tools.js +219 -0
  114. package/lib/conversation/ROOM.md +39 -0
  115. package/lib/conversation/classifier-rules.json +38 -0
  116. package/lib/conversation/classifier.cjs +264 -0
  117. package/lib/conversation/operator.cjs +287 -0
  118. package/lib/copy/115-spec-strings.cjs +55 -0
  119. package/lib/core/__init__.py +0 -0
  120. package/lib/core/__nav-stub.cjs +14 -0
  121. package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
  122. package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
  123. package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
  124. package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
  125. package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
  126. package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
  127. package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
  128. package/lib/core/artifact-id.cjs +148 -0
  129. package/lib/core/asset-ops.cjs +151 -0
  130. package/lib/core/auto-commit-throttle.cjs +129 -0
  131. package/lib/core/bearer-token.cjs +199 -0
  132. package/lib/core/brain-client.cjs +865 -0
  133. package/lib/core/brain-derivation-prompts.cjs +326 -0
  134. package/lib/core/brain-derivation-queue.cjs +431 -0
  135. package/lib/core/brain-derivation.cjs +580 -0
  136. package/lib/core/brain-md-schema.cjs +528 -0
  137. package/lib/core/brain-md-staleness.cjs +357 -0
  138. package/lib/core/brain-response-sanitize.cjs +188 -0
  139. package/lib/core/bridge-writer.cjs +477 -0
  140. package/lib/core/chat-context-builder.cjs +253 -0
  141. package/lib/core/cross-room-aggregator.cjs +762 -0
  142. package/lib/core/daily-briefing.cjs +438 -0
  143. package/lib/core/decision-capture.cjs +618 -0
  144. package/lib/core/deep-links.cjs +82 -0
  145. package/lib/core/dispatch-optimizer.cjs +354 -0
  146. package/lib/core/dual-path-detector.cjs +84 -0
  147. package/lib/core/dual-path-detector.test.cjs +334 -0
  148. package/lib/core/exports-log.cjs +79 -0
  149. package/lib/core/feynman-minto-invariants.cjs +605 -0
  150. package/lib/core/folder-memory-async.cjs +338 -0
  151. package/lib/core/folder-memory-shared.cjs +890 -0
  152. package/lib/core/folder-memory.cjs +416 -0
  153. package/lib/core/framework-chain-composer.cjs +411 -0
  154. package/lib/core/frontmatter-schemas.cjs +330 -0
  155. package/lib/core/git-ops.cjs +141 -0
  156. package/lib/core/graph-ops.cjs +258 -0
  157. package/lib/core/hat-persistence.cjs +362 -0
  158. package/lib/core/index.cjs +60 -0
  159. package/lib/core/integration-registry.cjs +232 -0
  160. package/lib/core/intelligence-cascade.cjs +661 -0
  161. package/lib/core/lazygraph-ops.cjs +1057 -0
  162. package/lib/core/lru-cache.cjs +139 -0
  163. package/lib/core/mcp-profiles.cjs +182 -0
  164. package/lib/core/meeting-ops.cjs +54 -0
  165. package/lib/core/memory-ops.cjs +600 -0
  166. package/lib/core/migrations/ROOM.md +33 -0
  167. package/lib/core/migrations/phase-109-nodes-provenance.cjs +339 -0
  168. package/lib/core/migrations/phase-109-session-focus.cjs +99 -0
  169. package/lib/core/model-profiles.cjs +246 -0
  170. package/lib/core/mullins-scaffold.cjs +160 -0
  171. package/lib/core/nav-dial.cjs +316 -0
  172. package/lib/core/navigation/ROOM.md +15 -0
  173. package/lib/core/navigation/explanation.cjs +43 -0
  174. package/lib/core/navigation/focus.cjs +135 -0
  175. package/lib/core/navigation/ingestion.cjs +82 -0
  176. package/lib/core/navigation/insights.cjs +350 -0
  177. package/lib/core/navigation/memory-events.cjs +118 -0
  178. package/lib/core/navigation/neighborhood.cjs +78 -0
  179. package/lib/core/navigation/packet.cjs +182 -0
  180. package/lib/core/navigation/room-home.cjs +127 -0
  181. package/lib/core/navigation/transitions.cjs +82 -0
  182. package/lib/core/navigation-engine-shared.cjs +242 -0
  183. package/lib/core/navigation-engine.cjs +664 -0
  184. package/lib/core/navigation.cjs +60 -0
  185. package/lib/core/nl-graph-queries.cjs +164 -0
  186. package/lib/core/offer-presenter.cjs +406 -0
  187. package/lib/core/opportunity-extractor.cjs +183 -0
  188. package/lib/core/opportunity-ops.cjs +1371 -0
  189. package/lib/core/persona-ops.cjs +537 -0
  190. package/lib/core/persona-taxonomy.cjs +190 -0
  191. package/lib/core/platform-gates.cjs +120 -0
  192. package/lib/core/platform.cjs +257 -0
  193. package/lib/core/proactive-intelligence.cjs +528 -0
  194. package/lib/core/problem-type-router.cjs +315 -0
  195. package/lib/core/reasoning-ops.cjs +639 -0
  196. package/lib/core/reverse-salient-persona-suffix.cjs +115 -0
  197. package/lib/core/room-classifier-strict-mode.cjs +229 -0
  198. package/lib/core/room-db.cjs +127 -0
  199. package/lib/core/room-ops-async.cjs +92 -0
  200. package/lib/core/room-ops-shared.cjs +64 -0
  201. package/lib/core/room-ops-sync.cjs +70 -0
  202. package/lib/core/room-ops.cjs +32 -0
  203. package/lib/core/room-type-detector.cjs +386 -0
  204. package/lib/core/rs-brain-substrate-prompts.cjs +129 -0
  205. package/lib/core/rs-brain-substrate.cjs +570 -0
  206. package/lib/core/rs-breakthrough-scorer.cjs +255 -0
  207. package/lib/core/rs-canon-violations.cjs +82 -0
  208. package/lib/core/rs-chain-feeder.cjs +343 -0
  209. package/lib/core/rs-commercial-assessor.cjs +280 -0
  210. package/lib/core/rs-differential-scorer.cjs +376 -0
  211. package/lib/core/rs-domain-analyzer.cjs +385 -0
  212. package/lib/core/rs-egress-prompts.cjs +113 -0
  213. package/lib/core/rs-egress-telemetry.cjs +225 -0
  214. package/lib/core/rs-egress-violations.cjs +53 -0
  215. package/lib/core/rs-expert-mapper.cjs +467 -0
  216. package/lib/core/rs-fetcher-academic.cjs +697 -0
  217. package/lib/core/rs-fetcher-experts.cjs +314 -0
  218. package/lib/core/rs-fetcher-industry.cjs +731 -0
  219. package/lib/core/rs-fetcher-patents.cjs +564 -0
  220. package/lib/core/rs-innovation-classifier.cjs +194 -0
  221. package/lib/core/rs-mind-map.cjs +656 -0
  222. package/lib/core/rs-neo4j-writer.cjs +388 -0
  223. package/lib/core/rs-nl-to-query.cjs +425 -0
  224. package/lib/core/rs-pinecone-bridge.cjs +303 -0
  225. package/lib/core/rs-preprocessor.cjs +350 -0
  226. package/lib/core/rs-query-matrix.cjs +316 -0
  227. package/lib/core/rs-query-to-text.cjs +438 -0
  228. package/lib/core/rs-sqlite-mirror.cjs +443 -0
  229. package/lib/core/rs-thesis-generator.cjs +188 -0
  230. package/lib/core/rs_cache.py +479 -0
  231. package/lib/core/rs_corpus.py +468 -0
  232. package/lib/core/rs_hybrid.py +586 -0
  233. package/lib/core/rs_math.py +287 -0
  234. package/lib/core/rs_rooms.py +193 -0
  235. package/lib/core/scheduled-scanner.cjs +463 -0
  236. package/lib/core/scratchpad-ops.cjs +201 -0
  237. package/lib/core/section-8-trace-schema.cjs +138 -0
  238. package/lib/core/section-registry.cjs +111 -0
  239. package/lib/core/session-state.cjs +144 -0
  240. package/lib/core/shallow-doc-parser.cjs +174 -0
  241. package/lib/core/shallow-doc-parser.test.cjs +226 -0
  242. package/lib/core/skill-activation-router.cjs +284 -0
  243. package/lib/core/state-ops.cjs +46 -0
  244. package/lib/core/statusline-cache.cjs +266 -0
  245. package/lib/core/token-estimator.cjs +348 -0
  246. package/lib/core/user-archetype.cjs +239 -0
  247. package/lib/core/user-md-ops.cjs +524 -0
  248. package/lib/core/visual-ops.cjs +624 -0
  249. package/lib/core/write-lock.cjs +149 -0
  250. package/lib/graph/canvas-graph.js +467 -0
  251. package/lib/graph/constellation-config.cjs +299 -0
  252. package/lib/graph/graph-detail-panel.js +165 -0
  253. package/lib/hmi/ROOM.md +47 -0
  254. package/lib/hmi/across-session-memory.cjs +604 -0
  255. package/lib/hmi/cross-room-memory.cjs +575 -0
  256. package/lib/hmi/decoy-tier.cjs +395 -0
  257. package/lib/hmi/jtbd-classifier.cjs +219 -0
  258. package/lib/hmi/jtbd-state.cjs +199 -0
  259. package/lib/hmi/jtbd-taxonomy.json +392 -0
  260. package/lib/hmi/selector-dispatcher.cjs +546 -0
  261. package/lib/hmi/selector-telemetry.cjs +263 -0
  262. package/lib/hmi/shape-f0-renderer.cjs +139 -0
  263. package/lib/hmi/shape-f1-fallback.cjs +80 -0
  264. package/lib/hmi/shape-f1-renderer.cjs +138 -0
  265. package/lib/hmi/shape-f2-renderer.cjs +132 -0
  266. package/lib/hmi/shape-f3-renderer.cjs +66 -0
  267. package/lib/hmi/shape-f4-renderer.cjs +72 -0
  268. package/lib/hmi/shape-f5-renderer.cjs +155 -0
  269. package/lib/hmi/shape-f6-plan-review-renderer.cjs +312 -0
  270. package/lib/hmi/shape-f6-renderer.cjs +144 -0
  271. package/lib/hmi/shape-g-renderer.cjs +219 -0
  272. package/lib/hmi/shape-h-renderer.cjs +222 -0
  273. package/lib/hmi/tier-check.cjs +63 -0
  274. package/lib/import/PRECONDITIONS.md +41 -0
  275. package/lib/import/branding.cjs +210 -0
  276. package/lib/import/branding.test.cjs +235 -0
  277. package/lib/import/classifications-sync.cjs +104 -0
  278. package/lib/import/classifications-sync.test.cjs +129 -0
  279. package/lib/import/enricher.cjs +296 -0
  280. package/lib/import/enricher.test.cjs +273 -0
  281. package/lib/import/integration.test.cjs +376 -0
  282. package/lib/import/manifest.cjs +129 -0
  283. package/lib/import/manifest.schema.json +185 -0
  284. package/lib/import/manifest.test.cjs +123 -0
  285. package/lib/import/meeting-detector.cjs +92 -0
  286. package/lib/import/meeting-detector.test.cjs +100 -0
  287. package/lib/import/person-detector.cjs +229 -0
  288. package/lib/import/person-detector.test.cjs +149 -0
  289. package/lib/import/report.cjs +186 -0
  290. package/lib/import/report.test.cjs +186 -0
  291. package/lib/import/room-md-scaffolder.cjs +49 -0
  292. package/lib/import/router.cjs +224 -0
  293. package/lib/import/router.test.cjs +356 -0
  294. package/lib/import/run-all-tests.cjs +36 -0
  295. package/lib/import/smoke-test.cjs +213 -0
  296. package/lib/import/smoke-test.test.cjs +148 -0
  297. package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +8 -0
  298. package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +7 -0
  299. package/lib/import/test-fixtures/collision-vault/source/onboarding.md +5 -0
  300. package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +1 -0
  301. package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +4 -0
  302. package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +9 -0
  303. package/lib/import/test-fixtures/tiny-vault/notes/empty.md +3 -0
  304. package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +5 -0
  305. package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +5 -0
  306. package/lib/import/test-fixtures/tiny-vault/notes/random.md +4 -0
  307. package/lib/import/undo.test.cjs +199 -0
  308. package/lib/import/vault-scanner.cjs +105 -0
  309. package/lib/import/vault-scanner.test.cjs +67 -0
  310. package/lib/mcp/app-html/dashboard.html +316 -0
  311. package/lib/mcp/app-html/graph.html +428 -0
  312. package/lib/mcp/app-html/mindrian-platform.html +1841 -0
  313. package/lib/mcp/app-html/wiki.html +383 -0
  314. package/lib/mcp/app-views.cjs +322 -0
  315. package/lib/mcp/brain-router.cjs +418 -0
  316. package/lib/mcp/capability-registry.cjs +62 -0
  317. package/lib/mcp/larry-context.cjs +46 -0
  318. package/lib/mcp/larry-server-instructions.md +114 -0
  319. package/lib/mcp/pipeline-state.cjs +275 -0
  320. package/lib/mcp/prompts.cjs +302 -0
  321. package/lib/mcp/resources.cjs +227 -0
  322. package/lib/mcp/session-catchup.cjs +327 -0
  323. package/lib/mcp/surface-detect.cjs +75 -0
  324. package/lib/mcp/tool-router.cjs +1034 -0
  325. package/lib/memory/aaak-compress.cjs +403 -0
  326. package/lib/memory/aaak-compress.test.cjs +288 -0
  327. package/lib/memory/async-artifact-auto-commit.test.cjs +223 -0
  328. package/lib/memory/bearer-token.test.cjs +315 -0
  329. package/lib/memory/brain-cache-lru.test.cjs +259 -0
  330. package/lib/memory/brain-client-query-shape.test.cjs +160 -0
  331. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +1019 -0
  332. package/lib/memory/brain-derivation-queue.test.cjs +539 -0
  333. package/lib/memory/brain-derivation.test.cjs +634 -0
  334. package/lib/memory/brain-derive-command.test.cjs +534 -0
  335. package/lib/memory/brain-md-invariants-validator.test.cjs +704 -0
  336. package/lib/memory/brain-md-schema.test.cjs +467 -0
  337. package/lib/memory/brain-md-staleness.test.cjs +525 -0
  338. package/lib/memory/brain-server-resolution.test.cjs +314 -0
  339. package/lib/memory/chat-context.test.cjs +128 -0
  340. package/lib/memory/cross-room-aggregator.test.cjs +909 -0
  341. package/lib/memory/dashboard-server.test.cjs +256 -0
  342. package/lib/memory/debouncer-drain-at-prompt.test.cjs +389 -0
  343. package/lib/memory/decision-capture.test.cjs +632 -0
  344. package/lib/memory/decision-capture.worker.cjs +70 -0
  345. package/lib/memory/explain-decision-command.test.cjs +521 -0
  346. package/lib/memory/explain-decision-footer.test.cjs +316 -0
  347. package/lib/memory/explored-materials-store.cjs +392 -0
  348. package/lib/memory/feynman-minto-guardian.test.cjs +736 -0
  349. package/lib/memory/feynman-minto-invariants.test.cjs +511 -0
  350. package/lib/memory/feynman-prompts-drift.test.cjs +144 -0
  351. package/lib/memory/feynman-prompts.cjs +151 -0
  352. package/lib/memory/feynman-prompts.test.cjs +96 -0
  353. package/lib/memory/folder-memory-quadruple.test.cjs +548 -0
  354. package/lib/memory/folder-memory.test.cjs +503 -0
  355. package/lib/memory/framework-chain-composer.test.cjs +515 -0
  356. package/lib/memory/frontmatter-schema-validator.test.cjs +290 -0
  357. package/lib/memory/heal-command.test.cjs +604 -0
  358. package/lib/memory/index-artifact-transaction.test.cjs +333 -0
  359. package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +122 -0
  360. package/lib/memory/mcp-input-validation.test.cjs +240 -0
  361. package/lib/memory/mcp-server-brain-deps.test.cjs +270 -0
  362. package/lib/memory/mcp-stack-fallback.test.cjs +433 -0
  363. package/lib/memory/minto-debouncer.test.cjs +407 -0
  364. package/lib/memory/minto-debouncer.worker.cjs +46 -0
  365. package/lib/memory/minto-migration-v88.test.cjs +265 -0
  366. package/lib/memory/minto-schema-v88.test.cjs +390 -0
  367. package/lib/memory/mos-status-renderer.test.cjs +631 -0
  368. package/lib/memory/narrative-schema.cjs +376 -0
  369. package/lib/memory/narrative-schema.test.cjs +209 -0
  370. package/lib/memory/nav-dial.test.cjs +414 -0
  371. package/lib/memory/navigation-engine-core.test.cjs +722 -0
  372. package/lib/memory/navigation-invariants.test.cjs +483 -0
  373. package/lib/memory/offer-presenter.test.cjs +554 -0
  374. package/lib/memory/on-stop-snapshot.test.cjs +404 -0
  375. package/lib/memory/pending-tension-store.cjs +373 -0
  376. package/lib/memory/post-compact-reinjection.test.cjs +854 -0
  377. package/lib/memory/post-write-triple.test.cjs +317 -0
  378. package/lib/memory/pre-compact-snapshot.test.cjs +495 -0
  379. package/lib/memory/problem-type-router.test.cjs +656 -0
  380. package/lib/memory/query-efficiency-telemetry.test.cjs +370 -0
  381. package/lib/memory/recompile-room-references.test.cjs +392 -0
  382. package/lib/memory/recompile-room-references.worker.cjs +42 -0
  383. package/lib/memory/record-decision-dual-write.test.cjs +454 -0
  384. package/lib/memory/room-classifier-strict-mode.test.cjs +417 -0
  385. package/lib/memory/room-minto-hook.test.cjs +398 -0
  386. package/lib/memory/rs-discovery-engine.test.cjs +323 -0
  387. package/lib/memory/run-feynman-tests.cjs +1239 -0
  388. package/lib/memory/security-trifecta.test.cjs +312 -0
  389. package/lib/memory/session-start-brain-staleness.test.cjs +363 -0
  390. package/lib/memory/session-start-triple-injection.test.cjs +514 -0
  391. package/lib/memory/sessionstart-banner-formatter.cjs +318 -0
  392. package/lib/memory/sessionstart-minto-banner.test.cjs +373 -0
  393. package/lib/memory/skill-activation-router.test.cjs +419 -0
  394. package/lib/memory/stamp-artifact-write.test.cjs +304 -0
  395. package/lib/memory/statusline-active-room.test.cjs +315 -0
  396. package/lib/memory/statusline-minto-segment.test.cjs +292 -0
  397. package/lib/memory/sync-async-entry-points.test.cjs +204 -0
  398. package/lib/memory/test-bridge-writer-enhanced.cjs +452 -0
  399. package/lib/memory/test-rs-brain-substrate-shape.cjs +529 -0
  400. package/lib/memory/test-rs-brain-substrate.cjs +636 -0
  401. package/lib/memory/test-rs-breakthrough-scorer.cjs +375 -0
  402. package/lib/memory/test-rs-canon-violations.cjs +218 -0
  403. package/lib/memory/test-rs-chain-feeder-core.cjs +344 -0
  404. package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +297 -0
  405. package/lib/memory/test-rs-commercial-assessor.cjs +385 -0
  406. package/lib/memory/test-rs-differential-scorer.cjs +480 -0
  407. package/lib/memory/test-rs-discovery-engine.cjs +603 -0
  408. package/lib/memory/test-rs-domain-analyzer.cjs +492 -0
  409. package/lib/memory/test-rs-egress-primitives.cjs +420 -0
  410. package/lib/memory/test-rs-expert-mapper.cjs +547 -0
  411. package/lib/memory/test-rs-explain-command.cjs +443 -0
  412. package/lib/memory/test-rs-fetcher-academic.cjs +848 -0
  413. package/lib/memory/test-rs-fetcher-experts.cjs +496 -0
  414. package/lib/memory/test-rs-fetcher-industry.cjs +702 -0
  415. package/lib/memory/test-rs-fetcher-patents.cjs +674 -0
  416. package/lib/memory/test-rs-innovation-classifier.cjs +301 -0
  417. package/lib/memory/test-rs-mind-map.cjs +646 -0
  418. package/lib/memory/test-rs-neo4j-writer.cjs +518 -0
  419. package/lib/memory/test-rs-nl-to-query.cjs +449 -0
  420. package/lib/memory/test-rs-pinecone-bridge.cjs +277 -0
  421. package/lib/memory/test-rs-preprocessor.cjs +433 -0
  422. package/lib/memory/test-rs-query-matrix.cjs +391 -0
  423. package/lib/memory/test-rs-query-to-text.cjs +551 -0
  424. package/lib/memory/test-rs-sqlite-mirror.cjs +649 -0
  425. package/lib/memory/test-rs-thesis-generator.cjs +360 -0
  426. package/lib/memory/triple-context-formatter.cjs +473 -0
  427. package/lib/memory/triple-context-formatter.test.cjs +442 -0
  428. package/lib/memory/user-md-persona.test.cjs +565 -0
  429. package/lib/memory/userpromptsubmit-integration.test.cjs +690 -0
  430. package/lib/memory/validators/README.md +157 -0
  431. package/lib/memory/validators/brain-md-invariants.cjs +475 -0
  432. package/lib/memory/validators/brain-substrate-invariants.cjs +285 -0
  433. package/lib/memory/validators/external-academic-invariants.cjs +249 -0
  434. package/lib/memory/validators/external-industry-invariants.cjs +271 -0
  435. package/lib/memory/validators/external-patents-invariants.cjs +266 -0
  436. package/lib/memory/validators/minto-invariants.cjs +62 -0
  437. package/lib/memory/validators/navigation-invariants.cjs +340 -0
  438. package/lib/memory/validators/queue-health.cjs +95 -0
  439. package/lib/memory/validators/snapshot-integrity.cjs +129 -0
  440. package/lib/memory/validators/stale-lifecycle.cjs +116 -0
  441. package/lib/memory/vault-section-minto-generator-atomic.test.cjs +556 -0
  442. package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +73 -0
  443. package/lib/memory/write-lock-atomic.test.cjs +137 -0
  444. package/lib/memory/write-lock-atomic.worker.cjs +55 -0
  445. package/lib/parity/check-parity.cjs +83 -0
  446. package/lib/presentation/presentation-server.cjs +101 -0
  447. package/lib/presentation/presentation-watcher.cjs +123 -0
  448. package/lib/quickview/hub-server.cjs +719 -0
  449. package/lib/quickview/server.cjs +533 -0
  450. package/lib/render/JTBD-PALETTES.md +145 -0
  451. package/lib/render/ROOM.md +59 -0
  452. package/lib/render/render-v2.cjs +486 -0
  453. package/lib/render/render-v2.test.cjs +267 -0
  454. package/lib/render/render.cjs +65 -0
  455. package/lib/state/ROOM.md +46 -0
  456. package/lib/state/state-md-parser.cjs +215 -0
  457. package/lib/statusline/ROOM.md +38 -0
  458. package/lib/statusline/banner-suppression.cjs +50 -0
  459. package/lib/statusline/surface-detect.cjs +85 -0
  460. package/lib/update-bootstrap.sh.template +145 -0
  461. package/lib/vault/frontmatter-schema.cjs +297 -0
  462. package/lib/vault/room-scanner.cjs +352 -0
  463. package/lib/vault/wikilink-builder.cjs +231 -0
  464. package/lib/vault/wikilink-builder.test.cjs +182 -0
  465. package/lib/wiki/graph-links.cjs +281 -0
  466. package/lib/wiki/page-renderer.cjs +229 -0
  467. package/lib/wiki/wiki-chat.cjs +81 -0
  468. package/lib/wiki/wiki-layout.cjs +1459 -0
  469. package/lib/wiki/wiki-search.cjs +142 -0
  470. package/lib/wiki/wiki-server.cjs +678 -0
  471. package/lib/wiki/wiki-watcher.cjs +105 -0
  472. package/package.json +44 -0
  473. package/pipelines/analogy/01-decompose.md +80 -0
  474. package/pipelines/analogy/02-abstract.md +87 -0
  475. package/pipelines/analogy/03-search.md +135 -0
  476. package/pipelines/analogy/04-transfer.md +101 -0
  477. package/pipelines/analogy/05-validate.md +106 -0
  478. package/pipelines/analogy/CHAIN.md +56 -0
  479. package/pipelines/discovery/01-explore-domains.md +44 -0
  480. package/pipelines/discovery/02-think-hats.md +50 -0
  481. package/pipelines/discovery/03-analyze-needs.md +54 -0
  482. package/pipelines/discovery/CHAIN.md +37 -0
  483. package/pipelines/thesis/01-structure-argument.md +45 -0
  484. package/pipelines/thesis/02-challenge-assumptions.md +48 -0
  485. package/pipelines/thesis/03-build-thesis.md +54 -0
  486. package/pipelines/thesis/CHAIN.md +37 -0
  487. package/references/brain/causal-directives.md +91 -0
  488. package/references/brain/causal-enrichment.cypher +165 -0
  489. package/references/brain/command-triggers-schema.md +226 -0
  490. package/references/brain/graph-architecture.md +317 -0
  491. package/references/brain/query-patterns.md +460 -0
  492. package/references/brain/room-hierarchy-schema.md +218 -0
  493. package/references/brain/schema.md +76 -0
  494. package/references/capability-radar/capabilities-index.md +241 -0
  495. package/references/capability-radar/changelog-cache.md +81 -0
  496. package/references/causal/causal-schema.md +103 -0
  497. package/references/design/email-template-standard.md +155 -0
  498. package/references/design/graph-visualization-standard.md +178 -0
  499. package/references/document-generation.md +179 -0
  500. package/references/hsi/HSI-TOOLS-REFERENCE.md +222 -0
  501. package/references/import-config.md +141 -0
  502. package/references/integrations/detection-patterns.md +101 -0
  503. package/references/meeting/artifact-template.md +377 -0
  504. package/references/meeting/cross-meeting-intelligence.md +216 -0
  505. package/references/meeting/cross-relationship-patterns.md +202 -0
  506. package/references/meeting/live-join-interface.md +244 -0
  507. package/references/meeting/section-mapping.md +192 -0
  508. package/references/meeting/segment-classification.md +258 -0
  509. package/references/meeting/speaker-profile-template.md +219 -0
  510. package/references/meeting/summary-template.md +348 -0
  511. package/references/meeting/transcript-patterns.md +226 -0
  512. package/references/methodology/analyze-needs.md +135 -0
  513. package/references/methodology/analyze-systems.md +121 -0
  514. package/references/methodology/analyze-timing.md +149 -0
  515. package/references/methodology/beautiful-question.md +109 -0
  516. package/references/methodology/build-knowledge.md +161 -0
  517. package/references/methodology/build-thesis.md +237 -0
  518. package/references/methodology/challenge-assumptions.md +127 -0
  519. package/references/methodology/diagnose.md +169 -0
  520. package/references/methodology/dominant-designs.md +212 -0
  521. package/references/methodology/explore-domains.md +147 -0
  522. package/references/methodology/explore-futures.md +163 -0
  523. package/references/methodology/explore-trends.md +129 -0
  524. package/references/methodology/find-bottlenecks.md +131 -0
  525. package/references/methodology/grade.md +211 -0
  526. package/references/methodology/index.md +97 -0
  527. package/references/methodology/leadership.md +200 -0
  528. package/references/methodology/lean-canvas.md +116 -0
  529. package/references/methodology/macro-trends.md +192 -0
  530. package/references/methodology/map-unknowns.md +137 -0
  531. package/references/methodology/mullins-7-domains.md +104 -0
  532. package/references/methodology/problem-types.md +65 -0
  533. package/references/methodology/root-cause.md +178 -0
  534. package/references/methodology/sapphire-encoding.md +355 -0
  535. package/references/methodology/scenario-plan.md +178 -0
  536. package/references/methodology/score-innovation.md +154 -0
  537. package/references/methodology/structure-argument.md +158 -0
  538. package/references/methodology/systems-thinking.md +159 -0
  539. package/references/methodology/think-hats.md +147 -0
  540. package/references/methodology/triz-matrix.json +751 -0
  541. package/references/methodology/triz-principles.md +501 -0
  542. package/references/methodology/user-needs.md +199 -0
  543. package/references/methodology/validate.md +163 -0
  544. package/references/methodology/value-proposition.md +244 -0
  545. package/references/opportunities/funding-lifecycle.md +103 -0
  546. package/references/opportunities/grant-api-patterns.md +99 -0
  547. package/references/opportunities/opportunity-template.md +84 -0
  548. package/references/personality/assessment-philosophy.md +72 -0
  549. package/references/personality/lexicon.md +100 -0
  550. package/references/personality/persona-chains.md +56 -0
  551. package/references/personality/pws-lexicon-full.md +499 -0
  552. package/references/personality/voice-dna.md +156 -0
  553. package/references/personas/hat-perspectives.md +76 -0
  554. package/references/personas/persona-template.md +63 -0
  555. package/references/pipeline/act-output-contract.md +88 -0
  556. package/references/pipeline/chains-index.md +39 -0
  557. package/references/pws-profile-generation.md +79 -0
  558. package/references/reasoning/reasoning-schema.md +143 -0
  559. package/references/reasoning/reasoning-template.md +68 -0
  560. package/references/reasoning/run-template.md +38 -0
  561. package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +209 -0
  562. package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +375 -0
  563. package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +575 -0
  564. package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +272 -0
  565. package/references/taxonomy/TAXONOMY.md +192 -0
  566. package/references/templates/MINTO.md +36 -0
  567. package/references/user-research/2026-04-05-leah-lawrence-session.md +202 -0
  568. package/references/vault-kit/README.md +35 -0
  569. package/references/vault-kit/app.json +12 -0
  570. package/references/vault-kit/appearance.json +12 -0
  571. package/references/vault-kit/graph.json +35 -0
  572. package/references/vault-kit/snippets/mindrian-destijl.css +297 -0
  573. package/references/vault-kit/templates/new-artifact.md +37 -0
  574. package/references/vault-kit/templates/new-meeting-note.md +35 -0
  575. package/references/vault-kit/templates/new-team-profile.md +29 -0
  576. package/references/vault-kit/templates/new-xref.md +35 -0
  577. package/references/visual/symbol-system.md +151 -0
  578. package/skills/MOSDeckEngine/SKILL.md +325 -0
  579. package/skills/brain-connector/SKILL.md +114 -0
  580. package/skills/context-engine/SKILL.md +147 -0
  581. package/skills/conversation-mode/SKILL.md +102 -0
  582. package/skills/larry-personality/SKILL.md +219 -0
  583. package/skills/larry-personality/framework-chains.md +92 -0
  584. package/skills/larry-personality/mode-engine.md +185 -0
  585. package/skills/mullins-scaffold/SKILL.md +61 -0
  586. package/skills/mullins-scaffold/scaffold.json +146 -0
  587. package/skills/pws-methodology/SKILL.md +49 -0
  588. package/skills/room-passive/SKILL.md +165 -0
  589. package/skills/room-proactive/SKILL.md +250 -0
  590. package/skills/ui-system/SKILL.md +277 -0
@@ -0,0 +1,433 @@
1
+ ---
2
+ name: act
3
+ description: Run Larry's best-pick methodology for your room state
4
+ argument-hint: '[--chain] [--swarm] [--dry-run]'
5
+ body_shape: E (Action Report)
6
+ serves_jtbd: ["plan-execution"]
7
+ ui_reference: skills/ui-system/SKILL.md
8
+ allowed-tools:
9
+ - Read
10
+ - Write
11
+ - Glob
12
+ - Bash
13
+ - mcp__mindrian-brain__brain_query
14
+ - mcp__mindrian-brain__read_neo4j_cypher
15
+ - mcp__mindrian-brain__brain_search
16
+ ---
17
+
18
+ # /mos:act
19
+
20
+ You are Larry. This command autonomously selects and executes the best methodology framework for the user's current room state. You think before you act -- showing full transparency on why you chose what you chose.
21
+
22
+ **Modes:**
23
+ - `/mos:act` -- select and execute one framework
24
+ - `/mos:act --chain` -- select and execute 3-5 frameworks in sequence (checkpoints between steps)
25
+ - `/mos:act --swarm` -- dispatch N framework-runners in parallel across highest-gap sections (N is dynamic)
26
+ - `/mos:act --dry-run` -- show the execution plan without running anything
27
+ - `/mos:act --chain --dry-run` -- preview the full chain plan
28
+ - `/mos:act --swarm --dry-run` -- preview the swarm dispatch plan
29
+ - `/mos:act --budget <N>` -- set max token budget (e.g. `--budget 100000`); applies to any mode
30
+
31
+ ## UI Format
32
+
33
+ - **Body Shape:** E -- Action Report (status block, reasoning, then action)
34
+ - **Reference:** `skills/ui-system/SKILL.md`
35
+ - **Zone 1:** Header Panel -- room name + "Autonomous Engine"
36
+ - **Zone 2:** Content Body -- Thinking Trace (reasoning) + Execution (framework output)
37
+ - **Zone 3:** Intelligence Strip -- what changed in the room after execution
38
+ - **Zone 4:** Action Footer -- next steps or chain continuation prompt
39
+
40
+ ## Step 1: Check for Room
41
+
42
+ Check if a `room/` directory exists in the current workspace.
43
+
44
+ If no `room/` directory, use the 3-line error format:
45
+
46
+ ```
47
+ x No project found
48
+ Why: No room/ directory in workspace
49
+ Fix: /mos:new-project
50
+ ```
51
+
52
+ Then STOP.
53
+
54
+ ## Step 2: Read Room State (Dual Context)
55
+
56
+ ### STATE.md (Quantitative)
57
+
58
+ Read `room/STATE.md` for:
59
+ - Venture stage (pre-opportunity, discovery, design, investment)
60
+ - Problem type (definition level / complexity)
61
+ - Section fill levels (which sections have content, which are empty)
62
+ - Frameworks already applied
63
+ - Entry counts per section
64
+
65
+ If `room/STATE.md` does not exist, run:
66
+ ```bash
67
+ "${CLAUDE_PLUGIN_ROOT}/scripts/compute-state" room > room/STATE.md
68
+ ```
69
+ Then read the generated file.
70
+
71
+ ### MINTO.md (Qualitative)
72
+
73
+ If `room/MINTO.md` exists, read it for:
74
+ - Current governing thought (the venture's core thesis)
75
+ - Key supporting arguments
76
+ - Evidence quality assessment
77
+ - Identified gaps and tensions
78
+
79
+ If no MINTO.md exists, note that qualitative context is unavailable. Proceed with STATE.md only.
80
+
81
+ ## Step 3: Select Framework (Brain + Local Fallback)
82
+
83
+ ### Try Brain First
84
+
85
+ If Brain MCP is available, query for framework recommendation:
86
+
87
+ 1. Read `references/brain/query-patterns.md` for `brain_framework_chain` pattern
88
+ 2. Execute the Cypher query with:
89
+ - `$current_frameworks` = frameworks already applied (from STATE.md)
90
+ - `$problem_type` = current problem type classification
91
+ 3. Brain returns ranked frameworks with confidence scores and problem-type alignment
92
+
93
+ ### Local Fallback
94
+
95
+ If Brain is not available or returns no results:
96
+
97
+ 1. Read `references/methodology/problem-types.md` for the routing table
98
+ 2. Cross-reference current problem type (definition level x complexity) with the table
99
+ 3. Exclude frameworks already applied (from STATE.md)
100
+ 4. Prioritize frameworks that target the emptiest room section
101
+ 5. Select the top-scoring framework
102
+
103
+ ### Framework Selection Scoring (Local)
104
+
105
+ For each candidate framework, score:
106
+
107
+ | Factor | Weight | How |
108
+ |--------|--------|-----|
109
+ | Targets weakest section | 40% | Emptiest section with <2 entries gets priority |
110
+ | Matches problem type | 30% | Direct match in routing table |
111
+ | Not already applied | 20% | Skip if already in STATE.md frameworks list |
112
+ | Follows natural progression | 10% | Exploration before Analysis before Synthesis before Validation |
113
+
114
+ Select the highest-scoring framework.
115
+
116
+ ## Step 4: Thinking Trace
117
+
118
+ **ALWAYS display the thinking trace before any execution.** This is the transparency contract.
119
+
120
+ Format:
121
+
122
+ ```
123
+ [THINK] Framework Selection
124
+
125
+ Room: {room name}
126
+ Stage: {venture stage}
127
+ Problem: {definition}/{complexity}
128
+ Sections: {filled}/{total} ({weakest section highlighted})
129
+
130
+ Considered:
131
+ 1. {framework-1} -- {reason, score}
132
+ 2. {framework-2} -- {reason, score}
133
+ 3. {framework-3} -- {reason, score}
134
+
135
+ Selected: {framework-name}
136
+ Why: {2-3 sentence explanation connecting room state to framework choice}
137
+ Source: {Brain graph | Local routing table}
138
+ ```
139
+
140
+ ## Step 4b: Model Resolution
141
+
142
+ Before dispatching any agent, resolve its model using the model-profiles module:
143
+
144
+ ```bash
145
+ node "${CLAUDE_PLUGIN_ROOT}/lib/core/model-profiles.cjs" resolve <roomDir> framework-runner
146
+ ```
147
+
148
+ - If result is `skip`, tell the user: "Framework-runner is not recommended at the current venture stage. Use `/mos:models override framework-runner sonnet` to force." Then STOP -- do not dispatch.
149
+ - If result is a model alias (opus/sonnet/haiku), include `model: <result>` when dispatching the agent.
150
+ - If result is `inherit`, do not specify a model (use session default).
151
+
152
+ For `--swarm` mode, resolve once and apply the same model to all dispatches.
153
+
154
+ ## Step 4c: Cost Estimation (AGENT-02)
155
+
156
+ Before dispatching any agents, calculate and display the cost estimate using `dispatch-optimizer.cjs`:
157
+
158
+ ```javascript
159
+ const { estimateTokenCost, formatCostEstimate, selectModel, planDispatch } = require('${CLAUDE_PLUGIN_ROOT}/lib/core/dispatch-optimizer.cjs');
160
+ ```
161
+
162
+ **For single mode:** Estimate 1 agent at the resolved model.
163
+ **For chain mode:** Estimate N agents (one per chain step) at the resolved model.
164
+ **For swarm mode:** Use `planDispatch(roomPath, { remainingContext, maxBudget })` for full plan.
165
+
166
+ Display the cost estimate in the thinking trace:
167
+
168
+ ```
169
+ [COST] Estimated token usage
170
+ {formatCostEstimate result, e.g. "This will use ~150K tokens (3 agents x Opus)"}
171
+ Budget: {remainingContext}K remaining
172
+ {if downgraded: "Model downgraded: opus -> sonnet (budget constraint)"}
173
+ ```
174
+
175
+ If the `--budget` flag is set, pass it as `maxBudget` to the optimizer. The optimizer will constrain swarm sizing and model selection to fit within the user's budget.
176
+
177
+ ## Step 5: Handle Mode
178
+
179
+ ### Standard Mode (`/mos:act`)
180
+
181
+ After displaying the thinking trace:
182
+
183
+ 1. Ask the user: "Ready to run **{framework-name}**? (yes / pick another / cancel)"
184
+ 2. If yes, dispatch to `agents/framework-runner.md` with:
185
+ - Framework name
186
+ - Room context summary (from Step 2)
187
+ - No chain input (single execution)
188
+ 3. After framework-runner completes, show Zone 3 (what changed) and Zone 4 (next steps)
189
+
190
+ ### Dry-Run Mode (`/mos:act --dry-run`)
191
+
192
+ Display the thinking trace (Step 4) and the execution plan following the dry-run format from `references/pipeline/act-output-contract.md`. Do NOT execute anything.
193
+
194
+ ```
195
+ [ACT] Execution Plan (DRY RUN)
196
+ Room: {room name}
197
+ Stage: {venture stage}
198
+ Problem: {definition}/{complexity}
199
+
200
+ Step 1: {framework-name}
201
+ Why: {1-line reasoning}
202
+ Target: room/{section}/
203
+ Est: {time estimate}
204
+
205
+ Run /mos:act to execute this plan.
206
+ ```
207
+
208
+ ### Chain Mode (`/mos:act --chain`)
209
+
210
+ 1. Select 3-5 frameworks using the chain selection logic:
211
+ - First framework: targets weakest section or most pressing gap
212
+ - Subsequent frameworks: build on previous, guided by Brain `FEEDS_INTO` relationships or natural progression (Exploration -> Analysis -> Synthesis -> Validation)
213
+ - Never select redundant frameworks
214
+ - Read `references/pipeline/act-output-contract.md` for chain selection rules
215
+
216
+ 2. Display the full chain thinking trace:
217
+
218
+ ```
219
+ [THINK] Chain Selection (3-5 frameworks)
220
+
221
+ Room: {room name}
222
+ Stage: {venture stage}
223
+
224
+ Chain:
225
+ 1. {framework-1} -- {why: targets weakest section}
226
+ 2. {framework-2} -- {why: builds on step 1 findings}
227
+ 3. {framework-3} -- {why: synthesizes insights}
228
+ [4. {framework-4} -- {why: validates conclusions}]
229
+
230
+ Total: {N} frameworks, ~{time} estimated
231
+ Source: {Brain graph chains | Local progression}
232
+ ```
233
+
234
+ 3. Ask user: "Ready to run this chain? (yes / modify / cancel)"
235
+
236
+ 4. If yes, execute sequentially **with checkpoints between steps** (AGENT-03):
237
+ - Run framework 1 via `agents/framework-runner.md`
238
+ - After each step completes, use `chainCheckpoint()` from `dispatch-optimizer.cjs` to generate the pause prompt:
239
+ ```javascript
240
+ const { chainCheckpoint } = require('${CLAUDE_PLUGIN_ROOT}/lib/core/dispatch-optimizer.cjs');
241
+ const cp = chainCheckpoint(currentStep, totalSteps, completedFramework, nextFramework, { artifactsAdded, section });
242
+ ```
243
+ - Display the checkpoint and WAIT for the user's response:
244
+ ```
245
+ [CHAIN] Step {N}/{total} complete: {framework-name}
246
+ Filed: {artifacts count} artifacts to room/{section}/
247
+ Forwarding: {chain_forward.focus}
248
+
249
+ Continue to step {N+1}? ({next-framework-name})
250
+ (yes / skip / stop)
251
+ ```
252
+ - **yes** -- proceed to next framework, passing previous output as chain input
253
+ - **skip** -- skip the next framework, move to the one after it (or finish if last)
254
+ - **stop** -- halt the chain, file what's been produced, show partial summary
255
+ - This checkpoint replaces the old auto-run behavior. Users control pacing.
256
+
257
+ 5. After all frameworks complete (or user stops), show summary:
258
+ ```
259
+ [ACT] Chain Complete
260
+
261
+ Frameworks: {list}
262
+ Artifacts filed: {total count}
263
+ Sections updated: {list}
264
+
265
+ Key insights across chain:
266
+ - {insight 1}
267
+ - {insight 2}
268
+ - {insight 3}
269
+ ```
270
+
271
+ ### Chain Dry-Run (`/mos:act --chain --dry-run`)
272
+
273
+ Display the full chain plan following dry-run format. Show all steps with reasoning and expected outputs. Do NOT execute.
274
+
275
+ ## Step 6: Post-Execution
276
+
277
+ After any execution (single or chain):
278
+
279
+ 1. **Zone 3 -- Intelligence Strip:** Show what changed in the room:
280
+ - New artifacts filed (count + sections)
281
+ - Any cross-references discovered
282
+ - Problem type reclassification if warranted
283
+
284
+ 2. **Zone 4 -- Action Footer:** Suggest 2-3 next steps:
285
+ - Another `/mos:act` for continued autonomous work
286
+ - Specific manual command if human judgment needed
287
+ - `/mos:status` to see updated room state
288
+
289
+ ## Swarm Mode (`/mos:act --swarm`)
290
+
291
+ Swarm mode dispatches **N** framework-runner agents **simultaneously**, each targeting a different high-gap room section. N is **dynamically calculated** -- not hardcoded to 3. This is the parallel counterpart to `--chain` (which runs sequentially).
292
+
293
+ ### Swarm Selection (AGENT-01: Dynamic Sizing)
294
+
295
+ Use `dispatch-optimizer.cjs` to calculate the optimal swarm size:
296
+
297
+ ```javascript
298
+ const { planDispatch } = require('${CLAUDE_PLUGIN_ROOT}/lib/core/dispatch-optimizer.cjs');
299
+ const plan = planDispatch(roomPath, {
300
+ remainingContext: contextBudget, // current session remaining tokens
301
+ maxBudget: userBudget || undefined, // from --budget flag if set
302
+ });
303
+ // plan.agents = optimal count
304
+ // plan.sections = which sections to target
305
+ // plan.model = which model to use (may be downgraded)
306
+ // plan.cost.display = human-readable cost string
307
+ ```
308
+
309
+ The optimizer applies the formula: **N = min(weak_sections, context_budget / agent_cost)**
310
+
311
+ 1. **Identify weak sections** via `findWeakSections(roomPath)`:
312
+ - Sections with fewer than 5 entries, sorted ascending
313
+ - If zero weak sections, swarm is not useful -- suggest single `/mos:act` instead
314
+
315
+ 2. **Scale to budget** via `scaleSwarm()`:
316
+ - If `--budget` flag set, that caps the total token spend
317
+ - If remaining context is tight, fewer agents dispatched
318
+ - If remaining context < 60% of window, model downgrades automatically (AGENT-04)
319
+
320
+ 3. **Select one framework per section** using the same scoring logic as Step 3 (Brain or local fallback), but each framework targets a DIFFERENT section. No two agents work the same section.
321
+
322
+ 4. **Model resolution** uses `selectModel()` from dispatch-optimizer:
323
+ - Starts with model-profiles.cjs resolution for framework-runner
324
+ - Downgrades opus -> sonnet -> haiku if budget requires it (AGENT-04)
325
+ - All agents in a swarm use the same model tier
326
+
327
+ ### Swarm Thinking Trace
328
+
329
+ Display the swarm plan before dispatching, including cost estimate (AGENT-02):
330
+
331
+ ```
332
+ [THINK] Swarm Selection ({N} parallel agents)
333
+
334
+ Room: {room name}
335
+ Stage: {venture stage}
336
+
337
+ Agent 1: {framework-1} -> room/{section-1}/
338
+ Model: {resolved model}
339
+ Gap: {entry count} entries (weakest)
340
+ Agent 2: {framework-2} -> room/{section-2}/
341
+ Model: {resolved model}
342
+ Gap: {entry count} entries
343
+ [... up to N agents ...]
344
+
345
+ Source: {Brain graph | Local routing table}
346
+ Sizing: {plan.reasoning.swarm}
347
+ {if downgraded: "Model: downgraded from {original} to {actual} (budget constraint)"}
348
+
349
+ [COST] {plan.cost.display}
350
+ Budget: {remainingContext}K remaining{if --budget: ", capped at {budget}K"}
351
+ ```
352
+
353
+ Ask user: "Ready to swarm? (yes / modify / cancel)"
354
+
355
+ ### Swarm Dispatch
356
+
357
+ If user confirms:
358
+
359
+ 1. Dispatch all N framework-runner agents in parallel using the Agent tool with `run_in_background: true`:
360
+ - N comes from `plan.agents` (dispatch-optimizer result), NOT hardcoded
361
+ - Each agent receives: framework name, room path, target section, room context summary, resolved model
362
+ - Each agent is an independent `agents/framework-runner.md` invocation
363
+ - Agents do NOT share context or coordinate -- they run in full isolation
364
+
365
+ 2. Show dispatch confirmation:
366
+ ```
367
+ [SWARM] Dispatched {N} agents
368
+ Agent 1: {framework-1} -> {section-1} [running]
369
+ Agent 2: {framework-2} -> {section-2} [running]
370
+ [... up to N ...]
371
+
372
+ Waiting for all agents to complete...
373
+ ```
374
+
375
+ 3. As each agent completes, collect its `FRAMEWORK_RUNNER_RESULT` structured summary
376
+
377
+ ### Swarm Synthesis
378
+
379
+ After all N agents return:
380
+
381
+ 1. **Collect results** -- parse each agent's `FRAMEWORK_RUNNER_RESULT` for key_insights and cross_references
382
+
383
+ 2. **Cross-agent discovery** -- scan all N artifacts for emergent connections:
384
+ - Do any two agents' findings reference the same concept from different angles?
385
+ - Do any cross_references point to each other's target sections?
386
+ - Are there contradictions between agents' findings?
387
+
388
+ 3. **Trigger HSI recomputation** -- run the post-write cascade for all N new artifacts:
389
+ ```bash
390
+ "${CLAUDE_PLUGIN_ROOT}/scripts/compute-hsi.py" room
391
+ ```
392
+ This satisfies PARA-05: parallel filings trigger HSI recomputation to discover cross-agent innovation connections.
393
+
394
+ 4. **Show swarm summary:**
395
+ ```
396
+ [SWARM] Complete -- {N} frameworks executed in parallel
397
+
398
+ Agent 1: {framework-1} -> room/{section-1}/
399
+ Quality: {high|medium|low}
400
+ Insights: {top insight}
401
+ [... for each agent ...]
402
+
403
+ Cross-Agent Discoveries:
404
+ - {emergent connection 1}
405
+ - {emergent connection 2}
406
+
407
+ Token Usage: {actual tokens used} (estimated {plan.cost.display})
408
+ HSI Recomputed: {new HSI_CONNECTION edges found}
409
+ Artifacts filed: {total count}
410
+ Sections updated: {list}
411
+ ```
412
+
413
+ ### Swarm Dry-Run (`/mos:act --swarm --dry-run`)
414
+
415
+ Display the swarm thinking trace (above) with all 3 agent assignments, resolved models, and expected outputs. Do NOT dispatch any agents.
416
+
417
+ ## Brain Enhancement
418
+
419
+ When Brain MCP is connected, the autonomous engine gains:
420
+
421
+ 1. **Graph-informed chains:** `FEEDS_INTO` and `TRANSFORMS_OUTPUT_TO` relationships create empirically-grounded framework sequences
422
+ 2. **Confidence scores:** Brain provides confidence on each framework recommendation
423
+ 3. **Problem-type alignment:** `ADDRESSES_PROBLEM_TYPE` relationship validates selections
424
+ 4. **Cross-domain patterns:** Brain knows which framework combinations produce breakthrough insights across domains
425
+
426
+ Without Brain, the engine uses the local routing table and natural progression heuristics. Both paths produce valid results -- Brain makes them more precise.
427
+
428
+ ## Error Handling
429
+
430
+ - **Empty room (no STATE.md, no entries):** "Your room is empty. Start with `/mos:new-project` to set up, then come back."
431
+ - **All frameworks already applied:** "You have applied all recommended frameworks for this problem type. Try `/mos:pipeline` for structured multi-stage work, or `/mos:suggest-next` for Brain-powered recommendations."
432
+ - **Framework-runner fails:** Report which framework failed, what was attempted, and suggest running it manually via `/mos:{framework-name}`.
433
+ - **Chain interrupted:** Save progress (artifacts already filed persist), report which step failed, offer to resume from that step.