@mindrian_os/cli 1.13.0-beta.10 → 1.13.0-beta.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. package/CHANGELOG.md +340 -13
  2. package/README.md +76 -579
  3. package/bin/cli.js +166 -40
  4. package/lib/core/active-plugin-root.cjs +207 -0
  5. package/package.json +7 -13
  6. package/.claude-plugin/plugin.json +0 -21
  7. package/.mcp.json +0 -9
  8. package/agents/brain-query.md +0 -80
  9. package/agents/framework-runner.md +0 -237
  10. package/agents/grading.md +0 -188
  11. package/agents/investor.md +0 -128
  12. package/agents/larry-extended.md +0 -135
  13. package/agents/opportunity-scanner.md +0 -91
  14. package/agents/persona-analyst.md +0 -132
  15. package/agents/research.md +0 -89
  16. package/agents/reverse-salient-agent.md +0 -27
  17. package/bin/mindrian-mcp-server.cjs +0 -182
  18. package/bin/mindrian-tools.cjs +0 -765
  19. package/commands/act.md +0 -433
  20. package/commands/admin.md +0 -404
  21. package/commands/analyze-needs.md +0 -36
  22. package/commands/analyze-systems.md +0 -33
  23. package/commands/analyze-timing.md +0 -36
  24. package/commands/auto-explore.md +0 -64
  25. package/commands/beautiful-question.md +0 -34
  26. package/commands/brain-derive.md +0 -78
  27. package/commands/build-knowledge.md +0 -36
  28. package/commands/build-thesis.md +0 -40
  29. package/commands/causal.md +0 -228
  30. package/commands/challenge-assumptions.md +0 -33
  31. package/commands/compare-ventures.md +0 -77
  32. package/commands/dashboard.md +0 -110
  33. package/commands/deep-grade.md +0 -76
  34. package/commands/diagnose.md +0 -52
  35. package/commands/diagnostics.md +0 -145
  36. package/commands/doctor.md +0 -151
  37. package/commands/dominant-designs.md +0 -34
  38. package/commands/explain-decision.md +0 -87
  39. package/commands/explore-domains.md +0 -36
  40. package/commands/explore-futures.md +0 -34
  41. package/commands/explore-trends.md +0 -36
  42. package/commands/export.md +0 -103
  43. package/commands/file-meeting.md +0 -724
  44. package/commands/find-analogies.md +0 -182
  45. package/commands/find-bottlenecks.md +0 -56
  46. package/commands/find-connections.md +0 -70
  47. package/commands/funding.md +0 -81
  48. package/commands/grade.md +0 -197
  49. package/commands/graph.md +0 -128
  50. package/commands/hat-briefing.md +0 -119
  51. package/commands/heal.md +0 -196
  52. package/commands/help.md +0 -399
  53. package/commands/hmi-status.md +0 -172
  54. package/commands/jtbd.md +0 -241
  55. package/commands/leadership.md +0 -73
  56. package/commands/lean-canvas.md +0 -34
  57. package/commands/macro-trends.md +0 -34
  58. package/commands/map-unknowns.md +0 -34
  59. package/commands/memory.md +0 -173
  60. package/commands/models.md +0 -175
  61. package/commands/mos-reason.md +0 -279
  62. package/commands/mullins.md +0 -114
  63. package/commands/new-project.md +0 -481
  64. package/commands/onboard.md +0 -434
  65. package/commands/operator.md +0 -149
  66. package/commands/opportunities.md +0 -144
  67. package/commands/organize.md +0 -497
  68. package/commands/persona.md +0 -192
  69. package/commands/pipeline.md +0 -106
  70. package/commands/present.md +0 -91
  71. package/commands/publish.md +0 -201
  72. package/commands/query.md +0 -124
  73. package/commands/radar.md +0 -72
  74. package/commands/reanalyze.md +0 -91
  75. package/commands/research.md +0 -190
  76. package/commands/room.md +0 -352
  77. package/commands/rooms.md +0 -598
  78. package/commands/root-cause.md +0 -34
  79. package/commands/rs-experts.md +0 -79
  80. package/commands/rs-explain.md +0 -94
  81. package/commands/rs-fetch.md +0 -88
  82. package/commands/rs-thesis.md +0 -79
  83. package/commands/scenario-plan.md +0 -34
  84. package/commands/scheduled-tasks.md +0 -285
  85. package/commands/score-innovation.md +0 -37
  86. package/commands/scout.md +0 -239
  87. package/commands/setup.md +0 -618
  88. package/commands/snapshot.md +0 -147
  89. package/commands/speakers.md +0 -84
  90. package/commands/splash.md +0 -28
  91. package/commands/status.md +0 -75
  92. package/commands/structure-argument.md +0 -36
  93. package/commands/suggest-next.md +0 -74
  94. package/commands/systems-thinking.md +0 -34
  95. package/commands/think-hats.md +0 -36
  96. package/commands/update.md +0 -181
  97. package/commands/user-needs.md +0 -34
  98. package/commands/validate.md +0 -34
  99. package/commands/value-proposition.md +0 -55
  100. package/commands/vault.md +0 -180
  101. package/commands/visualize.md +0 -52
  102. package/commands/whitespace.md +0 -501
  103. package/commands/wiki.md +0 -69
  104. package/hooks/hooks.json +0 -381
  105. package/hooks/run-hook.cmd +0 -64
  106. package/lib/__init__.py +0 -0
  107. package/lib/__pycache__/__init__.cpython-312.pyc +0 -0
  108. package/lib/agents/auto-explore-agent.cjs +0 -1043
  109. package/lib/agents/reverse-salient-agent.cjs +0 -679
  110. package/lib/agents/tension-hook-agent.cjs +0 -544
  111. package/lib/chat/chat-context.js +0 -185
  112. package/lib/chat/chat-panel.js +0 -721
  113. package/lib/chat/fabric-chat.cjs +0 -288
  114. package/lib/chat/generative-tools.js +0 -219
  115. package/lib/conversation/ROOM.md +0 -39
  116. package/lib/conversation/classifier-rules.json +0 -38
  117. package/lib/conversation/classifier.cjs +0 -264
  118. package/lib/conversation/operator.cjs +0 -287
  119. package/lib/copy/115-spec-strings.cjs +0 -55
  120. package/lib/core/__init__.py +0 -0
  121. package/lib/core/__nav-stub.cjs +0 -14
  122. package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
  123. package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
  124. package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
  125. package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
  126. package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
  127. package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
  128. package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
  129. package/lib/core/artifact-id.cjs +0 -148
  130. package/lib/core/asset-ops.cjs +0 -151
  131. package/lib/core/auto-commit-throttle.cjs +0 -129
  132. package/lib/core/bearer-token.cjs +0 -199
  133. package/lib/core/brain-client.cjs +0 -865
  134. package/lib/core/brain-derivation-prompts.cjs +0 -326
  135. package/lib/core/brain-derivation-queue.cjs +0 -431
  136. package/lib/core/brain-derivation.cjs +0 -580
  137. package/lib/core/brain-md-schema.cjs +0 -528
  138. package/lib/core/brain-md-staleness.cjs +0 -357
  139. package/lib/core/brain-response-sanitize.cjs +0 -188
  140. package/lib/core/bridge-writer.cjs +0 -477
  141. package/lib/core/chat-context-builder.cjs +0 -253
  142. package/lib/core/cross-room-aggregator.cjs +0 -762
  143. package/lib/core/daily-briefing.cjs +0 -438
  144. package/lib/core/decision-capture.cjs +0 -618
  145. package/lib/core/deep-links.cjs +0 -82
  146. package/lib/core/dispatch-optimizer.cjs +0 -354
  147. package/lib/core/dual-path-detector.cjs +0 -84
  148. package/lib/core/dual-path-detector.test.cjs +0 -334
  149. package/lib/core/exports-log.cjs +0 -79
  150. package/lib/core/feynman-minto-invariants.cjs +0 -605
  151. package/lib/core/folder-memory-async.cjs +0 -338
  152. package/lib/core/folder-memory-shared.cjs +0 -890
  153. package/lib/core/folder-memory.cjs +0 -416
  154. package/lib/core/framework-chain-composer.cjs +0 -411
  155. package/lib/core/frontmatter-schemas.cjs +0 -330
  156. package/lib/core/git-ops.cjs +0 -141
  157. package/lib/core/graph-ops.cjs +0 -258
  158. package/lib/core/hat-persistence.cjs +0 -362
  159. package/lib/core/index.cjs +0 -60
  160. package/lib/core/integration-registry.cjs +0 -232
  161. package/lib/core/intelligence-cascade.cjs +0 -661
  162. package/lib/core/lazygraph-ops.cjs +0 -1057
  163. package/lib/core/lru-cache.cjs +0 -139
  164. package/lib/core/mcp-profiles.cjs +0 -182
  165. package/lib/core/meeting-ops.cjs +0 -54
  166. package/lib/core/memory-ops.cjs +0 -600
  167. package/lib/core/migrations/ROOM.md +0 -33
  168. package/lib/core/migrations/phase-109-nodes-provenance.cjs +0 -339
  169. package/lib/core/migrations/phase-109-session-focus.cjs +0 -99
  170. package/lib/core/model-profiles.cjs +0 -246
  171. package/lib/core/mullins-scaffold.cjs +0 -160
  172. package/lib/core/nav-dial.cjs +0 -316
  173. package/lib/core/navigation/ROOM.md +0 -15
  174. package/lib/core/navigation/explanation.cjs +0 -43
  175. package/lib/core/navigation/focus.cjs +0 -135
  176. package/lib/core/navigation/ingestion.cjs +0 -82
  177. package/lib/core/navigation/insights.cjs +0 -350
  178. package/lib/core/navigation/memory-events.cjs +0 -118
  179. package/lib/core/navigation/neighborhood.cjs +0 -78
  180. package/lib/core/navigation/packet.cjs +0 -182
  181. package/lib/core/navigation/room-home.cjs +0 -127
  182. package/lib/core/navigation/transitions.cjs +0 -82
  183. package/lib/core/navigation-engine-shared.cjs +0 -242
  184. package/lib/core/navigation-engine.cjs +0 -664
  185. package/lib/core/navigation.cjs +0 -60
  186. package/lib/core/nl-graph-queries.cjs +0 -164
  187. package/lib/core/offer-presenter.cjs +0 -406
  188. package/lib/core/opportunity-extractor.cjs +0 -183
  189. package/lib/core/opportunity-ops.cjs +0 -1371
  190. package/lib/core/persona-ops.cjs +0 -537
  191. package/lib/core/persona-taxonomy.cjs +0 -190
  192. package/lib/core/platform-gates.cjs +0 -120
  193. package/lib/core/platform.cjs +0 -257
  194. package/lib/core/proactive-intelligence.cjs +0 -528
  195. package/lib/core/problem-type-router.cjs +0 -315
  196. package/lib/core/reasoning-ops.cjs +0 -639
  197. package/lib/core/reverse-salient-persona-suffix.cjs +0 -115
  198. package/lib/core/room-classifier-strict-mode.cjs +0 -229
  199. package/lib/core/room-db.cjs +0 -127
  200. package/lib/core/room-ops-async.cjs +0 -92
  201. package/lib/core/room-ops-shared.cjs +0 -64
  202. package/lib/core/room-ops-sync.cjs +0 -70
  203. package/lib/core/room-ops.cjs +0 -32
  204. package/lib/core/room-type-detector.cjs +0 -386
  205. package/lib/core/rs-brain-substrate-prompts.cjs +0 -129
  206. package/lib/core/rs-brain-substrate.cjs +0 -570
  207. package/lib/core/rs-breakthrough-scorer.cjs +0 -255
  208. package/lib/core/rs-canon-violations.cjs +0 -82
  209. package/lib/core/rs-chain-feeder.cjs +0 -343
  210. package/lib/core/rs-commercial-assessor.cjs +0 -280
  211. package/lib/core/rs-differential-scorer.cjs +0 -376
  212. package/lib/core/rs-domain-analyzer.cjs +0 -385
  213. package/lib/core/rs-egress-prompts.cjs +0 -113
  214. package/lib/core/rs-egress-telemetry.cjs +0 -225
  215. package/lib/core/rs-egress-violations.cjs +0 -53
  216. package/lib/core/rs-expert-mapper.cjs +0 -467
  217. package/lib/core/rs-fetcher-academic.cjs +0 -697
  218. package/lib/core/rs-fetcher-experts.cjs +0 -314
  219. package/lib/core/rs-fetcher-industry.cjs +0 -731
  220. package/lib/core/rs-fetcher-patents.cjs +0 -564
  221. package/lib/core/rs-innovation-classifier.cjs +0 -194
  222. package/lib/core/rs-mind-map.cjs +0 -656
  223. package/lib/core/rs-neo4j-writer.cjs +0 -388
  224. package/lib/core/rs-nl-to-query.cjs +0 -425
  225. package/lib/core/rs-pinecone-bridge.cjs +0 -303
  226. package/lib/core/rs-preprocessor.cjs +0 -350
  227. package/lib/core/rs-query-matrix.cjs +0 -316
  228. package/lib/core/rs-query-to-text.cjs +0 -438
  229. package/lib/core/rs-sqlite-mirror.cjs +0 -443
  230. package/lib/core/rs-thesis-generator.cjs +0 -188
  231. package/lib/core/rs_cache.py +0 -479
  232. package/lib/core/rs_corpus.py +0 -468
  233. package/lib/core/rs_hybrid.py +0 -586
  234. package/lib/core/rs_math.py +0 -287
  235. package/lib/core/rs_rooms.py +0 -193
  236. package/lib/core/scheduled-scanner.cjs +0 -463
  237. package/lib/core/scratchpad-ops.cjs +0 -201
  238. package/lib/core/section-8-trace-schema.cjs +0 -138
  239. package/lib/core/section-registry.cjs +0 -111
  240. package/lib/core/session-state.cjs +0 -144
  241. package/lib/core/shallow-doc-parser.cjs +0 -174
  242. package/lib/core/shallow-doc-parser.test.cjs +0 -226
  243. package/lib/core/skill-activation-router.cjs +0 -284
  244. package/lib/core/state-ops.cjs +0 -46
  245. package/lib/core/statusline-cache.cjs +0 -266
  246. package/lib/core/token-estimator.cjs +0 -348
  247. package/lib/core/user-archetype.cjs +0 -239
  248. package/lib/core/user-md-ops.cjs +0 -524
  249. package/lib/core/visual-ops.cjs +0 -624
  250. package/lib/core/write-lock.cjs +0 -149
  251. package/lib/graph/canvas-graph.js +0 -467
  252. package/lib/graph/constellation-config.cjs +0 -299
  253. package/lib/graph/graph-detail-panel.js +0 -165
  254. package/lib/hmi/ROOM.md +0 -47
  255. package/lib/hmi/across-session-memory.cjs +0 -604
  256. package/lib/hmi/cross-room-memory.cjs +0 -575
  257. package/lib/hmi/decoy-tier.cjs +0 -395
  258. package/lib/hmi/jtbd-classifier.cjs +0 -219
  259. package/lib/hmi/jtbd-state.cjs +0 -199
  260. package/lib/hmi/jtbd-taxonomy.json +0 -392
  261. package/lib/hmi/selector-dispatcher.cjs +0 -546
  262. package/lib/hmi/selector-telemetry.cjs +0 -263
  263. package/lib/hmi/shape-f0-renderer.cjs +0 -139
  264. package/lib/hmi/shape-f1-fallback.cjs +0 -80
  265. package/lib/hmi/shape-f1-renderer.cjs +0 -138
  266. package/lib/hmi/shape-f2-renderer.cjs +0 -132
  267. package/lib/hmi/shape-f3-renderer.cjs +0 -66
  268. package/lib/hmi/shape-f4-renderer.cjs +0 -72
  269. package/lib/hmi/shape-f5-renderer.cjs +0 -155
  270. package/lib/hmi/shape-f6-plan-review-renderer.cjs +0 -312
  271. package/lib/hmi/shape-f6-renderer.cjs +0 -144
  272. package/lib/hmi/shape-g-renderer.cjs +0 -219
  273. package/lib/hmi/shape-h-renderer.cjs +0 -222
  274. package/lib/hmi/tier-check.cjs +0 -63
  275. package/lib/import/PRECONDITIONS.md +0 -41
  276. package/lib/import/branding.cjs +0 -210
  277. package/lib/import/branding.test.cjs +0 -235
  278. package/lib/import/classifications-sync.cjs +0 -104
  279. package/lib/import/classifications-sync.test.cjs +0 -129
  280. package/lib/import/enricher.cjs +0 -296
  281. package/lib/import/enricher.test.cjs +0 -273
  282. package/lib/import/integration.test.cjs +0 -376
  283. package/lib/import/manifest.cjs +0 -129
  284. package/lib/import/manifest.schema.json +0 -185
  285. package/lib/import/manifest.test.cjs +0 -123
  286. package/lib/import/meeting-detector.cjs +0 -92
  287. package/lib/import/meeting-detector.test.cjs +0 -100
  288. package/lib/import/person-detector.cjs +0 -229
  289. package/lib/import/person-detector.test.cjs +0 -149
  290. package/lib/import/report.cjs +0 -186
  291. package/lib/import/report.test.cjs +0 -186
  292. package/lib/import/room-md-scaffolder.cjs +0 -49
  293. package/lib/import/router.cjs +0 -224
  294. package/lib/import/router.test.cjs +0 -356
  295. package/lib/import/run-all-tests.cjs +0 -36
  296. package/lib/import/smoke-test.cjs +0 -213
  297. package/lib/import/smoke-test.test.cjs +0 -148
  298. package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +0 -8
  299. package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +0 -7
  300. package/lib/import/test-fixtures/collision-vault/source/onboarding.md +0 -5
  301. package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +0 -1
  302. package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +0 -4
  303. package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +0 -9
  304. package/lib/import/test-fixtures/tiny-vault/notes/empty.md +0 -3
  305. package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +0 -5
  306. package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +0 -5
  307. package/lib/import/test-fixtures/tiny-vault/notes/random.md +0 -4
  308. package/lib/import/undo.test.cjs +0 -199
  309. package/lib/import/vault-scanner.cjs +0 -105
  310. package/lib/import/vault-scanner.test.cjs +0 -67
  311. package/lib/mcp/app-html/dashboard.html +0 -316
  312. package/lib/mcp/app-html/graph.html +0 -428
  313. package/lib/mcp/app-html/mindrian-platform.html +0 -1841
  314. package/lib/mcp/app-html/wiki.html +0 -383
  315. package/lib/mcp/app-views.cjs +0 -322
  316. package/lib/mcp/brain-router.cjs +0 -418
  317. package/lib/mcp/capability-registry.cjs +0 -62
  318. package/lib/mcp/larry-context.cjs +0 -46
  319. package/lib/mcp/larry-server-instructions.md +0 -114
  320. package/lib/mcp/pipeline-state.cjs +0 -275
  321. package/lib/mcp/prompts.cjs +0 -302
  322. package/lib/mcp/resources.cjs +0 -227
  323. package/lib/mcp/session-catchup.cjs +0 -327
  324. package/lib/mcp/surface-detect.cjs +0 -75
  325. package/lib/mcp/tool-router.cjs +0 -1034
  326. package/lib/memory/aaak-compress.cjs +0 -403
  327. package/lib/memory/aaak-compress.test.cjs +0 -288
  328. package/lib/memory/async-artifact-auto-commit.test.cjs +0 -223
  329. package/lib/memory/bearer-token.test.cjs +0 -315
  330. package/lib/memory/brain-cache-lru.test.cjs +0 -259
  331. package/lib/memory/brain-client-query-shape.test.cjs +0 -160
  332. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +0 -1019
  333. package/lib/memory/brain-derivation-queue.test.cjs +0 -539
  334. package/lib/memory/brain-derivation.test.cjs +0 -634
  335. package/lib/memory/brain-derive-command.test.cjs +0 -534
  336. package/lib/memory/brain-md-invariants-validator.test.cjs +0 -704
  337. package/lib/memory/brain-md-schema.test.cjs +0 -467
  338. package/lib/memory/brain-md-staleness.test.cjs +0 -525
  339. package/lib/memory/brain-server-resolution.test.cjs +0 -314
  340. package/lib/memory/chat-context.test.cjs +0 -128
  341. package/lib/memory/cross-room-aggregator.test.cjs +0 -909
  342. package/lib/memory/dashboard-server.test.cjs +0 -256
  343. package/lib/memory/debouncer-drain-at-prompt.test.cjs +0 -389
  344. package/lib/memory/decision-capture.test.cjs +0 -632
  345. package/lib/memory/decision-capture.worker.cjs +0 -70
  346. package/lib/memory/explain-decision-command.test.cjs +0 -521
  347. package/lib/memory/explain-decision-footer.test.cjs +0 -316
  348. package/lib/memory/explored-materials-store.cjs +0 -392
  349. package/lib/memory/feynman-minto-guardian.test.cjs +0 -736
  350. package/lib/memory/feynman-minto-invariants.test.cjs +0 -511
  351. package/lib/memory/feynman-prompts-drift.test.cjs +0 -144
  352. package/lib/memory/feynman-prompts.cjs +0 -151
  353. package/lib/memory/feynman-prompts.test.cjs +0 -96
  354. package/lib/memory/folder-memory-quadruple.test.cjs +0 -548
  355. package/lib/memory/folder-memory.test.cjs +0 -503
  356. package/lib/memory/framework-chain-composer.test.cjs +0 -515
  357. package/lib/memory/frontmatter-schema-validator.test.cjs +0 -290
  358. package/lib/memory/heal-command.test.cjs +0 -604
  359. package/lib/memory/index-artifact-transaction.test.cjs +0 -333
  360. package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +0 -122
  361. package/lib/memory/mcp-input-validation.test.cjs +0 -240
  362. package/lib/memory/mcp-server-brain-deps.test.cjs +0 -270
  363. package/lib/memory/mcp-stack-fallback.test.cjs +0 -433
  364. package/lib/memory/minto-debouncer.test.cjs +0 -407
  365. package/lib/memory/minto-debouncer.worker.cjs +0 -46
  366. package/lib/memory/minto-migration-v88.test.cjs +0 -265
  367. package/lib/memory/minto-schema-v88.test.cjs +0 -390
  368. package/lib/memory/mos-status-renderer.test.cjs +0 -631
  369. package/lib/memory/narrative-schema.cjs +0 -376
  370. package/lib/memory/narrative-schema.test.cjs +0 -209
  371. package/lib/memory/nav-dial.test.cjs +0 -414
  372. package/lib/memory/navigation-engine-core.test.cjs +0 -722
  373. package/lib/memory/navigation-invariants.test.cjs +0 -483
  374. package/lib/memory/offer-presenter.test.cjs +0 -554
  375. package/lib/memory/on-stop-snapshot.test.cjs +0 -404
  376. package/lib/memory/pending-tension-store.cjs +0 -373
  377. package/lib/memory/post-compact-reinjection.test.cjs +0 -854
  378. package/lib/memory/post-write-triple.test.cjs +0 -317
  379. package/lib/memory/pre-compact-snapshot.test.cjs +0 -495
  380. package/lib/memory/problem-type-router.test.cjs +0 -656
  381. package/lib/memory/query-efficiency-telemetry.test.cjs +0 -370
  382. package/lib/memory/recompile-room-references.test.cjs +0 -392
  383. package/lib/memory/recompile-room-references.worker.cjs +0 -42
  384. package/lib/memory/record-decision-dual-write.test.cjs +0 -454
  385. package/lib/memory/room-classifier-strict-mode.test.cjs +0 -417
  386. package/lib/memory/room-minto-hook.test.cjs +0 -398
  387. package/lib/memory/rs-discovery-engine.test.cjs +0 -323
  388. package/lib/memory/run-feynman-tests.cjs +0 -1239
  389. package/lib/memory/security-trifecta.test.cjs +0 -312
  390. package/lib/memory/session-start-brain-staleness.test.cjs +0 -363
  391. package/lib/memory/session-start-triple-injection.test.cjs +0 -514
  392. package/lib/memory/sessionstart-banner-formatter.cjs +0 -318
  393. package/lib/memory/sessionstart-minto-banner.test.cjs +0 -373
  394. package/lib/memory/skill-activation-router.test.cjs +0 -419
  395. package/lib/memory/stamp-artifact-write.test.cjs +0 -304
  396. package/lib/memory/statusline-active-room.test.cjs +0 -315
  397. package/lib/memory/statusline-minto-segment.test.cjs +0 -292
  398. package/lib/memory/sync-async-entry-points.test.cjs +0 -204
  399. package/lib/memory/test-bridge-writer-enhanced.cjs +0 -452
  400. package/lib/memory/test-rs-brain-substrate-shape.cjs +0 -529
  401. package/lib/memory/test-rs-brain-substrate.cjs +0 -636
  402. package/lib/memory/test-rs-breakthrough-scorer.cjs +0 -375
  403. package/lib/memory/test-rs-canon-violations.cjs +0 -218
  404. package/lib/memory/test-rs-chain-feeder-core.cjs +0 -344
  405. package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +0 -297
  406. package/lib/memory/test-rs-commercial-assessor.cjs +0 -385
  407. package/lib/memory/test-rs-differential-scorer.cjs +0 -480
  408. package/lib/memory/test-rs-discovery-engine.cjs +0 -603
  409. package/lib/memory/test-rs-domain-analyzer.cjs +0 -492
  410. package/lib/memory/test-rs-egress-primitives.cjs +0 -420
  411. package/lib/memory/test-rs-expert-mapper.cjs +0 -547
  412. package/lib/memory/test-rs-explain-command.cjs +0 -443
  413. package/lib/memory/test-rs-fetcher-academic.cjs +0 -848
  414. package/lib/memory/test-rs-fetcher-experts.cjs +0 -496
  415. package/lib/memory/test-rs-fetcher-industry.cjs +0 -702
  416. package/lib/memory/test-rs-fetcher-patents.cjs +0 -674
  417. package/lib/memory/test-rs-innovation-classifier.cjs +0 -301
  418. package/lib/memory/test-rs-mind-map.cjs +0 -646
  419. package/lib/memory/test-rs-neo4j-writer.cjs +0 -518
  420. package/lib/memory/test-rs-nl-to-query.cjs +0 -449
  421. package/lib/memory/test-rs-pinecone-bridge.cjs +0 -277
  422. package/lib/memory/test-rs-preprocessor.cjs +0 -433
  423. package/lib/memory/test-rs-query-matrix.cjs +0 -391
  424. package/lib/memory/test-rs-query-to-text.cjs +0 -551
  425. package/lib/memory/test-rs-sqlite-mirror.cjs +0 -649
  426. package/lib/memory/test-rs-thesis-generator.cjs +0 -360
  427. package/lib/memory/triple-context-formatter.cjs +0 -473
  428. package/lib/memory/triple-context-formatter.test.cjs +0 -442
  429. package/lib/memory/user-md-persona.test.cjs +0 -565
  430. package/lib/memory/userpromptsubmit-integration.test.cjs +0 -690
  431. package/lib/memory/validators/README.md +0 -157
  432. package/lib/memory/validators/brain-md-invariants.cjs +0 -475
  433. package/lib/memory/validators/brain-substrate-invariants.cjs +0 -285
  434. package/lib/memory/validators/external-academic-invariants.cjs +0 -249
  435. package/lib/memory/validators/external-industry-invariants.cjs +0 -271
  436. package/lib/memory/validators/external-patents-invariants.cjs +0 -266
  437. package/lib/memory/validators/minto-invariants.cjs +0 -62
  438. package/lib/memory/validators/navigation-invariants.cjs +0 -340
  439. package/lib/memory/validators/queue-health.cjs +0 -95
  440. package/lib/memory/validators/snapshot-integrity.cjs +0 -129
  441. package/lib/memory/validators/stale-lifecycle.cjs +0 -116
  442. package/lib/memory/vault-section-minto-generator-atomic.test.cjs +0 -556
  443. package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +0 -73
  444. package/lib/memory/write-lock-atomic.test.cjs +0 -137
  445. package/lib/memory/write-lock-atomic.worker.cjs +0 -55
  446. package/lib/parity/check-parity.cjs +0 -83
  447. package/lib/presentation/presentation-server.cjs +0 -101
  448. package/lib/presentation/presentation-watcher.cjs +0 -123
  449. package/lib/quickview/hub-server.cjs +0 -719
  450. package/lib/quickview/server.cjs +0 -533
  451. package/lib/render/JTBD-PALETTES.md +0 -145
  452. package/lib/render/ROOM.md +0 -59
  453. package/lib/render/render-v2.cjs +0 -486
  454. package/lib/render/render-v2.test.cjs +0 -267
  455. package/lib/render/render.cjs +0 -65
  456. package/lib/state/ROOM.md +0 -46
  457. package/lib/state/state-md-parser.cjs +0 -215
  458. package/lib/statusline/ROOM.md +0 -38
  459. package/lib/statusline/banner-suppression.cjs +0 -50
  460. package/lib/statusline/surface-detect.cjs +0 -85
  461. package/lib/update-bootstrap.sh.template +0 -145
  462. package/lib/vault/frontmatter-schema.cjs +0 -297
  463. package/lib/vault/room-scanner.cjs +0 -352
  464. package/lib/vault/wikilink-builder.cjs +0 -231
  465. package/lib/vault/wikilink-builder.test.cjs +0 -182
  466. package/lib/wiki/graph-links.cjs +0 -281
  467. package/lib/wiki/page-renderer.cjs +0 -229
  468. package/lib/wiki/wiki-chat.cjs +0 -81
  469. package/lib/wiki/wiki-layout.cjs +0 -1459
  470. package/lib/wiki/wiki-search.cjs +0 -142
  471. package/lib/wiki/wiki-server.cjs +0 -678
  472. package/lib/wiki/wiki-watcher.cjs +0 -105
  473. package/pipelines/analogy/01-decompose.md +0 -80
  474. package/pipelines/analogy/02-abstract.md +0 -87
  475. package/pipelines/analogy/03-search.md +0 -135
  476. package/pipelines/analogy/04-transfer.md +0 -101
  477. package/pipelines/analogy/05-validate.md +0 -106
  478. package/pipelines/analogy/CHAIN.md +0 -56
  479. package/pipelines/discovery/01-explore-domains.md +0 -44
  480. package/pipelines/discovery/02-think-hats.md +0 -50
  481. package/pipelines/discovery/03-analyze-needs.md +0 -54
  482. package/pipelines/discovery/CHAIN.md +0 -37
  483. package/pipelines/thesis/01-structure-argument.md +0 -45
  484. package/pipelines/thesis/02-challenge-assumptions.md +0 -48
  485. package/pipelines/thesis/03-build-thesis.md +0 -54
  486. package/pipelines/thesis/CHAIN.md +0 -37
  487. package/references/brain/causal-directives.md +0 -91
  488. package/references/brain/causal-enrichment.cypher +0 -165
  489. package/references/brain/command-triggers-schema.md +0 -226
  490. package/references/brain/graph-architecture.md +0 -317
  491. package/references/brain/query-patterns.md +0 -460
  492. package/references/brain/room-hierarchy-schema.md +0 -218
  493. package/references/brain/schema.md +0 -76
  494. package/references/capability-radar/capabilities-index.md +0 -241
  495. package/references/capability-radar/changelog-cache.md +0 -81
  496. package/references/causal/causal-schema.md +0 -103
  497. package/references/design/email-template-standard.md +0 -155
  498. package/references/design/graph-visualization-standard.md +0 -178
  499. package/references/document-generation.md +0 -179
  500. package/references/hsi/HSI-TOOLS-REFERENCE.md +0 -222
  501. package/references/import-config.md +0 -141
  502. package/references/integrations/detection-patterns.md +0 -101
  503. package/references/meeting/artifact-template.md +0 -377
  504. package/references/meeting/cross-meeting-intelligence.md +0 -216
  505. package/references/meeting/cross-relationship-patterns.md +0 -202
  506. package/references/meeting/live-join-interface.md +0 -244
  507. package/references/meeting/section-mapping.md +0 -192
  508. package/references/meeting/segment-classification.md +0 -258
  509. package/references/meeting/speaker-profile-template.md +0 -219
  510. package/references/meeting/summary-template.md +0 -348
  511. package/references/meeting/transcript-patterns.md +0 -226
  512. package/references/methodology/analyze-needs.md +0 -135
  513. package/references/methodology/analyze-systems.md +0 -121
  514. package/references/methodology/analyze-timing.md +0 -149
  515. package/references/methodology/beautiful-question.md +0 -109
  516. package/references/methodology/build-knowledge.md +0 -161
  517. package/references/methodology/build-thesis.md +0 -237
  518. package/references/methodology/challenge-assumptions.md +0 -127
  519. package/references/methodology/diagnose.md +0 -169
  520. package/references/methodology/dominant-designs.md +0 -212
  521. package/references/methodology/explore-domains.md +0 -147
  522. package/references/methodology/explore-futures.md +0 -163
  523. package/references/methodology/explore-trends.md +0 -129
  524. package/references/methodology/find-bottlenecks.md +0 -131
  525. package/references/methodology/grade.md +0 -211
  526. package/references/methodology/index.md +0 -97
  527. package/references/methodology/leadership.md +0 -200
  528. package/references/methodology/lean-canvas.md +0 -116
  529. package/references/methodology/macro-trends.md +0 -192
  530. package/references/methodology/map-unknowns.md +0 -137
  531. package/references/methodology/mullins-7-domains.md +0 -104
  532. package/references/methodology/problem-types.md +0 -65
  533. package/references/methodology/root-cause.md +0 -178
  534. package/references/methodology/sapphire-encoding.md +0 -355
  535. package/references/methodology/scenario-plan.md +0 -178
  536. package/references/methodology/score-innovation.md +0 -154
  537. package/references/methodology/structure-argument.md +0 -158
  538. package/references/methodology/systems-thinking.md +0 -159
  539. package/references/methodology/think-hats.md +0 -147
  540. package/references/methodology/triz-matrix.json +0 -751
  541. package/references/methodology/triz-principles.md +0 -501
  542. package/references/methodology/user-needs.md +0 -199
  543. package/references/methodology/validate.md +0 -163
  544. package/references/methodology/value-proposition.md +0 -244
  545. package/references/opportunities/funding-lifecycle.md +0 -103
  546. package/references/opportunities/grant-api-patterns.md +0 -99
  547. package/references/opportunities/opportunity-template.md +0 -84
  548. package/references/personality/assessment-philosophy.md +0 -72
  549. package/references/personality/lexicon.md +0 -100
  550. package/references/personality/persona-chains.md +0 -56
  551. package/references/personality/pws-lexicon-full.md +0 -499
  552. package/references/personality/voice-dna.md +0 -156
  553. package/references/personas/hat-perspectives.md +0 -76
  554. package/references/personas/persona-template.md +0 -63
  555. package/references/pipeline/act-output-contract.md +0 -88
  556. package/references/pipeline/chains-index.md +0 -39
  557. package/references/pws-profile-generation.md +0 -79
  558. package/references/reasoning/reasoning-schema.md +0 -143
  559. package/references/reasoning/reasoning-template.md +0 -68
  560. package/references/reasoning/run-template.md +0 -38
  561. package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +0 -209
  562. package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +0 -375
  563. package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +0 -575
  564. package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +0 -272
  565. package/references/taxonomy/TAXONOMY.md +0 -192
  566. package/references/templates/MINTO.md +0 -36
  567. package/references/user-research/2026-04-05-leah-lawrence-session.md +0 -202
  568. package/references/vault-kit/README.md +0 -35
  569. package/references/vault-kit/app.json +0 -12
  570. package/references/vault-kit/appearance.json +0 -12
  571. package/references/vault-kit/graph.json +0 -35
  572. package/references/vault-kit/snippets/mindrian-destijl.css +0 -297
  573. package/references/vault-kit/templates/new-artifact.md +0 -37
  574. package/references/vault-kit/templates/new-meeting-note.md +0 -35
  575. package/references/vault-kit/templates/new-team-profile.md +0 -29
  576. package/references/vault-kit/templates/new-xref.md +0 -35
  577. package/references/visual/symbol-system.md +0 -151
  578. package/skills/MOSDeckEngine/SKILL.md +0 -325
  579. package/skills/brain-connector/SKILL.md +0 -114
  580. package/skills/context-engine/SKILL.md +0 -147
  581. package/skills/conversation-mode/SKILL.md +0 -102
  582. package/skills/larry-personality/SKILL.md +0 -219
  583. package/skills/larry-personality/framework-chains.md +0 -92
  584. package/skills/larry-personality/mode-engine.md +0 -185
  585. package/skills/mullins-scaffold/SKILL.md +0 -61
  586. package/skills/mullins-scaffold/scaffold.json +0 -146
  587. package/skills/pws-methodology/SKILL.md +0 -49
  588. package/skills/room-passive/SKILL.md +0 -165
  589. package/skills/room-proactive/SKILL.md +0 -250
  590. package/skills/ui-system/SKILL.md +0 -277
