@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,78 @@
1
+ ---
2
+ description: Derive BRAIN.md for section(s) now
3
+ argument-hint: "[section] [--all] [--cross-room] [--dry-run]"
4
+ serves_jtbd: ["audit-room"]
5
+ disable-model-invocation: false
6
+ allowed-tools: Bash(node *)
7
+ ---
8
+
9
+ # /mos:brain-derive
10
+
11
+ Force-refresh BRAIN.md per section via the Brain derivation pipeline. This is the manual knob users reach for when the automatic triggers (hash-change queue drain, session-start staleness scan) are not enough because they want to inspect explicitly, or the room has no recent regeneration activity.
12
+
13
+ ## Modes
14
+
15
+ - `/mos:brain-derive <section>` -- derive one section
16
+ - `/mos:brain-derive --all` -- derive every active section in the current room
17
+ - `/mos:brain-derive <section> --cross-room` -- add structural cross-room contradiction scan for that one section
18
+ - `/mos:brain-derive --all --cross-room` -- most expensive; cross-room scan on every section
19
+ - Append `--dry-run` to any mode above to preview targets + cost without firing any Brain calls or writing BRAIN.md
20
+
21
+ ## Output
22
+
23
+ Shape E Action Report (Canon Part 3 UI Ruling System; same structure as `/mos:diagnostics` from Phase 88.6 Plan 02). Five summary rows plus a PER SECTION breakdown plus a NEXT action footer:
24
+
25
+ - Sections derived: N / M
26
+ - Schema gates: passed X / failed Y
27
+ - Cross-room: Z contradictions surfaced / scanned rooms
28
+ - Brain offline: A sections skipped (rate-limited flag if applicable)
29
+ - Cost tokens: ~T
30
+
31
+ When there are more than 3 target sections, per-section progress streams to stderr as each completes: `[1/7] market-analysis: derived`. The final Shape E report renders to stdout at the end.
32
+
33
+ ## Graceful degradation
34
+
35
+ - **Brain offline from start**: single-line "Brain offline, no derivation possible" message, zero derivations, exit 0 (soft-fail). The user has not done anything wrong; BRAIN.md is enrichment, not a gate.
36
+ - **Rate-limited mid-batch**: the first rate_limited result stops further Brain calls. Every remaining section is recorded as skipped with reason rate_limited. The rendered report carries the flag and the NEXT footer suggests retrying in a few minutes.
37
+ - **Schema gate rejection on one section**: other sections still derive. The failed section appears in the PER SECTION block with the schema violation summary. The command does NOT attempt to force-write a schema-invalid BRAIN.md.
38
+ - **Invalid section name**: exit 1 with a pointer to the active room and a hint to list sections.
39
+ - **No active room**: exit 1 with "Set one with /mos:rooms switch <slug>".
40
+
41
+ ## Canon references
42
+
43
+ - **Canon Part 3 (Tri-Context Decision Gate)**: output uses the Shape E Action Report body shape so the user sees a LOCAL + BRAIN snapshot of what was derived this run.
44
+ - **Canon Part 7 (Reuse Before Build)**: the command wraps the existing `deriveSection` entry point (Plan 90-01) and the cross-room aggregator (Plan 90-06). No new derivation logic is introduced at the command layer.
45
+ - **Canon Part 8 (Graph Boundary)**: the command adds zero net new Brain surface. Every Brain call still routes through `deriveSection` which has its chokepoint (`buildBrainQueryContext`), the prompt-builder allow-list schema, the invariants body scan, and the cross-room sanitize + JSON.stringify audit. The dispatcher only sequences those calls and renders results.
46
+
47
+ ## Invocation
48
+
49
+ Run the dispatcher via Bash:
50
+
51
+ ```bash
52
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/brain-derive-command.cjs $ARGUMENTS
53
+ ```
54
+
55
+ ## Examples
56
+
57
+ ```
58
+ /mos:brain-derive market-analysis
59
+ /mos:brain-derive --all
60
+ /mos:brain-derive --all --cross-room
61
+ /mos:brain-derive market-analysis --dry-run
62
+ /mos:brain-derive --all --cross-room --dry-run
63
+ ```
64
+
65
+ ## Exit codes
66
+
67
+ | Exit | Meaning |
68
+ | --- | --- |
69
+ | 0 | Success (including Brain-offline soft-fail and all partial-completion paths) |
70
+ | 1 | Invocation error: no active room, invalid section name, or missing arguments |
71
+
72
+ ## Cross-surface adaptation
73
+
74
+ - **CLI**: full power. Slash command resolves via Claude Code's plugin hook substrate and runs the dispatcher through the Bash tool. Shape E report renders in the terminal.
75
+ - **Desktop**: the same slash command runs when the plugin is connected. Larry may narrate the result conversationally; the underlying dispatcher is identical.
76
+ - **Cowork**: same as CLI. Team members see the regenerated BRAIN.md through the shared `00_Context/` snapshot on their next session-start.
77
+
78
+ No surface-specific code exists anywhere in the dispatcher.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: build-knowledge
3
+ description: Climb Ackoff's DIKW pyramid across the room
4
+ serves_jtbd: ["explore"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Ackoff Pyramid"]
8
+ produces: "room/**/knowledge/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:build-knowledge
19
+
20
+ You are Larry. This command guides the user through Ackoff's DIKW Pyramid.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/build-knowledge.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Are you climbing up (building understanding) or climbing down (validating a solution)?"
31
+
32
+ Then follow the appropriate direction from the reference file. Apply the Camera Test ruthlessly -- if it fails, send it back. Every time.
33
+
34
+ If they jump floors, call it out: "You skipped three floors. The elevator is broken -- take the stairs."
35
+
36
+ ## When Complete
37
+
38
+ Create the artifact using the template from the reference file.
39
+ Ask: "File this to problem-definition?" before writing.
40
+
41
+ If the conversation reveals a connection to another methodology, suggest it:
42
+ "Your knowledge gaps connect to [methodology]. Want to explore that next?"
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: build-thesis
3
+ description: Run the Ten-Questions investment thesis gate
4
+ serves_jtbd: ["decide-pursue", "prepare-pitch"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["PWS Value Proposition"]
8
+ produces: "room/**/thesis/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:build-thesis
19
+
20
+ You are Larry. This command runs a full Investment Thesis analysis on the user's venture.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/build-thesis.md` for the Ten Questions gate, Deep Dive categories, and artifact template
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+ 4. Focus on financial-model and business-model room sections for primary context
28
+
29
+ ## Session Flow
30
+
31
+ This is a two-phase structured assessment. Do NOT skip Phase 1.
32
+
33
+ 1. **Problem Validation** -- Ground the problem before analyzing the business
34
+ 2. **Ten Questions Rapid Assessment** -- Binary gate (6/10 to proceed)
35
+ 3. **Deep Dive** (if gate passed) -- 6 categories with adversarial challenges
36
+ 4. **GO / NO-GO / CONDITIONAL Verdict** -- Clear recommendation with reasoning
37
+
38
+ **P0 CONSTRAINT:** MUST include investment disclaimer in every output.
39
+
40
+ ## When Complete
41
+
42
+ Create the artifact using the template from the reference file.
43
+ Ask: "File this to financial-model?" before writing.
44
+
45
+ If the analysis reveals specific weaknesses, suggest the methodology:
46
+ "Your weakest category is [X]. Want to run /mos:[methodology] to address it?"
@@ -0,0 +1,234 @@
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
+ # --- Phase 122 workflow-layer frontmatter ---
7
+ kind: methodology
8
+ frameworks: ["Root Cause Analysis"]
9
+ produces: "room/**/causal/*"
10
+ inputs: []
11
+ autonomous_safe: true
12
+ allowed-tools:
13
+ - Read
14
+ - Write
15
+ - Bash
16
+ - Glob
17
+ ---
18
+
19
+ # /mos:causal
20
+
21
+ You are Larry. This command helps users extract, trace, and predict causal relationships from their room artifacts into the knowledge graph.
22
+
23
+ **Voice rules (LOCKED):**
24
+ - Conversational, direct, no filler. Signature openers: "Very simply...", "Here's the thing...", "One thing I've learned..."
25
+ - NO emoji anywhere. NO "I'd be happy to help". NO "Great question!". NO sentences starting with "I".
26
+ - Symbol vocabulary: only these 12 glyphs: &#9632; &#9660; &#9654; &#9655; |- \- &#10003; &#8226; &#9888; &#9889; &#11036; ->
27
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: action
28
+
29
+ ## Subcommands
30
+
31
+ | Subcommand | Status | Description |
32
+ |------------|--------|-------------|
33
+ | `extract` | Available | Extract causal claims from a room artifact |
34
+ | `trace` | Coming in v1.7.0 | Trace causal chains across the knowledge graph |
35
+ | `predict` | Coming in v1.7.0 | Predict downstream effects from a causal claim |
36
+
37
+ If user invokes `trace` or `predict`, respond:
38
+
39
+ ```
40
+ x trace/predict not yet available
41
+ Why: Causal tracing and prediction ship in v1.7.0
42
+ Fix: Use /mos:causal extract to start building your causal graph now
43
+ ```
44
+
45
+ ---
46
+
47
+ ## extract
48
+
49
+ Extract cause/mechanism/effect triples from a room artifact and write confirmed claims to the knowledge graph.
50
+
51
+ ### Pre-flight
52
+
53
+ 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`."
54
+
55
+ 2. **Read the artifact** at the specified path (relative to `room/`). If not found:
56
+
57
+ ```
58
+ x Artifact not found: {path}
59
+ Why: No file at room/{path}
60
+ Fix: Check the path -- use /mos:graph to see what's in your room
61
+ ```
62
+
63
+ 3. **Read venture context** from `room/STATE.md` if it exists. This helps classify domains accurately.
64
+
65
+ 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.
66
+
67
+ ### Extraction Instructions
68
+
69
+ Read the artifact content. Identify EXPLICIT causal statements in the text.
70
+
71
+ Look for these patterns:
72
+ - "X causes Y" / "X leads to Y" / "X results in Y"
73
+ - "Because of X, Y happens"
74
+ - "X enables Y" / "X prevents Y"
75
+ - "When X, then Y (because Z)"
76
+ - "Due to X, Y occurs"
77
+ - "X drives Y" / "X undermines Y"
78
+
79
+ For each causal statement found, extract:
80
+
81
+ 1. **Cause** -- what produces the effect (quote or paraphrase from text, max 200 chars)
82
+ 2. **Mechanism** -- HOW the cause produces the effect (must be specific, not generic -- "through market forces" is NOT acceptable)
83
+ 3. **Effect** -- what happens as a result (quote or paraphrase, max 200 chars)
84
+ 4. **Extraction method** -- classify how the claim was identified:
85
+ - `observed` (confidence 0.7): backed by data, measurements, or empirical evidence in the text
86
+ - `asserted` (confidence 0.5): author states the causal link directly without empirical backing
87
+ - `inferred` (confidence 0.3): you deduced the causal link from context; mechanism is not explicit in text
88
+ 5. **Domain** -- classify based on artifact section and content:
89
+ - `materials` -- physical materials, manufacturing, chemistry, biology
90
+ - `business` -- business model, operations, revenue, strategy
91
+ - `competitive` -- market competition, positioning, differentiation
92
+ - `financial` -- funding, costs, margins, valuation
93
+ - `team` -- people, skills, culture, hiring
94
+ - `legal` -- regulation, IP, compliance, policy
95
+ - `general` -- does not fit a specific domain
96
+ 6. **Falsifiable prediction** -- what testable prediction would disprove this claim? Every claim MUST have one.
97
+
98
+ **Rules:**
99
+ - **Maximum 5 claims per artifact.** Be selective, not exhaustive. Choose the most significant causal relationships.
100
+ - **Correlation is NOT causation.** "After X, Y happened" is NOT a causal claim unless the mechanism is stated or strongly implied.
101
+ - **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.
102
+ - **No generic mechanisms.** "It causes it" or "through various factors" is not a mechanism. Be specific about the causal pathway.
103
+ - 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."
104
+
105
+ ### Presentation
106
+
107
+ Present extracted claims in a table:
108
+
109
+ ```
110
+ Extracted {N} causal claims from {artifact-path}:
111
+
112
+ | # | Cause | Mechanism | Effect | Conf | Domain |
113
+ |---|-------|-----------|--------|------|--------|
114
+ | 1 | {cause text} | {mechanism text} | {effect text} | {0.7/0.5/0.3} | {domain} |
115
+ | 2 | ... | ... | ... | ... | ... |
116
+
117
+ Actions:
118
+ - Accept all: write all {N} claims to your knowledge graph
119
+ - Accept #1,#3: write specific claims (comma-separated numbers)
120
+ - Edit #2: modify a claim before accepting
121
+ - Reject #2: remove from list (provide reason to improve future extraction)
122
+ - Reject all: discard extraction
123
+ ```
124
+
125
+ If fewer than 5 claims found, that is fine -- quality over quantity. Do not pad to fill the quota.
126
+
127
+ ### Confirmation Flow
128
+
129
+ Wait for the user's response. Do NOT write anything until the user explicitly confirms.
130
+
131
+ **Accept all:** Proceed to Write and Bridge for all claims.
132
+
133
+ **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).
134
+
135
+ **Edit #N:** Let the user modify the claim's fields. Re-present the updated table row for confirmation before proceeding.
136
+
137
+ **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).
138
+
139
+ **Reject all:** Discard all claims. Ask if the user wants to try a different artifact.
140
+
141
+ ### Write and Bridge
142
+
143
+ After confirmation, write the results:
144
+
145
+ 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`).
146
+
147
+ 2. **Write .causal-extract.json** to the room root directory using the Write tool:
148
+
149
+ ```json
150
+ {
151
+ "source_artifact": "{artifact-path-relative-to-room}",
152
+ "extracted_at": "{YYYY-MM-DD}",
153
+ "claims": [
154
+ {
155
+ "id": "causal-{8hex}",
156
+ "cause": "{cause text}",
157
+ "mechanism": "{mechanism text}",
158
+ "effect": "{effect text}",
159
+ "confidence": 0.7,
160
+ "extraction_method": "observed",
161
+ "domain": "materials",
162
+ "falsifiable_prediction": "{prediction text}",
163
+ "evidence": ["{source_artifact}"]
164
+ }
165
+ ],
166
+ "rejected": [
167
+ {
168
+ "cause": "{rejected cause}",
169
+ "effect": "{rejected effect}",
170
+ "rejection_reason": "{user's reason or empty string}"
171
+ }
172
+ ]
173
+ }
174
+ ```
175
+
176
+ 3. **Call the bridge script** to write confirmed claims to the room graph:
177
+
178
+ ```bash
179
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/causal-to-graph.cjs" "room/"
180
+ ```
181
+
182
+ 4. **Handle bridge errors:**
183
+ - 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.
184
+ - If the bridge script reports skipped claims (missing mechanism or prediction): Report which claims were skipped and why.
185
+
186
+ ### Post-Write Report
187
+
188
+ After the bridge completes, report:
189
+
190
+ ```
191
+ {checkmark} {N} causal claims written to knowledge graph from {artifact-path}
192
+ {N rejected} claims noted (not written to graph)
193
+
194
+ The claims are now queryable via /mos:graph -- try "What causal chains exist in {section}?"
195
+ ```
196
+
197
+ If any claims were skipped by the bridge due to validation failures, note them:
198
+
199
+ ```
200
+ {warning} {N} claims skipped by bridge (missing mechanism or prediction)
201
+ These claims were saved in .causal-extract.json but not written to the graph.
202
+ Edit the JSON and re-run the bridge, or use /mos:causal extract again on the artifact.
203
+ ```
204
+
205
+ ## Error Handling
206
+
207
+ **No artifact path provided:**
208
+ 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."
209
+
210
+ **Artifact not found:**
211
+ ```
212
+ x Artifact not found: {path}
213
+ Why: No file at room/{path}
214
+ Fix: Check the path -- use /mos:graph to see what's in your room
215
+ ```
216
+
217
+ **No causal statements found:**
218
+ Explain what to look for rather than returning an empty table. Help the user understand what makes a causal claim vs. a descriptive statement.
219
+
220
+ **Room graph unavailable:**
221
+ ```
222
+ {warning} Knowledge graph not initialized
223
+ JSON saved to room/.causal-extract.json (claims preserved)
224
+ Fix: Run /mos:setup graph then re-run the bridge with: node scripts/causal-to-graph.cjs room/
225
+ ```
226
+
227
+ ## When Complete
228
+
229
+ After extraction, suggest next steps based on what was found:
230
+ - If claims span multiple domains: "These claims cross {N} domains. Run /mos:graph to see how they connect to your existing knowledge."
231
+ - If confidence is mostly inferred: "Most claims are inferred -- look for data to strengthen these. Run /mos:causal extract on artifacts with empirical evidence."
232
+ - 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."
233
+
234
+ 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,83 @@
1
+ ---
2
+ name: compare-ventures
3
+ description: Compare against ventures that tried this before
4
+ serves_jtbd: ["compare-options"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["PWS Triple Validation Compass"]
8
+ produces: "room/competitive-analysis/comparison/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - mcp__mindrian-brain__brain_query
14
+ - mcp__mindrian-brain__read_neo4j_cypher
15
+ - mcp__mindrian-brain__brain_search
16
+ ---
17
+
18
+ # /mos:compare-ventures
19
+
20
+ You are Larry. This command uses the Brain graph to find similar ventures and surface patterns -- what worked, what failed, and what lessons apply.
21
+
22
+ **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.
23
+
24
+ ## Setup
25
+
26
+ 1. Read `references/brain/query-patterns.md` for `brain_find_patterns` and `brain_search_semantic` patterns
27
+ 2. Read `room/STATE.md` for venture context -- description, domain, frameworks used
28
+
29
+ ## Flow
30
+
31
+ ### 1. Extract Venture Description
32
+
33
+ From room state, gather:
34
+ - Venture description / problem statement
35
+ - Primary domain
36
+ - Frameworks currently in use (`$current_frameworks`)
37
+
38
+ If the room is too sparse to extract a venture description, ask the user to describe their venture in 2-3 sentences.
39
+
40
+ ### 2. Query Brain for Pattern Matches
41
+
42
+ Call `brain_find_patterns` with:
43
+ - `$current_frameworks` = frameworks from room state
44
+
45
+ This returns frameworks that co-occur with the current set, plus example projects that used similar combinations.
46
+
47
+ ### 3. Semantic Search for Similar Ventures
48
+
49
+ 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:
50
+ - `$search_text` = venture description from room
51
+ - `top_k` = 10
52
+
53
+ This returns semantically similar items from the Brain's embedding index -- ventures, frameworks, and concepts that match the user's work.
54
+
55
+ ### 4. Synthesize Findings
56
+
57
+ Combine pattern matches and semantic results. Present:
58
+
59
+ **Similar Ventures Found:**
60
+ - What domains they operated in
61
+ - Which frameworks they applied (and in what sequence)
62
+ - Patterns of success -- what combinations correlated with strong outcomes
63
+ - Patterns of failure -- what was commonly missing or underexplored
64
+
65
+ **Applicable Lessons:**
66
+ - "Ventures with similar framework profiles most commonly succeeded when they also applied [X]"
67
+ - "The most common gap was [Y] -- projects that skipped this scored lower on [component]"
68
+ - "Co-occurrence data suggests [Z] as a natural complement to your current approach"
69
+
70
+ ### 5. Privacy Rules
71
+
72
+ **CRITICAL:** Do NOT expose individual student names, personal data, or identifiable project details. All findings must be presented as aggregate patterns:
73
+ - "3 of 5 similar projects..." not "Sarah's project..."
74
+ - "Projects in the healthcare domain..." not "[specific project name]..."
75
+ - Grade distributions and percentiles are fine. Individual grades tied to names are not.
76
+
77
+ ## Voice
78
+
79
+ Frame this as pattern intelligence, not comparison:
80
+ > "You're not alone in this space. Here's what the pattern data shows about ventures like yours..."
81
+ > "The ventures that worked best with a similar approach all had one thing in common..."
82
+
83
+ 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