@mindrian_os/cli 1.13.0-beta.10

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 (590) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/.mcp.json +9 -0
  3. package/CHANGELOG.md +3329 -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 +93 -0
  16. package/bin/mindrian-mcp-server.cjs +182 -0
  17. package/bin/mindrian-tools.cjs +765 -0
  18. package/commands/act.md +433 -0
  19. package/commands/admin.md +404 -0
  20. package/commands/analyze-needs.md +36 -0
  21. package/commands/analyze-systems.md +33 -0
  22. package/commands/analyze-timing.md +36 -0
  23. package/commands/auto-explore.md +64 -0
  24. package/commands/beautiful-question.md +34 -0
  25. package/commands/brain-derive.md +78 -0
  26. package/commands/build-knowledge.md +36 -0
  27. package/commands/build-thesis.md +40 -0
  28. package/commands/causal.md +228 -0
  29. package/commands/challenge-assumptions.md +33 -0
  30. package/commands/compare-ventures.md +77 -0
  31. package/commands/dashboard.md +110 -0
  32. package/commands/deep-grade.md +76 -0
  33. package/commands/diagnose.md +52 -0
  34. package/commands/diagnostics.md +145 -0
  35. package/commands/doctor.md +151 -0
  36. package/commands/dominant-designs.md +34 -0
  37. package/commands/explain-decision.md +87 -0
  38. package/commands/explore-domains.md +36 -0
  39. package/commands/explore-futures.md +34 -0
  40. package/commands/explore-trends.md +36 -0
  41. package/commands/export.md +103 -0
  42. package/commands/file-meeting.md +724 -0
  43. package/commands/find-analogies.md +182 -0
  44. package/commands/find-bottlenecks.md +56 -0
  45. package/commands/find-connections.md +70 -0
  46. package/commands/funding.md +81 -0
  47. package/commands/grade.md +197 -0
  48. package/commands/graph.md +128 -0
  49. package/commands/hat-briefing.md +119 -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 +34 -0
  56. package/commands/macro-trends.md +34 -0
  57. package/commands/map-unknowns.md +34 -0
  58. package/commands/memory.md +173 -0
  59. package/commands/models.md +175 -0
  60. package/commands/mos-reason.md +279 -0
  61. package/commands/mullins.md +114 -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 +192 -0
  68. package/commands/pipeline.md +106 -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 +190 -0
  75. package/commands/room.md +352 -0
  76. package/commands/rooms.md +598 -0
  77. package/commands/root-cause.md +34 -0
  78. package/commands/rs-experts.md +79 -0
  79. package/commands/rs-explain.md +94 -0
  80. package/commands/rs-fetch.md +88 -0
  81. package/commands/rs-thesis.md +79 -0
  82. package/commands/scenario-plan.md +34 -0
  83. package/commands/scheduled-tasks.md +285 -0
  84. package/commands/score-innovation.md +37 -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 +36 -0
  92. package/commands/suggest-next.md +74 -0
  93. package/commands/systems-thinking.md +34 -0
  94. package/commands/think-hats.md +36 -0
  95. package/commands/update.md +181 -0
  96. package/commands/user-needs.md +34 -0
  97. package/commands/validate.md +34 -0
  98. package/commands/value-proposition.md +55 -0
  99. package/commands/vault.md +180 -0
  100. package/commands/visualize.md +52 -0
  101. package/commands/whitespace.md +501 -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/chat/chat-context.js +185 -0
  111. package/lib/chat/chat-panel.js +721 -0
  112. package/lib/chat/fabric-chat.cjs +288 -0
  113. package/lib/chat/generative-tools.js +219 -0
  114. package/lib/conversation/ROOM.md +39 -0
  115. package/lib/conversation/classifier-rules.json +38 -0
  116. package/lib/conversation/classifier.cjs +264 -0
  117. package/lib/conversation/operator.cjs +287 -0
  118. package/lib/copy/115-spec-strings.cjs +55 -0
  119. package/lib/core/__init__.py +0 -0
  120. package/lib/core/__nav-stub.cjs +14 -0
  121. package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
  122. package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
  123. package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
  124. package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
  125. package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
  126. package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
  127. package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
  128. package/lib/core/artifact-id.cjs +148 -0
  129. package/lib/core/asset-ops.cjs +151 -0
  130. package/lib/core/auto-commit-throttle.cjs +129 -0
  131. package/lib/core/bearer-token.cjs +199 -0
  132. package/lib/core/brain-client.cjs +865 -0
  133. package/lib/core/brain-derivation-prompts.cjs +326 -0
  134. package/lib/core/brain-derivation-queue.cjs +431 -0
  135. package/lib/core/brain-derivation.cjs +580 -0
  136. package/lib/core/brain-md-schema.cjs +528 -0
  137. package/lib/core/brain-md-staleness.cjs +357 -0
  138. package/lib/core/brain-response-sanitize.cjs +188 -0
  139. package/lib/core/bridge-writer.cjs +477 -0
  140. package/lib/core/chat-context-builder.cjs +253 -0
  141. package/lib/core/cross-room-aggregator.cjs +762 -0
  142. package/lib/core/daily-briefing.cjs +438 -0
  143. package/lib/core/decision-capture.cjs +618 -0
  144. package/lib/core/deep-links.cjs +82 -0
  145. package/lib/core/dispatch-optimizer.cjs +354 -0
  146. package/lib/core/dual-path-detector.cjs +84 -0
  147. package/lib/core/dual-path-detector.test.cjs +334 -0
  148. package/lib/core/exports-log.cjs +79 -0
  149. package/lib/core/feynman-minto-invariants.cjs +605 -0
  150. package/lib/core/folder-memory-async.cjs +338 -0
  151. package/lib/core/folder-memory-shared.cjs +890 -0
  152. package/lib/core/folder-memory.cjs +416 -0
  153. package/lib/core/framework-chain-composer.cjs +411 -0
  154. package/lib/core/frontmatter-schemas.cjs +330 -0
  155. package/lib/core/git-ops.cjs +141 -0
  156. package/lib/core/graph-ops.cjs +258 -0
  157. package/lib/core/hat-persistence.cjs +362 -0
  158. package/lib/core/index.cjs +60 -0
  159. package/lib/core/integration-registry.cjs +232 -0
  160. package/lib/core/intelligence-cascade.cjs +661 -0
  161. package/lib/core/lazygraph-ops.cjs +1057 -0
  162. package/lib/core/lru-cache.cjs +139 -0
  163. package/lib/core/mcp-profiles.cjs +182 -0
  164. package/lib/core/meeting-ops.cjs +54 -0
  165. package/lib/core/memory-ops.cjs +600 -0
  166. package/lib/core/migrations/ROOM.md +33 -0
  167. package/lib/core/migrations/phase-109-nodes-provenance.cjs +339 -0
  168. package/lib/core/migrations/phase-109-session-focus.cjs +99 -0
  169. package/lib/core/model-profiles.cjs +246 -0
  170. package/lib/core/mullins-scaffold.cjs +160 -0
  171. package/lib/core/nav-dial.cjs +316 -0
  172. package/lib/core/navigation/ROOM.md +15 -0
  173. package/lib/core/navigation/explanation.cjs +43 -0
  174. package/lib/core/navigation/focus.cjs +135 -0
  175. package/lib/core/navigation/ingestion.cjs +82 -0
  176. package/lib/core/navigation/insights.cjs +350 -0
  177. package/lib/core/navigation/memory-events.cjs +118 -0
  178. package/lib/core/navigation/neighborhood.cjs +78 -0
  179. package/lib/core/navigation/packet.cjs +182 -0
  180. package/lib/core/navigation/room-home.cjs +127 -0
  181. package/lib/core/navigation/transitions.cjs +82 -0
  182. package/lib/core/navigation-engine-shared.cjs +242 -0
  183. package/lib/core/navigation-engine.cjs +664 -0
  184. package/lib/core/navigation.cjs +60 -0
  185. package/lib/core/nl-graph-queries.cjs +164 -0
  186. package/lib/core/offer-presenter.cjs +406 -0
  187. package/lib/core/opportunity-extractor.cjs +183 -0
  188. package/lib/core/opportunity-ops.cjs +1371 -0
  189. package/lib/core/persona-ops.cjs +537 -0
  190. package/lib/core/persona-taxonomy.cjs +190 -0
  191. package/lib/core/platform-gates.cjs +120 -0
  192. package/lib/core/platform.cjs +257 -0
  193. package/lib/core/proactive-intelligence.cjs +528 -0
  194. package/lib/core/problem-type-router.cjs +315 -0
  195. package/lib/core/reasoning-ops.cjs +639 -0
  196. package/lib/core/reverse-salient-persona-suffix.cjs +115 -0
  197. package/lib/core/room-classifier-strict-mode.cjs +229 -0
  198. package/lib/core/room-db.cjs +127 -0
  199. package/lib/core/room-ops-async.cjs +92 -0
  200. package/lib/core/room-ops-shared.cjs +64 -0
  201. package/lib/core/room-ops-sync.cjs +70 -0
  202. package/lib/core/room-ops.cjs +32 -0
  203. package/lib/core/room-type-detector.cjs +386 -0
  204. package/lib/core/rs-brain-substrate-prompts.cjs +129 -0
  205. package/lib/core/rs-brain-substrate.cjs +570 -0
  206. package/lib/core/rs-breakthrough-scorer.cjs +255 -0
  207. package/lib/core/rs-canon-violations.cjs +82 -0
  208. package/lib/core/rs-chain-feeder.cjs +343 -0
  209. package/lib/core/rs-commercial-assessor.cjs +280 -0
  210. package/lib/core/rs-differential-scorer.cjs +376 -0
  211. package/lib/core/rs-domain-analyzer.cjs +385 -0
  212. package/lib/core/rs-egress-prompts.cjs +113 -0
  213. package/lib/core/rs-egress-telemetry.cjs +225 -0
  214. package/lib/core/rs-egress-violations.cjs +53 -0
  215. package/lib/core/rs-expert-mapper.cjs +467 -0
  216. package/lib/core/rs-fetcher-academic.cjs +697 -0
  217. package/lib/core/rs-fetcher-experts.cjs +314 -0
  218. package/lib/core/rs-fetcher-industry.cjs +731 -0
  219. package/lib/core/rs-fetcher-patents.cjs +564 -0
  220. package/lib/core/rs-innovation-classifier.cjs +194 -0
  221. package/lib/core/rs-mind-map.cjs +656 -0
  222. package/lib/core/rs-neo4j-writer.cjs +388 -0
  223. package/lib/core/rs-nl-to-query.cjs +425 -0
  224. package/lib/core/rs-pinecone-bridge.cjs +303 -0
  225. package/lib/core/rs-preprocessor.cjs +350 -0
  226. package/lib/core/rs-query-matrix.cjs +316 -0
  227. package/lib/core/rs-query-to-text.cjs +438 -0
  228. package/lib/core/rs-sqlite-mirror.cjs +443 -0
  229. package/lib/core/rs-thesis-generator.cjs +188 -0
  230. package/lib/core/rs_cache.py +479 -0
  231. package/lib/core/rs_corpus.py +468 -0
  232. package/lib/core/rs_hybrid.py +586 -0
  233. package/lib/core/rs_math.py +287 -0
  234. package/lib/core/rs_rooms.py +193 -0
  235. package/lib/core/scheduled-scanner.cjs +463 -0
  236. package/lib/core/scratchpad-ops.cjs +201 -0
  237. package/lib/core/section-8-trace-schema.cjs +138 -0
  238. package/lib/core/section-registry.cjs +111 -0
  239. package/lib/core/session-state.cjs +144 -0
  240. package/lib/core/shallow-doc-parser.cjs +174 -0
  241. package/lib/core/shallow-doc-parser.test.cjs +226 -0
  242. package/lib/core/skill-activation-router.cjs +284 -0
  243. package/lib/core/state-ops.cjs +46 -0
  244. package/lib/core/statusline-cache.cjs +266 -0
  245. package/lib/core/token-estimator.cjs +348 -0
  246. package/lib/core/user-archetype.cjs +239 -0
  247. package/lib/core/user-md-ops.cjs +524 -0
  248. package/lib/core/visual-ops.cjs +624 -0
  249. package/lib/core/write-lock.cjs +149 -0
  250. package/lib/graph/canvas-graph.js +467 -0
  251. package/lib/graph/constellation-config.cjs +299 -0
  252. package/lib/graph/graph-detail-panel.js +165 -0
  253. package/lib/hmi/ROOM.md +47 -0
  254. package/lib/hmi/across-session-memory.cjs +604 -0
  255. package/lib/hmi/cross-room-memory.cjs +575 -0
  256. package/lib/hmi/decoy-tier.cjs +395 -0
  257. package/lib/hmi/jtbd-classifier.cjs +219 -0
  258. package/lib/hmi/jtbd-state.cjs +199 -0
  259. package/lib/hmi/jtbd-taxonomy.json +392 -0
  260. package/lib/hmi/selector-dispatcher.cjs +546 -0
  261. package/lib/hmi/selector-telemetry.cjs +263 -0
  262. package/lib/hmi/shape-f0-renderer.cjs +139 -0
  263. package/lib/hmi/shape-f1-fallback.cjs +80 -0
  264. package/lib/hmi/shape-f1-renderer.cjs +138 -0
  265. package/lib/hmi/shape-f2-renderer.cjs +132 -0
  266. package/lib/hmi/shape-f3-renderer.cjs +66 -0
  267. package/lib/hmi/shape-f4-renderer.cjs +72 -0
  268. package/lib/hmi/shape-f5-renderer.cjs +155 -0
  269. package/lib/hmi/shape-f6-plan-review-renderer.cjs +312 -0
  270. package/lib/hmi/shape-f6-renderer.cjs +144 -0
  271. package/lib/hmi/shape-g-renderer.cjs +219 -0
  272. package/lib/hmi/shape-h-renderer.cjs +222 -0
  273. package/lib/hmi/tier-check.cjs +63 -0
  274. package/lib/import/PRECONDITIONS.md +41 -0
  275. package/lib/import/branding.cjs +210 -0
  276. package/lib/import/branding.test.cjs +235 -0
  277. package/lib/import/classifications-sync.cjs +104 -0
  278. package/lib/import/classifications-sync.test.cjs +129 -0
  279. package/lib/import/enricher.cjs +296 -0
  280. package/lib/import/enricher.test.cjs +273 -0
  281. package/lib/import/integration.test.cjs +376 -0
  282. package/lib/import/manifest.cjs +129 -0
  283. package/lib/import/manifest.schema.json +185 -0
  284. package/lib/import/manifest.test.cjs +123 -0
  285. package/lib/import/meeting-detector.cjs +92 -0
  286. package/lib/import/meeting-detector.test.cjs +100 -0
  287. package/lib/import/person-detector.cjs +229 -0
  288. package/lib/import/person-detector.test.cjs +149 -0
  289. package/lib/import/report.cjs +186 -0
  290. package/lib/import/report.test.cjs +186 -0
  291. package/lib/import/room-md-scaffolder.cjs +49 -0
  292. package/lib/import/router.cjs +224 -0
  293. package/lib/import/router.test.cjs +356 -0
  294. package/lib/import/run-all-tests.cjs +36 -0
  295. package/lib/import/smoke-test.cjs +213 -0
  296. package/lib/import/smoke-test.test.cjs +148 -0
  297. package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +8 -0
  298. package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +7 -0
  299. package/lib/import/test-fixtures/collision-vault/source/onboarding.md +5 -0
  300. package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +1 -0
  301. package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +4 -0
  302. package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +9 -0
  303. package/lib/import/test-fixtures/tiny-vault/notes/empty.md +3 -0
  304. package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +5 -0
  305. package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +5 -0
  306. package/lib/import/test-fixtures/tiny-vault/notes/random.md +4 -0
  307. package/lib/import/undo.test.cjs +199 -0
  308. package/lib/import/vault-scanner.cjs +105 -0
  309. package/lib/import/vault-scanner.test.cjs +67 -0
  310. package/lib/mcp/app-html/dashboard.html +316 -0
  311. package/lib/mcp/app-html/graph.html +428 -0
  312. package/lib/mcp/app-html/mindrian-platform.html +1841 -0
  313. package/lib/mcp/app-html/wiki.html +383 -0
  314. package/lib/mcp/app-views.cjs +322 -0
  315. package/lib/mcp/brain-router.cjs +418 -0
  316. package/lib/mcp/capability-registry.cjs +62 -0
  317. package/lib/mcp/larry-context.cjs +46 -0
  318. package/lib/mcp/larry-server-instructions.md +114 -0
  319. package/lib/mcp/pipeline-state.cjs +275 -0
  320. package/lib/mcp/prompts.cjs +302 -0
  321. package/lib/mcp/resources.cjs +227 -0
  322. package/lib/mcp/session-catchup.cjs +327 -0
  323. package/lib/mcp/surface-detect.cjs +75 -0
  324. package/lib/mcp/tool-router.cjs +1034 -0
  325. package/lib/memory/aaak-compress.cjs +403 -0
  326. package/lib/memory/aaak-compress.test.cjs +288 -0
  327. package/lib/memory/async-artifact-auto-commit.test.cjs +223 -0
  328. package/lib/memory/bearer-token.test.cjs +315 -0
  329. package/lib/memory/brain-cache-lru.test.cjs +259 -0
  330. package/lib/memory/brain-client-query-shape.test.cjs +160 -0
  331. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +1019 -0
  332. package/lib/memory/brain-derivation-queue.test.cjs +539 -0
  333. package/lib/memory/brain-derivation.test.cjs +634 -0
  334. package/lib/memory/brain-derive-command.test.cjs +534 -0
  335. package/lib/memory/brain-md-invariants-validator.test.cjs +704 -0
  336. package/lib/memory/brain-md-schema.test.cjs +467 -0
  337. package/lib/memory/brain-md-staleness.test.cjs +525 -0
  338. package/lib/memory/brain-server-resolution.test.cjs +314 -0
  339. package/lib/memory/chat-context.test.cjs +128 -0
  340. package/lib/memory/cross-room-aggregator.test.cjs +909 -0
  341. package/lib/memory/dashboard-server.test.cjs +256 -0
  342. package/lib/memory/debouncer-drain-at-prompt.test.cjs +389 -0
  343. package/lib/memory/decision-capture.test.cjs +632 -0
  344. package/lib/memory/decision-capture.worker.cjs +70 -0
  345. package/lib/memory/explain-decision-command.test.cjs +521 -0
  346. package/lib/memory/explain-decision-footer.test.cjs +316 -0
  347. package/lib/memory/explored-materials-store.cjs +392 -0
  348. package/lib/memory/feynman-minto-guardian.test.cjs +736 -0
  349. package/lib/memory/feynman-minto-invariants.test.cjs +511 -0
  350. package/lib/memory/feynman-prompts-drift.test.cjs +144 -0
  351. package/lib/memory/feynman-prompts.cjs +151 -0
  352. package/lib/memory/feynman-prompts.test.cjs +96 -0
  353. package/lib/memory/folder-memory-quadruple.test.cjs +548 -0
  354. package/lib/memory/folder-memory.test.cjs +503 -0
  355. package/lib/memory/framework-chain-composer.test.cjs +515 -0
  356. package/lib/memory/frontmatter-schema-validator.test.cjs +290 -0
  357. package/lib/memory/heal-command.test.cjs +604 -0
  358. package/lib/memory/index-artifact-transaction.test.cjs +333 -0
  359. package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +122 -0
  360. package/lib/memory/mcp-input-validation.test.cjs +240 -0
  361. package/lib/memory/mcp-server-brain-deps.test.cjs +270 -0
  362. package/lib/memory/mcp-stack-fallback.test.cjs +433 -0
  363. package/lib/memory/minto-debouncer.test.cjs +407 -0
  364. package/lib/memory/minto-debouncer.worker.cjs +46 -0
  365. package/lib/memory/minto-migration-v88.test.cjs +265 -0
  366. package/lib/memory/minto-schema-v88.test.cjs +390 -0
  367. package/lib/memory/mos-status-renderer.test.cjs +631 -0
  368. package/lib/memory/narrative-schema.cjs +376 -0
  369. package/lib/memory/narrative-schema.test.cjs +209 -0
  370. package/lib/memory/nav-dial.test.cjs +414 -0
  371. package/lib/memory/navigation-engine-core.test.cjs +722 -0
  372. package/lib/memory/navigation-invariants.test.cjs +483 -0
  373. package/lib/memory/offer-presenter.test.cjs +554 -0
  374. package/lib/memory/on-stop-snapshot.test.cjs +404 -0
  375. package/lib/memory/pending-tension-store.cjs +373 -0
  376. package/lib/memory/post-compact-reinjection.test.cjs +854 -0
  377. package/lib/memory/post-write-triple.test.cjs +317 -0
  378. package/lib/memory/pre-compact-snapshot.test.cjs +495 -0
  379. package/lib/memory/problem-type-router.test.cjs +656 -0
  380. package/lib/memory/query-efficiency-telemetry.test.cjs +370 -0
  381. package/lib/memory/recompile-room-references.test.cjs +392 -0
  382. package/lib/memory/recompile-room-references.worker.cjs +42 -0
  383. package/lib/memory/record-decision-dual-write.test.cjs +454 -0
  384. package/lib/memory/room-classifier-strict-mode.test.cjs +417 -0
  385. package/lib/memory/room-minto-hook.test.cjs +398 -0
  386. package/lib/memory/rs-discovery-engine.test.cjs +323 -0
  387. package/lib/memory/run-feynman-tests.cjs +1239 -0
  388. package/lib/memory/security-trifecta.test.cjs +312 -0
  389. package/lib/memory/session-start-brain-staleness.test.cjs +363 -0
  390. package/lib/memory/session-start-triple-injection.test.cjs +514 -0
  391. package/lib/memory/sessionstart-banner-formatter.cjs +318 -0
  392. package/lib/memory/sessionstart-minto-banner.test.cjs +373 -0
  393. package/lib/memory/skill-activation-router.test.cjs +419 -0
  394. package/lib/memory/stamp-artifact-write.test.cjs +304 -0
  395. package/lib/memory/statusline-active-room.test.cjs +315 -0
  396. package/lib/memory/statusline-minto-segment.test.cjs +292 -0
  397. package/lib/memory/sync-async-entry-points.test.cjs +204 -0
  398. package/lib/memory/test-bridge-writer-enhanced.cjs +452 -0
  399. package/lib/memory/test-rs-brain-substrate-shape.cjs +529 -0
  400. package/lib/memory/test-rs-brain-substrate.cjs +636 -0
  401. package/lib/memory/test-rs-breakthrough-scorer.cjs +375 -0
  402. package/lib/memory/test-rs-canon-violations.cjs +218 -0
  403. package/lib/memory/test-rs-chain-feeder-core.cjs +344 -0
  404. package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +297 -0
  405. package/lib/memory/test-rs-commercial-assessor.cjs +385 -0
  406. package/lib/memory/test-rs-differential-scorer.cjs +480 -0
  407. package/lib/memory/test-rs-discovery-engine.cjs +603 -0
  408. package/lib/memory/test-rs-domain-analyzer.cjs +492 -0
  409. package/lib/memory/test-rs-egress-primitives.cjs +420 -0
  410. package/lib/memory/test-rs-expert-mapper.cjs +547 -0
  411. package/lib/memory/test-rs-explain-command.cjs +443 -0
  412. package/lib/memory/test-rs-fetcher-academic.cjs +848 -0
  413. package/lib/memory/test-rs-fetcher-experts.cjs +496 -0
  414. package/lib/memory/test-rs-fetcher-industry.cjs +702 -0
  415. package/lib/memory/test-rs-fetcher-patents.cjs +674 -0
  416. package/lib/memory/test-rs-innovation-classifier.cjs +301 -0
  417. package/lib/memory/test-rs-mind-map.cjs +646 -0
  418. package/lib/memory/test-rs-neo4j-writer.cjs +518 -0
  419. package/lib/memory/test-rs-nl-to-query.cjs +449 -0
  420. package/lib/memory/test-rs-pinecone-bridge.cjs +277 -0
  421. package/lib/memory/test-rs-preprocessor.cjs +433 -0
  422. package/lib/memory/test-rs-query-matrix.cjs +391 -0
  423. package/lib/memory/test-rs-query-to-text.cjs +551 -0
  424. package/lib/memory/test-rs-sqlite-mirror.cjs +649 -0
  425. package/lib/memory/test-rs-thesis-generator.cjs +360 -0
  426. package/lib/memory/triple-context-formatter.cjs +473 -0
  427. package/lib/memory/triple-context-formatter.test.cjs +442 -0
  428. package/lib/memory/user-md-persona.test.cjs +565 -0
  429. package/lib/memory/userpromptsubmit-integration.test.cjs +690 -0
  430. package/lib/memory/validators/README.md +157 -0
  431. package/lib/memory/validators/brain-md-invariants.cjs +475 -0
  432. package/lib/memory/validators/brain-substrate-invariants.cjs +285 -0
  433. package/lib/memory/validators/external-academic-invariants.cjs +249 -0
  434. package/lib/memory/validators/external-industry-invariants.cjs +271 -0
  435. package/lib/memory/validators/external-patents-invariants.cjs +266 -0
  436. package/lib/memory/validators/minto-invariants.cjs +62 -0
  437. package/lib/memory/validators/navigation-invariants.cjs +340 -0
  438. package/lib/memory/validators/queue-health.cjs +95 -0
  439. package/lib/memory/validators/snapshot-integrity.cjs +129 -0
  440. package/lib/memory/validators/stale-lifecycle.cjs +116 -0
  441. package/lib/memory/vault-section-minto-generator-atomic.test.cjs +556 -0
  442. package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +73 -0
  443. package/lib/memory/write-lock-atomic.test.cjs +137 -0
  444. package/lib/memory/write-lock-atomic.worker.cjs +55 -0
  445. package/lib/parity/check-parity.cjs +83 -0
  446. package/lib/presentation/presentation-server.cjs +101 -0
  447. package/lib/presentation/presentation-watcher.cjs +123 -0
  448. package/lib/quickview/hub-server.cjs +719 -0
  449. package/lib/quickview/server.cjs +533 -0
  450. package/lib/render/JTBD-PALETTES.md +145 -0
  451. package/lib/render/ROOM.md +59 -0
  452. package/lib/render/render-v2.cjs +486 -0
  453. package/lib/render/render-v2.test.cjs +267 -0
  454. package/lib/render/render.cjs +65 -0
  455. package/lib/state/ROOM.md +46 -0
  456. package/lib/state/state-md-parser.cjs +215 -0
  457. package/lib/statusline/ROOM.md +38 -0
  458. package/lib/statusline/banner-suppression.cjs +50 -0
  459. package/lib/statusline/surface-detect.cjs +85 -0
  460. package/lib/update-bootstrap.sh.template +145 -0
  461. package/lib/vault/frontmatter-schema.cjs +297 -0
  462. package/lib/vault/room-scanner.cjs +352 -0
  463. package/lib/vault/wikilink-builder.cjs +231 -0
  464. package/lib/vault/wikilink-builder.test.cjs +182 -0
  465. package/lib/wiki/graph-links.cjs +281 -0
  466. package/lib/wiki/page-renderer.cjs +229 -0
  467. package/lib/wiki/wiki-chat.cjs +81 -0
  468. package/lib/wiki/wiki-layout.cjs +1459 -0
  469. package/lib/wiki/wiki-search.cjs +142 -0
  470. package/lib/wiki/wiki-server.cjs +678 -0
  471. package/lib/wiki/wiki-watcher.cjs +105 -0
  472. package/package.json +44 -0
  473. package/pipelines/analogy/01-decompose.md +80 -0
  474. package/pipelines/analogy/02-abstract.md +87 -0
  475. package/pipelines/analogy/03-search.md +135 -0
  476. package/pipelines/analogy/04-transfer.md +101 -0
  477. package/pipelines/analogy/05-validate.md +106 -0
  478. package/pipelines/analogy/CHAIN.md +56 -0
  479. package/pipelines/discovery/01-explore-domains.md +44 -0
  480. package/pipelines/discovery/02-think-hats.md +50 -0
  481. package/pipelines/discovery/03-analyze-needs.md +54 -0
  482. package/pipelines/discovery/CHAIN.md +37 -0
  483. package/pipelines/thesis/01-structure-argument.md +45 -0
  484. package/pipelines/thesis/02-challenge-assumptions.md +48 -0
  485. package/pipelines/thesis/03-build-thesis.md +54 -0
  486. package/pipelines/thesis/CHAIN.md +37 -0
  487. package/references/brain/causal-directives.md +91 -0
  488. package/references/brain/causal-enrichment.cypher +165 -0
  489. package/references/brain/command-triggers-schema.md +226 -0
  490. package/references/brain/graph-architecture.md +317 -0
  491. package/references/brain/query-patterns.md +460 -0
  492. package/references/brain/room-hierarchy-schema.md +218 -0
  493. package/references/brain/schema.md +76 -0
  494. package/references/capability-radar/capabilities-index.md +241 -0
  495. package/references/capability-radar/changelog-cache.md +81 -0
  496. package/references/causal/causal-schema.md +103 -0
  497. package/references/design/email-template-standard.md +155 -0
  498. package/references/design/graph-visualization-standard.md +178 -0
  499. package/references/document-generation.md +179 -0
  500. package/references/hsi/HSI-TOOLS-REFERENCE.md +222 -0
  501. package/references/import-config.md +141 -0
  502. package/references/integrations/detection-patterns.md +101 -0
  503. package/references/meeting/artifact-template.md +377 -0
  504. package/references/meeting/cross-meeting-intelligence.md +216 -0
  505. package/references/meeting/cross-relationship-patterns.md +202 -0
  506. package/references/meeting/live-join-interface.md +244 -0
  507. package/references/meeting/section-mapping.md +192 -0
  508. package/references/meeting/segment-classification.md +258 -0
  509. package/references/meeting/speaker-profile-template.md +219 -0
  510. package/references/meeting/summary-template.md +348 -0
  511. package/references/meeting/transcript-patterns.md +226 -0
  512. package/references/methodology/analyze-needs.md +135 -0
  513. package/references/methodology/analyze-systems.md +121 -0
  514. package/references/methodology/analyze-timing.md +149 -0
  515. package/references/methodology/beautiful-question.md +109 -0
  516. package/references/methodology/build-knowledge.md +161 -0
  517. package/references/methodology/build-thesis.md +237 -0
  518. package/references/methodology/challenge-assumptions.md +127 -0
  519. package/references/methodology/diagnose.md +169 -0
  520. package/references/methodology/dominant-designs.md +212 -0
  521. package/references/methodology/explore-domains.md +147 -0
  522. package/references/methodology/explore-futures.md +163 -0
  523. package/references/methodology/explore-trends.md +129 -0
  524. package/references/methodology/find-bottlenecks.md +131 -0
  525. package/references/methodology/grade.md +211 -0
  526. package/references/methodology/index.md +97 -0
  527. package/references/methodology/leadership.md +200 -0
  528. package/references/methodology/lean-canvas.md +116 -0
  529. package/references/methodology/macro-trends.md +192 -0
  530. package/references/methodology/map-unknowns.md +137 -0
  531. package/references/methodology/mullins-7-domains.md +104 -0
  532. package/references/methodology/problem-types.md +65 -0
  533. package/references/methodology/root-cause.md +178 -0
  534. package/references/methodology/sapphire-encoding.md +355 -0
  535. package/references/methodology/scenario-plan.md +178 -0
  536. package/references/methodology/score-innovation.md +154 -0
  537. package/references/methodology/structure-argument.md +158 -0
  538. package/references/methodology/systems-thinking.md +159 -0
  539. package/references/methodology/think-hats.md +147 -0
  540. package/references/methodology/triz-matrix.json +751 -0
  541. package/references/methodology/triz-principles.md +501 -0
  542. package/references/methodology/user-needs.md +199 -0
  543. package/references/methodology/validate.md +163 -0
  544. package/references/methodology/value-proposition.md +244 -0
  545. package/references/opportunities/funding-lifecycle.md +103 -0
  546. package/references/opportunities/grant-api-patterns.md +99 -0
  547. package/references/opportunities/opportunity-template.md +84 -0
  548. package/references/personality/assessment-philosophy.md +72 -0
  549. package/references/personality/lexicon.md +100 -0
  550. package/references/personality/persona-chains.md +56 -0
  551. package/references/personality/pws-lexicon-full.md +499 -0
  552. package/references/personality/voice-dna.md +156 -0
  553. package/references/personas/hat-perspectives.md +76 -0
  554. package/references/personas/persona-template.md +63 -0
  555. package/references/pipeline/act-output-contract.md +88 -0
  556. package/references/pipeline/chains-index.md +39 -0
  557. package/references/pws-profile-generation.md +79 -0
  558. package/references/reasoning/reasoning-schema.md +143 -0
  559. package/references/reasoning/reasoning-template.md +68 -0
  560. package/references/reasoning/run-template.md +38 -0
  561. package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +209 -0
  562. package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +375 -0
  563. package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +575 -0
  564. package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +272 -0
  565. package/references/taxonomy/TAXONOMY.md +192 -0
  566. package/references/templates/MINTO.md +36 -0
  567. package/references/user-research/2026-04-05-leah-lawrence-session.md +202 -0
  568. package/references/vault-kit/README.md +35 -0
  569. package/references/vault-kit/app.json +12 -0
  570. package/references/vault-kit/appearance.json +12 -0
  571. package/references/vault-kit/graph.json +35 -0
  572. package/references/vault-kit/snippets/mindrian-destijl.css +297 -0
  573. package/references/vault-kit/templates/new-artifact.md +37 -0
  574. package/references/vault-kit/templates/new-meeting-note.md +35 -0
  575. package/references/vault-kit/templates/new-team-profile.md +29 -0
  576. package/references/vault-kit/templates/new-xref.md +35 -0
  577. package/references/visual/symbol-system.md +151 -0
  578. package/skills/MOSDeckEngine/SKILL.md +325 -0
  579. package/skills/brain-connector/SKILL.md +114 -0
  580. package/skills/context-engine/SKILL.md +147 -0
  581. package/skills/conversation-mode/SKILL.md +102 -0
  582. package/skills/larry-personality/SKILL.md +219 -0
  583. package/skills/larry-personality/framework-chains.md +92 -0
  584. package/skills/larry-personality/mode-engine.md +185 -0
  585. package/skills/mullins-scaffold/SKILL.md +61 -0
  586. package/skills/mullins-scaffold/scaffold.json +146 -0
  587. package/skills/pws-methodology/SKILL.md +49 -0
  588. package/skills/room-passive/SKILL.md +165 -0
  589. package/skills/room-proactive/SKILL.md +250 -0
  590. package/skills/ui-system/SKILL.md +277 -0
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: diagnostics
3
+ description: Run Wave-1 algorithmic fingerprint on the room
4
+ body_shape: E
5
+ serves_jtbd: ["audit-room"]
6
+ ui_reference: skills/ui-system/SKILL.md
7
+ allowed-tools:
8
+ - Bash
9
+ - Read
10
+ ---
11
+
12
+ # /mos:diagnostics
13
+
14
+ 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.
15
+
16
+ ## When to run
17
+
18
+ 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.
19
+
20
+ ## Voice rules (LOCKED)
21
+
22
+ - Conversational, direct, no filler. Signature openers from larry-personality: "Very simply...", "Here's the thing...", "One thing I've learned..."
23
+ - NO emoji, NO "I'd be happy to help", NO "Great question", NO sentences starting with I
24
+ - 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`)
25
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: /mos:command
26
+
27
+ ## Pre-flight: Room Check
28
+
29
+ Resolve the active room using the shared helper:
30
+
31
+ ```bash
32
+ bash ${CLAUDE_PLUGIN_ROOT}/scripts/resolve-room
33
+ ```
34
+
35
+ If no Data Room is found, show the 3-line error and STOP:
36
+
37
+ x No Data Room found
38
+ Why: .mindrian/ missing in the current or parent directories
39
+ Fix: /mos:new-project
40
+
41
+ If the room exists but `.mindrian/whitespace-embeddings.json` is absent, show the 3-line error and STOP:
42
+
43
+ x No whitespace embeddings
44
+ Why: Diagnostics requires an embedded artifact corpus at .mindrian/whitespace-embeddings.json
45
+ Fix: /mos:whitespace map
46
+
47
+ ## Step 1: Run Pipeline
48
+
49
+ Invoke the dispatcher:
50
+
51
+ ```bash
52
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/diagnostics-command.cjs ROOM_DIR
53
+ ```
54
+
55
+ The dispatcher runs four Python scripts in sequence:
56
+
57
+ - `compute-disruption-index.py` (Funk and Owen-Smith 2017 CD index)
58
+ - `compute-blindspot-mass.py` (Good-Turing coverage estimation)
59
+ - `compute-element-novelty.py` (centroid-distance novelty)
60
+ - `compute-bayesian-surprise.py` (leave-one-out cosine shift)
61
+
62
+ Each emits a JSON file in `.mindrian/`. The dispatcher reads the metadata scalars and composes the Shape E report.
63
+
64
+ ## Step 2: Render 4-Zone Output
65
+
66
+ ### Zone 1: Header Panel
67
+
68
+ One line naming the room and the panel:
69
+
70
+ -- [Room Name] -- Diagnostics -- Wave-1 Algorithmic Fingerprint --
71
+
72
+ ### Zone 2: Content Body (Shape E Action Report)
73
+
74
+ A 4-row metric table. The dispatcher produces the table verbatim; pass it through.
75
+
76
+ Example from mindrianOS room (2026-04-23 smoke test):
77
+
78
+ ```
79
+ Metric Value Interpretation
80
+ ------------------------------------------------------------------------
81
+ Disruption (CD) -0.7092, room is consolidating, not disrupting
82
+ Coverage 0.667, partial coverage, 33 pct uncovered
83
+ Element Novelty 0.083 mean, low diversity, artifacts cluster tightly
84
+ Bayesian Surprise max 0.312, moderate surprise in recent additions
85
+ ```
86
+
87
+ ### Zone 3: Intelligence Strip (conditional, max 3 signals)
88
+
89
+ Threshold rules evaluated by the dispatcher:
90
+
91
+ - `warning` CD below -0.3 -- Strong consolidation signal
92
+ - `empty-square` Coverage below 0.4 -- Low coverage, X pct of problem space unmapped
93
+ - `warning` Novelty mean below 0.1 -- Low diversity, artifacts cluster tightly
94
+ - `lightning` Surprise max above 0.5 -- Recent additions carry high information gain
95
+
96
+ Only triggered signals render. A healthy room may show zero signals.
97
+
98
+ ### Zone 4: Action Footer (never omit)
99
+
100
+ Three arrow-prefixed follow-ups:
101
+
102
+ -> /mos:whitespace map Inspect zones behind these scalars
103
+ -> /mos:whitespace discover Run full Discovery Cycle
104
+ -> /mos:find-bottlenecks Drill into reverse salients
105
+
106
+ ## Interpretation Guide
107
+
108
+ | Metric | Range | What It Means |
109
+ |--------|-------|---------------|
110
+ | 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). |
111
+ | 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. |
112
+ | 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. |
113
+ | 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. |
114
+
115
+ ## Error Handling
116
+
117
+ Three-line pattern. Specific failures:
118
+
119
+ 1. Python not installed:
120
+
121
+ x Python runtime not found
122
+ Why: python3 not on PATH, cannot run Wave-1 scripts
123
+ Fix: install Python 3.10+ and re-run /mos:diagnostics
124
+
125
+ 2. No whitespace embeddings (pre-flight already catches this):
126
+
127
+ x No whitespace embeddings
128
+ Why: Diagnostics requires an embedded artifact corpus at .mindrian/whitespace-embeddings.json
129
+ Fix: /mos:whitespace map
130
+
131
+ 3. Partial results (one or more scripts failed but the dispatcher continued):
132
+
133
+ 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.
134
+
135
+ ## Cross-Surface Adaptation
136
+
137
+ - **CLI** -- Full power. Scripts invoked via Bash. 80-column terminal output. The Shape E table is rendered with the 12-glyph vocabulary.
138
+ - **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.
139
+ - **Cowork** -- Same as CLI. The four metrics are shared via `00_Context/` for team visibility. The intelligence strip becomes a shared "room health" snapshot.
140
+
141
+ ## Canon References
142
+
143
+ - **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.
144
+ - **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.
145
+ - **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,34 @@
1
+ ---
2
+ name: dominant-designs
3
+ description: Spot dominant designs with Utterback-Abernathy
4
+ serves_jtbd: ["understand-market"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:dominant-designs
13
+
14
+ You are Larry. This command guides the user through Dominant Designs Analysis.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/dominant-designs.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Quick pass or deep dive?"
25
+
26
+ 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.
27
+
28
+ ## When Complete
29
+
30
+ Create the artifact using the template from the reference file.
31
+ Ask: "File this to competitive-analysis?" before writing.
32
+
33
+ If the conversation reveals a connection to another methodology, suggest it:
34
+ "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,36 @@
1
+ ---
2
+ name: explore-domains
3
+ description: Map domains through IKA + Feynman decomposition
4
+ serves_jtbd: ["find-problem", "understand-market", "explore"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:explore-domains
13
+
14
+ You are Larry. This command guides the user through the Domain Explorer framework.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/explore-domains.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Quick pass or deep dive?"
25
+
26
+ 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.
27
+
28
+ Challenge inflated scores ruthlessly. If they give Interest a 5, make them prove it.
29
+
30
+ ## When Complete
31
+
32
+ Create the artifact using the template from the reference file.
33
+ Ask: "File this to problem-definition?" before writing.
34
+
35
+ If the conversation reveals a connection to another methodology, suggest it:
36
+ "Your domain connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: explore-futures
3
+ description: Synthesize TTA + Scenario + S-Curve futures
4
+ serves_jtbd: ["compare-options", "explore"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:explore-futures
13
+
14
+ You are Larry. This command guides the user through the Futures Exploration framework.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/explore-futures.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Quick pass or deep dive?"
25
+
26
+ 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.
27
+
28
+ ## When Complete
29
+
30
+ Create the artifact using the template from the reference file.
31
+ Ask: "File this to market-analysis?" before writing.
32
+
33
+ If the conversation reveals a connection to another methodology, suggest it:
34
+ "The signals you've found connect to [methodology]. Want to explore that next?"
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: explore-trends
3
+ description: Push trends to extremes to surface future problems
4
+ serves_jtbd: ["understand-market", "explore"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:explore-trends
13
+
14
+ You are Larry. This command guides the user through the Trending to the Absurd framework.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/explore-trends.md` for framework details
19
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
20
+ 3. Read `room/STATE.md` for venture context (if exists)
21
+
22
+ ## Session Flow
23
+
24
+ Ask: "Quick pass or deep dive?"
25
+
26
+ Then follow the framework phases from the reference file. Start by identifying the trend and its velocity. Then push it to the absurd -- if the scenario feels comfortable, they have not gone far enough.
27
+
28
+ No solutions before problems. That is not a suggestion. That is the rule.
29
+
30
+ ## When Complete
31
+
32
+ Create the artifact using the template from the reference file.
33
+ Ask: "File this to market-analysis?" before writing.
34
+
35
+ If the conversation reveals a connection to another methodology, suggest it:
36
+ "The future you explored connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: export
3
+ description: Export a Data Room view to De Stijl HTML
4
+ argument-hint: [hub|thesis|summary|report]
5
+ disable-model-invocation: true
6
+ body_shape: E (Action Report)
7
+ serves_jtbd: ["prepare-pitch"]
8
+ ui_reference: skills/ui-system/SKILL.md
9
+ allowed-tools:
10
+ - Bash
11
+ - Read
12
+ - Write
13
+ ---
14
+
15
+ You are Larry, the PWS methodology guide inside MindrianOS. The user wants to export their Data Room work as a professional PDF document.
16
+
17
+ ## Determine Document Type
18
+
19
+ Parse the user's argument to determine which document type they want. If no argument is provided, or they say "help", show the available types:
20
+
21
+ **Available export types:**
22
+
23
+ | Type | Command | What You Get |
24
+ |------|---------|-------------|
25
+ | **hub** | `/mos:export hub` | **DEFAULT.** Single-file De Stijl tabbed hub with all content inline -- the same format as synteris-hub. Shareable, deployable, works offline. |
26
+ | **dashboard** | `/mos:export dashboard` | Interactive Cytoscape.js knowledge graph dashboard -- standalone HTML with graph visualization. Better for small rooms. |
27
+ | **thesis** | `/mos:export thesis` | Investment thesis: multi-page narrative covering your full venture analysis. Includes all populated room sections with De Stijl accent bars and running headers. |
28
+ | **summary** | `/mos:export summary` | Executive summary: dense 1-2 page overview for quick stakeholder review. Two-column layout with financial metrics box. |
29
+ | **report** | `/mos:export report` | Due diligence report: comprehensive numbered sections with table of contents and PDF bookmarks. |
30
+ | **profile** | `/mos:export profile` | PWS Profile: single-page professional profile built from your methodology work -- domain expertise, thinking perspectives, customer understanding, and professional background. |
31
+ | **meeting-report** | `/mos:export meeting-report` | Meeting intelligence report: Minto pyramid structure covering all meetings with speaker attribution, decisions, contradictions, and section-colored filing indicators. |
32
+
33
+ ## Generate Hub Export (DEFAULT)
34
+
35
+ If the user requests `hub`, or runs `/mos:export` with no argument, or says "export my room":
36
+
37
+ 1. **Check the room exists.** If `room/` directory does not exist, tell the user to run `/mos:new-project`.
38
+
39
+ 2. **Run the hub generator (MANDATORY -- never generate HTML by hand):**
40
+ ```bash
41
+ node scripts/generate-hub.cjs ./room
42
+ ```
43
+
44
+ 3. **Report the result:**
45
+ > "Your Data Room snapshot is at `room/exports/hub.html`. Single file -- open it in any browser, send it by email, or deploy to Vercel. Everything is inline."
46
+
47
+ 4. **If `--open` or user says "open it":** Open in browser with OS-appropriate command.
48
+
49
+ ## Generate Dashboard Export
50
+
51
+ If the user specifically requests `dashboard`:
52
+
53
+ 1. **Check the room exists.** If `room/` directory does not exist, tell the user to run `/mos:new-project`.
54
+
55
+ 2. **Run the standalone generator:**
56
+ ```bash
57
+ bash scripts/generate-standalone ./room
58
+ ```
59
+
60
+ 3. **Report the result:**
61
+ > "Your knowledge graph dashboard is at `room/data-room-dashboard.html`. Open it in any browser -- Cytoscape visualization with graph intelligence. Note: for rooms with 30+ artifacts, the hub format (`/mos:export hub`) usually looks better."
62
+
63
+ ## Generate the PDF
64
+
65
+ If a valid PDF document type is provided:
66
+
67
+ 1. **Check the room exists.** If `room/` directory does not exist, tell the user:
68
+ > "You don't have a Data Room yet. Run `/mos:new-project` to set one up, then come back for that export."
69
+
70
+ 2. **Run the render script:**
71
+ ```bash
72
+ python3 scripts/render-pdf {type} --room room/
73
+ ```
74
+
75
+ 3. **Report the result** in Larry's voice:
76
+ > "Your {type} is ready! Check `room/exports/` -- I used your {N} room sections to build it."
77
+
78
+ 4. **If some sections are empty**, mention them helpfully:
79
+ > "A few sections are still empty ({list}). Fill those in and re-export for an even stronger document."
80
+
81
+ ## PWS Profile -- Special Guidance (DOCS-05)
82
+
83
+ The profile document type is unique -- it pulls from your methodology outputs, not just raw room entries:
84
+
85
+ - **Domain Expertise** (top-left): Populated from `/mos:explore-domains` outputs
86
+ - **Thinking Perspectives** (top-right): Populated from `/mos:think-hats` outputs
87
+ - **Customer Understanding** (bottom-left): Populated from `/mos:analyze-needs` / JTBD outputs
88
+ - **Professional Background** (bottom-right): Populated from team-execution room entries
89
+
90
+ If the profile looks sparse, suggest:
91
+ > "Your profile will look sharper with more methodology outputs. Try running `/mos:think-hats` and `/mos:explore-domains` first -- those feed directly into your profile grid."
92
+
93
+ ## Surface Behavior
94
+
95
+ - **CLI:** The render-pdf script runs directly, generates the PDF, and opens it automatically with the system viewer.
96
+ - **Desktop:** Larry can proactively offer export after key milestones -- "You've filled 5 sections now. Want me to generate a thesis draft so you can see how it's shaping up?"
97
+ - **Cowork:** In shared workspaces, export to `00_Context/exports/` so team members can review. Mention: "I put the export in the shared context folder so your team can see it."
98
+
99
+ ## Error Handling
100
+
101
+ - If the user provides an invalid document type, show the table above and suggest the closest match.
102
+ - If PDF generation fails, check that font files exist in `assets/fonts/` and suggest re-running `/mos:setup` if needed.
103
+ - If the room has no content at all, guide them to start with a methodology: "Your room is empty -- try `/mos:lean-canvas` or `/mos:explore-domains` to get some content in there first."