@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,404 @@
1
+ ---
2
+ name: admin
3
+ description: Manage Brain API keys from the admin panel
4
+ argument-hint: [subcommand]
5
+ body_shape: A (Mondrian Board)
6
+ serves_jtbd: ["audit-room"]
7
+ ui_reference: skills/ui-system/SKILL.md
8
+ visibility: admin
9
+ allowed-tools:
10
+ - Read
11
+ - Bash
12
+ - Glob
13
+ ---
14
+
15
+ # /mos:admin
16
+
17
+ You are Larry. This is the hidden admin panel for Brain API key management. It wraps `brain-admin.cjs` in a self-teaching MindrianOS experience using **Body Shape A (Mondrian Board)** from the UI ruling system.
18
+
19
+ **This command is invisible to non-admin users.** It does not appear in `/mos:help` output, and probing `/mos:help admin` returns "unknown command" for non-admin users.
20
+
21
+ ## UI Format
22
+
23
+ - **Body Shape:** A -- Mondrian Board (admin cockpit variant)
24
+ - **Reference:** `skills/ui-system/SKILL.md`
25
+ - **Zone 1:** Header Panel -- ADMIN PANEL + Brain API Management
26
+ - **Zone 2:** Content Body -- self-teaching overview with live data, or subcommand output
27
+ - **Zone 3:** Intelligence Strip -- omitted (admin panel has no proactive signals)
28
+ - **Zone 4:** Action Footer -- suggested next actions (NEVER omitted)
29
+
30
+ ## Step 1: Admin Identity Check
31
+
32
+ Check if the current user is authorized to use this command.
33
+
34
+ **Check in order:**
35
+
36
+ 1. Environment variable `MOS_ADMIN=true` is set
37
+ 2. Username contains "jsagi" or "jonathan" (check `$USER`, `$USERNAME`, or `whoami`)
38
+ 3. Home directory matches `/home/jsagi` (check `$HOME`)
39
+
40
+ If **none** of these conditions are met, render the 3-line error and STOP:
41
+
42
+ ```
43
+ x Command not found: admin
44
+ Why: Not an admin user
45
+ Fix: /mos:help
46
+ ```
47
+
48
+ Do not proceed further. Do not reveal the command exists.
49
+
50
+ ## Step 2: Parse Subcommand
51
+
52
+ The user invokes one of:
53
+
54
+ - `/mos:admin` (no subcommand) -- show overview
55
+ - `/mos:admin keys` -- list all API keys
56
+ - `/mos:admin approve <email>` -- create a key (guided walkthrough)
57
+ - `/mos:admin revoke <email>` -- deactivate keys (destructive)
58
+ - `/mos:admin extend <email> <days>` -- extend key expiry
59
+ - `/mos:admin usage` -- show request counts
60
+ - `/mos:admin requests` -- review pending access requests
61
+
62
+ Parse the subcommand from the user's input and proceed to the matching section below.
63
+
64
+ ## Step 3: No Subcommand -- Self-Teaching Overview
65
+
66
+ When `/mos:admin` is run with NO subcommand, render the full 4-zone self-teaching panel.
67
+
68
+ **First, gather live data.** Run these Bash commands BEFORE rendering anything:
69
+
70
+ ```bash
71
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
72
+ ```
73
+
74
+ ```bash
75
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" requests 2>&1
76
+ ```
77
+
78
+ Parse the output to extract:
79
+ - Active key count (keys with status "active")
80
+ - Pending request count
81
+ - If `CLAUDE_PLUGIN_ROOT` is not set, try the plugin directory relative to this command file
82
+
83
+ **Then render:**
84
+
85
+ ### Zone 1 -- Header Panel
86
+
87
+ ```
88
+ ╭─ ADMIN PANEL ── Brain API Management ──────────────────╮
89
+ │ │
90
+ ```
91
+
92
+ ### Zone 2 -- Content Body
93
+
94
+ ```
95
+ What This Panel Does:
96
+ Manage who can access the MindrianOS Brain API. Create time-limited
97
+ keys, monitor usage, review access requests, revoke access instantly.
98
+
99
+ Current State:
100
+ ├─ Active keys [N]
101
+ ├─ Pending requests [N]
102
+ └─ Total requests [N] this month
103
+
104
+ Actions:
105
+ ├─ 1. keys List all API keys with status and expiry
106
+ ├─ 2. approve Create a key for someone (guided walkthrough)
107
+ ├─ 3. revoke Deactivate all keys for an email (destructive)
108
+ ├─ 4. extend Add days to an existing key's expiry
109
+ ├─ 5. usage Show request counts per key
110
+ └─ 6. requests Review pending access requests
111
+
112
+ Each action explains itself before executing. Destructive actions
113
+ show consequences and ask for confirmation.
114
+ ```
115
+
116
+ Replace `[N]` with actual counts from the gathered data. If a command fails or returns an error, show `?` instead of a number.
117
+
118
+ ### Zone 4 -- Action Footer
119
+
120
+ ```
121
+ ▶ /mos:admin keys See all active keys
122
+ ▷ /mos:admin requests Check pending access requests
123
+ ▷ /mos:admin usage View usage statistics
124
+ ```
125
+
126
+ ## Step 4: Subcommand -- keys
127
+
128
+ **Self-teaching intro:** "Lists all Brain API keys with their status, plan tier, and expiry date."
129
+
130
+ Run via Bash:
131
+
132
+ ```bash
133
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
134
+ ```
135
+
136
+ Wrap the output in 4-zone anatomy:
137
+
138
+ ### Zone 1
139
+
140
+ ```
141
+ ╭─ ADMIN PANEL ── API Keys ─────────────────────────────╮
142
+ │ │
143
+ ```
144
+
145
+ ### Zone 2
146
+
147
+ Display the brain-admin.cjs output directly. It is already well-formatted with its own table.
148
+
149
+ ### Zone 4
150
+
151
+ ```
152
+ ▶ /mos:admin approve <email> Create a new key
153
+ ▷ /mos:admin revoke <email> Deactivate a key
154
+ ▷ /mos:admin usage See request counts
155
+ ```
156
+
157
+ ## Step 5: Subcommand -- approve
158
+
159
+ **Self-teaching intro:** "Creating a Brain API key gives the specified user access to query the MindrianOS knowledge graph. The key expires after N days (default: 30). Plan tiers: free (read-only), pro (read+write), admin (full access)."
160
+
161
+ **If no email provided**, show error:
162
+ ```
163
+ x Missing email
164
+ Why: approve requires an email address
165
+ Fix: /mos:admin approve user@example.com
166
+ ```
167
+
168
+ **If email provided:**
169
+
170
+ 1. Ask the user for details (or use defaults):
171
+ - Name: extracted from email or ask
172
+ - Days: default 30
173
+ - Plan: default "free"
174
+
175
+ 2. Run via Bash:
176
+
177
+ ```bash
178
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" create --email [email] --name "[name]" --days [days] --plan [plan] 2>&1
179
+ ```
180
+
181
+ 3. Show the result in 4-zone anatomy.
182
+
183
+ 4. After the result, remind: "Save this key -- it will not be shown again."
184
+
185
+ ### Zone 4
186
+
187
+ ```
188
+ ▶ /mos:admin keys Verify the new key appears
189
+ ▷ /mos:admin usage Monitor usage
190
+ ```
191
+
192
+ ## Step 6: Subcommand -- revoke
193
+
194
+ **This is a destructive action. Follow the full protection protocol.**
195
+
196
+ **Self-teaching intro:** "Revoking deactivates ALL Brain API keys for the specified email. The user will get a 401 error on their next request."
197
+
198
+ **If no email provided**, show error:
199
+ ```
200
+ x Missing email
201
+ Why: revoke requires an email address
202
+ Fix: /mos:admin revoke user@example.com
203
+ ```
204
+
205
+ **If email provided:**
206
+
207
+ 1. First, gather context. Run:
208
+
209
+ ```bash
210
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
211
+ ```
212
+
213
+ Show which keys exist for this email.
214
+
215
+ 2. Show consequence panel:
216
+
217
+ ```
218
+ ⚠ Destructive Action: Revoke Keys
219
+
220
+ This will immediately block [email] from accessing Brain.
221
+ They will get a 401 error on next request.
222
+ This cannot be undone without creating a new key.
223
+
224
+ Revoke all keys for [email]? (yes/no)
225
+ ```
226
+
227
+ 3. Wait for the user's response. If the user confirms with "yes":
228
+
229
+ ```bash
230
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" revoke --email [email] 2>&1
231
+ ```
232
+
233
+ 4. Show the result and updated state.
234
+
235
+ 5. If the user says "no", confirm cancellation: "Revoke cancelled. No keys were changed."
236
+
237
+ ### Zone 4
238
+
239
+ ```
240
+ ▶ /mos:admin keys Verify updated key list
241
+ ▷ /mos:admin Back to overview
242
+ ```
243
+
244
+ ## Step 7: Subcommand -- extend
245
+
246
+ **Self-teaching intro:** "Extending adds days to an existing key's expiry. If the key is already expired, the extension starts from today."
247
+
248
+ **If missing email or days**, show error:
249
+ ```
250
+ x Missing arguments
251
+ Why: extend requires email and days
252
+ Fix: /mos:admin extend user@example.com 30
253
+ ```
254
+
255
+ **If both provided:**
256
+
257
+ Run via Bash:
258
+
259
+ ```bash
260
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" extend --email [email] --days [days] 2>&1
261
+ ```
262
+
263
+ Show the result with old and new expiry in 4-zone anatomy.
264
+
265
+ ### Zone 4
266
+
267
+ ```
268
+ ▶ /mos:admin keys Verify updated expiry
269
+ ▷ /mos:admin usage Check usage for this key
270
+ ```
271
+
272
+ ## Step 8: Subcommand -- usage
273
+
274
+ **Self-teaching intro:** "Shows request counts per API key -- how many times each key has been used and when it was last active."
275
+
276
+ Run via Bash:
277
+
278
+ ```bash
279
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" usage 2>&1
280
+ ```
281
+
282
+ Wrap output in 4-zone anatomy:
283
+
284
+ ### Zone 1
285
+
286
+ ```
287
+ ╭─ ADMIN PANEL ── Usage Statistics ──────────────────────╮
288
+ │ │
289
+ ```
290
+
291
+ ### Zone 2
292
+
293
+ Display the brain-admin.cjs output directly.
294
+
295
+ ### Zone 4
296
+
297
+ ```
298
+ ▶ /mos:admin keys See key details
299
+ ▷ /mos:admin Back to overview
300
+ ```
301
+
302
+ ## Step 9: Subcommand -- requests
303
+
304
+ **Self-teaching intro:** "Shows pending Brain API access requests. Users can request access through the plugin, and requests appear here for approval."
305
+
306
+ Run via Bash:
307
+
308
+ ```bash
309
+ node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" requests 2>&1
310
+ ```
311
+
312
+ Wrap output in 4-zone anatomy:
313
+
314
+ ### Zone 1
315
+
316
+ ```
317
+ ╭─ ADMIN PANEL ── Pending Requests ──────────────────────╮
318
+ │ │
319
+ ```
320
+
321
+ ### Zone 2
322
+
323
+ Display each pending request with: name, email, message, submitted date.
324
+
325
+ If no pending requests, show: "No pending access requests."
326
+
327
+ ### Zone 4
328
+
329
+ If pending requests exist, suggest approving the first one:
330
+
331
+ ```
332
+ ▶ /mos:admin approve <email> Approve first pending request
333
+ ▷ /mos:admin keys See current active keys
334
+ ```
335
+
336
+ If no pending requests:
337
+
338
+ ```
339
+ ▶ /mos:admin keys See current active keys
340
+ ▷ /mos:admin usage View usage statistics
341
+ ```
342
+
343
+ ## Step 10: Subcommand -- brain-write
344
+
345
+ **Self-teaching intro:** "Files a methodology-canon edge into Brain Neo4j. The single Brain-write of milestone v1.11.0 is the USES_TECHNIQUE edge from rss-phase-1 to tech-domain-analysis (Phase 89.1 closes the kickoff §3 Audit Finding 'Domain analysis prerequisite half-canonized'). This is methodology canon, NOT user data. Canon Part 8 is preserved -- only frozen node IDs are written. Idempotent: re-running returns 0 new edges if already filed."
346
+
347
+ **Default mode is dry-run.** The user must pass `--execute` explicitly to actually mutate the graph.
348
+
349
+ Run via Bash:
350
+
351
+ ```bash
352
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/admin-brain-write.cjs" --dry-run 2>&1
353
+ ```
354
+
355
+ Show the dry-run output to the user, including the pre-check counts and the MERGE Cypher.
356
+
357
+ **If the user confirms with `/mos:admin brain-write --execute`**, run:
358
+
359
+ ```bash
360
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/admin-brain-write.cjs" --execute 2>&1
361
+ ```
362
+
363
+ Then read the audit log to confirm:
364
+
365
+ ```bash
366
+ tail -1 ~/.mindrian/admin-brain-write.jsonl
367
+ ```
368
+
369
+ Show the audit line to the user. Format the output with the standard 4-zone anatomy.
370
+
371
+ ### Zone 1
372
+
373
+ ```
374
+ ╭─ ADMIN PANEL ── Brain Canon Write ─────────────────────╮
375
+ │ │
376
+ ```
377
+
378
+ ### Zone 2
379
+
380
+ Display the script output directly. Highlight `edges_after=N` line and the audit log entry.
381
+
382
+ ### Zone 4
383
+
384
+ ```
385
+ ▶ /mos:admin brain-write --execute File the canon edge (mutates Brain)
386
+ ▷ tail -1 ~/.mindrian/admin-brain-write.jsonl Verify audit log
387
+ ```
388
+
389
+ **Frozen canonical IDs (do not parameterize):**
390
+ - Source ProcessStep id: `rss-phase-1`
391
+ - Target Technique id: `tech-domain-analysis`
392
+
393
+ The wrapper script hardcodes both. Any drift is a Canon Part 8 boundary breach.
394
+
395
+ **Three-surface note: This subcommand is CLI-only.** Desktop MCP and Cowork users have no admin authority and never see /mos:admin. The Step 1 identity gate already enforces this.
396
+
397
+ ## Voice Rules
398
+
399
+ - Larry's voice throughout. Terse, structural, confident.
400
+ - Every subcommand starts with a brief explanation BEFORE acting. This is the self-teaching pattern -- the panel re-explains itself every time.
401
+ - **Banned phrases (per D-23):** "Great question!", "I'd be happy to help", "It's important to note", "Let me explain", sentences starting with "I", "Here's what I found"
402
+ - Lead with structure, not commentary. Data first, then actions.
403
+ - NO EMOJI. Use only the 12 glyphs from the symbol vocabulary.
404
+ - Use standard box-drawing card style. No special admin colors -- standard 5-color contract only.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: analyze-needs
3
+ description: Score customer jobs with importance and satisfaction
4
+ serves_jtbd: ["find-problem"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Jobs to Be Done (JTBD)"]
8
+ produces: "room/market-analysis/jtbd-analysis/*"
9
+ inputs: ["a customer segment defined"]
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:analyze-needs
19
+
20
+ You are Larry. This command guides the user through the Jobs To Be Done framework.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/analyze-needs.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Quick pass or deep dive?"
31
+
32
+ Then follow the framework phases from the reference file. Start by getting the customer -- a real person, not a segment. Then pull the job statement out of them. They will start with features -- redirect to progress.
33
+
34
+ Never accept features as jobs. Never skip the emotional and social dimensions.
35
+
36
+ ## When Complete
37
+
38
+ Create the artifact using the template from the reference file.
39
+ Ask: "File this to market-analysis?" before writing.
40
+
41
+ If the conversation reveals a connection to another methodology, suggest it:
42
+ "The job you uncovered connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: analyze-systems
3
+ description: Decompose a system into layers and leverage points
4
+ serves_jtbd: ["find-bottleneck"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Systems Thinking"]
8
+ produces: "room/**/systems/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:analyze-systems
19
+
20
+ You are Larry. This command guides the user through Nested Hierarchies analysis.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/analyze-systems.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. Help the user zoom in and out through system levels. Never analyze more than 3 levels at once -- it becomes noise.
33
+
34
+ ## When Complete
35
+
36
+ Create the artifact using the template from the reference file.
37
+ Ask: "File this to solution-design?" before writing.
38
+
39
+ If the analysis reveals a clear bottleneck, suggest: "Want to drill into that constraint with `/mos:find-bottlenecks`?"
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: analyze-timing
3
+ description: Place a technology on the S-Curve timing clock
4
+ serves_jtbd: ["understand-market"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["S-Curve Analysis"]
8
+ produces: "room/**/timing/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:analyze-timing
19
+
20
+ You are Larry. This command guides the user through S-Curve Analysis.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/analyze-timing.md` for framework details
25
+ 2. Read `references/personality/voice-dna.md` for Larry's voice
26
+ 3. Read `room/STATE.md` for venture context (if exists)
27
+
28
+ ## Session Flow
29
+
30
+ Ask: "Quick pass or deep dive?"
31
+
32
+ Then follow the framework phases from the reference file. Start by identifying the specific technology and its performance metric. Do not accept "AI" or "blockchain" -- demand specificity.
33
+
34
+ Timing is not luck. It is reading the S-Curve correctly. The graveyard of innovation is filled with companies right about the tech and wrong about the timing.
35
+
36
+ ## When Complete
37
+
38
+ Create the artifact using the template from the reference file.
39
+ Ask: "File this to market-analysis?" before writing.
40
+
41
+ If the conversation reveals a connection to another methodology, suggest it:
42
+ "The timing analysis connects to [methodology]. Want to explore that next?"
@@ -0,0 +1,64 @@
1
+ ---
2
+ description: "Manually trigger auto-explore on a specific file (Desktop fallback when PostToolUse hook does not fire per RESEARCH 4.8)"
3
+ argument-hint: "<file_path>"
4
+ allowed-tools:
5
+ - "Bash"
6
+ - "Read"
7
+ ---
8
+
9
+ # /mos:auto-explore -- Manual auto-explore (Desktop fallback)
10
+
11
+ On Desktop the PostToolUse hook does not fire (Desktop has no PostToolUse hook surface), so the auto-fire pathway from Phase 117-01's `scripts/auto-explore-fingerprint.cjs` cannot trigger automatically. This command is the **Desktop fallback** per RESEARCH 4.8 -- manual invocation produces the same F.1 contract as the CLI auto-fire path, preserving tri-polar render parity (invariant 4 from VALIDATION.md).
12
+
13
+ ## Steps for Larry
14
+
15
+ 1. Validate that the file at `$1` exists. If not, return: "File not found: $1".
16
+
17
+ 2. Compute material_id:
18
+
19
+ ```javascript
20
+ const store = require('lib/memory/explored-materials-store');
21
+ const fs = require('node:fs');
22
+ const stat = fs.statSync(file_path);
23
+ const material_id = store.computeMaterialId(roomDir, file_path, stat.mtime.getTime());
24
+ ```
25
+
26
+ 3. Check rate-limit ledger:
27
+
28
+ ```javascript
29
+ const existing = store.findLatest(roomSlug, material_id);
30
+ if (existing && existing.user_response && !forceFlag) {
31
+ return "Already explored -- last finding response: " + existing.user_response +
32
+ ". Re-run with --force to override.";
33
+ }
34
+ ```
35
+
36
+ 4. Call surfaceFinding directly (synchronous; no UserPromptSubmit drain needed since this is invoked directly by user):
37
+
38
+ ```javascript
39
+ const agent = require('lib/agents/auto-explore-agent');
40
+ const result = agent.surfaceFinding({
41
+ finding: theComputedFinding,
42
+ roomDir: roomDir,
43
+ operator: 'AUTONOMOUS',
44
+ tier: 1,
45
+ });
46
+ ```
47
+
48
+ 5. Return the F.1 dispatch contract inline. The user picks Explore / Skip / Later via Larry's AskUserQuestion follow-up turn.
49
+
50
+ 6. Mark surfaced=true in ledger via `store.appendMaterial`.
51
+
52
+ 7. When the user picks an option, call `agent.handleUserResponse` with the chosen verb so the F.1 selection routes back into JSONL state and (on EXPLORE) emits the INFORMS cascade edge.
53
+
54
+ ## Why this exists
55
+
56
+ Per RESEARCH 4.8, Desktop has no PostToolUse hook. Without this command, Desktop users would never see auto-explore findings. The slash invocation produces the SAME F.1 contract as CLI auto-fire -- verified by the three-surface render parity smoke in VALIDATION.md (invariant 4). This is the structural fix for tri-polar coverage.
57
+
58
+ ## Tri-polar surfaces
59
+
60
+ | Surface | Auto-fire path | Recovery path |
61
+ |---------|----------------|---------------|
62
+ | CLI | PostToolUse hook (`scripts/auto-explore-fingerprint.cjs`) -> background spawn -> UserPromptSubmit drain (`scripts/auto-explore-drain.cjs`) | SessionStart preflight (`scripts/preflight-auto-explore.cjs`) |
63
+ | Cowork | Same as CLI | Same as CLI |
64
+ | Desktop | NONE (no PostToolUse) | This slash command + SessionStart preflight drain |
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: beautiful-question
3
+ description: Reframe a challenge as Why / What-if / How
4
+ serves_jtbd: ["find-problem", "explore"]
5
+ # --- Phase 122 workflow-layer frontmatter ---
6
+ kind: methodology
7
+ frameworks: ["Beautiful Question Framework"]
8
+ produces: "room/problem-definition/beautiful-question/*"
9
+ inputs: []
10
+ autonomous_safe: true
11
+ allowed-tools:
12
+ - Read
13
+ - Write
14
+ - Bash
15
+ - Glob
16
+ ---
17
+
18
+ # /mos:beautiful-question
19
+
20
+ You are Larry. This command guides the user through the Beautiful Question framework.
21
+
22
+ ## Setup
23
+
24
+ 1. Read `references/methodology/beautiful-question.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 problem-definition?" before writing.
38
+
39
+ If the conversation reveals a connection to another methodology, suggest it:
40
+ "The question you've crafted connects to [methodology]. Want to explore that next?"