@mindrian_os/install 1.13.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/.mcp.json +9 -0
  3. package/CHANGELOG.md +3333 -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 +142 -0
  16. package/bin/mindrian-mcp-server.cjs +182 -0
  17. package/bin/mindrian-tools.cjs +765 -0
  18. package/commands/act.md +439 -0
  19. package/commands/admin.md +404 -0
  20. package/commands/analyze-needs.md +42 -0
  21. package/commands/analyze-systems.md +39 -0
  22. package/commands/analyze-timing.md +42 -0
  23. package/commands/auto-explore.md +64 -0
  24. package/commands/beautiful-question.md +40 -0
  25. package/commands/brain-derive.md +78 -0
  26. package/commands/build-knowledge.md +42 -0
  27. package/commands/build-thesis.md +46 -0
  28. package/commands/causal.md +234 -0
  29. package/commands/challenge-assumptions.md +33 -0
  30. package/commands/compare-ventures.md +83 -0
  31. package/commands/dashboard.md +110 -0
  32. package/commands/deep-grade.md +82 -0
  33. package/commands/diagnose.md +58 -0
  34. package/commands/diagnostics.md +151 -0
  35. package/commands/doctor.md +151 -0
  36. package/commands/dominant-designs.md +40 -0
  37. package/commands/explain-decision.md +87 -0
  38. package/commands/explore-domains.md +42 -0
  39. package/commands/explore-futures.md +40 -0
  40. package/commands/explore-trends.md +42 -0
  41. package/commands/export.md +103 -0
  42. package/commands/file-meeting.md +724 -0
  43. package/commands/find-analogies.md +188 -0
  44. package/commands/find-bottlenecks.md +62 -0
  45. package/commands/find-connections.md +76 -0
  46. package/commands/funding.md +81 -0
  47. package/commands/grade.md +203 -0
  48. package/commands/graph.md +128 -0
  49. package/commands/hat-briefing.md +125 -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 +40 -0
  56. package/commands/macro-trends.md +40 -0
  57. package/commands/map-unknowns.md +40 -0
  58. package/commands/memory.md +173 -0
  59. package/commands/models.md +175 -0
  60. package/commands/mos-reason.md +285 -0
  61. package/commands/mullins.md +120 -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 +198 -0
  68. package/commands/pipeline.md +112 -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 +196 -0
  75. package/commands/room.md +352 -0
  76. package/commands/rooms.md +598 -0
  77. package/commands/root-cause.md +40 -0
  78. package/commands/rs-experts.md +85 -0
  79. package/commands/rs-explain.md +100 -0
  80. package/commands/rs-fetch.md +94 -0
  81. package/commands/rs-thesis.md +85 -0
  82. package/commands/scenario-plan.md +40 -0
  83. package/commands/scheduled-tasks.md +285 -0
  84. package/commands/score-innovation.md +43 -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 +42 -0
  92. package/commands/suggest-next.md +80 -0
  93. package/commands/systems-thinking.md +40 -0
  94. package/commands/think-hats.md +42 -0
  95. package/commands/update.md +181 -0
  96. package/commands/user-needs.md +40 -0
  97. package/commands/validate.md +40 -0
  98. package/commands/value-proposition.md +61 -0
  99. package/commands/vault.md +180 -0
  100. package/commands/visualize.md +52 -0
  101. package/commands/whitespace.md +507 -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/brain/ROOM.md +44 -0
  111. package/lib/brain/chain-recommender.cjs +301 -0
  112. package/lib/chat/chat-context.js +185 -0
  113. package/lib/chat/chat-panel.js +721 -0
  114. package/lib/chat/fabric-chat.cjs +288 -0
  115. package/lib/chat/generative-tools.js +219 -0
  116. package/lib/conversation/ROOM.md +39 -0
  117. package/lib/conversation/classifier-rules.json +38 -0
  118. package/lib/conversation/classifier.cjs +264 -0
  119. package/lib/conversation/operator.cjs +287 -0
  120. package/lib/copy/115-spec-strings.cjs +55 -0
  121. package/lib/core/__init__.py +0 -0
  122. package/lib/core/__nav-stub.cjs +14 -0
  123. package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
  124. package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
  125. package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
  126. package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
  127. package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
  128. package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
  129. package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
  130. package/lib/core/artifact-id.cjs +148 -0
  131. package/lib/core/asset-ops.cjs +151 -0
  132. package/lib/core/auto-commit-throttle.cjs +129 -0
  133. package/lib/core/bearer-token.cjs +199 -0
  134. package/lib/core/brain-client.cjs +865 -0
  135. package/lib/core/brain-derivation-prompts.cjs +326 -0
  136. package/lib/core/brain-derivation-queue.cjs +431 -0
  137. package/lib/core/brain-derivation.cjs +580 -0
  138. package/lib/core/brain-md-schema.cjs +528 -0
  139. package/lib/core/brain-md-staleness.cjs +357 -0
  140. package/lib/core/brain-response-sanitize.cjs +188 -0
  141. package/lib/core/bridge-writer.cjs +477 -0
  142. package/lib/core/chat-context-builder.cjs +253 -0
  143. package/lib/core/cross-room-aggregator.cjs +762 -0
  144. package/lib/core/daily-briefing.cjs +438 -0
  145. package/lib/core/decision-capture.cjs +618 -0
  146. package/lib/core/deep-links.cjs +82 -0
  147. package/lib/core/dispatch-optimizer.cjs +354 -0
  148. package/lib/core/dual-path-detector.cjs +84 -0
  149. package/lib/core/dual-path-detector.test.cjs +334 -0
  150. package/lib/core/exports-log.cjs +79 -0
  151. package/lib/core/feynman-minto-invariants.cjs +605 -0
  152. package/lib/core/folder-memory-async.cjs +338 -0
  153. package/lib/core/folder-memory-shared.cjs +890 -0
  154. package/lib/core/folder-memory.cjs +416 -0
  155. package/lib/core/framework-chain-composer.cjs +411 -0
  156. package/lib/core/frontmatter-schemas.cjs +330 -0
  157. package/lib/core/git-ops.cjs +141 -0
  158. package/lib/core/graph-ops.cjs +258 -0
  159. package/lib/core/hat-persistence.cjs +362 -0
  160. package/lib/core/index.cjs +60 -0
  161. package/lib/core/integration-registry.cjs +232 -0
  162. package/lib/core/intelligence-cascade.cjs +661 -0
  163. package/lib/core/lazygraph-ops.cjs +1057 -0
  164. package/lib/core/lru-cache.cjs +139 -0
  165. package/lib/core/mcp-profiles.cjs +182 -0
  166. package/lib/core/meeting-ops.cjs +54 -0
  167. package/lib/core/memory-ops.cjs +600 -0
  168. package/lib/core/migrations/ROOM.md +33 -0
  169. package/lib/core/migrations/phase-109-nodes-provenance.cjs +339 -0
  170. package/lib/core/migrations/phase-109-session-focus.cjs +99 -0
  171. package/lib/core/model-profiles.cjs +246 -0
  172. package/lib/core/mullins-scaffold.cjs +160 -0
  173. package/lib/core/nav-dial.cjs +316 -0
  174. package/lib/core/navigation/ROOM.md +15 -0
  175. package/lib/core/navigation/explanation.cjs +43 -0
  176. package/lib/core/navigation/focus.cjs +135 -0
  177. package/lib/core/navigation/ingestion.cjs +82 -0
  178. package/lib/core/navigation/insights.cjs +350 -0
  179. package/lib/core/navigation/memory-events.cjs +118 -0
  180. package/lib/core/navigation/neighborhood.cjs +78 -0
  181. package/lib/core/navigation/packet.cjs +182 -0
  182. package/lib/core/navigation/room-home.cjs +127 -0
  183. package/lib/core/navigation/transitions.cjs +82 -0
  184. package/lib/core/navigation-engine-shared.cjs +242 -0
  185. package/lib/core/navigation-engine.cjs +664 -0
  186. package/lib/core/navigation.cjs +60 -0
  187. package/lib/core/nl-graph-queries.cjs +164 -0
  188. package/lib/core/offer-presenter.cjs +406 -0
  189. package/lib/core/opportunity-extractor.cjs +183 -0
  190. package/lib/core/opportunity-ops.cjs +1371 -0
  191. package/lib/core/persona-ops.cjs +537 -0
  192. package/lib/core/persona-taxonomy.cjs +190 -0
  193. package/lib/core/platform-gates.cjs +120 -0
  194. package/lib/core/platform.cjs +257 -0
  195. package/lib/core/proactive-intelligence.cjs +528 -0
  196. package/lib/core/problem-type-router.cjs +315 -0
  197. package/lib/core/reasoning-ops.cjs +639 -0
  198. package/lib/core/reverse-salient-persona-suffix.cjs +115 -0
  199. package/lib/core/room-classifier-strict-mode.cjs +229 -0
  200. package/lib/core/room-db.cjs +127 -0
  201. package/lib/core/room-ops-async.cjs +92 -0
  202. package/lib/core/room-ops-shared.cjs +64 -0
  203. package/lib/core/room-ops-sync.cjs +70 -0
  204. package/lib/core/room-ops.cjs +32 -0
  205. package/lib/core/room-type-detector.cjs +386 -0
  206. package/lib/core/rs-brain-substrate-prompts.cjs +129 -0
  207. package/lib/core/rs-brain-substrate.cjs +570 -0
  208. package/lib/core/rs-breakthrough-scorer.cjs +255 -0
  209. package/lib/core/rs-canon-violations.cjs +82 -0
  210. package/lib/core/rs-chain-feeder.cjs +343 -0
  211. package/lib/core/rs-commercial-assessor.cjs +280 -0
  212. package/lib/core/rs-differential-scorer.cjs +376 -0
  213. package/lib/core/rs-domain-analyzer.cjs +385 -0
  214. package/lib/core/rs-egress-prompts.cjs +113 -0
  215. package/lib/core/rs-egress-telemetry.cjs +225 -0
  216. package/lib/core/rs-egress-violations.cjs +53 -0
  217. package/lib/core/rs-expert-mapper.cjs +467 -0
  218. package/lib/core/rs-fetcher-academic.cjs +697 -0
  219. package/lib/core/rs-fetcher-experts.cjs +314 -0
  220. package/lib/core/rs-fetcher-industry.cjs +731 -0
  221. package/lib/core/rs-fetcher-patents.cjs +564 -0
  222. package/lib/core/rs-innovation-classifier.cjs +194 -0
  223. package/lib/core/rs-mind-map.cjs +656 -0
  224. package/lib/core/rs-neo4j-writer.cjs +388 -0
  225. package/lib/core/rs-nl-to-query.cjs +425 -0
  226. package/lib/core/rs-pinecone-bridge.cjs +303 -0
  227. package/lib/core/rs-preprocessor.cjs +350 -0
  228. package/lib/core/rs-query-matrix.cjs +316 -0
  229. package/lib/core/rs-query-to-text.cjs +438 -0
  230. package/lib/core/rs-sqlite-mirror.cjs +443 -0
  231. package/lib/core/rs-thesis-generator.cjs +188 -0
  232. package/lib/core/rs_cache.py +479 -0
  233. package/lib/core/rs_corpus.py +468 -0
  234. package/lib/core/rs_hybrid.py +586 -0
  235. package/lib/core/rs_math.py +287 -0
  236. package/lib/core/rs_rooms.py +193 -0
  237. package/lib/core/scheduled-scanner.cjs +463 -0
  238. package/lib/core/scratchpad-ops.cjs +201 -0
  239. package/lib/core/section-8-trace-schema.cjs +138 -0
  240. package/lib/core/section-registry.cjs +111 -0
  241. package/lib/core/session-state.cjs +144 -0
  242. package/lib/core/shallow-doc-parser.cjs +174 -0
  243. package/lib/core/shallow-doc-parser.test.cjs +226 -0
  244. package/lib/core/skill-activation-router.cjs +284 -0
  245. package/lib/core/state-ops.cjs +46 -0
  246. package/lib/core/statusline-cache.cjs +266 -0
  247. package/lib/core/token-estimator.cjs +348 -0
  248. package/lib/core/user-archetype.cjs +239 -0
  249. package/lib/core/user-md-ops.cjs +524 -0
  250. package/lib/core/visual-ops.cjs +624 -0
  251. package/lib/core/write-lock.cjs +149 -0
  252. package/lib/graph/canvas-graph.js +467 -0
  253. package/lib/graph/constellation-config.cjs +299 -0
  254. package/lib/graph/graph-detail-panel.js +165 -0
  255. package/lib/hmi/ROOM.md +47 -0
  256. package/lib/hmi/across-session-memory.cjs +604 -0
  257. package/lib/hmi/cross-room-memory.cjs +575 -0
  258. package/lib/hmi/decoy-tier.cjs +395 -0
  259. package/lib/hmi/jtbd-classifier.cjs +219 -0
  260. package/lib/hmi/jtbd-state.cjs +199 -0
  261. package/lib/hmi/jtbd-taxonomy.json +392 -0
  262. package/lib/hmi/selector-dispatcher.cjs +546 -0
  263. package/lib/hmi/selector-telemetry.cjs +263 -0
  264. package/lib/hmi/shape-f0-renderer.cjs +139 -0
  265. package/lib/hmi/shape-f1-fallback.cjs +80 -0
  266. package/lib/hmi/shape-f1-renderer.cjs +138 -0
  267. package/lib/hmi/shape-f2-renderer.cjs +132 -0
  268. package/lib/hmi/shape-f3-renderer.cjs +66 -0
  269. package/lib/hmi/shape-f4-renderer.cjs +72 -0
  270. package/lib/hmi/shape-f5-renderer.cjs +155 -0
  271. package/lib/hmi/shape-f6-plan-review-renderer.cjs +312 -0
  272. package/lib/hmi/shape-f6-renderer.cjs +144 -0
  273. package/lib/hmi/shape-g-renderer.cjs +219 -0
  274. package/lib/hmi/shape-h-renderer.cjs +222 -0
  275. package/lib/hmi/tier-check.cjs +63 -0
  276. package/lib/import/PRECONDITIONS.md +41 -0
  277. package/lib/import/branding.cjs +210 -0
  278. package/lib/import/branding.test.cjs +235 -0
  279. package/lib/import/classifications-sync.cjs +104 -0
  280. package/lib/import/classifications-sync.test.cjs +129 -0
  281. package/lib/import/enricher.cjs +296 -0
  282. package/lib/import/enricher.test.cjs +273 -0
  283. package/lib/import/integration.test.cjs +376 -0
  284. package/lib/import/manifest.cjs +129 -0
  285. package/lib/import/manifest.schema.json +185 -0
  286. package/lib/import/manifest.test.cjs +123 -0
  287. package/lib/import/meeting-detector.cjs +92 -0
  288. package/lib/import/meeting-detector.test.cjs +100 -0
  289. package/lib/import/person-detector.cjs +229 -0
  290. package/lib/import/person-detector.test.cjs +149 -0
  291. package/lib/import/report.cjs +186 -0
  292. package/lib/import/report.test.cjs +186 -0
  293. package/lib/import/room-md-scaffolder.cjs +49 -0
  294. package/lib/import/router.cjs +224 -0
  295. package/lib/import/router.test.cjs +356 -0
  296. package/lib/import/run-all-tests.cjs +36 -0
  297. package/lib/import/smoke-test.cjs +213 -0
  298. package/lib/import/smoke-test.test.cjs +148 -0
  299. package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +8 -0
  300. package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +7 -0
  301. package/lib/import/test-fixtures/collision-vault/source/onboarding.md +5 -0
  302. package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +1 -0
  303. package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +4 -0
  304. package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +9 -0
  305. package/lib/import/test-fixtures/tiny-vault/notes/empty.md +3 -0
  306. package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +5 -0
  307. package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +5 -0
  308. package/lib/import/test-fixtures/tiny-vault/notes/random.md +4 -0
  309. package/lib/import/undo.test.cjs +199 -0
  310. package/lib/import/vault-scanner.cjs +105 -0
  311. package/lib/import/vault-scanner.test.cjs +67 -0
  312. package/lib/mcp/app-html/dashboard.html +316 -0
  313. package/lib/mcp/app-html/graph.html +428 -0
  314. package/lib/mcp/app-html/mindrian-platform.html +1841 -0
  315. package/lib/mcp/app-html/wiki.html +383 -0
  316. package/lib/mcp/app-views.cjs +322 -0
  317. package/lib/mcp/brain-router.cjs +418 -0
  318. package/lib/mcp/capability-registry.cjs +62 -0
  319. package/lib/mcp/larry-context.cjs +46 -0
  320. package/lib/mcp/larry-server-instructions.md +114 -0
  321. package/lib/mcp/pipeline-state.cjs +275 -0
  322. package/lib/mcp/prompts.cjs +302 -0
  323. package/lib/mcp/resources.cjs +227 -0
  324. package/lib/mcp/session-catchup.cjs +327 -0
  325. package/lib/mcp/surface-detect.cjs +75 -0
  326. package/lib/mcp/tool-router.cjs +1034 -0
  327. package/lib/memory/aaak-compress.cjs +403 -0
  328. package/lib/memory/aaak-compress.test.cjs +288 -0
  329. package/lib/memory/async-artifact-auto-commit.test.cjs +223 -0
  330. package/lib/memory/bearer-token.test.cjs +315 -0
  331. package/lib/memory/brain-cache-lru.test.cjs +259 -0
  332. package/lib/memory/brain-client-query-shape.test.cjs +160 -0
  333. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +1019 -0
  334. package/lib/memory/brain-derivation-queue.test.cjs +539 -0
  335. package/lib/memory/brain-derivation.test.cjs +634 -0
  336. package/lib/memory/brain-derive-command.test.cjs +534 -0
  337. package/lib/memory/brain-md-invariants-validator.test.cjs +704 -0
  338. package/lib/memory/brain-md-schema.test.cjs +467 -0
  339. package/lib/memory/brain-md-staleness.test.cjs +525 -0
  340. package/lib/memory/brain-server-resolution.test.cjs +314 -0
  341. package/lib/memory/chain-recommender.test.cjs +233 -0
  342. package/lib/memory/chat-context.test.cjs +128 -0
  343. package/lib/memory/command-registry.test.cjs +220 -0
  344. package/lib/memory/cross-room-aggregator.test.cjs +909 -0
  345. package/lib/memory/dashboard-server.test.cjs +256 -0
  346. package/lib/memory/debouncer-drain-at-prompt.test.cjs +389 -0
  347. package/lib/memory/decision-capture.test.cjs +632 -0
  348. package/lib/memory/decision-capture.worker.cjs +70 -0
  349. package/lib/memory/explain-decision-command.test.cjs +521 -0
  350. package/lib/memory/explain-decision-footer.test.cjs +316 -0
  351. package/lib/memory/explored-materials-store.cjs +392 -0
  352. package/lib/memory/feynman-minto-guardian.test.cjs +736 -0
  353. package/lib/memory/feynman-minto-invariants.test.cjs +511 -0
  354. package/lib/memory/feynman-prompts-drift.test.cjs +144 -0
  355. package/lib/memory/feynman-prompts.cjs +151 -0
  356. package/lib/memory/feynman-prompts.test.cjs +96 -0
  357. package/lib/memory/folder-memory-quadruple.test.cjs +548 -0
  358. package/lib/memory/folder-memory.test.cjs +503 -0
  359. package/lib/memory/framework-chain-composer.test.cjs +515 -0
  360. package/lib/memory/frontmatter-schema-validator.test.cjs +290 -0
  361. package/lib/memory/heal-command.test.cjs +604 -0
  362. package/lib/memory/index-artifact-transaction.test.cjs +333 -0
  363. package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +122 -0
  364. package/lib/memory/mcp-input-validation.test.cjs +240 -0
  365. package/lib/memory/mcp-server-brain-deps.test.cjs +270 -0
  366. package/lib/memory/mcp-stack-fallback.test.cjs +433 -0
  367. package/lib/memory/minto-debouncer.test.cjs +407 -0
  368. package/lib/memory/minto-debouncer.worker.cjs +46 -0
  369. package/lib/memory/minto-migration-v88.test.cjs +265 -0
  370. package/lib/memory/minto-schema-v88.test.cjs +390 -0
  371. package/lib/memory/mos-status-renderer.test.cjs +631 -0
  372. package/lib/memory/narrative-schema.cjs +376 -0
  373. package/lib/memory/narrative-schema.test.cjs +209 -0
  374. package/lib/memory/nav-dial.test.cjs +414 -0
  375. package/lib/memory/navigation-engine-core.test.cjs +722 -0
  376. package/lib/memory/navigation-invariants.test.cjs +483 -0
  377. package/lib/memory/offer-presenter.test.cjs +554 -0
  378. package/lib/memory/on-stop-snapshot.test.cjs +404 -0
  379. package/lib/memory/pending-tension-store.cjs +373 -0
  380. package/lib/memory/post-compact-reinjection.test.cjs +854 -0
  381. package/lib/memory/post-write-triple.test.cjs +317 -0
  382. package/lib/memory/pre-compact-snapshot.test.cjs +495 -0
  383. package/lib/memory/problem-type-router.test.cjs +656 -0
  384. package/lib/memory/query-efficiency-telemetry.test.cjs +370 -0
  385. package/lib/memory/recompile-room-references.test.cjs +392 -0
  386. package/lib/memory/recompile-room-references.worker.cjs +42 -0
  387. package/lib/memory/record-decision-dual-write.test.cjs +454 -0
  388. package/lib/memory/room-classifier-strict-mode.test.cjs +417 -0
  389. package/lib/memory/room-minto-hook.test.cjs +398 -0
  390. package/lib/memory/rs-discovery-engine.test.cjs +323 -0
  391. package/lib/memory/run-feynman-tests.cjs +1247 -0
  392. package/lib/memory/security-trifecta.test.cjs +312 -0
  393. package/lib/memory/session-start-brain-staleness.test.cjs +363 -0
  394. package/lib/memory/session-start-triple-injection.test.cjs +514 -0
  395. package/lib/memory/sessionstart-banner-formatter.cjs +318 -0
  396. package/lib/memory/sessionstart-minto-banner.test.cjs +373 -0
  397. package/lib/memory/skill-activation-router.test.cjs +419 -0
  398. package/lib/memory/stamp-artifact-write.test.cjs +304 -0
  399. package/lib/memory/statusline-active-room.test.cjs +315 -0
  400. package/lib/memory/statusline-minto-segment.test.cjs +292 -0
  401. package/lib/memory/sync-async-entry-points.test.cjs +204 -0
  402. package/lib/memory/test-bridge-writer-enhanced.cjs +452 -0
  403. package/lib/memory/test-rs-brain-substrate-shape.cjs +529 -0
  404. package/lib/memory/test-rs-brain-substrate.cjs +636 -0
  405. package/lib/memory/test-rs-breakthrough-scorer.cjs +375 -0
  406. package/lib/memory/test-rs-canon-violations.cjs +218 -0
  407. package/lib/memory/test-rs-chain-feeder-core.cjs +344 -0
  408. package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +297 -0
  409. package/lib/memory/test-rs-commercial-assessor.cjs +385 -0
  410. package/lib/memory/test-rs-differential-scorer.cjs +480 -0
  411. package/lib/memory/test-rs-discovery-engine.cjs +603 -0
  412. package/lib/memory/test-rs-domain-analyzer.cjs +492 -0
  413. package/lib/memory/test-rs-egress-primitives.cjs +420 -0
  414. package/lib/memory/test-rs-expert-mapper.cjs +547 -0
  415. package/lib/memory/test-rs-explain-command.cjs +443 -0
  416. package/lib/memory/test-rs-fetcher-academic.cjs +848 -0
  417. package/lib/memory/test-rs-fetcher-experts.cjs +496 -0
  418. package/lib/memory/test-rs-fetcher-industry.cjs +702 -0
  419. package/lib/memory/test-rs-fetcher-patents.cjs +674 -0
  420. package/lib/memory/test-rs-innovation-classifier.cjs +301 -0
  421. package/lib/memory/test-rs-mind-map.cjs +646 -0
  422. package/lib/memory/test-rs-neo4j-writer.cjs +518 -0
  423. package/lib/memory/test-rs-nl-to-query.cjs +449 -0
  424. package/lib/memory/test-rs-pinecone-bridge.cjs +277 -0
  425. package/lib/memory/test-rs-preprocessor.cjs +433 -0
  426. package/lib/memory/test-rs-query-matrix.cjs +391 -0
  427. package/lib/memory/test-rs-query-to-text.cjs +551 -0
  428. package/lib/memory/test-rs-sqlite-mirror.cjs +649 -0
  429. package/lib/memory/test-rs-thesis-generator.cjs +360 -0
  430. package/lib/memory/triple-context-formatter.cjs +473 -0
  431. package/lib/memory/triple-context-formatter.test.cjs +442 -0
  432. package/lib/memory/user-md-persona.test.cjs +565 -0
  433. package/lib/memory/userpromptsubmit-integration.test.cjs +690 -0
  434. package/lib/memory/validators/README.md +157 -0
  435. package/lib/memory/validators/brain-md-invariants.cjs +475 -0
  436. package/lib/memory/validators/brain-substrate-invariants.cjs +285 -0
  437. package/lib/memory/validators/external-academic-invariants.cjs +249 -0
  438. package/lib/memory/validators/external-industry-invariants.cjs +271 -0
  439. package/lib/memory/validators/external-patents-invariants.cjs +266 -0
  440. package/lib/memory/validators/minto-invariants.cjs +62 -0
  441. package/lib/memory/validators/navigation-invariants.cjs +340 -0
  442. package/lib/memory/validators/queue-health.cjs +95 -0
  443. package/lib/memory/validators/snapshot-integrity.cjs +129 -0
  444. package/lib/memory/validators/stale-lifecycle.cjs +116 -0
  445. package/lib/memory/vault-section-minto-generator-atomic.test.cjs +556 -0
  446. package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +73 -0
  447. package/lib/memory/write-lock-atomic.test.cjs +137 -0
  448. package/lib/memory/write-lock-atomic.worker.cjs +55 -0
  449. package/lib/parity/check-parity.cjs +83 -0
  450. package/lib/presentation/presentation-server.cjs +101 -0
  451. package/lib/presentation/presentation-watcher.cjs +123 -0
  452. package/lib/quickview/hub-server.cjs +719 -0
  453. package/lib/quickview/server.cjs +533 -0
  454. package/lib/render/JTBD-PALETTES.md +145 -0
  455. package/lib/render/ROOM.md +59 -0
  456. package/lib/render/render-v2.cjs +486 -0
  457. package/lib/render/render-v2.test.cjs +267 -0
  458. package/lib/render/render.cjs +65 -0
  459. package/lib/state/ROOM.md +46 -0
  460. package/lib/state/state-md-parser.cjs +215 -0
  461. package/lib/statusline/ROOM.md +38 -0
  462. package/lib/statusline/banner-suppression.cjs +50 -0
  463. package/lib/statusline/surface-detect.cjs +85 -0
  464. package/lib/update-bootstrap.sh.template +145 -0
  465. package/lib/vault/frontmatter-schema.cjs +297 -0
  466. package/lib/vault/room-scanner.cjs +352 -0
  467. package/lib/vault/wikilink-builder.cjs +231 -0
  468. package/lib/vault/wikilink-builder.test.cjs +182 -0
  469. package/lib/wiki/graph-links.cjs +281 -0
  470. package/lib/wiki/page-renderer.cjs +229 -0
  471. package/lib/wiki/wiki-chat.cjs +81 -0
  472. package/lib/wiki/wiki-layout.cjs +1459 -0
  473. package/lib/wiki/wiki-search.cjs +142 -0
  474. package/lib/wiki/wiki-server.cjs +678 -0
  475. package/lib/wiki/wiki-watcher.cjs +105 -0
  476. package/lib/workflow/ROOM.md +47 -0
  477. package/lib/workflow/command-resolver.cjs +155 -0
  478. package/lib/workflow/command-resolver.test.cjs +235 -0
  479. package/package.json +44 -0
  480. package/pipelines/analogy/01-decompose.md +80 -0
  481. package/pipelines/analogy/02-abstract.md +87 -0
  482. package/pipelines/analogy/03-search.md +135 -0
  483. package/pipelines/analogy/04-transfer.md +101 -0
  484. package/pipelines/analogy/05-validate.md +106 -0
  485. package/pipelines/analogy/CHAIN.md +56 -0
  486. package/pipelines/discovery/01-explore-domains.md +44 -0
  487. package/pipelines/discovery/02-think-hats.md +50 -0
  488. package/pipelines/discovery/03-analyze-needs.md +54 -0
  489. package/pipelines/discovery/CHAIN.md +37 -0
  490. package/pipelines/thesis/01-structure-argument.md +45 -0
  491. package/pipelines/thesis/02-challenge-assumptions.md +48 -0
  492. package/pipelines/thesis/03-build-thesis.md +54 -0
  493. package/pipelines/thesis/CHAIN.md +37 -0
  494. package/references/brain/causal-directives.md +91 -0
  495. package/references/brain/causal-enrichment.cypher +165 -0
  496. package/references/brain/command-triggers-schema.md +226 -0
  497. package/references/brain/graph-architecture.md +317 -0
  498. package/references/brain/query-patterns.md +460 -0
  499. package/references/brain/room-hierarchy-schema.md +218 -0
  500. package/references/brain/schema.md +76 -0
  501. package/references/capability-radar/capabilities-index.md +241 -0
  502. package/references/capability-radar/changelog-cache.md +81 -0
  503. package/references/causal/causal-schema.md +103 -0
  504. package/references/design/email-template-standard.md +155 -0
  505. package/references/design/graph-visualization-standard.md +178 -0
  506. package/references/document-generation.md +179 -0
  507. package/references/hsi/HSI-TOOLS-REFERENCE.md +222 -0
  508. package/references/import-config.md +141 -0
  509. package/references/integrations/detection-patterns.md +101 -0
  510. package/references/meeting/artifact-template.md +377 -0
  511. package/references/meeting/cross-meeting-intelligence.md +216 -0
  512. package/references/meeting/cross-relationship-patterns.md +202 -0
  513. package/references/meeting/live-join-interface.md +244 -0
  514. package/references/meeting/section-mapping.md +192 -0
  515. package/references/meeting/segment-classification.md +258 -0
  516. package/references/meeting/speaker-profile-template.md +219 -0
  517. package/references/meeting/summary-template.md +348 -0
  518. package/references/meeting/transcript-patterns.md +226 -0
  519. package/references/methodology/analyze-needs.md +135 -0
  520. package/references/methodology/analyze-systems.md +121 -0
  521. package/references/methodology/analyze-timing.md +149 -0
  522. package/references/methodology/beautiful-question.md +109 -0
  523. package/references/methodology/build-knowledge.md +161 -0
  524. package/references/methodology/build-thesis.md +237 -0
  525. package/references/methodology/challenge-assumptions.md +127 -0
  526. package/references/methodology/diagnose.md +169 -0
  527. package/references/methodology/dominant-designs.md +212 -0
  528. package/references/methodology/explore-domains.md +147 -0
  529. package/references/methodology/explore-futures.md +163 -0
  530. package/references/methodology/explore-trends.md +129 -0
  531. package/references/methodology/find-bottlenecks.md +131 -0
  532. package/references/methodology/grade.md +211 -0
  533. package/references/methodology/index.md +97 -0
  534. package/references/methodology/leadership.md +200 -0
  535. package/references/methodology/lean-canvas.md +116 -0
  536. package/references/methodology/macro-trends.md +192 -0
  537. package/references/methodology/map-unknowns.md +137 -0
  538. package/references/methodology/mullins-7-domains.md +104 -0
  539. package/references/methodology/problem-types.md +65 -0
  540. package/references/methodology/root-cause.md +178 -0
  541. package/references/methodology/sapphire-encoding.md +355 -0
  542. package/references/methodology/scenario-plan.md +178 -0
  543. package/references/methodology/score-innovation.md +154 -0
  544. package/references/methodology/structure-argument.md +158 -0
  545. package/references/methodology/systems-thinking.md +159 -0
  546. package/references/methodology/think-hats.md +147 -0
  547. package/references/methodology/triz-matrix.json +751 -0
  548. package/references/methodology/triz-principles.md +501 -0
  549. package/references/methodology/user-needs.md +199 -0
  550. package/references/methodology/validate.md +163 -0
  551. package/references/methodology/value-proposition.md +244 -0
  552. package/references/opportunities/funding-lifecycle.md +103 -0
  553. package/references/opportunities/grant-api-patterns.md +99 -0
  554. package/references/opportunities/opportunity-template.md +84 -0
  555. package/references/personality/assessment-philosophy.md +72 -0
  556. package/references/personality/lexicon.md +100 -0
  557. package/references/personality/persona-chains.md +56 -0
  558. package/references/personality/pws-lexicon-full.md +499 -0
  559. package/references/personality/voice-dna.md +156 -0
  560. package/references/personas/hat-perspectives.md +76 -0
  561. package/references/personas/persona-template.md +63 -0
  562. package/references/pipeline/act-output-contract.md +88 -0
  563. package/references/pipeline/chains-index.md +39 -0
  564. package/references/pws-profile-generation.md +79 -0
  565. package/references/reasoning/reasoning-schema.md +143 -0
  566. package/references/reasoning/reasoning-template.md +68 -0
  567. package/references/reasoning/run-template.md +38 -0
  568. package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +209 -0
  569. package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +375 -0
  570. package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +575 -0
  571. package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +272 -0
  572. package/references/taxonomy/TAXONOMY.md +192 -0
  573. package/references/templates/MINTO.md +36 -0
  574. package/references/user-research/2026-04-05-leah-lawrence-session.md +202 -0
  575. package/references/vault-kit/README.md +35 -0
  576. package/references/vault-kit/app.json +12 -0
  577. package/references/vault-kit/appearance.json +12 -0
  578. package/references/vault-kit/graph.json +35 -0
  579. package/references/vault-kit/snippets/mindrian-destijl.css +297 -0
  580. package/references/vault-kit/templates/new-artifact.md +37 -0
  581. package/references/vault-kit/templates/new-meeting-note.md +35 -0
  582. package/references/vault-kit/templates/new-team-profile.md +29 -0
  583. package/references/vault-kit/templates/new-xref.md +35 -0
  584. package/references/visual/symbol-system.md +151 -0
  585. package/skills/MOSDeckEngine/SKILL.md +325 -0
  586. package/skills/brain-connector/SKILL.md +114 -0
  587. package/skills/context-engine/SKILL.md +147 -0
  588. package/skills/conversation-mode/SKILL.md +102 -0
  589. package/skills/larry-personality/SKILL.md +219 -0
  590. package/skills/larry-personality/framework-chains.md +92 -0
  591. package/skills/larry-personality/mode-engine.md +185 -0
  592. package/skills/mullins-scaffold/SKILL.md +61 -0
  593. package/skills/mullins-scaffold/scaffold.json +146 -0
  594. package/skills/pws-methodology/SKILL.md +49 -0
  595. package/skills/room-passive/SKILL.md +165 -0
  596. package/skills/room-proactive/SKILL.md +250 -0
  597. package/skills/ui-system/SKILL.md +277 -0
