@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,192 @@
1
+ # Section Mapping Matrix -- Speaker Role x Segment Type x Room Section
2
+
3
+ *Used by `file-meeting` to route classified segments to the correct room section.*
4
+
5
+ ---
6
+
7
+ ## The 12 Speaker Roles
8
+
9
+ | Role | Description | Typical Context |
10
+ |------|-------------|-----------------|
11
+ | mentor | Teaching advisor, framework guide | Academic, accelerator |
12
+ | researcher | Subject matter researcher, analyst | Research team, consultants |
13
+ | team-member | Core team, employees | Internal meetings |
14
+ | investor | VC, angel, LP, fund manager | Pitch, board, due diligence |
15
+ | advisor | Strategic or technical advisor | Advisory board |
16
+ | customer | Current or potential customer | Discovery, feedback |
17
+ | founder | Company founder, CEO | All meetings |
18
+ | partner | Business partner, channel partner | Partnership discussions |
19
+ | domain-expert | Industry expert, specialist | Expert interviews |
20
+ | government | Regulator, government official | Compliance, grants |
21
+ | competitor | Known competitor representative | Conferences, panels |
22
+ | unknown | Unidentified speaker | Raw paste, unlabeled |
23
+
24
+ ---
25
+
26
+ ## The 8 Room Sections
27
+
28
+ | Section | Primary Content |
29
+ |---------|----------------|
30
+ | problem-definition | Problem framing, assumptions, scope, unknowns |
31
+ | market-analysis | Market size, trends, timing, customer needs |
32
+ | solution-design | Architecture, features, technical approach |
33
+ | business-model | Revenue, pricing, unit economics, channels |
34
+ | competitive-analysis | Competitors, positioning, differentiation |
35
+ | team-execution | Team, hiring, capabilities, leadership |
36
+ | legal-ip | IP, patents, regulation, compliance |
37
+ | financial-model | Funding, valuation, projections, burn rate |
38
+
39
+ ---
40
+
41
+ ## Routing Matrix
42
+
43
+ The matrix below maps `(speaker_role, segment_type)` to the primary room section and priority modifier.
44
+
45
+ **Reading the matrix:** Each cell contains `section (+priority_modifier)`. Empty cells mean "Larry decides based on content" -- the combination is too context-dependent for a fixed rule.
46
+
47
+ ### decision
48
+
49
+ | Speaker Role | Primary Section | Priority Modifier | Notes |
50
+ |-------------|----------------|-------------------|-------|
51
+ | founder | *content-dependent* | +1 | Founders decide across all sections |
52
+ | investor | financial-model | +2 | Unless explicitly about another section |
53
+ | mentor | problem-definition | +1 | Mentors guide problem framing decisions |
54
+ | advisor | *content-dependent* | +1 | Advisors span multiple domains |
55
+ | team-member | team-execution | 0 | Unless clearly about another section |
56
+ | customer | solution-design | +1 | Customer decisions inform product |
57
+ | researcher | market-analysis | 0 | Research findings drive decisions |
58
+ | partner | business-model | +1 | Partnership decisions affect model |
59
+ | domain-expert | *content-dependent* | +1 | Expert domain determines section |
60
+ | government | legal-ip | +2 | Regulatory decisions are highest priority |
61
+ | competitor | competitive-analysis | 0 | Competitor decisions are intel |
62
+ | unknown | *content-dependent* | -1 | Lower confidence without role context |
63
+
64
+ ### action-item
65
+
66
+ | Speaker Role | Primary Section | Priority Modifier | Notes |
67
+ |-------------|----------------|-------------------|-------|
68
+ | founder | *content-dependent* | +1 | Founder-assigned actions are high priority |
69
+ | investor | financial-model | +2 | Investor requests are critical |
70
+ | mentor | *content-dependent* | +1 | Mentor-assigned homework |
71
+ | advisor | *content-dependent* | +1 | Advisor follow-ups |
72
+ | team-member | team-execution | 0 | Standard task tracking |
73
+ | customer | solution-design | +1 | Customer-requested features |
74
+ | researcher | market-analysis | 0 | Research tasks |
75
+ | partner | business-model | 0 | Partnership deliverables |
76
+ | domain-expert | *content-dependent* | 0 | Expert recommendations to pursue |
77
+ | government | legal-ip | +1 | Compliance requirements |
78
+ | competitor | competitive-analysis | -1 | Rare -- flagged for review |
79
+ | unknown | *content-dependent* | -1 | Low confidence assignment |
80
+
81
+ ### insight
82
+
83
+ | Speaker Role | Primary Section | Priority Modifier | Notes |
84
+ |-------------|----------------|-------------------|-------|
85
+ | founder | *content-dependent* | 0 | Founder insights span all sections |
86
+ | investor | financial-model | +1 | Investor insights signal deal criteria |
87
+ | mentor | problem-definition | +1 | Mentor insights reframe the problem |
88
+ | advisor | *content-dependent* | +1 | Advisor insights from experience |
89
+ | team-member | *content-dependent* | 0 | Context-dependent |
90
+ | customer | market-analysis | +2 | Customer insights are primary market data |
91
+ | researcher | market-analysis | +1 | Research findings |
92
+ | partner | business-model | +1 | Partnership ecosystem data |
93
+ | domain-expert | *content-dependent* | +1 | Expert knowledge is high value |
94
+ | government | legal-ip | +1 | Regulatory landscape intelligence |
95
+ | competitor | competitive-analysis | +2 | Competitor admissions are gold |
96
+ | unknown | *content-dependent* | -1 | Needs attribution for proper routing |
97
+
98
+ ### advice
99
+
100
+ | Speaker Role | Primary Section | Priority Modifier | Notes |
101
+ |-------------|----------------|-------------------|-------|
102
+ | founder | team-execution | 0 | Founder advice usually about execution |
103
+ | investor | financial-model | +2 | Investor advice signals expectations |
104
+ | mentor | problem-definition | +1 | Mentor guidance on framing |
105
+ | advisor | *content-dependent* | +2 | Advisors' PRIMARY output is advice |
106
+ | team-member | *content-dependent* | 0 | Peer suggestions |
107
+ | customer | solution-design | +1 | Customer suggestions = feature requests |
108
+ | researcher | *content-dependent* | 0 | Research recommendations |
109
+ | partner | business-model | +1 | Partnership strategy guidance |
110
+ | domain-expert | *content-dependent* | +2 | Expert recommendations are high value |
111
+ | government | legal-ip | +1 | Compliance guidance |
112
+ | competitor | competitive-analysis | -2 | Competitor "advice" is suspect -- flag |
113
+ | unknown | *content-dependent* | -1 | Unattributed advice has less weight |
114
+
115
+ ### question
116
+
117
+ | Speaker Role | Primary Section | Priority Modifier | Notes |
118
+ |-------------|----------------|-------------------|-------|
119
+ | founder | *content-dependent* | 0 | Founder questions reveal their blind spots |
120
+ | investor | financial-model | +2 | Investor questions signal due diligence gaps |
121
+ | mentor | problem-definition | +1 | Mentor questions are diagnostic |
122
+ | advisor | *content-dependent* | +1 | Advisor questions reveal risks |
123
+ | team-member | *content-dependent* | 0 | Operational questions |
124
+ | customer | market-analysis | +2 | Customer questions reveal unmet needs |
125
+ | researcher | *content-dependent* | 0 | Research questions |
126
+ | partner | business-model | +1 | Partnership feasibility concerns |
127
+ | domain-expert | *content-dependent* | +1 | Expert questions expose technical gaps |
128
+ | government | legal-ip | +2 | Regulatory questions are compliance flags |
129
+ | competitor | competitive-analysis | +1 | Competitor questions reveal their strategy |
130
+ | unknown | *content-dependent* | -1 | Low priority without role context |
131
+
132
+ ### noise
133
+
134
+ Noise segments are SKIPPED unless flagged by the Flag Potential Noise Rule (see `segment-classification.md`). No routing matrix needed. Flagged noise goes to user review.
135
+
136
+ ---
137
+
138
+ ## Content-Dependent Routing
139
+
140
+ When the matrix shows `*content-dependent*`, Larry uses keyword analysis to determine the section:
141
+
142
+ 1. Run the segment text through `scripts/classify-insight` keyword patterns
143
+ 2. If `classify-insight` returns `SUGGEST:{section}:MEDIUM`, use that section
144
+ 3. If `UNCERTAIN`, analyze context:
145
+ - What section was the conversation discussing before this segment?
146
+ - What keywords appear in the segment? (see keyword lists below)
147
+ - What is the speaker's domain of expertise?
148
+ 4. If still uncertain, ask the user: "Where should I file this {type} from {speaker}?"
149
+
150
+ **Section keyword hints:**
151
+
152
+ | Section | Keywords |
153
+ |---------|----------|
154
+ | problem-definition | problem, challenge, issue, scope, definition, assumption, unknown, question, gap, need |
155
+ | market-analysis | market, customer, trend, TAM, SAM, growth, segment, user, demand, adoption, timing |
156
+ | solution-design | product, feature, architecture, design, technology, platform, integration, UX, build |
157
+ | business-model | revenue, pricing, model, channel, cost, unit economics, margin, subscription, sales |
158
+ | competitive-analysis | competitor, alternative, moat, differentiation, advantage, threat, positioning, benchmark |
159
+ | team-execution | team, hire, role, culture, leadership, process, execution, sprint, velocity, roadmap |
160
+ | legal-ip | legal, patent, IP, regulation, compliance, license, terms, privacy, GDPR |
161
+ | financial-model | funding, valuation, runway, burn, projection, revenue, cap table, dilution, round |
162
+
163
+ ---
164
+
165
+ ## Priority Scoring
166
+
167
+ Final filing priority = base_segment_priority + role_modifier + content_relevance
168
+
169
+ | Base Priority | Score |
170
+ |---------------|-------|
171
+ | decision | 10 |
172
+ | action-item | 8 |
173
+ | insight | 6 |
174
+ | advice | 6 |
175
+ | question | 4 |
176
+ | noise | 0 |
177
+
178
+ **Role modifier:** From the routing matrix above (-2 to +2).
179
+
180
+ **Content relevance:** +1 if the segment directly references the target section's domain. +0 otherwise.
181
+
182
+ **Filing order:** Segments are filed highest-priority first. This ensures decisions and actions are captured before the user fatigues during the confirm-then-file loop.
183
+
184
+ ---
185
+
186
+ ## Cross-Reference Vocabulary
187
+
188
+ The section names and classification vocabulary in this file are shared with:
189
+ - `scripts/classify-insight` -- uses the same 8 section names and keyword patterns
190
+ - `references/meeting/segment-classification.md` -- defines the 6 segment types referenced here
191
+ - `references/meeting/artifact-template.md` -- `room_section` and `segment_type` fields use these exact values
192
+ - `skills/room-passive/SKILL.md` -- provenance metadata uses the same section vocabulary
@@ -0,0 +1,258 @@
1
+ # Segment Classification Taxonomy -- Meeting Intelligence
2
+
3
+ *Used by `file-meeting` to classify each speaker turn into a segment type for filing.*
4
+
5
+ ---
6
+
7
+ ## The 6 Segment Types (Priority Order)
8
+
9
+ | Priority | Type | Description | Filing Action |
10
+ |----------|------|-------------|---------------|
11
+ | HIGHEST | decision | Explicit choices made, direction set | File to target section, flag cascades |
12
+ | HIGH | action-item | Tasks assigned, deadlines mentioned | File to target section + action tracking |
13
+ | MEDIUM | insight | New information, discoveries, data points | File to target section |
14
+ | MEDIUM | advice | Recommendations, suggestions, should/could | File to speaker's advice folder + section |
15
+ | LOW | question | Open questions, uncertainties raised | File as gap/question in target section |
16
+ | SKIP | noise | Greetings, small talk, logistics, off-topic | Skip (unless flagged -- see Flag Rule below) |
17
+
18
+ ---
19
+
20
+ ## Type Definitions and Heuristics
21
+
22
+ ### 1. decision (HIGHEST)
23
+
24
+ **Definition:** A speaker explicitly commits to a course of action, selects between options, or sets direction for the venture.
25
+
26
+ **Signal phrases:**
27
+ - "We've decided to..."
28
+ - "Let's go with..."
29
+ - "The plan is to..."
30
+ - "We're going to..."
31
+ - "I'm committing to..."
32
+ - "That's final"
33
+ - "We'll move forward with..."
34
+ - Negation decisions: "We're NOT doing X" / "We're killing that feature"
35
+
36
+ **Role-aware heuristics:**
37
+ | Speaker Role | Priority Modifier | Rationale |
38
+ |-------------|-------------------|-----------|
39
+ | founder | +1 | Founders make binding decisions |
40
+ | investor | +1 (conditional) | Only if decision involves funding/terms |
41
+ | mentor | 0 | Mentors advise, rarely decide |
42
+ | team-member | 0 | Context-dependent -- may decide within scope |
43
+
44
+ **Confidence indicators:**
45
+ - HIGH: Definitive language ("we will", "decided", "final")
46
+ - MEDIUM: Conditional ("if X then we'll do Y", "probably going with")
47
+ - LOW: Hypothetical ("we might want to", "it could make sense to")
48
+
49
+ **Classification rule:** If a statement both makes a decision AND assigns an action, classify as `decision` (higher priority). The action item is captured as a sub-element.
50
+
51
+ ---
52
+
53
+ ### 2. action-item (HIGH)
54
+
55
+ **Definition:** A task is explicitly assigned to someone, or a deadline is mentioned for deliverable work.
56
+
57
+ **Signal phrases:**
58
+ - "{Name} will..."
59
+ - "Can you {task} by {date}?"
60
+ - "Action item: ..."
61
+ - "Let's have {deliverable} ready by..."
62
+ - "I'll send that over"
63
+ - "Follow up on..."
64
+ - "TODO: ..."
65
+ - "Next step: ..."
66
+
67
+ **Extracted fields:**
68
+ - `owner`: Who is responsible (name or role)
69
+ - `task`: What needs to be done
70
+ - `deadline`: When (if mentioned -- NEVER invent a deadline)
71
+ - `context`: Why this action matters
72
+
73
+ **Role-aware heuristics:**
74
+ | Speaker Role | Priority Modifier | Rationale |
75
+ |-------------|-------------------|-----------|
76
+ | founder | 0 | Normal -- founders assign work |
77
+ | mentor | +1 | Mentor-assigned actions carry weight |
78
+ | investor | +1 | Investor requests are high-priority |
79
+ | team-member | 0 | Normal task assignment |
80
+
81
+ **Confidence indicators:**
82
+ - HIGH: Named owner + specific task ("Sarah will prepare the deck")
83
+ - MEDIUM: Implicit owner ("someone should look into that")
84
+ - LOW: Vague future ("we need to think about this at some point")
85
+
86
+ ---
87
+
88
+ ### 3. insight (MEDIUM)
89
+
90
+ **Definition:** New information, a discovery, a data point, or an observation that adds to the venture's knowledge base.
91
+
92
+ **Signal phrases:**
93
+ - "I found out that..."
94
+ - "The data shows..."
95
+ - "Interesting -- I didn't know that..."
96
+ - "According to {source}..."
97
+ - "The market is {specific observation}"
98
+ - Numbers, statistics, percentages
99
+ - Comparisons: "X is bigger/smaller/faster than Y"
100
+ - "What we learned is..."
101
+
102
+ **Role-aware heuristics:**
103
+ | Speaker Role | Priority Modifier | Rationale |
104
+ |-------------|-------------------|-----------|
105
+ | researcher | +1 | Researchers produce high-quality insights |
106
+ | domain-expert | +1 | Domain expertise makes insights more valuable |
107
+ | customer | +1 | Customer insights are primary market data |
108
+ | investor | 0 | Investor observations are insight or advice depending on framing |
109
+
110
+ **Confidence indicators:**
111
+ - HIGH: Specific data ("revenue grew 23% last quarter")
112
+ - MEDIUM: Observation with reasoning ("the enterprise segment seems stronger because...")
113
+ - LOW: Impression without evidence ("I feel like the market is shifting")
114
+
115
+ **Assumption extraction:** Every insight implies an assumption. Extract it:
116
+ - Insight: "The TAM is $190M" -> Assumption: `claim: "TAM is $190M", status: unvalidated`
117
+ - Insight: "Enterprise customers have 18-month sales cycles" -> Assumption: `claim: "Enterprise sales cycles are 18 months", status: unvalidated`
118
+
119
+ ---
120
+
121
+ ### 4. advice (MEDIUM)
122
+
123
+ **Definition:** A recommendation, suggestion, or guidance offered by a speaker. Framed as "you should" rather than "we will."
124
+
125
+ **Signal phrases:**
126
+ - "You should..."
127
+ - "I'd recommend..."
128
+ - "Have you considered..."
129
+ - "My suggestion would be..."
130
+ - "In my experience..."
131
+ - "What worked for us was..."
132
+ - "I'd be careful about..."
133
+ - "Watch out for..."
134
+ - "One thing to think about..."
135
+
136
+ **Role-aware heuristics:**
137
+ | Speaker Role | Priority Modifier | Rationale |
138
+ |-------------|-------------------|-----------|
139
+ | mentor | +1 | Mentors' primary output is advice |
140
+ | advisor | +1 | Advisors' primary output is advice |
141
+ | investor | +1 | Investor advice often signals deal criteria |
142
+ | domain-expert | +1 | Domain expertise makes advice actionable |
143
+ | competitor | -1 | Competitor "advice" is suspect |
144
+
145
+ **Dual filing:** Advice is filed to BOTH:
146
+ 1. The relevant room section (based on content)
147
+ 2. The speaker's `advice/` subfolder in their profile
148
+
149
+ **Confidence indicators:**
150
+ - HIGH: Specific actionable recommendation ("hire a VP Sales before Series A")
151
+ - MEDIUM: General direction ("you should think about enterprise")
152
+ - LOW: Vague encouragement ("keep doing what you're doing")
153
+
154
+ ---
155
+
156
+ ### 5. question (LOW)
157
+
158
+ **Definition:** An open question or uncertainty raised during the meeting. Represents a gap in knowledge.
159
+
160
+ **Signal phrases:**
161
+ - "What about...?"
162
+ - "How do we...?"
163
+ - "Do we know...?"
164
+ - "Has anyone looked into...?"
165
+ - "I'm not sure about..."
166
+ - "What if...?"
167
+ - "Why is...?"
168
+
169
+ **Role-aware heuristics:**
170
+ | Speaker Role | Priority Modifier | Rationale |
171
+ |-------------|-------------------|-----------|
172
+ | investor | +2 | Investor questions often signal deal-breaking concerns |
173
+ | mentor | +1 | Mentor questions reveal blind spots |
174
+ | customer | +1 | Customer questions reveal product gaps |
175
+ | team-member | 0 | Normal operational questions |
176
+
177
+ **Important:** Investor questions about financials, market size, or competition are ALWAYS priority-boosted. An investor asking "What's your churn rate?" is not a LOW-priority question -- it signals a critical data gap.
178
+
179
+ **Filing:** Questions become gap entries in the relevant section. They represent "what we don't know yet."
180
+
181
+ **Confidence indicators:**
182
+ - HIGH: Direct question with clear topic ("What's our customer acquisition cost?")
183
+ - MEDIUM: Rhetorical or exploratory ("I wonder if the timing is right...")
184
+ - LOW: Conversational ("Does that make sense?")
185
+
186
+ ---
187
+
188
+ ### 6. noise (SKIP)
189
+
190
+ **Definition:** Content with no substantive value for the venture's knowledge base. Greetings, logistics, small talk, off-topic tangents.
191
+
192
+ **Examples:**
193
+ - "Hey everyone, can you hear me?"
194
+ - "Let me share my screen"
195
+ - "Sorry, I was on mute"
196
+ - "Should we take a 5-minute break?"
197
+ - "Nice weather today"
198
+ - "How was your weekend?"
199
+ - Laughter, filler words, repeated phrases
200
+
201
+ **SKIP rule:** Noise segments are not filed. They are excluded from the meeting summary's segment count.
202
+
203
+ ---
204
+
205
+ ## The Flag Potential Noise Rule
206
+
207
+ **Critical:** When a segment is classified as `noise` but contains ANY of the following, FLAG it for user review instead of skipping:
208
+
209
+ 1. **Proper nouns** -- company names, person names, product names
210
+ 2. **Competitor names** -- any mention of a known or potential competitor
211
+ 3. **Numbers** -- revenue figures, percentages, dates, counts
212
+ 4. **Technical terms** -- domain-specific language that might indicate hidden insight
213
+
214
+ **Example:**
215
+ ```
216
+ "Oh by the way, I ran into the CEO of Acme Corp at that conference last week."
217
+ ```
218
+ This looks like small talk (noise) but contains a competitor name ("Acme Corp") and a potential connection. Flag it.
219
+
220
+ **Flagged noise format:**
221
+ ```
222
+ FLAGGED_NOISE: "{original text}"
223
+ REASON: Contains competitor name "Acme Corp"
224
+ ACTION: User review required -- may contain buried insight
225
+ ```
226
+
227
+ ---
228
+
229
+ ## Classification Confidence Scoring
230
+
231
+ Each classified segment gets a confidence score (0.0 - 1.0):
232
+
233
+ | Score Range | Label | Meaning |
234
+ |-------------|-------|---------|
235
+ | 0.9 - 1.0 | HIGH | Clear signal phrases, unambiguous type |
236
+ | 0.7 - 0.89 | MEDIUM | Strong indicators but some ambiguity |
237
+ | 0.5 - 0.69 | LOW | Weak signals, multiple possible types |
238
+ | Below 0.5 | UNCERTAIN | Larry should ask user for classification |
239
+
240
+ **Threshold rule:** Segments with confidence below 0.5 are presented to the user: "I'm not sure how to classify this. Is it an insight, advice, or something else?"
241
+
242
+ ---
243
+
244
+ ## Multi-Type Segments
245
+
246
+ Some segments contain multiple types. Resolution rules:
247
+
248
+ 1. **Higher priority wins** for primary classification
249
+ 2. **Secondary types are noted** in the artifact metadata: `secondary_types: [insight, action-item]`
250
+ 3. **Decision + Action:** Classify as `decision`, extract action as sub-element
251
+ 4. **Insight + Advice:** If speaker is mentor/advisor, classify as `advice`. Otherwise, `insight`.
252
+ 5. **Question + Insight:** If the question reveals new information, classify as `insight`. If purely asking, classify as `question`.
253
+
254
+ ---
255
+
256
+ ## Cross-Reference: Section Mapping
257
+
258
+ After classification, the segment type combines with the speaker role to determine the target room section. See `references/meeting/section-mapping.md` for the full routing matrix.
@@ -0,0 +1,219 @@
1
+ # Speaker Profile Template -- ICM Nested Folder Structure
2
+
3
+ *Used by `file-meeting` to create speaker profiles when a new speaker is encountered.*
4
+
5
+ ---
6
+
7
+ ## Directory Structure
8
+
9
+ When `file-meeting` encounters a speaker not yet in the room, it creates the following ICM nested folder profile:
10
+
11
+ ```
12
+ room/team/{role-plural}/{firstname-lastname}/
13
+ PROFILE.md
14
+ insights/
15
+ advice/
16
+ connections/
17
+ concerns/
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Role-to-Directory Mapping
23
+
24
+ | Speaker Role | Directory Plural | Example Path |
25
+ |-------------|-----------------|--------------|
26
+ | mentor | mentors | room/team/mentors/lawrence-aronhime/ |
27
+ | researcher | researchers | room/team/researchers/lisa-wong/ |
28
+ | team-member | members | room/team/members/david-park/ |
29
+ | investor | investors | room/team/investors/michael-torres/ |
30
+ | advisor | advisors | room/team/advisors/rachel-kim/ |
31
+ | customer | customers | room/team/customers/james-carter/ |
32
+ | founder | founders | room/team/founders/sarah-chen/ |
33
+ | partner | partners | room/team/partners/alex-johnson/ |
34
+ | domain-expert | domain-experts | room/team/domain-experts/maria-garcia/ |
35
+ | government | government | room/team/government/robert-smith/ |
36
+ | competitor | competitors | room/team/competitors/tom-wilson/ |
37
+ | unknown | contacts | room/team/contacts/unknown-speaker-1/ |
38
+
39
+ **Name formatting:** Lowercase, hyphenated. "Sarah Chen" becomes `sarah-chen`. Handle edge cases:
40
+ - Middle names: include or omit based on uniqueness needs
41
+ - Titles: strip "Dr.", "Prof.", "Mr.", "Ms." from folder name (preserve in PROFILE.md)
42
+ - Suffixes: strip "Jr.", "III", etc. from folder name (preserve in PROFILE.md)
43
+
44
+ ---
45
+
46
+ ## PROFILE.md Template
47
+
48
+ ```markdown
49
+ ---
50
+ name: {Full Name}
51
+ roles:
52
+ - {speaker_role from 12-type taxonomy}
53
+ primary_role: {speaker_role from 12-type taxonomy}
54
+ role: {speaker_role from 12-type taxonomy}
55
+ status: active
56
+ last_active: {YYYY-MM-DD}
57
+ affiliation: {organization, if known}
58
+ first_meeting: {YYYY-MM-DD}
59
+ meetings_attended: 1
60
+ created_by: file-meeting
61
+ research_status: pending
62
+ last_updated: {YYYY-MM-DD}
63
+ ---
64
+
65
+ # {Full Name}
66
+
67
+ **Role:** {role} | **Affiliation:** {affiliation or "Unknown"}
68
+
69
+ ## Context
70
+
71
+ {How this person was encountered. Auto-generated from meeting context.}
72
+
73
+ First appeared in: [[meetings/YYYY-MM-DD-{meeting-name}/summary.md]]
74
+
75
+ ## Expertise
76
+
77
+ {Inferred from their contributions. Updated across meetings.}
78
+
79
+ ## Contributions
80
+
81
+ [Computed by compute-team -- do not edit manually]
82
+ ```
83
+
84
+ ---
85
+
86
+ ## PROFILE.md Field Definitions
87
+
88
+ | Field | Type | Default | Description |
89
+ |-------|------|---------|-------------|
90
+ | name | string | -- | Full display name (with titles if applicable) |
91
+ | roles | list | [{role}] | List of roles this speaker has held (Phase 7+) |
92
+ | primary_role | string | {role} | Current primary role from 12-type taxonomy (Phase 7+) |
93
+ | role | string | unknown | One of the 12 speaker roles (Phase 6 backward compat) |
94
+ | status | enum | active | Lifecycle status: active, inactive, archived (Phase 7+) |
95
+ | last_active | date | -- | Date of most recent meeting participation (Phase 7+) |
96
+ | affiliation | string | "Unknown" | Organization, company, or institution |
97
+ | first_meeting | date | -- | Date of the meeting where first encountered |
98
+ | meetings_attended | integer | 1 | Incremented each time the speaker appears |
99
+ | created_by | string | file-meeting | Always `file-meeting` for auto-created profiles |
100
+ | research_status | enum | pending | See research status values below |
101
+ | last_updated | date | -- | Date of most recent profile update |
102
+
103
+ ### Research Status Values
104
+
105
+ | Status | Meaning |
106
+ |--------|---------|
107
+ | pending | Default -- no research has been done on this speaker |
108
+ | in-progress | `scripts/research-speaker` is running or was interrupted |
109
+ | complete | Web research has been performed and integrated |
110
+ | skipped | User chose to skip research for this speaker |
111
+
112
+ ### Status Lifecycle Values
113
+
114
+ | Status | Meaning |
115
+ |--------|---------|
116
+ | active | Speaker has participated in a meeting within the last 90 days |
117
+ | inactive | No meeting participation in 90+ days (computed by compute-team) |
118
+ | archived | Manually archived by user -- excluded from active team scans |
119
+
120
+ **Important:** Proactive web research runs AFTER the filing pipeline via `scripts/research-speaker`, NOT during filing. The filing pipeline should never block on external API calls. The profile is created with `research_status: pending` and a separate background process handles enrichment.
121
+
122
+ ### Backward Compatibility
123
+
124
+ Phase 6 profiles have `role:` (singular). Phase 7 adds `roles:` (list) and `primary_role:`. compute-team reads `roles:` first, falls back to `role:` as single-element list.
125
+
126
+ When scanning profiles, use this resolution order:
127
+ 1. Read `roles:` -- if present, use as the role list
128
+ 2. If `roles:` is absent, read `role:` and wrap as a single-element list: `[{role}]`
129
+ 3. `primary_role:` is always the current active role for routing and display
130
+
131
+ ---
132
+
133
+ ## Computed Contributions Section
134
+
135
+ The `## Contributions` section in PROFILE.md is **computed by compute-team**, not maintained manually or by file-meeting.
136
+
137
+ compute-team rebuilds this section by scanning all room artifacts for matching `attribution.speaker` or `speaker` fields, then generating a per-meeting contribution summary:
138
+
139
+ ```markdown
140
+ ## Contributions
141
+
142
+ ### From Board Strategy Session Q1 (2026-03-15)
143
+ - **decision** in solution-design: Focus on enterprise segment first
144
+ - **insight** in market-analysis: Enterprise grew 34% last quarter
145
+
146
+ ### From Mentoring Session (2026-03-22)
147
+ - **advice** in problem-definition: Reframe the problem before solving
148
+ ```
149
+
150
+ This replaces the Phase 6 pattern of manually filing copies to speaker subfolders (insights/, advice/, etc.). The subfolders are retained for backward compatibility but file-meeting no longer writes to them.
151
+
152
+ ---
153
+
154
+ ## Subfolder Purposes (Legacy)
155
+
156
+ The subdirectories (insights/, advice/, connections/, concerns/) are created for backward compatibility with Phase 6 profiles. As of Phase 7, file-meeting no longer creates copies in these subfolders. Speaker contributions are tracked via the computed Contributions section above.
157
+
158
+ ### insights/
159
+
160
+ Filed insights attributed to this speaker. Legacy -- no new files created by file-meeting in Phase 7+.
161
+
162
+ ### advice/
163
+
164
+ Filed advice attributed to this speaker. Legacy -- no new files created by file-meeting in Phase 7+.
165
+
166
+ ### connections/
167
+
168
+ People, organizations, or resources this speaker has mentioned or introduced.
169
+
170
+ ### concerns/
171
+
172
+ Questions, risks, or objections this speaker has raised.
173
+
174
+ ---
175
+
176
+ ## Profile Updates Across Meetings
177
+
178
+ When a known speaker appears in a subsequent meeting:
179
+
180
+ 1. **Increment** `meetings_attended` in PROFILE.md frontmatter
181
+ 2. **Update** `last_updated` to today's date
182
+ 3. **Update** `last_active` to today's date
183
+ 4. **Do NOT overwrite** existing content -- profiles are append-only for contributions
184
+ 5. Contributions are computed by compute-team, not filed manually
185
+
186
+ ---
187
+
188
+ ## Role Changes
189
+
190
+ A speaker's role can change across meetings (e.g., advisor becomes investor after a funding round). Handle by:
191
+
192
+ 1. **Keep the profile in its original directory** (don't move folders)
193
+ 2. **Update the `primary_role` field** in PROFILE.md frontmatter
194
+ 3. **Append the new role** to the `roles:` list (preserves role history)
195
+ 4. **Update the `role` field** to match `primary_role` (backward compat)
196
+ 5. **Add a note** in the Context section: "Role changed from advisor to investor as of {date}"
197
+ 6. **Future filing** uses the updated role for routing priority calculations
198
+
199
+ ---
200
+
201
+ ## Unknown Speakers
202
+
203
+ When a speaker cannot be identified (raw paste format, unlabeled audio):
204
+
205
+ 1. Create profile at `room/team/contacts/unknown-speaker-{N}/`
206
+ 2. Set `research_status: pending`
207
+ 3. Set `role: unknown` and `roles: [unknown]`
208
+ 4. After user identifies the speaker, rename the folder and update PROFILE.md
209
+ 5. All filed artifacts maintain correct links via the `attribution.speaker` field in their frontmatter
210
+
211
+ ---
212
+
213
+ ## Cross-Reference
214
+
215
+ - Role taxonomy: `references/meeting/section-mapping.md` (12 roles defined)
216
+ - Segment types filed to subfolders: `references/meeting/segment-classification.md`
217
+ - Artifact format in subfolders: `references/meeting/artifact-template.md`
218
+ - Meeting summary links to profiles: `references/meeting/summary-template.md`
219
+ - Research enrichment: `scripts/research-speaker` (future -- Phase 6, Plan 03)