@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,241 @@
1
+ ---
2
+ name: jtbd
3
+ description: Show, set, list, or inspect the active JTBD (job-to-be-done) -- the per-room signal that tells Larry what kind of work the navigator is doing right now
4
+ argument-hint: "[set <jtbd> | clear | list | history] [--json]"
5
+ body_shape: E (Action Report)
6
+ body_shape_detail: current state + last 5 history (default), 13 entries (list), full history (history), Shape F.1 picker (set with no arg), Shape E confirmation (clear, set <jtbd>)
7
+ serves_jtbd: ["audit-room"]
8
+ locks_operator: null
9
+ min_tier: 0
10
+ concurrency: sequential
11
+ streams_events: false
12
+ disable-model-invocation: false
13
+ ui_reference: skills/ui-system/SKILL.md
14
+ allowed-tools:
15
+ - Bash
16
+ - Read
17
+ ---
18
+
19
+ # /mos:jtbd
20
+
21
+ Inspect or manually set the active Job-to-be-Done (JTBD) for the current room. The JTBD is the per-room signal that tells Larry what kind of work the navigator is doing right now -- `find-bottleneck`, `prepare-pitch`, `audit-room`, `explore` (fallback), and 9 more. Phase 100 makes JTBD a first-class, persisted, room-local state so every subsequent `/mos:` command can render against the same job signal.
22
+
23
+ The JTBD state file lives at `<roomDir>/.mindrian/jtbd-state.json` (per-room, never global -- Phase 100 D-06). The heuristic classifier (Phase 100-02) updates it silently per turn. Manual sets stick for 24 hours unless cleared, switched, or re-set (Phase 100 D-12). Most users never need this command directly. Use `/mos:jtbd` when:
24
+
25
+ - You want to inspect what Larry currently believes the job is.
26
+ - The classifier mis-routed and you want to manually override.
27
+ - You are debugging the classifier or auditing the transition history.
28
+ - You want a one-line index of all 12 first-class jobs + the `explore` fallback.
29
+
30
+ ## Step 1: Parse the user's intent
31
+
32
+ Look at the invocation:
33
+
34
+ - `/mos:jtbd` (no args) -> show current JTBD + last 5 history (Shape E)
35
+ - `/mos:jtbd history` -> show last 20 transitions (Shape E)
36
+ - `/mos:jtbd list` -> show all 13 entries with their one-liners (Shape E)
37
+ - `/mos:jtbd set <jtbd>` -> manual override; sticky 24 hours (writes history with trigger=manual_set)
38
+ - `/mos:jtbd set` (no arg) -> render Shape F.1 picker with the 12 jobs + Free-Text
39
+ - `/mos:jtbd clear` -> return to null (no JTBD inferred); writes history with trigger=manual_clear
40
+ - `/mos:jtbd --json` -> machine-readable output for hooks / regression tests
41
+
42
+ Combine `--json` with any subcommand: `/mos:jtbd history --json`.
43
+
44
+ ## Step 2: Execute
45
+
46
+ Run via Bash:
47
+
48
+ ```bash
49
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/jtbd-command.cjs" $ARGUMENTS
50
+ ```
51
+
52
+ If `CLAUDE_PLUGIN_ROOT` is unset (older Claude Code versions), fall back to:
53
+
54
+ ```bash
55
+ node ~/.claude/plugins/mindrian-os/scripts/jtbd-command.cjs $ARGUMENTS
56
+ ```
57
+
58
+ The script does the work:
59
+
60
+ 1. Resolves the active room from `~/MindrianRooms/.rooms/registry.json`.
61
+ 2. Loads `<roomDir>/.mindrian/jtbd-state.json` via `lib/hmi/jtbd-state.cjs.getCurrent`.
62
+ 3. Loads `lib/hmi/jtbd-taxonomy.json` for taxonomy lookups.
63
+ 4. Branches on subcommand: render Shape E, render Shape F.1, or perform a write transition.
64
+ 5. For `set` subcommand: validates the requested JTBD against the taxonomy; rejects unknown JTBDs with a 3-line stderr per Canon Part 3 Rule 2 and exits non-zero.
65
+
66
+ ## Step 3: Render the output
67
+
68
+ 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.
69
+
70
+ ## Subcommands
71
+
72
+ ### `/mos:jtbd` (default -- show current state)
73
+
74
+ Renders Shape E with the current JTBD, confidence, evidence chain, and last 5 history entries. Zone 4 footer surfaces 3 grounded follow-up commands tuned to the active job.
75
+
76
+ ### `/mos:jtbd history`
77
+
78
+ Renders Shape E with the last 20 transitions (chronological-recent-first). Each row shows from -> to + trigger + timestamp.
79
+
80
+ ### `/mos:jtbd list`
81
+
82
+ Renders Shape E with all 13 taxonomy entries (12 first-class jobs + `explore` fallback). Each row: id + one-line description.
83
+
84
+ ### `/mos:jtbd set <jtbd>`
85
+
86
+ Validates `<jtbd>` against the 13-entry taxonomy. On success, writes the state with `trigger=manual_set` and a 24h `expires_at` window (the manual override). On failure (unknown JTBD), prints a 3-line error to stderr and exits 1.
87
+
88
+ ### `/mos:jtbd set` (no arg)
89
+
90
+ Renders a Shape F.1 Next Move selector listing the 12 first-class jobs + `Free-Text`. Per Phase 95.1-04 D-19 deferral pattern, the F.1 picker renders as a STRUCTURAL marker block in stdout. Larry handles conversational selection: when the user types "set to find-bottleneck" in natural language, Larry interprets and re-invokes the command with the explicit id (e.g., `/mos:jtbd set find-bottleneck`). Phase 88.2 (`uiux-selector-block`) will replace the marker block with the canonical AskUserQuestion primitive. See `.planning/phases/100-jtbd-inference-engine/f1-selector-deferred.md`.
91
+
92
+ ### `/mos:jtbd clear`
93
+
94
+ Clears the current JTBD to null (no JTBD inferred). Writes a history row with `trigger=manual_clear`. Subsequent classifier runs may re-populate the state.
95
+
96
+ ## Examples
97
+
98
+ ### Default show (active JTBD)
99
+
100
+ ```
101
+ -- mindrianos -- jtbd -- find-bottleneck --
102
+
103
+ ■ Current find-bottleneck
104
+ entered 2026-05-01T10:42:00Z (3m ago)
105
+ confidence 0.82
106
+ evidence tokens:rs-fetch, operator:METHODOLOGY, recency:rs-thesis
107
+ expires manual override active until 2026-05-02T10:42:00Z
108
+
109
+ ■ Last 5 history
110
+ ├─ explore 2026-05-01T10:30:00Z trigger=session_start
111
+ ├─ explore 2026-05-01T10:35:00Z trigger=user_message
112
+ └─ find-bottleneck 2026-05-01T10:42:00Z trigger=manual_set
113
+
114
+ Summary: total transitions=3, history_used=3/50
115
+
116
+ ▶ /mos:act # run methodology for active job
117
+ ▷ /mos:jtbd set # manual override (F.1 picker)
118
+ ▷ /mos:jtbd history # full transition history
119
+ ```
120
+
121
+ ### Default show (no JTBD inferred)
122
+
123
+ ```
124
+ -- mindrianos -- jtbd -- null --
125
+
126
+ ⬜ no JTBD set
127
+ classifier confidence below 0.6 threshold; explore fallback active
128
+ evidence below_threshold
129
+
130
+ ▶ /mos:jtbd list # browse 13 jobs
131
+ ▷ /mos:jtbd set <id> # manual selection
132
+ ▷ /mos:status # room state
133
+ ```
134
+
135
+ ### list subcommand
136
+
137
+ ```
138
+ -- mindrianos -- jtbd -- list --
139
+
140
+ ■ JTBD taxonomy (13 entries)
141
+ • decide-pursue Decide if a venture / opportunity / approach is worth pursuing
142
+ • find-problem Find the problem worth solving (not the symptom, the root)
143
+ • understand-market Understand the market for this idea -- size, structure, dynamics
144
+ • find-bottleneck Find the lagging component (Hughes 1983 reverse salient) blocking progress
145
+ • prepare-pitch Prepare for an investor / partner / customer meeting
146
+ • validate-idea Test if an idea / hypothesis / claim holds up under scrutiny
147
+ • compare-options Compare alternatives across criteria -- choose between A/B/C
148
+ • connect-domains Find cross-domain analogues -- what does this look like in another field?
149
+ • surface-contradiction Notice and resolve internal contradictions in the room
150
+ • plan-execution Plan the next 90 days -- milestones, owners, dates
151
+ • file-meeting Capture and route meeting intelligence into the room
152
+ • audit-room Audit Data Room health -- gaps, drift, evidence tier, decision quality
153
+ • explore No specific job -- general thinking, talking, ranging (fallback)
154
+
155
+ ▶ /mos:jtbd # current state
156
+ ▷ /mos:jtbd set <id> # manual selection
157
+ ▷ /mos:jtbd history # transition history
158
+ ```
159
+
160
+ ### set subcommand (Shape F.1 picker, no arg)
161
+
162
+ ```
163
+ -- mindrianos -- jtbd -- set --
164
+
165
+ ■ Manual JTBD selection
166
+ current: explore
167
+
168
+ [F.1 Next Move]
169
+ ▶ decide-pursue # decide if worth pursuing
170
+ ▷ find-problem # find the root problem
171
+ ▷ understand-market # understand the market
172
+ ▷ find-bottleneck # find the lagging component
173
+ ▷ prepare-pitch # prepare for stakeholder meeting
174
+ ▷ validate-idea # stress-test a claim
175
+ ▷ compare-options # compare alternatives
176
+ ▷ connect-domains # find cross-domain analogues
177
+ ▷ surface-contradiction # resolve room contradictions
178
+ ▷ plan-execution # plan next 90 days
179
+ ▷ file-meeting # file meeting intelligence
180
+ ▷ audit-room # audit room health
181
+ ▷ Free-Text # describe the job in your own words
182
+
183
+ ▶ /mos:jtbd # cancel and re-show state
184
+ ▷ /mos:jtbd list # browse one-liners first
185
+ ```
186
+
187
+ ### history subcommand
188
+
189
+ ```
190
+ -- mindrianos -- jtbd -- history --
191
+
192
+ ■ History (3 of 50 entries)
193
+ ├─ explore 2026-05-01T10:30:00Z trigger=session_start from=null
194
+ ├─ explore 2026-05-01T10:35:00Z trigger=user_message from=explore
195
+ └─ find-bottleneck 2026-05-01T10:42:00Z trigger=manual_set from=explore
196
+
197
+ Summary: total transitions=3, history_used=3/50, oldest=2026-05-01T10:30:00Z
198
+
199
+ ▶ /mos:jtbd # current state
200
+ ▷ /mos:jtbd set <id> # manual selection
201
+ ▷ /mos:jtbd clear # return to null
202
+ ```
203
+
204
+ ### clear subcommand
205
+
206
+ ```
207
+ -- mindrianos -- jtbd -- clear --
208
+
209
+ ✓ Cleared JTBD (was: find-bottleneck)
210
+ trigger: manual_clear
211
+ classifier may re-populate on next user turn
212
+
213
+ ▶ /mos:jtbd list # browse 13 jobs
214
+ ▷ /mos:jtbd set <id> # manual selection
215
+ ▷ /mos:status # room state
216
+ ```
217
+
218
+ ## Note on Shape F.1 deferral
219
+
220
+ Per Phase 95.1-04 D-19 deferral pattern, the F.1 picker renders as a STRUCTURAL marker block in stdout. Larry handles conversational selection: when the user types natural language ("set to find-bottleneck", "let's pitch"), Larry interprets and re-invokes the command with the explicit id. Phase 88.2 (`uiux-selector-block`) will replace the marker block with the canonical AskUserQuestion primitive. See `.planning/phases/100-jtbd-inference-engine/f1-selector-deferred.md` for the deferral note + re-trigger condition.
221
+
222
+ ## Voice rules
223
+
224
+ When Larry surfaces the output conversationally:
225
+
226
+ - "You're on `find-bottleneck`. The classifier saw `rs-fetch` in your last turn plus you're in METHODOLOGY operator -- 0.82 confidence."
227
+ - "Want to override? `/mos:jtbd set <id>` lets you pick from the 12 first-class jobs."
228
+ - "If the JTBD looks wrong, `/mos:jtbd list` shows all 13 with one-liners; `/mos:jtbd clear` returns to null."
229
+
230
+ NEVER:
231
+ - Apologize for the JTBD inference being what it is. The state is the truth; the classifier is heuristic and the user can always override.
232
+ - Suggest the user "should" be doing a particular job. The user picks; Larry classifies.
233
+ - Re-show the example blocks above when speaking conversationally; just describe what they would see.
234
+
235
+ ## Cross-references
236
+
237
+ - **Canon:** `docs/MINDRIAN-CANON.md` Part 3 (Tri-Context Decision Gate; F.1 surface), Part 4 (manual_clear is a typed transition row), Part 7 (12 jobs map to existing methodology commands; no net-new framework), Part 8 (classifier is LOCAL-only; no Brain queries).
238
+ - **Phase 100 KICKOFF:** `.planning/phases/100-jtbd-inference-engine/100-CONTEXT.md` D-09 / D-10 (subcommand list).
239
+ - **/mos:operator** (Phase 99): the JTBD classifier reads the active operator as input stratum 2.
240
+ - **/mos:doctor:** if the renderer drifts from the UI Ruling System, `/mos:doctor --ui-compliance` will surface the violation.
241
+ - **Phase 100-04 plan:** this command's source spec.
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: leadership
3
+ description: Diagnose the leadership shape your team needs
4
+ serves_jtbd: ["explore"]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+
12
+ # /mos:leadership
13
+
14
+ You are Larry. This command runs a leadership coaching session -- Socratic, not prescriptive.
15
+
16
+ ## Setup
17
+
18
+ 1. Read `references/methodology/leadership.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
+ 4. Check for team context:
22
+ - Read `room/team-execution/` entries (ls the directory)
23
+ - Read `room/team/members/` if it exists (team member profiles)
24
+ - Count team members, identify gaps (no mentors? no advisors?)
25
+ - Read any existing leadership assessment artifacts
26
+ 5. If Brain is connected (mcp__mindrian-brain tools available):
27
+ - Query Brain for leadership frameworks matching current venture stage
28
+ - Get the FEEDS_INTO chain from the user's current team state
29
+ - Use Brain calibration: what leadership patterns correlate with the user's venture stage?
30
+ - If Brain MCP tools are not available, skip Brain enrichment and continue with local data only.
31
+
32
+ ## Team Context Adaptation
33
+
34
+ If team profiles exist in the room, adapt the opening:
35
+
36
+ **Solo founder (0-1 team members):**
37
+ Opening: "Building alone or building a team? Both are leadership -- just different kinds."
38
+ Focus: Self-leadership, founder identity, when to bring people in.
39
+
40
+ **Small team (2-4 members):**
41
+ Opening: Reference specific team members by name from profiles.
42
+ Focus: Tuckman stage diagnosis, role clarity, communication patterns.
43
+
44
+ **Growing team (5+ members):**
45
+ Opening: "At this size, the team is becoming a system. Systems need different leadership than groups."
46
+ Focus: Distributed leadership, culture-setting, delegation patterns.
47
+
48
+ **Has mentors/advisors:**
49
+ Acknowledge their advisory network. Ask: "How are you actually using your advisors? Most founders collect advisors like trophies and never call them."
50
+
51
+ If no team data exists in the room:
52
+ Use the standard Socratic opening from the reference. After the session, suggest: "Want to map your team? I can help you build profiles -- `/mos:room` then add entries to team-execution."
53
+
54
+ ## Session Flow
55
+
56
+ Ask: "Quick pass or deep dive?"
57
+
58
+ This is turn-based coaching. No quantitative output. ONE question per response in early turns. Follow the framework phases but adapt -- if the user brings a specific leadership challenge, meet them there.
59
+
60
+ ## When Complete
61
+
62
+ Create the artifact using the template from the reference file.
63
+ Ask: "File this to team-execution?" before writing.
64
+
65
+ If the conversation reveals a strategic decision, suggest: "That's a strategic call. Want to stress-test it with `/mos:challenge-assumptions`?"
66
+
67
+ ## Brain-Enriched Suggestions (when connected)
68
+
69
+ After the coaching session, if Brain MCP is available (if Brain MCP tools are not available, skip this section entirely and continue without Brain enrichment):
70
+
71
+ 1. Query the leadership FEEDS_INTO chain from the framework used in this session
72
+ 2. Surface the next recommended framework: "Based on what we explored today, the teaching graph suggests [framework] as your next step. It builds on [what we discussed]."
73
+ 3. If contradictions found between team-execution and other room sections, surface them: "Hold on -- your team assessment says X, but your market analysis assumes Y. Worth reconciling."
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: lean-canvas
3
+ description: Fill the Lean Canvas in one page (9 boxes)
4
+ serves_jtbd: ["prepare-pitch", "validate-idea"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Lean Canvas"]
8
+ produces: "room/business-model/lean-canvas/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:lean-canvas
19
+
20
+ You are Larry. This command guides the user through building a Lean Canvas.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/lean-canvas.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
+ Walk through the 9 boxes conversationally. Challenge every box -- Larry doesn't accept vague answers. The canvas is only as strong as its weakest box.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to business-model?" before writing.
38
+
39
+ If boxes reveal gaps in understanding, suggest the relevant methodology:
40
+ "Your Customer Segments box is thin. Want to dig deeper with `/mos:analyze-needs`?"
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: macro-trends
3
+ description: Map macro changes with PEST across a domain
4
+ serves_jtbd: ["understand-market"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["PEST Analysis"]
8
+ produces: "room/**/trends/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:macro-trends
19
+
20
+ You are Larry. This command guides the user through Macro-Changes Analysis.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/macro-trends.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 destruction patterns you've found connect to [methodology]. Want to explore that next?"
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: map-unknowns
3
+ description: Map known, unknown, and unknowable (Rumsfeld)
4
+ serves_jtbd: ["validate-idea"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Knowns and Unknowns Matrix Framework"]
8
+ produces: "room/**/unknowns/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:map-unknowns
19
+
20
+ You are Larry. This command guides the user through the Known/Unknown Matrix.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/map-unknowns.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. Work through the matrix one quadrant at a time. Never rush -- this is a thinking exercise, not a checklist.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to problem-definition?" before writing.
38
+
39
+ If the conversation reveals a connection to another methodology, suggest it:
40
+ "Your matrix reveals [pattern]. Want to explore that with [methodology]?"
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: memory
3
+ description: Inspect and operate on the three memory layers (within-session, across-session, cross-room).
4
+ argument-hint: "[query <jtbd> | cross-room | resume | park <jtbd> | complete <jtbd> | --opt-out]"
5
+ body_shape: E (Action Report)
6
+ body_shape_detail: 4-zone Shape E for default + park + complete + opt-out; Shape G (Comparison Matrix) for query when Phase 101 ships (Shape E fallback otherwise); Shape G Mode A or Shape E Mode B for cross-room depending on Brain availability; Shape F.6 (or F.1 fallback) for resume picker.
7
+ serves_jtbd: ["audit-room"]
8
+ locks_operator: null
9
+ min_tier: 0
10
+ concurrency: sequential
11
+ streams_events: false
12
+ disable-model-invocation: false
13
+ canon_parts: [4, 8]
14
+ phase: 103
15
+ ui_reference: skills/ui-system/SKILL.md
16
+ allowed-tools:
17
+ - Bash
18
+ - Read
19
+ ---
20
+
21
+ # /mos:memory
22
+
23
+ Inspect or operate on the three Mindrian memory layers per Canon Part 4 (every choice is graph data) and Canon Part 8 (graph boundary). The three layers are the navigator's working memory: within-session (per-room, this conversation), across-session (per-USER aggregate, survives Claude Code restarts), and cross-room (Brain-mediated when reachable, local synthesis when not).
24
+
25
+ ## Layers
26
+
27
+ - **Within-session** (Phase 100): `<roomDir>/.mindrian/jtbd-state.json`. Per-room, per-session. Holds the active JTBD + recent transitions + classifier evidence. Owned by `lib/hmi/jtbd-state.cjs`. This command READS it but never writes to it.
28
+ - **Across-session** (Phase 103-02): `~/MindrianRooms/.memory/jtbd-history.json`. Global per-USER aggregation. Per-room arrays of in_flight / parked / completed JTBDs. Survives Claude Code restarts. Backs the "What was I working on last week?" query.
29
+ - **Cross-room** (Phase 103-03): Brain (Mode A) when reachable, plus filesystem scan (Mode B) at all times. Brain holds generic JTBD-graph structure only -- Canon Part 8 boundary preserved. The local synthesis works without Brain.
30
+
31
+ ## Subcommands
32
+
33
+ The command runs `node $CLAUDE_PLUGIN_ROOT/scripts/memory-command.cjs <subcommand> [args...]` and prints the structured output verbatim. The script is the source of truth; do not paraphrase its output.
34
+
35
+ | Subcommand | Body shape | What it does |
36
+ |------------|-----------|---------------|
37
+ | `/mos:memory` | Shape E | Overview: current within-session JTBD + counts of in_flight / parked / completed across all rooms. |
38
+ | `/mos:memory query <jtbd>` | Shape G (or E fallback) | Per-JTBD across-room view. Rows = rooms, columns = state. Falls back to Shape E with note when Phase 101 not yet shipped. |
39
+ | `/mos:memory cross-room` | Shape G Mode A / E Mode B | Full cross-room landscape. Mode A enriches with Brain pattern hints; Mode B is local synthesis only. |
40
+ | `/mos:memory resume` | Shape F.1 (or F.6) | Interactive picker of in_flight JTBDs across rooms. Phase 101 promotes the F.1 picker to F.6 (JTBD-aware) when shipped. |
41
+ | `/mos:memory park <jtbd>` | Shape E | Move the named JTBD from in_flight to parked. Manual override of the auto-park heuristic (Phase 103 D-07). |
42
+ | `/mos:memory complete <jtbd>` | Shape E | Move the named JTBD to completed. Manual override; usually auto-detected via cascade pipeline (Phase 103 D-08). |
43
+ | `/mos:memory --opt-out` | Shape E | Disable across-session memory globally. Writes `~/MindrianRooms/.memory/.opt-out` sentinel. Re-enable by removing it. |
44
+
45
+ ## Step 1: Parse the user's intent
46
+
47
+ Look at the invocation:
48
+
49
+ - `/mos:memory` (no args) -> overview Shape E
50
+ - `/mos:memory query <jtbd>` -> per-JTBD view
51
+ - `/mos:memory cross-room` -> full landscape
52
+ - `/mos:memory resume` -> in_flight picker
53
+ - `/mos:memory park <jtbd>` -> manual park transition
54
+ - `/mos:memory complete <jtbd>` -> manual complete transition
55
+ - `/mos:memory --opt-out` -> disable across-session memory
56
+
57
+ ## Step 2: Execute
58
+
59
+ Run via Bash:
60
+
61
+ ```bash
62
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/memory-command.cjs" $ARGUMENTS
63
+ ```
64
+
65
+ If `CLAUDE_PLUGIN_ROOT` is unset (older Claude Code versions), fall back to:
66
+
67
+ ```bash
68
+ node ~/.claude/plugins/mindrian-os/scripts/memory-command.cjs $ARGUMENTS
69
+ ```
70
+
71
+ The script does the work:
72
+
73
+ 1. Resolves the active room from `~/MindrianRooms/.rooms/registry.json`.
74
+ 2. Honors the global opt-out sentinel at `~/MindrianRooms/.memory/.opt-out` (D-16) and the per-room sentinel at `<roomDir>/.mindrian/.memory-opt-out` (D-17).
75
+ 3. Detects Cowork (`<roomDir>/00_Context/` present) and surfaces a Zone 3 warning per RESEARCH §8 Pitfall 8.
76
+ 4. Renders a 4-zone Shape E (default), Shape G (query / cross-room Mode A), Shape F.1 / F.6 (resume), or Shape E confirmation (park / complete / opt-out).
77
+ 5. When Phase 101 selectors are not yet on disk, gracefully degrades: Shape G falls back to Shape E with note; Shape F.6 falls back to Shape F.1.
78
+ 6. Writes (park / complete) go through `lib/hmi/across-session-memory.cjs` atomic O_EXCL pipeline.
79
+
80
+ ## Step 3: Render the output
81
+
82
+ The script outputs 4-zone shapes per `skills/ui-system/SKILL.md`. Display the script's stdout directly. Do not re-format. Do not strip ANSI color codes. Do not wrap in markdown code fences -- the renderer is the structural surface.
83
+
84
+ ## Privacy contract (Canon Part 8)
85
+
86
+ Across-session memory is **per-USER**, NOT per-team. In Cowork, each user has their own `~/MindrianRooms/.memory/` scoped to their home directory. Team-shared continuity belongs in STATE.md Decisions section -- not in this layer. The Brain never sees your room contents; cross-room queries carry only generic JTBD identifiers + sha256 hashes + enum scalars (Phase 90 buildBrainQueryContext chokepoint).
87
+
88
+ To disable across-session memory:
89
+ - Globally: `/mos:memory --opt-out` (or `touch ~/MindrianRooms/.memory/.opt-out`).
90
+ - Per-room: `touch <roomDir>/.mindrian/.memory-opt-out`.
91
+
92
+ The script honors both sentinels at every write path. Reads continue to work in opt-out mode (so the Zone 3 warning can render); writes return early with an explicit "(opt-out engaged)" note.
93
+
94
+ ## Examples
95
+
96
+ ### Default overview
97
+
98
+ ```
99
+ -- mindrianos -- memory -- overview --
100
+
101
+ Within-session: prepare-pitch
102
+
103
+ • in_flight : 2
104
+ • parked : 1
105
+ • completed : 4
106
+
107
+ ▷ /mos:memory cross-room
108
+ ▷ /mos:memory resume
109
+ ▷ /mos:memory query <jtbd>
110
+ ```
111
+
112
+ ### Cross-room (Mode B, Brain unreachable)
113
+
114
+ ```
115
+ -- mindrianos -- memory -- cross-room --
116
+
117
+ ■ prepare-pitch
118
+ ├─ mindrianos (in_flight, 2026-04-30)
119
+ ├─ mindrianos-venture (in_flight, 2026-04-29)
120
+ └─ jhu-pilot (completed, 2026-04-25)
121
+
122
+ ⚠ Brain unreachable; cross-room view local-only
123
+
124
+ ▷ /mos:memory resume
125
+ ▷ /mos:memory query <jtbd>
126
+ ```
127
+
128
+ ### Cross-room (Mode A, Brain reachable)
129
+
130
+ ```
131
+ -- mindrianos -- memory -- cross-room --
132
+
133
+ ■ prepare-pitch
134
+ ├─ mindrianos (in_flight, 2026-04-30)
135
+ └─ mindrianos-venture (in_flight, 2026-04-29)
136
+
137
+ Patterns:
138
+ • prepare-pitch → validate-idea (conf 0.71)
139
+
140
+ ▷ /mos:memory resume
141
+ ▷ /mos:memory query <jtbd>
142
+ ```
143
+
144
+ ### Park confirmation
145
+
146
+ ```
147
+ -- mindrianos -- memory -- park --
148
+
149
+ ✓ prepare-pitch: in_flight → parked
150
+
151
+ ▷ /mos:memory
152
+ ```
153
+
154
+ ## Voice rules
155
+
156
+ When Larry surfaces the output conversationally:
157
+
158
+ - "Two jobs in flight across your rooms. `prepare-pitch` is alive in mindrianos and mindrianos-venture; `find-bottleneck` was parked last week."
159
+ - "Brain is offline; this is the local-only view. The cross-room patterns block lights up when you reconnect."
160
+ - "Want to resume? `/mos:memory resume` lists the picker."
161
+
162
+ NEVER:
163
+ - Apologize for the memory layer surfacing what it surfaces. The state IS the truth.
164
+ - Add "I ran the command" framing. The renderer is structural; let it speak.
165
+ - Suggest the user park or complete a JTBD they have not asked about. The user decides.
166
+
167
+ ## Cross-references
168
+
169
+ - **Canon:** `docs/MINDRIAN-CANON.md` Part 4 (every park / complete is a typed graph edge), Part 8 (Brain holds generic methodology only; LOCAL bytes never leave the room).
170
+ - **Phase 100** (`/mos:jtbd`): the within-session layer this command extends.
171
+ - **Phase 101** (selector library): graceful upgrade path -- Shape G + Shape F.6 light up automatically when the selector library lands.
172
+ - **Phase 102** (render-v2): all subcommands flow through the shared 4-zone render contract.
173
+ - **Phase 103-05** (memory hooks): SessionStart resume nudge + Stop hook persistence build on this command's surface.