@@ -0,0 +1,198 @@
1
+ ---
2
+ name: persona
3
+ description: Generate Six-Hats lenses from room data
4
+ body_shape: C (Room Card)
5
+ serves_jtbd: ["prepare-pitch"]
6
+ # --- Phase 122 workflow-layer frontmatter ---
7
+ kind: methodology
8
+ frameworks: ["Six Thinking Hats"]
9
+ produces: "room/team/ai-personas/*"
10
+ inputs: []
11
+ autonomous_safe: true
12
+ allowed-tools:
13
+ - Read
14
+ - Write
15
+ - Bash
16
+ - Glob
17
+ ---
18
+
19
+ # Persona -- AI Perspective Lenses
20
+
21
+ Generate persistent De Bono Six Thinking Hat perspective lenses from your room data.
22
+
23
+ ## Important Distinction
24
+
25
+ **think-hats** is an INTERACTIVE METHODOLOGY SESSION. It walks you through the six hats in sequence as a facilitated exercise.
26
+
27
+ **persona** creates PERSISTENT PERSPECTIVE LENSES from your room data. Each persona file lives in your `personas/` section and can be invoked at any time to analyze artifacts, challenge assumptions, or provide a specific viewpoint.
28
+
29
+ ## Subcommands
30
+
31
+ ### generate
32
+
33
+ Create 6 hat-colored persona files from current room state.
34
+
35
+ ```
36
+ /mos:persona generate
37
+ ```
38
+
39
+ Reads your room sections, extracts domain signals, and generates one persona file per hat color in `personas/`. Each file contains the persona's perspective, focus areas, hat-specific questions, and inter-hat tensions -- all grounded in YOUR room content.
40
+
41
+ **Prerequisites:** Room must have 2+ populated sections (sections with at least one .md file). Thin rooms are rejected to prevent generic output.
42
+
43
+ ### list
44
+
45
+ Show all generated personas in the room.
46
+
47
+ ```
48
+ /mos:persona list
49
+ ```
50
+
51
+ Returns each persona's hat color, label, domain, filename, and disclaimer.
52
+
53
+ ### invoke [hat] [artifact]
54
+
55
+ Adopt a specific hat's perspective.
56
+
57
+ ```
58
+ /mos:persona invoke black
59
+ /mos:persona invoke yellow path/to/artifact.md
60
+ ```
61
+
62
+ Returns the persona content for the specified hat. When an artifact path is provided, the persona's perspective is applied to that specific document.
63
+
64
+ Hat colors: white (Facts & Data), red (Emotions & Intuition), black (Risks & Dangers), yellow (Benefits & Opportunities), green (Creativity & Alternatives), blue (Process & Meta).
65
+
66
+ ### analyze [artifact]
67
+
68
+ Run all 6 perspectives against a single artifact.
69
+
70
+ ```
71
+ /mos:persona analyze path/to/business-model.md
72
+ ```
73
+
74
+ Returns all six hat perspectives on the artifact. Highlights where hats DISAGREE -- that tension is where insight lives.
75
+
76
+ ### parallel
77
+
78
+ Dispatch all 6 persona-analyst agents simultaneously for maximum-speed multi-perspective analysis.
79
+
80
+ ```
81
+ /mos:persona --parallel
82
+ /mos:persona --parallel path/to/artifact.md
83
+ ```
84
+
85
+ Unlike `analyze` (which runs hats sequentially in a single context), `--parallel` spawns 6 independent persona-analyst agents -- one per De Bono hat -- running simultaneously. Each agent operates in its own context window with full room access.
86
+
87
+ **Prerequisites:** Same as `generate` -- room must have 2+ populated sections and personas must already exist (run `/mos:persona generate` first if needed).
88
+
89
+ **How it works:**
90
+
91
+ 1. **Check personas exist** -- read `room/personas/` for all 6 hat files. If missing, prompt: "Generate personas first with `/mos:persona generate`."
92
+
93
+ 2. **Resolve model per agent** using `lib/core/model-profiles.cjs`:
94
+ ```
95
+ const { resolveModel } = require('${CLAUDE_PLUGIN_ROOT}/lib/core/model-profiles.cjs');
96
+ const model = resolveModel('persona-analyst', roomPath);
97
+ ```
98
+ All 6 agents share the same model resolution since they perform equivalent work. The venture stage determines whether persona analysis runs on a budget or quality tier.
99
+
100
+ 3. **Dispatch 6 agents in parallel** using the Agent tool with `run_in_background: true`:
101
+
102
+ Each agent receives:
103
+ - Hat color and persona file path
104
+ - Room path and room context summary from STATE.md
105
+ - Artifact path (if provided) for focused analysis
106
+ - Instructions from `agents/persona-analyst.md`
107
+
108
+ ```
109
+ [PARALLEL] Dispatching 6 persona-analyst agents
110
+
111
+ Hat 1: White (Facts & Data) [running]
112
+ Hat 2: Red (Emotions & Intuition) [running]
113
+ Hat 3: Black (Risks & Dangers) [running]
114
+ Hat 4: Yellow (Benefits & Opps) [running]
115
+ Hat 5: Green (Creativity & Alts) [running]
116
+ Hat 6: Blue (Process & Meta) [running]
117
+
118
+ Model: {resolved model} (all agents)
119
+ Target: {artifact name or "full room analysis"}
120
+ Waiting for all agents to complete...
121
+ ```
122
+
123
+ 4. **Collect and synthesize** -- as each agent returns its perspective:
124
+ - Parse key insights from each hat's analysis
125
+ - Each agent's output follows the Single Hat format from `agents/persona-analyst.md`
126
+
127
+ 5. **Build the Tension Map** -- after all 6 return, Larry synthesizes:
128
+ - **Disagreements:** where hats reach opposite conclusions (e.g., Yellow sees opportunity where Black sees fatal risk)
129
+ - **Convergences:** where 2+ hats independently reach the same conclusion (stronger signal than sequential analysis)
130
+ - **Unresolved tensions:** questions no hat fully addresses
131
+ - **Emergent patterns:** connections that only become visible when all 6 perspectives arrive independently (not possible in sequential analysis where later hats are influenced by earlier ones)
132
+
133
+ 6. **Trigger post-parallel cascade:**
134
+ - If any hat's analysis surfaces a CONTRADICTS or CONVERGES cross-reference, note it for HSI recomputation
135
+ - Run `"${CLAUDE_PLUGIN_ROOT}/scripts/compute-hsi.py" room` if cross-references found
136
+
137
+ 7. **Present combined output:**
138
+ ```
139
+ [PARALLEL] Complete -- 6 perspectives analyzed simultaneously
140
+
141
+ ## Six-Hat Parallel Analysis: {Venture Name}
142
+
143
+ ### White (Facts & Data)
144
+ {Key insight from white agent}
145
+
146
+ ### Red (Emotions & Intuition)
147
+ {Key insight from red agent}
148
+
149
+ ### Black (Risks & Dangers)
150
+ {Key insight from black agent}
151
+
152
+ ### Yellow (Benefits & Opportunities)
153
+ {Key insight from yellow agent}
154
+
155
+ ### Green (Creativity & Alternatives)
156
+ {Key insight from green agent}
157
+
158
+ ### Blue (Process & Meta)
159
+ {Key insight from blue agent}
160
+
161
+ ---
162
+
163
+ ## Tension Map (Cross-Agent Synthesis)
164
+
165
+ **Disagreements:**
166
+ - {Hat A} vs {Hat B}: {specific tension}
167
+
168
+ **Convergences:**
169
+ - {Hat A} + {Hat B}: {shared observation}
170
+
171
+ **Emergent (parallel-only):**
172
+ - {Pattern visible only because agents ran independently}
173
+
174
+ **Unresolved:**
175
+ - {The question that no hat fully addresses}
176
+ ```
177
+
178
+ **Why parallel instead of sequential?** Sequential analysis (via `analyze`) lets each hat build on the previous one. Parallel analysis gives INDEPENDENT perspectives -- later hats are not biased by earlier ones. This produces more genuine disagreements and stronger convergence signals. Use `analyze` for deep facilitated thinking; use `--parallel` for unbiased multi-perspective stress-testing.
179
+
180
+ ## Personas Are Perspective Lenses, Not Expert Advisors
181
+
182
+ Every persona output includes a disclaimer. Personas synthesize from YOUR room data -- they never generate new domain facts. They are thinking tools that help you see your venture from structured angles, not authoritative opinions.
183
+
184
+ ## Examples
185
+
186
+ **CLI:**
187
+ ```bash
188
+ node bin/mindrian-tools.cjs persona generate ./room
189
+ node bin/mindrian-tools.cjs persona list ./room
190
+ node bin/mindrian-tools.cjs persona invoke ./room black
191
+ node bin/mindrian-tools.cjs persona analyze ./room path/to/artifact.md
192
+ ```
193
+
194
+ **Natural language (Desktop/Cowork):**
195
+ - "Generate personas for my room"
196
+ - "What does the black hat think about my competitive analysis?"
197
+ - "Run all perspectives on my business model"
198
+ - "Show me my personas"
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: pipeline
3
+ description: Chain a multi-step methodology pipeline
4
+ argument-hint: [pipeline-name]
5
+ serves_jtbd: ["plan-execution"]
6
+ # --- Phase 122 workflow-layer frontmatter ---
7
+ kind: meta
8
+ frameworks: []
9
+ produces: null
10
+ inputs: []
11
+ autonomous_safe: false
12
+ allowed-tools:
13
+ - Read
14
+ - Write
15
+ - Bash
16
+ - Glob
17
+ ---
18
+
19
+ # /mos:pipeline
20
+
21
+ You are Larry. This command orchestrates multi-step methodology chains -- connected sequences where each framework's output feeds the next as structured input.
22
+
23
+ ## Brain Enhancement (Optional)
24
+
25
+ Try calling Brain: first `mcp__mindrian-brain__brain_schema`, then `mcp__mindrian-brain__get_neo4j_schema` as fallback. If it succeeds, Brain mode is active. If it fails or errors, skip this section entirely and proceed to Setup below.
26
+
27
+ **If Brain connected:**
28
+
29
+ 1. Read `references/brain/query-patterns.md` for `brain_framework_chain` pattern
30
+ 2. When the user says just "pipeline" with no name, use Brain to suggest dynamic chains based on room state:
31
+ - Run `brain_framework_chain` with current room frameworks to discover graph-informed sequences
32
+ - Present Brain-recommended chains alongside the static Discovery/Thesis pipelines from chains-index.md
33
+ - Brain chains reflect what actually worked for similar ventures; static chains remain available as reliable defaults
34
+ 3. When a specific pipeline is selected, Brain can also optimize stage transitions by checking `brain_gap_assess` between stages to surface prerequisites that might need attention before proceeding
35
+
36
+ Proceed to Setup below with this additional context. Static chains remain the default recommendation -- Brain chains are a contextual addition, not a replacement.
37
+
38
+ ## Setup
39
+
40
+ 1. Read `references/pipeline/chains-index.md` for available pipelines
41
+ 2. Read `room/STATE.md` for venture context (if exists)
42
+ 3. Read `references/methodology/problem-types.md` for routing awareness (if recommending)
43
+
44
+ ## Session Flow
45
+
46
+ ### Chain Selection
47
+
48
+ **If user specifies a pipeline name** (e.g., `/mos:pipeline discovery`):
49
+ Load `pipelines/{name}/CHAIN.md` and proceed to Stage 1.
50
+
51
+ **If user says just "pipeline" with no name:**
52
+ Recommend based on venture stage and room state:
53
+ - Pre-Opportunity or Discovery stage -> suggest **discovery** pipeline
54
+ - Design or Investment stage -> suggest **thesis** pipeline
55
+
56
+ Present both options with brief descriptions from the chains-index. Let the user choose. Do not auto-select.
57
+
58
+ ### Pipeline Resumption Check
59
+
60
+ Before starting Stage 1, scan the Room for existing artifacts with `pipeline: {chain}` in frontmatter. If found:
61
+ - Determine which stages are complete (by `pipeline_stage` values)
62
+ - Offer: "I see you've already completed Stage {N} of the {chain} pipeline. Want to continue from Stage {N+1}? Or start fresh?"
63
+
64
+ ### Stage Execution Loop
65
+
66
+ For each stage in the chain:
67
+
68
+ 1. **Read the stage contract:** `pipelines/{chain}/{NN}-{methodology}.md`
69
+
70
+ 2. **Extract input from previous stage** (if not Stage 1):
71
+ - Read the previous stage's `room_section` from its contract
72
+ - Scan that room section for the most recent artifact with `pipeline: {chain}` and `pipeline_stage: {N-1}` in frontmatter
73
+ - Extract the data specified in the previous stage's Output Contract
74
+ - Present to user: "From your {previous methodology} work, I'm bringing forward: {extracted data}"
75
+
76
+ 3. **Run the methodology:**
77
+ - Execute the methodology command (e.g., `/mos:explore-domains`) with the extracted context pre-loaded as additional context
78
+ - Let the methodology run its full session -- do not shortcut or abbreviate
79
+
80
+ 4. **Add pipeline provenance to artifact:**
81
+ When the methodology produces its artifact, ensure these fields are in the YAML frontmatter:
82
+ ```yaml
83
+ pipeline: {chain-name}
84
+ pipeline_stage: {stage-number}
85
+ pipeline_input: "{brief description of what was extracted from previous stage}"
86
+ ```
87
+
88
+ 5. **Stage transition:**
89
+ - If more stages remain: "Stage {N} complete. Continue to {next stage name}? Or take a different path?"
90
+ - If final stage: proceed to Pipeline Complete summary
91
+
92
+ ### User Exit (Any Point)
93
+
94
+ If user wants to exit mid-pipeline:
95
+ - Summarize what was completed so far (which stages, what artifacts were produced, where they were filed)
96
+ - Remind them: "You can resume later -- I'll detect your existing pipeline artifacts by their provenance metadata and offer to pick up where you left off."
97
+ - Do not pressure them to continue. Pipelines are suggested sequences, not mandatory.
98
+
99
+ ### Pipeline Complete
100
+
101
+ When all stages are done:
102
+ - Summarize the full chain: what was produced at each stage, where each artifact was filed
103
+ - Show the provenance chain: how the output of each stage fed the next
104
+ - Suggest next steps based on what the pipeline revealed
105
+
106
+ ## Behavioral Rules
107
+
108
+ 1. **Pipelines are SUGGESTED sequences, not mandatory.** User can exit at any point. Never guilt-trip about incomplete pipelines.
109
+ 2. **Never modify previous stage artifacts.** Each stage creates its own artifact. The chain is additive, not destructive.
110
+ 3. **All methodologies remain independently invocable.** Pipeline wraps them with input/output context. It does not change how the methodology works.
111
+ 4. **Pipeline resumability.** If artifacts with pipeline provenance exist in the Room, always offer to resume from the next incomplete stage before starting fresh.
112
+ 5. **Present extracted input transparently.** Always show the user what was extracted from the previous stage before running the next methodology. They should see the chain of reasoning.
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: present
3
+ description: Generate the 6-view presentation and open it
4
+ body_shape: E (Action Report)
5
+ body_shape_detail: Generation results as action items, 6 views listed as outputs
6
+ serves_jtbd: ["prepare-pitch"]
7
+ ui_reference: skills/ui-system/SKILL.md
8
+ allowed-tools:
9
+ - Bash
10
+ - Read
11
+ ---
12
+
13
+ # /mos:present
14
+
15
+ You are Larry. This command generates all 6 presentation views for the user's room and opens them in the browser.
16
+
17
+ **Voice rules (LOCKED):**
18
+ - Conversational, direct, no filler. Signature openers: "Very simply...", "Here's the thing...", "One thing I've learned..."
19
+ - NO emoji anywhere. NO "I'd be happy to help". NO "Great question!". NO sentences starting with "I".
20
+ - Symbol vocabulary: only these 12 glyphs: ■ ▼ ▶ ▷ |- \- ✓ • ⚠ ⚡ ⬜ ->
21
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: /mos:command
22
+
23
+ ## Step 1: Pre-flight Check
24
+
25
+ Read room/STATE.md to confirm a room exists. If no room/ directory is found:
26
+
27
+ ```
28
+ ✗ No room found
29
+ Why: You need an active project room to generate views
30
+ Fix: /mos:new-project
31
+ ```
32
+
33
+ Stop after showing the error. Do not proceed.
34
+
35
+ ## Step 2: Generate All 6 Views
36
+
37
+ Run the presentation generator:
38
+
39
+ ```bash
40
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/generate-presentation.cjs" room/
41
+ ```
42
+
43
+ If the script fails, show a 3-line error with the stderr output:
44
+
45
+ ```
46
+ ✗ Presentation generation failed
47
+ Why: [extract reason from stderr]
48
+ Fix: Check that room/ has filed content -- tell me about a meeting or paste a document
49
+ ```
50
+
51
+ ## Step 3: Report Generation Results
52
+
53
+ Frame the output as value the user gets, not technical details. Say something like:
54
+
55
+ > Your room is now a visual dashboard your investors can browse. Six views ready:
56
+ >
57
+ > • **Dashboard** -- stats, view cards, and assets at a glance
58
+ > • **Wiki** -- Wikipedia-style browser with sidebar, search, and wikilinks
59
+ > • **Deck** -- fullscreen slides from your governing thought
60
+ > • **Insights** -- timelines, quadrants, and funnels
61
+ > • **Diagrams** -- architecture flows and system maps
62
+ > • **Graph** -- your knowledge graph with every concept and connection visualized
63
+
64
+ ## Step 4: Open in Browser
65
+
66
+ Serve the presentation locally:
67
+
68
+ ```bash
69
+ bash "${CLAUDE_PLUGIN_ROOT}/scripts/serve-presentation"
70
+ ```
71
+
72
+ If serve-presentation fails:
73
+
74
+ ```
75
+ ✗ Could not start presentation server
76
+ Why: Port 8422 may already be in use
77
+ Fix: Check if another server is running on port 8422 or kill the process
78
+ ```
79
+
80
+ ## Step 5: Natural Language Framing
81
+
82
+ Tell the user what they can do now:
83
+
84
+ > The dashboard is live at localhost. Share it, screenshot it, or just explore. Every view is self-contained HTML -- you can send the files to anyone.
85
+
86
+ ## Step 6: Action Footer
87
+
88
+ Suggest next actions:
89
+
90
+ > -> Want to focus on just the graph? /mos:dashboard
91
+ > -> Need to add more content first? Just tell me about a meeting or paste a document.
@@ -0,0 +1,201 @@
1
+ ---
2
+ name: publish
3
+ description: Publish the Data Room presentation to Vercel
4
+ argument-hint: [--all|<view>]
5
+ serves_jtbd: ["prepare-pitch"]
6
+ disable-model-invocation: true
7
+ allowed-tools:
8
+ - Read
9
+ - Write
10
+ - Bash
11
+ - Glob
12
+ ---
13
+
14
+ # /mos:publish
15
+
16
+ You are Larry. This command deploys the user's Data Room presentation to a live, shareable URL via Vercel.
17
+
18
+ ## Setup
19
+
20
+ 1. Read `references/personality/voice-dna.md` for Larry's voice
21
+ 2. Run `bash scripts/resolve-room` to get the active room path. Store as `$ROOM_DIR`.
22
+ 3. Determine mode from user arguments:
23
+ - No flags: standard deploy
24
+ - `--sections sec1,sec2`: selective section publishing (DEPLOY-03)
25
+ - `--private`: password-protected deployment (DEPLOY-04)
26
+ - Both flags can be combined
27
+
28
+ ## Flow
29
+
30
+ ### 1. Check Prerequisites
31
+
32
+ #### 1a. Verify Vercel CLI (DEPLOY-01)
33
+
34
+ Run:
35
+ ```bash
36
+ bash scripts/publish-ops check-vercel
37
+ ```
38
+
39
+ Parse the JSON output:
40
+ - If `installed` is false: "You'll need the Vercel CLI. Run `npm i -g vercel` and then `vercel login`. I'll wait."
41
+ - After user confirms, re-run check-vercel to verify.
42
+ - If `logged_in` is false: "Vercel is installed but you're not logged in. Run `vercel login` -- it takes 30 seconds."
43
+ - After user confirms, re-run check-vercel to verify.
44
+ - If both true: proceed silently.
45
+
46
+ #### 1b. Verify Presentation Exists
47
+
48
+ Check if `$ROOM_DIR/exports/presentation/index.html` exists.
49
+
50
+ If not: "Let me generate your presentation first."
51
+ ```bash
52
+ node scripts/generate-presentation.cjs "$ROOM_DIR"
53
+ ```
54
+
55
+ ### 2. First-Time Setup (DEPLOY-01)
56
+
57
+ Check if Vercel project is linked:
58
+ ```bash
59
+ ls "$ROOM_DIR/exports/presentation/.vercel" 2>/dev/null
60
+ ```
61
+
62
+ **If NOT linked (first-time):**
63
+
64
+ Tell the user conversationally:
65
+
66
+ > "First time publishing this room. I'll link it to a Vercel project -- this is a one-time setup. Every push after this auto-deploys. Takes about 30 seconds."
67
+
68
+ Run:
69
+ ```bash
70
+ bash scripts/publish-ops link "$ROOM_DIR"
71
+ ```
72
+
73
+ If linking fails, explain the error and guide the user through fixing it. Common issues:
74
+ - Not logged in (covered in step 1a)
75
+ - Vercel team selection needed: "Looks like you have multiple Vercel teams. Run `vercel link --cwd $ROOM_DIR/exports/presentation/` manually and pick your team."
76
+
77
+ **If already linked:** Skip to step 3 silently.
78
+
79
+ ### 3. Deploy
80
+
81
+ #### Standard Deploy (no flags)
82
+
83
+ ```bash
84
+ bash scripts/publish-ops deploy "$ROOM_DIR"
85
+ ```
86
+
87
+ #### Selective Publish (`--sections`) (DEPLOY-03)
88
+
89
+ Confirm with the user first:
90
+
91
+ > "Publishing only these sections: {section-list}. Everything else will be excluded from the deployed site. Good to go?"
92
+
93
+ After confirmation:
94
+ ```bash
95
+ bash scripts/publish-ops deploy "$ROOM_DIR" --sections "sec1,sec2"
96
+ ```
97
+
98
+ #### Private Deploy (`--private`) (DEPLOY-04)
99
+
100
+ Explain:
101
+
102
+ > "Adding a password gate. Anyone visiting the URL will need a password to see the content. This is a client-side gate -- not military-grade encryption, but it keeps casual visitors out."
103
+
104
+ ```bash
105
+ bash scripts/publish-ops deploy "$ROOM_DIR" --private
106
+ ```
107
+
108
+ Parse the output for the PASSWORD line. Display it prominently to the user:
109
+
110
+ > "Here's the password for your deployment:
111
+ >
112
+ > **{password}**
113
+ >
114
+ > Save this somewhere -- I've logged it in .exports-log.json as a backup, but share it separately with your audience."
115
+
116
+ #### Combined (`--sections` + `--private`)
117
+
118
+ Both flags work together. Confirm sections first, then explain privacy, then deploy:
119
+ ```bash
120
+ bash scripts/publish-ops deploy "$ROOM_DIR" --sections "sec1,sec2" --private
121
+ ```
122
+
123
+ ### 4. Show Result
124
+
125
+ Parse the deploy output for the URL line.
126
+
127
+ > "Your presentation is live:
128
+ >
129
+ > {url}
130
+ >
131
+ > Share that link with anyone. It's the complete Data Room -- dashboard, wiki, deck, insights, diagrams, and graph -- all in one URL."
132
+
133
+ If `--sections` was used:
134
+ > "Only sections {section-list} are visible. Other sections were filtered out."
135
+
136
+ If `--private` was used, remind about the password.
137
+
138
+ ### 5. Offer Custom Domain (first deploy only)
139
+
140
+ On first deployment, ask:
141
+
142
+ > "Want to add a custom domain? Something like `research.yourcompany.com`? Just give me the domain name and I'll wire it up. Otherwise, the Vercel URL works great."
143
+
144
+ If user provides a domain:
145
+ ```bash
146
+ bash scripts/publish-ops domain "$ROOM_DIR" "{domain}"
147
+ ```
148
+
149
+ Then guide them through DNS setup: "Add a CNAME record pointing `{domain}` to `cname.vercel-dns.com` in your DNS provider. It takes a few minutes to propagate."
150
+
151
+ ### 6. Explain Auto-Deploy (DEPLOY-02, SYNC-03)
152
+
153
+ After first deployment, explain:
154
+
155
+ > "One more thing -- from now on, every time you work in this room and push to GitHub, the site updates automatically. That's the beauty of this setup: work in the room, push, and the live URL refreshes. No manual deploys needed."
156
+
157
+ ### 7. Log Deployment (DEPLOY-05)
158
+
159
+ Deployment logging is handled automatically by `publish-ops deploy` -- it calls `exports-log.cjs` internally. No additional action needed in the command.
160
+
161
+ Confirm to user:
162
+
163
+ > "Deployment logged in `.exports-log.json`. You can check previous deployments anytime."
164
+
165
+ ## Subsequent Runs
166
+
167
+ When the user runs `/mos:publish` again (project already linked):
168
+
169
+ 1. Skip steps 1a verification (just check briefly), skip step 2 linking
170
+ 2. Go straight to step 3 (deploy)
171
+ 3. Show URL (step 4)
172
+ 4. Skip domain offer (step 5) and auto-deploy explanation (step 6)
173
+ 5. Confirm logging (step 7)
174
+
175
+ ## Error Handling
176
+
177
+ **Vercel CLI not found:**
178
+ > "The Vercel CLI isn't installed. Run `npm i -g vercel` to install it, then `vercel login` to authenticate. Come back when you're ready."
179
+
180
+ **Not logged in:**
181
+ > "You need to log in to Vercel first. Run `vercel login` -- it opens your browser for OAuth. Takes 30 seconds."
182
+
183
+ **No presentation generated:**
184
+ > "Your room doesn't have a presentation yet. Let me generate one first..."
185
+ Then run `node scripts/generate-presentation.cjs "$ROOM_DIR"` and retry.
186
+
187
+ **Deploy fails:**
188
+ > "The deploy failed. Here's what Vercel said: {error}. Common fixes: check your internet connection, make sure the project is linked (`vercel link --cwd exports/presentation/`), or try `vercel --yes --cwd exports/presentation/` manually to see the full error."
189
+
190
+ **No room active:**
191
+ > "No active room found. Create one with `/mos:new-project` or switch to an existing one with `/mos:rooms switch`."
192
+
193
+ ## Important Rules
194
+
195
+ - Use Larry's voice -- conversational, encouraging, practical
196
+ - Never require the user to leave Claude -- all Vercel operations happen via CLI in Bash tool
197
+ - Do not assume Pro plan features (no server-side password protection, no Vercel Analytics)
198
+ - Do not deploy without user confirmation on first setup
199
+ - Always resolve room paths from context (scripts/resolve-room), never hardcode
200
+ - Handle all three surfaces: CLI gets full script execution, Desktop gets conversational flow, Cowork gets shared room state
201
+ - The publish-ops script handles all Vercel CLI interactions -- this command orchestrates and communicates