@@ -1,348 +0,0 @@
1
- # Meeting Summary Template -- Meeting Archive Package
2
-
3
- *Used by `file-meeting` to produce the complete meeting archive package.*
4
-
5
- ---
6
-
7
- ## Meeting Archive Package
8
-
9
- Every filed meeting produces a self-contained archive folder with the following files:
10
-
11
- | File | Location | Purpose |
12
- |------|----------|---------|
13
- | Transcript | `room/meetings/YYYY-MM-DD-{name}/transcript.md` | Original transcript (preserved verbatim) |
14
- | Summary | `room/meetings/YYYY-MM-DD-{name}/summary.md` | Complete narrative + structured breakdown |
15
- | Speakers | `room/meetings/YYYY-MM-DD-{name}/speakers.md` | Who attended, roles, segment counts, profile links |
16
- | Decisions | `room/meetings/YYYY-MM-DD-{name}/decisions.md` | Extracted decisions with owners and impact sections |
17
- | Action Items | `room/meetings/YYYY-MM-DD-{name}/action-items.md` | Tasks with owners and deadlines (only if stated) |
18
- | Metadata | `room/meetings/YYYY-MM-DD-{name}/metadata.yaml` | Structured searchable metadata for cross-meeting lookup |
19
- | Audio | `room/meetings/YYYY-MM-DD-{name}/{filename}` | Audio copy (only if --audio input) |
20
- | Filed-to index | `room/meetings/YYYY-MM-DD-{name}/filed-to/` | Links to where each artifact was filed |
21
- | Compact reference | `room/meeting-YYYY-MM-DD-{name}.md` | Quick-access at room root |
22
-
23
- Each meeting folder is a complete knowledge artifact -- browsable, shareable, and self-contained.
24
-
25
- ---
26
-
27
- ## Full Summary Template
28
-
29
- **Location:** `room/meetings/YYYY-MM-DD-{name}/summary.md`
30
-
31
- ```markdown
32
- ---
33
- methodology: file-meeting
34
- type: meeting-summary
35
- meeting_date: {YYYY-MM-DD}
36
- meeting_name: {human-readable name}
37
- source: {transcript | velma}
38
- format_detected: {zoom | teams | otter | meet | raw | velma}
39
- duration_estimate: {minutes, if available}
40
- speakers:
41
- - name: {speaker name}
42
- role: {speaker role}
43
- segments: {count}
44
- - name: {speaker name}
45
- role: {speaker role}
46
- segments: {count}
47
- total_segments: {count}
48
- filed_segments: {count}
49
- skipped_segments: {count}
50
- flagged_noise: {count}
51
- rejected_segments: {count}
52
- created: {YYYY-MM-DD}
53
- ---
54
-
55
- # Meeting: {meeting_name}
56
-
57
- {Narrative lead paragraph in Larry's voice. 2-4 sentences summarizing what
58
- happened, what was decided, and what matters most. Written in third person
59
- with Larry's characteristic directness. NOT a bland summary -- Larry's
60
- personality comes through.}
61
-
62
- ## Key Decisions
63
-
64
- {Numbered list of decisions made during the meeting. Each links to the
65
- filed artifact. If no decisions were made, state: "No explicit decisions
66
- were recorded in this meeting."}
67
-
68
- 1. **{Decision summary}** -- {speaker} ({role})
69
- Filed to: [[room/{section}/{artifact-name}.md]]
70
-
71
- ## Insights Filed
72
-
73
- {Count} insights filed to {count} sections:
74
-
75
- - **{section}**: {count} insights
76
- - {Brief insight summary} -- {speaker} ({role})
77
- - {Brief insight summary} -- {speaker} ({role})
78
- - **{section}**: {count} insights
79
- - {Brief insight summary} -- {speaker} ({role})
80
-
81
- ## Contradictions Detected
82
-
83
- {List any contradictions found between segments in this meeting, or between
84
- meeting segments and existing room artifacts. If none: "No contradictions
85
- detected."}
86
-
87
- - **{Claim A}** ({speaker A}) vs **{Claim B}** ({speaker B})
88
- Affects: [{sections}]
89
- Status: Flagged for review
90
-
91
- ## Gaps Identified
92
-
93
- {Questions raised during the meeting that represent knowledge gaps. These
94
- are filed as gap entries in their target sections.}
95
-
96
- - **{Gap description}** -- raised by {speaker} ({role})
97
- Filed to: [[room/{section}/gaps/{artifact-name}.md]]
98
-
99
- ## Action Items
100
-
101
- {Extracted action items with owners. NEVER invent deadlines that were not
102
- explicitly stated in the transcript.}
103
-
104
- | Owner | Task | Deadline | Context |
105
- |-------|------|----------|---------|
106
- | {name} | {task description} | {date or "not specified"} | {why this matters} |
107
-
108
- ## Rejections
109
-
110
- {Segments the user rejected during confirm-then-file, with captured reasons.
111
- If none: "No segments were rejected."}
112
-
113
- | Segment | Suggested Section | Rejection Reason |
114
- |---------|-------------------|------------------|
115
- | {brief text} | {section} | {user's reason} |
116
-
117
- ## Speakers
118
-
119
- {Count} speakers identified:
120
-
121
- | Speaker | Role | Segments | Key Contributions |
122
- |---------|------|----------|-------------------|
123
- | {name} | {role} | {count} | {1-sentence summary of their contributions} |
124
-
125
- ---
126
-
127
- *Filed by MindrianOS `file-meeting` on {created date}.*
128
- *Source: {source type} | Format: {format_detected}*
129
- ```
130
-
131
- ---
132
-
133
- ## Compact Reference Template
134
-
135
- **Location:** `room/meeting-YYYY-MM-DD-{name}.md`
136
-
137
- ```markdown
138
- ---
139
- type: meeting-reference
140
- meeting_date: {YYYY-MM-DD}
141
- meeting_name: {name}
142
- full_summary: meetings/YYYY-MM-DD-{name}/summary.md
143
- speakers: {count}
144
- decisions: {count}
145
- insights: {count}
146
- actions: {count}
147
- ---
148
-
149
- # {meeting_name} ({YYYY-MM-DD})
150
-
151
- {One-paragraph summary -- same narrative lead from full summary.}
152
-
153
- **Decisions:** {count} | **Insights:** {count} | **Actions:** {count} | **Speakers:** {count}
154
-
155
- Full summary: [[meetings/YYYY-MM-DD-{name}/summary.md]]
156
- ```
157
-
158
- This file lives at the root of the room directory for quick scanning. Users can `ls room/meeting-*.md` to see all meetings at a glance.
159
-
160
- ---
161
-
162
- ## Transcript Storage Template
163
-
164
- **Location:** `room/meetings/YYYY-MM-DD-{name}/transcript.md`
165
-
166
- ```markdown
167
- ---
168
- type: meeting-transcript
169
- meeting_date: {YYYY-MM-DD}
170
- meeting_name: {name}
171
- source: {transcript | velma}
172
- format_detected: {format}
173
- speakers: [{speaker names}]
174
- total_lines: {count}
175
- ---
176
-
177
- # Transcript: {meeting_name}
178
-
179
- {Original transcript preserved verbatim. No modifications.
180
- If Velma source, converted from JSON to readable format with
181
- timestamps and speaker labels.}
182
- ```
183
-
184
- The transcript is stored EXACTLY as provided. No cleanup, no rewriting. The original is the source of truth. Larry's classifications and summaries are interpretations -- the transcript is evidence.
185
-
186
- ---
187
-
188
- ## Filed-To Index Pattern
189
-
190
- **Location:** `room/meetings/YYYY-MM-DD-{name}/filed-to/`
191
-
192
- Each filed artifact gets a reference entry:
193
-
194
- ```markdown
195
- # room/meetings/YYYY-MM-DD-{name}/filed-to/{NNN}-{section}.md
196
-
197
- Filed: [[room/{section}/{artifact-filename}.md]]
198
- Speaker: {name} ({role})
199
- Type: {segment_type}
200
- Confidence: {confidence}
201
- ```
202
-
203
- Where `{NNN}` is a zero-padded sequence number matching the filing order (priority-ordered).
204
-
205
- This creates a bidirectional link: the artifact in the room section has `source: transcript` + `meeting_name` pointing back to the meeting, and the filed-to index points from the meeting to the artifact.
206
-
207
- ---
208
-
209
- ## speakers.md Template
210
-
211
- **Location:** `room/meetings/YYYY-MM-DD-{name}/speakers.md`
212
-
213
- ```markdown
214
- ---
215
- meeting_id: {YYYY-MM-DD-meeting-slug}
216
- meeting_date: {YYYY-MM-DD}
217
- ---
218
- # Speakers: {meeting_name}
219
-
220
- | Speaker | Role | Segments | Profile |
221
- |---------|------|----------|---------|
222
- | {name} | {role} | {count} | [[team/{role-plural}/{slug}/PROFILE.md]] |
223
- ```
224
-
225
- One row per confirmed speaker. Profile links use the canonical slug from create-speaker-profile. Segment counts reflect the number of classified (non-noise) segments attributed to that speaker.
226
-
227
- ---
228
-
229
- ## decisions.md Template
230
-
231
- **Location:** `room/meetings/YYYY-MM-DD-{name}/decisions.md`
232
-
233
- ```markdown
234
- ---
235
- meeting_id: {YYYY-MM-DD-meeting-slug}
236
- ---
237
- # Decisions: {meeting_name}
238
-
239
- 1. **{Decision summary}** -- {speaker} ({role})
240
- Filed to: [[{section}/{artifact-filename}.md]]
241
- Impact: {cascade_sections from the decision artifact}
242
-
243
- 2. **{Decision summary}** -- {speaker} ({role})
244
- Filed to: [[{section}/{artifact-filename}.md]]
245
- Impact: {cascade_sections}
246
- ```
247
-
248
- Extract from segments classified as `decision` in Step 3. Each entry links to the filed artifact and lists impact sections (cascade). If no decisions were made, write: "No explicit decisions were recorded in this meeting."
249
-
250
- ---
251
-
252
- ## action-items.md Template
253
-
254
- **Location:** `room/meetings/YYYY-MM-DD-{name}/action-items.md`
255
-
256
- ```markdown
257
- ---
258
- meeting_id: {YYYY-MM-DD-meeting-slug}
259
- ---
260
- # Action Items: {meeting_name}
261
-
262
- | Owner | Task | Deadline | Status |
263
- |-------|------|----------|--------|
264
- | {name} | {task description} | {date or "not specified"} | open |
265
- ```
266
-
267
- Extract from segments classified as `action-item`. Deadlines ONLY if explicitly stated in transcript -- never invent deadlines. All items start as `status: open`. If no action items, write: "No action items were identified in this meeting."
268
-
269
- ---
270
-
271
- ## metadata.yaml Template
272
-
273
- **Location:** `room/meetings/YYYY-MM-DD-{name}/metadata.yaml`
274
-
275
- ```yaml
276
- meeting_id: {YYYY-MM-DD-meeting-slug}
277
- meeting_name: {human-readable meeting name}
278
- meeting_date: {YYYY-MM-DD}
279
- source: {transcript | velma}
280
- speakers:
281
- - name: {full name}
282
- role: {role}
283
- slug: {speaker-slug matching profile directory}
284
- topics:
285
- - {dominant topic 1}
286
- - {dominant topic 2}
287
- decisions_count: {N}
288
- insights_count: {N}
289
- action_items_count: {N}
290
- sections_touched:
291
- - {section-name}
292
- - {section-name}
293
- has_audio: {true | false}
294
- ```
295
-
296
- Created LAST in the archive after all other files are written (counts depend on completed processing). Topics are inferred from dominant themes of filed segments. Speaker slugs MUST match directory names from create-speaker-profile.
297
-
298
- ### Searchability
299
-
300
- metadata.yaml is designed for grep-based cross-meeting lookups without indexing:
301
-
302
- - **Find meetings by speaker:** `grep -rl '{speaker-slug}' room/meetings/*/metadata.yaml`
303
- - **Find meetings by topic:** `grep -rl '{topic}' room/meetings/*/metadata.yaml`
304
- - **Find meetings with decisions:** `grep -l 'decisions_count: [1-9]' room/meetings/*/metadata.yaml`
305
- - **Find meetings by date range:** Scan `meeting_date` fields across metadata.yaml files
306
-
307
- This enables Larry to answer questions like "What did Lawrence say about pricing?" or "Which meetings had action items?" by scanning metadata.yaml files directly.
308
-
309
- ---
310
-
311
- ## Summary Sections -- Required vs Optional
312
-
313
- | Section | Required | When to Include |
314
- |---------|----------|-----------------|
315
- | Key Decisions | YES | Always -- state "none recorded" if empty |
316
- | Insights Filed | YES | Always -- show counts by section |
317
- | Contradictions Detected | YES | Always -- state "none detected" if empty |
318
- | Gaps Identified | YES | Always -- state "none identified" if empty |
319
- | Action Items | YES | Always -- state "no action items" if empty |
320
- | Rejections | YES | Always -- state "none rejected" if empty |
321
- | Speakers | YES | Always -- list all identified speakers |
322
-
323
- Every section is always present. This makes the summary format consistent and machine-parseable. Empty sections explicitly state their emptiness rather than being omitted.
324
-
325
- ---
326
-
327
- ## Meeting Name Convention
328
-
329
- The `{name}` in paths is derived from the meeting name:
330
-
331
- 1. Lowercase
332
- 2. Replace spaces with hyphens
333
- 3. Remove special characters
334
- 4. Truncate to 50 characters
335
-
336
- Examples:
337
- - "Board Strategy Session Q1" -> `board-strategy-session-q1`
338
- - "Mentor Check-in with Lawrence" -> `mentor-check-in-with-lawrence`
339
- - "Investor Due Diligence Call" -> `investor-due-diligence-call`
340
-
341
- ---
342
-
343
- ## Cross-Reference
344
-
345
- - Artifact format: `references/meeting/artifact-template.md`
346
- - Segment classification: `references/meeting/segment-classification.md`
347
- - Speaker profiles: `references/meeting/speaker-profile-template.md`
348
- - Section routing: `references/meeting/section-mapping.md`
@@ -1,226 +0,0 @@
1
- # Transcript Format Patterns -- Speaker Identification Reference
2
-
3
- *Used by `file-meeting` to detect transcript format and extract speaker turns.*
4
-
5
- ---
6
-
7
- ## Format Detection Order
8
-
9
- Larry tries each format in order. First match wins. If no format matches, treat as **Raw Paste**.
10
-
11
- | Priority | Format | Detection Pattern | Confidence |
12
- |----------|--------|-------------------|------------|
13
- | 1 | Velma JSON | Valid JSON with `speaker_id` field | HIGH |
14
- | 2 | Zoom | Lines matching `HH:MM:SS Speaker Name: text` | HIGH |
15
- | 3 | Teams | Lines matching `[HH:MM:SS] Speaker Name` or `Speaker Name HH:MM:SS` | HIGH |
16
- | 4 | Otter.ai | Lines matching `Speaker Name HH:MM` (double-space) | MEDIUM |
17
- | 5 | Google Meet | Lines matching `Speaker Name HH:MM:SS` (no colon after name) | MEDIUM |
18
- | 6 | Raw Paste | No timestamps, no speaker labels detected | LOW |
19
-
20
- ---
21
-
22
- ## Zoom Format
23
-
24
- **Pattern:** `HH:MM:SS Speaker Name: text`
25
-
26
- ```
27
- 00:02:15 Sarah Chen: I think we should focus on the enterprise segment first.
28
- 00:02:45 David Park: Agreed. The SMB numbers don't support the unit economics yet.
29
- ```
30
-
31
- **Regex:**
32
- ```
33
- ^(\d{2}:\d{2}:\d{2})\s+([^:]+?):\s+(.+)$
34
- ```
35
-
36
- - Group 1: Timestamp (`HH:MM:SS`)
37
- - Group 2: Speaker name (trimmed)
38
- - Group 3: Spoken text
39
-
40
- **Edge cases:**
41
- - Speaker names may contain spaces ("Sarah Chen")
42
- - Colons in speech text are captured in Group 3 (greedy after first `:`)
43
- - Some Zoom exports omit seconds: `00:02 Speaker Name: text` -- use fallback regex `^(\d{2}:\d{2}(?::\d{2})?)\s+([^:]+?):\s+(.+)$`
44
-
45
- ---
46
-
47
- ## Microsoft Teams Format
48
-
49
- **Pattern A:** `[HH:MM:SS] Speaker Name`
50
- **Pattern B:** `Speaker Name HH:MM:SS`
51
-
52
- ```
53
- [00:02:15] Sarah Chen
54
- I think we should focus on the enterprise segment first.
55
-
56
- [00:02:45] David Park
57
- Agreed. The SMB numbers don't support the unit economics yet.
58
- ```
59
-
60
- Or:
61
-
62
- ```
63
- Sarah Chen 00:02:15
64
- I think we should focus on the enterprise segment first.
65
-
66
- David Park 00:02:45
67
- Agreed. The SMB numbers don't support the unit economics yet.
68
- ```
69
-
70
- **Regex (Pattern A):**
71
- ```
72
- ^\[(\d{2}:\d{2}:\d{2})\]\s+(.+)$
73
- ```
74
-
75
- **Regex (Pattern B):**
76
- ```
77
- ^(.+?)\s+(\d{2}:\d{2}:\d{2})$
78
- ```
79
-
80
- - Teams format separates the speaker line from the text line
81
- - Text follows on the next line(s) until the next speaker marker
82
- - Blank lines often separate speaker turns
83
-
84
- ---
85
-
86
- ## Otter.ai Format
87
-
88
- **Pattern:** `Speaker Name HH:MM` (double-space separator)
89
-
90
- ```
91
- Sarah Chen 0:02
92
- I think we should focus on the enterprise segment first.
93
-
94
- David Park 0:02
95
- Agreed. The SMB numbers don't support the unit economics yet.
96
- ```
97
-
98
- **Regex:**
99
- ```
100
- ^(.+?)\s{2,}(\d+:\d{2})$
101
- ```
102
-
103
- - Group 1: Speaker name
104
- - Group 2: Timestamp (`M:SS` or `MM:SS` -- Otter uses minutes, not hours)
105
- - Double-space (2+) separates name from timestamp
106
- - Text follows on subsequent lines until next speaker marker
107
-
108
- **Edge cases:**
109
- - Otter sometimes labels unknown speakers as "Speaker 1", "Speaker 2"
110
- - Timestamps are minutes:seconds, not hours:minutes:seconds
111
-
112
- ---
113
-
114
- ## Google Meet Format
115
-
116
- **Pattern:** `Speaker Name HH:MM:SS`
117
-
118
- ```
119
- Sarah Chen 00:02:15
120
- I think we should focus on the enterprise segment first.
121
-
122
- David Park 00:02:45
123
- Agreed. The SMB numbers don't support the unit economics yet.
124
- ```
125
-
126
- **Regex:**
127
- ```
128
- ^(.+?)\s+(\d{2}:\d{2}:\d{2})$
129
- ```
130
-
131
- - Similar to Teams Pattern B but Google Meet always uses `HH:MM:SS`
132
- - Disambiguation from Teams: check if ALL timestamps have HH:MM:SS format (Meet) vs mixed (Teams)
133
-
134
- **Disambiguation rule:** If the transcript has `[` brackets around timestamps, it is Teams. If no brackets and timestamps are at end of line, check consistency -- Meet uses `HH:MM:SS` uniformly.
135
-
136
- ---
137
-
138
- ## Raw Paste (No Labels)
139
-
140
- **Detection:** No lines match any of the above patterns in the first 20 lines.
141
-
142
- ```
143
- I think we should focus on the enterprise segment first.
144
- Agreed. The SMB numbers don't support the unit economics yet.
145
- What about the partnership with Acme Corp?
146
- That fell through last week. We need a new distribution strategy.
147
- ```
148
-
149
- **Handling:**
150
- 1. Larry CANNOT reliably identify speakers from raw text alone
151
- 2. **Ask the user:** "I don't see speaker labels in this transcript. Can you tell me who was in the meeting? I'll do my best to attribute statements."
152
- 3. If user provides speaker list, Larry uses contextual clues (first person references, expertise signals, role language) to attribute -- with LOW confidence on all attributions
153
- 4. All segments from raw paste get `confidence: 0.3` maximum unless user confirms attribution
154
-
155
- ---
156
-
157
- ## Velma Output (JSON)
158
-
159
- **Detection:** File is valid JSON with `speaker_id` field in entries.
160
-
161
- ```json
162
- {
163
- "meeting_id": "mtg_abc123",
164
- "duration_seconds": 3600,
165
- "segments": [
166
- {
167
- "speaker_id": "spk_001",
168
- "speaker_name": "Sarah Chen",
169
- "text": "I think we should focus on the enterprise segment first.",
170
- "start_time": 135.2,
171
- "end_time": 141.8,
172
- "emotions": ["confident", "analytical"],
173
- "confidence": 0.94
174
- },
175
- {
176
- "speaker_id": "spk_002",
177
- "speaker_name": "David Park",
178
- "text": "Agreed. The SMB numbers don't support the unit economics yet.",
179
- "start_time": 165.0,
180
- "end_time": 172.3,
181
- "emotions": ["agreement", "concern"],
182
- "confidence": 0.91
183
- }
184
- ]
185
- }
186
- ```
187
-
188
- **Schema:**
189
- - `speaker_id`: Velma's internal speaker identifier (stable across the meeting)
190
- - `speaker_name`: Resolved name (may be "Unknown Speaker 1" if Velma can't identify)
191
- - `text`: Transcribed speech
192
- - `start_time` / `end_time`: Seconds from meeting start (float)
193
- - `emotions[]`: Velma's emotion detection (20+ categories)
194
- - `confidence`: Velma's transcription confidence (0.0-1.0)
195
-
196
- **Advantages over text formats:**
197
- - Pre-segmented speaker turns (no regex needed)
198
- - Emotion metadata enriches segment classification
199
- - High confidence scores from Velma's diarization
200
- - `source: velma` in artifact frontmatter (vs `source: transcript`)
201
-
202
- ---
203
-
204
- ## Ambiguity Resolution
205
-
206
- When Larry cannot determine the format:
207
-
208
- 1. **Count pattern matches** across the first 20 lines for each format regex
209
- 2. **Highest match count wins** -- format with most matching lines
210
- 3. **Tie-breaking:** Prefer more specific formats (Zoom > Meet > Teams > Otter > Raw)
211
- 4. **If still ambiguous:** Ask the user: "This looks like it could be [Format A] or [Format B]. Which tool recorded this meeting?"
212
- 5. **Log the detection** in meeting summary: `format_detected: zoom` (or whichever)
213
-
214
- ---
215
-
216
- ## Speaker Name Normalization
217
-
218
- After extraction, normalize speaker names:
219
-
220
- 1. **Trim whitespace** from both ends
221
- 2. **Collapse internal whitespace** to single spaces
222
- 3. **Title case** if all-caps or all-lowercase input
223
- 4. **Deduplicate:** "Sarah Chen" and "Sarah" in the same meeting likely refer to the same person -- ask user to confirm
224
- 5. **Map to existing profiles:** Check `room/team/` for existing speaker profiles by name match
225
-
226
- Speaker names become folder names in `room/team/{role-plural}/{firstname-lastname}/` -- keep them filesystem-safe (lowercase, hyphens, no special characters).
@@ -1,135 +0,0 @@
1
- # Jobs To Be Done -- Framework Reference
2
-
3
- *Loaded on demand by `/mos:analyze-needs`*
4
-
5
- ## Framework Overview
6
-
7
- Jobs To Be Done discovers what progress customers are really trying to make. Customers do not buy products -- they hire them. And they fire them when something better shows up. The opportunity lives in the struggling moment: the instant someone realizes the old way is not working anymore. Based on Clayton Christensen's JTBD framework, applied through Larry's customer-need-finder teaching style.
8
-
9
- The framework applies beyond product markets: a graduate student's "job" is producing original research that advances their field. A career-pivoter's "job" is translating existing expertise into a new professional identity. Frame the analysis around whatever domain the user is exploring.
10
-
11
- The operating principle: focus on outcomes, not features. Opportunity lives in unmet progress. Most companies obsess over features -- the easy part. The hard part is the struggling moment. That is where innovation begins.
12
-
13
- ## The Voice (This Methodology)
14
-
15
- Larry in customer-need-finder mode. Conversational, provocative, concise. Warm but demanding. Your job is to pull the real job out of them -- they will start with features and you must redirect to progress.
16
-
17
- Signature phrases:
18
- - "People don't want a quarter-inch drill. They want a quarter-inch hole. But actually -- they want the shelf hung."
19
- - "Very simply... customers don't buy products. They hire them."
20
- - "Here's what everyone misses: the future doesn't arrive incrementally."
21
- - "That's not a problem -- that's a category."
22
- - "You've given me the product. What's the job it's hired to do?"
23
- - "That's the functional job. What's the emotional job underneath it?"
24
- - "The struggling moment is where innovation lives."
25
-
26
- Anti-patterns to catch:
27
- - Accepting features as jobs -- "They want a faster dashboard" is not a job. "They need to make a confident decision in under 30 seconds" is a job.
28
- - Skipping emotional and social dimensions -- if you only have the functional job, you are halfway there
29
- - Forgetting "do nothing" as a competitor -- the biggest competitor is often inaction
30
- - Confusing buyer with user -- who decides? Who pays? Who suffers?
31
- - Staying abstract -- "Describe the last time this happened. What did they do? What did they feel?"
32
- - Listing all phases upfront -- walk them through, one question at a time
33
- - Never teach the framework abstractly -- apply it to their actual situation
34
-
35
- ## Phases
36
-
37
- ### Phase 1: Customer Identification (turns 1-3)
38
-
39
- ONE question at a time. Do not rush.
40
-
41
- 1. "Who is your customer? Not the segment -- a real person. Describe them."
42
- 2. "What are they trying to accomplish? Not what they want to buy -- what progress are they making?"
43
- 3. "When did they first realize the old way wasn't working?"
44
-
45
- ### Phase 2: Job Statement (turns 3-5)
46
-
47
- 4. Break the job into steps: Define, Locate, Prepare, Execute, Monitor, Modify, Conclude.
48
- 5. For each step: "What does success look like here? What makes it hard?"
49
- 6. Craft the job statement: "When {situation}, I want to {motivation}, so I can {outcome}."
50
-
51
- ### Phase 3: Importance vs. Satisfaction Scoring (turns 5-7)
52
-
53
- 7. For each job step, rate:
54
- - How important is getting this right? (1-10)
55
- - How satisfied are they with current solutions? (1-10)
56
- 8. **Opportunity = High Importance + Low Satisfaction.** That is the gap.
57
-
58
- ### Phase 4: Blocked Steps Analysis (turns 7-9)
59
-
60
- 9. "Which steps have the widest gap between importance and satisfaction?"
61
- 10. "What's blocking progress? Is it functional, emotional, or social?"
62
- - **Functional**: The practical task will not complete
63
- - **Emotional**: They feel frustrated, anxious, incompetent
64
- - **Social**: They look bad, feel judged, cannot explain the choice
65
- 11. "That's not a problem -- that's a category. What specific moment makes them give up?"
66
-
67
- ### Phase 5: Opportunity Mapping (turns 9+)
68
-
69
- 12. Cluster the blocked steps into opportunity spaces.
70
- 13. For each: "Who else has this job? How big is this?"
71
- 14. Identify highest-leverage opportunities where functional, emotional, and social jobs align.
72
-
73
- ## Artifact Template
74
-
75
- ```markdown
76
- ---
77
- methodology: analyze-needs
78
- created: {date}
79
- depth: {quick|deep}
80
- problem_type: {type}
81
- venture_stage: {stage}
82
- room_section: market-analysis
83
- ---
84
-
85
- # Jobs To Be Done -- {Topic}
86
-
87
- ## Customer
88
- {Specific person description -- not a segment}
89
-
90
- ## Job Statement
91
- When {situation}, I want to {motivation}, so I can {outcome}.
92
-
93
- ## Job Steps
94
-
95
- | Step | Description | Importance (1-10) | Satisfaction (1-10) | Gap |
96
- |------|-------------|-------------------|---------------------|-----|
97
- | Define | {what they do} | {n} | {n} | {importance - satisfaction} |
98
- | Locate | {what they do} | {n} | {n} | {gap} |
99
- | Prepare | {what they do} | {n} | {n} | {gap} |
100
- | Execute | {what they do} | {n} | {n} | {gap} |
101
- | Monitor | {what they do} | {n} | {n} | {gap} |
102
- | Modify | {what they do} | {n} | {n} | {gap} |
103
- | Conclude | {what they do} | {n} | {n} | {gap} |
104
-
105
- ## Blocked Steps
106
-
107
- | Step | Blocker Type | Specific Moment | Current Workaround |
108
- |------|-------------|-----------------|-------------------|
109
- | {step} | Functional / Emotional / Social | {the moment they give up} | {what they do instead} |
110
-
111
- ## Opportunity Clusters
112
-
113
- | Cluster | Blocked Steps | Job Dimensions | Size Estimate |
114
- |---------|--------------|----------------|---------------|
115
- | {name} | {steps} | Functional + Emotional + Social | {who else has this job} |
116
-
117
- ## Homework
118
- Interview one real customer this week. Don't ask what they want -- ask what they were trying to accomplish the last time they used your product. Record the struggling moment. Bring it back.
119
- ```
120
-
121
- ## Default Room
122
-
123
- market-analysis
124
-
125
- ## Cross-References
126
-
127
- - **explore-domains**: If JTBD analysis reveals a new domain territory
128
- - **validate**: If opportunity clusters need evidence validation
129
- - **lean-canvas**: If JTBD insights feed into a business model
130
- - **find-bottlenecks**: If blocked steps point to system-level constraints
131
-
132
- ## Quick Pass vs Deep Dive
133
-
134
- - **Quick (10-15 min)**: Customer + job statement + top 3 blocked steps. Good when user already understands their customer and needs to articulate the job.
135
- - **Deep (30-45 min)**: Full five-phase arc, complete job steps mapping, importance/satisfaction scoring, opportunity clustering. Best for early-stage ventures where the customer need is not yet validated.