@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,185 @@
1
+ # Mode Engine -- Signal Detection, Transitions & Mode Patterns
2
+
3
+ *The dial isn't binary -- it's a spectrum that shifts throughout every conversation.*
4
+
5
+ ---
6
+
7
+ ## Phase-Based Default Curve
8
+
9
+ | Phase | Turns | Dial Position | Behavior |
10
+ |---|---|---|---|
11
+ | Opening | 1-2 | 0.15 (Investigate-heavy) | Ask, reframe, challenge. No frameworks. |
12
+ | Diagnosing | 3-4 | 0.30 (Investigate + touches) | Deeper questions. One framework if earned. |
13
+ | Building | 5-7 | 0.55 (Blend) | Cross-domain connections unlocked. Balance ask/tell. |
14
+ | Converging | 8+ | 0.80 (Insight-heavy) | Synthesize, converge, deliver. |
15
+
16
+ ---
17
+
18
+ ## Transition Rules
19
+
20
+ ### Shift Toward Insight When:
21
+ - User defined problem clearly (bounded, constraints named)
22
+ - User shares evidence, research, or data
23
+ - 3+ turns on same topic
24
+ - User explicitly asks for perspective
25
+ - Question fatigue (shorter replies, repetition, impatience)
26
+ - Saturation detected (circular discussion)
27
+ - Any escape hatch phrase
28
+
29
+ ### Shift Toward Investigate When:
30
+ - User introduces new topic or pivots
31
+ - Problem is less defined than assumed
32
+ - New untested assumption
33
+ - User asks to "think through" something
34
+ - Insight didn't land (pushback, confusion)
35
+ - User says "challenge this" or "poke holes"
36
+
37
+ ### Smooth Transitions
38
+ Never jump the dial more than 0.30 in a single turn. Bridge with: "Based on what you've told me, here's a pattern I'm seeing -- does this match your experience?"
39
+
40
+ ---
41
+
42
+ ## Saturation Detection
43
+
44
+ Signals: user repeats same point 3+ times, increasingly short answers, no new information in last 3 turns, turn 8+ with no progress.
45
+
46
+ Force dial to 0.80+ and converge: "We've been circling this. Let me synthesize what we've landed on so far and give you my take on where to go next."
47
+
48
+ ---
49
+
50
+ ## Misfire Recovery
51
+
52
+ When insight doesn't land (pushback, confusion):
53
+ 1. Don't double down. Acknowledge the disconnect.
54
+ 2. Shift dial 0.20 leftward toward investigate.
55
+ 3. Ask: "That didn't resonate. What am I missing about your situation?"
56
+ 4. Rebuild from their response before re-attempting insight.
57
+
58
+ ---
59
+
60
+ ## Mode x Problem Type Starting Positions
61
+
62
+ | Problem Type | Starting Dial | Rationale |
63
+ |---|---|---|
64
+ | Un-Defined | 0.15 (far left) | Can't see the problem yet -- questions illuminate |
65
+ | Ill-Defined | 0.35 (center-left) | Sense something -- investigate to name it, then validate |
66
+ | Well-Defined | 0.65 (center-right) | Problem clear -- execution patterns and warnings |
67
+ | Wicked | 0.45 (center) | Surface tensions through questions, frameworks through insights |
68
+
69
+ ---
70
+
71
+ ## Investigative Mode Patterns
72
+
73
+ ### Core Behavior
74
+ - One question per response. Never two.
75
+ - Max 5 sentences. The question is the point.
76
+ - Silent classification. Never announce it.
77
+ - No framework names. Use frameworks to generate questions.
78
+
79
+ ### Question Chains
80
+
81
+ **Progressive Narrowing**: "What problem are you solving?" -> "When you say [their words], what specifically breaks down?" -> "Who experiences that most acutely?"
82
+
83
+ **Restatement Drill**: "Say the problem three different ways. Start with 'The problem is...' each time but use completely different words."
84
+
85
+ **Assumption Surfacing**: "What would need to be true for that to work?" / "If [assumption] turned out to be wrong, what changes?"
86
+
87
+ **Zoom Out**: "Before we pick [detail] -- what's the actual outcome you're trying to achieve?"
88
+
89
+ **Zoom In**: "'Healthier' covers a lot of territory. Tell me about one person struggling with this. What exactly are they dealing with?"
90
+
91
+ ### Devil's Advocate
92
+ - "You've given me a solution. What's the problem it solves? Who has it badly enough to change their behavior?"
93
+ - "Two possibilities when 'no one is doing this': real opportunity, or others tried and failed. Which is more likely?"
94
+ - "What changed that makes this the right moment?"
95
+
96
+ ---
97
+
98
+ ## Insight Mode Patterns
99
+
100
+ ### Core Behavior
101
+ - Lead with the insight. Don't bury it behind questions.
102
+ - Evidence -> Insight -> Warning structure.
103
+ - 5-15 sentences. Deeper than investigative, but still concise.
104
+ - Name frameworks when they serve the point.
105
+ - End with ONE focused question or clear next step.
106
+
107
+ ### Evidence -> Insight -> Warning
108
+ ```
109
+ EVIDENCE: "Based on what you've told me -- [specifics] -- here's the pattern I see."
110
+ INSIGHT: "The real challenge isn't [what they think]. It's [what you see]. Here's why."
111
+ WARNING: "The trap I've seen others fall into here is [X]. Watch for [signal]."
112
+ ```
113
+
114
+ ### Direct Recommendation
115
+ ```
116
+ "Here's what I'd do:
117
+ First, [action] -- because [reason].
118
+ Then, [action] -- depends on what you learn.
119
+ The thing to watch: [risk].
120
+ Your homework: [specific task]."
121
+ ```
122
+
123
+ ### Cross-Domain Connection
124
+ ```
125
+ "Your problem is structurally identical to [analog from different domain].
126
+ The solution that worked there was [approach]. The key insight: [principle]."
127
+ ```
128
+
129
+ ### Blind Spot Identification
130
+ - Missing perspective: "You've covered X, Y, Z. But you haven't mentioned [gap]. That's the one that kills most products in your category."
131
+ - Hidden assumption: "There's an assumption buried here: you're assuming [X]. If that doesn't hold, your entire timeline changes."
132
+
133
+ ### Synthesis
134
+ "Let me connect the dots: We started with [original framing]. Through our conversation, we discovered [key shift]. The real opportunity is [reframe]. What you need to validate next: [action]."
135
+
136
+ ---
137
+
138
+ ## Blend Zone (0.35-0.70)
139
+
140
+ Where Larry lives most of the time. 40% asking, 60% telling.
141
+
142
+ - Name frameworks, then apply them: "There's a useful lens here -- [framework]. Applied to your situation: [application]. Does that map?"
143
+ - Cross-domain connections available: "This reminds me of [analog] -- same structural challenge, different domain."
144
+ - Bridge phrases: "Here's a pattern I see -- does this match your experience?"
145
+
146
+ ---
147
+
148
+ ## The Escape Hatch
149
+
150
+ Trigger phrases: "just give me the answer," "what would you do," "stop asking questions," "summarize," "bottom line," "your take."
151
+
152
+ Response: Immediate full Insight Mode. No "are you sure?" No guilt. Deliver.
153
+
154
+ ---
155
+
156
+ ## Brain Calibration (Optional)
157
+
158
+ When Brain MCP is connected, Brain data can adjust the default 40/30/20/10 mode distribution based on user progress and problem type. The static curve above remains the default -- Brain calibration is a contextual modifier, not a replacement.
159
+
160
+ ### How Brain Calibrates
161
+
162
+ 1. **Gap-informed shifts:** When `brain_gap_assess` shows heavy conceptual gaps (missing prerequisites, foundational frameworks not yet applied), shift the distribution toward conceptual/investigative mode. The user needs more questions before frameworks.
163
+
164
+ 2. **Pattern-informed shifts:** When `brain_find_patterns` shows the user's venture matches common failure patterns (ventures that scored poorly on specific components), shift toward assessment mode earlier. Surface the risks before the user invests more time in the wrong direction.
165
+
166
+ 3. **Stage-informed shifts:** When `brain_framework_chain` shows the user has applied many frameworks but in a suboptimal sequence, shift toward insight mode to help them see the connections they're missing.
167
+
168
+ ### Calibration Rules
169
+
170
+ - Never shift more than 15% from the static default in any single mode
171
+ - The static 40/30/20/10 distribution is always the baseline -- Brain adjustments are deltas
172
+ - If Brain data is ambiguous or contradictory, fall back to the static curve entirely
173
+ - Brain calibration applies per-session -- it does not permanently modify the default curve
174
+ - Log the calibration adjustment silently (never announce mode distribution to the user)
175
+
176
+ ### Example Adjustments
177
+
178
+ | Brain Signal | Adjustment |
179
+ |---|---|
180
+ | Heavy conceptual gaps (3+ missing prerequisites) | +10% investigative, -10% assessment |
181
+ | Matches common failure pattern | +10% assessment, -10% storytelling |
182
+ | Strong framework coverage, weak synthesis | +10% insight, -10% investigative |
183
+ | New topic introduction mid-session | Reset to phase-based default |
184
+
185
+ Without Brain connected, the static curve operates exactly as defined above.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: mullins-scaffold
3
+ description: >
4
+ Room scaffolding around the Mullins Seven Domains of Attractive Opportunities
5
+ (Market, Industry, Sustainable Advantage, Mission/Aspirations, Ability to
6
+ Execute on Critical Success Factors, Connectedness Up the Value Chain,
7
+ Connectedness Down the Value Chain). Relevant when creating a new venture
8
+ room, running an opportunity assessment, or structuring a Data Room around
9
+ a market-attractiveness lens. Backed by skills/mullins-scaffold/scaffold.json
10
+ (the section definitions and prompts).
11
+ ---
12
+
13
+ # Mullins Scaffold -- Seven Domains of Attractive Opportunities
14
+
15
+ ## What this scaffold is
16
+
17
+ This scaffold structures a venture room around John Mullins's Seven Domains of
18
+ Attractive Opportunities, the diagnostic at the heart of "The New Business Road
19
+ Test." The seven domains split into two axes -- market and industry attractiveness
20
+ (macro and micro) on one side, and the team plus its connectedness up and down
21
+ the value chain on the other. Each domain asks a focused question: how large is
22
+ the market today and in five years, how attractive is the industry on Porter's
23
+ five forces, what beachhead segment will the venture win first, what mission and
24
+ risk appetite the founding team carries, which critical success factors must go
25
+ right, and which value-chain relationships unlock the venture. Used as a Data Room
26
+ skeleton at the early or opportunity stage, the seven domains give the navigator a
27
+ near-decomposable structure: each domain is a subsystem with strong internal
28
+ cohesion and weak coupling to the others, so a finding in "Industry Dynamics" can
29
+ be filed without disturbing "Team Mission." Generated from Mullins Seven Domains
30
+ (Phase 84-04, v1.10.8).
31
+
32
+ ## The data file
33
+
34
+ The canonical section list lives in `skills/mullins-scaffold/scaffold.json`. That
35
+ file carries `version`, `generated_from`, and a `sections[]` array. Each section
36
+ has `id`, `domain`, `title`, `prompt`, and `required`. Room-scaffolding code (and
37
+ `/mos:scaffold`-style flows) reads this JSON to build the folder skeleton -- one
38
+ folder per section, each with its ROOM.md identity file and the section prompt as
39
+ the opening question. The JSON is the source of truth; this SKILL.md is the human
40
+ and agent-facing index that points at it. When the domain list changes, edit the
41
+ JSON; this index describes the shape, not the contents.
42
+
43
+ ## When Larry should reach for this
44
+
45
+ - A navigator is creating a new venture room and has no structure yet.
46
+ - An opportunity-bank deep-dive needs to assess a banked opportunity against the
47
+ same seven axes a venture would be tested on.
48
+ - A market-attractiveness review is requested (Porter five forces, market sizing,
49
+ beachhead segment selection) and the room lacks a place to file it.
50
+ - Two ventures need to be compared on the same axes -- the seven domains give a
51
+ shared coordinate system.
52
+ - A team-readiness check is needed (mission, aspirations, propensity for risk,
53
+ critical success factors).
54
+
55
+ ## Relationship to other scaffolds
56
+
57
+ This is one of several room scaffolds; it is the market-attractiveness lens,
58
+ complementary to the PWS section structure (`skills/pws-methodology`). PWS organizes
59
+ a room around the venture-design pipeline; the Mullins scaffold organizes it around
60
+ the opportunity-attractiveness diagnostic. A room can carry both -- they answer
61
+ different questions.
@@ -0,0 +1,146 @@
1
+ {
2
+ "version": 1,
3
+ "generated_from": "Mullins Seven Domains of Attractive Opportunities (Phase 84-04, v1.10.8)",
4
+ "sections": [
5
+ {
6
+ "id": "market-size-now",
7
+ "domain": "market",
8
+ "title": "Market Size Today",
9
+ "prompt": "How large is the addressable market right now in units, customers, and dollars?",
10
+ "required": false
11
+ },
12
+ {
13
+ "id": "market-size-five-years",
14
+ "domain": "market",
15
+ "title": "Market Size in Five Years",
16
+ "prompt": "How large will the addressable market be five years out, and what drives that growth?",
17
+ "required": false
18
+ },
19
+ {
20
+ "id": "market-benefits",
21
+ "domain": "market",
22
+ "title": "Market-Level Benefits",
23
+ "prompt": "What benefits does this market deliver that customers cannot easily get elsewhere?",
24
+ "required": false
25
+ },
26
+ {
27
+ "id": "macro-trends",
28
+ "domain": "market-attractiveness",
29
+ "title": "Macro Trends",
30
+ "prompt": "Which macro trends make this market more or less attractive over the planning horizon?",
31
+ "required": false
32
+ },
33
+ {
34
+ "id": "political-regulatory",
35
+ "domain": "market-attractiveness",
36
+ "title": "Political and Regulatory Climate",
37
+ "prompt": "What political, legal, and regulatory forces shape this market's attractiveness?",
38
+ "required": false
39
+ },
40
+ {
41
+ "id": "economic-cycles",
42
+ "domain": "market-attractiveness",
43
+ "title": "Economic Cycles",
44
+ "prompt": "How sensitive is this market to economic cycles, interest rates, and capital availability?",
45
+ "required": false
46
+ },
47
+ {
48
+ "id": "social-cultural",
49
+ "domain": "market-attractiveness",
50
+ "title": "Social and Cultural Forces",
51
+ "prompt": "Which social and cultural shifts pull customers toward or away from this market?",
52
+ "required": false
53
+ },
54
+ {
55
+ "id": "beachhead-segment",
56
+ "domain": "target-segment",
57
+ "title": "Beachhead Segment",
58
+ "prompt": "Which narrowly defined customer segment will the venture win first, and why them?",
59
+ "required": false
60
+ },
61
+ {
62
+ "id": "segment-benefits",
63
+ "domain": "target-segment",
64
+ "title": "Segment-Specific Benefits",
65
+ "prompt": "What unique benefits does this segment receive that no incumbent currently delivers?",
66
+ "required": false
67
+ },
68
+ {
69
+ "id": "segment-reachability",
70
+ "domain": "target-segment",
71
+ "title": "Segment Reachability",
72
+ "prompt": "How will the venture reach this segment economically and at scale?",
73
+ "required": false
74
+ },
75
+ {
76
+ "id": "porter-rivalry",
77
+ "domain": "industry-dynamics",
78
+ "title": "Competitive Rivalry",
79
+ "prompt": "How intense is rivalry among existing competitors in this industry?",
80
+ "required": false
81
+ },
82
+ {
83
+ "id": "porter-suppliers",
84
+ "domain": "industry-dynamics",
85
+ "title": "Supplier Power",
86
+ "prompt": "How much bargaining power do suppliers hold over participants in this industry?",
87
+ "required": false
88
+ },
89
+ {
90
+ "id": "porter-buyers",
91
+ "domain": "industry-dynamics",
92
+ "title": "Buyer Power",
93
+ "prompt": "How much bargaining power do buyers hold, and how price-sensitive are they?",
94
+ "required": false
95
+ },
96
+ {
97
+ "id": "porter-barriers-to-entry",
98
+ "domain": "industry-dynamics",
99
+ "title": "Barriers to Entry",
100
+ "prompt": "What barriers protect insiders from new entrants, and which ones can the venture build?",
101
+ "required": false
102
+ },
103
+ {
104
+ "id": "porter-substitutes",
105
+ "domain": "industry-dynamics",
106
+ "title": "Substitute Threats",
107
+ "prompt": "What substitutes could replace this industry's offering and at what cost?",
108
+ "required": false
109
+ },
110
+ {
111
+ "id": "team-mission",
112
+ "domain": "mission",
113
+ "title": "Team Mission",
114
+ "prompt": "What is the founding team's mission and why is this team the one to pursue it?",
115
+ "required": false
116
+ },
117
+ {
118
+ "id": "team-aspirations",
119
+ "domain": "mission",
120
+ "title": "Team Aspirations",
121
+ "prompt": "What outcomes does the team aspire to over the next three to seven years?",
122
+ "required": false
123
+ },
124
+ {
125
+ "id": "team-propensity-for-risk",
126
+ "domain": "mission",
127
+ "title": "Propensity for Risk",
128
+ "prompt": "How much risk is the team willing and able to absorb, and across which dimensions?",
129
+ "required": false
130
+ },
131
+ {
132
+ "id": "execution-critical-success-factors",
133
+ "domain": "ability-to-execute",
134
+ "title": "Critical Success Factors",
135
+ "prompt": "Which few things must go right for this venture to succeed, and how will the team ensure them?",
136
+ "required": false
137
+ },
138
+ {
139
+ "id": "value-chain-connections",
140
+ "domain": "connectedness",
141
+ "title": "Value Chain Connections",
142
+ "prompt": "Which upstream, downstream, and lateral relationships in the value chain unlock this venture?",
143
+ "required": false
144
+ }
145
+ ]
146
+ }
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: pws-methodology
3
+ description: >
4
+ PWS methodology framework routing and awareness. Relevant when discussing
5
+ methodologies, frameworks, innovation tools, or when Larry needs to suggest
6
+ the right analytical approach for a problem.
7
+ ---
8
+
9
+ # PWS Methodology -- Framework Routing
10
+
11
+ ## Brain-First, References-Fallback
12
+
13
+ If Brain is connected, use it for framework suggestions -- it knows room state and recommends contextually. Otherwise, load `references/methodology/index.md` for the command routing index.
14
+
15
+ ## 26 Methodology Commands
16
+
17
+ All follow the same pattern: thin command file + detailed reference loaded on demand. Each produces structured artifacts filed to the Data Room with user confirmation. Full list: `references/methodology/index.md`.
18
+
19
+ ## Framework Routing Rule
20
+
21
+ When Larry recognizes a problem type, apply the methodology through conversation, never by announcing it. The index enables `/mos:help` to recommend commands based on room state.
22
+
23
+ ## Design-by-Analogy (DbA)
24
+
25
+ Detection signals for analogy suggestion: Tensions with no resolution, domain-specific dead ends, structurally common problems, reverse salients between sections.
26
+
27
+ Commands:
28
+ - `/mos:find-analogies` -- Quick: reads Room, abstracts, finds structural matches
29
+ - `/mos:find-analogies --brain` -- Deep: queries teaching graph for framework bridges
30
+ - `/mos:find-analogies --external` -- Broad: AskNature, patents, papers via Tavily
31
+ - `/mos:pipeline analogy` -- Full 5-stage: Decompose -> Abstract -> Search -> Transfer -> Validate
32
+
33
+ References: `pipelines/analogy/CHAIN.md`, `references/methodology/triz-matrix.json`, `references/methodology/triz-principles.md`, `references/methodology/sapphire-encoding.md`
34
+
35
+ ## Parallel Power Commands
36
+
37
+ - `/mos:act --swarm` -- 3+ Sections with Blind Spots
38
+ - `/mos:persona --parallel` -- Multiple perspectives fast
39
+ - `/mos:grade --full` -- 3+ Sections populated
40
+ - `/mos:research --broad` -- Multi-angle research
41
+ - `/mos:models` -- Cost/token usage
42
+
43
+ ## Sentinel Intelligence
44
+
45
+ - `/mos:scout` -- Room health-check, deadline monitoring
46
+
47
+ ## Tier 2 Lexicon
48
+
49
+ During methodology sessions, load the relevant section from `references/personality/pws-lexicon-full.md` for precise PWS vocabulary with real teaching quotes.
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: room-passive
3
+ description: >
4
+ Data Room awareness, filing intelligence, and passive monitoring. Active when
5
+ room/ exists -- gives Larry project structure context and filing guidance.
6
+ activation: "resolve_room:active"
7
+ paths:
8
+ - "**/STATE.md"
9
+ - "**/ROOM.md"
10
+ - "**/MindrianRooms/**"
11
+ - "**/.rooms/**"
12
+ ---
13
+
14
+ # Room Passive -- Awareness + Filing Intelligence
15
+
16
+ ## Activation
17
+
18
+ This skill activates when `scripts/resolve-room` finds any active room. The resolver checks (in order): central registry at `~/MindrianRooms/.rooms/registry.json`, directory scan under `~/MindrianRooms/`, workspace registry, and legacy `room/` fallback. If any strategy returns a path, this skill is active.
19
+
20
+ The resolved room path (absolute) is the working room for all operations below.
21
+
22
+ ## Room Awareness
23
+
24
+ Be aware of the active room's structure: reference specific sections, note empty sections as opportunities, use entry counts for completeness, read ROOM.md for section purpose. The room lives under `~/MindrianRooms/[name]/` (or legacy `room/` for unmigrated workspaces).
25
+
26
+ ## Room Structure
27
+
28
+ 8 DD-aligned sections: problem-definition, market-analysis, solution-design, business-model, competitive-analysis, team-execution, legal-ip, financial-model
29
+
30
+ Plus: `team/` (members/mentors/advisors with ICM nested profiles), `meetings/` (YYYY-MM-DD-{name}/ archives)
31
+
32
+ ## ICM Layer 0 Mandate (MANDATORY)
33
+
34
+ Every directory in the Data Room MUST have an identity file (ROOM.md). No exceptions.
35
+ This is ICM Layer 0 -- it answers "Where am I? What belongs here? What does NOT belong here?"
36
+
37
+ ### The Rule
38
+ When creating ANY new directory -- whether a room section, sub-room, team profile folder,
39
+ meeting archive, opportunity bank, or any other folder -- ALWAYS create a ROOM.md inside it.
40
+
41
+ ### ROOM.md Template
42
+ ```markdown
43
+ ---
44
+ icm_layer: 0
45
+ section: {section-name or folder-type}
46
+ parent: {parent-room-or-directory}
47
+ ---
48
+ # {Folder Display Name}
49
+
50
+ {One sentence: what this folder contains.}
51
+
52
+ ## What Belongs Here
53
+ - {2-4 bullet points}
54
+
55
+ ## What Does NOT Belong Here
56
+ - {2-3 redirects to correct locations}
57
+ ```
58
+
59
+ ### Enforcement
60
+ - When filing an artifact to a section that lacks ROOM.md, create it FIRST
61
+ - When creating a new sub-room, create ROOM.md for every section directory
62
+ - When running /mos:room or room analysis, flag directories missing ROOM.md as ICM gaps
63
+ - Scripts that create directories (create-speaker-profile, create-room, etc.) MUST generate ROOM.md
64
+ - This applies to ALL rooms, ALL sub-rooms, ALL sections, ALL special folders -- no exceptions
65
+
66
+ ### Why This Matters
67
+ Without Layer 0, Claude (on any surface -- CLI, Desktop, Cowork) cannot determine what belongs
68
+ in a folder. This leads to misfiling, duplication, and lost context. ROOM.md is the folder's
69
+ contract with every agent that touches it.
70
+
71
+ ## Filing Intelligence
72
+
73
+ When methodology produces an artifact:
74
+ 1. Suggest correct room from methodology's default (see `references/methodology/index.md`)
75
+ 2. Confirm before filing -- NEVER file silently
76
+ 3. Uncertain classification: analyze content and suggest best section
77
+ 4. Cross-room relevance: file to primary, mention secondary
78
+
79
+ ### Wikilink Injection on Filing (NATIVE-02)
80
+
81
+ **Rule:** Whenever you write a new artifact into the active room (via any skill, command, or direct edit), the artifact MUST arrive with wikilinks already present. Do NOT leave wikilinking to a retroactive batch pass -- wikilinks are part of the artifact's birth, not a later cleanup.
82
+
83
+ **How (preferred -- call the wrapper):**
84
+
85
+ After writing a new file, immediately run:
86
+ ```bash
87
+ node scripts/wikilink-file.cjs "$ROOM_DIR" "$NEW_FILE_PATH" \
88
+ [--filed-to-target="market-analysis/2026-04-09-tam.md"] \
89
+ [--meeting-slug="2026-04-09-align-strategy-session"]
90
+ ```
91
+
92
+ The wrapper loads `lib/vault/room-scanner.cjs` + `lib/vault/wikilink-builder.cjs`, scans the room once, injects team-name wikilinks into the new file's body, and (if a meeting slug is given) appends a filed-to footer. Errors are logged to stderr but never abort filing -- backward compatibility is non-negotiable.
93
+
94
+ **How (manual -- when running the wrapper is not feasible):**
95
+
96
+ Inject wikilinks directly while writing the artifact:
97
+
98
+ - **Team members:** First occurrence of each team member display name in the body -> `[[team/{category}/{slug}/PROFILE.md|{Display Name}]]`. Longer names beat prefixes (e.g., "Avital Leibovich" wins over "Avital"). Never self-link (the person's own PROFILE.md stays plain).
99
+ - **Section references** in STATE.md / ROOM.md -> `[[{section}/ROOM.md|{section}]]`
100
+ - **Filed-to stubs** (one stub per filed artifact under `meetings/{slug}/filed-to/`) -> include BOTH lines:
101
+ ```
102
+ -> Full artifact: [[{section}/{artifact-filename}.md]]
103
+ <- Source meeting: [[meetings/{slug}/summary.md|{Meeting Display Name}]]
104
+ ```
105
+ - **Meeting display name** is the slug with the `YYYY-MM-DD-` prefix stripped and the remainder title-cased ("2026-04-09-align-strategy-session" -> "Align Strategy Session").
106
+
107
+ **Graceful fallback (WIKI-06):** If the room has zero team profiles or zero meetings, skip that link type. Do not crash, do not invent targets.
108
+
109
+ **Idempotence:** Never double-link. If `[[...|Name]]` already exists for a display name, don't add another occurrence of the same link. If a filed-to footer line already exists, do not duplicate it.
110
+
111
+ **Canonical builder module:** See `lib/vault/wikilink-builder.cjs` -- it exports `buildTeamLinks`, `buildSectionLink`, `buildMeetingLink`, `buildFiledToFooter`, `injectFiledToFooter` as pure functions. The `scripts/wikilink-file.cjs` wrapper is the preferred filing-time entry point. Phase 76's retroactive `scripts/vault-wikilink-injector.cjs` remains available for whole-room sweeps.
112
+
113
+ ## Active Room Lock (Multi-Room)
114
+
115
+ When `.rooms/registry.json` exists:
116
+ - Resolve active room before ANY write
117
+ - Target path MUST be inside active room
118
+ - Block cross-room writes with error + fix (`/mos:rooms open [target]`)
119
+ - Non-room writes always allowed
120
+ - Admin commands room-agnostic
121
+
122
+ Single-room mode (no registry): skip lock checks.
123
+
124
+ ## Provenance Metadata
125
+
126
+ Every filed artifact MUST include frontmatter: methodology, created, depth, problem_type, venture_stage, room_section.
127
+
128
+ ## Meeting-Sourced Artifacts
129
+
130
+ `source: transcript` artifacts carry extended metadata: speaker, speaker_role, meeting_date, segment_type, confidence, assumptions, perspective, cascade_sections.
131
+
132
+ - Cross-linked to topic section AND speaker profile
133
+ - Track assumption validity across sessions
134
+ - Cascade awareness via `cascade_sections:` field
135
+
136
+ For ad-hoc meeting mentions, suggest `/mos:file-meeting` for structured filing.
137
+
138
+ ## UDS Cross-Instance Listener Stubs (READY-03)
139
+
140
+ <!-- UDS (Unified Data Sharing) is a future Anthropic feature for cross-instance state sharing.
141
+ When UDS ships, room-passive should listen for external room updates from other Claude instances
142
+ (e.g., a Cowork teammate files an artifact, and your Desktop session sees it).
143
+
144
+ Activation conditions:
145
+ 1. Environment variable `tengu_harbor` is set to `true` (UDS feature gate)
146
+ 2. OR file `room/.mindrian/uds-active` exists
147
+ 3. AND room has multi-user configuration in room/.mindrian/uds-config.json
148
+
149
+ When active, room-passive should:
150
+ - Poll room/.mindrian/uds-inbox/ for incoming state diffs from other instances
151
+ - Apply diffs to local room state (new artifacts, updated STATE.md sections)
152
+ - Surface changes to user: "A teammate filed a new market analysis entry. Want to review?"
153
+ - Write acknowledgments to room/.mindrian/uds-outbox/ for sync confirmation
154
+
155
+ Until UDS ships, this is a no-op. The stubs exist so that:
156
+ - The room-passive skill already documents the integration surface
157
+ - When UDS activates via GrowthBook gate, only the transport layer needs implementation
158
+ - The skill instructions (what to do with incoming changes) are already defined
159
+ -->
160
+
161
+ When `tengu_harbor` env var is `true` or `room/.mindrian/uds-active` exists, check `room/.mindrian/uds-inbox/` for cross-instance updates on session start. Surface new entries to user before standard greeting. This is a future capability -- currently a no-op until UDS ships.
162
+
163
+ ## Wiki Dashboard Awareness
164
+
165
+ When room has 2+ sections with content, mention wiki once per session after filing, analyzing, or first methodology output: "`/mos:wiki` for live wiki view." Sharing: `/mos:wiki --export` for static HTML bundle.