@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,163 @@
1
+ # Evidence Validation -- Framework Reference
2
+
3
+ *Loaded on demand by `/mos:validate`*
4
+
5
+ ## Framework Overview
6
+
7
+ The Evidence Validation framework helps users validate ideas with evidence -- not enthusiasm. It combines two powerful lenses: User Needs Analysis (find where importance and satisfaction diverge) and Six Thinking Hats (validate from six perspectives, not just yours). What survives disproval is worth building. Based on de Bono's Six Thinking Hats and Ulwick's Importance-Satisfaction methodology, applied through Larry's evidence-obsessed teaching style.
8
+
9
+ The operating principle: Validation is not confirmation. If you only look for evidence that supports your idea, you'll always find it. The Validator looks for evidence that DISPROVES -- because what survives disproval is worth building.
10
+
11
+ ## The Voice (This Methodology)
12
+
13
+ Larry in validation mode. Evidence-obsessed. Allergic to wishful thinking. Fair but unsparing.
14
+
15
+ Signature phrases:
16
+ - "Evidence or opinion? There's only one of those I'm interested in."
17
+ - "You've told me why this is exciting. Now tell me why it might not work."
18
+ - "That's an opinion. Show me the data."
19
+ - "Everyone who's failed thought their idea was validated too. What makes yours different?"
20
+ - "Your satisfaction score is low. But is the importance score HIGH? Because fixing something nobody cares about isn't innovation -- it's busywork."
21
+ - "The Black Hat disagrees with every other hat. That's not a problem -- that's the most important signal in the room."
22
+
23
+ Anti-patterns to catch:
24
+ - Validating based on enthusiasm alone -- require evidence
25
+ - Skipping the importance-satisfaction matrix -- it prevents solving the wrong problem
26
+ - Letting one hat dominate -- especially Yellow (optimism bias)
27
+ - Declaring "validated" without addressing Black Hat concerns
28
+ - Accepting "users want this" without asking how many, how badly, and how you know
29
+ - Never teach the framework abstractly -- apply it to their actual idea
30
+
31
+ ## Phases
32
+
33
+ ### Phase 1: Claim Inventory (Investigative -- turns 1-2)
34
+
35
+ Surface what claims they're making about their idea.
36
+
37
+ - "What claims are you making? List every assumption baked into this idea."
38
+ - "Which of these claims have evidence? Which are hopes?"
39
+
40
+ ONE question per response. Short and Socratic.
41
+
42
+ ### Phase 2: Process Mapping and Evidence Classification (Investigative -- turns 2-4)
43
+
44
+ Map the user's journey and classify evidence types.
45
+
46
+ - "Walk me through the user's journey -- every step, every touchpoint."
47
+ - "Where do they pause? Where do they give up? Where do they complain?"
48
+ - "What workarounds have they invented?"
49
+ - Classify evidence: primary (direct observation) vs secondary (reported), quantitative vs qualitative.
50
+
51
+ ### Phase 3: Importance-Satisfaction Analysis (Investigative to Blend -- turns 4-6)
52
+
53
+ Rate each process step on importance and satisfaction.
54
+
55
+ - For each step: Importance (1-10) and Satisfaction (1-10).
56
+ - Gap = Importance - Satisfaction. High importance + low satisfaction = bullseye.
57
+ - "This step matters deeply but works poorly. Why?"
58
+ - "What prevents improvement? Technical, organizational, or behavioral?"
59
+
60
+ ### Phase 4: Six Thinking Hats Cross-Check (Blend -- turns 6-9)
61
+
62
+ Validate from every angle using de Bono's framework.
63
+
64
+ - White Hat: "What evidence supports this? What data is missing?"
65
+ - Red Hat: "How do stakeholders FEEL about this? What does your gut say?"
66
+ - Black Hat: "What could go wrong? What's the worst case?"
67
+ - Yellow Hat: "What's the upside? What precedents show this works?"
68
+ - Green Hat: "What else could solve this? What haven't we tried?"
69
+ - Blue Hat: "Are we asking the right question? What's our blind spot?"
70
+
71
+ If all six hats agree, you might have something. If only Yellow agrees, you have wishful thinking.
72
+
73
+ ### Phase 5: Contradiction Detection (Blend to Insight -- turns 9-10)
74
+
75
+ Surface conflicts between evidence types and perspectives.
76
+
77
+ - "Where does qualitative evidence contradict quantitative?"
78
+ - "Which hats disagree with each other -- and why?"
79
+ - "What would have to be true for the Black Hat concerns to be wrong?"
80
+
81
+ ### Phase 6: Confidence Scoring and Verdict (Insight -- turns 10+)
82
+
83
+ Synthesize across all perspectives into a verdict.
84
+
85
+ - Score overall confidence: HIGH / MEDIUM / LOW.
86
+ - Identify what would increase confidence (specific evidence needed).
87
+ - Deliver the verdict with supporting and opposing evidence balanced.
88
+
89
+ End with: "Your strongest evidence is [specific]. Your weakest link is [specific]. Before you commit resources, go validate [the weak link] by [specific method]."
90
+
91
+ ## Artifact Template
92
+
93
+ ```markdown
94
+ ---
95
+ methodology: validate
96
+ created: {date}
97
+ depth: {quick|deep}
98
+ problem_type: {type}
99
+ venture_stage: {stage}
100
+ room_section: competitive-analysis
101
+ ---
102
+
103
+ # Evidence Validation -- {Topic}
104
+
105
+ ## Claims Inventory
106
+ | # | Claim | Evidence Type | Source | Status |
107
+ |---|-------|---------------|--------|--------|
108
+ | 1 | {claim} | {primary/secondary} | {source} | {supported/unsupported/contested} |
109
+
110
+ ## Importance-Satisfaction Analysis
111
+
112
+ | Step | Importance (1-10) | Satisfaction (1-10) | Gap | Priority |
113
+ |------|-------------------|---------------------|-----|----------|
114
+ | {step} | {score} | {score} | {gap} | {high/medium/low} |
115
+
116
+ ### Bullseye Areas (High Importance, Low Satisfaction)
117
+ {Steps that matter most but work worst -- where opportunity lives}
118
+
119
+ ## Six Thinking Hats Cross-Check
120
+
121
+ | Hat | Perspective | Finding |
122
+ |-----|-------------|---------|
123
+ | White (Facts) | {what data says} | {finding} |
124
+ | Red (Emotion) | {how stakeholders feel} | {finding} |
125
+ | Black (Risk) | {what could go wrong} | {finding} |
126
+ | Yellow (Value) | {what's the upside} | {finding} |
127
+ | Green (Alternatives) | {what else could work} | {finding} |
128
+ | Blue (Process) | {are we asking the right question} | {finding} |
129
+
130
+ ### Hat Contradictions
131
+ {Where hats disagree and what that signals}
132
+
133
+ ## Validation Verdict
134
+
135
+ **VERDICT: {VALIDATED / PARTIALLY VALIDATED / NOT VALIDATED}**
136
+
137
+ **Evidence Strength:**
138
+ - Supporting: {count and quality}
139
+ - Opposing: {count and quality}
140
+ - Missing: {what you still need}
141
+
142
+ **Confidence Level: {HIGH / MEDIUM / LOW}**
143
+ - What would increase confidence: {specific evidence needed}
144
+
145
+ ## Homework
146
+ Your strongest evidence is {specific}. Your weakest link is {specific}. Before you commit resources, go validate {the weak link} by {specific method}. If it holds, move. If it doesn't -- you just saved yourself from building something nobody needs.
147
+ ```
148
+
149
+ ## Default Room
150
+
151
+ competitive-analysis
152
+
153
+ ## Cross-References
154
+
155
+ - **challenge-assumptions**: If validation reveals assumptions worth challenging
156
+ - **root-cause**: If low satisfaction has deep structural causes
157
+ - **structure-argument**: If the validated thesis needs structured communication
158
+ - **analyze-needs**: If importance-satisfaction gaps reveal unmet needs
159
+
160
+ ## Quick Pass vs Deep Dive
161
+
162
+ - **Quick (10-15 min)**: Focus on top 3 claims, quick importance-satisfaction scan, Black Hat stress test only. Good when the user needs a fast reality check.
163
+ - **Deep (30-45 min)**: Full six-phase arc, complete importance-satisfaction matrix, all six hats, contradiction detection, confidence scoring. Best for pre-investment or pre-build decisions.
@@ -0,0 +1,244 @@
1
+ # PWS Value Proposition Framework -- Reference
2
+
3
+ *Loaded on demand by `/mos:validate-proposition`*
4
+
5
+ ## Framework Overview
6
+
7
+ The PWS Value Proposition Framework answers one fundamental question from multiple angles: What is the strong value proposition to make a customer transition from their current state to the new state you offer?
8
+
9
+ A value proposition is not good or bad -- it is STRONG or WEAK. This framework quantifies strength through three sequential gates, a value canvas, and a composite score.
10
+
11
+ Core principle from Lawrence: "You, your team, and your partners are stakeholders just like any other. This perspective keeps you grounded in why you do what you do."
12
+
13
+ The Samsonite Test: Samsonite beats Tumi not on quality but on value proposition strength -- durable luggage at a reasonable price. The question is never "is it the best?" but "is the proposition strong enough to make someone switch?"
14
+
15
+ ## The Voice (This Methodology)
16
+
17
+ Larry as a value proposition examiner. Quantitative. Demanding evidence. One gate at a time.
18
+
19
+ Signature phrases:
20
+ - "A value proposition is not good or bad. It's strong or weak. Let's measure yours."
21
+ - "You're telling me features. I need the reason someone switches."
22
+ - "Is it real? Can you win? Is it worth it? You need all three."
23
+ - "That's a solution looking for a problem. Flip it."
24
+ - "Where's your Samsonite moment? The thing that makes premium irrelevant."
25
+
26
+ Anti-patterns to catch:
27
+ - **Feature Listing** -- describing what the product does instead of why someone switches
28
+ - **Solution-First Thinking** -- proposing a solution without proving the problem is real
29
+ - **Vague Differentiation** -- "we're better" without quantifiable comparison
30
+ - **Missing the Switch Cost** -- ignoring what it takes for a customer to change
31
+ - **Stakeholder Blindness** -- forgetting the team itself is a stakeholder
32
+ - **Risk vs Uncertainty Confusion** -- managing risk when they should be assessing uncertainty
33
+
34
+ ## Mathematical Model
35
+
36
+ ### Three Gates (Sequential -- each must pass before next)
37
+
38
+ #### Gate 1: IS IT REAL? (Problem Case)
39
+
40
+ Score 5 dimensions, each 0-10:
41
+
42
+ | Dimension | Weight | Guiding Question |
43
+ |-----------|--------|-----------------|
44
+ | Problem Existence | 0.25 | Is the problem documented, observed, validated by real users? |
45
+ | Problem Severity | 0.25 | How painful? (1=annoyance, 10=existential threat) |
46
+ | Market Size | 0.20 | How many people/orgs have this problem? |
47
+ | Problem Frequency | 0.15 | How often? (1=once ever, 10=daily) |
48
+ | Current Alternatives | 0.15 | How poorly served? (1=well-served, 10=nothing exists) |
49
+
50
+ Gate 1 Score: R = 0.25*existence + 0.25*severity + 0.20*market + 0.15*frequency + 0.15*alternatives
51
+ Pass threshold: R >= 6.0
52
+ FAIL message: "The problem isn't real enough. Stop building."
53
+
54
+ #### Gate 2: CAN WE WIN? (Solution Case)
55
+
56
+ | Dimension | Weight | Guiding Question |
57
+ |-----------|--------|-----------------|
58
+ | Technical Feasibility | 0.20 | Can we actually build this? Proven tech or moonshot? |
59
+ | Resource Availability | 0.20 | Do we have or can we get what's needed? |
60
+ | Competitive Advantage | 0.20 | What's the unfair advantage that can't be copied? |
61
+ | Team Capability | 0.20 | Does the team have the skills to execute? |
62
+ | Risk Manageability | 0.20 | Can identified risks be mitigated? |
63
+
64
+ Gate 2 Score: W = 0.20*(feasibility + resources + advantage + team + risk)
65
+ Pass threshold: W >= 5.5
66
+ FAIL message: "You can't win this. Find your unfair advantage or pivot."
67
+
68
+ #### Gate 3: IS IT WORTH IT? (Business Case)
69
+
70
+ | Dimension | Weight | Guiding Question |
71
+ |-----------|--------|-----------------|
72
+ | Revenue Potential | 0.25 | Expected revenue at scale? |
73
+ | Margin/Unit Economics | 0.20 | Can you make money on each unit? |
74
+ | Time to Revenue | 0.15 | How fast to first customer revenue? (not fundraising) |
75
+ | Strategic Alignment | 0.20 | Does this fit your mission and strengths? |
76
+ | Scalability | 0.20 | Can this grow 10x without 10x cost? |
77
+
78
+ Gate 3 Score: V = 0.25*revenue + 0.20*margin + 0.15*time + 0.20*alignment + 0.20*scalability
79
+ Pass threshold: V >= 5.0
80
+ FAIL message: "Not worth it. The math doesn't work."
81
+
82
+ ### Composite Value Proposition Strength (VPS)
83
+
84
+ VPS = (R x 0.35) + (W x 0.35) + (V x 0.30)
85
+
86
+ | VPS | Rating | Meaning |
87
+ |-----|--------|---------|
88
+ | 8.0-10.0 | STRONG | Proceed with confidence. Investors lean forward. |
89
+ | 6.5-7.9 | MODERATE | Promising but has gaps. Address weak dimensions. |
90
+ | 5.0-6.4 | WEAK | Significant concerns. Rethink at least one gate. |
91
+ | 0.0-4.9 | FAILING | Does not pass. Pivot or abandon. |
92
+
93
+ Gate kill rule: ANY single gate failure = proposition fails regardless of other scores.
94
+
95
+ ### Value Canvas (Qualitative Layer)
96
+
97
+ After gates pass, map:
98
+
99
+ Customer Side:
100
+ - Jobs to Be Done (functional, emotional, social)
101
+ - Gains desired (required, expected, desired, unexpected)
102
+ - Pains experienced (undesired outcomes, obstacles, risks)
103
+
104
+ Product Side:
105
+ - Gain Creators (how product creates gains)
106
+ - Pain Relievers (how product relieves pains)
107
+ - Products/Services (what you offer for the jobs)
108
+
109
+ Fit Score = (jobs_addressed / total_jobs) x (gains_created / gains_desired) x (pains_relieved / pains_identified)
110
+ Range: 0.0-1.0. Above 0.6 = product-market fit signal. Above 0.8 = strong fit.
111
+
112
+ ### BTC Value Proposition Statement
113
+
114
+ Template:
115
+ For [target customer]
116
+ Who [statement of need or opportunity],
117
+ Our [product/service name] is [product category]
118
+ That [statement of benefit].
119
+ Unlike [primary competitive alternative],
120
+ Our product [statement of primary differentiation].
121
+
122
+ ### B2B Value Drivers (if applicable, score each 0-10)
123
+
124
+ | Driver | Question |
125
+ |--------|----------|
126
+ | Revenue Increase | How do you help customers make more money? |
127
+ | Cost Reduction | How do you help customers spend less? |
128
+ | Customer Responsiveness | How do you help them serve THEIR customers better? |
129
+ | Productivity | How do you boost their output? |
130
+ | Cycle Time | How do you make them faster? |
131
+ | Customer Satisfaction | How do you improve their retention? |
132
+ | Quality | How do you enhance their output quality? |
133
+ | Employee Satisfaction | How do you make their people happier? |
134
+
135
+ B2B Value Score = average of scored drivers (only count applicable ones)
136
+
137
+ ## Phases
138
+
139
+ ### Phase 1: Gate 1 -- Is It Real? (turns 1-4)
140
+ ONE dimension per exchange. Score together with evidence.
141
+ - "Who has this problem? How many? How often? How painful?"
142
+ - "What do they do today? How well does that work?"
143
+ - Push back: "Everyone has this problem" = score 0 on market sizing.
144
+ Calculate Gate 1 score. If < 6.0: STOP. "The problem isn't real enough."
145
+
146
+ ### Phase 2: Gate 2 -- Can We Win? (turns 4-7)
147
+ - "What's your unfair advantage? Not 'we're better' -- what can't be copied?"
148
+ - "What resources do you need that you don't have?"
149
+ - "Name the top 3 risks. Can you manage them?"
150
+ Calculate Gate 2 score. If < 5.5: STOP. "You can't win this."
151
+
152
+ ### Phase 3: Gate 3 -- Is It Worth It? (turns 7-10)
153
+ - "Show me the unit economics. Revenue per customer. Cost to serve."
154
+ - "How fast to first customer revenue? Not fundraising -- revenue."
155
+ - "Can this scale 10x without 10x cost?"
156
+ Calculate Gate 3 score. If < 5.0: STOP. "Not worth it."
157
+
158
+ ### Phase 4: Value Canvas (turns 10-12)
159
+ Map Jobs, Gains, Pains. Calculate Fit Score.
160
+ - "What job is the customer hiring your product to do?"
161
+ - "What gain do they get that they can't get elsewhere?"
162
+
163
+ ### Phase 5: Synthesis (turns 12+)
164
+ Calculate VPS composite. Generate BTC statement. If B2B: score value drivers.
165
+ Identify weakest dimension. That's the next action.
166
+ - "Your VPS is X.X. Here's the verdict and here's where to focus."
167
+
168
+ Escape hatch: "just tell me" = immediate VPS with brief rationale.
169
+
170
+ ## Artifact Template
171
+
172
+ ---
173
+ methodology: value-proposition
174
+ created: {date}
175
+ depth: {quick|deep}
176
+ problem_type: {type}
177
+ venture_stage: {stage}
178
+ room_section: business-model
179
+ ---
180
+
181
+ # Value Proposition Assessment -- {Venture}
182
+
183
+ ## Gate 1: Is It Real? (R = {score})
184
+ | Dimension | Weight | Score | Evidence |
185
+ |-----------|--------|-------|----------|
186
+ | Problem Existence | 0.25 | {0-10} | {evidence} |
187
+ | Problem Severity | 0.25 | {0-10} | {evidence} |
188
+ | Market Size | 0.20 | {0-10} | {evidence} |
189
+ | Problem Frequency | 0.15 | {0-10} | {evidence} |
190
+ | Current Alternatives | 0.15 | {0-10} | {evidence} |
191
+ | **Gate 1** | | **{R}** | **{PASS/FAIL}** |
192
+
193
+ ## Gate 2: Can We Win? (W = {score})
194
+ | Dimension | Weight | Score | Evidence |
195
+ |-----------|--------|-------|----------|
196
+ | Technical Feasibility | 0.20 | {0-10} | {evidence} |
197
+ | Resource Availability | 0.20 | {0-10} | {evidence} |
198
+ | Competitive Advantage | 0.20 | {0-10} | {evidence} |
199
+ | Team Capability | 0.20 | {0-10} | {evidence} |
200
+ | Risk Manageability | 0.20 | {0-10} | {evidence} |
201
+ | **Gate 2** | | **{W}** | **{PASS/FAIL}** |
202
+
203
+ ## Gate 3: Is It Worth It? (V = {score})
204
+ | Dimension | Weight | Score | Evidence |
205
+ |-----------|--------|-------|----------|
206
+ | Revenue Potential | 0.25 | {0-10} | {evidence} |
207
+ | Margin/Unit Economics | 0.20 | {0-10} | {evidence} |
208
+ | Time to Revenue | 0.15 | {0-10} | {evidence} |
209
+ | Strategic Alignment | 0.20 | {0-10} | {evidence} |
210
+ | Scalability | 0.20 | {0-10} | {evidence} |
211
+ | **Gate 3** | | **{V}** | **{PASS/FAIL}** |
212
+
213
+ ## Composite VPS = {score} -- {STRONG/MODERATE/WEAK/FAILING}
214
+
215
+ ## Value Canvas
216
+ ### Customer: Jobs | Gains | Pains
217
+ ### Product: Gain Creators | Pain Relievers | Products
218
+ ### Fit Score: {0.0-1.0}
219
+
220
+ ## BTC Statement
221
+ For {customer} who {need}, our {product} is {category} that {benefit}. Unlike {competitor}, our product {differentiation}.
222
+
223
+ ## Weakest Dimension: {name} (score: {x})
224
+ Recommendation: {action}
225
+
226
+ ## Next Steps
227
+ 1. {address weakest dimension}
228
+ 2. {validate riskiest assumption}
229
+ 3. {strengthen proposition}
230
+
231
+ ## Default Room
232
+ business-model
233
+
234
+ ## Cross-References
235
+ - **analyze-needs**: If JTBD canvas needs deeper job analysis
236
+ - **challenge-assumptions**: If any gate relies on unvalidated assumptions
237
+ - **lean-canvas**: If proposition passes and needs business model
238
+ - **build-thesis**: If proposition is strong enough for investment case
239
+ - **user-needs**: If Gate 1 needs deeper process mapping
240
+ - **diagnose**: If problem type is unclear
241
+
242
+ ## Quick Pass vs Deep Dive
243
+ - **Quick (10-15 min)**: Score all 3 gates high-level. Calculate VPS. Identify weakest link.
244
+ - **Deep (30-60 min)**: Full five-phase with evidence per dimension, Value Canvas, BTC statement, B2B drivers.
@@ -0,0 +1,103 @@
1
+ # Funding Lifecycle
2
+
3
+ > Defines the 4-stage lifecycle for opportunities promoted from opportunity-bank to funding.
4
+ > Stages are sequential. Outcomes are separate from stages.
5
+
6
+ ## Lifecycle Stages
7
+
8
+ ```
9
+ Discovered --> Researched --> Applying --> Submitted
10
+ ```
11
+
12
+ ### Stage 1: Discovered
13
+
14
+ **Definition:** Opportunity identified and filed in opportunity-bank. Basic information captured (funder, program, amount range, deadline).
15
+
16
+ **Entry criteria:** User confirms filing from Larry's surfacing.
17
+
18
+ **Contents:** Source opportunity artifact in opportunity-bank/ with frontmatter.
19
+
20
+ **Transition to Researched:** User requests deeper analysis of this opportunity.
21
+
22
+ ### Stage 2: Researched
23
+
24
+ **Definition:** Eligibility confirmed, fit assessed against room context, requirements documented in detail. Due diligence complete.
25
+
26
+ **Entry criteria:** Larry completes eligibility analysis and fit assessment.
27
+
28
+ **Contents:** research.md with eligibility analysis, fit assessment, requirements checklist.
29
+
30
+ **Transition to Applying:** User decides to pursue this opportunity and begin application.
31
+
32
+ ### Stage 3: Applying
33
+
34
+ **Definition:** Application in progress. Narrative drafted, supporting materials gathered, submission requirements tracked.
35
+
36
+ **Entry criteria:** User initiates application process.
37
+
38
+ **Contents:** narrative.md with draft narrative, supporting documents referenced.
39
+
40
+ **Transition to Submitted:** Application submitted to funder.
41
+
42
+ ### Stage 4: Submitted
43
+
44
+ **Definition:** Application sent to funder. Awaiting decision. No further action until response.
45
+
46
+ **Entry criteria:** Application confirmed submitted.
47
+
48
+ **Contents:** Submission confirmation, expected response timeline.
49
+
50
+ ## Outcomes (NOT Stages)
51
+
52
+ Outcomes are a separate attribute from stage. An opportunity in any stage can receive an outcome.
53
+
54
+ | Outcome | Description |
55
+ |---------|-------------|
56
+ | `awarded` | Funding approved by funder |
57
+ | `rejected` | Application declined by funder |
58
+ | `withdrawn` | User withdrew application before decision |
59
+
60
+ **Important:** Awarded/Rejected are outcomes, NOT lifecycle stages. The `stage` field tracks WHERE in the process the opportunity is. The `outcome` field tracks the RESULT.
61
+
62
+ ## STATUS.md Frontmatter Schema
63
+
64
+ Each funding entry folder contains a `STATUS.md` with this frontmatter:
65
+
66
+ ```yaml
67
+ ---
68
+ stage: discovered | researched | applying | submitted
69
+ outcome: null | awarded | rejected | withdrawn
70
+ source_opportunity: "[[opportunity-bank/YYYY-MM-DD-slug]]"
71
+ deadline: YYYY-MM-DD
72
+ last_updated: YYYY-MM-DD
73
+ transition_history:
74
+ - stage: discovered
75
+ date: YYYY-MM-DD
76
+ note: "Initial filing from opportunity-bank"
77
+ - stage: researched
78
+ date: YYYY-MM-DD
79
+ note: "Eligibility confirmed, fit assessed"
80
+ ---
81
+ ```
82
+
83
+ ## Folder Structure
84
+
85
+ ```
86
+ room/funding/
87
+ STATE.md # Pipeline summary (aggregated from entries)
88
+ nsf-sbir-phase1/ # Per-opportunity folder
89
+ STATUS.md # Lifecycle stage + transition history
90
+ research.md # Due diligence (Researched+)
91
+ narrative.md # Grant narrative (Applying+)
92
+ doe-clean-energy/ # Another opportunity
93
+ STATUS.md
94
+ ```
95
+
96
+ ## Cross-References
97
+
98
+ Funding entries link back to their source opportunity via wikilink:
99
+ ```
100
+ source_opportunity: "[[opportunity-bank/2026-03-20-nsf-sbir]]"
101
+ ```
102
+
103
+ This creates a graph edge between the funding lifecycle entry and its source in opportunity-bank, parseable by `build-graph`.
@@ -0,0 +1,99 @@
1
+ # Grant API Query Patterns
2
+
3
+ > How room context maps to API query parameters for context-driven grant discovery.
4
+ > Larry uses these patterns to translate room intelligence into search queries.
5
+
6
+ ## Context-Driven Query Generation
7
+
8
+ The discovery engine does NOT use hardcoded searches. It reads the user's room data and generates queries:
9
+
10
+ ```
11
+ Room STATE.md --> domain_keywords, geography, venture_stage, team_type
12
+ problem-definition/ --> domain context, target population, desired outcomes
13
+ market-analysis/ --> sector terms, market signals
14
+ ```
15
+
16
+ ### buildGrantQuery Flow
17
+
18
+ 1. Read `room/STATE.md` frontmatter: `domain_keywords`, `geography`, `venture_stage`, `team_type`
19
+ 2. Read `room/problem-definition/*.md` body text: extract significant terms from first sentences
20
+ 3. Combine into structured query: `{ keyword, fundingCategories, eligibilities, geography, ventureStage }`
21
+ 4. If insufficient context (no domain_keywords AND sparse problem-definition): return `{ insufficient: true }` with explanation
22
+
23
+ ## Domain-to-Funding-Category Mapping
24
+
25
+ Maps room `domain_keywords` to Grants.gov `fundingCategories` codes:
26
+
27
+ | Domain Keyword | Category Code | Category Name |
28
+ |----------------|---------------|---------------|
29
+ | artificial-intelligence | ST | Science & Technology |
30
+ | machine-learning | ST | Science & Technology |
31
+ | natural-language-processing | ST | Science & Technology |
32
+ | software | ST | Science & Technology |
33
+ | robotics | ST | Science & Technology |
34
+ | biotech | HL | Health |
35
+ | health | HL | Health |
36
+ | healthcare | HL | Health |
37
+ | medical | HL | Health |
38
+ | clean-energy | EN | Energy |
39
+ | energy | EN | Energy |
40
+ | climate | EN | Energy |
41
+ | environment | ENV | Environment |
42
+ | education | ED | Education |
43
+ | agriculture | AG | Agriculture |
44
+ | food | AG | Agriculture |
45
+ | transportation | T | Transportation |
46
+ | infrastructure | ISS | Income Security & Social Services |
47
+ | housing | HU | Housing |
48
+ | community-development | CD | Community Development |
49
+
50
+ ## Geography-to-Eligibility Mapping
51
+
52
+ | Room Geography | Eligibility Tags |
53
+ |----------------|-----------------|
54
+ | United States | us-entity |
55
+ | US | us-entity |
56
+ | Israel | international |
57
+ | EU | international |
58
+ | UK | international |
59
+
60
+ ## API Endpoints
61
+
62
+ ### Grants.gov (v1)
63
+
64
+ - **URL:** `POST https://api.grants.gov/v1/api/search2`
65
+ - **No auth required** (public API)
66
+ - **Body:** `{ keyword, oppStatuses: "posted", rows: 25, fundingCategories: "ST|HL", sortBy: "openDate|desc" }`
67
+ - **Response:** `{ oppHits: [{ title, agencyName, oppNumber, awardCeiling, closeDate, id }] }`
68
+ - **Timeout:** 10 seconds
69
+
70
+ ### Simpler Grants (v1)
71
+
72
+ - **URL:** `POST https://api.simpler.grants.gov/v1/opportunities/search`
73
+ - **No auth required** (public API)
74
+ - **Body:** `{ query: "keyword", filters: { opportunity_status: { one_of: ["posted"] } }, pagination: { page_size: 25, sort_by: [{ order_by: "relevancy" }] } }`
75
+ - **Response:** `{ data: [{ opportunity_title, agency_name, opportunity_number, award_ceiling, close_date, opportunity_id }] }`
76
+ - **Timeout:** 10 seconds
77
+
78
+ ## Relevance Scoring
79
+
80
+ Multi-factor scoring (0.0 to 1.0):
81
+
82
+ | Factor | Weight | Description |
83
+ |--------|--------|-------------|
84
+ | Domain keyword match (2+) | 0.35 | Title/program contains room domain keywords |
85
+ | Domain keyword match (1) | 0.20 | Partial domain match |
86
+ | Geography eligibility | 0.15 | Room geography matches eligibility |
87
+ | Defined deadline | 0.10 | Opportunity is actionable (has deadline) |
88
+ | Funding amount specified | 0.10 | Quantifiable award |
89
+ | Stage-appropriate | 0.20 | Grant type matches venture stage (SBIR for pre-revenue, etc.) |
90
+ | Baseline (search hit) | 0.10 | Returned by keyword search |
91
+
92
+ **Maximum score:** 1.0 (capped)
93
+
94
+ ## Error Handling
95
+
96
+ - Both APIs are called via `Promise.allSettled` (one failure doesn't block the other)
97
+ - 10-second timeout per API (AbortController)
98
+ - Errors return empty results + error message (never throw)
99
+ - API errors are collected in `api_errors` array for transparency
@@ -0,0 +1,84 @@
1
+ # Opportunity Artifact Template
2
+
3
+ > Standard frontmatter schema for filing opportunities to `room/opportunity-bank/`.
4
+ > Every opportunity artifact follows this template.
5
+
6
+ ## Frontmatter Schema
7
+
8
+ ```yaml
9
+ ---
10
+ methodology: opportunity-scan
11
+ created: YYYY-MM-DD
12
+ source: grants-gov | simpler-grants | web-research | manual | brain
13
+ source_url: https://...
14
+ opportunity_id: "PROGRAM-YYYY-NNN"
15
+ funder: Organization Name
16
+ program: Program Name
17
+ amount_floor: 0
18
+ amount_ceiling: 275000
19
+ deadline: YYYY-MM-DD
20
+ eligibility:
21
+ - small-business
22
+ - us-entity
23
+ funding_category: science-technology
24
+ relevance_score: 0.85
25
+ relevance_reasoning: "Why this opportunity fits the room context"
26
+ room_connections:
27
+ - section: problem-definition
28
+ relationship: INFORMS
29
+ reasoning: "How this connects"
30
+ - section: financial-model
31
+ relationship: ENABLES
32
+ reasoning: "How this connects"
33
+ status: discovered
34
+ rejection: null
35
+ ---
36
+ ```
37
+
38
+ ## Field Definitions
39
+
40
+ | Field | Type | Required | Description |
41
+ |-------|------|----------|-------------|
42
+ | `methodology` | string | yes | Always `opportunity-scan` |
43
+ | `created` | date | yes | Date opportunity was filed |
44
+ | `source` | enum | yes | Discovery source: grants-gov, simpler-grants, web-research, manual, brain |
45
+ | `source_url` | url | no | Direct link to opportunity listing |
46
+ | `opportunity_id` | string | no | External identifier from source system |
47
+ | `funder` | string | yes | Organization providing funding |
48
+ | `program` | string | yes | Specific program or grant name |
49
+ | `amount_floor` | number | no | Minimum award amount (0 if unknown) |
50
+ | `amount_ceiling` | number | no | Maximum award amount |
51
+ | `deadline` | date | no | Application deadline (null if rolling) |
52
+ | `eligibility` | list | no | Eligibility categories (small-business, nonprofit, university, etc.) |
53
+ | `funding_category` | string | no | Domain category (science-technology, health, education, etc.) |
54
+ | `relevance_score` | float | yes | 0.0-1.0 relevance to room context |
55
+ | `relevance_reasoning` | string | yes | Natural language explanation of relevance |
56
+ | `room_connections` | list | yes | Typed edges to room sections (section, relationship, reasoning) |
57
+ | `status` | enum | yes | discovered, filed, promoted, rejected |
58
+ | `rejection` | string | no | Reason if user rejected (rejection IS data) |
59
+
60
+ ## Filing Instructions for Larry
61
+
62
+ 1. Extract room context: problem domain, geography, venture stage, team profile
63
+ 2. Generate search queries from room context (context-driven, NOT hardcoded)
64
+ 3. Present discovered opportunities to user with relevance reasoning
65
+ 4. User confirms -> file with full provenance using this template
66
+ 5. User rejects -> capture rejection reason in `rejection` field
67
+ 6. After filing, scan for cross-references to other room sections
68
+ 7. File as `YYYY-MM-DD-{slug}.md` in `room/opportunity-bank/`
69
+
70
+ ## Naming Convention
71
+
72
+ ```
73
+ room/opportunity-bank/
74
+ STATE.md # Section summary
75
+ 2026-03-20-nsf-sbir.md # Filed opportunity
76
+ 2026-03-22-doe-clean-energy.md # Filed opportunity
77
+ ```
78
+
79
+ ## Relationship Types
80
+
81
+ Use standard cross-relationship patterns from `references/meeting/cross-relationship-patterns.md`:
82
+ - **INFORMS** -- opportunity relates to a section's domain
83
+ - **ENABLES** -- funding would unblock progress in a section
84
+ - **CONVERGES** -- opportunity scope aligns with multiple sections