@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,216 @@
1
+ ---
2
+ title: Cross-Meeting Intelligence Detection
3
+ description: Protocols for convergence detection, contradiction tracking, and action item lifecycle across meetings
4
+ tier: 0
5
+ used_by:
6
+ - commands/file-meeting.md (Step 0, Step 4, Step 6)
7
+ ---
8
+
9
+ # Cross-Meeting Intelligence Detection
10
+
11
+ Protocols for detecting patterns ACROSS the full meeting history. While `cross-relationship-patterns.md` handles within-meeting cross-subsystem scans, this reference handles cross-MEETING intelligence: convergence signals, contradiction tracking, and action item lifecycle.
12
+
13
+ ---
14
+
15
+ ## 1. Action Item Triage Protocol (Step 0)
16
+
17
+ Before starting the filing pipeline, Larry checks for unfinished business from prior meetings.
18
+
19
+ ### Load Open Items
20
+
21
+ Read `room/action-items.md` if it exists. This aggregated file is produced by `compute-meetings-intelligence` and contains all open/done action items across meetings.
22
+
23
+ **If the file does not exist or has zero open items:** Skip Step 0 entirely. Proceed to Step 1 silently -- do not mention action items.
24
+
25
+ ### Present Quick Triage
26
+
27
+ Show open items as a pre-flight check, not an interrogation:
28
+
29
+ > "3 open items from your last meeting. Quick check -- any done?"
30
+ >
31
+ > | # | Owner | Task | From Meeting |
32
+ > |---|-------|------|--------------|
33
+ > | 1 | Lawrence | Review TAM analysis | 2026-03-15-mentoring |
34
+ > | 2 | Sarah | Send competitor deck | 2026-03-15-mentoring |
35
+ > | 3 | Tyler | Schedule user interviews | 2026-03-10-research |
36
+ >
37
+ > [mark done: 1,3 / skip / review all]
38
+
39
+ Keep it lightweight. The user is here to file a new meeting, not review old business. Quick in, quick out.
40
+
41
+ ### Handle Responses
42
+
43
+ - **mark done (e.g., "1,3")**: Update each item's status from `open` to `done` in the SOURCE meeting's `action-items.md` file (e.g., `room/meetings/2026-03-15-mentoring/action-items.md`). Find the source meeting by the `Source Meeting` column in the aggregated table. Do NOT edit the aggregated `room/action-items.md` directly -- it gets rebuilt by `compute-state`.
44
+ - **skip**: Move on to Step 1. No changes made.
45
+ - **review all**: Show each item individually for yes/no confirmation.
46
+
47
+ Track items marked done for inclusion in this meeting's summary: "Cleared 2 action items from prior meetings."
48
+
49
+ ### Lifecycle Rule
50
+
51
+ Action items follow a simple open/done lifecycle. No intermediate states. No auto-expiry. The user decides when something is done.
52
+
53
+ ---
54
+
55
+ ## 2. Cross-Reference During Filing Protocol (Step 4 Enhancement)
56
+
57
+ During segment filing (Step 4), if open action items remain (not all cleared in Step 0), compare each segment being filed against them.
58
+
59
+ ### Detection Method
60
+
61
+ Use Larry's judgment -- not exact text matching. An action item about "Review TAM analysis" could be addressed by a segment discussing "Updated market size projections." Look for semantic overlap between the segment content and the action item task description.
62
+
63
+ ### Confidence Threshold
64
+
65
+ Only surface when Larry is at least 70% confident that a segment addresses an open action item. False positives here interrupt the filing flow and erode trust.
66
+
67
+ ### Surfacing
68
+
69
+ When a match is found:
70
+
71
+ > "This looks like progress on Lawrence's 'Review TAM analysis'. Mark as done?"
72
+
73
+ If user confirms: update the source meeting's `action-items.md` (same as Step 0 handling). If user declines: continue filing without changes.
74
+
75
+ ### Rate Limiting
76
+
77
+ Surface at most 3 action item matches per filing session. If more are found, batch the remaining ones and present them at the end of Step 4: "I also noticed possible progress on 2 more items. Quick review?"
78
+
79
+ ---
80
+
81
+ ## 3. Cross-Meeting Convergence Detection Protocol (Step 6 Enhancement)
82
+
83
+ After the within-meeting cross-relationship scan (existing Step 6 behavior), perform a cross-meeting scan for convergence signals.
84
+
85
+ ### Scan Protocol
86
+
87
+ 1. **Extract key topics** from the current meeting's filed segments. These become the search terms.
88
+ 2. **Grep `topics:` fields** in ALL `room/meetings/*/metadata.yaml` files. This is a pre-filter -- fast and cheap.
89
+ 3. **Count topic frequency** across meetings. For each topic appearing in 3+ meetings (including the current one), generate a convergence signal.
90
+ 4. **Surface each signal** in Larry's voice:
91
+
92
+ > "Market validation has been raised in 4 of your last 6 meetings. This is becoming a central theme."
93
+
94
+ > "Regulatory risk keeps coming up -- 3 meetings in a row now. Might be worth a dedicated session."
95
+
96
+ ### Convergence Signal Format
97
+
98
+ Each convergence signal includes:
99
+ - The topic/theme that is converging
100
+ - How many meetings it appears in (and which ones)
101
+ - A brief interpretation of what the convergence means
102
+
103
+ ### Recording
104
+
105
+ Convergence signals are written to:
106
+ 1. The current meeting's `summary.md` in the new `## Convergence Signals` section
107
+ 2. Tracked in room-level state for compute-state to aggregate
108
+
109
+ ---
110
+
111
+ ## 4. Cross-Meeting Contradiction Detection Protocol (Step 6 Enhancement)
112
+
113
+ After convergence detection, scan for contradictions across the meeting history.
114
+
115
+ ### Pre-Filter Step
116
+
117
+ Load metadata.yaml from recent meetings and identify those that share topics OR speakers with the current meeting. This avoids loading irrelevant meeting summaries.
118
+
119
+ ### Scan Window
120
+
121
+ Load summaries from up to 10 matching prior meetings. If fewer than 10 share topics/speakers, load all matching ones. Never load more than 10 -- context window management per research pitfall #1.
122
+
123
+ ### Detection Method
124
+
125
+ Use Larry's LLM reasoning to compare current meeting claims against prior meeting claims. Look for:
126
+ - **Position changes**: Same speaker said X before, now says Y
127
+ - **Speaker disagreements**: Speaker A said X in a prior meeting, Speaker B says not-X now
128
+ - **Numerical conflicts**: Different figures for the same metric across meetings
129
+ - **Strategy reversals**: Direction decided in one meeting contradicted in another
130
+
131
+ ### Severity-Based Flagging
132
+
133
+ **HIGH-impact** (financials, strategy, key decisions):
134
+ Flag immediately during filing with specific references:
135
+
136
+ > "Lawrence said TAM was $190M in the March 15 meeting, but now says $120M. Which is current?"
137
+
138
+ The user resolves high-impact contradictions on the spot. Record the resolution.
139
+
140
+ **LOW-impact** (opinions, preferences, minor details):
141
+ Collect and include in the meeting summary's `## Cross-Meeting Contradictions` section only. Do not interrupt filing for low-impact contradictions.
142
+
143
+ ### Resolution Tracking
144
+
145
+ When a high-impact contradiction is surfaced and the user resolves it (confirms which claim is current):
146
+ - Note the resolution in the current meeting's summary
147
+ - The resolved claim becomes the authoritative version
148
+ - The prior claim is marked as superseded (noted in the contradiction record)
149
+
150
+ ---
151
+
152
+ ## 5. Enhanced Meeting Summary Sections
153
+
154
+ The meeting summary (`summary.md`) gains two new sections, added AFTER the existing sections (Key Decisions, Insights Filed, Contradictions Detected, Gaps, Action Items, Rejections, Speakers):
155
+
156
+ ### Convergence Signals Section
157
+
158
+ ```markdown
159
+ ## Convergence Signals
160
+
161
+ {Topics appearing in 3+ meetings across the meeting history. Only include this
162
+ section if convergence was detected. Skip entirely if none.}
163
+
164
+ - **{topic}**: Appeared in {count} meetings ({meeting-id-1}, {meeting-id-2}, {meeting-id-3})
165
+ Interpretation: {what this convergence suggests}
166
+ ```
167
+
168
+ ### Cross-Meeting Contradictions Section
169
+
170
+ ```markdown
171
+ ## Cross-Meeting Contradictions
172
+
173
+ {Contradictions detected against prior meetings. Beyond the within-meeting
174
+ contradictions in the "Contradictions Detected" section above. Only include
175
+ this section if cross-meeting contradictions were found. Skip entirely if none.}
176
+
177
+ - **{Claim in current meeting}** vs **{Claim in prior meeting}**
178
+ Prior meeting: {meeting-id}
179
+ Speaker(s): {current speaker} vs {prior speaker}
180
+ Severity: {HIGH | LOW}
181
+ Resolution: {user's resolution, if provided, or "Unresolved"}
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 6. Context Window Management
187
+
188
+ Cross-meeting scanning can consume significant context. Follow these rules:
189
+
190
+ ### Meeting Limit
191
+
192
+ Scan at most 10 prior meetings. For rooms with extensive meeting history, use the 10 most recent.
193
+
194
+ ### Pre-Filter Before Loading
195
+
196
+ Use metadata.yaml grep to PRE-FILTER relevant meetings by topic and speaker BEFORE loading full summaries. Only load `summary.md` for meetings that share at least one topic or speaker with the current meeting.
197
+
198
+ ### Efficient Scanning Pattern
199
+
200
+ 1. Grep all `metadata.yaml` files for topic matches (fast, small files)
201
+ 2. From matches, identify the most relevant 10 meetings
202
+ 3. Load only those summaries for detailed comparison
203
+ 4. Never load all meeting transcripts -- summaries contain sufficient signal
204
+
205
+ ### Graceful Degradation
206
+
207
+ If the room has fewer than 3 prior meetings, skip convergence detection (threshold cannot be met). Contradiction detection still runs against any available prior meetings.
208
+
209
+ ---
210
+
211
+ ## Cross-Reference
212
+
213
+ - Within-meeting cross-relationships: `references/meeting/cross-relationship-patterns.md`
214
+ - Meeting summary template: `references/meeting/summary-template.md`
215
+ - Action item format: per-meeting `action-items.md` in meeting archive
216
+ - Aggregated action items: `room/action-items.md` (produced by `compute-meetings-intelligence`)
@@ -0,0 +1,202 @@
1
+ ---
2
+ title: Cross-Relationship Detection Patterns
3
+ description: >
4
+ Defines the 5 edge types (INFORMS, CONTRADICTS, CONVERGES, INVALIDATES, ENABLES)
5
+ that the file-meeting command's Step 6 batch scan uses to discover cross-subsystem
6
+ impacts in the Data Room. Tier 0 detection heuristics require no ML -- Larry's
7
+ reasoning plus keyword matching.
8
+ tier: 0
9
+ used_by:
10
+ - commands/file-meeting.md (Step 6: batch cross-relationship scan)
11
+ - scripts/analyze-room (convergence + contradiction detection)
12
+ - skills/room-passive/SKILL.md (cascade awareness)
13
+ ---
14
+
15
+ # Cross-Relationship Detection Patterns
16
+
17
+ After all meeting segments are filed, Larry performs a **batch cross-relationship scan** to discover how new artifacts connect to existing room content. This reference defines the 5 edge types, their detection heuristics, and when to surface findings.
18
+
19
+ ## Why Cross-Relationships Matter
20
+
21
+ Ventures are wicked problems (Rittel & Webber 1973). Changes in one subsystem cascade through others (Simon 1962). The Data Room is NOT a flat document store -- it is a nested system where insights in one section may inform, contradict, or invalidate claims in another. The cross-relationship scan finds what humans miss.
22
+
23
+ ---
24
+
25
+ ## Edge Types
26
+
27
+ ### INFORMS (Impact: MEDIUM)
28
+
29
+ **Definition:** A new artifact provides evidence, context, or supporting data for content in another room section. The information flows one direction -- source informs target without conflicting.
30
+
31
+ **Wicked problem connection:** Addresses characteristic #3 ("Solutions are not true-or-false, but good-or-bad") -- new evidence shifts the quality of existing analysis.
32
+
33
+ **Tier 0 detection heuristics:**
34
+ - Shared keywords between new artifact content and existing section entries (noun phrases, proper nouns, technical terms)
35
+ - Explicit section references in text: "this affects our financials," "relevant to our market analysis," "connects to the IP question"
36
+ - Speaker mentions another domain by name: "from a legal perspective," "on the competitive side"
37
+ - New artifact contains data (numbers, percentages, dates) relevant to an existing section's claims
38
+
39
+ **Examples:**
40
+ 1. A researcher's insight about material costs INFORMS the financial-model section's cost projections
41
+ 2. A mentor's feedback about go-to-market strategy INFORMS the market-analysis section's channel assumptions
42
+ 3. An advisor's note about regulatory changes INFORMS the legal-ip section's compliance analysis
43
+
44
+ **Surface when:** Direct relevance to a section the user has content in. Skip when the connection is trivially obvious (same section) or when the target section is empty (no existing content to inform).
45
+
46
+ **Output format:** `INFORMS: {source_artifact} -> {target_section}. {brief explanation}. Impact: MEDIUM.`
47
+
48
+ ---
49
+
50
+ ### CONTRADICTS (Impact: HIGH)
51
+
52
+ **Definition:** A new artifact conflicts with an existing claim, assumption, or conclusion in the Data Room. The two pieces of information cannot both be true simultaneously, or they present incompatible perspectives on the same topic.
53
+
54
+ **Wicked problem connection:** Addresses characteristic #9 ("The planner has no right to be wrong") -- contradictions signal that a previous decision may need revisiting. Also addresses #2 ("No stopping rule") -- contradictions re-open what seemed settled.
55
+
56
+ **Tier 0 detection heuristics:**
57
+ - Opposite sentiment about the same topic: one artifact says "market is growing" while another says "market is shrinking"
58
+ - Numerical disagreements: different TAM figures, conflicting timelines, mismatched cost estimates
59
+ - Contradiction signals in speech: "actually," "contrary to what we assumed," "I disagree," "that's not what we're seeing," "the data shows otherwise"
60
+ - Assumption with `status: validated` in frontmatter that new data challenges
61
+ - Speaker role conflict: investor says one thing, researcher data shows another
62
+
63
+ **Examples:**
64
+ 1. Investor says "TAM is $50M" but market-analysis has an entry claiming "TAM is $190M"
65
+ 2. New competitive intelligence shows a direct competitor, but competitive-analysis states "no direct competitors"
66
+ 3. Mentor advises pivoting to B2C but business-model is built entirely around B2B enterprise sales
67
+
68
+ **Surface: ALWAYS.** Contradictions are the most valuable signal in wicked problem management. They reveal where the venture's understanding is inconsistent. Never suppress a contradiction.
69
+
70
+ **Output format:** `CONTRADICTS: {source_artifact} -> {target_section}/{target_artifact}. {what conflicts}. Impact: HIGH.`
71
+
72
+ ---
73
+
74
+ ### CONVERGES (Impact: HIGH)
75
+
76
+ **Definition:** A theme, concept, or concern from the current meeting appears in 3 or more room sections. This cross-cutting pattern signals a topic that is central to the venture and deserves focused attention.
77
+
78
+ **Wicked problem connection:** Addresses characteristic #7 ("Every wicked problem is essentially unique") -- convergence patterns reveal the unique structure of THIS venture's problem space. Also addresses #5 ("Every solution is a 'one-shot operation'") -- convergent themes are the highest-leverage points for intervention.
79
+
80
+ **Tier 0 detection heuristics:**
81
+ - Key noun phrases from new artifacts appear in 3+ existing section entries (proper nouns, technical terms, framework names)
82
+ - Proper nouns mentioned across sections: competitor names, technologies, market segments, regulations
83
+ - Themes surfaced by multiple speakers in the meeting that also appear in existing room content
84
+ - A single concept (e.g., "sustainability," "compliance," "scalability") referenced across problem-definition, solution-design, and business-model
85
+
86
+ **Examples:**
87
+ 1. "Sustainability" mentioned by mentor in problem-definition, by researcher in solution-design, and now by investor in business-model -- convergent theme
88
+ 2. A specific competitor's name appears in competitive-analysis, market-analysis, solution-design, and now in a meeting discussion -- this competitor is a cross-cutting concern
89
+ 3. "Regulatory risk" surfaces in legal-ip, financial-model, market-analysis, and the current meeting -- systemic theme requiring a unified response
90
+
91
+ **Surface: ALWAYS.** Convergence signals that a theme deserves its own strategic attention. It may warrant a dedicated session or cross-section synthesis.
92
+
93
+ **Output format:** `CONVERGES: "{theme}" appears in {count} sections ({section_list}). Consider a focused analysis on this cross-cutting theme. Impact: HIGH.`
94
+
95
+ ---
96
+
97
+ ### INVALIDATES (Impact: HIGH)
98
+
99
+ **Definition:** A new artifact makes an existing assumption stale, outdated, or factually incorrect. The assumption's `status` should change from `validated` or `unvalidated` to `invalidated`.
100
+
101
+ **Wicked problem connection:** Addresses #1 underserved outcome: "Minimize time to detect invalid assumptions" (Opportunity Score: 18). Also addresses characteristic #8 ("Every wicked problem can be considered a symptom of another") -- an invalidated assumption may reveal a deeper problem.
102
+
103
+ **Tier 0 detection heuristics:**
104
+ - Scan existing artifacts' `assumptions:` frontmatter fields. Compare new information against `claim:` values
105
+ - Temporal conflicts: "That was true in Q1 but..." / "Since we last discussed..." / "The landscape has changed"
106
+ - Numerical/factual conflicts between new data and existing assumption claims
107
+ - Speaker explicitly references a previous assumption: "I know we assumed X, but..."
108
+ - Market or competitive changes that alter the basis of existing claims
109
+
110
+ **Examples:**
111
+ 1. New competitive intelligence invalidates the assumption "No competitors in ionic liquids space" -- a funded startup just launched
112
+ 2. Updated market research shows the regulatory environment changed, invalidating the assumption "FDA approval not required for our device class"
113
+ 3. A team member reports that the key technical partner withdrew, invalidating the assumption "Partnership with X secures our supply chain"
114
+
115
+ **Surface: ALWAYS.** Stale assumptions are the #1 underserved outcome in venture intelligence. An invalidated assumption may cascade through multiple sections. Flag immediately and trace the cascade.
116
+
117
+ **Output format:** `INVALIDATES: {source_artifact} invalidates assumption "{claim}" in {target_section}/{target_artifact}. {why it's stale}. Impact: HIGH.`
118
+
119
+ ---
120
+
121
+ ### ENABLES (Impact: MEDIUM)
122
+
123
+ **Definition:** A new artifact unblocks progress in another section. A decision was made, information was provided, or an action was completed that resolves an open question or dependency in another part of the Data Room.
124
+
125
+ **Wicked problem connection:** Addresses characteristic #4 ("There is no immediate and no ultimate test of a solution") -- enablement signals that the venture can now test a hypothesis that was previously blocked. Also addresses #6 ("Wicked problems do not have an enumerable set of potential solutions") -- each enablement opens new solution paths.
126
+
127
+ **Tier 0 detection heuristics:**
128
+ - Action items completed that other sections referenced as blockers
129
+ - Decisions that resolve open questions: "We've decided to go B2B" enables financial-model projections that were waiting on market definition
130
+ - "Now we can..." / "This means we can..." / "This unblocks..." / "The missing piece was..." signals
131
+ - Resource acquisition (funding, hire, partnership) that other sections depend on
132
+ - Regulatory/legal clearance that other sections were waiting for
133
+
134
+ **Examples:**
135
+ 1. Decision to go B2B enables financial-model projections that were blocked by undefined target market
136
+ 2. Securing a Letter of Intent from a pilot customer enables the business-model section's revenue projections
137
+ 3. Hiring a CTO enables the solution-design section's technical architecture work that was on hold
138
+
139
+ **Surface when:** The previously blocked section exists and has content waiting. Skip when the target section is empty (nothing to unblock) or when the enablement is trivially local (same section).
140
+
141
+ **Output format:** `ENABLES: {source_artifact} -> {target_section}. {what is now unblocked}. Impact: MEDIUM.`
142
+
143
+ ---
144
+
145
+ ## Batch Scan Protocol
146
+
147
+ After all meeting segments have been filed (Step 5 of file-meeting completes), Larry performs the batch cross-relationship scan:
148
+
149
+ 1. **Collect filed artifacts:** Gather all artifacts just filed from this meeting session
150
+ 2. **Load room context:** For each non-empty room section, read the existing entries (titles, headers, frontmatter including assumptions)
151
+ 3. **Compare each new artifact:** Against existing room content using Tier 0 heuristics above
152
+ 4. **Identify significant relationships:** Apply the impact and surfacing rules for each edge type
153
+ 5. **Present findings:** Show only significant discoveries -- do not overwhelm with trivial INFORMS connections
154
+ 6. **Prioritize:** CONTRADICTS and INVALIDATES first (highest user value), then CONVERGES, then ENABLES and INFORMS
155
+
156
+ **Presentation order:**
157
+ ```
158
+ HIGH impact first:
159
+ 1. INVALIDATES (stale assumptions -- most urgent)
160
+ 2. CONTRADICTS (conflicting claims -- action required)
161
+ 3. CONVERGES (cross-cutting themes -- strategic awareness)
162
+
163
+ MEDIUM impact second:
164
+ 4. ENABLES (unblocked progress -- opportunity)
165
+ 5. INFORMS (supporting evidence -- enrichment)
166
+ ```
167
+
168
+ **User interaction after scan:**
169
+ - For each HIGH finding, ask: "Want to explore this?" (opens the relevant section)
170
+ - For MEDIUM findings, present as a summary list
171
+ - If no significant relationships found: "No cross-subsystem impacts detected from this meeting."
172
+
173
+ ---
174
+
175
+ ## Tier Progression
176
+
177
+ | Tier | Phase | Method | Capability |
178
+ |------|-------|--------|------------|
179
+ | **Tier 0** | Phase 6 | Larry's reasoning + keyword matching | Detects obvious relationships via shared terms, explicit references, and speech signals. No dependencies required. |
180
+ | **Tier 1** | Phase 8 | LSA + MiniLM embeddings | Semantic similarity discovers non-obvious connections. "Cash burn rate" and "runway" recognized as related even without keyword overlap. |
181
+ | **Tier 2** | Phase 9 | Full HSI with Brain graph | Quantitative Hybrid Similarity Index. Pinecone embeddings + Neo4j relationship traversal. Reverse Salient discovery finds hidden cross-meeting connections. |
182
+
183
+ **Graceful degradation:** Tier 0 always works. Higher tiers enhance accuracy but are never required. A Data Room with only Tier 0 still catches the most impactful relationships.
184
+
185
+ ---
186
+
187
+ ## Output Format Reference
188
+
189
+ Each discovered relationship is presented as a single line:
190
+
191
+ ```
192
+ {EDGE_TYPE}: {source} -> {target}. {explanation}. Impact: {HIGH|MEDIUM}.
193
+ ```
194
+
195
+ **Batch summary example:**
196
+ ```
197
+ INVALIDATES: meeting-segment-03.md invalidates assumption "No direct competitors" in competitive-analysis/landscape.md. New entrant Acme Corp launched Q4. Impact: HIGH.
198
+ CONTRADICTS: meeting-segment-01.md -> financial-model/projections.md. Investor estimates $50M TAM vs. existing $190M claim. Impact: HIGH.
199
+ CONVERGES: "regulatory compliance" appears in 4 sections (legal-ip, market-analysis, solution-design, financial-model). Consider a focused regulatory strategy session. Impact: HIGH.
200
+ ENABLES: meeting-segment-05.md -> business-model/revenue.md. B2B decision unblocks pricing model. Impact: MEDIUM.
201
+ INFORMS: meeting-segment-02.md -> solution-design/architecture.md. CTO feedback on tech stack choice. Impact: MEDIUM.
202
+ ```
@@ -0,0 +1,244 @@
1
+ # Live Join Interface -- External Transcript Source Design Spec
2
+
3
+ *Design specification for future `--join` and `--latest` flags. NOT implemented in Phase 6.*
4
+
5
+ ---
6
+
7
+ ## Status
8
+
9
+ | Feature | Phase | Status |
10
+ |---------|-------|--------|
11
+ | `file-meeting` (paste/upload) | Phase 6 | Active development |
12
+ | `file-meeting --latest` | Phase 8 | Design only |
13
+ | `file-meeting --join <url>` | Phase 9+ | Design only |
14
+
15
+ This document defines the interface contract so that future phases can implement external transcript sources without changing the core filing pipeline.
16
+
17
+ ---
18
+
19
+ ## Interface Contract
20
+
21
+ All external transcript sources MUST produce output in one of the supported formats defined in `references/meeting/transcript-patterns.md`. The filing pipeline does not change -- only the input source changes.
22
+
23
+ ```
24
+ External Source -> Transcript (supported format) -> file-meeting pipeline -> Room
25
+ ```
26
+
27
+ ### Input Normalization
28
+
29
+ Any external source adapter must output:
30
+ 1. A text file in Zoom, Teams, Otter, Meet, or Raw format, OR
31
+ 2. A JSON file in Velma format (with `speaker_id`, `text`, `start_time`, `end_time`, `emotions[]`)
32
+
33
+ The `file-meeting` command does not know or care where the transcript came from. It only knows formats.
34
+
35
+ ---
36
+
37
+ ## `--latest` Flag (Phase 8)
38
+
39
+ **Purpose:** Pull the most recent meeting transcript from a connected service.
40
+
41
+ ### Usage
42
+
43
+ ```bash
44
+ /mos:file-meeting --latest
45
+ /mos:file-meeting --latest --source read-ai
46
+ /mos:file-meeting --latest --source velma
47
+ ```
48
+
49
+ ### Behavior
50
+
51
+ 1. Query the configured transcript source for the most recent meeting
52
+ 2. Download the transcript
53
+ 3. Convert to a supported format if needed
54
+ 4. Pass to the standard `file-meeting` pipeline
55
+ 5. Include `source: {service-name}` in artifact frontmatter
56
+
57
+ ### Source Priority (when no `--source` specified)
58
+
59
+ 1. Velma (if configured) -- highest quality (emotions, diarization)
60
+ 2. Read AI MCP (if configured) -- broadest meeting platform coverage
61
+ 3. Recall.ai (if configured) -- fallback
62
+
63
+ ### Configuration
64
+
65
+ ```json
66
+ // .mcp.json or room config
67
+ {
68
+ "transcript_sources": {
69
+ "velma": {
70
+ "api_url": "ENV:VELMA_API_URL",
71
+ "api_key": "ENV:VELMA_API_KEY"
72
+ },
73
+ "read_ai": {
74
+ "mcp_server": "read-ai-mcp"
75
+ },
76
+ "recall_ai": {
77
+ "api_key": "ENV:RECALL_API_KEY"
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ ---
84
+
85
+ ## `--join` Flag (Phase 9+)
86
+
87
+ **Purpose:** Join a live meeting and transcribe in real-time, filing segments as they occur.
88
+
89
+ ### Usage
90
+
91
+ ```bash
92
+ /mos:file-meeting --join https://zoom.us/j/123456789
93
+ /mos:file-meeting --join https://teams.microsoft.com/l/meetup-join/...
94
+ ```
95
+
96
+ ### Behavior
97
+
98
+ 1. Connect to the meeting via an attend-mcp compatible service
99
+ 2. Stream transcript segments in real-time
100
+ 3. Classify and file segments as they arrive (with user confirmation batched)
101
+ 4. Produce the meeting summary when the meeting ends or user disconnects
102
+
103
+ ### Live Filing Modes
104
+
105
+ | Mode | Description | User Interaction |
106
+ |------|-------------|------------------|
107
+ | silent | Transcribe and classify, file after meeting ends | Post-meeting confirm-then-file |
108
+ | notify | Transcribe and classify, surface high-priority items live | User sees notifications during meeting |
109
+ | interactive | Full confirm-then-file during the meeting | User approves each filing in real-time |
110
+
111
+ Default: `silent` -- do not interrupt the meeting.
112
+
113
+ ---
114
+
115
+ ## External Service Comparison
116
+
117
+ ### attend-mcp (github.com/xpos/attend-mcp)
118
+
119
+ | Attribute | Value |
120
+ |-----------|-------|
121
+ | Type | MCP server |
122
+ | Cost | Open source (free) |
123
+ | Self-hostable | Yes |
124
+ | Platforms | Zoom, Teams, Google Meet |
125
+ | Diarization | Basic (speaker labels from platform) |
126
+ | Emotions | No |
127
+ | Real-time | Yes (streaming) |
128
+ | Integration | MCP tool calls |
129
+
130
+ **Best for:** Self-hosted deployments, privacy-conscious users, developers.
131
+
132
+ ### Recall.ai
133
+
134
+ | Attribute | Value |
135
+ |-----------|-------|
136
+ | Type | API service |
137
+ | Cost | ~$0.50/hour |
138
+ | Self-hostable | No |
139
+ | Platforms | Zoom, Teams, Google Meet, Webex, GoTo |
140
+ | Diarization | Yes (high quality) |
141
+ | Emotions | No |
142
+ | Real-time | Yes (webhooks) |
143
+ | Integration | REST API + webhooks |
144
+
145
+ **Best for:** Production deployments, broadest platform support, reliable diarization.
146
+
147
+ ### Vexa
148
+
149
+ | Attribute | Value |
150
+ |-----------|-------|
151
+ | Type | Open source platform |
152
+ | Cost | Free (self-hosted) |
153
+ | Self-hostable | Yes (Apache-2.0) |
154
+ | Platforms | Zoom, Teams, Google Meet |
155
+ | Diarization | Yes |
156
+ | Emotions | Basic sentiment |
157
+ | Real-time | Yes |
158
+ | Integration | REST API |
159
+
160
+ **Best for:** Self-hosted deployments, budget-conscious teams, open-source preference.
161
+
162
+ ### Modulate Velma (already integrated -- Phase 6, Plan 02)
163
+
164
+ | Attribute | Value |
165
+ |-----------|-------|
166
+ | Type | API service |
167
+ | Cost | ~$0.03/hour |
168
+ | Self-hostable | No |
169
+ | Platforms | Audio files (not live join) |
170
+ | Diarization | Yes (native, high quality) |
171
+ | Emotions | Yes (20+ categories) |
172
+ | Real-time | No (file upload) |
173
+ | Integration | REST API (scripts/transcribe-velma) |
174
+
175
+ **Best for:** Audio file transcription, emotion-aware filing, lowest cost per hour.
176
+
177
+ ---
178
+
179
+ ## Adapter Interface
180
+
181
+ Future adapters must implement this contract:
182
+
183
+ ```bash
184
+ # Adapter script interface
185
+ # Input: meeting URL or "latest" command
186
+ # Output: transcript file in supported format, written to stdout or specified path
187
+ # Exit: 0 on success, 1 on failure
188
+
189
+ scripts/adapters/{source-name} [--latest | --join <url>] [--output <path>]
190
+ ```
191
+
192
+ ### Required Adapter Outputs
193
+
194
+ 1. Transcript file (in a supported format)
195
+ 2. Meeting metadata (written to stderr as JSON):
196
+ ```json
197
+ {
198
+ "meeting_name": "...",
199
+ "meeting_date": "YYYY-MM-DD",
200
+ "duration_minutes": 60,
201
+ "platform": "zoom",
202
+ "speakers_detected": 4
203
+ }
204
+ ```
205
+
206
+ ### Error Handling
207
+
208
+ | Error | Adapter Behavior |
209
+ |-------|-----------------|
210
+ | Auth required | Exit 1 with message: "Authentication required. Run: {auth command}" |
211
+ | Meeting not found | Exit 1 with message: "No meeting found at {url}" |
212
+ | Service unavailable | Exit 1 with message: "{service} is unreachable" |
213
+ | Timeout | Exit 1 after 30 seconds with message: "Connection timed out" |
214
+
215
+ ---
216
+
217
+ ## Phase Dependencies
218
+
219
+ ```
220
+ Phase 6 (current):
221
+ - file-meeting accepts paste/upload
222
+ - Velma transcribes audio files
223
+ - No external live sources
224
+
225
+ Phase 8 (--latest):
226
+ - Read AI MCP integration
227
+ - Pull most recent transcript
228
+ - Same pipeline, new input source
229
+
230
+ Phase 9+ (--join):
231
+ - attend-mcp or Recall.ai integration
232
+ - Live meeting attendance
233
+ - Real-time transcript streaming
234
+ - Post-meeting or live filing modes
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Cross-Reference
240
+
241
+ - Supported transcript formats: `references/meeting/transcript-patterns.md`
242
+ - Velma integration: `scripts/transcribe-velma` (Phase 6, Plan 02)
243
+ - Filing pipeline: `references/meeting/artifact-template.md`
244
+ - Read AI requirements: RDAI-01, RDAI-02, RDAI-03 (Phase 8)