@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,178 @@
1
+ # Graph Visualization Standard
2
+
3
+ **Decision:** vis-network (vis.js) is the standard graph visualization library for ALL MindrianOS exports, snapshots, dashboards, and visual presentations.
4
+
5
+ **Decided:** 2026-04-06
6
+ **Supersedes:** Cytoscape.js for exports (Cytoscape.js retained for internal plugin dashboard only)
7
+
8
+ ## Why vis-network
9
+
10
+ | Requirement | vis-network | Cytoscape.js |
11
+ |-------------|-------------|--------------|
12
+ | Physics simulation | Built-in ForceAtlas2, excellent | Available but less polished |
13
+ | Drag & drop | Excellent out-of-box | Good |
14
+ | Learning curve | Simple API | Steep |
15
+ | Clustering | Built-in | Requires extensions |
16
+ | Visual quality | Beautiful by default | Needs heavy styling |
17
+ | Setup | `new Network(container, data, options)` | Verbose config |
18
+
19
+ Cytoscape.js has superior graph algorithms (50+ built-in) but exports don't need algorithms -- they need beautiful interactive exploration.
20
+
21
+ ## When to Use What
22
+
23
+ | Context | Library | Reason |
24
+ |---------|---------|--------|
25
+ | SnapshotHub exports | vis-network | Beauty + interaction for stakeholders |
26
+ | /mos:present views | vis-network | Same as SnapshotHub |
27
+ | /mos:dashboard live server | vis-network | Consistency with exports |
28
+ | /mos:visualize command | vis-network | Standard graph output |
29
+ | Plugin internal (Brain queries) | Cytoscape.js | Graph algorithms needed |
30
+
31
+ ## Standard Configuration
32
+
33
+ ```javascript
34
+ var options = {
35
+ physics: {
36
+ enabled: true,
37
+ solver: 'forceAtlas2Based',
38
+ forceAtlas2Based: {
39
+ gravitationalConstant: -40,
40
+ centralGravity: 0.008,
41
+ springLength: 120,
42
+ springConstant: 0.04,
43
+ damping: 0.4
44
+ },
45
+ stabilization: { iterations: 200, fit: true }
46
+ },
47
+ interaction: {
48
+ hover: true,
49
+ tooltipDelay: 200,
50
+ zoomView: true,
51
+ dragView: true,
52
+ keyboard: { enabled: true }
53
+ },
54
+ nodes: {
55
+ font: {
56
+ color: '#ccc',
57
+ size: 11,
58
+ face: 'Inter, system-ui, sans-serif',
59
+ strokeWidth: 3,
60
+ strokeColor: '#0a0a0f'
61
+ },
62
+ borderWidth: 2,
63
+ shadow: { enabled: true, color: 'rgba(0,0,0,0.3)', size: 6 }
64
+ },
65
+ edges: {
66
+ smooth: { type: 'continuous', roundness: 0.3 },
67
+ hoverWidth: 2
68
+ },
69
+ layout: { improvedLayout: true }
70
+ };
71
+ ```
72
+
73
+ ## Node Shapes
74
+
75
+ | Node Type | Shape | Size | Description |
76
+ |-----------|-------|------|-------------|
77
+ | Section header | diamond | 20 | Room section nodes (problem-definition, market-analysis, etc.) |
78
+ | Artifact | dot | 12 | Individual entries/documents |
79
+ | Framework | triangle | 16 | Methodology framework nodes (for Brain views) |
80
+ | Person | square | 14 | Team member or speaker nodes |
81
+
82
+ ## Edge Colors
83
+
84
+ | Edge Type | Color | Opacity | Description |
85
+ |-----------|-------|---------|-------------|
86
+ | CONVERGES | #2ECC71 | 0.4 | Themes align across sections |
87
+ | CONTRADICTS | #E74C3C | 0.4 | Tension detected between entries |
88
+ | INFORMS | #3498DB | 0.4 | One entry informs another |
89
+ | INVALIDATES | #E67E22 | 0.5 | One entry invalidates another |
90
+ | FEEDS_INTO | #9B59B6 | 0.5 | Framework chains (Brain views) |
91
+
92
+ ## Section Colors
93
+
94
+ | Section | Color | Hex |
95
+ |---------|-------|-----|
96
+ | problem-definition | Red | #E74C3C |
97
+ | market-analysis | Yellow/Gold | #F39C12 |
98
+ | solution-design | Blue | #3498DB |
99
+ | business-model | Green | #2ECC71 |
100
+ | competitive-analysis | Orange | #E67E22 |
101
+ | team-execution | Purple | #9B59B6 |
102
+ | legal-ip | Gold | #D4AC0D |
103
+ | financial-model | Teal | #1ABC9C |
104
+ | personas | Deep Purple | #8E44AD |
105
+ | opportunity-bank | Forest Green | #27AE60 |
106
+ | meetings | Gray | #7F8C8D |
107
+
108
+ ## CDN
109
+
110
+ ```html
111
+ <script src="https://unpkg.com/vis-network@9.1.9/standalone/umd/vis-network.min.js"></script>
112
+ ```
113
+
114
+ ## Required UI Elements
115
+
116
+ Every graph view MUST include:
117
+
118
+ 1. **Sidebar** with section filter toggles and edge type toggles
119
+ 2. **Detail panel** that appears on node click (shows connections)
120
+ 3. **Controls bar** at bottom: Fit, Zoom +/-, Physics toggle, Stabilize
121
+ 4. **Back to Hub** link in top bar
122
+ 5. **Mindrian branding** with Mondrian color bar
123
+ 6. **Legend** explaining edge types and node shapes
124
+ 7. **Stats** showing node/edge counts
125
+
126
+ ## Dark Theme (Standard)
127
+
128
+ ```css
129
+ body { background: #0a0a0f; }
130
+ sidebar { background: #0d0d14; border-right: 1px solid #1a1a2a; }
131
+ top-bar { background: #0d0d12; }
132
+ node-font-color: #ccc
133
+ node-font-stroke: #0a0a0f (3px outline for readability)
134
+ detail-panel: #12121a with backdrop-filter: blur(8px)
135
+ ```
136
+
137
+ ## Integration Points
138
+
139
+ - `scripts/generate-hub.cjs` -- embeds vis-network graph in SnapshotHub
140
+ - `scripts/generate-snapshot.cjs` -- constellation view uses vis-network
141
+ - `scripts/generate-presentation.cjs` -- graph view uses vis-network
142
+ - `lib/quickview/hub-server.cjs` -- live dashboard graph uses vis-network
143
+ - `dashboard/index.html` -- localhost dashboard uses vis-network
144
+
145
+ ---
146
+
147
+ ## Pitch Deck Standard (v1.9.3)
148
+
149
+ The SnapshotHub pitch deck uses the `/slides` skill structure:
150
+ - 10-slide YC Seed Deck format
151
+ - Chart.js for all data visualizations (minimum 3 charts)
152
+ - 16:9 aspect ratio with keyboard navigation (arrows + click)
153
+ - Progress bar at top
154
+ - De Stijl dark palette (#0a0a0f background, Mondrian accents)
155
+ - Bebas Neue headings, Inter body
156
+ - MINDRIAN logo + Back to Hub link
157
+ - Mobile responsive (breakpoints at 900px, 600px)
158
+ - Mondrian color bar footer
159
+
160
+ ### Slide Structure
161
+ 1. Title/Hook (AIDA formula)
162
+ 2. Problem (PAS formula)
163
+ 3. Convergence/IKA (Chart.js horizontal bar)
164
+ 4. Solution (TRL progress bars)
165
+ 5. Market & Timing (Chart.js S-curve lines)
166
+ 6. Competitive Landscape (grid with check/miss)
167
+ 7. Business Model (Chart.js stacked bar)
168
+ 8. Team (credential grid)
169
+ 9. Traction & Timeline (milestone cards)
170
+ 10. The Ask/CTA (AIDA urgency)
171
+
172
+ ### Generator Integration
173
+ `generate-hub.cjs` should produce this deck as `views/deck.html` by:
174
+ 1. Reading room sections for content
175
+ 2. Extracting metrics from STATE.md
176
+ 3. Building Chart.js datasets from market-analysis/ and financial-model/
177
+ 4. Generating persona card from team/ data
178
+ 5. Using the slide template from references/templates/deck-template.html
@@ -0,0 +1,179 @@
1
+ # Document Generation Reference
2
+
3
+ *Professional document structuring for MindrianOS — De Stijl formatted exports from the Data Room.*
4
+
5
+ ---
6
+
7
+ ## Architecture
8
+
9
+ ```
10
+ Room Markdown Artifacts (YAML frontmatter)
11
+
12
+ markdown2 (parse to HTML + extract metadata)
13
+
14
+ Jinja2 (inject into document-type template)
15
+
16
+ De Stijl CSS stylesheet (shared across all templates)
17
+
18
+ WeasyPrint (render to PDF)
19
+
20
+ PyMuPDF (optional: TOC bookmarks, merge sections, watermark)
21
+
22
+ room/exports/{document-type}.pdf
23
+ ```
24
+
25
+ **Zero additional dependencies.** All tools already installed:
26
+ - WeasyPrint 67.0 (HTML+CSS → PDF, CSS3 paged media)
27
+ - markdown2 2.5.4 (Markdown → HTML with frontmatter)
28
+ - Jinja2 3.1.6 (template engine)
29
+ - PyMuPDF 1.26.6 (PDF manipulation, TOC, merge)
30
+ - PyYAML 6.0.3 (frontmatter parsing)
31
+
32
+ ---
33
+
34
+ ## Document Types
35
+
36
+ | Document | Use Case | Template Style |
37
+ |----------|----------|---------------|
38
+ | **Investment Thesis** | Structured narrative for investors — problem, market, solution, financials | Multi-page portrait, section breaks, De Stijl accent bars |
39
+ | **Executive Summary** | 1-2 page dense overview of entire Data Room | Two-column layout, tight margins, summary boxes |
40
+ | **Due Diligence Report** | Comprehensive multi-section with TOC | Running headers, page numbers, section numbering |
41
+ | **Research Paper** | Academic-style with citations and methodology | Two-column body, footnotes, bibliography |
42
+ | **PWS Profile** | Professional profile/resume for cohort members | Single-page grid layout, accent bars, skill visualization |
43
+ | **Pitch Deck** | Landscape slides for presentation | Landscape @page, large headings, one-concept-per-page |
44
+ | **Venture Brief** | Quick 1-pager for stakeholder review | Constrained single page, key highlights only |
45
+
46
+ ---
47
+
48
+ ## De Stijl CSS for PDF
49
+
50
+ ```css
51
+ @page {
52
+ size: A4;
53
+ margin: 24mm 20mm;
54
+ background: #0D0D0D;
55
+
56
+ @top-center {
57
+ content: string(doctitle);
58
+ font-family: 'Bebas Neue', sans-serif;
59
+ color: #A09A90;
60
+ font-size: 10px;
61
+ }
62
+
63
+ @bottom-right {
64
+ content: counter(page) ' / ' counter(pages);
65
+ font-family: 'Inter', sans-serif;
66
+ color: #A09A90;
67
+ font-size: 10px;
68
+ }
69
+ }
70
+
71
+ :root {
72
+ --ds-bg: #0D0D0D;
73
+ --ds-surface: #1A1A1A;
74
+ --ds-elevated: #2A2A2A;
75
+ --ds-cream: #F5F0E8;
76
+ --ds-muted: #A09A90;
77
+ --ds-red: #A63D2F;
78
+ --ds-blue: #1E3A6E;
79
+ --ds-yellow: #C8A43C;
80
+ --ds-green: #2D6B4A;
81
+ --ds-sienna: #B5602A;
82
+ --ds-gray: #5C5A56;
83
+ --ds-amethyst: #6B4E8B;
84
+ --ds-teal: #2A6B5E;
85
+ }
86
+
87
+ body {
88
+ font-family: 'Inter', sans-serif;
89
+ color: var(--ds-cream);
90
+ background: var(--ds-bg);
91
+ line-height: 1.6;
92
+ }
93
+
94
+ h1, h2, h3 {
95
+ font-family: 'Bebas Neue', sans-serif;
96
+ letter-spacing: 0.05em;
97
+ }
98
+
99
+ * { border-radius: 0; }
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Room Section → Document Section Mapping
105
+
106
+ | Room Section | Document Section | Accent Color |
107
+ |-------------|-----------------|-------------|
108
+ | problem-definition | Problem Statement / Opportunity | Red #A63D2F |
109
+ | market-analysis | Market Analysis / TAM-SAM-SOM | Yellow #C8A43C |
110
+ | solution-design | Solution Architecture / Technical Approach | Gray #5C5A56 |
111
+ | business-model | Business Model / Revenue Strategy | Green #2D6B4A |
112
+ | competitive-analysis | Competitive Landscape / Moat | Sienna #B5602A |
113
+ | team-execution | Team / Execution Plan | Blue #1E3A6E |
114
+ | legal-ip | Legal / IP Strategy | Amethyst #6B4E8B |
115
+ | financial-model | Financial Projections / Investment Ask | Teal #2A6B5E |
116
+
117
+ ---
118
+
119
+ ## Implementation Plan
120
+
121
+ ### Plugin Files Needed
122
+
123
+ ```
124
+ templates/
125
+ destijl-base.css # Shared De Stijl stylesheet for PDF
126
+ investment-thesis.html # Jinja2 template
127
+ executive-summary.html # Jinja2 template
128
+ due-diligence.html # Jinja2 template
129
+ research-paper.html # Jinja2 template
130
+ profile.html # Jinja2 template (PWS profiles)
131
+ pitch-deck.html # Jinja2 template (landscape)
132
+ venture-brief.html # Jinja2 template (1-page)
133
+ assets/
134
+ fonts/BebasNeue-Regular.ttf # Bundled font (~50KB)
135
+ scripts/
136
+ render-pdf # Orchestrator: reads room, selects template, renders PDF
137
+ commands/
138
+ export.md # /mos:export thesis|summary|report|profile|deck|brief
139
+ ```
140
+
141
+ ### Command UX
142
+
143
+ ```
144
+ /mos:export thesis → Investment thesis PDF from full room
145
+ /mos:export summary → 1-2 page executive summary
146
+ /mos:export report → Due diligence report with TOC
147
+ /mos:export profile → PWS profile for a cohort member
148
+ /mos:export deck → Landscape pitch deck
149
+ /mos:export brief → 1-page venture brief
150
+ ```
151
+
152
+ ### Tri-Polar Surface Behavior
153
+
154
+ | Surface | Behavior |
155
+ |---------|----------|
156
+ | **CLI** | `render-pdf` script generates PDF, opens with default viewer |
157
+ | **Desktop** | Larry offers "Want me to export this as a PDF?" after key milestones |
158
+ | **Cowork** | Export to shared `00_Context/exports/` directory, visible to all team members |
159
+
160
+ ---
161
+
162
+ ## LaTeX Skill Pattern Reference
163
+
164
+ The "LaTeX Handouts" Claude Code skill (mcpmarket.com) demonstrates the pattern:
165
+ - Skill reads source content (slides/markdown)
166
+ - Expands bullets into research-backed prose
167
+ - Generates structured professional document
168
+ - Outputs as standalone file
169
+
170
+ MindrianOS follows the same pattern but uses HTML→PDF (WeasyPrint) instead of LaTeX→PDF,
171
+ keeping zero dependencies while achieving the same professional output quality.
172
+
173
+ ---
174
+
175
+ ## Font Bundling Note
176
+
177
+ Bebas Neue is a free Google Font (SIL Open Font License). Bundle the .ttf in the plugin's
178
+ assets/ directory (~50KB). WeasyPrint loads it via @font-face in the CSS template.
179
+ No system font installation required.
@@ -0,0 +1,222 @@
1
+ # HSI & Reverse Salient Discovery — Tool Reference
2
+
3
+ *Computational engines for auto-relationship building in the Data Room knowledge graph.*
4
+
5
+ ---
6
+
7
+ ## What These Tools Do for MindrianOS
8
+
9
+ The HSI (Hybrid Similarity Index) and Reverse Salient Discovery framework provide the **computational backbone for auto-discovering cross-relationships** in the Data Room. Instead of relying only on keyword matching or explicit cross-references, these tools find HIDDEN connections between room artifacts using dual similarity analysis.
10
+
11
+ ### The Core Insight
12
+
13
+ When two room artifacts share **structural similarity** (same methods/terms) but LOW **semantic similarity** (different meanings/applications), OR vice versa — that GAP is where hidden innovation connections live.
14
+
15
+ ```
16
+ HSI(artifact_i, artifact_j) = |BERT_similarity - LSA_similarity| × Integrative_Factor
17
+
18
+ High HSI = "These two artifacts are connected in ways nobody sees"
19
+ ```
20
+
21
+ ### Application to Data Room
22
+
23
+ | Source Tool | Data Room Application |
24
+ |-------------|----------------------|
25
+ | LSA (TF-IDF + SVD) | Structural similarity between room artifacts (shared terminology) |
26
+ | BERT embeddings | Semantic similarity between room artifacts (shared meaning) |
27
+ | HSI differential | Hidden connections: artifacts that share structure but not meaning, or meaning but not structure |
28
+ | Reverse Salient detection | Cross-subsystem innovation opportunities — where a solution in one room section addresses a problem in another |
29
+ | Top pairs extraction | The most surprising connections to surface to the user |
30
+
31
+ ### Integration with Meeting Filing
32
+
33
+ After meeting segments are filed to room sections, the HSI pipeline runs:
34
+ 1. Compute LSA similarity between ALL room artifacts (including new meeting segments)
35
+ 2. Compute BERT/embedding similarity between all artifacts
36
+ 3. Find high-differential pairs (|BERT - LSA| > threshold)
37
+ 4. Surface as ENABLES/INFORMS/CONTRADICTS edges in the knowledge graph
38
+ 5. Larry says: "I found a hidden connection between your mentor's advice and your market analysis that nobody mentioned in the meeting."
39
+
40
+ ---
41
+
42
+ ## Tool 1: HSI Computational Pipeline
43
+
44
+ ### Architecture
45
+
46
+ ```
47
+ Room artifacts (text) → TF-IDF vectorization → TruncatedSVD (80 components) → LSA similarity matrix
48
+ Room artifacts (text) → BERT tokenization → segment embeddings → BERT similarity matrix
49
+ |BERT - LSA| = differential matrix → HSI score × integrative factor → top pairs = hidden connections
50
+ ```
51
+
52
+ ### Key Parameters
53
+
54
+ | Parameter | Value | Purpose |
55
+ |-----------|-------|---------|
56
+ | max_features | 2000 | TF-IDF vocabulary size |
57
+ | n_components | 80 | SVD dimensions (topic space) |
58
+ | max_df | 0.5 | Ignore terms in >50% of docs |
59
+ | BERT model | bert-large-cased | Semantic embeddings |
60
+ | max_tokens | 512 | BERT segment size |
61
+ | threshold | 0.3 | Minimum differential for reverse salient |
62
+
63
+ ### Adaptation for Plugin
64
+
65
+ **Problem:** BERT-large requires ~1.3GB memory + GPU. Plugin must work on CPU with low memory.
66
+
67
+ **Solution (already proven):** Gemini-Native HSI — replace BERT with Claude/Gemini embedding API:
68
+ - `text-embedding-004` or Claude's native embeddings
69
+ - API-based, no local GPU needed
70
+ - Minutes instead of hours
71
+ - Fits within plugin constraints
72
+
73
+ **Alternative:** Use Pinecone (already integrated as Brain MCP) for embedding similarity. Room artifacts get embedded at filing time. Cross-similarity is a Pinecone query.
74
+
75
+ ### LSA Component (lsa.py adapted)
76
+
77
+ ```python
78
+ # Adapted for room artifacts instead of papers
79
+ from sklearn.feature_extraction.text import TfidfVectorizer
80
+ from sklearn.decomposition import TruncatedSVD
81
+
82
+ def compute_lsa_similarity(artifacts: list[str]) -> np.ndarray:
83
+ vectorizer = TfidfVectorizer(stop_words='english', max_features=2000, max_df=0.5)
84
+ X = vectorizer.fit_transform(artifacts)
85
+ svd = TruncatedSVD(n_components=min(80, len(artifacts)-1), random_state=256)
86
+ Z = svd.fit_transform(X)
87
+ sim = cosine_similarity(Z)
88
+ # Normalize to [0,1]
89
+ sim = (sim - sim.min()) / (sim.max() - sim.min() + 1e-12)
90
+ return sim
91
+ ```
92
+
93
+ ### Semantic Component (adapted for plugin)
94
+
95
+ ```python
96
+ # Option A: Pinecone embeddings (if Brain connected)
97
+ def compute_semantic_similarity_pinecone(artifact_ids: list[str]) -> np.ndarray:
98
+ # Query Pinecone for existing embeddings
99
+ # Compute pairwise cosine similarity
100
+ pass
101
+
102
+ # Option B: Local lightweight embeddings (Tier 0)
103
+ def compute_semantic_similarity_local(artifacts: list[str]) -> np.ndarray:
104
+ from sentence_transformers import SentenceTransformer
105
+ model = SentenceTransformer('all-MiniLM-L6-v2') # 80MB, CPU-friendly
106
+ embeddings = model.encode(artifacts)
107
+ sim = cosine_similarity(embeddings)
108
+ sim = (sim - sim.min()) / (sim.max() - sim.min() + 1e-12)
109
+ return sim
110
+ ```
111
+
112
+ ### HSI Computation
113
+
114
+ ```python
115
+ def compute_hsi(artifacts: list[str]) -> dict:
116
+ lsa = compute_lsa_similarity(artifacts)
117
+ semantic = compute_semantic_similarity_local(artifacts) # or Pinecone
118
+
119
+ # Differential = hidden connections
120
+ gap = np.abs(semantic - lsa)
121
+ gap = (gap - gap.min()) / (gap.max() - gap.min() + 1e-12)
122
+
123
+ return {"lsa": lsa, "semantic": semantic, "hsi": gap}
124
+
125
+ def top_hidden_connections(hsi: np.ndarray, artifacts: list, k=10):
126
+ n = hsi.shape[0]
127
+ pairs = []
128
+ for i in range(n):
129
+ for j in range(i+1, n):
130
+ if hsi[i,j] > 0.3: # threshold
131
+ pairs.append((i, j, float(hsi[i,j])))
132
+ pairs.sort(key=lambda x: x[2], reverse=True)
133
+ return pairs[:k]
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Tool 2: Reverse Salient Discovery Framework
139
+
140
+ ### The 4-Phase Pipeline
141
+
142
+ ```
143
+ Phase 1: ACQUIRE — gather all room artifacts as "documents"
144
+ Phase 2: ANALYZE — compute dual similarity (LSA + semantic)
145
+ Phase 3: DETECT — find high-differential pairs (reverse salients)
146
+ Phase 4: SYNTHESIZE — generate innovation thesis for each pair
147
+ ```
148
+
149
+ ### Adaptation for Data Room Auto-Relationships
150
+
151
+ Instead of analyzing academic papers across domains, we analyze ROOM ARTIFACTS across sections:
152
+
153
+ | Framework Concept | Data Room Equivalent |
154
+ |-------------------|---------------------|
155
+ | Domain A papers | Artifacts in section A (e.g., market-analysis) |
156
+ | Domain B papers | Artifacts in section B (e.g., solution-design) |
157
+ | Cross-domain reverse salient | Hidden connection between sections |
158
+ | Innovation thesis | Larry's insight: "This market trend enables that technical approach" |
159
+
160
+ ### Edge Types Generated
161
+
162
+ | HSI Pattern | Edge Type | Example |
163
+ |-------------|-----------|---------|
164
+ | High structural, low semantic | ENABLES | "Same method, different application — this technique in solution-design could address the gap in market-analysis" |
165
+ | Low structural, high semantic | INFORMS | "Different words, same concept — the mentor's advice about timing maps to the S-curve analysis" |
166
+ | High differential + contradiction | CONTRADICTS | "These two artifacts say opposite things using different language" |
167
+ | Multiple artifacts → same concept | CONVERGES | "Three meetings, three speakers, all pointing to the same insight from different angles" |
168
+ | Change in one → invalidates other | INVALIDATES | "This new finding makes the assumption in financial-model stale" |
169
+
170
+ ### Neo4j Storage (when Brain connected)
171
+
172
+ ```cypher
173
+ // Store discovered relationships
174
+ MERGE (a1:RoomArtifact {id: $artifact1_id})
175
+ MERGE (a2:RoomArtifact {id: $artifact2_id})
176
+ CREATE (a1)-[:HSI_CONNECTION {
177
+ hsi_score: $score,
178
+ lsa_sim: $lsa,
179
+ semantic_sim: $semantic,
180
+ connection_type: $type,
181
+ discovered: datetime(),
182
+ human_approved: null
183
+ }]->(a2)
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Integration with Phase 6 (Cross-Relationship Discovery Loop)
189
+
190
+ Plan 06-03 builds the cross-relationship discovery loop. The HSI tools integrate as:
191
+
192
+ ```
193
+ Artifact filed (from meeting or methodology session)
194
+
195
+ Step 6: Cross-relationship scan
196
+
197
+ Option A (Tier 0, no deps): Keyword-based (existing analyze-room)
198
+ Option B (Tier 1, lightweight): LSA + MiniLM embeddings (this reference)
199
+ Option C (Tier 2, Brain): LSA + Pinecone + Neo4j storage
200
+
201
+ Hidden connections surfaced → Larry presents → User APPROVE/REJECT/DEFER
202
+
203
+ Graph edges created → Dashboard updated → Knowledge compounds
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Source Files
209
+
210
+ Original HSI codebase (Jonathan's research):
211
+ - `lsa.py` — LSA similarity computation (TF-IDF + TruncatedSVD)
212
+ - `sts_bert.py` — BERT semantic similarity (segment-aware cosine)
213
+ - `comparison.py` — Differential analysis + reverse salient extraction
214
+ - `paper_gathering.py` — Scopus API document acquisition
215
+ - `paper_cleaning.py` — Text preprocessing
216
+ - `lsa_bert_similarity.py` — Combined LSA + BERT pipeline
217
+ - `hybrid_index.py` — HSI computation with integrative scoring
218
+
219
+ Enhanced framework:
220
+ - Reverse Salient Discovery Agent (4-phase pipeline)
221
+ - Neo4j integration schema for storing/querying discoveries
222
+ - Dynamic threshold adjustment based on domain characteristics