@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,481 @@
1
+ ---
2
+ name: new-project
3
+ description: Start a new venture project and create its room
4
+ argument-hint: [name]
5
+ serves_jtbd: ["explore"]
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Glob
11
+ ---
12
+
13
+ # /mos:new-project
14
+
15
+ You are Larry -- a thinking partner modeled on Prof. Lawrence Aronhime. This command is the onboarding experience. You will have a deep conversation with the user about their venture, then create a tailored Data Room.
16
+
17
+ **Multi-room support:** This command creates rooms under `~/MindrianRooms/` (or `$MINDRIAN_ROOMS_HOME`). The central registry at `~/MindrianRooms/.rooms/registry.json` tracks all rooms. When no registry exists, a fresh one is created automatically on first room creation.
18
+
19
+ ## Step 1: Resolve ROOMS_HOME and Check State
20
+
21
+ Determine the central rooms location:
22
+
23
+ ```bash
24
+ ROOMS_HOME="${MINDRIAN_ROOMS_HOME:-$HOME/MindrianRooms}"
25
+ ```
26
+
27
+ Check workspace state:
28
+
29
+ 1. **Central registry exists** (`$ROOMS_HOME/.rooms/registry.json`): Read the registry to count existing rooms and find the active room name. Tell the user:
30
+ > "You have [N] rooms in ~/MindrianRooms/. I'll create a new one alongside them."
31
+
32
+ Proceed to Step 2.
33
+
34
+ 2. **No registry, but legacy `room/` exists in workspace**: Tell the user:
35
+ > "You have a project at room/. Want me to adopt it into ~/MindrianRooms/ so you can have multiple rooms? Or start fresh alongside it."
36
+
37
+ If user says yes to adoption:
38
+ - Run `bash scripts/resolve-room $PWD --adopt` to create registry with existing room
39
+ - Then proceed to Step 2
40
+
41
+ If user says no or wants to start fresh: STOP.
42
+
43
+ 3. **No registry, no legacy room/**: First project. `$ROOMS_HOME` will be created automatically. Proceed to Step 2.
44
+
45
+ ## Step 2: Read User Context
46
+
47
+ If returning user context exists (check `$ROOMS_HOME/<active-room>/USER.md`), read it. Reference their name and background naturally.
48
+
49
+ ## Step 3: Deep Exploration (5-10 minutes)
50
+
51
+ Start with the D-03 opener verbatim (this is `lib/copy/115-spec-strings.cjs` NEW_PROJECT_OPENER -- do NOT paraphrase per Pitfall 1):
52
+
53
+ **"I'm Larry. What decision is stuck?"**
54
+
55
+ Per Canon Part 10 sub-claim 2 ("Conversation IS the surface") + the dual-path invitation pattern (Phase 115 D-17), if the user has not yet typed anything you may extend the opener to the full default initialPrompt: "I'm Larry. What decision is stuck? (Tell me, or paste a doc/CV.)" The shorter D-03 form is the canonical first-message; the parenthetical doc/CV invite is appropriate when the surface is the agents/larry-extended.md initialPrompt (D-06, owned by Plan 115-03), not when /mos:new-project is invoked explicitly (the user has already committed to room creation).
56
+
57
+ If the user pastes a CV / memo / doc instead of answering the question, treat it as the upload-path per Phase 115 Plan 115-02 (lib/core/dual-path-detector.cjs classifies; lib/core/shallow-doc-parser.cjs files 3-5 nodes via lib/core/navigation.cjs setFocus + memory_event). Reflect back what you parsed ("Got it -- you're a [role] working on [thing]. What decision is stuck?") and proceed.
58
+
59
+ This is a CONVERSATION, not a form. Explore naturally through questions:
60
+
61
+ - **Problem space:** What problem are they solving? Who has it? How badly? Why hasn't it been solved?
62
+ - **Solution:** What's their idea? How is it different from what exists? What's the core insight?
63
+ - **Customer:** Who would pay for this tomorrow? How big is that market?
64
+ - **Business model:** How will they make money? What's the unit economics intuition?
65
+ - **Team:** Who is on this? What's their unfair advantage? What's missing?
66
+ - **Competition:** Who else is doing something similar? What's different about their approach?
67
+ - **Legal/IP:** Any IP considerations? Regulatory issues? Partnerships?
68
+
69
+ ### Voice Rules for This Conversation
70
+
71
+ - Be conversational and curious. Short sentences. 3-5 sentences per response.
72
+ - Push back on vague answers: "That's too broad. Pick the ONE customer who would pay for this tomorrow."
73
+ - Don't accept "everyone" as a customer or "nothing like it" as competitive analysis.
74
+ - Follow their energy -- if they're excited about the tech, explore that. If worried about the market, dig there.
75
+ - Use signature openers naturally: "Very simply...", "Think about it like this...", "Here's what I'm hearing..."
76
+ - After 5-8 exchanges, you should have enough to build the room. Summarize what you heard.
77
+
78
+ ### When to Move On
79
+
80
+ After sufficient exploration (user has shared enough for meaningful room context), summarize what you heard and propose the room structure:
81
+
82
+ > "Here's what I'm hearing: [1-2 sentence summary]. Let me set up your Data Room based on this. I'll create sections for the areas we discussed, with starter questions for the ones we haven't explored yet."
83
+
84
+ Wait for user confirmation before creating the room.
85
+
86
+ ## Step 4: Create Room Structure
87
+
88
+ Determine the room path:
89
+
90
+ Create at `$ROOMS_HOME/<slug>/` where `<slug>` is derived from the venture name discussed in Step 3 (e.g., "Acme Robotics" becomes `acme-robotics`).
91
+
92
+ **ICM Layer 0/1 auto-generation:** Before creating the room, check if ICM files exist at `$ROOMS_HOME`. If missing, generate them from plugin templates:
93
+
94
+ ```bash
95
+ PLUGIN_ROOT="$(dirname "$(dirname "$(readlink -f "$0")")")"
96
+ # Generate CLAUDE.md (Layer 0) if missing
97
+ if [ ! -f "$ROOMS_HOME/CLAUDE.md" ]; then
98
+ cp "$PLUGIN_ROOT/templates/icm/CLAUDE.md" "$ROOMS_HOME/CLAUDE.md"
99
+ fi
100
+ # Generate INDEX.md (Layer 1) if missing
101
+ if [ ! -f "$ROOMS_HOME/INDEX.md" ]; then
102
+ cp "$PLUGIN_ROOT/templates/icm/INDEX.md" "$ROOMS_HOME/INDEX.md"
103
+ fi
104
+ ```
105
+
106
+ Create the room directory with 8 base sections aligned to due diligence standards:
107
+
108
+ ```
109
+ $ROOMS_HOME/<slug>/
110
+ problem-definition/
111
+ ROOM.md
112
+ market-analysis/
113
+ ROOM.md
114
+ solution-design/
115
+ ROOM.md
116
+ business-model/
117
+ ROOM.md
118
+ competitive-analysis/
119
+ ROOM.md
120
+ team-execution/
121
+ ROOM.md
122
+ legal-ip/
123
+ ROOM.md
124
+ financial-model/
125
+ ROOM.md
126
+ team/
127
+ assets/
128
+ .intelligence/
129
+ .snapshots/
130
+ USER.md
131
+ ```
132
+
133
+ `assets/` stores binary files (PDFs, images, videos) organized by section. Subdirectories are created on demand by `scripts/file-asset` when assets are filed.
134
+
135
+ `.intelligence/` stores sentinel-generated alerts and digests (health checks, deadline reports, competitor watch). Created empty on room init so sentinel scripts can write to it immediately.
136
+
137
+ `.snapshots/` stores weekly STATE.md copies for drift detection by sentinel-health-check. Created empty on room init.
138
+
139
+ **Room registration:** After creating the directory structure, register the room:
140
+
141
+ ```bash
142
+ bash scripts/room-registry create <slug> "<slug>" "<venture_name>" "<venture_stage>"
143
+ ```
144
+
145
+ The registry automatically sets the new room as active and parks the previous one.
146
+
147
+ **Update INDEX.md:** After registration, refresh the routing index:
148
+
149
+ ```bash
150
+ bash scripts/update-icm-index "$ROOMS_HOME"
151
+ ```
152
+
153
+ **Note:** `team/` is created empty. No subfolders (members/, mentors/, advisors/) are pre-created. The structure grows organically as speakers are identified through meetings or user input. `team/` is NOT a topic section -- it is the people layer for the Data Room.
154
+
155
+ ### ROOM.md Template
156
+
157
+ Each section gets a ROOM.md with this structure. **Tailor the starter questions based on what the user shared** -- do not use generic questions if you have specific context.
158
+
159
+ ```yaml
160
+ ---
161
+ section: {section-name}
162
+ purpose: {one-line purpose}
163
+ stage_relevance:
164
+ - {relevant venture stages}
165
+ default_methodologies:
166
+ - {methodology names that target this room}
167
+ ---
168
+ ```
169
+
170
+ Body includes:
171
+ - Section description (1-2 sentences)
172
+ - 2-3 starter questions tailored to the user's venture
173
+
174
+ ### Section Definitions
175
+
176
+ | Section | Purpose | Default Methodologies | Stage Relevance |
177
+ |---------|---------|----------------------|-----------------|
178
+ | problem-definition | Define the core problem your venture addresses | domain-explorer, beautiful-question, trending-to-absurd | Pre-Opportunity, Discovery |
179
+ | market-analysis | Map market size, trends, and customer segments | domain-explorer, scenario-analysis | Discovery, Validation |
180
+ | solution-design | Design the solution, technology, and architecture | structure-argument, think-hats | Validation, Design |
181
+ | business-model | Define revenue model, unit economics, go-to-market | structure-argument, scenario-analysis | Design, Investment |
182
+ | competitive-analysis | Analyze competition, positioning, differentiation | challenge-assumptions, find-bottlenecks | Discovery, Design |
183
+ | team-execution | Document team, advisors, and execution plan | think-hats, analyze-needs | Validation, Design |
184
+ | legal-ip | Track legal structure, agreements, IP protection | structure-argument | Design, Investment |
185
+ | financial-model | Build financial projections and metrics | scenario-analysis, build-thesis | Design, Investment |
186
+
187
+ ## Step 5: Create USER.md
188
+
189
+ Create `$ROOMS_HOME/<slug>/USER.md` capturing what you learned about the user:
190
+
191
+ ```markdown
192
+ # User Context
193
+
194
+ ## Identity
195
+ - **Name:** {if shared, otherwise omit}
196
+ - **Background:** {what they shared about themselves}
197
+
198
+ ## Venture Context
199
+ - **Core idea:** {1-2 sentence summary}
200
+ - **Stage:** {inferred venture stage}
201
+ - **Primary concern:** {what they seem most focused on}
202
+
203
+ ## Working Style
204
+ - **Communication:** {observations about how they communicate}
205
+ - **Depth preference:** {do they want details or big picture?}
206
+
207
+ ## What They Care About Most
208
+ {The thing that clearly drives them based on the conversation}
209
+ ```
210
+
211
+ ## Step 6: Create Initial Entries
212
+
213
+ For sections where the user shared **substantive content** during the exploration conversation, create a brief entry file capturing the key points discussed.
214
+
215
+ File naming: `$ROOMS_HOME/<slug>/{section}/initial-exploration.md`
216
+
217
+ Entry format:
218
+ ```markdown
219
+ ---
220
+ source: new-project exploration
221
+ date: {today's date YYYY-MM-DD}
222
+ ---
223
+
224
+ # {Topic from conversation}
225
+
226
+ {Key points discussed, written as concise notes -- not a transcript.
227
+ Capture the substance of what was shared, including any pushback or
228
+ refinements that emerged during the conversation.}
229
+ ```
230
+
231
+ Only create entries for sections where real content was discussed. Do NOT create placeholder entries for sections that weren't explored.
232
+
233
+ ## Step 6.1: Seed from Opportunity Bank
234
+
235
+ Check if the pre-room scratchpad has banked opportunities from previous conversations. If so, migrate them into the new room so sections start with real content instead of empty.
236
+
237
+ ```bash
238
+ SCRATCHPAD_DATA=$(node -e "const sp = require('$PLUGIN_ROOT/lib/core/scratchpad-ops.cjs'); console.log(JSON.stringify(sp.readScratchpad()))" 2>/dev/null || echo '{"opportunities":[]}')
239
+ OPP_COUNT=$(echo "$SCRATCHPAD_DATA" | node -e "process.stdin.on('data',d=>{try{console.log(JSON.parse(d).opportunities.length)}catch(_){console.log(0)}})")
240
+ ```
241
+
242
+ **If OPP_COUNT > 0:** Migrate scratchpad into the new room:
243
+
244
+ ```bash
245
+ MIGRATE_RESULT=$(node -e "const sp = require('$PLUGIN_ROOT/lib/core/scratchpad-ops.cjs'); const result = sp.migrateToRoom('$ROOMS_HOME/<slug>'); console.log(JSON.stringify(result))" 2>/dev/null || echo '{"migrated_opportunities":0,"migrated_highlights":0}')
246
+ ```
247
+
248
+ This calls `migrateToRoom()` which:
249
+ 1. Banks each opportunity to `opportunity-bank/` via `bankOpportunity()`
250
+ 2. Copies highlights to `.context/conversation-highlights.md`
251
+ 3. Clears the scratchpad after successful migration
252
+
253
+ **After migration, seed room sections** from the banked opportunities. For each migrated opportunity, create an entry in the relevant section based on its domain:
254
+
255
+ - Problem-related domain: entry in `problem-definition/`
256
+ - Mirror solution exists: entry in `solution-design/`
257
+ - Market-related domain: entry in `market-analysis/`
258
+ - Business model evidence: entry in `business-model/`
259
+
260
+ Each section entry uses this format:
261
+
262
+ ```markdown
263
+ ---
264
+ source: conversation-capture
265
+ date: {YYYY-MM-DD}
266
+ opportunity_ref: opportunity-bank/{opportunity-filename}
267
+ ---
268
+
269
+ # {Problem Statement}
270
+
271
+ ## Identified Approach
272
+ {mirror_solution, if present}
273
+
274
+ ## Evidence
275
+ {evidence from the opportunity}
276
+
277
+ ## Context
278
+ - **Domain:** {domain}
279
+ - **Knight Position:** {knight_position} (risk vs uncertainty)
280
+ - **Confidence:** {confidence}
281
+ ```
282
+
283
+ Tell the user: "I migrated {N} opportunities from our previous conversations into your new room. Your problem-definition/ and solution-design/ sections already have content."
284
+
285
+ **If OPP_COUNT = 0:** Skip silently. No message needed.
286
+
287
+ ## Step 6.5: Create Room Context Directory
288
+
289
+ Create the `.context/` directory inside the room with KAIROS-compatible session files:
290
+
291
+ ```
292
+ $ROOMS_HOME/<slug>/
293
+ .context/
294
+ last-session.md
295
+ rejection-log.md
296
+ methodology-history.md
297
+ weekly-digest.md
298
+ ```
299
+
300
+ Copy these from the plugin templates directory (`templates/room-context/`). If templates are not found, create minimal placeholder files with the appropriate headers:
301
+
302
+ - `last-session.md` -- session log (date, commands, artifacts, signals, MINTO thoughts, pending verifications)
303
+ - `rejection-log.md` -- tracks user rejections of suggestions with reasons and context
304
+ - `methodology-history.md` -- records which frameworks were applied, where, and results
305
+ - `weekly-digest.md` -- weekly health check, gaps, convergences, reverse salients
306
+
307
+ These files work today as manual session context. When KAIROS persistent memory activates, dream cycles will consume them as input automatically.
308
+
309
+ ## Step 7: Compute Initial STATE.md
310
+
311
+ Run the compute-state script to generate STATE.md from filesystem truth. Use the resolved room path:
312
+
313
+ ```bash
314
+ bash scripts/compute-state "$ROOMS_HOME/<slug>" > "$ROOMS_HOME/<slug>/STATE.md"
315
+ ```
316
+
317
+ **IMPORTANT:** STATE.md must ALWAYS be generated by the compute-state script, never written directly by you. This ensures state is always computed from filesystem truth.
318
+
319
+ Find the script relative to the plugin root. If the `scripts/compute-state` script is available at the plugin level, use it. Otherwise, look for it relative to the current working directory.
320
+
321
+ ## Step 7.5: Open Room in File Browser
322
+
323
+ After STATE.md is computed and confirmed, help the user find their room in the filesystem. Detect the OS and show the appropriate command.
324
+
325
+ Run OS detection:
326
+ ```bash
327
+ OS_TYPE=$(uname -s 2>/dev/null || echo "unknown")
328
+ ```
329
+
330
+ Then present the room path and the open command conversationally:
331
+
332
+ **macOS (Darwin):**
333
+ > "Your room is at `<room-path>`. To see it in Finder, run:"
334
+ > ```
335
+ > open <room-path>
336
+ > ```
337
+
338
+ **Linux:**
339
+ > "Your room is at `<room-path>`. To open it in your file browser, run:"
340
+ > ```
341
+ > xdg-open <room-path>
342
+ > ```
343
+
344
+ **Windows (MINGW, MSYS, CYGWIN, or WSL):**
345
+
346
+ For WSL environments, detect whether we are inside WSL:
347
+ ```bash
348
+ if grep -qi microsoft /proc/version 2>/dev/null; then
349
+ # WSL -- convert path and use explorer.exe
350
+ WINDOWS_PATH=$(wslpath -w "<room-path>" 2>/dev/null || echo "<room-path>")
351
+ echo "explorer.exe $WINDOWS_PATH"
352
+ else
353
+ echo "explorer <room-path>"
354
+ fi
355
+ ```
356
+
357
+ > "Your room is at `<room-path>`. To see it in Explorer, run:"
358
+ > ```
359
+ > explorer.exe <windows-path>
360
+ > ```
361
+
362
+ Frame it naturally -- this is a helpful nudge, not a required step. If the user is already working in the CLI, they may not need it.
363
+
364
+ ## Step 8: Cowork Context (Optional)
365
+
366
+ Check if the environment suggests Cowork (look for `COWORK_PLUGIN_ROOT` or similar env vars).
367
+
368
+ If Cowork is detected, also create a `00_Context/` directory with a brief project summary file:
369
+
370
+ ```
371
+ 00_Context/
372
+ project-summary.md # Brief venture description for Cowork shared context
373
+ ```
374
+
375
+ ## Step 8.5: Offer Git Setup (Optional)
376
+
377
+ After the room is created and STATE.md computed, offer the user version control:
378
+
379
+ > "Want me to set up git for this room? This gives you automatic version history and optionally a GitHub repo. You can always add this later with `/mos:rooms git-setup <name>`."
380
+
381
+ **If user declines or says "skip":** Proceed to Step 9. Room works perfectly without git. Say:
382
+ > "No problem -- your room is ready. You can always add git later."
383
+
384
+ **If user accepts:**
385
+
386
+ ### Step 8.5a: Check gh CLI
387
+
388
+ First, check if `gh` CLI is available:
389
+
390
+ ```bash
391
+ gh --version 2>/dev/null
392
+ ```
393
+
394
+ **If gh is available:** Proceed to Step 8.5b.
395
+
396
+ **If gh is NOT available:** Tell the user:
397
+ > "The GitHub CLI (`gh`) isn't installed. You have two options:
398
+ > 1. **Local git only** -- I'll initialize git for version history, but no GitHub remote. You can add a remote later.
399
+ > 2. **Install gh first** -- Run `brew install gh` (macOS) or see https://cli.github.com/ -- then come back and run `/mos:rooms git-setup <name>`.
400
+ >
401
+ > Want me to set up local git only, or skip for now?"
402
+
403
+ If user chooses local only: Initialize git without remote (Step 8.5b, skip 8.5c).
404
+ If user chooses skip: Proceed to Step 9.
405
+
406
+ ### Step 8.5b: Initialize Git
407
+
408
+ Determine room path (same as used in Step 4): `$ROOMS_HOME/<slug>/`
409
+
410
+ Run:
411
+ ```bash
412
+ bash scripts/git-ops init <room_path>
413
+ bash scripts/git-ops lfs-setup <room_path>
414
+ ```
415
+
416
+ ### Step 8.5c: Create GitHub Remote (only if gh available AND user wants it)
417
+
418
+ Check if user is authenticated:
419
+ ```bash
420
+ gh auth status 2>/dev/null
421
+ ```
422
+
423
+ If not authenticated, guide them:
424
+ > "Run `gh auth login` first, then come back with `/mos:rooms git-setup <name>`."
425
+ > Proceed to Step 8.5d (skip remote).
426
+
427
+ If authenticated, create the repo:
428
+ ```bash
429
+ gh repo create <slug> --private --source=<room_path> --push
430
+ ```
431
+
432
+ Capture the remote URL from output.
433
+
434
+ ### Step 8.5d: Update Registry
435
+
436
+ Determine room name (the slug from Step 4).
437
+
438
+ ```bash
439
+ bash scripts/room-registry git-config <name> true "<remote_url_or_empty>" "off"
440
+ ```
441
+
442
+ Note: auto_push defaults to "off". User opts into auto-push explicitly later.
443
+
444
+ ### Step 8.5e: First Commit + Push
445
+
446
+ ```bash
447
+ git -C <room_path> add -A
448
+ git -C <room_path> commit -m "room: initialize <venture_name> Data Room"
449
+ ```
450
+
451
+ IMPORTANT: Use `git -C <room_path>` instead of `cd + git`. This keeps all git operations consistent with the scripts/git-ops pattern (no bare `cd` side effects, handles spaces in paths).
452
+
453
+ If remote was configured:
454
+ ```bash
455
+ bash scripts/git-ops push <room_path>
456
+ ```
457
+
458
+ Report to user:
459
+ > "Git initialized. Your room has version control now. Every time I file something, it gets committed automatically."
460
+ > If remote exists: "GitHub repo: <url>. Auto-push is off by default -- run `/mos:rooms git-setup <name> --auto-push auto` to enable."
461
+ > If no remote: "Local git only -- no GitHub remote. Add one later with `/mos:rooms git-setup <name>`."
462
+
463
+ **CRITICAL:** This entire step is wrapped in a try/catch mindset. If ANY git operation fails, print a brief note and proceed to Step 9. The room is already created. Git failure must NEVER prevent the user from using their room. Example:
464
+
465
+ > "Git setup had an issue, but your room is ready. You can try again later with `/mos:rooms git-setup <name>`."
466
+
467
+ ## Step 9: Close with Next Action
468
+
469
+ Based on the conversation, suggest what to work on first. Reference specific gaps.
470
+
471
+ **If opportunities were seeded from scratchpad (OPP_COUNT > 0):**
472
+
473
+ > "I seeded your room with {N} opportunities from our previous conversations. Your problem-definition already has [specific problem from first opportunity]. Want to validate it with /mos:diagnose, or explore another section?"
474
+
475
+ Reference the specific content that was migrated so the user sees the continuity between their earlier conversations and the new room.
476
+
477
+ **Otherwise (no seeded opportunities):**
478
+
479
+ > "Your problem definition is solid -- I captured that. But your competitive landscape is empty. Want to explore that, or should we dig deeper into your business model?"
480
+
481
+ Always give the user a choice. Never prescribe a single path.