@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.
- package/.claude-plugin/plugin.json +21 -0
- package/.mcp.json +9 -0
- package/CHANGELOG.md +3333 -0
- package/LICENSE +123 -0
- package/README.md +673 -0
- package/agents/brain-query.md +80 -0
- package/agents/framework-runner.md +237 -0
- package/agents/grading.md +188 -0
- package/agents/investor.md +128 -0
- package/agents/larry-extended.md +135 -0
- package/agents/opportunity-scanner.md +91 -0
- package/agents/persona-analyst.md +132 -0
- package/agents/research.md +89 -0
- package/agents/reverse-salient-agent.md +27 -0
- package/bin/cli.js +142 -0
- package/bin/mindrian-mcp-server.cjs +182 -0
- package/bin/mindrian-tools.cjs +765 -0
- package/commands/act.md +439 -0
- package/commands/admin.md +404 -0
- package/commands/analyze-needs.md +42 -0
- package/commands/analyze-systems.md +39 -0
- package/commands/analyze-timing.md +42 -0
- package/commands/auto-explore.md +64 -0
- package/commands/beautiful-question.md +40 -0
- package/commands/brain-derive.md +78 -0
- package/commands/build-knowledge.md +42 -0
- package/commands/build-thesis.md +46 -0
- package/commands/causal.md +234 -0
- package/commands/challenge-assumptions.md +33 -0
- package/commands/compare-ventures.md +83 -0
- package/commands/dashboard.md +110 -0
- package/commands/deep-grade.md +82 -0
- package/commands/diagnose.md +58 -0
- package/commands/diagnostics.md +151 -0
- package/commands/doctor.md +151 -0
- package/commands/dominant-designs.md +40 -0
- package/commands/explain-decision.md +87 -0
- package/commands/explore-domains.md +42 -0
- package/commands/explore-futures.md +40 -0
- package/commands/explore-trends.md +42 -0
- package/commands/export.md +103 -0
- package/commands/file-meeting.md +724 -0
- package/commands/find-analogies.md +188 -0
- package/commands/find-bottlenecks.md +62 -0
- package/commands/find-connections.md +76 -0
- package/commands/funding.md +81 -0
- package/commands/grade.md +203 -0
- package/commands/graph.md +128 -0
- package/commands/hat-briefing.md +125 -0
- package/commands/heal.md +196 -0
- package/commands/help.md +399 -0
- package/commands/hmi-status.md +172 -0
- package/commands/jtbd.md +241 -0
- package/commands/leadership.md +73 -0
- package/commands/lean-canvas.md +40 -0
- package/commands/macro-trends.md +40 -0
- package/commands/map-unknowns.md +40 -0
- package/commands/memory.md +173 -0
- package/commands/models.md +175 -0
- package/commands/mos-reason.md +285 -0
- package/commands/mullins.md +120 -0
- package/commands/new-project.md +481 -0
- package/commands/onboard.md +434 -0
- package/commands/operator.md +149 -0
- package/commands/opportunities.md +144 -0
- package/commands/organize.md +497 -0
- package/commands/persona.md +198 -0
- package/commands/pipeline.md +112 -0
- package/commands/present.md +91 -0
- package/commands/publish.md +201 -0
- package/commands/query.md +124 -0
- package/commands/radar.md +72 -0
- package/commands/reanalyze.md +91 -0
- package/commands/research.md +196 -0
- package/commands/room.md +352 -0
- package/commands/rooms.md +598 -0
- package/commands/root-cause.md +40 -0
- package/commands/rs-experts.md +85 -0
- package/commands/rs-explain.md +100 -0
- package/commands/rs-fetch.md +94 -0
- package/commands/rs-thesis.md +85 -0
- package/commands/scenario-plan.md +40 -0
- package/commands/scheduled-tasks.md +285 -0
- package/commands/score-innovation.md +43 -0
- package/commands/scout.md +239 -0
- package/commands/setup.md +618 -0
- package/commands/snapshot.md +147 -0
- package/commands/speakers.md +84 -0
- package/commands/splash.md +28 -0
- package/commands/status.md +75 -0
- package/commands/structure-argument.md +42 -0
- package/commands/suggest-next.md +80 -0
- package/commands/systems-thinking.md +40 -0
- package/commands/think-hats.md +42 -0
- package/commands/update.md +181 -0
- package/commands/user-needs.md +40 -0
- package/commands/validate.md +40 -0
- package/commands/value-proposition.md +61 -0
- package/commands/vault.md +180 -0
- package/commands/visualize.md +52 -0
- package/commands/whitespace.md +507 -0
- package/commands/wiki.md +69 -0
- package/hooks/hooks.json +381 -0
- package/hooks/run-hook.cmd +64 -0
- package/lib/__init__.py +0 -0
- package/lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/lib/agents/auto-explore-agent.cjs +1043 -0
- package/lib/agents/reverse-salient-agent.cjs +679 -0
- package/lib/agents/tension-hook-agent.cjs +544 -0
- package/lib/brain/ROOM.md +44 -0
- package/lib/brain/chain-recommender.cjs +301 -0
- package/lib/chat/chat-context.js +185 -0
- package/lib/chat/chat-panel.js +721 -0
- package/lib/chat/fabric-chat.cjs +288 -0
- package/lib/chat/generative-tools.js +219 -0
- package/lib/conversation/ROOM.md +39 -0
- package/lib/conversation/classifier-rules.json +38 -0
- package/lib/conversation/classifier.cjs +264 -0
- package/lib/conversation/operator.cjs +287 -0
- package/lib/copy/115-spec-strings.cjs +55 -0
- package/lib/core/__init__.py +0 -0
- package/lib/core/__nav-stub.cjs +14 -0
- package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
- package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
- package/lib/core/artifact-id.cjs +148 -0
- package/lib/core/asset-ops.cjs +151 -0
- package/lib/core/auto-commit-throttle.cjs +129 -0
- package/lib/core/bearer-token.cjs +199 -0
- package/lib/core/brain-client.cjs +865 -0
- package/lib/core/brain-derivation-prompts.cjs +326 -0
- package/lib/core/brain-derivation-queue.cjs +431 -0
- package/lib/core/brain-derivation.cjs +580 -0
- package/lib/core/brain-md-schema.cjs +528 -0
- package/lib/core/brain-md-staleness.cjs +357 -0
- package/lib/core/brain-response-sanitize.cjs +188 -0
- package/lib/core/bridge-writer.cjs +477 -0
- package/lib/core/chat-context-builder.cjs +253 -0
- package/lib/core/cross-room-aggregator.cjs +762 -0
- package/lib/core/daily-briefing.cjs +438 -0
- package/lib/core/decision-capture.cjs +618 -0
- package/lib/core/deep-links.cjs +82 -0
- package/lib/core/dispatch-optimizer.cjs +354 -0
- package/lib/core/dual-path-detector.cjs +84 -0
- package/lib/core/dual-path-detector.test.cjs +334 -0
- package/lib/core/exports-log.cjs +79 -0
- package/lib/core/feynman-minto-invariants.cjs +605 -0
- package/lib/core/folder-memory-async.cjs +338 -0
- package/lib/core/folder-memory-shared.cjs +890 -0
- package/lib/core/folder-memory.cjs +416 -0
- package/lib/core/framework-chain-composer.cjs +411 -0
- package/lib/core/frontmatter-schemas.cjs +330 -0
- package/lib/core/git-ops.cjs +141 -0
- package/lib/core/graph-ops.cjs +258 -0
- package/lib/core/hat-persistence.cjs +362 -0
- package/lib/core/index.cjs +60 -0
- package/lib/core/integration-registry.cjs +232 -0
- package/lib/core/intelligence-cascade.cjs +661 -0
- package/lib/core/lazygraph-ops.cjs +1057 -0
- package/lib/core/lru-cache.cjs +139 -0
- package/lib/core/mcp-profiles.cjs +182 -0
- package/lib/core/meeting-ops.cjs +54 -0
- package/lib/core/memory-ops.cjs +600 -0
- package/lib/core/migrations/ROOM.md +33 -0
- package/lib/core/migrations/phase-109-nodes-provenance.cjs +339 -0
- package/lib/core/migrations/phase-109-session-focus.cjs +99 -0
- package/lib/core/model-profiles.cjs +246 -0
- package/lib/core/mullins-scaffold.cjs +160 -0
- package/lib/core/nav-dial.cjs +316 -0
- package/lib/core/navigation/ROOM.md +15 -0
- package/lib/core/navigation/explanation.cjs +43 -0
- package/lib/core/navigation/focus.cjs +135 -0
- package/lib/core/navigation/ingestion.cjs +82 -0
- package/lib/core/navigation/insights.cjs +350 -0
- package/lib/core/navigation/memory-events.cjs +118 -0
- package/lib/core/navigation/neighborhood.cjs +78 -0
- package/lib/core/navigation/packet.cjs +182 -0
- package/lib/core/navigation/room-home.cjs +127 -0
- package/lib/core/navigation/transitions.cjs +82 -0
- package/lib/core/navigation-engine-shared.cjs +242 -0
- package/lib/core/navigation-engine.cjs +664 -0
- package/lib/core/navigation.cjs +60 -0
- package/lib/core/nl-graph-queries.cjs +164 -0
- package/lib/core/offer-presenter.cjs +406 -0
- package/lib/core/opportunity-extractor.cjs +183 -0
- package/lib/core/opportunity-ops.cjs +1371 -0
- package/lib/core/persona-ops.cjs +537 -0
- package/lib/core/persona-taxonomy.cjs +190 -0
- package/lib/core/platform-gates.cjs +120 -0
- package/lib/core/platform.cjs +257 -0
- package/lib/core/proactive-intelligence.cjs +528 -0
- package/lib/core/problem-type-router.cjs +315 -0
- package/lib/core/reasoning-ops.cjs +639 -0
- package/lib/core/reverse-salient-persona-suffix.cjs +115 -0
- package/lib/core/room-classifier-strict-mode.cjs +229 -0
- package/lib/core/room-db.cjs +127 -0
- package/lib/core/room-ops-async.cjs +92 -0
- package/lib/core/room-ops-shared.cjs +64 -0
- package/lib/core/room-ops-sync.cjs +70 -0
- package/lib/core/room-ops.cjs +32 -0
- package/lib/core/room-type-detector.cjs +386 -0
- package/lib/core/rs-brain-substrate-prompts.cjs +129 -0
- package/lib/core/rs-brain-substrate.cjs +570 -0
- package/lib/core/rs-breakthrough-scorer.cjs +255 -0
- package/lib/core/rs-canon-violations.cjs +82 -0
- package/lib/core/rs-chain-feeder.cjs +343 -0
- package/lib/core/rs-commercial-assessor.cjs +280 -0
- package/lib/core/rs-differential-scorer.cjs +376 -0
- package/lib/core/rs-domain-analyzer.cjs +385 -0
- package/lib/core/rs-egress-prompts.cjs +113 -0
- package/lib/core/rs-egress-telemetry.cjs +225 -0
- package/lib/core/rs-egress-violations.cjs +53 -0
- package/lib/core/rs-expert-mapper.cjs +467 -0
- package/lib/core/rs-fetcher-academic.cjs +697 -0
- package/lib/core/rs-fetcher-experts.cjs +314 -0
- package/lib/core/rs-fetcher-industry.cjs +731 -0
- package/lib/core/rs-fetcher-patents.cjs +564 -0
- package/lib/core/rs-innovation-classifier.cjs +194 -0
- package/lib/core/rs-mind-map.cjs +656 -0
- package/lib/core/rs-neo4j-writer.cjs +388 -0
- package/lib/core/rs-nl-to-query.cjs +425 -0
- package/lib/core/rs-pinecone-bridge.cjs +303 -0
- package/lib/core/rs-preprocessor.cjs +350 -0
- package/lib/core/rs-query-matrix.cjs +316 -0
- package/lib/core/rs-query-to-text.cjs +438 -0
- package/lib/core/rs-sqlite-mirror.cjs +443 -0
- package/lib/core/rs-thesis-generator.cjs +188 -0
- package/lib/core/rs_cache.py +479 -0
- package/lib/core/rs_corpus.py +468 -0
- package/lib/core/rs_hybrid.py +586 -0
- package/lib/core/rs_math.py +287 -0
- package/lib/core/rs_rooms.py +193 -0
- package/lib/core/scheduled-scanner.cjs +463 -0
- package/lib/core/scratchpad-ops.cjs +201 -0
- package/lib/core/section-8-trace-schema.cjs +138 -0
- package/lib/core/section-registry.cjs +111 -0
- package/lib/core/session-state.cjs +144 -0
- package/lib/core/shallow-doc-parser.cjs +174 -0
- package/lib/core/shallow-doc-parser.test.cjs +226 -0
- package/lib/core/skill-activation-router.cjs +284 -0
- package/lib/core/state-ops.cjs +46 -0
- package/lib/core/statusline-cache.cjs +266 -0
- package/lib/core/token-estimator.cjs +348 -0
- package/lib/core/user-archetype.cjs +239 -0
- package/lib/core/user-md-ops.cjs +524 -0
- package/lib/core/visual-ops.cjs +624 -0
- package/lib/core/write-lock.cjs +149 -0
- package/lib/graph/canvas-graph.js +467 -0
- package/lib/graph/constellation-config.cjs +299 -0
- package/lib/graph/graph-detail-panel.js +165 -0
- package/lib/hmi/ROOM.md +47 -0
- package/lib/hmi/across-session-memory.cjs +604 -0
- package/lib/hmi/cross-room-memory.cjs +575 -0
- package/lib/hmi/decoy-tier.cjs +395 -0
- package/lib/hmi/jtbd-classifier.cjs +219 -0
- package/lib/hmi/jtbd-state.cjs +199 -0
- package/lib/hmi/jtbd-taxonomy.json +392 -0
- package/lib/hmi/selector-dispatcher.cjs +546 -0
- package/lib/hmi/selector-telemetry.cjs +263 -0
- package/lib/hmi/shape-f0-renderer.cjs +139 -0
- package/lib/hmi/shape-f1-fallback.cjs +80 -0
- package/lib/hmi/shape-f1-renderer.cjs +138 -0
- package/lib/hmi/shape-f2-renderer.cjs +132 -0
- package/lib/hmi/shape-f3-renderer.cjs +66 -0
- package/lib/hmi/shape-f4-renderer.cjs +72 -0
- package/lib/hmi/shape-f5-renderer.cjs +155 -0
- package/lib/hmi/shape-f6-plan-review-renderer.cjs +312 -0
- package/lib/hmi/shape-f6-renderer.cjs +144 -0
- package/lib/hmi/shape-g-renderer.cjs +219 -0
- package/lib/hmi/shape-h-renderer.cjs +222 -0
- package/lib/hmi/tier-check.cjs +63 -0
- package/lib/import/PRECONDITIONS.md +41 -0
- package/lib/import/branding.cjs +210 -0
- package/lib/import/branding.test.cjs +235 -0
- package/lib/import/classifications-sync.cjs +104 -0
- package/lib/import/classifications-sync.test.cjs +129 -0
- package/lib/import/enricher.cjs +296 -0
- package/lib/import/enricher.test.cjs +273 -0
- package/lib/import/integration.test.cjs +376 -0
- package/lib/import/manifest.cjs +129 -0
- package/lib/import/manifest.schema.json +185 -0
- package/lib/import/manifest.test.cjs +123 -0
- package/lib/import/meeting-detector.cjs +92 -0
- package/lib/import/meeting-detector.test.cjs +100 -0
- package/lib/import/person-detector.cjs +229 -0
- package/lib/import/person-detector.test.cjs +149 -0
- package/lib/import/report.cjs +186 -0
- package/lib/import/report.test.cjs +186 -0
- package/lib/import/room-md-scaffolder.cjs +49 -0
- package/lib/import/router.cjs +224 -0
- package/lib/import/router.test.cjs +356 -0
- package/lib/import/run-all-tests.cjs +36 -0
- package/lib/import/smoke-test.cjs +213 -0
- package/lib/import/smoke-test.test.cjs +148 -0
- package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +8 -0
- package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +7 -0
- package/lib/import/test-fixtures/collision-vault/source/onboarding.md +5 -0
- package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +1 -0
- package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +4 -0
- package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +9 -0
- package/lib/import/test-fixtures/tiny-vault/notes/empty.md +3 -0
- package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +5 -0
- package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +5 -0
- package/lib/import/test-fixtures/tiny-vault/notes/random.md +4 -0
- package/lib/import/undo.test.cjs +199 -0
- package/lib/import/vault-scanner.cjs +105 -0
- package/lib/import/vault-scanner.test.cjs +67 -0
- package/lib/mcp/app-html/dashboard.html +316 -0
- package/lib/mcp/app-html/graph.html +428 -0
- package/lib/mcp/app-html/mindrian-platform.html +1841 -0
- package/lib/mcp/app-html/wiki.html +383 -0
- package/lib/mcp/app-views.cjs +322 -0
- package/lib/mcp/brain-router.cjs +418 -0
- package/lib/mcp/capability-registry.cjs +62 -0
- package/lib/mcp/larry-context.cjs +46 -0
- package/lib/mcp/larry-server-instructions.md +114 -0
- package/lib/mcp/pipeline-state.cjs +275 -0
- package/lib/mcp/prompts.cjs +302 -0
- package/lib/mcp/resources.cjs +227 -0
- package/lib/mcp/session-catchup.cjs +327 -0
- package/lib/mcp/surface-detect.cjs +75 -0
- package/lib/mcp/tool-router.cjs +1034 -0
- package/lib/memory/aaak-compress.cjs +403 -0
- package/lib/memory/aaak-compress.test.cjs +288 -0
- package/lib/memory/async-artifact-auto-commit.test.cjs +223 -0
- package/lib/memory/bearer-token.test.cjs +315 -0
- package/lib/memory/brain-cache-lru.test.cjs +259 -0
- package/lib/memory/brain-client-query-shape.test.cjs +160 -0
- package/lib/memory/brain-derivation-graceful-degradation.test.cjs +1019 -0
- package/lib/memory/brain-derivation-queue.test.cjs +539 -0
- package/lib/memory/brain-derivation.test.cjs +634 -0
- package/lib/memory/brain-derive-command.test.cjs +534 -0
- package/lib/memory/brain-md-invariants-validator.test.cjs +704 -0
- package/lib/memory/brain-md-schema.test.cjs +467 -0
- package/lib/memory/brain-md-staleness.test.cjs +525 -0
- package/lib/memory/brain-server-resolution.test.cjs +314 -0
- package/lib/memory/chain-recommender.test.cjs +233 -0
- package/lib/memory/chat-context.test.cjs +128 -0
- package/lib/memory/command-registry.test.cjs +220 -0
- package/lib/memory/cross-room-aggregator.test.cjs +909 -0
- package/lib/memory/dashboard-server.test.cjs +256 -0
- package/lib/memory/debouncer-drain-at-prompt.test.cjs +389 -0
- package/lib/memory/decision-capture.test.cjs +632 -0
- package/lib/memory/decision-capture.worker.cjs +70 -0
- package/lib/memory/explain-decision-command.test.cjs +521 -0
- package/lib/memory/explain-decision-footer.test.cjs +316 -0
- package/lib/memory/explored-materials-store.cjs +392 -0
- package/lib/memory/feynman-minto-guardian.test.cjs +736 -0
- package/lib/memory/feynman-minto-invariants.test.cjs +511 -0
- package/lib/memory/feynman-prompts-drift.test.cjs +144 -0
- package/lib/memory/feynman-prompts.cjs +151 -0
- package/lib/memory/feynman-prompts.test.cjs +96 -0
- package/lib/memory/folder-memory-quadruple.test.cjs +548 -0
- package/lib/memory/folder-memory.test.cjs +503 -0
- package/lib/memory/framework-chain-composer.test.cjs +515 -0
- package/lib/memory/frontmatter-schema-validator.test.cjs +290 -0
- package/lib/memory/heal-command.test.cjs +604 -0
- package/lib/memory/index-artifact-transaction.test.cjs +333 -0
- package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +122 -0
- package/lib/memory/mcp-input-validation.test.cjs +240 -0
- package/lib/memory/mcp-server-brain-deps.test.cjs +270 -0
- package/lib/memory/mcp-stack-fallback.test.cjs +433 -0
- package/lib/memory/minto-debouncer.test.cjs +407 -0
- package/lib/memory/minto-debouncer.worker.cjs +46 -0
- package/lib/memory/minto-migration-v88.test.cjs +265 -0
- package/lib/memory/minto-schema-v88.test.cjs +390 -0
- package/lib/memory/mos-status-renderer.test.cjs +631 -0
- package/lib/memory/narrative-schema.cjs +376 -0
- package/lib/memory/narrative-schema.test.cjs +209 -0
- package/lib/memory/nav-dial.test.cjs +414 -0
- package/lib/memory/navigation-engine-core.test.cjs +722 -0
- package/lib/memory/navigation-invariants.test.cjs +483 -0
- package/lib/memory/offer-presenter.test.cjs +554 -0
- package/lib/memory/on-stop-snapshot.test.cjs +404 -0
- package/lib/memory/pending-tension-store.cjs +373 -0
- package/lib/memory/post-compact-reinjection.test.cjs +854 -0
- package/lib/memory/post-write-triple.test.cjs +317 -0
- package/lib/memory/pre-compact-snapshot.test.cjs +495 -0
- package/lib/memory/problem-type-router.test.cjs +656 -0
- package/lib/memory/query-efficiency-telemetry.test.cjs +370 -0
- package/lib/memory/recompile-room-references.test.cjs +392 -0
- package/lib/memory/recompile-room-references.worker.cjs +42 -0
- package/lib/memory/record-decision-dual-write.test.cjs +454 -0
- package/lib/memory/room-classifier-strict-mode.test.cjs +417 -0
- package/lib/memory/room-minto-hook.test.cjs +398 -0
- package/lib/memory/rs-discovery-engine.test.cjs +323 -0
- package/lib/memory/run-feynman-tests.cjs +1247 -0
- package/lib/memory/security-trifecta.test.cjs +312 -0
- package/lib/memory/session-start-brain-staleness.test.cjs +363 -0
- package/lib/memory/session-start-triple-injection.test.cjs +514 -0
- package/lib/memory/sessionstart-banner-formatter.cjs +318 -0
- package/lib/memory/sessionstart-minto-banner.test.cjs +373 -0
- package/lib/memory/skill-activation-router.test.cjs +419 -0
- package/lib/memory/stamp-artifact-write.test.cjs +304 -0
- package/lib/memory/statusline-active-room.test.cjs +315 -0
- package/lib/memory/statusline-minto-segment.test.cjs +292 -0
- package/lib/memory/sync-async-entry-points.test.cjs +204 -0
- package/lib/memory/test-bridge-writer-enhanced.cjs +452 -0
- package/lib/memory/test-rs-brain-substrate-shape.cjs +529 -0
- package/lib/memory/test-rs-brain-substrate.cjs +636 -0
- package/lib/memory/test-rs-breakthrough-scorer.cjs +375 -0
- package/lib/memory/test-rs-canon-violations.cjs +218 -0
- package/lib/memory/test-rs-chain-feeder-core.cjs +344 -0
- package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +297 -0
- package/lib/memory/test-rs-commercial-assessor.cjs +385 -0
- package/lib/memory/test-rs-differential-scorer.cjs +480 -0
- package/lib/memory/test-rs-discovery-engine.cjs +603 -0
- package/lib/memory/test-rs-domain-analyzer.cjs +492 -0
- package/lib/memory/test-rs-egress-primitives.cjs +420 -0
- package/lib/memory/test-rs-expert-mapper.cjs +547 -0
- package/lib/memory/test-rs-explain-command.cjs +443 -0
- package/lib/memory/test-rs-fetcher-academic.cjs +848 -0
- package/lib/memory/test-rs-fetcher-experts.cjs +496 -0
- package/lib/memory/test-rs-fetcher-industry.cjs +702 -0
- package/lib/memory/test-rs-fetcher-patents.cjs +674 -0
- package/lib/memory/test-rs-innovation-classifier.cjs +301 -0
- package/lib/memory/test-rs-mind-map.cjs +646 -0
- package/lib/memory/test-rs-neo4j-writer.cjs +518 -0
- package/lib/memory/test-rs-nl-to-query.cjs +449 -0
- package/lib/memory/test-rs-pinecone-bridge.cjs +277 -0
- package/lib/memory/test-rs-preprocessor.cjs +433 -0
- package/lib/memory/test-rs-query-matrix.cjs +391 -0
- package/lib/memory/test-rs-query-to-text.cjs +551 -0
- package/lib/memory/test-rs-sqlite-mirror.cjs +649 -0
- package/lib/memory/test-rs-thesis-generator.cjs +360 -0
- package/lib/memory/triple-context-formatter.cjs +473 -0
- package/lib/memory/triple-context-formatter.test.cjs +442 -0
- package/lib/memory/user-md-persona.test.cjs +565 -0
- package/lib/memory/userpromptsubmit-integration.test.cjs +690 -0
- package/lib/memory/validators/README.md +157 -0
- package/lib/memory/validators/brain-md-invariants.cjs +475 -0
- package/lib/memory/validators/brain-substrate-invariants.cjs +285 -0
- package/lib/memory/validators/external-academic-invariants.cjs +249 -0
- package/lib/memory/validators/external-industry-invariants.cjs +271 -0
- package/lib/memory/validators/external-patents-invariants.cjs +266 -0
- package/lib/memory/validators/minto-invariants.cjs +62 -0
- package/lib/memory/validators/navigation-invariants.cjs +340 -0
- package/lib/memory/validators/queue-health.cjs +95 -0
- package/lib/memory/validators/snapshot-integrity.cjs +129 -0
- package/lib/memory/validators/stale-lifecycle.cjs +116 -0
- package/lib/memory/vault-section-minto-generator-atomic.test.cjs +556 -0
- package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +73 -0
- package/lib/memory/write-lock-atomic.test.cjs +137 -0
- package/lib/memory/write-lock-atomic.worker.cjs +55 -0
- package/lib/parity/check-parity.cjs +83 -0
- package/lib/presentation/presentation-server.cjs +101 -0
- package/lib/presentation/presentation-watcher.cjs +123 -0
- package/lib/quickview/hub-server.cjs +719 -0
- package/lib/quickview/server.cjs +533 -0
- package/lib/render/JTBD-PALETTES.md +145 -0
- package/lib/render/ROOM.md +59 -0
- package/lib/render/render-v2.cjs +486 -0
- package/lib/render/render-v2.test.cjs +267 -0
- package/lib/render/render.cjs +65 -0
- package/lib/state/ROOM.md +46 -0
- package/lib/state/state-md-parser.cjs +215 -0
- package/lib/statusline/ROOM.md +38 -0
- package/lib/statusline/banner-suppression.cjs +50 -0
- package/lib/statusline/surface-detect.cjs +85 -0
- package/lib/update-bootstrap.sh.template +145 -0
- package/lib/vault/frontmatter-schema.cjs +297 -0
- package/lib/vault/room-scanner.cjs +352 -0
- package/lib/vault/wikilink-builder.cjs +231 -0
- package/lib/vault/wikilink-builder.test.cjs +182 -0
- package/lib/wiki/graph-links.cjs +281 -0
- package/lib/wiki/page-renderer.cjs +229 -0
- package/lib/wiki/wiki-chat.cjs +81 -0
- package/lib/wiki/wiki-layout.cjs +1459 -0
- package/lib/wiki/wiki-search.cjs +142 -0
- package/lib/wiki/wiki-server.cjs +678 -0
- package/lib/wiki/wiki-watcher.cjs +105 -0
- package/lib/workflow/ROOM.md +47 -0
- package/lib/workflow/command-resolver.cjs +155 -0
- package/lib/workflow/command-resolver.test.cjs +235 -0
- package/package.json +44 -0
- package/pipelines/analogy/01-decompose.md +80 -0
- package/pipelines/analogy/02-abstract.md +87 -0
- package/pipelines/analogy/03-search.md +135 -0
- package/pipelines/analogy/04-transfer.md +101 -0
- package/pipelines/analogy/05-validate.md +106 -0
- package/pipelines/analogy/CHAIN.md +56 -0
- package/pipelines/discovery/01-explore-domains.md +44 -0
- package/pipelines/discovery/02-think-hats.md +50 -0
- package/pipelines/discovery/03-analyze-needs.md +54 -0
- package/pipelines/discovery/CHAIN.md +37 -0
- package/pipelines/thesis/01-structure-argument.md +45 -0
- package/pipelines/thesis/02-challenge-assumptions.md +48 -0
- package/pipelines/thesis/03-build-thesis.md +54 -0
- package/pipelines/thesis/CHAIN.md +37 -0
- package/references/brain/causal-directives.md +91 -0
- package/references/brain/causal-enrichment.cypher +165 -0
- package/references/brain/command-triggers-schema.md +226 -0
- package/references/brain/graph-architecture.md +317 -0
- package/references/brain/query-patterns.md +460 -0
- package/references/brain/room-hierarchy-schema.md +218 -0
- package/references/brain/schema.md +76 -0
- package/references/capability-radar/capabilities-index.md +241 -0
- package/references/capability-radar/changelog-cache.md +81 -0
- package/references/causal/causal-schema.md +103 -0
- package/references/design/email-template-standard.md +155 -0
- package/references/design/graph-visualization-standard.md +178 -0
- package/references/document-generation.md +179 -0
- package/references/hsi/HSI-TOOLS-REFERENCE.md +222 -0
- package/references/import-config.md +141 -0
- package/references/integrations/detection-patterns.md +101 -0
- package/references/meeting/artifact-template.md +377 -0
- package/references/meeting/cross-meeting-intelligence.md +216 -0
- package/references/meeting/cross-relationship-patterns.md +202 -0
- package/references/meeting/live-join-interface.md +244 -0
- package/references/meeting/section-mapping.md +192 -0
- package/references/meeting/segment-classification.md +258 -0
- package/references/meeting/speaker-profile-template.md +219 -0
- package/references/meeting/summary-template.md +348 -0
- package/references/meeting/transcript-patterns.md +226 -0
- package/references/methodology/analyze-needs.md +135 -0
- package/references/methodology/analyze-systems.md +121 -0
- package/references/methodology/analyze-timing.md +149 -0
- package/references/methodology/beautiful-question.md +109 -0
- package/references/methodology/build-knowledge.md +161 -0
- package/references/methodology/build-thesis.md +237 -0
- package/references/methodology/challenge-assumptions.md +127 -0
- package/references/methodology/diagnose.md +169 -0
- package/references/methodology/dominant-designs.md +212 -0
- package/references/methodology/explore-domains.md +147 -0
- package/references/methodology/explore-futures.md +163 -0
- package/references/methodology/explore-trends.md +129 -0
- package/references/methodology/find-bottlenecks.md +131 -0
- package/references/methodology/grade.md +211 -0
- package/references/methodology/index.md +97 -0
- package/references/methodology/leadership.md +200 -0
- package/references/methodology/lean-canvas.md +116 -0
- package/references/methodology/macro-trends.md +192 -0
- package/references/methodology/map-unknowns.md +137 -0
- package/references/methodology/mullins-7-domains.md +104 -0
- package/references/methodology/problem-types.md +65 -0
- package/references/methodology/root-cause.md +178 -0
- package/references/methodology/sapphire-encoding.md +355 -0
- package/references/methodology/scenario-plan.md +178 -0
- package/references/methodology/score-innovation.md +154 -0
- package/references/methodology/structure-argument.md +158 -0
- package/references/methodology/systems-thinking.md +159 -0
- package/references/methodology/think-hats.md +147 -0
- package/references/methodology/triz-matrix.json +751 -0
- package/references/methodology/triz-principles.md +501 -0
- package/references/methodology/user-needs.md +199 -0
- package/references/methodology/validate.md +163 -0
- package/references/methodology/value-proposition.md +244 -0
- package/references/opportunities/funding-lifecycle.md +103 -0
- package/references/opportunities/grant-api-patterns.md +99 -0
- package/references/opportunities/opportunity-template.md +84 -0
- package/references/personality/assessment-philosophy.md +72 -0
- package/references/personality/lexicon.md +100 -0
- package/references/personality/persona-chains.md +56 -0
- package/references/personality/pws-lexicon-full.md +499 -0
- package/references/personality/voice-dna.md +156 -0
- package/references/personas/hat-perspectives.md +76 -0
- package/references/personas/persona-template.md +63 -0
- package/references/pipeline/act-output-contract.md +88 -0
- package/references/pipeline/chains-index.md +39 -0
- package/references/pws-profile-generation.md +79 -0
- package/references/reasoning/reasoning-schema.md +143 -0
- package/references/reasoning/reasoning-template.md +68 -0
- package/references/reasoning/run-template.md +38 -0
- package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +209 -0
- package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +375 -0
- package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +575 -0
- package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +272 -0
- package/references/taxonomy/TAXONOMY.md +192 -0
- package/references/templates/MINTO.md +36 -0
- package/references/user-research/2026-04-05-leah-lawrence-session.md +202 -0
- package/references/vault-kit/README.md +35 -0
- package/references/vault-kit/app.json +12 -0
- package/references/vault-kit/appearance.json +12 -0
- package/references/vault-kit/graph.json +35 -0
- package/references/vault-kit/snippets/mindrian-destijl.css +297 -0
- package/references/vault-kit/templates/new-artifact.md +37 -0
- package/references/vault-kit/templates/new-meeting-note.md +35 -0
- package/references/vault-kit/templates/new-team-profile.md +29 -0
- package/references/vault-kit/templates/new-xref.md +35 -0
- package/references/visual/symbol-system.md +151 -0
- package/skills/MOSDeckEngine/SKILL.md +325 -0
- package/skills/brain-connector/SKILL.md +114 -0
- package/skills/context-engine/SKILL.md +147 -0
- package/skills/conversation-mode/SKILL.md +102 -0
- package/skills/larry-personality/SKILL.md +219 -0
- package/skills/larry-personality/framework-chains.md +92 -0
- package/skills/larry-personality/mode-engine.md +185 -0
- package/skills/mullins-scaffold/SKILL.md +61 -0
- package/skills/mullins-scaffold/scaffold.json +146 -0
- package/skills/pws-methodology/SKILL.md +49 -0
- package/skills/room-passive/SKILL.md +165 -0
- package/skills/room-proactive/SKILL.md +250 -0
- package/skills/ui-system/SKILL.md +277 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
# Brain Query Patterns
|
|
2
|
+
|
|
3
|
+
13 named Cypher/Pinecone templates. Single source of truth for all agents, skills, and commands.
|
|
4
|
+
|
|
5
|
+
## How to Use
|
|
6
|
+
|
|
7
|
+
Agents and skills read this file on demand. To execute a pattern:
|
|
8
|
+
1. Find the named pattern below
|
|
9
|
+
2. Replace `$parameters` with specific values from current context
|
|
10
|
+
3. Call `mcp__neo4j-brain__read_neo4j_cypher` with the adapted Cypher
|
|
11
|
+
4. For `brain_search_semantic`, call `mcp__pinecone-brain__search-records` instead
|
|
12
|
+
|
|
13
|
+
Never run Cypher without a LIMIT clause. Never expose raw results to users -- synthesize into insights.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. brain_framework_chain
|
|
18
|
+
|
|
19
|
+
**Purpose:** Given current frameworks + problem type, recommend next framework.
|
|
20
|
+
|
|
21
|
+
```cypher
|
|
22
|
+
MATCH (current:Framework)-[r:FEEDS_INTO|TRANSFORMS_OUTPUT_TO]->(next:Framework)
|
|
23
|
+
WHERE current.name IN $current_frameworks
|
|
24
|
+
AND NOT next.name IN $current_frameworks
|
|
25
|
+
OPTIONAL MATCH (next)-[:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType {name: $problem_type})
|
|
26
|
+
RETURN next.name AS framework,
|
|
27
|
+
type(r) AS relation,
|
|
28
|
+
r.confidence AS confidence,
|
|
29
|
+
r.transform_description AS transform,
|
|
30
|
+
pt IS NOT NULL AS matches_problem_type
|
|
31
|
+
ORDER BY r.confidence DESC, matches_problem_type DESC
|
|
32
|
+
LIMIT 5
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Output:** List of recommended next frameworks with confidence scores and problem-type alignment.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 2. brain_grade_calibrate
|
|
40
|
+
|
|
41
|
+
**Purpose:** Get rubric score distribution and percentile data from real graded projects.
|
|
42
|
+
|
|
43
|
+
```cypher
|
|
44
|
+
MATCH (f:Framework)-[a:APPLIED_IN]->(e:Example)
|
|
45
|
+
WHERE f.name IN $frameworks_used
|
|
46
|
+
RETURN e.project_name AS project,
|
|
47
|
+
e.grade AS grade,
|
|
48
|
+
e.grade_numeric AS score,
|
|
49
|
+
e.rubric_scores AS rubric,
|
|
50
|
+
e.feedback_patterns AS feedback,
|
|
51
|
+
e.percentile AS percentile,
|
|
52
|
+
a.quality_score AS quality
|
|
53
|
+
ORDER BY e.grade_numeric DESC
|
|
54
|
+
LIMIT 20
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Output:** Distribution of grades, rubric scores, and feedback patterns for calibration.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. brain_find_patterns
|
|
62
|
+
|
|
63
|
+
**Purpose:** Find similar ventures via Tool/Framework co-occurrence patterns.
|
|
64
|
+
|
|
65
|
+
```cypher
|
|
66
|
+
MATCH (f:Framework)-[:CO_OCCURS]->(related:Framework)
|
|
67
|
+
WHERE f.name IN $current_frameworks
|
|
68
|
+
WITH related, count(*) AS overlap
|
|
69
|
+
OPTIONAL MATCH (related)-[:APPLIED_IN]->(e:Example)
|
|
70
|
+
RETURN related.name AS framework,
|
|
71
|
+
overlap,
|
|
72
|
+
collect(DISTINCT e.project_name)[..3] AS example_projects,
|
|
73
|
+
related.category AS category
|
|
74
|
+
ORDER BY overlap DESC
|
|
75
|
+
LIMIT 10
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Output:** Frameworks that commonly co-occur with current set, plus example projects.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 4. brain_concept_connect
|
|
83
|
+
|
|
84
|
+
**Purpose:** GraphRAG -- immediate connections from a concept node.
|
|
85
|
+
|
|
86
|
+
```cypher
|
|
87
|
+
MATCH (c {name: $concept})-[r]->(connected)
|
|
88
|
+
RETURN c.name AS source,
|
|
89
|
+
type(r) AS relationship,
|
|
90
|
+
connected.name AS target,
|
|
91
|
+
labels(connected)[0] AS target_type,
|
|
92
|
+
r.confidence AS confidence
|
|
93
|
+
ORDER BY r.confidence DESC
|
|
94
|
+
LIMIT 20
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Output:** All immediate graph neighbors of a concept with relationship types.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 5. brain_cross_domain
|
|
102
|
+
|
|
103
|
+
**Purpose:** Cross-domain discovery between two domains via shared Framework/Concept connections.
|
|
104
|
+
|
|
105
|
+
```cypher
|
|
106
|
+
MATCH (a:Concept {name: $domain_a})-[:CO_OCCURS|FEEDS_INTO*1..2]-(shared)-[:CO_OCCURS|FEEDS_INTO*1..2]-(b:Concept {name: $domain_b})
|
|
107
|
+
WHERE shared <> a AND shared <> b
|
|
108
|
+
RETURN DISTINCT shared.name AS bridge,
|
|
109
|
+
labels(shared)[0] AS bridge_type,
|
|
110
|
+
count(*) AS path_count
|
|
111
|
+
ORDER BY path_count DESC
|
|
112
|
+
LIMIT 15
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Output:** Bridging concepts/frameworks that connect two domains.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 6. brain_contradiction_check
|
|
120
|
+
|
|
121
|
+
**Purpose:** Find Framework pairs with conflicting effectiveness for the same ProblemType.
|
|
122
|
+
|
|
123
|
+
```cypher
|
|
124
|
+
MATCH (f1:Framework)-[a1:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType)<-[a2:ADDRESSES_PROBLEM_TYPE]-(f2:Framework)
|
|
125
|
+
WHERE f1.name IN $room_frameworks
|
|
126
|
+
AND f2.name IN $room_frameworks
|
|
127
|
+
AND f1 <> f2
|
|
128
|
+
AND abs(a1.effectiveness - a2.effectiveness) > 0.4
|
|
129
|
+
RETURN f1.name AS framework_a,
|
|
130
|
+
f2.name AS framework_b,
|
|
131
|
+
pt.name AS problem_type,
|
|
132
|
+
a1.effectiveness AS effectiveness_a,
|
|
133
|
+
a2.effectiveness AS effectiveness_b,
|
|
134
|
+
abs(a1.effectiveness - a2.effectiveness) AS gap
|
|
135
|
+
ORDER BY gap DESC
|
|
136
|
+
LIMIT 10
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Output:** Framework pairs with significantly different effectiveness ratings for the same problem type.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 7. brain_gap_assess
|
|
144
|
+
|
|
145
|
+
**Purpose:** Given current room frameworks, find missing prerequisites and feed-into targets.
|
|
146
|
+
|
|
147
|
+
```cypher
|
|
148
|
+
MATCH (current:Framework)-[:PREREQUISITE]->(prereq:Framework)
|
|
149
|
+
WHERE current.name IN $room_frameworks
|
|
150
|
+
AND NOT prereq.name IN $room_frameworks
|
|
151
|
+
RETURN 'PREREQUISITE' AS gap_type,
|
|
152
|
+
current.name AS for_framework,
|
|
153
|
+
prereq.name AS missing,
|
|
154
|
+
prereq.description AS description
|
|
155
|
+
UNION
|
|
156
|
+
MATCH (current:Framework)-[:FEEDS_INTO]->(target:Framework)
|
|
157
|
+
WHERE current.name IN $room_frameworks
|
|
158
|
+
AND NOT target.name IN $room_frameworks
|
|
159
|
+
RETURN 'FEEDS_INTO' AS gap_type,
|
|
160
|
+
current.name AS for_framework,
|
|
161
|
+
target.name AS missing,
|
|
162
|
+
target.description AS description
|
|
163
|
+
LIMIT 10
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Output:** Missing prerequisites and natural next-step frameworks not yet in the room.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 8. brain_search_semantic
|
|
171
|
+
|
|
172
|
+
**Purpose:** Pinecone vector search -- not Cypher. Semantic similarity across Brain embeddings.
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Tool: mcp__pinecone-brain__search-records
|
|
176
|
+
Parameters:
|
|
177
|
+
query: $search_text
|
|
178
|
+
top_k: 10
|
|
179
|
+
filter: { type: $node_type } (optional -- filter by Framework, Book, Tool, etc.)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Output:** Ranked list of semantically similar items with scores and metadata.
|
|
183
|
+
|
|
184
|
+
**Usage notes:** Use for fuzzy matching when exact node names are unknown. Combine with Cypher patterns for hybrid retrieval: semantic search finds candidates, Cypher explores their graph neighborhood.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 9. brain_analogy_search
|
|
189
|
+
|
|
190
|
+
**Purpose:** Cross-domain analogy discovery -- find frameworks from DIFFERENT domains that address the SAME problem type.
|
|
191
|
+
|
|
192
|
+
```cypher
|
|
193
|
+
MATCH (f1:Framework)-[:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType)
|
|
194
|
+
WHERE f1.category = $source_category
|
|
195
|
+
WITH pt, collect(f1) AS source_frameworks
|
|
196
|
+
MATCH (f2:Framework)-[:ADDRESSES_PROBLEM_TYPE]->(pt)
|
|
197
|
+
WHERE NOT f2.category = $source_category
|
|
198
|
+
AND NOT f2 IN source_frameworks
|
|
199
|
+
OPTIONAL MATCH (f2)-[:CO_OCCURS]->(bridge:Framework)
|
|
200
|
+
WHERE bridge IN source_frameworks
|
|
201
|
+
RETURN f2.name AS framework,
|
|
202
|
+
f2.category AS category,
|
|
203
|
+
f2.description AS description,
|
|
204
|
+
pt.name AS problem_type,
|
|
205
|
+
bridge.name AS bridge_framework
|
|
206
|
+
ORDER BY bridge IS NOT NULL DESC
|
|
207
|
+
LIMIT 15
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Parameters:**
|
|
211
|
+
- `$source_category` -- the venture's primary domain/category (e.g., "healthcare", "education", "fintech")
|
|
212
|
+
|
|
213
|
+
**Output:** Frameworks from other domains that solve the same type of problem, with optional bridging frameworks that connect the two domains.
|
|
214
|
+
|
|
215
|
+
**Usage notes:** Used by the Design-by-Analogy pipeline (Stage 3 SEARCH) and `/mos:find-analogies --brain`. The key insight: same problem type + different domain = structural analogy candidate. Bridge frameworks increase confidence that the analogy is meaningful, not superficial.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 10. brain_proactive_suggest
|
|
220
|
+
|
|
221
|
+
**Purpose:** Given the user's current Room state (frameworks used, venture stage, section health, active signals), return a ranked list of ACTIONS the Brain recommends -- not just frameworks, but specific /mos: commands with JTBD reasoning.
|
|
222
|
+
|
|
223
|
+
This is the Brain's proactive intelligence engine. It doesn't wait to be asked. It knows what works based on 100+ real projects and tells Larry WHAT to suggest and WHY.
|
|
224
|
+
|
|
225
|
+
### Query 10a: What Should the User Do Next?
|
|
226
|
+
|
|
227
|
+
```cypher
|
|
228
|
+
// Find frameworks the user HASN'T used that their current frameworks FEED INTO
|
|
229
|
+
MATCH (current:Framework)-[r:FEEDS_INTO]->(next:Framework)
|
|
230
|
+
WHERE current.name IN $room_frameworks
|
|
231
|
+
AND NOT next.name IN $room_frameworks
|
|
232
|
+
WITH next, r, r.confidence AS confidence
|
|
233
|
+
|
|
234
|
+
// Check if next framework addresses the user's problem type
|
|
235
|
+
OPTIONAL MATCH (next)-[apt:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType {name: $problem_type})
|
|
236
|
+
|
|
237
|
+
// Check if there's a phase/stage progression pattern
|
|
238
|
+
OPTIONAL MATCH (next)-[:HAS_PHASE]->(phase)
|
|
239
|
+
WITH next, confidence, pt, count(phase) AS phase_count
|
|
240
|
+
|
|
241
|
+
// Get success data from real projects
|
|
242
|
+
OPTIONAL MATCH (next)-[:APPLIED_IN]->(example:Example)
|
|
243
|
+
WHERE example.grade_numeric >= 80
|
|
244
|
+
|
|
245
|
+
RETURN next.name AS framework,
|
|
246
|
+
next.description AS description,
|
|
247
|
+
next.category AS category,
|
|
248
|
+
confidence,
|
|
249
|
+
pt IS NOT NULL AS matches_problem,
|
|
250
|
+
phase_count,
|
|
251
|
+
count(example) AS success_count
|
|
252
|
+
ORDER BY confidence DESC, matches_problem DESC, success_count DESC
|
|
253
|
+
LIMIT 5
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Parameters:**
|
|
257
|
+
- `$room_frameworks` -- frameworks the user has already used (from Room artifacts' methodology frontmatter)
|
|
258
|
+
- `$problem_type` -- inferred from STATE.md (e.g., "wicked", "ill-defined-complex")
|
|
259
|
+
|
|
260
|
+
**Output:** Ranked next-action recommendations with confidence and success data.
|
|
261
|
+
|
|
262
|
+
### Query 10b: What's the Proven Sequence for This Stage?
|
|
263
|
+
|
|
264
|
+
```cypher
|
|
265
|
+
// Find the most common framework SEQUENCE for this venture stage
|
|
266
|
+
MATCH (f1:Framework)-[r:FEEDS_INTO]->(f2:Framework)-[:FEEDS_INTO]->(f3:Framework)
|
|
267
|
+
WHERE f1.name IN $room_frameworks
|
|
268
|
+
AND NOT f2.name IN $room_frameworks
|
|
269
|
+
AND NOT f3.name IN $room_frameworks
|
|
270
|
+
|
|
271
|
+
// Check sequence success in real projects
|
|
272
|
+
OPTIONAL MATCH (f1)-[:APPLIED_IN]->(e:Example)<-[:APPLIED_IN]-(f2)
|
|
273
|
+
WHERE e.grade_numeric >= 75
|
|
274
|
+
|
|
275
|
+
RETURN f1.name AS current,
|
|
276
|
+
f2.name AS next_step,
|
|
277
|
+
f3.name AS after_that,
|
|
278
|
+
r.confidence AS step_confidence,
|
|
279
|
+
r.transform_description AS why_this_order,
|
|
280
|
+
count(e) AS projects_used_this_sequence
|
|
281
|
+
ORDER BY step_confidence DESC, projects_used_this_sequence DESC
|
|
282
|
+
LIMIT 3
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Output:** Proven 3-step sequences starting from the user's current frameworks.
|
|
286
|
+
|
|
287
|
+
### Query 10c: What Are Users at This Stage Missing?
|
|
288
|
+
|
|
289
|
+
```cypher
|
|
290
|
+
// Compare this user's framework set against the TYPICAL set for their venture stage
|
|
291
|
+
MATCH (stage:VentureStage {name: $venture_stage})<-[:TYPICAL_AT]-(typical:Framework)
|
|
292
|
+
WHERE NOT typical.name IN $room_frameworks
|
|
293
|
+
OPTIONAL MATCH (typical)-[:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType {name: $problem_type})
|
|
294
|
+
RETURN typical.name AS missing_framework,
|
|
295
|
+
typical.description AS why_it_matters,
|
|
296
|
+
typical.category AS category,
|
|
297
|
+
pt IS NOT NULL AS addresses_your_problem
|
|
298
|
+
ORDER BY addresses_your_problem DESC, typical.importance DESC
|
|
299
|
+
LIMIT 5
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Parameters:**
|
|
303
|
+
- `$venture_stage` -- from STATE.md (Pre-Opportunity, Discovery, Validation, Design, Investment)
|
|
304
|
+
|
|
305
|
+
**Output:** Frameworks typical for this stage that the user hasn't used yet.
|
|
306
|
+
|
|
307
|
+
### How Larry Uses Pattern 10 (Proactive Command Mapping)
|
|
308
|
+
|
|
309
|
+
The Brain returns framework names. Larry maps them to /mos: commands using the routing table in `references/methodology/index.md`. The mapping:
|
|
310
|
+
|
|
311
|
+
| Brain Returns | Larry Suggests | JTBD Framing |
|
|
312
|
+
|--------------|---------------|-------------|
|
|
313
|
+
| "Jobs-to-Be-Done" not used | `/mos:analyze-needs` | "When you don't know what job your customer hires for, you want to discover the struggling moment. `/mos:analyze-needs` does exactly that." |
|
|
314
|
+
| "Blue Ocean Strategy" as next step | `/mos:dominant-designs` | "When you've mapped customer needs but don't see a differentiated position, you want to find whitespace. `/mos:dominant-designs` does exactly that." |
|
|
315
|
+
| "Six Thinking Hats" for wicked problem | `/mos:think-hats` or `/mos:persona --parallel` | "When your problem has 8/10 wicked characteristics, you want multiple perspectives simultaneously. `/mos:persona --parallel` does exactly that -- 6 hats in 2 minutes." |
|
|
316
|
+
| Contradiction between frameworks | `/mos:find-analogies` | "When Brain sees your frameworks disagree on effectiveness, you want to find how other domains resolved the same tension. `/mos:find-analogies --brain` does exactly that." |
|
|
317
|
+
| Missing prerequisite | The specific prerequisite command | "When Brain says you skipped a prerequisite that 80% of successful ventures complete first, you want to backfill before it compounds. `/mos:[prereq]` does exactly that." |
|
|
318
|
+
| 3-step proven sequence | Suggest step 2 | "When Brain has seen 47 ventures use this exact sequence and 80% scored above B+, you want to follow the proven path. Next step: `/mos:[step2]`." |
|
|
319
|
+
|
|
320
|
+
### Integration Point: session-start Hook
|
|
321
|
+
|
|
322
|
+
The session-start hook already queries Brain for framework chains (see commands/help.md Brain Enhancement). Pattern 10 extends this:
|
|
323
|
+
|
|
324
|
+
1. SessionStart loads room frameworks from STATE.md
|
|
325
|
+
2. If Brain is connected, run `brain_proactive_suggest` (10a)
|
|
326
|
+
3. Store top 3 suggestions in session context
|
|
327
|
+
4. Larry's JTBD provoked suggestions (every 3-7 turns) draw from these Brain-ranked suggestions FIRST before falling back to local heuristics
|
|
328
|
+
|
|
329
|
+
This means Brain-connected users get SMARTER suggestions than free-tier users. The Brain knows what worked for 100+ real ventures. Local heuristics are good. Brain suggestions are calibrated.
|
|
330
|
+
|
|
331
|
+
### Graceful Degradation
|
|
332
|
+
|
|
333
|
+
| Tier | Source | Quality |
|
|
334
|
+
|------|--------|---------|
|
|
335
|
+
| Brain + Room | Pattern 10a/10b/10c + Room Signals | Best: calibrated from real projects, sequence-aware, stage-matched |
|
|
336
|
+
| Room only | Local heuristics from STATE.md + KuzuDB | Good: Room-specific but no cross-venture calibration |
|
|
337
|
+
| No Room | Generic stage-based defaults | Okay: standard recommendations from methodology index |
|
|
338
|
+
|
|
339
|
+
Brain suggestions ENRICH. They never GATE. Free-tier users still get good suggestions from local Room intelligence.
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## 11. causal_framework_select
|
|
344
|
+
|
|
345
|
+
**Purpose:** Given a problem type and venture stage, which causal framework fits best?
|
|
346
|
+
|
|
347
|
+
```cypher
|
|
348
|
+
MATCH (f:Framework)-[:RELATED_TO]->(:Concept {name: 'Causal Reasoning'})
|
|
349
|
+
OPTIONAL MATCH (f)-[:TYPICAL_AT]->(s:VentureStage {name: $stage})
|
|
350
|
+
RETURN f.name AS framework,
|
|
351
|
+
f.description AS description,
|
|
352
|
+
s IS NOT NULL AS matches_stage
|
|
353
|
+
ORDER BY matches_stage DESC
|
|
354
|
+
LIMIT 5
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Parameters:**
|
|
358
|
+
- `$stage` -- venture stage from STATE.md (Pre-Opportunity, Opportunity Identified, Problem Validation, Discovery, Design, Investment)
|
|
359
|
+
|
|
360
|
+
**Output:** Ranked list of causal frameworks with stage-match indicator.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## 12. causal_pattern_match
|
|
365
|
+
|
|
366
|
+
**Purpose:** Given a causal claim's domain, find which frameworks and teaching examples address similar causal patterns.
|
|
367
|
+
|
|
368
|
+
```cypher
|
|
369
|
+
MATCH (f:Framework)-[:RELATED_TO]->(:Concept {name: 'Causal Reasoning'})
|
|
370
|
+
OPTIONAL MATCH (f)-[:ADDRESSES_PROBLEM_TYPE]->(pt:ProblemType)
|
|
371
|
+
WHERE pt.name CONTAINS $domain OR pt.name CONTAINS $problem_keyword
|
|
372
|
+
OPTIONAL MATCH (f)-[a:APPLIED_IN]->(e:Example)
|
|
373
|
+
RETURN f.name AS framework,
|
|
374
|
+
collect(DISTINCT pt.name) AS problem_types,
|
|
375
|
+
collect(DISTINCT e.project_name)[0..3] AS example_projects,
|
|
376
|
+
a.grade_numeric AS example_grade
|
|
377
|
+
ORDER BY size(collect(DISTINCT pt.name)) DESC
|
|
378
|
+
LIMIT 5
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Parameters:**
|
|
382
|
+
- `$domain` -- causal claim domain (materials, business, competitive, financial, team, legal, general)
|
|
383
|
+
- `$problem_keyword` -- keyword from the causal claim's cause or effect text
|
|
384
|
+
|
|
385
|
+
**Output:** Frameworks that address similar problem types, with teaching examples for calibration.
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## 13. causal_contradiction_resolve
|
|
390
|
+
|
|
391
|
+
**Purpose:** When two causal claims contradict, find frameworks and resolution patterns from the Brain.
|
|
392
|
+
|
|
393
|
+
```cypher
|
|
394
|
+
MATCH (f:Framework)-[:RELATED_TO]->(:Concept {name: 'Causal Reasoning'})
|
|
395
|
+
WHERE f.name IN ['Six Thinking Hats', 'Cynefin', 'Root Cause Analysis', 'Systems Thinking']
|
|
396
|
+
OPTIONAL MATCH (f)-[:CO_OCCURS]->(co:Framework)
|
|
397
|
+
OPTIONAL MATCH (f)-[:FEEDS_INTO]->(next:Framework)
|
|
398
|
+
RETURN f.name AS framework,
|
|
399
|
+
f.description AS description,
|
|
400
|
+
collect(DISTINCT co.name) AS co_occurs_with,
|
|
401
|
+
collect(DISTINCT next.name) AS feeds_into
|
|
402
|
+
LIMIT 10
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
**Parameters:** None -- returns the full contradiction resolution toolkit.
|
|
406
|
+
|
|
407
|
+
**Output:** Frameworks suited for resolving causal contradictions, with their co-occurrence and chaining relationships.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## 14. brain_whitespace_similar
|
|
412
|
+
|
|
413
|
+
**Purpose:** Given a problem type and optional venture stage, find what whitespace gaps similar ventures discovered.
|
|
414
|
+
|
|
415
|
+
```cypher
|
|
416
|
+
MATCH (wz:WhitespaceZone)-[:EXPLORED_BY]->(f:Framework)
|
|
417
|
+
WHERE wz.problem_type = $problem_type
|
|
418
|
+
WITH wz, collect(f.name) AS chain, wz.density_score AS density, wz.strategic_rank AS rank
|
|
419
|
+
ORDER BY rank ASC, density ASC
|
|
420
|
+
RETURN wz.problem_type AS problem_type,
|
|
421
|
+
wz.hypothesis AS hypothesis,
|
|
422
|
+
chain AS framework_chain,
|
|
423
|
+
density,
|
|
424
|
+
rank
|
|
425
|
+
LIMIT 10
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
**Parameters:**
|
|
429
|
+
- `$problem_type` -- problem classification (Ill-Defined, Well-Defined, Wicked, Un-Defined)
|
|
430
|
+
|
|
431
|
+
**Output:** Ranked whitespace zones discovered by other ventures with the same problem type, including the framework chains used to explore them.
|
|
432
|
+
|
|
433
|
+
**Usage notes:** Used by Larry when a user asks "what am I missing?" or when Brain proactively suggests surfaces gaps. Results are anonymized -- no room or user identifying data is stored. Combine with pattern 1 (brain_framework_chain) to recommend next exploration steps.
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## 15. brain_whitespace_resolve
|
|
438
|
+
|
|
439
|
+
**Purpose:** Given a whitespace pattern type, find which framework chains have been used to resolve similar gaps.
|
|
440
|
+
|
|
441
|
+
```cypher
|
|
442
|
+
MATCH (pt:ProblemType)-[tw:TYPICAL_WHITESPACE]->(wp:WhitespacePattern)
|
|
443
|
+
WHERE wp.type = $whitespace_type
|
|
444
|
+
WITH pt, tw.occurrences AS frequency
|
|
445
|
+
MATCH (wz:WhitespaceZone {problem_type: wp.type})-[:EXPLORED_BY]->(f:Framework)
|
|
446
|
+
WITH pt, frequency, wz, collect({name: f.name, position: wz.density_score}) AS chain
|
|
447
|
+
RETURN pt.name AS problem_type,
|
|
448
|
+
frequency AS times_seen,
|
|
449
|
+
wz.hypothesis AS example_hypothesis,
|
|
450
|
+
[c IN chain | c.name] AS resolution_chain
|
|
451
|
+
ORDER BY frequency DESC
|
|
452
|
+
LIMIT 10
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Parameters:**
|
|
456
|
+
- `$whitespace_type` -- the whitespace pattern type string (matches WhitespaceZone.problem_type)
|
|
457
|
+
|
|
458
|
+
**Output:** Problem types that commonly exhibit this whitespace pattern, how often it occurs, example hypotheses, and the framework chains that have explored it.
|
|
459
|
+
|
|
460
|
+
**Usage notes:** Used when Larry says "ventures like yours typically have a gap in X -- here's how others explored it." The resolution_chain shows the actual methodology sequence used, not just a recommendation. Combine with pattern 14 for full whitespace intelligence: 14 finds WHAT gaps exist, 15 finds HOW to resolve them.
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Room Hierarchy Graph Schema
|
|
2
|
+
|
|
3
|
+
Schema for Room/RoomGroup hierarchy in both KuzuDB (local) and Neo4j Brain (remote).
|
|
4
|
+
Added in Phase 59.2. Additive-only -- filesystem + registry.json remain operational truth.
|
|
5
|
+
|
|
6
|
+
## Node Types
|
|
7
|
+
|
|
8
|
+
### Room
|
|
9
|
+
Represents a registered Data Room (venture workspace).
|
|
10
|
+
|
|
11
|
+
| Property | Type | Source | Notes |
|
|
12
|
+
|----------|------|--------|-------|
|
|
13
|
+
| name | STRING (PK) | registry.json key | Room slug, e.g. "acme-robotics" |
|
|
14
|
+
| venture_name | STRING | registry.json | Human-readable name |
|
|
15
|
+
| venture_stage | STRING | registry.json | Pre-Opportunity, Discovery, Validation, Design, Investment |
|
|
16
|
+
| domain | STRING | registry.json or inferred | Domain keywords |
|
|
17
|
+
| status | STRING | registry.json | active, parked, archived |
|
|
18
|
+
| created | STRING | registry.json | ISO 8601 timestamp |
|
|
19
|
+
| path | STRING | registry.json | Relative path from ROOMS_HOME |
|
|
20
|
+
|
|
21
|
+
**Present in:** KuzuDB + Brain
|
|
22
|
+
|
|
23
|
+
### RoomGroup
|
|
24
|
+
Represents a grouping directory (clients/, internal/, etc.).
|
|
25
|
+
|
|
26
|
+
| Property | Type | Source | Notes |
|
|
27
|
+
|----------|------|--------|-------|
|
|
28
|
+
| name | STRING (PK) | Directory name | Group slug, e.g. "clients" |
|
|
29
|
+
| icm_layer | STRING | Always "group" | ICM classification |
|
|
30
|
+
| rationale | STRING | CLAUDE.md first line | Why this group exists |
|
|
31
|
+
| path | STRING | Relative from ROOMS_HOME | Directory path |
|
|
32
|
+
|
|
33
|
+
**Present in:** KuzuDB + Brain
|
|
34
|
+
|
|
35
|
+
### RoomRoot (Brain only)
|
|
36
|
+
Singleton node representing ~/MindrianRooms/ itself.
|
|
37
|
+
|
|
38
|
+
| Property | Type | Notes |
|
|
39
|
+
|----------|------|-------|
|
|
40
|
+
| name | STRING (PK) | Always "MindrianRooms" |
|
|
41
|
+
| created | DATETIME | First sync timestamp |
|
|
42
|
+
| path | STRING | Always "~/MindrianRooms/" |
|
|
43
|
+
|
|
44
|
+
### VentureStage
|
|
45
|
+
Five-stage taxonomy (already exists in Brain, seeded in KuzuDB).
|
|
46
|
+
|
|
47
|
+
| Property | Type | Notes |
|
|
48
|
+
|----------|------|-------|
|
|
49
|
+
| name | STRING (PK) | Pre-Opportunity, Discovery, Validation, Design, Investment |
|
|
50
|
+
|
|
51
|
+
**Present in:** KuzuDB + Brain (pre-existing in Brain)
|
|
52
|
+
|
|
53
|
+
## Relationship Types
|
|
54
|
+
|
|
55
|
+
### CONTAINS
|
|
56
|
+
Physical hierarchy edges.
|
|
57
|
+
|
|
58
|
+
| From | To | Scope | Notes |
|
|
59
|
+
|------|----|-------|-------|
|
|
60
|
+
| RoomRoot | RoomGroup | Brain | Root contains groups |
|
|
61
|
+
| RoomRoot | Room | Brain | Root contains ungrouped rooms |
|
|
62
|
+
| RoomGroup | Room | Both | Group contains rooms |
|
|
63
|
+
| RoomGroup | RoomGroup | KuzuDB | Nested groups (future) |
|
|
64
|
+
|
|
65
|
+
### AT_STAGE
|
|
66
|
+
Connects Room to its current VentureStage.
|
|
67
|
+
|
|
68
|
+
| From | To | Scope | Notes |
|
|
69
|
+
|------|----|-------|-------|
|
|
70
|
+
| Room | VentureStage | Both | One edge per room, deleted and recreated on stage change |
|
|
71
|
+
|
|
72
|
+
### USES_FRAMEWORK (Brain only)
|
|
73
|
+
Connects Room to Framework nodes based on methodology commands run in that room.
|
|
74
|
+
|
|
75
|
+
| From | To | Properties | Notes |
|
|
76
|
+
|------|----|------------|-------|
|
|
77
|
+
| Room | Framework | first_used (datetime), usage_count (int) | Created from room/.analytics.json |
|
|
78
|
+
|
|
79
|
+
Source: `track-analytics` records command usage per room. `sync-rooms-brain` maps commands to Framework node names.
|
|
80
|
+
|
|
81
|
+
### SHARES_THEME (Brain only)
|
|
82
|
+
Cross-room content similarity detected from problem-definition keywords.
|
|
83
|
+
|
|
84
|
+
| From | To | Properties | Notes |
|
|
85
|
+
|------|----|------------|-------|
|
|
86
|
+
| Room | Room | shared_terms (string), term_count (int), detected (datetime) | Bidirectional conceptually, stored as directed edge |
|
|
87
|
+
|
|
88
|
+
Detection: reads first 5 files from each room's `problem-definition/` directory, extracts domain keywords (5+ chars), requires 10+ shared keywords for edge creation.
|
|
89
|
+
|
|
90
|
+
### HAS_SECTION (Brain only)
|
|
91
|
+
Wires Room to DataRoomSection nodes (13 existing orphans in Brain).
|
|
92
|
+
|
|
93
|
+
| From | To | Notes |
|
|
94
|
+
|------|----|-------|
|
|
95
|
+
| Room | DataRoomSection | Created only when section directory exists in room filesystem |
|
|
96
|
+
|
|
97
|
+
Standard sections: Problem Definition, Market Analysis, Solution Design, Business Model, Competitive Analysis, Team & Execution, Legal & IP, Financial Model, Opportunity Bank, Funding, Product, Decisions, Beta Testing.
|
|
98
|
+
|
|
99
|
+
### GROUPED_BY_USER (Brain only, future)
|
|
100
|
+
Created by /mos:organize move when user confirms a grouping.
|
|
101
|
+
|
|
102
|
+
| From | To | Properties |
|
|
103
|
+
|------|----|------------|
|
|
104
|
+
| Room | RoomGroup | timestamp (datetime), rationale (string) |
|
|
105
|
+
|
|
106
|
+
### SEPARATED_BY_USER (Brain only, future)
|
|
107
|
+
Created by /mos:organize when user rejects a grouping.
|
|
108
|
+
|
|
109
|
+
| From | To | Properties |
|
|
110
|
+
|------|----|------------|
|
|
111
|
+
| Room | Room | timestamp (datetime), reason (string) |
|
|
112
|
+
|
|
113
|
+
## KuzuDB DDL
|
|
114
|
+
|
|
115
|
+
Location: `$ROOMS_HOME/.rooms/.room-graph/`
|
|
116
|
+
|
|
117
|
+
```sql
|
|
118
|
+
-- Node tables
|
|
119
|
+
CREATE NODE TABLE IF NOT EXISTS Room(
|
|
120
|
+
name STRING PRIMARY KEY,
|
|
121
|
+
venture_name STRING,
|
|
122
|
+
venture_stage STRING,
|
|
123
|
+
domain STRING,
|
|
124
|
+
status STRING,
|
|
125
|
+
created STRING,
|
|
126
|
+
path STRING
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
CREATE NODE TABLE IF NOT EXISTS RoomGroup(
|
|
130
|
+
name STRING PRIMARY KEY,
|
|
131
|
+
icm_layer STRING,
|
|
132
|
+
rationale STRING,
|
|
133
|
+
path STRING
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
CREATE NODE TABLE IF NOT EXISTS VentureStage(
|
|
137
|
+
name STRING PRIMARY KEY
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
-- Relationship tables
|
|
141
|
+
CREATE REL TABLE IF NOT EXISTS CONTAINS(FROM RoomGroup TO Room);
|
|
142
|
+
CREATE REL TABLE IF NOT EXISTS GROUP_CONTAINS(FROM RoomGroup TO RoomGroup);
|
|
143
|
+
CREATE REL TABLE IF NOT EXISTS AT_STAGE(FROM Room TO VentureStage);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Cypher Patterns for /mos:organize
|
|
147
|
+
|
|
148
|
+
### Get room hierarchy tree
|
|
149
|
+
```cypher
|
|
150
|
+
MATCH (root:RoomRoot {name: 'MindrianRooms'})
|
|
151
|
+
OPTIONAL MATCH (root)-[:CONTAINS]->(g:RoomGroup)-[:CONTAINS]->(r:Room)
|
|
152
|
+
OPTIONAL MATCH (root)-[:CONTAINS]->(ungrouped:Room)
|
|
153
|
+
WHERE NOT (ungrouped)<-[:CONTAINS]-(:RoomGroup)
|
|
154
|
+
RETURN g.name AS group_name,
|
|
155
|
+
collect(DISTINCT r.name) AS grouped_rooms,
|
|
156
|
+
collect(DISTINCT ungrouped.name) AS ungrouped_rooms
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Find rooms sharing frameworks
|
|
160
|
+
```cypher
|
|
161
|
+
MATCH (r1:Room)-[:USES_FRAMEWORK]->(f:Framework)<-[:USES_FRAMEWORK]-(r2:Room)
|
|
162
|
+
WHERE r1.name <> r2.name
|
|
163
|
+
RETURN r1.name, r2.name, collect(f.name) AS shared_frameworks
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Find rooms at the same venture stage
|
|
167
|
+
```cypher
|
|
168
|
+
MATCH (r:Room)-[:AT_STAGE]->(s:VentureStage)
|
|
169
|
+
RETURN s.name AS stage, collect(r.name) AS rooms
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Find rooms with shared themes
|
|
173
|
+
```cypher
|
|
174
|
+
MATCH (r1:Room)-[e:SHARES_THEME]->(r2:Room)
|
|
175
|
+
RETURN r1.name, r2.name, e.shared_terms, e.term_count
|
|
176
|
+
ORDER BY e.term_count DESC
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Find orphaned rooms (not in any group)
|
|
180
|
+
```cypher
|
|
181
|
+
MATCH (r:Room)
|
|
182
|
+
WHERE NOT (:RoomGroup)-[:CONTAINS]->(r)
|
|
183
|
+
RETURN r.name, r.venture_stage, r.status
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Get room's full context (all edges)
|
|
187
|
+
```cypher
|
|
188
|
+
MATCH (r:Room {name: $room_name})
|
|
189
|
+
OPTIONAL MATCH (r)-[:AT_STAGE]->(s:VentureStage)
|
|
190
|
+
OPTIONAL MATCH (r)-[:USES_FRAMEWORK]->(f:Framework)
|
|
191
|
+
OPTIONAL MATCH (r)-[:HAS_SECTION]->(sec:DataRoomSection)
|
|
192
|
+
OPTIONAL MATCH (r)-[:SHARES_THEME]-(other:Room)
|
|
193
|
+
RETURN r.name, s.name AS stage,
|
|
194
|
+
collect(DISTINCT f.name) AS frameworks,
|
|
195
|
+
collect(DISTINCT sec.name) AS sections,
|
|
196
|
+
collect(DISTINCT other.name) AS theme_neighbors
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Sync Scripts
|
|
200
|
+
|
|
201
|
+
| Script | Target | Trigger | Frequency |
|
|
202
|
+
|--------|--------|---------|-----------|
|
|
203
|
+
| `scripts/sync-rooms-graph` | KuzuDB local | session-start, room-registry create/archive | Every session + on room changes |
|
|
204
|
+
| `scripts/sync-rooms-brain` | Neo4j Brain | session-start (when Brain available) | Best-effort, per session |
|
|
205
|
+
|
|
206
|
+
Both scripts are idempotent and fire-and-forget. Failure degrades gracefully:
|
|
207
|
+
- Brain unavailable -> KuzuDB only
|
|
208
|
+
- KuzuDB unavailable -> filesystem only (Tier 0)
|
|
209
|
+
- Both unavailable -> everything still works from registry.json
|
|
210
|
+
|
|
211
|
+
## Additive-Only Rule (D-15 through D-18)
|
|
212
|
+
|
|
213
|
+
1. Graph NEVER writes to filesystem or registry.json
|
|
214
|
+
2. Graph NEVER blocks any operation on failure
|
|
215
|
+
3. All graph operations are fire-and-forget (async, best-effort)
|
|
216
|
+
4. Graph data can be regenerated from filesystem at any time (no exclusive state)
|
|
217
|
+
|
|
218
|
+
The graph layer adds intelligence. It never owns truth.
|