@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,507 @@
1
+ ---
2
+ name: whitespace
3
+ description: Detect whitespace gaps in the room's coverage
4
+ body_shape: varies
5
+ serves_jtbd: ["connect-domains", "find-problem"]
6
+ # --- Phase 122 workflow-layer frontmatter ---
7
+ kind: methodology
8
+ frameworks: ["HSI Semantic Surprise Analysis Assistant"]
9
+ produces: "room/opportunity-bank/whitespace/*"
10
+ inputs: []
11
+ autonomous_safe: true
12
+ ui_reference: skills/ui-system/SKILL.md
13
+ allowed-tools:
14
+ - Bash
15
+ - Read
16
+ ---
17
+
18
+ # /mos:whitespace
19
+
20
+ You are Larry. This command surfaces what's MISSING in a venture's Data Room using embedding-space density estimation, TopicForest hierarchical clustering, and cross-domain literature scanning. Body shape varies by subcommand: **Shape A (Mondrian Board)** for `map`, **Shape B (Semantic Tree)** for `tree`, **Shape E (Action Report)** for `analyze`, `hypothesis`, `score`, `external`, and `discover`.
21
+
22
+ **Voice rules (LOCKED):**
23
+ - Conversational, direct, no filler. Signature openers: "Very simply...", "Here's the thing...", "One thing I've learned..."
24
+ - NO emoji anywhere. NO "I'd be happy to help". NO "Great question!". NO sentences starting with "I".
25
+ - Symbol vocabulary: only these 12 glyphs: ■ ▼ ▶ ▷ |- \- ✓ • ⚠ ⚡ ⬜ ->
26
+ - Error pattern: 3 lines only -- What / Why: reason / Fix: /mos:command
27
+
28
+ ## Subcommand Routing
29
+
30
+ Parse the user's input after `/mos:whitespace`. If no subcommand is given, show the **help** listing below.
31
+
32
+ | Subcommand | Body Shape | Purpose |
33
+ |------------|-----------|---------|
34
+ | `map` | A (Mondrian Board) | Whitespace zones as density grid |
35
+ | `analyze ZONE_ID` | E (Action Report) | Deep-dive classification + hypothesis for one zone |
36
+ | `hypothesis ZONE_ID` | E (Action Report) | Lazy on-demand hypothesis for one zone |
37
+ | `tree` | B (Semantic Tree) | TopicForest coverage indicators |
38
+ | `score` | E (Action Report) | Per-artifact novelty scores ranked |
39
+ | `external` | E (Action Report) | Cross-domain literature whitespace |
40
+ | `discover` | E (Action Report) | Full Discovery Cycle (HSI/RS/Analogy) |
41
+
42
+ ## No Args: Help
43
+
44
+ When `/mos:whitespace` is called with no subcommand, display:
45
+
46
+ ```
47
+ -- [Room Name] -- Whitespace -- Help --
48
+
49
+ Whitespace detection -- find what's MISSING in your understanding.
50
+
51
+ Subcommands:
52
+ |- map Density map of whitespace zones (sparsest first)
53
+ |- analyze ZONE_ID Deep-dive: classification + framework chain + hypothesis
54
+ |- hypothesis ZONE_ID Show or generate hypothesis for a zone
55
+ |- tree TopicForest with coverage indicators per branch
56
+ |- score Per-artifact novelty scores (highest first)
57
+ |- external Cross-domain literature scan via Semantic Scholar
58
+ \- discover Full Discovery Cycle: HSI + RS + Analogy whitespace
59
+
60
+ > /mos:whitespace map Start here -- see where the gaps are
61
+ > /mos:whitespace tree See topic coverage at a glance
62
+ ```
63
+
64
+ ## Pre-flight: Room Check
65
+
66
+ Before any subcommand, resolve the active room:
67
+
68
+ ```bash
69
+ bash "${CLAUDE_PLUGIN_ROOT}/scripts/resolve-room"
70
+ ```
71
+
72
+ If no room found, use the 3-line error format:
73
+
74
+ ```
75
+ x No Data Room found
76
+ Why: No room under ~/MindrianRooms/ or legacy room/ in workspace
77
+ Fix: /mos:new-project
78
+ ```
79
+
80
+ STOP.
81
+
82
+ Then check that `.mindrian/` directory exists inside the room. If not:
83
+
84
+ ```
85
+ x No whitespace data found
86
+ Why: Whitespace pipeline has not been run on this room yet
87
+ Fix: /mos:whitespace map
88
+ ```
89
+
90
+ STOP (unless the subcommand is `map`, which will create the data).
91
+
92
+ ## Subcommand: map
93
+
94
+ **Body Shape:** A (Mondrian Board)
95
+
96
+ ### Step 1: Run Pipeline
97
+
98
+ Execute the whitespace-command.cjs dispatcher:
99
+
100
+ ```bash
101
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR map
102
+ ```
103
+
104
+ This ensures embeddings exist (runs compute-whitespace-embeddings.py if needed), then runs compute-whitespace-gaps.py.
105
+
106
+ ### Step 2: Render 4-Zone Output
107
+
108
+ **Zone 1 -- Header Panel:**
109
+ ```
110
+ -- [Room Name] -- Whitespace Map -- [Venture Stage] --
111
+ ```
112
+
113
+ **Zone 2 -- Content Body (Shape A: Mondrian Board):**
114
+
115
+ Display whitespace zones as a grid sorted by density_score ascending (sparsest = most interesting first).
116
+
117
+ ```
118
+ Zone Density Type Nearest Frameworks
119
+ ws-gap-001 0.12 Ill-Defined JTBD, Beautiful Questions
120
+ ws-gap-002 0.28 Well-Defined MECE, Issue Trees
121
+ ws-gap-003 0.45 Un-Defined Analogical Reasoning
122
+ ws-gap-004 0.67 Wicked Systems Thinking, Causal Loop
123
+ ```
124
+
125
+ Each row shows:
126
+ - Zone ID (left-aligned)
127
+ - Density score (0.0-1.0, lower = more sparse = bigger gap)
128
+ - Problem type classification
129
+ - Top 1-2 nearest frameworks (truncated to fit 80 cols)
130
+
131
+ Summary line:
132
+ ```
133
+ Zones: [N] total | [X] validated | Sparsest: [zone_id] (density [score])
134
+ ```
135
+
136
+ **Zone 3 -- Intelligence Strip** (conditional):
137
+ Show if any zones have density < 0.2 (severe gaps):
138
+ ```
139
+ &#9888; [N] zones below 0.2 density -- significant knowledge gaps detected
140
+ &#11036; [zone_id] has no nearby artifacts -- isolated void
141
+ ```
142
+
143
+ **Zone 4 -- Action Footer (NEVER omit):**
144
+ ```
145
+ > /mos:whitespace analyze [sparsest_zone] Deep-dive the biggest gap
146
+ > /mos:whitespace tree See topic coverage
147
+ > /mos:whitespace score Check artifact novelty
148
+ ```
149
+
150
+ ## Subcommand: analyze ZONE_ID
151
+
152
+ **Body Shape:** E (Action Report)
153
+
154
+ ### Step 1: Run Analysis
155
+
156
+ ```bash
157
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR analyze ZONE_ID
158
+ ```
159
+
160
+ If the zone ID is not found, show:
161
+
162
+ ```
163
+ x Zone not found: [ZONE_ID]
164
+ Why: No zone with that ID in whitespace-results.json
165
+ Fix: /mos:whitespace map (to see available zones)
166
+ ```
167
+
168
+ ### Step 2: Render 4-Zone Output
169
+
170
+ **Zone 1 -- Header Panel:**
171
+ ```
172
+ -- [Room Name] -- Whitespace Analyze -- [ZONE_ID] --
173
+ ```
174
+
175
+ **Zone 2 -- Content Body (Shape E: Action Report):**
176
+
177
+ ```
178
+ Zone: [ZONE_ID]
179
+ Density: [score]
180
+ Problem Type: [classification]
181
+ Validated: [Yes/No] ([gates passed]/[total gates])
182
+
183
+ Framework Chain:
184
+ |- [Framework 1] -- [description or transform]
185
+ |- [Framework 2] -- [description or transform]
186
+ \- [Framework 3] -- [description or transform]
187
+
188
+ Nearest Artifacts:
189
+ |- [artifact_name] ([section]/)
190
+ \- [artifact_name] ([section]/)
191
+
192
+ Hypothesis:
193
+ [Full hypothesis text from interpretation-results.json, or "Not yet generated -- run /mos:whitespace hypothesis ZONE_ID"]
194
+ ```
195
+
196
+ **Zone 3 -- Intelligence Strip** (conditional):
197
+ If zone validation failed gates, show which:
198
+ ```
199
+ &#9888; Failed anchor gate -- gap may be at cluster periphery, not between clusters
200
+ ```
201
+
202
+ **Zone 4 -- Action Footer:**
203
+ ```
204
+ > /mos:whitespace hypothesis [ZONE_ID] Generate methodology-aware hypothesis
205
+ > /mos:whitespace map Back to zone overview
206
+ > /mos:whitespace discover Run full Discovery Cycle
207
+ ```
208
+
209
+ ## Subcommand: hypothesis ZONE_ID
210
+
211
+ **Body Shape:** E (Action Report)
212
+
213
+ ### Step 1: Check for Existing Hypothesis
214
+
215
+ ```bash
216
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR hypothesis ZONE_ID
217
+ ```
218
+
219
+ The dispatcher checks interpretation-results.json first. If a hypothesis already exists, it returns it without re-running the pipeline (lazy evaluation).
220
+
221
+ ### Step 2: Render 4-Zone Output
222
+
223
+ **Zone 1 -- Header Panel:**
224
+ ```
225
+ -- [Room Name] -- Whitespace Hypothesis -- [ZONE_ID] --
226
+ ```
227
+
228
+ **Zone 2 -- Content Body (Shape E: Action Report):**
229
+
230
+ ```
231
+ Zone: [ZONE_ID] | Type: [problem_type] | Chain: [fw1] -> [fw2] -> [fw3]
232
+
233
+ Hypothesis:
234
+ [Full 3-part hypothesis text]
235
+
236
+ 1. What's missing and why it matters:
237
+ [text]
238
+
239
+ 2. Framework-driven question:
240
+ [text]
241
+
242
+ 3. Suggested next action:
243
+ [text]
244
+ ```
245
+
246
+ **Zone 3 -- Intelligence Strip:** Omit unless zone has HIGH contradiction signal.
247
+
248
+ **Zone 4 -- Action Footer:**
249
+ ```
250
+ > /mos:whitespace analyze [ZONE_ID] Full zone details
251
+ > /mos:whitespace map Back to zone overview
252
+ > [suggested /mos: command from hypothesis part 3]
253
+ ```
254
+
255
+ ## Subcommand: tree
256
+
257
+ **Body Shape:** B (Semantic Tree)
258
+
259
+ ### Step 1: Run Pipeline
260
+
261
+ ```bash
262
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR tree
263
+ ```
264
+
265
+ Ensures topic-forest.json exists (runs compute_topic_forest.py if needed), then runs label-topic-forest.cjs.
266
+
267
+ ### Step 2: Render 4-Zone Output
268
+
269
+ **Zone 1 -- Header Panel:**
270
+ ```
271
+ -- [Room Name] -- Whitespace Tree -- Topic Coverage --
272
+ ```
273
+
274
+ **Zone 2 -- Content Body (Shape B: Semantic Tree):**
275
+
276
+ Display the TopicForest as an indented tree with coverage indicators per branch.
277
+
278
+ ```
279
+ &#9660; Market Dynamics &#10003; covered
280
+ |- &#9654; Customer Segments &#10003; 3 artifacts
281
+ |- &#9654; Competitive Landscape &#8226; 1 artifact
282
+ \- &#9655; Pricing Strategy &#11036; whitespace
283
+ &#9660; Technology Architecture &#8226; sparse
284
+ |- &#9654; Core Platform &#10003; 2 artifacts
285
+ \- &#9655; Integration Layer &#11036; whitespace
286
+ &#9655; Regulatory Environment &#11036; whitespace
287
+ ```
288
+
289
+ Coverage indicators:
290
+ - `&#10003;` = covered (2+ artifacts mapped to this branch)
291
+ - `&#8226;` = sparse (1 artifact, needs more)
292
+ - `&#11036;` = whitespace (0 artifacts in this topic branch)
293
+
294
+ Summary line:
295
+ ```
296
+ Topics: [N] branches | &#10003; [X] covered | &#8226; [Y] sparse | &#11036; [Z] whitespace
297
+ ```
298
+
299
+ **Zone 3 -- Intelligence Strip** (conditional):
300
+ ```
301
+ &#11036; [N] topic branches have zero coverage
302
+ &#9889; [topic] converges with existing room section [section]
303
+ ```
304
+
305
+ **Zone 4 -- Action Footer:**
306
+ ```
307
+ > /mos:whitespace map See density scores per zone
308
+ > /mos:whitespace analyze [whitespace_topic] Investigate biggest gap
309
+ > /mos:explore-domains Fill empty branches
310
+ ```
311
+
312
+ ## Subcommand: score
313
+
314
+ **Body Shape:** E (Action Report)
315
+
316
+ ### Step 1: Read Scores
317
+
318
+ ```bash
319
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR score
320
+ ```
321
+
322
+ Reads whitespace-results.json and extracts artifact_novelty_scores.
323
+
324
+ ### Step 2: Render 4-Zone Output
325
+
326
+ **Zone 1 -- Header Panel:**
327
+ ```
328
+ -- [Room Name] -- Whitespace Scores -- Novelty Ranking --
329
+ ```
330
+
331
+ **Zone 2 -- Content Body (Shape E: Action Report):**
332
+
333
+ ```
334
+ Artifact Section Novelty Nearest Concept
335
+ customer-jobs-analysis.md market-analysis/ 0.92 JTBD Framework
336
+ regulatory-landscape.md legal-ip/ 0.87 Regulatory Arbitrage
337
+ competitive-map.md competitive-analysis/ 0.34 Porter's Five Forces
338
+ problem-statement.md problem-definition/ 0.12 Beautiful Questions
339
+ ```
340
+
341
+ Sorted by novelty_score descending (most novel first).
342
+ - Novelty 0.8+ = highly novel (far from existing knowledge)
343
+ - Novelty 0.4-0.8 = moderately novel
344
+ - Novelty < 0.4 = well-covered territory
345
+
346
+ Summary line:
347
+ ```
348
+ Artifacts: [N] | Novel (>0.8): [X] | Moderate: [Y] | Covered (<0.4): [Z]
349
+ ```
350
+
351
+ **Zone 3 -- Intelligence Strip** (conditional):
352
+ ```
353
+ &#9889; [artifact] scores 0.9+ novelty -- genuinely unprecedented insight
354
+ ```
355
+
356
+ **Zone 4 -- Action Footer:**
357
+ ```
358
+ > /mos:whitespace map See where gaps cluster
359
+ > /mos:whitespace analyze [top_zone] Investigate the sparsest zone
360
+ > /mos:room [section_of_top_novel] Review your most novel work
361
+ ```
362
+
363
+ ## Subcommand: external
364
+
365
+ **Body Shape:** E (Action Report)
366
+
367
+ ### Step 1: Run External Pipeline
368
+
369
+ ```bash
370
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR external
371
+ ```
372
+
373
+ If the scripts are not yet installed, the dispatcher shows:
374
+
375
+ ```
376
+ x External corpus not configured
377
+ Why: Phase 66 Plan 02 scripts not installed yet
378
+ Fix: /mos:whitespace external (available after Plan 02 deployment)
379
+ ```
380
+
381
+ When Semantic Scholar is fully unreachable (network failure or every query rate-limited), the dispatcher shows (Phase 88.6-03):
382
+
383
+ ```
384
+ x Semantic Scholar unavailable
385
+ Why: All queries rate-limited or network failure
386
+ Fix: /mos:whitespace external (retry in 60 seconds if rate-limited)
387
+ ```
388
+
389
+ ### Step 2: Render 4-Zone Output (when available)
390
+
391
+ **Zone 1 -- Header Panel:**
392
+ ```
393
+ -- [Room Name] -- Whitespace External -- Cross-Domain --
394
+ ```
395
+
396
+ **Zone 2 -- Content Body (Shape E: Action Report):**
397
+
398
+ ```
399
+ Action: External whitespace scan
400
+ Source: Semantic Scholar API
401
+
402
+ Cross-Domain Zones Found: [N]
403
+ |- [zone_id]: [description] (from: [paper_title])
404
+ |- [zone_id]: [description] (from: [paper_title])
405
+ \- [zone_id]: [description] (from: [paper_title])
406
+
407
+ Papers Analyzed: [N]
408
+ Top Matches:
409
+ |- [paper_title] ([year]) -- relevance: [score]
410
+ \- [paper_title] ([year]) -- relevance: [score]
411
+ ```
412
+
413
+ **Zone 3 -- Intelligence Strip** (conditional, max 3 signals, Phase 88.6-03):
414
+ ```
415
+ warning N of M Semantic Scholar queries rate-limited (partial results shown)
416
+ warning N of M Semantic Scholar queries errored (partial results shown)
417
+ lightning External literature reveals [N] cross-domain connections
418
+ ```
419
+
420
+ All three signals can appear together when partial results still surface cross-domain connections. Glyph names in backticks refer to the 12 approved glyphs from `skills/ui-system/SKILL.md` Section 3.
421
+
422
+ **Zone 4 -- Action Footer:**
423
+ ```
424
+ > /mos:whitespace analyze [zone_id] Investigate external zone
425
+ > /mos:whitespace discover Run full Discovery Cycle
426
+ > /mos:research [topic] Deep-dive into a finding
427
+ ```
428
+
429
+ ### Rate-Limit Behavior
430
+
431
+ Semantic Scholar free tier enforces a max of 1 request per second. When burst queries trigger 429 responses, rate-limited queries are logged and skipped; the pipeline continues with whatever papers returned. The Zone 3 warning surfaces `N of M queries rate-limited` so the user knows coverage may be partial and the cause is external throttling, not empty-result. Per-query outcomes (`ok` / `rate_limited` / `api_error` / `network_error` / `timeout` / `not_attempted`) are persisted in `.mindrian/external-papers.json` under the top-level `queries[]` array so the dispatcher shows real telemetry rather than guessing. Retrying after 60 seconds typically recovers the full set because the cache (7-day TTL) preserves successful results from the first pass.
432
+
433
+ Canon Part 8 Graph Boundary: external papers are SIGNAL (public data) per canon Part 8. They flow LOCAL only (to `{roomDir}/.mindrian/external-papers.json`), never to Brain. No user-specific strings are ever sent to Semantic Scholar or Brain in this pipeline. The query keywords are extracted from local artifact titles and framework names, sent to the public Semantic Scholar API over HTTPS, and the returned abstracts stay on disk in the room.
434
+
435
+ ## Subcommand: discover
436
+
437
+ **Body Shape:** E (Action Report)
438
+
439
+ ### Step 1: Run Discovery Cycle
440
+
441
+ ```bash
442
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/whitespace-command.cjs" ROOM_DIR discover
443
+ ```
444
+
445
+ Runs discovery-cycle.cjs with `--steps all`. This chains HSI, RS, and Analogy whitespace detection.
446
+
447
+ ### Step 2: Render 4-Zone Output
448
+
449
+ **Zone 1 -- Header Panel:**
450
+ ```
451
+ -- [Room Name] -- Whitespace Discover -- Full Cycle --
452
+ ```
453
+
454
+ **Zone 2 -- Content Body (Shape E: Action Report):**
455
+
456
+ ```
457
+ Action: Discovery Cycle
458
+ Steps: HSI -> RS -> Analogy
459
+
460
+ Results:
461
+ |- HSI Whitespace: [N] zones (between connected artifacts)
462
+ |- RS Whitespace: [N] zones (downstream of bottlenecks)
463
+ \- Analogy Whitespace: [N] zones (unmapped transfer zones)
464
+
465
+ Total Zones: [N]
466
+ Validated: [X] / [N]
467
+
468
+ Top Discoveries:
469
+ |- [zone_id] [gap_signal] -- [hypothesis preview, 80 chars]
470
+ |- [zone_id] [gap_signal] -- [hypothesis preview, 80 chars]
471
+ \- [zone_id] [gap_signal] -- [hypothesis preview, 80 chars]
472
+ ```
473
+
474
+ **Zone 3 -- Intelligence Strip** (conditional):
475
+ ```
476
+ &#9889; Discovery found [N] strong-signal zones across [X] pipeline sources
477
+ &#9888; [N] zones failed validation -- may be noise
478
+ ```
479
+
480
+ **Zone 4 -- Action Footer:**
481
+ ```
482
+ > /mos:whitespace map Visualize all zones
483
+ > /mos:whitespace analyze [top_zone] Deep-dive the strongest signal
484
+ > /mos:whitespace score Check artifact novelty
485
+ ```
486
+
487
+ ## Error Handling
488
+
489
+ All errors use the 3-line pattern (per D-24):
490
+
491
+ ```
492
+ x [What failed]
493
+ Why: [Specific reason]
494
+ Fix: [One resolving command]
495
+ ```
496
+
497
+ Common errors:
498
+
499
+ - **No Python installed:** `x Python 3 not found / Why: Whitespace pipeline requires Python 3.8+ / Fix: Install Python 3 and retry`
500
+ - **No embeddings:** `x No whitespace embeddings / Why: Pipeline needs to embed room artifacts first / Fix: /mos:whitespace map (runs embedder automatically)`
501
+ - **Script timeout:** `x Pipeline timed out / Why: Room has too many artifacts for default timeout / Fix: Run with fewer sections or contact support`
502
+
503
+ ## Cross-Surface Adaptation
504
+
505
+ - **CLI:** Full power. Scripts run via Bash, output formatted for terminal.
506
+ - **Desktop:** Larry describes the whitespace findings conversationally. Numbers and zone IDs still shown but in natural language context.
507
+ - **Cowork:** Same as CLI. Zone data can be shared via 00_Context/ for team visibility.
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: wiki
3
+ description: Open the Data Room wiki of room sections
4
+ body_shape: D (Document View)
5
+ serves_jtbd: ["audit-room", "prepare-pitch"]
6
+ ui_reference: skills/ui-system/SKILL.md
7
+ allowed-tools:
8
+ - Bash
9
+ - Read
10
+ ---
11
+ # /mos:wiki
12
+
13
+ Open the localhost wiki dashboard for the current Data Room.
14
+
15
+ ## What it does
16
+ Launches a local Express server that renders room/ .md files as Wikipedia-style pages with:
17
+ - Section navigation sidebar (collapsible folder tree)
18
+ - Table of contents per page
19
+ - Infobox from YAML frontmatter
20
+ - [[wikilink]] cross-references as clickable hyperlinks
21
+ - SQLite graph edges as "See also" and backlinks
22
+ - Interactive knowledge graph view (home page)
23
+ - Full-text search across all pages
24
+ - Dark/light mode toggle
25
+ - Onboarding tour for first-time users (guided walkthrough with skip)
26
+ - De Stijl design
27
+
28
+ ## Usage
29
+
30
+ ```bash
31
+ # Open the wiki locally
32
+ bash scripts/serve-wiki
33
+
34
+ # Export as static HTML for sharing
35
+ bash scripts/serve-wiki --export
36
+ ```
37
+
38
+ ## Flags
39
+
40
+ - **No flags** - Opens wiki in browser at localhost:8421
41
+ - **`--export`** - Generates a static HTML bundle in `export/wiki/` that can be:
42
+ - Deployed to Render or Vercel for team sharing
43
+ - Sent as a zip file
44
+ - Hosted anywhere as static files
45
+
46
+ ## Sharing Your Data Room
47
+
48
+ Want to share with teammates or investors?
49
+
50
+ 1. Run `/mos:wiki --export` to generate static HTML
51
+ 2. Deploy to Vercel: `cd export/wiki && npx vercel`
52
+ 3. Or deploy to Render: push `export/wiki/` to a repo with a `render.yaml`
53
+ 4. Or just zip and send: `zip -r data-room.zip export/wiki/`
54
+
55
+ **Privacy note:** The exported HTML contains your room content. Share only what you intend to share. MindrianOS does not host or access your data.
56
+
57
+ ## First-Time Experience
58
+
59
+ New users get an automatic guided tour:
60
+ 1. Highlights each wiki zone (header, sidebar, content, infobox, search, footer)
61
+ 2. Explains what each part does
62
+ 3. "Next" to continue, "Skip tour" to dismiss
63
+ 4. Tour never shows again after completion (stored in localStorage)
64
+
65
+ ## Notes
66
+ - Port: 8421 (auto-increments if busy, range 8421-8430)
67
+ - Read-only: edit files in your IDE, wiki auto-refreshes via file watcher
68
+ - Graph dashboard remains at port 8420 via /mos:visualize
69
+ - Chat panel is present (stub - full Larry integration coming)