@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,272 @@
1
+ # RESEARCH_17: MCP UI Frameworks -- Solving the Filesystem Invisibility Problem
2
+
3
+ **Date:** 2026-04-06
4
+ **Source:** Community research, MCP Apps spec, open-source ecosystem scan
5
+ **Purpose:** Map available UI frameworks to MindrianOS UX friction points identified in RESEARCH_16 and the 2026-04-05 Lawrence/Leah user session
6
+ **Depends on:** RESEARCH_16 (Native-First Architecture), user-research/2026-04-05-leah-lawrence-session.md
7
+
8
+ ---
9
+
10
+ ## 1. The Problem This Solves
11
+
12
+ User session finding (2026-04-05):
13
+ > "I was stressing me out, the file structure, because I didn't understand it." -- Lawrence Aronhime
14
+
15
+ Design principle from session analysis:
16
+ > "The folder structure must be invisible to the user while remaining the source of truth for the system."
17
+
18
+ Current MindrianOS exports (dashboard, wiki, deck, graph) are generated as static HTML files that open in a browser. They work but require:
19
+ 1. User to know the `/mos:export` or `/mos:visualize` command exists
20
+ 2. A separate browser window
21
+ 3. No interactivity (static snapshots)
22
+ 4. No inline chat integration
23
+
24
+ MCP Apps solve this by rendering interactive UI INSIDE the chat interface -- Claude Desktop, Cowork, or any MCP-compatible client.
25
+
26
+ ---
27
+
28
+ ## 2. Available Frameworks
29
+
30
+ ### Tier 1: Core Standards
31
+
32
+ #### `@modelcontextprotocol/ext-apps` -- Official SDK
33
+ - **Source:** github.com/modelcontextprotocol/ext-apps
34
+ - **What it does:** Official Anthropic/MCP team SDK. Provides `registerAppTool`, `registerAppResource`, `useApp`/`useWidget` React hooks.
35
+ - **Working examples:** pdf-server, system-monitor-server, map-server, shader-toy
36
+ - **Transport:** Renders as iframes in Claude Desktop/Cowork chat
37
+ - **Why it matters:** This is THE official path. Building on this guarantees compatibility with Claude's roadmap.
38
+
39
+ #### `mcp-ui` -- Community Standard
40
+ - **Source:** github.com/MCP-UI-Org/mcp-ui | mcpui.dev
41
+ - **What it does:** Community project that PRECEDED and directly influenced the official spec.
42
+ - `@mcp-ui/server` -- `createUIResource()` helper to register UI bundles
43
+ - `@mcp-ui/client` -- `AppRenderer`/`UIResourceRenderer` React components
44
+ - **Relationship:** Designed to work alongside `@modelcontextprotocol/ext-apps`
45
+ - **Why it matters:** Community battle-tested patterns. Higher-level abstractions than the official SDK.
46
+
47
+ ### Tier 2: Accelerators
48
+
49
+ #### `mcp-generative-ui` -- Auto-UI Wrapper
50
+ - **Source:** github.com/vivekhaldar/mcp-generative-ui
51
+ - **What it does:** Wraps ANY existing plain MCP server and automatically generates interactive UIs for tool results. Turns raw JSON into charts, tables, visual components.
52
+ - **Key insight:** No manual UI coding needed. Could wrap MindrianOS MCP server immediately.
53
+ - **Why it matters for MindrianOS:** Our MCP server already returns structured JSON (room state, section entries, grant results). This could generate visual cards from existing output WITHOUT rewriting the MCP server.
54
+
55
+ #### Flowbite MCP UI Starter
56
+ - **Source:** github.com/themesberg/mcp-ui-starter
57
+ - **What it does:** Production-ready React + Tailwind starter with pre-built widgets (charts, tables, forms). Supports Claude, ChatGPT, and Gemini.
58
+ - **Why it matters:** Fastest path to a polished widget library. De Stijl design tokens could be applied on top of Tailwind.
59
+
60
+ ### Tier 3: Reference Implementations
61
+
62
+ #### MCP Memory Service React Dashboard
63
+ - **Source:** github.com/doobidoo/mcp-memory-service
64
+ - **What it does:** Working example of React + shadcn/ui + Tailwind dashboard wired to MCP via `window.mcpTools`. Stats cards, tabs, debounced queries, TypeScript types.
65
+ - **Why it matters:** Closest architectural pattern to what MindrianOS needs (dashboard with sections, entry counts, intelligence signals).
66
+
67
+ #### MCP Manager
68
+ - **Source:** github.com/marcusglee11/mcp-manager
69
+ - **What it does:** Full-stack: React frontend + FastAPI REST API + Python CLI. Manages MCP server installations, health monitoring, real-time status.
70
+ - **Why it matters:** Shows the local web server pattern for complex admin UIs.
71
+
72
+ #### Dynamic MCP UI Generator (POC)
73
+ - **Source:** github.com/iamadi11/mcp-ui-poc
74
+ - **What it does:** POC with React + Vite client + Express + MCP server. Dynamic form builder, dashboard creation, chart generation.
75
+ - **Why it matters:** Shows the full client/server split architecture.
76
+
77
+ ### Tier 4: Plugin Infrastructure
78
+
79
+ #### Claude Code Plugin Template
80
+ - **Source:** github.com/ivan-magda/claude-code-plugin-template
81
+ - **What it does:** GitHub template with plugin.json, hooks, skills, agents, slash commands, CI/CD.
82
+ - **Relevance:** Reference for plugin structure, not UI.
83
+
84
+ #### Desktop Extensions (.mcpb)
85
+ - **Source:** anthropic.com/engineering/desktop-extensions
86
+ - **What it does:** One-click install packages with manifest.json for Claude Desktop.
87
+ - **Why it matters:** Distribution format for MindrianOS Desktop version.
88
+
89
+ ---
90
+
91
+ ## 3. Mapping UI to MindrianOS UX Problems
92
+
93
+ ### Problem -> Solution Matrix
94
+
95
+ | User Session Problem | Current Solution | MCP UI Solution | Framework |
96
+ |---|---|---|---|
97
+ | "I don't know where my rooms are" | User navigates Finder, finds room/ folder | **Project Selector Widget** -- inline card showing all rooms with switch button | ext-apps + mcp-ui |
98
+ | "What are these slash commands?" | User reads /mos:help output, copy-pastes | **Action Cards** -- clickable buttons rendered in chat: "Build Business Model", "Grade Your Progress" | ext-apps registerAppTool |
99
+ | "How much longer?" (chain running) | No progress indicator | **Progress Widget** -- inline progress bar: "Step 3/6: Research | ~4 min remaining" | mcp-ui createUIResource |
100
+ | "When I see 89%, what do I do?" | Skull icon in status bar | **Context Health Widget** -- visual meter with plain language: "Your session is 89% full. I'll summarize and keep working." | ext-apps useWidget |
101
+ | "The tabs don't display properly" (export) | Static HTML snapshot with broken tabs | **Interactive Dashboard Widget** -- live room dashboard rendered inline with working tabs | mcp-ui AppRenderer |
102
+ | "I was stressing about file structure" | Larry explains room/ directories | **Project Overview Card** -- visual card: "Blueprint Phase: 7 entries across 5 areas. Biggest gap: Business Model" | mcp-generative-ui (auto from existing JSON) |
103
+ | "Every time I have to ask how to start" | User types `claude` in terminal | **Desktop Extension** -- one-click app icon, no terminal needed | .mcpb Desktop Extension |
104
+ | Filing confirmation unclear | "artifact filed to room/market-analysis/" | **Filing Card** -- visual card: "Saved to Market Research [icon] | Your project now has 3 market analyses" | ext-apps |
105
+ | Grant discovery results | Text list of grants | **Grant Discovery Widget** -- table with relevance scores, deadlines, apply buttons | Flowbite MCP UI Starter |
106
+ | Chain modification mid-run | User types "add research to this chain" | **Chain Builder Widget** -- visual pipeline editor showing framework sequence with drag-reorder | ext-apps + custom |
107
+
108
+ ### The Three Surfaces Revisited
109
+
110
+ | Surface | Current UI | With MCP Apps |
111
+ |---|---|---|
112
+ | **CLI** | Terminal text only. Slash commands. ASCII formatting. | Terminal text + **localhost dashboard** (existing pattern, enhanced) |
113
+ | **Desktop** | Conversational only. No visual widgets. | Conversational + **inline widgets** (project cards, progress bars, filing confirmations) |
114
+ | **Cowork** | Shared state via 00_Context/. Text only. | Shared state + **collaborative widgets** (team can see same project dashboard, grant table) |
115
+
116
+ ---
117
+
118
+ ## 4. Implementation Strategy
119
+
120
+ ### Phase 1: Quick Win -- mcp-generative-ui Wrapper (1-2 days)
121
+
122
+ Wrap the existing MindrianOS MCP server with `mcp-generative-ui`. This auto-generates visual cards from our existing JSON output with ZERO changes to the MCP server.
123
+
124
+ **What changes:** Tool results that currently return text/JSON render as visual components.
125
+ **What doesn't change:** MCP server code, skill files, hook scripts.
126
+ **Risk:** Low. Wrapper sits between server and client. If it breaks, remove it.
127
+
128
+ **Immediate wins:**
129
+ - Room status becomes a visual dashboard card instead of ASCII art
130
+ - Grant results become a table with scores instead of text list
131
+ - Section entry counts become a visual bar chart
132
+
133
+ ### Phase 2: Core Widgets -- ext-apps + mcp-ui (1-2 weeks)
134
+
135
+ Build 5 custom widgets using the official SDK:
136
+
137
+ 1. **Project Selector** -- shows all rooms, switch with one click
138
+ 2. **Progress Tracker** -- chain/swarm progress with time estimates
139
+ 3. **Filing Confirmation** -- visual card when artifacts are saved
140
+ 4. **Action Suggester** -- clickable methodology buttons instead of /mos: commands
141
+ 5. **Context Health** -- visual meter replacing skull icon
142
+
143
+ **Architecture:**
144
+ ```
145
+ mindrian-mcp-server.cjs (existing)
146
+ ├── lib/mcp/tool-router.cjs (existing, unchanged)
147
+ ├── lib/mcp/resources.cjs (existing, unchanged)
148
+ ├── lib/mcp/prompts.cjs (existing, unchanged)
149
+ └── lib/mcp/widgets/ (NEW)
150
+ ├── project-selector.tsx
151
+ ├── progress-tracker.tsx
152
+ ├── filing-card.tsx
153
+ ├── action-suggester.tsx
154
+ └── context-health.tsx
155
+ ```
156
+
157
+ **Key decision:** Widgets render in Desktop/Cowork via iframe. CLI users get the existing terminal output. Same MCP server, dual rendering.
158
+
159
+ ### Phase 3: Interactive Dashboard -- Full React App (2-4 weeks)
160
+
161
+ Replace the static HTML snapshot with a live interactive dashboard:
162
+ - Built with React + shadcn/ui + Tailwind (following MCP Memory Service pattern)
163
+ - De Stijl design tokens applied via Tailwind config
164
+ - Connected to MCP server via `window.mcpTools` pattern
165
+ - Renders inline in Desktop/Cowork, localhost in CLI
166
+
167
+ **This replaces:**
168
+ - /mos:visualize (static HTML)
169
+ - /mos:export dashboard (static HTML)
170
+ - /mos:room (terminal output)
171
+ - The need for users to EVER open Finder
172
+
173
+ ### Phase 4: Desktop Extension Package (1 week)
174
+
175
+ Package MindrianOS as a `.mcpb` Desktop Extension:
176
+ - One-click install from Anthropic marketplace
177
+ - No terminal, no `claude` command, no PATH issues
178
+ - User opens Claude Desktop, MindrianOS is there
179
+ - Leah's "every time I have to ask how to start" problem: gone
180
+
181
+ ---
182
+
183
+ ## 5. The Native-First + MCP UI Architecture
184
+
185
+ From RESEARCH_16:
186
+ > Skills should encode WHAT to think, not HOW to use tools.
187
+
188
+ From this research:
189
+ > UI should show WHAT the user has, not WHERE it's stored.
190
+
191
+ Combined principle:
192
+ > **Skills teach Larry domain knowledge. MCP Apps show users their project. The filesystem is invisible to both.**
193
+
194
+ ### Token Impact
195
+
196
+ MCP App widgets are rendered CLIENT-SIDE. They don't consume context tokens. A project selector card costs 0 tokens to display -- it's an iframe rendered by Claude Desktop from the MCP resource.
197
+
198
+ This means the MCP UI approach is ADDITIVE to the Native-First token savings:
199
+ - Native-First saves ~10,000 tokens per turn (skill compression)
200
+ - MCP UI saves ~0 additional tokens (widgets are client-side)
201
+ - But MCP UI REMOVES the need for verbose text descriptions of room state
202
+
203
+ Currently, session-start injects ~1,750 tokens of room state as text. With an inline widget, that text could be replaced by a visual card + a 200-token summary. Potential additional savings: ~1,500 tokens per turn.
204
+
205
+ ### The Full v1.8.0 Stack
206
+
207
+ ```
208
+ Layer 0: Skills (Native-First, ~11K tokens)
209
+ - Larry personality (WHAT to think)
210
+ - Proactive patterns (WHAT to detect)
211
+ - Methodology routing (WHAT frameworks exist)
212
+
213
+ Layer 1: MCP Server (existing, enhanced)
214
+ - 6 hierarchical router tools (existing)
215
+ - Resources (existing)
216
+ - Prompts (existing)
217
+ - Widgets (NEW -- 5 core widgets)
218
+
219
+ Layer 2: MCP UI (NEW)
220
+ - mcp-generative-ui wrapper (Phase 1)
221
+ - Custom ext-apps widgets (Phase 2)
222
+ - Interactive dashboard (Phase 3)
223
+ - Desktop Extension package (Phase 4)
224
+
225
+ Layer 3: Filesystem (INVISIBLE to user)
226
+ - room/ structure (unchanged)
227
+ - STATE.md (unchanged)
228
+ - Hooks pipeline (unchanged)
229
+ - Everything works exactly as before
230
+ - User never sees it
231
+ ```
232
+
233
+ ---
234
+
235
+ ## 6. Risk Assessment
236
+
237
+ | Risk | Severity | Mitigation |
238
+ |---|---|---|
239
+ | MCP Apps spec changes | MEDIUM | Build on official ext-apps SDK, not community forks |
240
+ | Desktop-only (CLI users get nothing) | HIGH | CLI keeps existing terminal output. Widgets are ADDITIVE for Desktop/Cowork. |
241
+ | Widget maintenance burden | MEDIUM | Start with mcp-generative-ui (zero custom code), graduate to custom only for high-value widgets |
242
+ | De Stijl branding in widgets | LOW | Tailwind config with De Stijl tokens. Same approach as existing dashboard. |
243
+ | TypeScript build step | MEDIUM | Widgets are separate from plugin core (markdown + CJS). Build step only for widgets. |
244
+
245
+ ---
246
+
247
+ ## 7. Quick Pick for MindrianOS
248
+
249
+ | Goal | Use This | Timeline |
250
+ |---|---|---|
251
+ | Immediate visual upgrade (no coding) | `mcp-generative-ui` wrapper | 1-2 days |
252
+ | Custom inline widgets for Desktop | `@modelcontextprotocol/ext-apps` | 1-2 weeks |
253
+ | Full interactive dashboard | React + shadcn/ui + Tailwind (MCP Memory Service pattern) | 2-4 weeks |
254
+ | One-click Desktop install | `.mcpb` Desktop Extension | 1 week |
255
+ | Production widget library (Tailwind) | Flowbite MCP UI Starter | Reference only |
256
+
257
+ ---
258
+
259
+ ## 8. Connection to Existing Research
260
+
261
+ - **RESEARCH_14** (Source Architecture): MCP Apps work within Claude's native tool system. `tengu_harbor` MCP allowlist must include widget servers.
262
+ - **RESEARCH_15** (JTBD Optimization): Student archetype benefits most from visual widgets (no terminal literacy required). Venturist benefits from grant table widget. Researcher benefits from cross-domain visualization.
263
+ - **RESEARCH_16** (Native-First): MCP UI is the visual complement to Native-First skills. Skills encode knowledge (tokens). Widgets encode presentation (zero tokens).
264
+ - **User Session** (2026-04-05): Every friction point has a widget solution. See Section 3 mapping.
265
+
266
+ ---
267
+
268
+ *Cross-references:*
269
+ - *RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md*
270
+ - *RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md*
271
+ - *RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md*
272
+ - *references/user-research/2026-04-05-leah-lawrence-session.md*
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: MindrianOS Taxonomy
3
+ version: 1.0.0
4
+ updated: 2026-03-31
5
+ status: living-document
6
+ rule: EVERY command, skill, agent, script, and Larry response MUST use these terms. No synonyms. No freestyle naming.
7
+ ---
8
+
9
+ # MindrianOS Taxonomy -- The Definitive Naming System
10
+
11
+ > This is a LIVING DOCUMENT. Updated whenever new concepts are added. Every piece of MindrianOS -- code, docs, Larry's voice, onboarding, error messages -- uses these exact terms. No exceptions.
12
+
13
+ ## Why This Exists
14
+
15
+ Users, Larry, code, and docs must speak the same language. "Room" always means Room. "Entry" always means Entry. "Spark" always means Spark. Consistency builds trust. Inconsistency builds confusion.
16
+
17
+ **Rule:** If a term isn't in this taxonomy, it doesn't exist in MindrianOS. Add it here first, then use it everywhere.
18
+
19
+ ---
20
+
21
+ ## The Space
22
+
23
+ | Term | What It Is | Where It Lives | Icon |
24
+ |------|-----------|----------------|------|
25
+ | **MindrianOS** | The operating system for structured thinking | Plugin root | -- |
26
+ | **Room** | A self-contained knowledge space for one project. The fundamental unit. | `room/` or `rooms/{name}/` | -- |
27
+ | **Registry** | Tracks all rooms: which is active, git state, deploy URL | `.rooms/registry.json` | -- |
28
+
29
+ ## Inside a Room
30
+
31
+ | Term | What It Is | Where It Lives |
32
+ |------|-----------|----------------|
33
+ | **Section** | A domain of knowledge (problem, market, solution, team...). Like a wing of a building. | `room/{section}/` |
34
+ | **Entry** | Any markdown knowledge artifact filed in a section. The standard unit of captured knowledge. | `room/{section}/{name}.md` |
35
+ | **Asset** | A binary file -- PDF, image, video, audio -- with a markdown wrapper for frontmatter. | `room/assets/{section}/` |
36
+ | **Manifest** | Auto-generated index of all assets with metadata. | `room/ASSET_MANIFEST.md` |
37
+ | **Blueprint** | Section descriptor: what this section is for, starter questions, default methodologies. | `room/{section}/ROOM.md` |
38
+
39
+ ## Micro-Knowledge
40
+
41
+ | Term | What It Is | Where It Lives |
42
+ |------|-----------|----------------|
43
+ | **Spark** | The smallest unit of knowledge. One thought, one link, one quote, one pushback. Zero-friction capture. | `room/.sparks/{date}.md` |
44
+ | **Catch** | The act of capturing a spark. Larry auto-detects or user says "catch that." | Passive (Larry) or active (user) |
45
+ | **Ember** | 3+ sparks converging on the same theme. Larry detects and surfaces. | KuzuDB SPARK_CONVERGES edge |
46
+ | **Crystallize** | Promote accumulated sparks into a full Entry with frontmatter and section filing. | `/mos:crystallize` |
47
+ | **Residue** | 0-3 sparks extracted at session end from conversation. Auto-captured. | on-stop hook |
48
+ | **Fragment** | Meeting "noise" segments that contain micro-knowledge. Saved instead of discarded. | Meeting filing step |
49
+
50
+ ## The Pulse (Context Files)
51
+
52
+ | Term | What It Is | Where It Lives |
53
+ |------|-----------|----------------|
54
+ | **State** | Quantitative pulse: computed stats, entries, sections, stage, progress. | `room/STATE.md` |
55
+ | **Thesis** | Qualitative pulse: Minto pyramid -- governing thought, arguments, evidence. | `room/MINTO.md` |
56
+ | **Profile** | Who the user is: background, expertise, working style. Global across rooms. | `room/USER.md` |
57
+ | **Mission** | What the user is trying to accomplish in THIS room. The room's JTBD. | `room/JTBD.md` |
58
+ | **Decision** | A choice made at a decision point, with reasoning and alternatives considered. | `room/{section}/DECISION.md` |
59
+ | **Claims** | Tracked assumptions with validity status (unvalidated/validated/invalidated). | `room/assumptions.json` |
60
+
61
+ ## People
62
+
63
+ | Term | What It Is | Where It Lives |
64
+ |------|-----------|----------------|
65
+ | **People** | The human layer: team members, mentors, advisors, stakeholders. | `room/team/` |
66
+ | **Member** | One person with role, expertise, meeting history, contact. | `room/team/{category}/{slug}/PROFILE.md` |
67
+ | **Lenses** | AI perspective personas (De Bono Six Hats) generated from room data. | `room/personas/` |
68
+
69
+ ## Conversations
70
+
71
+ | Term | What It Is | Where It Lives |
72
+ |------|-----------|----------------|
73
+ | **Conversation** | Any dialogue that generates knowledge. Not just meetings -- calls, chats, interviews. | `room/meetings/{date}-{name}/` |
74
+ | **Segment** | One classified piece of a conversation: insight, decision, action, advice, question. | Filed to section with frontmatter |
75
+ | **Commitment** | Something someone promised to do. Has owner + deadline + status. | `room/action-items.md` |
76
+ | **Echoes** | Themes recurring across multiple conversations. Cross-meeting intelligence. | `room/MEETINGS-INTELLIGENCE.md` |
77
+
78
+ ## The Fabric (Knowledge Graph)
79
+
80
+ | Term | What It Is | Where It Lives |
81
+ |------|-----------|----------------|
82
+ | **Fabric** | KuzuDB -- the invisible backbone connecting all entries. Users never see it directly. | `.lazygraph/` |
83
+ | **Thread** | A typed relationship between two entries. The connections that make the room intelligent. | KuzuDB edge |
84
+ | **Thread Types** | INFORMS, CONTRADICTS, CONVERGES, ENABLES, INVALIDATES | Edge labels |
85
+ | **Surprise** | HSI-discovered non-obvious connection between entries. The hidden link nobody expected. | HSI_CONNECTION edge |
86
+ | **Bottleneck** | Reverse Salient -- where the room's understanding lags behind its ambition. (Hughes 1983) | REVERSE_SALIENT edge |
87
+ | **Weave** | The graph.json export that renderers consume. The Fabric made visible. | `dashboard/graph.json` |
88
+
89
+ ## Signals (Intelligence)
90
+
91
+ | Term | What It Is | When It Fires |
92
+ |------|-----------|---------------|
93
+ | **Blind Spot** | An empty section or missing perspective. Something you haven't explored. | GAP detection |
94
+ | **Tension** | Two entries that say opposite things. A contradiction worth investigating. | CONTRADICT detection |
95
+ | **Pattern** | Same theme appearing in 3+ entries independently. Convergence = confidence growing. | CONVERGE detection |
96
+ | **Signal** | Any intelligence Larry surfaces without being asked. Max 1-2 per session, context-relevant. | Proactive intelligence |
97
+ | **Radar** | The ambient intelligence bar in every output (Zone 3). Where signals appear. | UI Zone 3 |
98
+
99
+ ## Tools (What Larry Uses)
100
+
101
+ | Term | What It Is | Where It Lives |
102
+ |------|-----------|----------------|
103
+ | **Tool** | One of 26+ PWS methodology frameworks as a `/mos:` slash command. | `commands/{name}.md` |
104
+ | **Playbook** | The methodology's full reference material. The theory behind the tool. | `references/methodology/{name}.md` |
105
+ | **Script** | Bash/CJS/Python automation that runs in background. The machinery. | `scripts/{name}` |
106
+ | **Operator** | CJS module wrapping a script for programmatic use. | `lib/core/{name}-ops.cjs` |
107
+ | **Skill** | Always-on rule set Larry follows every session. Auto-loaded, never invoked. | `skills/{name}/SKILL.md` |
108
+ | **Agent** | Subagent with isolated context for specific tasks. Delegated work. | `agents/{name}.md` |
109
+
110
+ ## Pipelines (How Things Chain)
111
+
112
+ | Term | What It Is | Where It Lives |
113
+ |------|-----------|----------------|
114
+ | **Pipeline** | Ordered chain of tools where each output feeds the next input. | `pipelines/{name}/` |
115
+ | **Stage** | One tool in the chain with input/output contract. | `pipelines/{name}/{nn}-{tool}.md` |
116
+ | **Handoff** | What one stage passes to the next. Structured output contract. | Frontmatter: requires/provides |
117
+ | **Trail** | Metadata tracking which pipeline produced an entry. Provenance. | Frontmatter: pipeline, pipeline_stage |
118
+
119
+ ## Autonomous Work
120
+
121
+ | Term | What It Is | How It Works |
122
+ |------|-----------|-------------|
123
+ | **Autopilot** | Larry acts independently -- selects + runs the best framework for current state. | `/mos:act` |
124
+ | **Navigation** | Brain query or local routing table picks the right tool. Framework selection. | Act Step 3 |
125
+ | **Trace** | Larry shows WHY he picked this framework before running it. Thinking transparency. | Act Step 2 (Shape E) |
126
+ | **Sequence** | 3-5 tools in series, each output feeds the next. Chain mode. | `--chain` flag |
127
+ | **Preview** | Show the execution plan without running anything. Safe look-ahead. | `--dry-run` flag |
128
+ | **Sandbox** | Framework runs in subagent context. Main session stays clean. | `agents/framework-runner.md` |
129
+
130
+ ## The Cascade (Filing Pipeline)
131
+
132
+ | Step | Name | What Happens | Timing |
133
+ |------|------|-------------|--------|
134
+ | 1 | **Classify** | What section does this belong to? | Sync, <100ms |
135
+ | 2 | **Stamp** | Inject artifact hash ID into frontmatter | Sync, <50ms |
136
+ | 3 | **Weave** | Create KuzuDB node + detect Thread edges | Sync, <500ms |
137
+ | 4 | **Refresh** | Recompute State from filesystem | Background |
138
+ | 5 | **Map** | Rebuild Weave (graph.json) from Fabric | Background |
139
+ | 6 | **Discover** | HSI + Reverse Salient computation (Surprises + Bottlenecks) | Background |
140
+ | 7 | **Version** | Git commit with provenance message | Background |
141
+ | 8 | **Publish** | Push to GitHub, Vercel redeploys Showcase | Background |
142
+
143
+ ## Showcase (Presentation Views)
144
+
145
+ | Term | What It Is | File |
146
+ |------|-----------|------|
147
+ | **Showcase** | All 6 HTML views generated from a room. The room made visible. | `/mos:export presentation` |
148
+ | **Overview** | Dashboard: stats, cards, video, assets, opportunities | `dashboard.html` |
149
+ | **Library** | Wiki: 3-panel article browser with search + TOC | `wiki.html` |
150
+ | **Narrative** | Deck: fullscreen presentation slides from Thesis + entries | `deck.html` |
151
+ | **Synthesis** | Insights: stat counters, timelines, funnels, heat maps | `insights.html` |
152
+ | **Blueprint** | Diagrams: SVG architecture from graph edges | `diagrams.html` |
153
+ | **Constellation** | Graph: Canvas knowledge graph with particles + glow | `graph.html` |
154
+
155
+ ## CLI Visual Identity (De Stijl Terminal)
156
+
157
+ | Term | What It Is |
158
+ |------|-----------|
159
+ | **Four Zones** | Header, Body, Radar, Footer -- every output follows this anatomy |
160
+ | **Shapes** | 5 body layouts: Board, Tree, Card, Document, Report |
161
+ | **Glyphs** | 12 approved symbols for status/type indicators |
162
+ | **Palette** | 5 ANSI colors: cream, red, blue, yellow, muted |
163
+ | **Greeting** | Cold/warm/signals contract at session start |
164
+ | **Signature** | MindrianOS logo + "Built with MindrianOS" + Mondrian color bar |
165
+
166
+ ## Onboarding
167
+
168
+ | Term | What It Is | When It Happens |
169
+ |------|-----------|----------------|
170
+ | **Welcome** | First-time MindrianOS onboarding. Larry learns who you are. | First install detection |
171
+ | **Briefing** | Per-room clarification. Larry learns what you're building HERE. | `/mos:new-project` |
172
+ | **Quick Briefing** | 3 questions: what, who, when. Fast start. | User chooses quick |
173
+ | **Deep Briefing** | JTBD interview: situation, motivation, outcome, anxieties. Rich context. | User chooses deep |
174
+ | **Refresh** | After-update flow: what's new + core features reminder. | `/mos:update` |
175
+
176
+ ---
177
+
178
+ ## Usage Rules
179
+
180
+ 1. **Larry ALWAYS uses these terms** in conversation. "I'll file this as an Entry in your market-analysis Section." Not "I'll save this document to the folder."
181
+
182
+ 2. **Error messages use these terms.** "No Room found in this workspace" not "No room/ directory."
183
+
184
+ 3. **Onboarding teaches these terms.** The Welcome and Briefing flows introduce the vocabulary naturally.
185
+
186
+ 4. **Code comments use these terms.** `// Weave: create KuzuDB node + detect Threads` not `// index artifact in graph database`
187
+
188
+ 5. **This file is the source of truth.** If a term isn't here, it doesn't exist in MindrianOS. Add it here FIRST, then use it everywhere.
189
+
190
+ ---
191
+
192
+ *Living document. Last updated: 2026-03-31. Version 1.0.0.*
@@ -0,0 +1,36 @@
1
+ ---
2
+ section: "{section-name}"
3
+ governing_thought: ""
4
+ mece_check: pending
5
+ last_updated: ""
6
+ ---
7
+
8
+ # MINTO Reasoning Pyramid
9
+
10
+ ## Governing Thought
11
+
12
+ [The single sentence that captures what this section proves or argues. This is the answer-first statement that everything below supports.]
13
+
14
+ ## Supporting Arguments
15
+
16
+ 1. [First supporting argument -- one clear claim]
17
+ 2. [Second supporting argument -- independent from the first]
18
+ 3. [Third supporting argument -- completes the coverage]
19
+
20
+ ## Evidence
21
+
22
+ ### Argument 1 Evidence
23
+ - [Evidence item from room entries, meetings, or research]
24
+
25
+ ### Argument 2 Evidence
26
+ - [Evidence item from room entries, meetings, or research]
27
+
28
+ ### Argument 3 Evidence
29
+ - [Evidence item from room entries, meetings, or research]
30
+
31
+ ## MECE Check
32
+
33
+ - [ ] Arguments are Mutually Exclusive (no overlap between arguments)
34
+ - [ ] Arguments are Collectively Exhaustive (no gaps in coverage)
35
+ - [ ] Each argument has at least one evidence item
36
+ - [ ] Governing thought follows logically from arguments