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