@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,45 @@
1
+ ---
2
+ stage: 1
3
+ methodology: structure-argument
4
+ chain: thesis
5
+ input_from: null
6
+ output_to: challenge-assumptions
7
+ room_section: problem-definition
8
+ ---
9
+
10
+ # Stage 1: Structure Argument (Minto Pyramid)
11
+
12
+ ## Input Extraction
13
+
14
+ First stage -- uses user's thesis, argument, or claim directly. No prior pipeline artifact needed.
15
+
16
+ If the user provided a thesis statement when starting the pipeline, use that as the starting point. If not, the structure-argument methodology will elicit one through conversation.
17
+
18
+ ## Stage Instructions
19
+
20
+ Run `/mos:structure-argument` with the user's thesis or claim.
21
+
22
+ Focus the session on producing:
23
+ - **Core argument** (Minto answer-first statement)
24
+ - **Supporting arguments** (the pillars holding up the core argument)
25
+ - **Evidence for each pillar** (what data or reasoning supports each supporting argument)
26
+ - **Evidence gaps** (where the argument lacks support)
27
+
28
+ Larry should push for structural clarity -- each level of the pyramid must genuinely support the level above it. Weak pillars get flagged, not ignored.
29
+
30
+ When the methodology produces its artifact, ensure pipeline provenance is added to frontmatter:
31
+
32
+ ```yaml
33
+ pipeline: thesis
34
+ pipeline_stage: 1
35
+ ```
36
+
37
+ ## Output Contract
38
+
39
+ The following sections from the artifact feed into Stage 2 (challenge-assumptions):
40
+
41
+ - **Core argument** (Minto answer-first) -- becomes the target for Devil's Advocate interrogation
42
+ - **Supporting arguments** -- become specific assumptions to challenge (each pillar is an assumption)
43
+ - **Evidence gaps** -- become areas for deeper interrogation (where the argument is weakest)
44
+
45
+ Stage 2 will extract these by scanning `room/problem-definition/` for the most recent artifact with `pipeline: thesis` and `pipeline_stage: 1` in frontmatter.
@@ -0,0 +1,48 @@
1
+ ---
2
+ stage: 2
3
+ methodology: challenge-assumptions
4
+ chain: thesis
5
+ input_from: structure-argument
6
+ output_to: build-thesis
7
+ room_section: competitive-analysis
8
+ ---
9
+
10
+ # Stage 2: Challenge Assumptions (Devil's Advocate)
11
+
12
+ ## Input Extraction
13
+
14
+ Extract from Stage 1 artifact (scan `room/problem-definition/` for most recent artifact with `pipeline: thesis` and `pipeline_stage: 1` in frontmatter):
15
+
16
+ - **Core argument** -- the top-level claim that everything else supports
17
+ - **Supporting arguments** -- each pillar becomes an assumption to challenge
18
+ - **Evidence gaps** -- areas where the argument is weakest, deserving deepest interrogation
19
+
20
+ Present to the user: "From your Minto Pyramid, I'm bringing forward: [core argument] as the claim under examination, with [N] supporting assumptions to stress-test and [evidence gaps] as the weakest points."
21
+
22
+ ## Stage Instructions
23
+
24
+ Run `/mos:challenge-assumptions` with the extracted core argument and supporting claims.
25
+
26
+ The Devil's Advocate session should be shaped by the Thesis context:
27
+ - Each supporting argument from Stage 1 is treated as an assumption to challenge
28
+ - Evidence gaps from Stage 1 get the hardest interrogation -- these are where the thesis is most vulnerable
29
+ - For each assumption: attempt to disprove it, find counter-evidence, identify conditions under which it fails
30
+ - Classify each assumption after stress-testing: SURVIVED (strong evidence), WOUNDED (partial evidence), KILLED (disproven or unfounded)
31
+
32
+ When the methodology produces its artifact, ensure pipeline provenance is added to frontmatter:
33
+
34
+ ```yaml
35
+ pipeline: thesis
36
+ pipeline_stage: 2
37
+ pipeline_input: "Core Argument: '[extracted from stage 1]'"
38
+ ```
39
+
40
+ ## Output Contract
41
+
42
+ The following sections from the artifact feed into Stage 3 (build-thesis):
43
+
44
+ - **Surviving assumptions** -- become thesis pillars (these held up under interrogation)
45
+ - **Killed assumptions** -- become risks to address (acknowledged weaknesses in the thesis)
46
+ - **New questions raised** -- become areas for thesis qualification (what the thesis needs to acknowledge)
47
+
48
+ Stage 3 will extract these by scanning `room/competitive-analysis/` for the most recent artifact with `pipeline: thesis` and `pipeline_stage: 2` in frontmatter.
@@ -0,0 +1,54 @@
1
+ ---
2
+ stage: 3
3
+ methodology: build-thesis
4
+ chain: thesis
5
+ input_from: challenge-assumptions
6
+ output_to: null
7
+ room_section: financial-model
8
+ ---
9
+
10
+ # Stage 3: Build Investment Thesis
11
+
12
+ ## Input Extraction
13
+
14
+ Extract from Stage 2 artifact (scan `room/competitive-analysis/` for most recent artifact with `pipeline: thesis` and `pipeline_stage: 2` in frontmatter):
15
+
16
+ - **Surviving assumptions** -- use as thesis pillars (these withstood Devil's Advocate scrutiny)
17
+ - **Killed assumptions** -- use as acknowledged risks (honest about what did not survive)
18
+ - **New questions raised** -- use as thesis qualifications (conditions and limitations)
19
+
20
+ Present to the user: "From your Devil's Advocate session, I'm bringing forward: [N] surviving assumptions as thesis pillars, [N] killed assumptions as risks to address, and [N] new questions as areas for qualification."
21
+
22
+ ## Stage Instructions
23
+
24
+ Run `/mos:build-thesis` with the extracted surviving assumptions and risk areas.
25
+
26
+ The thesis-building session should be shaped by the pipeline context:
27
+ - Thesis pillars come directly from stress-tested surviving assumptions -- these carry weight because they were challenged
28
+ - Risk section incorporates killed assumptions honestly -- investors respect candor about weaknesses
29
+ - Qualifications section addresses the new questions raised during challenge
30
+ - The thesis narrative should reference the interrogation: "We stress-tested N assumptions. M survived..."
31
+
32
+ When the methodology produces its artifact, ensure pipeline provenance is added to frontmatter:
33
+
34
+ ```yaml
35
+ pipeline: thesis
36
+ pipeline_stage: 3
37
+ pipeline_input: "Surviving Assumptions: '[extracted from stage 2]'"
38
+ ```
39
+
40
+ ## Output Contract
41
+
42
+ Final stage -- no output_to. This completes the Thesis Pipeline.
43
+
44
+ ### What the Full Thesis Pipeline Produced
45
+
46
+ Across all 3 stages, the Room now contains:
47
+
48
+ | Room Section | Artifact | From Stage |
49
+ |-------------|----------|------------|
50
+ | problem-definition | Minto Pyramid -- structured argument with pillars and evidence | Stage 1 |
51
+ | competitive-analysis | Devil's Advocate -- assumption survival map, killed claims, new questions | Stage 2 |
52
+ | financial-model | Investment Thesis -- stress-tested thesis with pillars, risks, qualifications | Stage 3 |
53
+
54
+ The provenance chain (`pipeline: thesis`, `pipeline_stage: 1/2/3`) connects all three artifacts, showing how a raw argument became a stress-tested investment thesis through structured interrogation.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: thesis
3
+ display_name: Thesis Pipeline
4
+ description: From structured argument to stress-tested investment thesis
5
+ stages: 3
6
+ estimated_time: 60-120min
7
+ venture_stages: [Design, Investment]
8
+ problem_types: [well-defined-complex, well-defined-complicated, ill-defined-complex]
9
+ ---
10
+
11
+ # Thesis Pipeline
12
+
13
+ ## When to Use
14
+
15
+ User has a venture thesis or argument that needs rigorous stress-testing before presenting to stakeholders or investors. Best for later-stage ventures where the idea is clear but the argument needs structural integrity and evidence.
16
+
17
+ Typical starting points:
18
+ - "I need to build my investment thesis"
19
+ - "I have an argument but I'm not sure it holds up"
20
+ - "I need to present my venture to investors and want it bulletproof"
21
+
22
+ ## Stage Sequence
23
+
24
+ 1. **structure-argument** -- Build the Minto Pyramid, top-down argument structure
25
+ 2. **challenge-assumptions** -- Devil's Advocate stress-tests every supporting claim
26
+ 3. **build-thesis** -- Synthesize surviving arguments into a complete investment thesis
27
+
28
+ ## What It Produces
29
+
30
+ After all 3 stages, the Room will have:
31
+ - **problem-definition:** Minto Pyramid artifact with structured argument hierarchy
32
+ - **competitive-analysis:** Devil's Advocate artifact with assumption survival map
33
+ - **financial-model:** Investment Thesis artifact with thesis pillars, risks, qualifications
34
+
35
+ ## Chain Provenance
36
+
37
+ Each artifact includes `pipeline: thesis` and `pipeline_stage: N` in frontmatter, creating an inspectable provenance chain. This allows Larry to detect existing pipeline progress and offer resumption.
@@ -0,0 +1,91 @@
1
+ ---
2
+ title: Brain Causal Reasoning Directives
3
+ description: >
4
+ Tells Larry HOW to reason causally when analyzing room artifacts.
5
+ Brain DIRECTS causal reasoning. KuzuDB STORES causal claims.
6
+ Brain is READ-ONLY from the causal layer -- no user data written to Brain.
7
+ tier: 0
8
+ version: 1.7.0
9
+ used_by:
10
+ - commands/causal.md
11
+ - skills/larry-personality/SKILL.md
12
+ - scripts/compute-causal.py
13
+ ---
14
+
15
+ # Causal Reasoning Directives
16
+
17
+ Brain directs Larry's causal reasoning. These are the RULES for how Larry identifies, structures, and communicates causal claims. All causal data is stored in local KuzuDB -- never written to Brain.
18
+
19
+ ## The Three Gaps Larry Must Close
20
+
21
+ From Duraisamy (2025) "Active Inference AI Systems for Scientific Discovery":
22
+
23
+ ### Gap 1: Abstraction Gap
24
+ **Problem:** Larry sees text tokens. Users need mechanistic understanding.
25
+ **Directive:** For every causal claim, Larry MUST identify the MECHANISM -- not just "A causes B" but HOW A produces B through a specific physical, economic, or strategic process.
26
+
27
+ **Example:**
28
+ - BAD: "Ceramic AM enables new markets"
29
+ - GOOD: "Gradient architecture eliminates CTE mismatch at metal-ceramic interfaces (mechanism: graded transition absorbs differential thermal expansion), which prevents thermal shock fracture in etch chamber liners (failure mode), enabling higher plasma temperatures (performance)"
30
+
31
+ ### Gap 2: Reasoning Gap
32
+ **Problem:** Pattern completion is not causal inference.
33
+ **Directive:** Larry MUST distinguish correlation from causation. Use the dual-process approach:
34
+ 1. THINKING mode: Generate causal hypotheses (divergent)
35
+ 2. REASONING mode: Test each hypothesis for causal coherence (convergent)
36
+
37
+ **Causal Coherence Tests:**
38
+ - Does a physical/economic mechanism exist?
39
+ - Does the direction make sense? (A causes B, not B causes A)
40
+ - Are there confounders? (C causes both A and B, creating false A->B)
41
+ - Is this correlation masquerading as causation?
42
+
43
+ ### Gap 3: Reality Gap
44
+ **Problem:** Internal models diverge from external reality.
45
+ **Directive:** Every causal claim MUST include a falsifiable prediction -- something testable that would DISPROVE the claim if the test fails.
46
+
47
+ **Example:**
48
+ - Claim: "Qualification timeline is the real moat, not material properties"
49
+ - Prediction: "If true, we should see customers willing to pay 30%+ premium for pre-qualified suppliers, even with comparable material specs. Interview 5 procurement leads -- if <3 confirm, the claim is wrong."
50
+
51
+ ## Causal Claim Structure
52
+
53
+ Every causal claim Larry generates or validates must have these 7 fields:
54
+
55
+ | Field | Required | Description |
56
+ |-------|----------|-------------|
57
+ | cause | YES | What produces the effect |
58
+ | effect | YES | What happens as a result |
59
+ | mechanism | YES | HOW the cause produces the effect |
60
+ | confidence | YES | 0-1 scale based on evidence strength |
61
+ | evidence | YES | Which room artifacts support this claim |
62
+ | falsifiable_prediction | YES | What would disprove this claim |
63
+ | domain | YES | materials, business, competitive, financial, team, legal, general |
64
+
65
+ **Confidence Calibration:**
66
+ - 0.7+: observed (multiple artifacts + external validation + mechanism confirmed)
67
+ - 0.5-0.69: asserted (clear mechanism + some artifact support, untested prediction)
68
+ - 0.3-0.49: inferred (plausible mechanism, single artifact, no external validation)
69
+ - 0.0-0.29: speculative (interesting hypothesis, no supporting evidence)
70
+
71
+ ## Causal Analysis by Problem Type
72
+
73
+ ### Un-Defined Problems
74
+ **Directive:** Don't assert causation yet. Map POSSIBLE causal pathways. Use "might cause" language.
75
+
76
+ ### Ill-Defined Problems
77
+ **Directive:** Identify competing causal explanations. Present contradictions explicitly. Use contradiction detection.
78
+
79
+ ### Well-Defined Problems
80
+ **Directive:** Trace complete causal chains. Validate mechanisms. Generate falsifiable predictions.
81
+
82
+ ### Wicked Problems
83
+ **Directive:** Map causal loops (feedback). Surface where intervention has leverage. Accept that causation is circular.
84
+
85
+ ## Integration with Pipeline
86
+
87
+ Larry should reference these directives when:
88
+ 1. Running /mos:causal extract -- enforce Three Gaps on every claim
89
+ 2. Running /mos:causal trace -- narrate chains with mechanisms
90
+ 3. Running /mos:causal predict -- generate predictions grounded in Gap 3
91
+ 4. During regular conversation -- when assumptions stack up, suggest causal analysis
@@ -0,0 +1,165 @@
1
+ // Brain Causal Framework Enrichment
2
+ // Phase 52: BRAIN-01 through BRAIN-06
3
+ // Execute via mcp__neo4j-brain__write_neo4j_cypher
4
+ //
5
+ // IMPORTANT: Before running any write statements, run the discovery queries
6
+ // in the "Discovery" section to verify exact node names. Replace placeholder
7
+ // names below with exact names from discovery results.
8
+ //
9
+ // Generated: 2026-04-05
10
+ // Requirements: BRAIN-01, BRAIN-02, BRAIN-03, BRAIN-04, BRAIN-05, BRAIN-06
11
+
12
+ // ============================================================================
13
+ // SECTION 0: DISCOVERY (run FIRST via mcp__neo4j-brain__read_neo4j_cypher)
14
+ // ============================================================================
15
+
16
+ // Query A: Get all Framework node names (verify exact spelling)
17
+ // MATCH (f:Framework) RETURN f.name AS name LIMIT 50
18
+
19
+ // Query B: Get all Concept node names
20
+ // MATCH (c:Concept) RETURN c.name AS name LIMIT 50
21
+
22
+ // Query C: Check VentureStage nodes
23
+ // MATCH (v:VentureStage) RETURN v.name AS name LIMIT 20
24
+
25
+ // Query D: Check existing edge types on Framework nodes
26
+ // MATCH (f:Framework)-[r]->() RETURN DISTINCT type(r) AS rel_type LIMIT 30
27
+
28
+ // Query E: Check if Falsifiability or Hypothesis Tree exist
29
+ // MATCH (f:Framework) WHERE f.name CONTAINS 'Falsif' OR f.name CONTAINS 'Hypothesis' RETURN f.name LIMIT 10
30
+
31
+ // ============================================================================
32
+ // SECTION 1: BRAIN-03 -- Create Theory of Change Framework node
33
+ // ============================================================================
34
+
35
+ MERGE (f:Framework {name: 'Theory of Change'})
36
+ ON CREATE SET f.description = 'Forward causal reasoning: articulate the causal pathway from activities to outcomes. Maps assumptions about how change happens.',
37
+ f.category = 'causal',
38
+ f.created = datetime()
39
+
40
+ // ============================================================================
41
+ // SECTION 2: BRAIN-04 -- Create Causal Reasoning parent Concept node
42
+ // ============================================================================
43
+
44
+ MERGE (c:Concept {name: 'Causal Reasoning'})
45
+ ON CREATE SET c.description = 'Parent concept connecting causal analysis frameworks: root cause analysis, systems thinking, causal loop diagrams, scenario analysis, and theory of change.',
46
+ c.created = datetime()
47
+
48
+ // Link each causal framework to the Causal Reasoning concept
49
+ // NOTE: Use exact names from Query A. Names below are best-guess from Brain schema.
50
+
51
+ MATCH (f:Framework {name: 'Root Cause Analysis'}), (c:Concept {name: 'Causal Reasoning'})
52
+ MERGE (f)-[:RELATED_TO]->(c)
53
+
54
+ MATCH (f:Framework {name: 'Systems Thinking'}), (c:Concept {name: 'Causal Reasoning'})
55
+ MERGE (f)-[:RELATED_TO]->(c)
56
+
57
+ MATCH (f:Framework {name: 'Causal Loop Diagrams'}), (c:Concept {name: 'Causal Reasoning'})
58
+ MERGE (f)-[:RELATED_TO]->(c)
59
+
60
+ MATCH (f:Framework {name: 'Scenario Analysis Framework'}), (c:Concept {name: 'Causal Reasoning'})
61
+ MERGE (f)-[:RELATED_TO]->(c)
62
+
63
+ MATCH (f:Framework {name: 'Theory of Change'}), (c:Concept {name: 'Causal Reasoning'})
64
+ MERGE (f)-[:RELATED_TO]->(c)
65
+
66
+ // ============================================================================
67
+ // SECTION 3: BRAIN-01 -- Wire FEEDS_INTO chains
68
+ // ============================================================================
69
+
70
+ // Chain: Root Cause Analysis -> Systems Thinking -> Causal Loop Diagrams -> Scenario Analysis
71
+ MATCH (a:Framework {name: 'Root Cause Analysis'}), (b:Framework {name: 'Systems Thinking'})
72
+ MERGE (a)-[:FEEDS_INTO]->(b)
73
+
74
+ MATCH (a:Framework {name: 'Systems Thinking'}), (b:Framework {name: 'Causal Loop Diagrams'})
75
+ MERGE (a)-[:FEEDS_INTO]->(b)
76
+
77
+ MATCH (a:Framework {name: 'Causal Loop Diagrams'}), (b:Framework {name: 'Scenario Analysis Framework'})
78
+ MERGE (a)-[:FEEDS_INTO]->(b)
79
+
80
+ // Branch: Systems Thinking -> Reverse Salient Analysis
81
+ MATCH (a:Framework {name: 'Systems Thinking'}), (b:Framework {name: 'Reverse Salient Analysis'})
82
+ MERGE (a)-[:FEEDS_INTO]->(b)
83
+
84
+ // ============================================================================
85
+ // SECTION 4: BRAIN-02 -- CO_OCCURS edges (bidirectional)
86
+ // ============================================================================
87
+
88
+ // Root Cause Analysis <-> Six Thinking Hats
89
+ MATCH (a:Framework {name: 'Root Cause Analysis'}), (b:Framework {name: 'Six Thinking Hats'})
90
+ MERGE (a)-[:CO_OCCURS]->(b)
91
+ MERGE (b)-[:CO_OCCURS]->(a)
92
+
93
+ // Systems Thinking <-> Reverse Salient Analysis
94
+ MATCH (a:Framework {name: 'Systems Thinking'}), (b:Framework {name: 'Reverse Salient Analysis'})
95
+ MERGE (a)-[:CO_OCCURS]->(b)
96
+ MERGE (b)-[:CO_OCCURS]->(a)
97
+
98
+ // Cynefin <-> Root Cause Analysis
99
+ MATCH (a:Framework {name: 'Cynefin Framework'}), (b:Framework {name: 'Root Cause Analysis'})
100
+ MERGE (a)-[:CO_OCCURS]->(b)
101
+ MERGE (b)-[:CO_OCCURS]->(a)
102
+
103
+ // ============================================================================
104
+ // SECTION 5: BRAIN-05 -- TYPICAL_AT venture stage mappings
105
+ // ============================================================================
106
+
107
+ // Create VentureStage nodes if they do not exist (verify with Query C first)
108
+ MERGE (s:VentureStage {name: 'Pre-Opportunity'})
109
+ MERGE (s2:VentureStage {name: 'Opportunity Identified'})
110
+ MERGE (s3:VentureStage {name: 'Problem Validation'})
111
+
112
+ // Map causal frameworks to venture stages
113
+ MATCH (f:Framework {name: 'Root Cause Analysis'}), (s:VentureStage {name: 'Opportunity Identified'})
114
+ MERGE (f)-[:TYPICAL_AT]->(s)
115
+
116
+ MATCH (f:Framework {name: 'Systems Thinking'}), (s:VentureStage {name: 'Pre-Opportunity'})
117
+ MERGE (f)-[:TYPICAL_AT]->(s)
118
+
119
+ MATCH (f:Framework {name: 'Reverse Salient Analysis'}), (s:VentureStage {name: 'Pre-Opportunity'})
120
+ MERGE (f)-[:TYPICAL_AT]->(s)
121
+
122
+ MATCH (f:Framework {name: 'Theory of Change'}), (s:VentureStage {name: 'Problem Validation'})
123
+ MERGE (f)-[:TYPICAL_AT]->(s)
124
+
125
+ // ============================================================================
126
+ // SECTION 6: BRAIN-06 -- Link Falsifiability and Hypothesis Tree
127
+ // ============================================================================
128
+
129
+ // NOTE: Use exact names from Query E. Names below are best-guess.
130
+
131
+ // Link to Causal Reasoning concept
132
+ // NOTE: Falsifiability is a Concept, Logic Trees is a Concept (not Framework labels)
133
+ MATCH (f:Concept {name: 'Falsifiability'}), (c:Concept {name: 'Causal Reasoning'})
134
+ MERGE (f)-[:RELATED_TO]->(c)
135
+
136
+ MATCH (f:Concept {name: 'Logic Trees (Issue, Hypothesis, Decision)'}), (c:Concept {name: 'Causal Reasoning'})
137
+ MERGE (f)-[:RELATED_TO]->(c)
138
+
139
+ // FEEDS_INTO from Theory of Change to Logic Trees
140
+ MATCH (a:Framework {name: 'Theory of Change'}), (b:Concept {name: 'Logic Trees (Issue, Hypothesis, Decision)'})
141
+ MERGE (a)-[:FEEDS_INTO]->(b)
142
+
143
+ // FEEDS_INTO from Logic Trees to Falsifiability
144
+ MATCH (a:Concept {name: 'Logic Trees (Issue, Hypothesis, Decision)'}), (b:Concept {name: 'Falsifiability'})
145
+ MERGE (a)-[:FEEDS_INTO]->(b)
146
+
147
+ // ============================================================================
148
+ // VERIFICATION QUERIES (run via mcp__neo4j-brain__read_neo4j_cypher)
149
+ // ============================================================================
150
+
151
+ // Verify BRAIN-01: FEEDS_INTO chain
152
+ // MATCH (a:Framework)-[:FEEDS_INTO]->(b:Framework)
153
+ // WHERE a.name CONTAINS 'Root Cause' OR a.name CONTAINS 'Systems' OR a.name CONTAINS 'Causal Loop'
154
+ // RETURN a.name AS from_fw, b.name AS to_fw
155
+ // LIMIT 10
156
+
157
+ // Verify BRAIN-04: Causal Reasoning concept connections
158
+ // MATCH (f:Framework)-[:RELATED_TO]->(c:Concept {name: 'Causal Reasoning'})
159
+ // RETURN f.name AS framework
160
+ // LIMIT 10
161
+
162
+ // Verify BRAIN-05: TYPICAL_AT edges
163
+ // MATCH (f:Framework)-[:TYPICAL_AT]->(s:VentureStage)
164
+ // RETURN f.name AS framework, s.name AS stage
165
+ // LIMIT 10
@@ -0,0 +1,226 @@
1
+ # Brain Command Trigger Schema
2
+
3
+ ## Purpose
4
+
5
+ Commands are first-class nodes in the Neo4j Brain. They have typed relationships to Frameworks, ProblemTypes, VentureStages, and Signals that define WHEN they should fire. The Brain doesn't just recommend frameworks -- it recommends ACTIONS mapped to specific /mos: commands with trigger conditions.
6
+
7
+ ## Node: Command
8
+
9
+ ```cypher
10
+ CREATE (c:Command {
11
+ name: '/mos:find-analogies',
12
+ slug: 'find-analogies',
13
+ category: 'intelligence', // infrastructure | methodology | intelligence | export | meeting | funding
14
+ description: 'Cross-domain analogy discovery via structural isomorphism',
15
+ jtbd_when: 'stuck on a problem that feels unique to your domain',
16
+ jtbd_want: 'discover that other industries already solved the same structural conflict',
17
+ jtbd_so: 'adapt their approach instead of inventing from scratch',
18
+ time_estimate: '5 minutes',
19
+ flags: ['--brain', '--external'], // available flags
20
+ min_sections: 2, // minimum populated sections to be relevant
21
+ requires_brain: false, // works without Brain (but better with)
22
+ powerhouse: true // v1.6.0+ feature
23
+ })
24
+ ```
25
+
26
+ ## Relationships
27
+
28
+ ### TRIGGERED_BY_SIGNAL
29
+
30
+ Links a Command to the Room Signal types that should trigger it.
31
+
32
+ ```cypher
33
+ // When a CONTRADICTS edge exists between sections -> suggest find-analogies
34
+ CREATE (cmd:Command {name: '/mos:find-analogies'})-[:TRIGGERED_BY_SIGNAL {
35
+ signal_type: 'TENSION', // TENSION | BLIND_SPOT | BOTTLENECK | PATTERN | SURPRISE
36
+ priority: 1, // 1=highest, 5=lowest
37
+ condition: 'contradicts_count >= 1',
38
+ jtbd_framing: 'When your Sections have unresolved Tensions, you want to see how other domains resolved the same structural conflict'
39
+ }]->(sig:SignalType {name: 'TENSION'})
40
+
41
+ // When 3+ sections have gaps -> suggest act --swarm
42
+ CREATE (cmd:Command {name: '/mos:act --swarm'})-[:TRIGGERED_BY_SIGNAL {
43
+ signal_type: 'BLIND_SPOT',
44
+ priority: 1,
45
+ condition: 'gap_count >= 3',
46
+ jtbd_framing: 'When 3+ Sections have Blind Spots, you want to fill them all at once instead of one at a time'
47
+ }]->(sig:SignalType {name: 'BLIND_SPOT'})
48
+
49
+ // When reverse salients detected -> suggest specific methodology for lagging section
50
+ CREATE (cmd:Command {name: '/mos:act'})-[:TRIGGERED_BY_SIGNAL {
51
+ signal_type: 'BOTTLENECK',
52
+ priority: 2,
53
+ condition: 'reverse_salient_count >= 1',
54
+ jtbd_framing: 'When a Section lags behind the others, you want to close the gap before it compounds'
55
+ }]->(sig:SignalType {name: 'BOTTLENECK'})
56
+ ```
57
+
58
+ ### FOLLOWS_FRAMEWORK
59
+
60
+ Links a Command to the Framework it should follow (chaining).
61
+
62
+ ```cypher
63
+ // After JTBD analysis -> suggest Blue Ocean
64
+ CREATE (cmd:Command {name: '/mos:dominant-designs'})-[:FOLLOWS_FRAMEWORK {
65
+ confidence: 0.85,
66
+ reason: 'JTBD reveals customer needs; dominant designs reveals competitive whitespace',
67
+ hop_distance: 1
68
+ }]->(f:Framework {name: 'Jobs-to-Be-Done'})
69
+
70
+ // After find-analogies -> suggest validate (stress-test the analogy)
71
+ CREATE (cmd:Command {name: '/mos:validate'})-[:FOLLOWS_FRAMEWORK {
72
+ confidence: 0.90,
73
+ reason: 'Analogies must be stress-tested before acting on them',
74
+ hop_distance: 1
75
+ }]->(f:Framework {name: 'Design-by-Analogy'})
76
+
77
+ // After grade --full -> suggest act --swarm on weak sections
78
+ CREATE (cmd:Command {name: '/mos:act --swarm'})-[:FOLLOWS_FRAMEWORK {
79
+ confidence: 0.80,
80
+ reason: 'Grading reveals gaps; swarm attacks them in parallel',
81
+ hop_distance: 1
82
+ }]->(f:Framework {name: 'Assessment'})
83
+ ```
84
+
85
+ ### RELEVANT_AT_STAGE
86
+
87
+ Links a Command to VentureStages where it's most impactful.
88
+
89
+ ```cypher
90
+ // find-analogies is most powerful at Discovery and Design stages
91
+ CREATE (cmd:Command {name: '/mos:find-analogies'})-[:RELEVANT_AT_STAGE {
92
+ impact: 'high',
93
+ reason: 'Discovery needs fresh perspectives; Design needs proven patterns'
94
+ }]->(stage:VentureStage {name: 'Discovery'})
95
+
96
+ // grade --full becomes critical at Investment stage
97
+ CREATE (cmd:Command {name: '/mos:grade --full'})-[:RELEVANT_AT_STAGE {
98
+ impact: 'critical',
99
+ reason: 'Investment stage demands rigor across every Section'
100
+ }]->(stage:VentureStage {name: 'Investment'})
101
+
102
+ // scout is always relevant but especially at Validation
103
+ CREATE (cmd:Command {name: '/mos:scout'})-[:RELEVANT_AT_STAGE {
104
+ impact: 'high',
105
+ reason: 'Validation stage has deadlines and competitor dynamics'
106
+ }]->(stage:VentureStage {name: 'Validation'})
107
+ ```
108
+
109
+ ### ADDRESSES_PROBLEM_TYPE
110
+
111
+ Links a Command to ProblemTypes it solves (via multi-hop through Frameworks).
112
+
113
+ ```cypher
114
+ // find-analogies addresses wicked problems (via Design-by-Analogy framework)
115
+ CREATE (cmd:Command {name: '/mos:find-analogies'})-[:ADDRESSES_PROBLEM_TYPE {
116
+ via_framework: 'Design-by-Analogy',
117
+ effectiveness: 0.85
118
+ }]->(pt:ProblemType {name: 'wicked'})
119
+
120
+ // act --swarm addresses complex problems with multiple dimensions
121
+ CREATE (cmd:Command {name: '/mos:act --swarm'})-[:ADDRESSES_PROBLEM_TYPE {
122
+ via_framework: 'Multiple simultaneous frameworks',
123
+ effectiveness: 0.90
124
+ }]->(pt:ProblemType {name: 'ill-defined-complex'})
125
+ ```
126
+
127
+ ### RESOLVES_TENSION_BETWEEN
128
+
129
+ Links a Command to Framework pairs that commonly produce contradictions.
130
+
131
+ ```cypher
132
+ // find-analogies resolves tensions between pricing frameworks and competitive positioning
133
+ CREATE (cmd:Command {name: '/mos:find-analogies'})-[:RESOLVES_TENSION_BETWEEN {
134
+ framework_a: 'Lean Canvas',
135
+ framework_b: 'Competitive Analysis',
136
+ resolution_pattern: 'Cross-domain structural isomorphism finds how other industries resolved pricing vs positioning'
137
+ }]->(tension:TensionType {name: 'pricing_vs_positioning'})
138
+ ```
139
+
140
+ ## Multi-Hop Proactive Query
141
+
142
+ The power of this schema is MULTI-HOP reasoning. The Brain can traverse:
143
+
144
+ ```
145
+ User's Room State
146
+ -> Current Frameworks (from Room artifacts)
147
+ -> FEEDS_INTO relationships (what comes next)
148
+ -> Command nodes (which /mos: command delivers it)
149
+ -> TRIGGERED_BY_SIGNAL (is the trigger condition met?)
150
+ -> Return ranked command suggestion with full JTBD framing
151
+ ```
152
+
153
+ ### Query: brain_proactive_command (Pattern 10d)
154
+
155
+ ```cypher
156
+ // Multi-hop: Room frameworks -> next framework -> command -> trigger check
157
+ MATCH (current:Framework)<-[:FOLLOWS_FRAMEWORK]-(cmd:Command)
158
+ WHERE current.name IN $room_frameworks
159
+
160
+ // Check if command is relevant at this venture stage
161
+ OPTIONAL MATCH (cmd)-[stage_rel:RELEVANT_AT_STAGE]->(stage:VentureStage {name: $venture_stage})
162
+
163
+ // Check if command is triggered by current signals
164
+ OPTIONAL MATCH (cmd)-[trigger:TRIGGERED_BY_SIGNAL]->(sig:SignalType)
165
+
166
+ // Get success data
167
+ OPTIONAL MATCH (current)-[:APPLIED_IN]->(example:Example)
168
+ WHERE example.grade_numeric >= 80
169
+
170
+ RETURN cmd.name AS command,
171
+ cmd.jtbd_when AS when_situation,
172
+ cmd.jtbd_want AS want_motivation,
173
+ cmd.jtbd_so AS so_outcome,
174
+ cmd.time_estimate AS time,
175
+ cmd.flags AS available_flags,
176
+ stage_rel.impact AS stage_impact,
177
+ trigger.signal_type AS triggered_by,
178
+ trigger.condition AS trigger_condition,
179
+ trigger.jtbd_framing AS trigger_framing,
180
+ count(example) AS success_count
181
+ ORDER BY stage_rel.impact DESC, trigger.priority ASC, success_count DESC
182
+ LIMIT 5
183
+ ```
184
+
185
+ **Parameters:**
186
+ - `$room_frameworks` -- frameworks used in Room (from artifact frontmatter)
187
+ - `$venture_stage` -- from STATE.md
188
+
189
+ **Output:** Ranked command suggestions with full JTBD framing, trigger conditions, and success data from real projects.
190
+
191
+ ## Seeding Script
192
+
193
+ The Command nodes and trigger relationships need to be seeded into Neo4j. Create a script that:
194
+
195
+ 1. Reads all commands/*.md files
196
+ 2. Extracts: name, description, allowed-tools, category
197
+ 3. Generates JTBD statements from the command's purpose
198
+ 4. Creates Command nodes with relationships to:
199
+ - Frameworks they follow (from methodology chaining rules)
200
+ - VentureStages they're relevant at (from problem-types.md)
201
+ - SignalTypes that trigger them (from proactive-intelligence patterns)
202
+ 5. Runs the Cypher via `mcp__neo4j-brain__write_neo4j_cypher`
203
+
204
+ Script location: `scripts/seed-brain-commands.cjs`
205
+
206
+ ## The Intelligence Hierarchy (Updated)
207
+
208
+ ```
209
+ LEVEL 3 (Brain + Room + Signals):
210
+ brain_proactive_command (Pattern 10d)
211
+ Multi-hop: frameworks -> commands -> triggers -> JTBD
212
+ Calibrated from 100+ real projects
213
+ Knows which sequences ACTUALLY produced results
214
+
215
+ LEVEL 2 (Room + Local Fabric):
216
+ Larry's JTBD provoked suggestions (every 3-7 turns)
217
+ KuzuDB Tensions, Bottlenecks, Surprises, Convergences
218
+ Good but not cross-venture calibrated
219
+
220
+ LEVEL 1 (No Room):
221
+ Generic stage-based defaults
222
+ methodology/index.md routing table
223
+ Better than nothing
224
+ ```
225
+
226
+ Brain-connected users get LEVEL 3: the Brain literally tells Larry which command to suggest, when, and why -- backed by data from 100+ real ventures. The JTBD framing is baked into the Command node itself. Larry just reads it and presents it naturally.