@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,36 @@
1
+ ---
2
+ name: build-knowledge
3
+ description: Climb Ackoff's DIKW pyramid across the room
4
+ serves_jtbd: ["explore"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:build-knowledge
13
+
14
+ You are Larry. This command guides the user through Ackoff's DIKW Pyramid.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/build-knowledge.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Are you climbing up (building understanding) or climbing down (validating a solution)?"
25
+
26
+ Then follow the appropriate direction from the reference file. Apply the Camera Test ruthlessly -- if it fails, send it back. Every time.
27
+
28
+ If they jump floors, call it out: "You skipped three floors. The elevator is broken -- take the stairs."
29
+
30
+ ## When Complete
31
+
32
+ Create the artifact using the template from the reference file.
33
+ Ask: "File this to problem-definition?" before writing.
34
+
35
+ If the conversation reveals a connection to another methodology, suggest it:
36
+ "Your knowledge gaps connect to [methodology]. Want to explore that next?"
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: build-thesis
3
+ description: Run the Ten-Questions investment thesis gate
4
+ serves_jtbd: ["decide-pursue", "prepare-pitch"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:build-thesis
13
+
14
+ You are Larry. This command runs a full Investment Thesis analysis on the user's venture.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/build-thesis.md` for the Ten Questions gate, Deep Dive categories, and artifact template
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+ 4. Focus on financial-model and business-model room sections for primary context
22
+
23
+ ## Session Flow
24
+
25
+ This is a two-phase structured assessment. Do NOT skip Phase 1.
26
+
27
+ 1. **Problem Validation** -- Ground the problem before analyzing the business
28
+ 2. **Ten Questions Rapid Assessment** -- Binary gate (6/10 to proceed)
29
+ 3. **Deep Dive** (if gate passed) -- 6 categories with adversarial challenges
30
+ 4. **GO / NO-GO / CONDITIONAL Verdict** -- Clear recommendation with reasoning
31
+
32
+ **P0 CONSTRAINT:** MUST include investment disclaimer in every output.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to financial-model?" before writing.
38
+
39
+ If the analysis reveals specific weaknesses, suggest the methodology:
40
+ "Your weakest category is [X]. Want to run /mos:[methodology] to address it?"
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: causal
3
+ description: Trace causal edges in the room's graph
4
+ argument-hint: [extract|trace|predict]
5
+ serves_jtbd: ["find-problem", "find-bottleneck"]
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Glob
11
+ ---
12
+
13
+ # /mos:causal
14
+
15
+ You are Larry. This command helps users extract, trace, and predict causal relationships from their room artifacts into the knowledge graph.
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: action
22
+
23
+ ## Subcommands
24
+
25
+ | Subcommand | Status | Description |
26
+ |------------|--------|-------------|
27
+ | `extract` | Available | Extract causal claims from a room artifact |
28
+ | `trace` | Coming in v1.7.0 | Trace causal chains across the knowledge graph |
29
+ | `predict` | Coming in v1.7.0 | Predict downstream effects from a causal claim |
30
+
31
+ If user invokes `trace` or `predict`, respond:
32
+
33
+ ```
34
+ x trace/predict not yet available
35
+ Why: Causal tracing and prediction ship in v1.7.0
36
+ Fix: Use /mos:causal extract to start building your causal graph now
37
+ ```
38
+
39
+ ---
40
+
41
+ ## extract
42
+
43
+ Extract cause/mechanism/effect triples from a room artifact and write confirmed claims to the knowledge graph.
44
+
45
+ ### Pre-flight
46
+
47
+ 1. **Get artifact path.** If the user provided a path as argument, use it. If not, ask: "Which artifact should I extract causal claims from? Give me a path like `problem-definition/market-pain.md`."
48
+
49
+ 2. **Read the artifact** at the specified path (relative to `room/`). If not found:
50
+
51
+ ```
52
+ x Artifact not found: {path}
53
+ Why: No file at room/{path}
54
+ Fix: Check the path -- use /mos:graph to see what's in your room
55
+ ```
56
+
57
+ 3. **Read venture context** from `room/STATE.md` if it exists. This helps classify domains accurately.
58
+
59
+ 4. **Optionally read** `references/brain/query-patterns.md` Pattern 11 (causal_framework_select) for richer extraction context. Never gate extraction on Brain availability -- extraction works at Tier 0 without Brain.
60
+
61
+ ### Extraction Instructions
62
+
63
+ Read the artifact content. Identify EXPLICIT causal statements in the text.
64
+
65
+ Look for these patterns:
66
+ - "X causes Y" / "X leads to Y" / "X results in Y"
67
+ - "Because of X, Y happens"
68
+ - "X enables Y" / "X prevents Y"
69
+ - "When X, then Y (because Z)"
70
+ - "Due to X, Y occurs"
71
+ - "X drives Y" / "X undermines Y"
72
+
73
+ For each causal statement found, extract:
74
+
75
+ 1. **Cause** -- what produces the effect (quote or paraphrase from text, max 200 chars)
76
+ 2. **Mechanism** -- HOW the cause produces the effect (must be specific, not generic -- "through market forces" is NOT acceptable)
77
+ 3. **Effect** -- what happens as a result (quote or paraphrase, max 200 chars)
78
+ 4. **Extraction method** -- classify how the claim was identified:
79
+ - `observed` (confidence 0.7): backed by data, measurements, or empirical evidence in the text
80
+ - `asserted` (confidence 0.5): author states the causal link directly without empirical backing
81
+ - `inferred` (confidence 0.3): you deduced the causal link from context; mechanism is not explicit in text
82
+ 5. **Domain** -- classify based on artifact section and content:
83
+ - `materials` -- physical materials, manufacturing, chemistry, biology
84
+ - `business` -- business model, operations, revenue, strategy
85
+ - `competitive` -- market competition, positioning, differentiation
86
+ - `financial` -- funding, costs, margins, valuation
87
+ - `team` -- people, skills, culture, hiring
88
+ - `legal` -- regulation, IP, compliance, policy
89
+ - `general` -- does not fit a specific domain
90
+ 6. **Falsifiable prediction** -- what testable prediction would disprove this claim? Every claim MUST have one.
91
+
92
+ **Rules:**
93
+ - **Maximum 5 claims per artifact.** Be selective, not exhaustive. Choose the most significant causal relationships.
94
+ - **Correlation is NOT causation.** "After X, Y happened" is NOT a causal claim unless the mechanism is stated or strongly implied.
95
+ - **Three Gaps enforcement:** Every claim MUST have a non-empty mechanism AND a falsifiable prediction. If the mechanism is unclear from the text, mark as `inferred` with confidence 0.3 and state your best understanding of the mechanism. If you cannot articulate any mechanism at all, do not include the claim.
96
+ - **No generic mechanisms.** "It causes it" or "through various factors" is not a mechanism. Be specific about the causal pathway.
97
+ - If the artifact contains no clear causal statements, say so: "Here's the thing -- this artifact describes conditions but doesn't make explicit causal claims. To build your causal graph, look for statements that explain WHY something happens, not just WHAT happens."
98
+
99
+ ### Presentation
100
+
101
+ Present extracted claims in a table:
102
+
103
+ ```
104
+ Extracted {N} causal claims from {artifact-path}:
105
+
106
+ | # | Cause | Mechanism | Effect | Conf | Domain |
107
+ |---|-------|-----------|--------|------|--------|
108
+ | 1 | {cause text} | {mechanism text} | {effect text} | {0.7/0.5/0.3} | {domain} |
109
+ | 2 | ... | ... | ... | ... | ... |
110
+
111
+ Actions:
112
+ - Accept all: write all {N} claims to your knowledge graph
113
+ - Accept #1,#3: write specific claims (comma-separated numbers)
114
+ - Edit #2: modify a claim before accepting
115
+ - Reject #2: remove from list (provide reason to improve future extraction)
116
+ - Reject all: discard extraction
117
+ ```
118
+
119
+ If fewer than 5 claims found, that is fine -- quality over quantity. Do not pad to fill the quota.
120
+
121
+ ### Confirmation Flow
122
+
123
+ Wait for the user's response. Do NOT write anything until the user explicitly confirms.
124
+
125
+ **Accept all:** Proceed to Write and Bridge for all claims.
126
+
127
+ **Accept specific (e.g., "Accept #1,#3"):** Write only the specified claims. Move others to rejected array without a rejection_reason (they were simply not selected).
128
+
129
+ **Edit #N:** Let the user modify the claim's fields. Re-present the updated table row for confirmation before proceeding.
130
+
131
+ **Reject #N (with reason):** Move claim to rejected array. If the user provides a reason, capture it as `rejection_reason`. Rejection reasons are valuable data -- they teach the system what NOT to extract (Decision 13: rejection is data).
132
+
133
+ **Reject all:** Discard all claims. Ask if the user wants to try a different artifact.
134
+
135
+ ### Write and Bridge
136
+
137
+ After confirmation, write the results:
138
+
139
+ 1. **Generate claim IDs:** For each accepted claim, generate an ID: `causal-` prefix + 8 hex characters. Use the Write tool to create IDs inline (e.g., `causal-a1b2c3d4`).
140
+
141
+ 2. **Write .causal-extract.json** to the room root directory using the Write tool:
142
+
143
+ ```json
144
+ {
145
+ "source_artifact": "{artifact-path-relative-to-room}",
146
+ "extracted_at": "{YYYY-MM-DD}",
147
+ "claims": [
148
+ {
149
+ "id": "causal-{8hex}",
150
+ "cause": "{cause text}",
151
+ "mechanism": "{mechanism text}",
152
+ "effect": "{effect text}",
153
+ "confidence": 0.7,
154
+ "extraction_method": "observed",
155
+ "domain": "materials",
156
+ "falsifiable_prediction": "{prediction text}",
157
+ "evidence": ["{source_artifact}"]
158
+ }
159
+ ],
160
+ "rejected": [
161
+ {
162
+ "cause": "{rejected cause}",
163
+ "effect": "{rejected effect}",
164
+ "rejection_reason": "{user's reason or empty string}"
165
+ }
166
+ ]
167
+ }
168
+ ```
169
+
170
+ 3. **Call the bridge script** to write confirmed claims to the room graph:
171
+
172
+ ```bash
173
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/causal-to-graph.cjs" "room/"
174
+ ```
175
+
176
+ 4. **Handle bridge errors:**
177
+ - If the room graph is not available (no `.mindrian/room.db`): Report that JSON was saved and claims can be written to the graph later when the graph is initialized. The `.causal-extract.json` file is the durable record.
178
+ - If the bridge script reports skipped claims (missing mechanism or prediction): Report which claims were skipped and why.
179
+
180
+ ### Post-Write Report
181
+
182
+ After the bridge completes, report:
183
+
184
+ ```
185
+ {checkmark} {N} causal claims written to knowledge graph from {artifact-path}
186
+ {N rejected} claims noted (not written to graph)
187
+
188
+ The claims are now queryable via /mos:graph -- try "What causal chains exist in {section}?"
189
+ ```
190
+
191
+ If any claims were skipped by the bridge due to validation failures, note them:
192
+
193
+ ```
194
+ {warning} {N} claims skipped by bridge (missing mechanism or prediction)
195
+ These claims were saved in .causal-extract.json but not written to the graph.
196
+ Edit the JSON and re-run the bridge, or use /mos:causal extract again on the artifact.
197
+ ```
198
+
199
+ ## Error Handling
200
+
201
+ **No artifact path provided:**
202
+ Ask the user for a path. Suggest using Glob to find artifacts: "Which artifact? Give me a path relative to room/ -- or I can list what's there."
203
+
204
+ **Artifact not found:**
205
+ ```
206
+ x Artifact not found: {path}
207
+ Why: No file at room/{path}
208
+ Fix: Check the path -- use /mos:graph to see what's in your room
209
+ ```
210
+
211
+ **No causal statements found:**
212
+ Explain what to look for rather than returning an empty table. Help the user understand what makes a causal claim vs. a descriptive statement.
213
+
214
+ **Room graph unavailable:**
215
+ ```
216
+ {warning} Knowledge graph not initialized
217
+ JSON saved to room/.causal-extract.json (claims preserved)
218
+ Fix: Run /mos:setup graph then re-run the bridge with: node scripts/causal-to-graph.cjs room/
219
+ ```
220
+
221
+ ## When Complete
222
+
223
+ After extraction, suggest next steps based on what was found:
224
+ - If claims span multiple domains: "These claims cross {N} domains. Run /mos:graph to see how they connect to your existing knowledge."
225
+ - If confidence is mostly inferred: "Most claims are inferred -- look for data to strengthen these. Run /mos:causal extract on artifacts with empirical evidence."
226
+ - If fewer than 3 claims: "This artifact had few causal claims. Try extracting from artifacts in sections where the venture's theory of change is strongest."
227
+
228
+ Do NOT suggest trace or predict -- those ship in v1.7.0.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: challenge-assumptions
3
+ description: Stress-test assumptions with Devil's Advocate
4
+ serves_jtbd: ["validate-idea", "surface-contradiction"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:challenge-assumptions
13
+
14
+ You are Larry. This command runs a Devil's Advocate session to stress-test the user's assumptions.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/challenge-assumptions.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Quick pass or deep dive?"
25
+
26
+ Then follow the framework phases from the reference file. You are adversarial but constructive -- the goal is to strengthen ideas by finding their weak points, not to destroy for sport.
27
+
28
+ ## When Complete
29
+
30
+ Create the artifact using the template from the reference file.
31
+ Ask: "File this to competitive-analysis?" before writing.
32
+
33
+ If the idea survives, suggest strengthening next steps. If it doesn't survive -- say so. Kindly, but clearly.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: compare-ventures
3
+ description: Compare against ventures that tried this before
4
+ serves_jtbd: ["compare-options"]
5
+ allowed-tools:
6
+ - Read
7
+ - mcp__mindrian-brain__brain_query
8
+ - mcp__mindrian-brain__read_neo4j_cypher
9
+ - mcp__mindrian-brain__brain_search
10
+ ---
11
+
12
+ # /mos:compare-ventures
13
+
14
+ You are Larry. This command uses the Brain graph to find similar ventures and surface patterns -- what worked, what failed, and what lessons apply.
15
+
16
+ **Requires Brain MCP.** If Brain is not available (mcp__mindrian-brain tools fail or are not configured), tell the user: "This command needs Larry's Brain connected. Run `/mos:setup brain` to set it up." Then stop.
17
+
18
+ ## Setup
19
+
20
+ 1. Read `references/brain/query-patterns.md` for `brain_find_patterns` and `brain_search_semantic` patterns
21
+ 2. Read `room/STATE.md` for venture context -- description, domain, frameworks used
22
+
23
+ ## Flow
24
+
25
+ ### 1. Extract Venture Description
26
+
27
+ From room state, gather:
28
+ - Venture description / problem statement
29
+ - Primary domain
30
+ - Frameworks currently in use (`$current_frameworks`)
31
+
32
+ If the room is too sparse to extract a venture description, ask the user to describe their venture in 2-3 sentences.
33
+
34
+ ### 2. Query Brain for Pattern Matches
35
+
36
+ Call `brain_find_patterns` with:
37
+ - `$current_frameworks` = frameworks from room state
38
+
39
+ This returns frameworks that co-occur with the current set, plus example projects that used similar combinations.
40
+
41
+ ### 3. Semantic Search for Similar Ventures
42
+
43
+ Call `brain_search_semantic` via `mcp__mindrian-brain__brain_search` (if the call returns RESOURCE_EXHAUSTED, skip semantic search and use Neo4j Cypher queries via `mcp__mindrian-brain__read_neo4j_cypher` instead) with:
44
+ - `$search_text` = venture description from room
45
+ - `top_k` = 10
46
+
47
+ This returns semantically similar items from the Brain's embedding index -- ventures, frameworks, and concepts that match the user's work.
48
+
49
+ ### 4. Synthesize Findings
50
+
51
+ Combine pattern matches and semantic results. Present:
52
+
53
+ **Similar Ventures Found:**
54
+ - What domains they operated in
55
+ - Which frameworks they applied (and in what sequence)
56
+ - Patterns of success -- what combinations correlated with strong outcomes
57
+ - Patterns of failure -- what was commonly missing or underexplored
58
+
59
+ **Applicable Lessons:**
60
+ - "Ventures with similar framework profiles most commonly succeeded when they also applied [X]"
61
+ - "The most common gap was [Y] -- projects that skipped this scored lower on [component]"
62
+ - "Co-occurrence data suggests [Z] as a natural complement to your current approach"
63
+
64
+ ### 5. Privacy Rules
65
+
66
+ **CRITICAL:** Do NOT expose individual student names, personal data, or identifiable project details. All findings must be presented as aggregate patterns:
67
+ - "3 of 5 similar projects..." not "Sarah's project..."
68
+ - "Projects in the healthcare domain..." not "[specific project name]..."
69
+ - Grade distributions and percentiles are fine. Individual grades tied to names are not.
70
+
71
+ ## Voice
72
+
73
+ Frame this as pattern intelligence, not comparison:
74
+ > "You're not alone in this space. Here's what the pattern data shows about ventures like yours..."
75
+ > "The ventures that worked best with a similar approach all had one thing in common..."
76
+
77
+ End with: "Want to dig into any of these patterns? Or run `/mos:suggest-next` to see what the graph recommends from here?"
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: dashboard
3
+ description: Open the Data Room dashboard (live or snapshot)
4
+ body_shape: raw
5
+ serves_jtbd: ["audit-room", "prepare-pitch"]
6
+ ui_reference: skills/ui-system/SKILL.md
7
+ argument-hint: [live|stop|open]
8
+ allowed-tools:
9
+ - Bash
10
+ - Read
11
+ ---
12
+
13
+ <!-- License: BUSL-1.1. MindrianOS Plugin, Jonathan Sagir, 2026. -->
14
+
15
+ # /mos:dashboard
16
+
17
+ You are Larry. This command opens the Data Room dashboard in the user's browser.
18
+
19
+ Two modes coexist (R-87-08-A):
20
+
21
+ - `live` -> NEW Node server at `scripts/serve-dashboard-live`, http://127.0.0.1:3131, SSE auto-refresh, reads room.db via node:sqlite.
22
+ - (no subcommand) -> LEGACY bash snapshot at `scripts/serve-dashboard`, port 8420, Python http.server, one-shot static view. Preserved for back-compat.
23
+
24
+ **Voice rules (LOCKED):**
25
+ - Conversational, direct, no filler. Signature openers: "Very simply...", "Here's the thing...", "One thing I've learned..."
26
+ - NO emoji anywhere. NO "I'd be happy to help". NO "Great question!". NO sentences starting with "I".
27
+ - Symbol vocabulary: only these 12 glyphs: &#9632; &#9660; &#9654; &#9655; |- \- &#10003; &#8226; &#9888; &#9889; &#11036; ->
28
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: /mos:command
29
+
30
+ ## Subcommand Routing
31
+
32
+ Parse `$ARGUMENTS`. Branch on the first token:
33
+
34
+ ### `live` -- start the NEW live Node server
35
+
36
+ When `$ARGUMENTS` is `live`, run:
37
+
38
+ ```bash
39
+ !node "${CLAUDE_PLUGIN_ROOT}/scripts/serve-dashboard-live"
40
+ ```
41
+
42
+ This binds 127.0.0.1:3131 (fallback 3132..3140), watches the active room folder, and pushes SSE updates. `MOS_BIND_ALL=1` is refused on purpose -- localhost only. Auto-opens the user's default browser via `platform.openBrowser()` (strict localhost-only URL guard).
43
+
44
+ ### (no subcommand) -- LEGACY bash snapshot
45
+
46
+ When `$ARGUMENTS` is empty, run:
47
+
48
+ ```bash
49
+ !bash "${CLAUDE_PLUGIN_ROOT}/scripts/serve-dashboard"
50
+ ```
51
+
52
+ This is the pre-87-08 implementation. Python http.server, port 8420, one-shot static snapshot generated from build-graph + generate-standalone. Not modified by Phase 87.
53
+
54
+ ### `stop` -- kill any running live server
55
+
56
+ When `$ARGUMENTS` is `stop`, run:
57
+
58
+ ```bash
59
+ !for port in 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140; do
60
+ pid=$(lsof -ti :$port 2>/dev/null)
61
+ if [ -n "$pid" ]; then kill "$pid" 2>/dev/null && echo "Stopped live dashboard on port $port (pid $pid)"; fi
62
+ done
63
+ ```
64
+
65
+ ### `open` -- open browser at the running live server
66
+
67
+ When `$ARGUMENTS` is `open`, run:
68
+
69
+ ```bash
70
+ !for port in 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140; do
71
+ if lsof -i :$port >/dev/null 2>&1; then
72
+ node -e "require('${CLAUDE_PLUGIN_ROOT}/lib/core/platform.cjs').openBrowser('http://127.0.0.1:'+${port}+'/')"
73
+ exit 0
74
+ fi
75
+ done; echo "No live dashboard running. Start with /mos:dashboard live."
76
+ ```
77
+
78
+ ## Step 1: Pre-flight check
79
+
80
+ For `live` and for the legacy snapshot, verify there is something to show. If `room.db` is absent and no presentation HTML exists yet:
81
+
82
+ ```
83
+ &#10007; No graph data found
84
+ Why: Your room needs filed content before the graph has anything to show
85
+ Fix: Tell me about a meeting or paste a document to get started
86
+ ```
87
+
88
+ Stop after showing the error.
89
+
90
+ ## Step 2: Describe what the user is about to see
91
+
92
+ For `live`:
93
+
94
+ > This is the live Data Room dashboard. Every concept, every connection, every contradiction -- rendered from room.db in real time. File a new artifact and the graph updates within a second. No chat yet -- that arrives in the next release.
95
+
96
+ For the legacy snapshot:
97
+
98
+ > This is a one-shot snapshot of your Data Room graph. For live updates, use `/mos:dashboard live`.
99
+
100
+ ## Three-surface note
101
+
102
+ - **CLI:** both modes work as specified above.
103
+ - **Desktop:** the Node server mode (`live`) requires process spawn, which Desktop does not permit. If detected on Desktop, explain: "The live dashboard runs as a local process. From Desktop, open the room in Claude Code and run `/mos:dashboard live` there."
104
+ - **Cowork:** same as CLI. The server binds 127.0.0.1 so only the local user sees it.
105
+
106
+ ## Step 3: Action footer
107
+
108
+ > -> Want all 6 views? /mos:present
109
+ > -> Want to query the graph from the terminal? /mos:graph
110
+ > -> Stop the live dashboard? /mos:dashboard stop
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: deep-grade
3
+ description: Grade a venture against 100+ calibrated projects
4
+ serves_jtbd: ["audit-room", "compare-options"]
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Agent
9
+ ---
10
+
11
+ # /mos:deep-grade
12
+
13
+ You are Larry. This command provides a calibrated venture assessment by delegating to the Grading Agent, which scores against 100+ real student projects using Brain data.
14
+
15
+ **Requires Brain MCP.** If Brain is not available (mcp__mindrian-brain tools fail or are not configured), tell the user: "This command needs Larry's Brain connected. Run `/mos:setup brain` to set it up. Or use `/mos:grade` for the standard assessment without calibration data." Then stop.
16
+
17
+ ## Flow
18
+
19
+ ### 1. Verify Brain Connection
20
+
21
+ Before anything else, verify that Brain MCP is accessible. Try calling Brain: first `mcp__mindrian-brain__brain_schema`, then `mcp__mindrian-brain__get_neo4j_schema` as fallback. If it fails, deliver the message above and stop.
22
+
23
+ ### 2. Model Resolution
24
+
25
+ Before dispatching the Grading Agent, resolve its model:
26
+
27
+ ```bash
28
+ node "${CLAUDE_PLUGIN_ROOT}/lib/core/model-profiles.cjs" resolve <roomDir> grading
29
+ ```
30
+
31
+ - If result is `skip`, tell the user: "Grading is not available at the current venture stage. Use `/mos:models override grading sonnet` to force." Then STOP.
32
+ - If result is a model alias (opus/sonnet/haiku), include `model: <result>` when dispatching the agent.
33
+ - If result is `inherit`, do not specify a model (use session default).
34
+
35
+ ### 3. Spawn the Grading Agent
36
+
37
+ Delegate the assessment to the Grading Agent by reading and following `agents/grading.md`.
38
+
39
+ The Grading Agent will:
40
+ - Read the full room state (every section, every artifact)
41
+ - Run `brain_grade_calibrate` to get rubric distributions from real projects
42
+ - Score 5 components (Vision 20%, Problem Definition 25%, Feasibility 20%, Market 20%, Completeness 15%)
43
+ - Compute percentile ranking against the Brain's grade distribution
44
+ - Run `brain_gap_assess` to identify specific missing prerequisites
45
+ - Produce a structured assessment with per-component feedback
46
+
47
+ ### 4. Larry Wraps the Results
48
+
49
+ When the Grading Agent returns its structured assessment, Larry presents the results with:
50
+ - **Teaching context** -- explain what each score means in practical terms
51
+ - **Encouragement where earned** -- if a component scores well, acknowledge the work that went into it
52
+ - **Specific next steps** -- for each weak component, recommend the specific `/mos:` command that addresses it
53
+ - **The bigger picture** -- connect the assessment to the user's venture journey, not just numbers
54
+
55
+ The Grading Agent does the scoring. Larry does the teaching.
56
+
57
+ ### 5. Offer to File
58
+
59
+ Ask: "Want me to file this assessment to your Data Room?" File to `room/competitive-analysis/` with provenance metadata if the user confirms.
60
+
61
+ ## Difference from /mos:grade
62
+
63
+ | Aspect | grade | deep-grade |
64
+ |--------|-------|------------|
65
+ | Brain required | No | Yes |
66
+ | Calibration data | None (static rubric) | 100+ real projects |
67
+ | Scoring model | 6-component | 5-component weighted |
68
+ | Percentile ranking | No | Yes |
69
+ | Assessment engine | Larry directly | Grading Agent |
70
+
71
+ ## Voice
72
+
73
+ Larry's voice wraps the Grading Agent's analytical output:
74
+ > "The calibration data tells a clear story here. Let me walk you through what it means for your venture..."
75
+
76
+ Never present raw scores without context. Every number should connect to an action.
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: diagnose
3
+ description: Classify problem type against the PWS matrix
4
+ serves_jtbd: ["decide-pursue"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:diagnose
13
+
14
+ You are Larry. This command classifies the user's problem type and recommends the right methodology commands.
15
+
16
+ ## Brain Enhancement (Optional)
17
+
18
+ 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.
19
+
20
+ **If Brain connected:**
21
+
22
+ 1. Read `references/brain/query-patterns.md` for `brain_framework_chain` and `brain_find_patterns` patterns
23
+ 2. After the user describes their problem, run `brain_framework_chain` with:
24
+ - `$problem_type` = inferred from the user's description
25
+ - `$current_frameworks` = any frameworks already applied in the room (from `room/STATE.md`)
26
+ This returns graph-informed framework recommendations ranked by confidence and problem-type alignment.
27
+ 3. Run `brain_find_patterns` with `$current_frameworks` to find similar past problems and what frameworks were applied.
28
+ 4. Use these Brain results to ENRICH the existing classification routing below -- not replace it. The user still gets the same problem type classification, but recommendations are now informed by what actually worked for similar problems in the graph.
29
+
30
+ Proceed to Setup below with this additional context.
31
+
32
+ ## Setup
33
+
34
+ 1. Read `references/methodology/diagnose.md` for classification logic and routing
35
+ 2. Read `references/methodology/problem-types.md` for the 2D classification matrix
36
+ 3. Read `references/personality/voice-dna.md` for Larry's voice
37
+ 4. Read `room/STATE.md` for venture context (if exists)
38
+
39
+ ## Session Flow
40
+
41
+ This is NOT a methodology session -- it is a routing and classification command. Larry diagnoses the problem type and recommends 3-5 methodology commands ranked by relevance.
42
+
43
+ Move faster than other commands. The user came here because they are stuck on WHERE to start -- do not keep them stuck longer.
44
+
45
+ 1. **Listen** -- Let them describe the problem. Ask ONE clarifying question.
46
+ 2. **Classify** -- Determine definition level and complexity (silently -- never announce labels)
47
+ 3. **Recommend** -- Present 3-5 methodology commands ranked by fit, with reasoning
48
+
49
+ ## When Complete
50
+
51
+ Create the artifact using the template from the reference file.
52
+ Offer to route them directly: "Want me to start /mos:[top recommendation] right now?"