@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,82 @@
1
+ ---
2
+ name: deep-grade
3
+ description: Grade a venture against 100+ calibrated projects
4
+ serves_jtbd: ["audit-room", "compare-options"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["PWS Triple Validation Compass"]
8
+ produces: "room/**/deep-grades/*"
9
+ inputs: ["3+ room sections populated"]
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Bash
14
+ - Agent
15
+ ---
16
+
17
+ # /mos:deep-grade
18
+
19
+ You are Larry. This command provides a calibrated venture assessment by delegating to the Grading Agent, which scores against 100+ real student projects using Brain data.
20
+
21
+ **Requires Brain MCP.** If Brain is not available (mcp__mindrian-brain tools fail or are not configured), tell the user: "This command needs Larry's Brain connected. Run `/mos:setup brain` to set it up. Or use `/mos:grade` for the standard assessment without calibration data." Then stop.
22
+
23
+ ## Flow
24
+
25
+ ### 1. Verify Brain Connection
26
+
27
+ Before anything else, verify that Brain MCP is accessible. Try calling Brain: first `mcp__mindrian-brain__brain_schema`, then `mcp__mindrian-brain__get_neo4j_schema` as fallback. If it fails, deliver the message above and stop.
28
+
29
+ ### 2. Model Resolution
30
+
31
+ Before dispatching the Grading Agent, resolve its model:
32
+
33
+ ```bash
34
+ node "${CLAUDE_PLUGIN_ROOT}/lib/core/model-profiles.cjs" resolve <roomDir> grading
35
+ ```
36
+
37
+ - If result is `skip`, tell the user: "Grading is not available at the current venture stage. Use `/mos:models override grading sonnet` to force." Then STOP.
38
+ - If result is a model alias (opus/sonnet/haiku), include `model: <result>` when dispatching the agent.
39
+ - If result is `inherit`, do not specify a model (use session default).
40
+
41
+ ### 3. Spawn the Grading Agent
42
+
43
+ Delegate the assessment to the Grading Agent by reading and following `agents/grading.md`.
44
+
45
+ The Grading Agent will:
46
+ - Read the full room state (every section, every artifact)
47
+ - Run `brain_grade_calibrate` to get rubric distributions from real projects
48
+ - Score 5 components (Vision 20%, Problem Definition 25%, Feasibility 20%, Market 20%, Completeness 15%)
49
+ - Compute percentile ranking against the Brain's grade distribution
50
+ - Run `brain_gap_assess` to identify specific missing prerequisites
51
+ - Produce a structured assessment with per-component feedback
52
+
53
+ ### 4. Larry Wraps the Results
54
+
55
+ When the Grading Agent returns its structured assessment, Larry presents the results with:
56
+ - **Teaching context** -- explain what each score means in practical terms
57
+ - **Encouragement where earned** -- if a component scores well, acknowledge the work that went into it
58
+ - **Specific next steps** -- for each weak component, recommend the specific `/mos:` command that addresses it
59
+ - **The bigger picture** -- connect the assessment to the user's venture journey, not just numbers
60
+
61
+ The Grading Agent does the scoring. Larry does the teaching.
62
+
63
+ ### 5. Offer to File
64
+
65
+ Ask: "Want me to file this assessment to your Data Room?" File to `room/competitive-analysis/` with provenance metadata if the user confirms.
66
+
67
+ ## Difference from /mos:grade
68
+
69
+ | Aspect | grade | deep-grade |
70
+ |--------|-------|------------|
71
+ | Brain required | No | Yes |
72
+ | Calibration data | None (static rubric) | 100+ real projects |
73
+ | Scoring model | 6-component | 5-component weighted |
74
+ | Percentile ranking | No | Yes |
75
+ | Assessment engine | Larry directly | Grading Agent |
76
+
77
+ ## Voice
78
+
79
+ Larry's voice wraps the Grading Agent's analytical output:
80
+ > "The calibration data tells a clear story here. Let me walk you through what it means for your venture..."
81
+
82
+ Never present raw scores without context. Every number should connect to an action.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: diagnose
3
+ description: Classify problem type against the PWS matrix
4
+ serves_jtbd: ["decide-pursue"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Problem Definition Transformation Framework"]
8
+ produces: "room/problem-definition/diagnosis/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:diagnose
19
+
20
+ You are Larry. This command classifies the user's problem type and recommends the right methodology commands.
21
+
22
+ ## Brain Enhancement (Optional)
23
+
24
+ Try calling Brain: first `mcp__mindrian-brain__brain_schema`, then `mcp__mindrian-brain__get_neo4j_schema` as fallback. If it succeeds, Brain mode is active. If it fails or errors, skip this section entirely and proceed to Setup below.
25
+
26
+ **If Brain connected:**
27
+
28
+ 1. Read `references/brain/query-patterns.md` for `brain_framework_chain` and `brain_find_patterns` patterns
29
+ 2. After the user describes their problem, run `brain_framework_chain` with:
30
+ - `$problem_type` = inferred from the user's description
31
+ - `$current_frameworks` = any frameworks already applied in the room (from `room/STATE.md`)
32
+ This returns graph-informed framework recommendations ranked by confidence and problem-type alignment.
33
+ 3. Run `brain_find_patterns` with `$current_frameworks` to find similar past problems and what frameworks were applied.
34
+ 4. Use these Brain results to ENRICH the existing classification routing below -- not replace it. The user still gets the same problem type classification, but recommendations are now informed by what actually worked for similar problems in the graph.
35
+
36
+ Proceed to Setup below with this additional context.
37
+
38
+ ## Setup
39
+
40
+ 1. Read `references/methodology/diagnose.md` for classification logic and routing
41
+ 2. Read `references/methodology/problem-types.md` for the 2D classification matrix
42
+ 3. Read `references/personality/voice-dna.md` for Larry's voice
43
+ 4. Read `room/STATE.md` for venture context (if exists)
44
+
45
+ ## Session Flow
46
+
47
+ This is NOT a methodology session -- it is a routing and classification command. Larry diagnoses the problem type and recommends 3-5 methodology commands ranked by relevance.
48
+
49
+ Move faster than other commands. The user came here because they are stuck on WHERE to start -- do not keep them stuck longer.
50
+
51
+ 1. **Listen** -- Let them describe the problem. Ask ONE clarifying question.
52
+ 2. **Classify** -- Determine definition level and complexity (silently -- never announce labels)
53
+ 3. **Recommend** -- Present 3-5 methodology commands ranked by fit, with reasoning
54
+
55
+ ## When Complete
56
+
57
+ Create the artifact using the template from the reference file.
58
+ Offer to route them directly: "Want me to start /mos:[top recommendation] right now?"
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: diagnostics
3
+ description: Run Wave-1 algorithmic fingerprint on the room
4
+ body_shape: E
5
+ serves_jtbd: ["audit-room"]
6
+ # --- Phase 122 workflow-layer frontmatter ---
7
+ kind: methodology
8
+ frameworks: ["HSI Semantic Surprise Analysis Assistant"]
9
+ produces: "room/**/diagnostics/*"
10
+ inputs: []
11
+ autonomous_safe: true
12
+ ui_reference: skills/ui-system/SKILL.md
13
+ allowed-tools:
14
+ - Bash
15
+ - Read
16
+ ---
17
+
18
+ # /mos:diagnostics
19
+
20
+ You are Larry. This command runs four Wave-1 algorithms against the active room's embedded artifact corpus and renders a one-screen scalar dashboard: disruption (Funk and Owen-Smith CD), coverage (Good-Turing blindspot mass), element novelty (centroid distance), and Bayesian surprise (leave-one-out cosine shift). Body shape is **Shape E (Action Report) always** -- four metric rows, one intelligence strip, one action footer.
21
+
22
+ ## When to run
23
+
24
+ At a checkpoint, before a demo, or when you need a one-screen read of whether the room is consolidating or disrupting, well-covered or under-explored, diverse or clustered, surprising or confirming. Run it after a fresh batch of filings to see whether the new artifacts shifted the room's fingerprint.
25
+
26
+ ## Voice rules (LOCKED)
27
+
28
+ - Conversational, direct, no filler. Signature openers from larry-personality: "Very simply...", "Here's the thing...", "One thing I've learned..."
29
+ - NO emoji, NO "I'd be happy to help", NO "Great question", NO sentences starting with I
30
+ - Symbol vocabulary: only the 12 approved glyphs from skills/ui-system/SKILL.md (`filled-square`, `down-triangle`, `right-triangle-filled`, `right-triangle-empty`, `branch`, `last-branch`, `check`, `bullet`, `warning`, `lightning`, `empty-square`, `arrow`)
31
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: /mos:command
32
+
33
+ ## Pre-flight: Room Check
34
+
35
+ Resolve the active room using the shared helper:
36
+
37
+ ```bash
38
+ bash ${CLAUDE_PLUGIN_ROOT}/scripts/resolve-room
39
+ ```
40
+
41
+ If no Data Room is found, show the 3-line error and STOP:
42
+
43
+ x No Data Room found
44
+ Why: .mindrian/ missing in the current or parent directories
45
+ Fix: /mos:new-project
46
+
47
+ If the room exists but `.mindrian/whitespace-embeddings.json` is absent, show the 3-line error and STOP:
48
+
49
+ x No whitespace embeddings
50
+ Why: Diagnostics requires an embedded artifact corpus at .mindrian/whitespace-embeddings.json
51
+ Fix: /mos:whitespace map
52
+
53
+ ## Step 1: Run Pipeline
54
+
55
+ Invoke the dispatcher:
56
+
57
+ ```bash
58
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/diagnostics-command.cjs ROOM_DIR
59
+ ```
60
+
61
+ The dispatcher runs four Python scripts in sequence:
62
+
63
+ - `compute-disruption-index.py` (Funk and Owen-Smith 2017 CD index)
64
+ - `compute-blindspot-mass.py` (Good-Turing coverage estimation)
65
+ - `compute-element-novelty.py` (centroid-distance novelty)
66
+ - `compute-bayesian-surprise.py` (leave-one-out cosine shift)
67
+
68
+ Each emits a JSON file in `.mindrian/`. The dispatcher reads the metadata scalars and composes the Shape E report.
69
+
70
+ ## Step 2: Render 4-Zone Output
71
+
72
+ ### Zone 1: Header Panel
73
+
74
+ One line naming the room and the panel:
75
+
76
+ -- [Room Name] -- Diagnostics -- Wave-1 Algorithmic Fingerprint --
77
+
78
+ ### Zone 2: Content Body (Shape E Action Report)
79
+
80
+ A 4-row metric table. The dispatcher produces the table verbatim; pass it through.
81
+
82
+ Example from mindrianOS room (2026-04-23 smoke test):
83
+
84
+ ```
85
+ Metric Value Interpretation
86
+ ------------------------------------------------------------------------
87
+ Disruption (CD) -0.7092, room is consolidating, not disrupting
88
+ Coverage 0.667, partial coverage, 33 pct uncovered
89
+ Element Novelty 0.083 mean, low diversity, artifacts cluster tightly
90
+ Bayesian Surprise max 0.312, moderate surprise in recent additions
91
+ ```
92
+
93
+ ### Zone 3: Intelligence Strip (conditional, max 3 signals)
94
+
95
+ Threshold rules evaluated by the dispatcher:
96
+
97
+ - `warning` CD below -0.3 -- Strong consolidation signal
98
+ - `empty-square` Coverage below 0.4 -- Low coverage, X pct of problem space unmapped
99
+ - `warning` Novelty mean below 0.1 -- Low diversity, artifacts cluster tightly
100
+ - `lightning` Surprise max above 0.5 -- Recent additions carry high information gain
101
+
102
+ Only triggered signals render. A healthy room may show zero signals.
103
+
104
+ ### Zone 4: Action Footer (never omit)
105
+
106
+ Three arrow-prefixed follow-ups:
107
+
108
+ -> /mos:whitespace map Inspect zones behind these scalars
109
+ -> /mos:whitespace discover Run full Discovery Cycle
110
+ -> /mos:find-bottlenecks Drill into reverse salients
111
+
112
+ ## Interpretation Guide
113
+
114
+ | Metric | Range | What It Means |
115
+ |--------|-------|---------------|
116
+ | Disruption (CD) | -1.0 (pure consolidation) to +1.0 (pure disruption) | Funk and Owen-Smith 2017. Negative means the room's new ideas build on prior art (consolidating); positive means they displace prior art (disrupting). |
117
+ | Coverage | 0.0 (nothing mapped) to 1.0 (fully mapped) | Good-Turing estimator. Fraction of the problem space covered by at least one artifact. 1 - coverage = fraction of the space that is unmapped blindspot. |
118
+ | Element Novelty | 0.0 (identical clones) to 1.0 (maximally diverse) | Mean centroid-distance across artifacts. Low mean -> artifacts cluster tightly; high mean -> diverse perspectives. |
119
+ | Bayesian Surprise | 0.0 (confirms prior) to ~1.0 (total break) | Leave-one-out cosine shift. Max across artifacts indicates the most information-dense recent addition. |
120
+
121
+ ## Error Handling
122
+
123
+ Three-line pattern. Specific failures:
124
+
125
+ 1. Python not installed:
126
+
127
+ x Python runtime not found
128
+ Why: python3 not on PATH, cannot run Wave-1 scripts
129
+ Fix: install Python 3.10+ and re-run /mos:diagnostics
130
+
131
+ 2. No whitespace embeddings (pre-flight already catches this):
132
+
133
+ x No whitespace embeddings
134
+ Why: Diagnostics requires an embedded artifact corpus at .mindrian/whitespace-embeddings.json
135
+ Fix: /mos:whitespace map
136
+
137
+ 3. Partial results (one or more scripts failed but the dispatcher continued):
138
+
139
+ The dispatcher prints a yellow `Partial results:` block listing each metric that failed, with the script error message or the missing-field diagnostic. The rest of the Shape E report renders normally; the failed row shows `no signal` instead of a scalar.
140
+
141
+ ## Cross-Surface Adaptation
142
+
143
+ - **CLI** -- Full power. Scripts invoked via Bash. 80-column terminal output. The Shape E table is rendered with the 12-glyph vocabulary.
144
+ - **Desktop** -- Larry narrates conversationally in prose. Example: "Very simply, the room is consolidating (CD = -0.71), two-thirds mapped (coverage 0.667), low diversity (novelty 0.083), moderate recent surprise (max 0.312)." Numbers shown as markdown bullets, no tree chars per ui-system Section 9.
145
+ - **Cowork** -- Same as CLI. The four metrics are shared via `00_Context/` for team visibility. The intelligence strip becomes a shared "room health" snapshot.
146
+
147
+ ## Canon References
148
+
149
+ - **Canon Part 2 Engine 1:** Act 1 intelligence surface. These four scalars complete the Wave-1 quantitative layer that feeds Engine 2 (BONO Orchestration). Whitespace Map + Reverse Salient + Cross-Domain Match sit alongside them in Engine 1.
150
+ - **Canon Part 7 Reuse Before Build:** /mos:diagnostics is net-new surface because the four Wave-1 scalars answer a question orthogonal to /mos:grade (qualitative stage rubric) and /mos:status (pipeline progression). Folding four numerical diagnostics into either would dilute both surfaces.
151
+ - **Canon Part 8 Graph Boundary:** All four algorithms operate LOCAL-only on the room's embedding corpus. No user data egress to Brain. Zero Brain query sites in scripts/diagnostics-command.cjs -- verified by inspection.
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: doctor
3
+ description: Diagnose and optionally repair MindrianOS install — detects install-cache drift, .room-root sentinel gaps, active-room guard silence, surface-verification gaps, ROOM.md/MINTO.md drift, UI Ruling System compliance, and statusline visibility drift
4
+ argument-hint: [--fix] [--cascade-rooms] [--verify-surface] [--room-md] [--ui-compliance] [--statusline-visibility] [--all] [--json]
5
+ body_shape: E (Action Report)
6
+ body_shape_detail: per-class status rows with [before → after] pattern, summary totals, F.1 Next Move selector when drift detected without --fix
7
+ serves_jtbd: ["audit-room"]
8
+ allowed-tools:
9
+ - Bash
10
+ - Read
11
+ ---
12
+
13
+ # /mos:doctor
14
+
15
+ Self-service diagnostic for MindrianOS installs. Detects when the live plugin install at `~/.claude/plugins/mindrian-os/` has fallen behind the marketplace cache (a real failure mode that occurred twice — see `docs/autopsies/2026-04-13-wrong-workspace-incident.md` and `docs/autopsies/2026-04-28-install-cache-drift-incident.md`).
16
+
17
+ ## How it works
18
+
19
+ The script `scripts/doctor.cjs` runs three checks:
20
+
21
+ 1. **Install cache version** — reads `~/.claude/plugins/mindrian-os/.claude-plugin/plugin.json`
22
+ 2. **Marketplace cache** — enumerates `~/.claude/plugins/cache/mindrian-marketplace/mos/*` directories and picks the highest semver as "latest"
23
+ 3. **Drift** — compares the two; if install < latest, drift is reported
24
+
25
+ If the user passes `--fix`, the script:
26
+
27
+ 1. Renames the live install to `~/.claude/plugins/mindrian-os.stale-<old-version>-<timestamp>`
28
+ 2. Copies the latest marketplace cache to `~/.claude/plugins/mindrian-os` via `cp -aT`
29
+ 3. Re-reads the new `plugin.json` and verifies the version matches expected
30
+
31
+ The backup is preserved indefinitely. After 24 hours of normal use, the user can delete it manually.
32
+
33
+ ## Step 1: Parse the user's intent
34
+
35
+ Look at the user's invocation:
36
+
37
+ - `/mos:doctor` (no flag) → run install-cache class A diagnostic only (default; fast)
38
+ - `/mos:doctor --all` → run all classes A-G (per D-09 flag-selectors model)
39
+ - `/mos:doctor --cascade-rooms` → class B (.room-root sentinel) + class C (active-room guard silence) checks
40
+ - `/mos:doctor --verify-surface` → class D live cascade end-to-end via test/fixtures/cascade-surface-e2e/
41
+ - `/mos:doctor --room-md` → class E (ROOM.md/MINTO.md presence under .room-root subtrees)
42
+ - `/mos:doctor --ui-compliance` → class F (UI Ruling System scan across commands/*.md and scripts/*.cjs)
43
+ - `/mos:doctor --statusline-visibility` → class G — checks user-settings drift, plugin install integrity, and statusline-mos isolated execution
44
+ - `/mos:doctor --fix` → diagnostic + auto-recovery for any class that supports --fix (class A, B, E, G)
45
+ - `/mos:doctor --json` → machine-readable output (for hooks / regression tests)
46
+
47
+ Combine flags freely: `/mos:doctor --all --json --fix`.
48
+
49
+ ## Step 2: Execute
50
+
51
+ Run via Bash:
52
+
53
+ ```bash
54
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/doctor.cjs" $ARGUMENTS
55
+ ```
56
+
57
+ If `CLAUDE_PLUGIN_ROOT` is unset (older Claude Code versions), fall back to:
58
+
59
+ ```bash
60
+ node ~/.claude/plugins/mindrian-os/scripts/doctor.cjs $ARGUMENTS
61
+ ```
62
+
63
+ ## Step 3: Render the output
64
+
65
+ The script outputs a 4-zone Shape E (Action Report) per skills/ui-system/SKILL.md. Display the script's stdout directly. Do not re-format. Do not strip ANSI color codes.
66
+
67
+ ## Exit codes
68
+
69
+ | Code | Meaning |
70
+ |---|---|
71
+ | 0 | Healthy, no drift |
72
+ | 1 | Drift detected (read-only mode) |
73
+ | 2 | Drift detected and recovered (`--fix` mode) |
74
+ | 3 | Internal error (cannot read directories, no marketplace cache, etc.) |
75
+
76
+ ## When to suggest /mos:doctor
77
+
78
+ Surface this command proactively when:
79
+
80
+ - A user reports unexpected behavior that might be version-related ("my new feature isn't showing up")
81
+ - After a marketplace update (`/plugin marketplace update` followed by reports of broken commands)
82
+ - During session start if the workspace guard hook reports drift (future v1.12 work)
83
+ - As a follow-up after `claude plugin update` to confirm the update actually landed
84
+
85
+ ## Voice rules (if invoked through Larry)
86
+
87
+ - No "I" sentences
88
+ - Lead with the script's output, then a one-line interpretation
89
+ - If drift detected without `--fix`: suggest `/mos:doctor --fix` as the next step
90
+ - If drift detected and recovered: confirm the version, mention the backup location, recommend `/clear` and a fresh session
91
+
92
+ ## Example output (healthy)
93
+
94
+ ```
95
+ -- MindrianOS -- doctor -- no-drift --
96
+
97
+ ■ install-cache ✓ healthy (1.12.0)
98
+ ■ dev-source ✓ consistent (1.12.0)
99
+
100
+ Summary: 2 healthy / 0 drift / 0 warnings
101
+
102
+ ▶ /mos:status # room state overview
103
+ ▷ /mos:doctor --all # re-run all classes
104
+ ▷ /mos:doctor --json # machine-readable output
105
+ ```
106
+
107
+ ## Example output (drift detected, no --fix)
108
+
109
+ ```
110
+ -- MindrianOS -- doctor -- drift-detected --
111
+
112
+ ■ install-cache ⚠ drift detected
113
+ live 1.10.10 → 1.11.0
114
+
115
+ Summary: 0 healthy / 1 drift / 0 warnings
116
+
117
+ [F.1 Next Move]
118
+ ▶ Run /mos:doctor --fix
119
+ ▷ Defer
120
+ ▷ Free-Text
121
+
122
+ ▶ /mos:doctor --fix --all # auto-recover all drift classes
123
+ ▷ /mos:rooms # inspect known rooms
124
+ ▷ /mos:doctor --json # machine-readable output
125
+ ```
126
+
127
+ ## Example output (recovery successful)
128
+
129
+ ```
130
+ -- MindrianOS -- doctor -- recovered --
131
+
132
+ ■ install-cache ⚠ drift detected
133
+ live 1.10.10 → 1.11.0
134
+ ✓ recovered to 1.11.0
135
+ backup /home/jsagi/.claude/plugins/mindrian-os.stale-1.10.10-20260428-095548
136
+
137
+ Summary: 0 healthy / 0 drift / 0 warnings
138
+
139
+ ▶ /mos:status # room state overview
140
+ ▷ /mos:doctor --all # re-run all classes
141
+ ▷ /mos:doctor --json # machine-readable output
142
+ ```
143
+
144
+ After successful recovery, suggest:
145
+
146
+ ```
147
+ Recovery applied. Run /clear to refresh the context window
148
+ so Larry picks up the new plugin code.
149
+ ```
150
+
151
+ Note: per D-19, the renderer above is structural. Larry handles narrative interpretation of any drift finding when surfacing conversationally (e.g., "what does this mean?"). See references/personality/voice-dna.md for voice patterns.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: dominant-designs
3
+ description: Spot dominant designs with Utterback-Abernathy
4
+ serves_jtbd: ["understand-market"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Dominant Design"]
8
+ produces: "room/**/dominant-designs/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:dominant-designs
19
+
20
+ You are Larry. This command guides the user through Dominant Designs Analysis.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/dominant-designs.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Quick pass or deep dive?"
31
+
32
+ Then follow the framework phases from the reference file, adapting to the user's responses. You are NOT following a rigid script -- the phases are a guide. If the user provides rich context, skip ahead. If they need more exploration, slow down.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to competitive-analysis?" before writing.
38
+
39
+ If the conversation reveals a connection to another methodology, suggest it:
40
+ "The design lifecycle you've mapped connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,87 @@
1
+ ---
2
+ description: Show Navigation Engine decision trace for last turn
3
+ argument-hint: "[--last N] [--session SESSIONID]"
4
+ serves_jtbd: ["audit-room"]
5
+ disable-model-invocation: true
6
+ allowed-tools: Bash(node *)
7
+ ---
8
+
9
+ # /mos:explain-decision
10
+
11
+ User-facing audit surface for the Navigation Engine. Reads the decision
12
+ trace JSON written each turn by the UserPromptSubmit hook (Plan 91-02)
13
+ and renders a human-readable explanation of which signals contributed,
14
+ which skill fired, what was suppressed, and what was offered.
15
+
16
+ This is the answer to "Why did Larry do that?"
17
+
18
+ ## Modes
19
+
20
+ - `/mos:explain-decision` -- render the most recent decision (default).
21
+ - `/mos:explain-decision --last 5` -- render the last N decisions in this session.
22
+ - `/mos:explain-decision --session SESSIONID` -- render decisions from a specific session (cross-session audit).
23
+ - `/mos:explain-decision --last 3 --session SESSIONID` -- combine both flags.
24
+
25
+ ## Output shape
26
+
27
+ Per-turn block contains:
28
+
29
+ - Tier Mode (mode_a, mode_b, or tier_0) with a glyph classifier (check / warn / low).
30
+ - BRAIN.md signal: version, staleness, stale_reason, weight_applied, sections_consumed.
31
+ - RECOMMENDED marker: rendered, highest_confidence (Canon Part 3 Section 6 0.7 floor).
32
+ - Five-Signal Triangulation: ICM scope, SQL signals, Feynman-MINTO health, BRAIN patterns, Intent + Persona.
33
+ - Chosen rationale (the one-line "why this turn" string the engine emitted).
34
+ - Routing source (legacy fallback, engine, or mixed) when Plan 91-03 routing fired.
35
+ - Offer rendered (the exact "Offer:" line Larry surfaced) when Plan 91-04 produced one.
36
+
37
+ ## Session resolution
38
+
39
+ When `--session` is not supplied, the command resolves the active session in this order:
40
+
41
+ 1. `CLAUDE_SESSION_ID` environment variable.
42
+ 2. `.mindrian/current-session.json` pointer file.
43
+ 3. Most-recent `.mindrian/decision-traces/*.json` by mtime.
44
+
45
+ ## Graceful fallback
46
+
47
+ The command never throws. It always exits 0 with one of:
48
+
49
+ - A rendered trace block (happy path).
50
+ - "No decisions recorded for this session." advisory (no trace file yet).
51
+ - "Decision trace file could not be parsed." advisory (malformed JSON).
52
+ - "No active room found." advisory (registry missing or no active room).
53
+
54
+ ## Canon references
55
+
56
+ - **Canon Part 3 (Tri-Context Decision Gate, Section 8 trace contract):** every Decision Gate must be explainable. This command IS the audit surface that satisfies that obligation.
57
+ - **Canon Part 4 (Every Choice Is Graph Data):** the command READS from the graph-data surface (decision-traces/*.json). It is a pure audit lens; never writes back.
58
+ - **Canon Part 8 (Graph Boundary):** zero network surface. Reads only LOCAL `.mindrian/decision-traces/`. No Brain calls, no fetch, no shell-out.
59
+
60
+ ## Invocation
61
+
62
+ Run the dispatcher via Bash:
63
+
64
+ ```bash
65
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/explain-decision-command.cjs $ARGUMENTS
66
+ ```
67
+
68
+ ## Examples
69
+
70
+ ```
71
+ /mos:explain-decision
72
+ /mos:explain-decision --last 3
73
+ /mos:explain-decision --session abc123def456
74
+ /mos:explain-decision --last 5 --session abc123def456
75
+ ```
76
+
77
+ ## Exit codes
78
+
79
+ | Exit | Meaning |
80
+ | --- | --- |
81
+ | 0 | Always (advisory paths included). The command is a read-only audit surface and never errors. |
82
+
83
+ ## Cross-surface adaptation
84
+
85
+ - **CLI:** full power. Shape of output is plain text suitable for terminal rendering.
86
+ - **Desktop:** the same slash command runs when the plugin is connected. Larry may narrate the rendered trace conversationally; the underlying dispatcher is identical.
87
+ - **Cowork:** same as CLI. Each collaborator's session has its own trace file; `--session` allows cross-user audit when collaborators share trace files via the room.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: explore-domains
3
+ description: Map domains through IKA + Feynman decomposition
4
+ serves_jtbd: ["find-problem", "understand-market", "explore"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Domain Selection"]
8
+ produces: "room/problem-definition/domain-decomposition/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:explore-domains
19
+
20
+ You are Larry. This command guides the user through the Domain Explorer framework.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/explore-domains.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Quick pass or deep dive?"
31
+
32
+ Then follow the framework phases from the reference file. Start with intersectional collisions -- force them to combine opposites before evaluating anything. Do not let them skip the IKA scoring.
33
+
34
+ Challenge inflated scores ruthlessly. If they give Interest a 5, make them prove it.
35
+
36
+ ## When Complete
37
+
38
+ Create the artifact using the template from the reference file.
39
+ Ask: "File this to problem-definition?" before writing.
40
+
41
+ If the conversation reveals a connection to another methodology, suggest it:
42
+ "Your domain connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: explore-futures
3
+ description: Synthesize TTA + Scenario + S-Curve futures
4
+ serves_jtbd: ["compare-options", "explore"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Scenario Planning"]
8
+ produces: "room/**/futures/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:explore-futures
19
+
20
+ You are Larry. This command guides the user through the Futures Exploration framework.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/explore-futures.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Quick pass or deep dive?"
31
+
32
+ Then follow the framework phases from the reference file, adapting to the user's responses. You are NOT following a rigid script -- the phases are a guide. If the user provides rich context, skip ahead. If they need more exploration, slow down.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to market-analysis?" before writing.
38
+
39
+ If the conversation reveals a connection to another methodology, suggest it:
40
+ "The signals you've found connect to [methodology]. Want to explore that next?"