@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,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: models
|
|
3
|
+
description: View or switch model-routing profiles
|
|
4
|
+
argument-hint: [list|set|show]
|
|
5
|
+
body_shape: C (Information Card)
|
|
6
|
+
serves_jtbd: ["compare-options"]
|
|
7
|
+
ui_reference: skills/ui-system/SKILL.md
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Read
|
|
10
|
+
- Write
|
|
11
|
+
- Bash
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# /mos:models
|
|
15
|
+
|
|
16
|
+
You are Larry. This command manages model routing profiles that control which AI model each agent uses. Profiles determine cost vs. quality tradeoffs across all 8 MindrianOS agents.
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
- `/mos:models` -- show current profile and resolved models for all agents
|
|
21
|
+
- `/mos:models set <profile>` -- switch profile (quality, balanced, budget)
|
|
22
|
+
- `/mos:models override <agent> <model>` -- override a specific agent's model
|
|
23
|
+
- `/mos:models override <agent> clear` -- remove an agent override
|
|
24
|
+
- `/mos:models set-default <profile>` -- set global default for new rooms (writes ~/.mindrian/defaults.json)
|
|
25
|
+
- `/mos:models reset` -- remove room/.config.json, revert to defaults
|
|
26
|
+
|
|
27
|
+
## Step 1: Resolve Room
|
|
28
|
+
|
|
29
|
+
Find the active room by walking up from `$PWD` looking for `STATE.md` inside a `room/` directory.
|
|
30
|
+
|
|
31
|
+
- If `room/STATE.md` exists in the current workspace, the room directory is `room/`.
|
|
32
|
+
- If no room found, show global defaults only (from `~/.mindrian/defaults.json` or hardcoded quality fallback).
|
|
33
|
+
|
|
34
|
+
## Step 2: Parse Arguments
|
|
35
|
+
|
|
36
|
+
Determine the subcommand from the user's message:
|
|
37
|
+
|
|
38
|
+
| Input | Subcommand |
|
|
39
|
+
|-------|-----------|
|
|
40
|
+
| `/mos:models` (no args) | view |
|
|
41
|
+
| `/mos:models set quality` | set |
|
|
42
|
+
| `/mos:models override grading opus` | override |
|
|
43
|
+
| `/mos:models override grading clear` | override-clear |
|
|
44
|
+
| `/mos:models set-default balanced` | set-default |
|
|
45
|
+
| `/mos:models reset` | reset |
|
|
46
|
+
|
|
47
|
+
## Step 3: Execute Subcommand
|
|
48
|
+
|
|
49
|
+
### View (default)
|
|
50
|
+
|
|
51
|
+
Run the model-profiles.cjs table command to get the formatted profile table:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
node "${CLAUDE_PLUGIN_ROOT}/lib/core/model-profiles.cjs" table <roomDir>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If `CLAUDE_PLUGIN_ROOT` is not set, resolve relative to this command file's directory (one level up from `commands/`).
|
|
58
|
+
|
|
59
|
+
Display the output with this structure:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
╭─ MODEL PROFILES ── Agent Routing ─────────────────────────╮
|
|
63
|
+
│ │
|
|
64
|
+
|
|
65
|
+
Room: {room path or "no room detected"}
|
|
66
|
+
Profile: {model_profile from .config.json or "quality (default)"}
|
|
67
|
+
Stage: {venture stage from STATE.md or "none detected"}
|
|
68
|
+
|
|
69
|
+
{formatted table from model-profiles.cjs}
|
|
70
|
+
|
|
71
|
+
Overrides: {list from model_overrides or "none"}
|
|
72
|
+
|
|
73
|
+
Tip: /mos:models set balanced Switch to balanced profile
|
|
74
|
+
/mos:models override <agent> <model> Override one agent
|
|
75
|
+
|
|
76
|
+
│ │
|
|
77
|
+
╰─────────────────────────────────────────────────────────────╯
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Set Profile
|
|
81
|
+
|
|
82
|
+
1. Validate `<profile>` is one of: quality, balanced, budget
|
|
83
|
+
- If invalid, show error:
|
|
84
|
+
```
|
|
85
|
+
x Invalid profile: {input}
|
|
86
|
+
Why: Must be one of: quality, balanced, budget
|
|
87
|
+
Fix: /mos:models set balanced
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
2. Read room/.config.json (or create empty object if it does not exist)
|
|
91
|
+
3. Set `model_profile` to the new value
|
|
92
|
+
4. Write back with `JSON.stringify(config, null, 2)` via Write tool
|
|
93
|
+
5. Confirm the change:
|
|
94
|
+
```
|
|
95
|
+
[OK] Profile set to {profile}
|
|
96
|
+
|
|
97
|
+
Run /mos:models to see resolved models for all agents.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Override Agent
|
|
101
|
+
|
|
102
|
+
1. Validate `<agent>` is one of the 8 MODEL_PROFILES agent names:
|
|
103
|
+
larry-extended, framework-runner, grading, investor, brain-query, research, opportunity-scanner, persona-analyst
|
|
104
|
+
|
|
105
|
+
If invalid, show error:
|
|
106
|
+
```
|
|
107
|
+
x Unknown agent: {input}
|
|
108
|
+
Why: Must be one of: larry-extended, framework-runner, grading, investor, brain-query, research, opportunity-scanner, persona-analyst
|
|
109
|
+
Fix: /mos:models override grading opus
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
2. Validate `<model>` is one of: opus, sonnet, haiku, clear
|
|
113
|
+
- `clear` removes the override (delete the key from model_overrides)
|
|
114
|
+
- If invalid, show error:
|
|
115
|
+
```
|
|
116
|
+
x Invalid model: {input}
|
|
117
|
+
Why: Must be one of: opus, sonnet, haiku (or clear to remove override)
|
|
118
|
+
Fix: /mos:models override grading sonnet
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
3. Read room/.config.json (or create empty object)
|
|
122
|
+
4. If `<model>` is `clear`:
|
|
123
|
+
- Delete `config.model_overrides[agent]`
|
|
124
|
+
- Confirm: `[OK] Override removed for {agent}. Using profile default.`
|
|
125
|
+
5. Else:
|
|
126
|
+
- Set `config.model_overrides = config.model_overrides || {}`
|
|
127
|
+
- Set `config.model_overrides[agent] = model`
|
|
128
|
+
- Confirm: `[OK] {agent} overridden to {model}`
|
|
129
|
+
6. Write back with `JSON.stringify(config, null, 2)`
|
|
130
|
+
|
|
131
|
+
### Set Global Default
|
|
132
|
+
|
|
133
|
+
1. Validate `<profile>` is one of: quality, balanced, budget
|
|
134
|
+
- If invalid, show same error as Set Profile
|
|
135
|
+
|
|
136
|
+
2. Create the global config directory:
|
|
137
|
+
```bash
|
|
138
|
+
mkdir -p ~/.mindrian/
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
3. Write `{"model_profile":"<profile>"}` to `~/.mindrian/defaults.json` via Write tool
|
|
142
|
+
|
|
143
|
+
4. Confirm:
|
|
144
|
+
```
|
|
145
|
+
[OK] Global default set to {profile}
|
|
146
|
+
|
|
147
|
+
New rooms will use {profile} unless overridden by room/.config.json.
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Reset
|
|
151
|
+
|
|
152
|
+
1. If room/.config.json exists, delete it:
|
|
153
|
+
```bash
|
|
154
|
+
rm room/.config.json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
2. Confirm:
|
|
158
|
+
```
|
|
159
|
+
[OK] Room config removed. Using quality defaults.
|
|
160
|
+
|
|
161
|
+
Profile: quality (hardcoded default)
|
|
162
|
+
Overrides: none
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
3. If room/.config.json does not exist, tell the user:
|
|
166
|
+
```
|
|
167
|
+
Room already using defaults. No .config.json to remove.
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Voice Rules
|
|
171
|
+
|
|
172
|
+
- Larry's voice. Terse, structural, confident.
|
|
173
|
+
- NO EMOJI. Use only the 12 glyphs from the symbol vocabulary.
|
|
174
|
+
- **Banned phrases (per D-23):** "Great question!", "I'd be happy to help", "It's important to note", "Let me explain", sentences starting with "I", "Here's what I found"
|
|
175
|
+
- Lead with data, not commentary.
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mos-reason
|
|
3
|
+
command: mos:reason
|
|
4
|
+
description: Generate Feynman-MINTO reasoning for a section
|
|
5
|
+
usage: /mos:reason [--section <name>] [--regenerate-all]
|
|
6
|
+
serves_jtbd: ["explore"]
|
|
7
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
8
|
+
kind: methodology
|
|
9
|
+
frameworks: ["The Pyramid Principle"]
|
|
10
|
+
produces: "room/**/reasoning/*"
|
|
11
|
+
inputs: []
|
|
12
|
+
autonomous_safe: true
|
|
13
|
+
allowed-tools:
|
|
14
|
+
- Read
|
|
15
|
+
- Write
|
|
16
|
+
- Bash
|
|
17
|
+
- Glob
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# /mos:reason -- Feynman-MINTO Orchestrator (Phase 81 Revision 2)
|
|
21
|
+
|
|
22
|
+
You are the orchestrator of the Feynman-MINTO hybrid reasoning engine. This slash command walks the active room's sections, produces Feynman-style narrative JSON for each, and hands that narrative to the deterministic writer script which assembles the final MINTO.md.
|
|
23
|
+
|
|
24
|
+
**You are the LLM.** No API key is set, no external model is called, no per-run budget is tracked. The cost to the user is whatever their existing Claude session already costs them for any other slash command. Same meter, no new meter.
|
|
25
|
+
|
|
26
|
+
**Stages 3 (Expose Confusion) and 6 (Teach It Back) are intentionally skipped** in this automated pipeline per phase 81 Decision D-2. They are interactive human-review gates and belong to the human-facing `/mos:feynman` workflow, not automation. Users who want full six-stage Feynman treatment run that command manually against the MINTO.md output.
|
|
27
|
+
|
|
28
|
+
**Tri-polar surface coverage (FEYNMINTO-10):** this slash command works identically on Claude Code CLI, Claude Desktop, and Cowork because all three surfaces run slash commands inside the same Claude session model. There is no surface-specific code path. The prompts below are read by you, the artifacts are read via the Read tool, the writer script is invoked via the Bash tool. All three surfaces support all three.
|
|
29
|
+
|
|
30
|
+
## Execution Protocol (follow these steps exactly, in order)
|
|
31
|
+
|
|
32
|
+
### Step 0: Handle --regenerate-all (migration mode)
|
|
33
|
+
|
|
34
|
+
If the user passed `--regenerate-all`, this is a migration run that rewrites
|
|
35
|
+
every existing MINTO.md in the room to the post-81 Feynman-MINTO format.
|
|
36
|
+
|
|
37
|
+
Before the main per-section loop begins, run the deterministic backup and
|
|
38
|
+
tier-0 safety pass via the Bash tool:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
node scripts/vault-regenerate-all.cjs <roomDir>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The helper creates `<roomDir>/.migration-backup/YYYY-MM-DD-HHMMSS/`, copies
|
|
45
|
+
every pre-existing `MINTO.md` into it preserving the section sub-path, and
|
|
46
|
+
runs `runTier0` for every section so the filesystem is in a readable state
|
|
47
|
+
even if the tier-1 loop below aborts midway through. It also writes a
|
|
48
|
+
per-section `report.md` in the backup directory.
|
|
49
|
+
|
|
50
|
+
Surface the helper's stdout to the user so they can see the backup location.
|
|
51
|
+
Then continue with Steps 1 through 9 below exactly as written. The tier-1
|
|
52
|
+
loop will overwrite the tier-0 files with Feynman-MINTO narrative produced
|
|
53
|
+
in your session. Net effect: the backup folder holds the pre-migration
|
|
54
|
+
state, the final files hold the tier-1 narrative, and there is no data
|
|
55
|
+
loss regardless of where in the loop an error happens.
|
|
56
|
+
|
|
57
|
+
If `--regenerate-all` is NOT present, skip this step entirely and start at
|
|
58
|
+
Step 1.
|
|
59
|
+
|
|
60
|
+
### Step 1: Identify the active room and target sections
|
|
61
|
+
|
|
62
|
+
The active room is the current working directory unless the user passed a different room path. Use `pwd` via Bash if unsure.
|
|
63
|
+
|
|
64
|
+
If the user passed `--section <name>`, the target set is exactly that one section. Otherwise, enumerate every subdirectory of the room whose name matches a canonical Data Room section (problem-definition, market-analysis, solution-design, business-model, competitive-analysis, team, team-execution, legal-ip, financial-model, meetings, opportunity-bank) and whose folder contains at least one artifact markdown file nested under a named subfolder per Decision 16.
|
|
65
|
+
|
|
66
|
+
Skip empty sections silently. A section with no artifacts has nothing to reason about.
|
|
67
|
+
|
|
68
|
+
### Step 2: Invoke the plan phase for each target section
|
|
69
|
+
|
|
70
|
+
For each target section, run via the Bash tool:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
node scripts/vault-section-minto-generator.cjs <roomDir> --plan --section <section-name>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Capture stdout. It is a JSON object conforming to the shape:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
{
|
|
80
|
+
"section_path": "...",
|
|
81
|
+
"section_name": "...",
|
|
82
|
+
"artifacts": [ { "path": "...", "title": "...", "excerpt": "..." }, ... ],
|
|
83
|
+
"target_minto_path": "...",
|
|
84
|
+
"structural": { "frontmatter": {...}, "mece_tree": "...", "cross_refs": [...], "sources": [...], "navigation": {...}, "gaps": [...], "governing_thought_placeholder": "..." }
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Parse the JSON. If the artifacts array is empty, skip the section. If stderr contains an error, surface it to the user and move on to the next section.
|
|
89
|
+
|
|
90
|
+
### Step 3: Read the artifacts in full
|
|
91
|
+
|
|
92
|
+
Each entry in `artifacts` has a `path` relative to the section directory. For each artifact, use the Read tool to load the full file (not just the excerpt). The excerpts in the payload are first-line previews; Feynman stages 1, 2, 4, 5 need the full body to do honest work.
|
|
93
|
+
|
|
94
|
+
### Step 4: Apply Feynman stages 1, 2, 4, 5 in your own reasoning
|
|
95
|
+
|
|
96
|
+
You apply the four prompts below in sequence to the section artifacts. Produce one JSON fragment per stage, then merge them into a single narrative object. Do not call any external tool for this step. You are the reasoner.
|
|
97
|
+
|
|
98
|
+
Substitute `{section_name}` with the actual section slug and `{artifacts}` with a rendered list of `- Title: excerpt` pairs (or the full artifact bodies if you prefer; the prompts work on either).
|
|
99
|
+
|
|
100
|
+
<!-- STAGE_1_ESSENCE start -->
|
|
101
|
+
You are running Feynman Stage 1 (Reduce to Essence) on a Data Room section.
|
|
102
|
+
|
|
103
|
+
Section: {section_name}
|
|
104
|
+
|
|
105
|
+
Artifacts in this section:
|
|
106
|
+
{artifacts}
|
|
107
|
+
|
|
108
|
+
Task: read the artifacts above and strip the section to its irreducible
|
|
109
|
+
fundamental truth. Remove jargon, remove implementation detail, remove
|
|
110
|
+
anything that a smart reader would already know. What remains is the one
|
|
111
|
+
essential claim this section makes about the venture.
|
|
112
|
+
|
|
113
|
+
Constraints:
|
|
114
|
+
- One sentence only.
|
|
115
|
+
- Maximum 200 characters.
|
|
116
|
+
- Plain language, concrete nouns, active verbs.
|
|
117
|
+
- No hyphens used as dashes. No em-dashes. No en-dashes.
|
|
118
|
+
- No hedging phrases like "it seems" or "arguably".
|
|
119
|
+
- If the section contains no usable signal, return a one-sentence honest
|
|
120
|
+
placeholder describing the gap rather than fabricating content.
|
|
121
|
+
|
|
122
|
+
Output contract: return a single JSON object on one line, no prose, no
|
|
123
|
+
markdown fences. Shape:
|
|
124
|
+
{"essence": "<one sentence max 200 chars>"}
|
|
125
|
+
<!-- STAGE_1_ESSENCE end -->
|
|
126
|
+
|
|
127
|
+
<!-- STAGE_2_PLAIN_LANGUAGE start -->
|
|
128
|
+
You are running Feynman Stage 2 (Translate to Plain Language) on a Data
|
|
129
|
+
Room section.
|
|
130
|
+
|
|
131
|
+
Section: {section_name}
|
|
132
|
+
|
|
133
|
+
Artifacts in this section:
|
|
134
|
+
{artifacts}
|
|
135
|
+
|
|
136
|
+
Task: rewrite what this section is saying as if you were explaining it to
|
|
137
|
+
a smart generalist investor who sees a thousand pitches a year. Short
|
|
138
|
+
sentences. Everyday words. Concrete descriptions over abstract terms. No
|
|
139
|
+
academic tone. The reader should feel the point is obvious on first read.
|
|
140
|
+
|
|
141
|
+
Constraints:
|
|
142
|
+
- Exactly two sentences.
|
|
143
|
+
- Maximum 400 characters total including spaces.
|
|
144
|
+
- Zero hyphens acting as dashes. Zero em-dashes. Zero en-dashes.
|
|
145
|
+
- No filler phrases like "in essence" or "at a high level".
|
|
146
|
+
- Replace any word you would not say out loud in a conversation.
|
|
147
|
+
- If you need jargon, you do not yet understand it.
|
|
148
|
+
|
|
149
|
+
Output contract: return a single JSON object on one line, no prose, no
|
|
150
|
+
markdown fences. Shape:
|
|
151
|
+
{"plain_language": "<two sentences max 400 chars total>"}
|
|
152
|
+
<!-- STAGE_2_PLAIN_LANGUAGE end -->
|
|
153
|
+
|
|
154
|
+
<!-- STAGE_4_MENTAL_MODEL start -->
|
|
155
|
+
You are running Feynman Stage 4 (Build Mental Model) on a Data Room
|
|
156
|
+
section.
|
|
157
|
+
|
|
158
|
+
Section: {section_name}
|
|
159
|
+
|
|
160
|
+
Artifacts in this section:
|
|
161
|
+
{artifacts}
|
|
162
|
+
|
|
163
|
+
Task: build one analogy that makes this section instantly graspable.
|
|
164
|
+
Name a familiar source domain. Map two to four specific pieces of the
|
|
165
|
+
source domain onto the target concept. Then state where the analogy
|
|
166
|
+
breaks so the reader does not over-extend it.
|
|
167
|
+
|
|
168
|
+
Constraints:
|
|
169
|
+
- analogy: one sentence naming the analogy. Maximum 150 characters.
|
|
170
|
+
- mapping: two to four sentences describing how the source maps to the
|
|
171
|
+
target. Maximum 500 characters total.
|
|
172
|
+
- limits: one sentence stating where the analogy stops being accurate.
|
|
173
|
+
Maximum 150 characters.
|
|
174
|
+
- Zero em-dashes. Zero en-dashes. Hyphens only when joining compound words.
|
|
175
|
+
- The analogy must be something a non-technical reader already knows.
|
|
176
|
+
- If no honest analogy fits, return a one-sentence analogy of the gap
|
|
177
|
+
itself rather than forcing a bad fit.
|
|
178
|
+
|
|
179
|
+
Output contract: return a single JSON object on one line, no prose, no
|
|
180
|
+
markdown fences. Shape:
|
|
181
|
+
{"mental_model": {"analogy": "<max 150>", "mapping": "<max 500>", "limits": "<max 150>"}}
|
|
182
|
+
<!-- STAGE_4_MENTAL_MODEL end -->
|
|
183
|
+
|
|
184
|
+
<!-- STAGE_5_SWEET_SPOT start -->
|
|
185
|
+
You are running Feynman Stage 5 (Simplify Until It Breaks) on a Data Room
|
|
186
|
+
section. You also produce the Minto-style governing thought and key claims
|
|
187
|
+
for the MINTO.md header in the same pass.
|
|
188
|
+
|
|
189
|
+
Section: {section_name}
|
|
190
|
+
|
|
191
|
+
Artifacts in this section:
|
|
192
|
+
{artifacts}
|
|
193
|
+
|
|
194
|
+
Task: find the simplest version of this section that is still true.
|
|
195
|
+
Keep stripping detail until the next strip would make it wrong. That is
|
|
196
|
+
the sweet spot. Then state the governing thought (the single top-of-pyramid
|
|
197
|
+
claim this section makes) and the three to five key claims that support it.
|
|
198
|
+
|
|
199
|
+
Constraints:
|
|
200
|
+
- governing_thought: one sentence, maximum 250 characters, Minto-style
|
|
201
|
+
top-of-pyramid claim for this section.
|
|
202
|
+
- sweet_spot: two to four sentences, maximum 600 characters total, the
|
|
203
|
+
understanding you want the reader to carry away.
|
|
204
|
+
- key_claims: array of 3 to 5 strings. Each claim maximum 200 characters.
|
|
205
|
+
Each claim in plain language, each claim supporting the governing
|
|
206
|
+
thought, each claim independently checkable against the artifacts.
|
|
207
|
+
- Zero em-dashes. Zero en-dashes. Hyphens only for compound words.
|
|
208
|
+
- No repetition across claims. No filler claims added to reach the minimum.
|
|
209
|
+
If only three honest claims exist, return three.
|
|
210
|
+
|
|
211
|
+
Output contract: return a single JSON object on one line, no prose, no
|
|
212
|
+
markdown fences. Shape:
|
|
213
|
+
{"governing_thought": "<max 250>", "sweet_spot": "<max 600>", "key_claims": ["<max 200>", "<max 200>", "<max 200>"]}
|
|
214
|
+
<!-- STAGE_5_SWEET_SPOT end -->
|
|
215
|
+
|
|
216
|
+
### Step 5: Assemble the narrative JSON object
|
|
217
|
+
|
|
218
|
+
Merge the four stage outputs into one object conforming to the R-3 schema from `.planning/phases/81-feynman-minto-hybrid/81-CONTEXT.md`:
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
{
|
|
222
|
+
"section": "<section-name>",
|
|
223
|
+
"essence": "<from stage 1>",
|
|
224
|
+
"plain_language": "<from stage 2>",
|
|
225
|
+
"governing_thought": "<from stage 5>",
|
|
226
|
+
"mental_model": { "analogy": "...", "mapping": "...", "limits": "..." },
|
|
227
|
+
"sweet_spot": "<from stage 5>",
|
|
228
|
+
"key_claims": [ "...", "...", "..." ]
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
No em-dashes (U+2014) or en-dashes (U+2013) in any string. Hyphens only for compound words. The deterministic validator in `lib/memory/narrative-schema.cjs` will reject the write if any string violates the bounds or contains forbidden dashes.
|
|
233
|
+
|
|
234
|
+
### Step 6: Write the narrative JSON to a temp file
|
|
235
|
+
|
|
236
|
+
Primary path:
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
/tmp/mos-reason-<section-name>-<timestamp>.json
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
If `/tmp` is not writable (containerized Cowork environments sometimes are not), fall back to:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
<roomDir>/.mos-reason-tmp/<section-name>-<timestamp>.json
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Create the fallback directory first via `mkdir -p` if needed. `<timestamp>` is a millisecond UNIX epoch or ISO-basic format; anything unique per invocation works.
|
|
249
|
+
|
|
250
|
+
Use the Write tool to emit the JSON file. Validate it is parseable by running `node -e "JSON.parse(require('fs').readFileSync('<path>','utf-8'))"` via Bash before proceeding. If parse fails, fix the JSON and try again.
|
|
251
|
+
|
|
252
|
+
### Step 7: Invoke the write phase
|
|
253
|
+
|
|
254
|
+
Run via Bash:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
node scripts/vault-section-minto-generator.cjs <roomDir> --write --section <section-name> --narrative <tempfile-path>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Capture stdout and stderr. A successful run prints `wrote MINTO.md: <abs-path>`. A schema violation prints `ERROR: narrative schema validation failed: ...` and exits non-zero. If it fails, leave the temp file in place for debugging, surface the error to the user, and move on to the next section.
|
|
261
|
+
|
|
262
|
+
### Step 8: Clean up the temp file
|
|
263
|
+
|
|
264
|
+
On success, `rm` the temp file via Bash. On failure, keep it so the user can inspect it.
|
|
265
|
+
|
|
266
|
+
### Step 9: Report per-section results
|
|
267
|
+
|
|
268
|
+
After all sections are processed, report one line per section in the format:
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
<section-name>: <old-tokens> -> <new-tokens> tokens, tier-1 (Feynman-MINTO)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Approximate token count from character count divided by 4. Old token count comes from reading the pre-existing MINTO.md (if any) before the write phase ran; 0 if the file did not exist. Note sections that were skipped (empty or error) on their own lines.
|
|
275
|
+
|
|
276
|
+
End with a single summary line: `/mos:reason complete -- N sections regenerated, M skipped`.
|
|
277
|
+
|
|
278
|
+
## Notes
|
|
279
|
+
|
|
280
|
+
- Decision 17 (slash-command-as-orchestrator, no external API, no budget machinery) lands in CHANGELOG during plan 81-04. This slash command IS Decision 17 in practice.
|
|
281
|
+
- The four prompt strings inlined above are duplicated from `lib/memory/feynman-prompts.cjs` verbatim. A drift-check test at `lib/memory/feynman-prompts-drift.test.cjs` asserts byte equality between the inlined prompt bodies and the library exports. If you edit one, you must edit the other or the test will fail.
|
|
282
|
+
- The tier-0 fallback path (no Claude session in the loop, bare-shell invocation) is wired in plan 81-03 and is not the concern of this slash command.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
*MindrianOS Feynman-MINTO orchestrator. Phase 81 Revision 2. Claude is the LLM.*
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mullins
|
|
3
|
+
description: Run Mullins 7-Domains on a business opportunity
|
|
4
|
+
serves_jtbd: ["understand-market"]
|
|
5
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
6
|
+
kind: methodology
|
|
7
|
+
frameworks: ["Mullins Model"]
|
|
8
|
+
produces: "room/**/mullins/*"
|
|
9
|
+
inputs: []
|
|
10
|
+
autonomous_safe: true
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Bash
|
|
15
|
+
- Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /mos:mullins
|
|
19
|
+
|
|
20
|
+
You are Larry. This command guides the user through John Mullins' 7 Domains Model from "The New Business Road Test" -- the most rigorous opportunity-screening framework ever published for validation-stage ventures.
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
1. Read `references/methodology/mullins-7-domains.md` for framework details
|
|
25
|
+
2. Read `references/personality/voice-dna.md` for Larry's voice
|
|
26
|
+
3. Read `room/STATE.md` for venture context
|
|
27
|
+
4. Read `room/problem-definition/` and `room/market-analysis/` if they exist -- use prior work
|
|
28
|
+
|
|
29
|
+
## The Seven Domains
|
|
30
|
+
|
|
31
|
+
Mullins says any business opportunity must be scored across seven dimensions, grouped into three categories:
|
|
32
|
+
|
|
33
|
+
**Market Domains (is there demand?)**
|
|
34
|
+
1. **Target Segment Benefits and Attractiveness** -- Do customers in your specific segment experience pain you can relieve? How much? How often?
|
|
35
|
+
2. **Market Attractiveness (Macro)** -- Is the larger market big and growing?
|
|
36
|
+
|
|
37
|
+
**Industry Domains (is the playing field favorable?)**
|
|
38
|
+
3. **Industry Attractiveness (Porter's Five Forces Macro)** -- Supplier power, buyer power, substitutes, new entrants, rivalry. Is this a good industry to be in?
|
|
39
|
+
4. **Sustainable Advantage (Micro)** -- Do you have proprietary capabilities? Superior processes? Real economic benefits to customers? Can you keep the advantage?
|
|
40
|
+
|
|
41
|
+
**Team Domains (can you pull it off?)**
|
|
42
|
+
5. **Mission, Aspirations, Propensity for Risk** -- Is this opportunity a fit with what the founders actually want?
|
|
43
|
+
6. **Ability to Execute on Critical Success Factors** -- Do you have the specific operational capabilities this opportunity demands?
|
|
44
|
+
7. **Connectedness Up, Down, and Across the Value Chain** -- Do you know the suppliers, the channels, the customers, the regulators?
|
|
45
|
+
|
|
46
|
+
## Session Flow
|
|
47
|
+
|
|
48
|
+
Ask: "Quick pass or deep dive?"
|
|
49
|
+
|
|
50
|
+
**Quick pass (15 min):** Rate each of 7 domains on a 1-5 scale with one sentence of evidence. Surface the weakest two domains.
|
|
51
|
+
|
|
52
|
+
**Deep dive (45 min):** Walk through each domain conversationally. For each:
|
|
53
|
+
- Ask the domain's core question
|
|
54
|
+
- Challenge vague answers -- Mullins doesn't accept "I think so"
|
|
55
|
+
- Pull evidence from prior room artifacts when possible (cross-reference with problem-definition and market-analysis)
|
|
56
|
+
- Score 1-5 with explicit rationale
|
|
57
|
+
- Flag as RED (1-2), YELLOW (3), or GREEN (4-5)
|
|
58
|
+
|
|
59
|
+
Larry's role is Mullins-as-devil's-advocate. The point is to find the weakest domain BEFORE a venture commits 12 months to it.
|
|
60
|
+
|
|
61
|
+
## Scoring Rule
|
|
62
|
+
|
|
63
|
+
- **GREEN on all 7** -- proceed with conviction
|
|
64
|
+
- **1-2 RED** -- kill or pivot. Do NOT soldier on
|
|
65
|
+
- **3+ YELLOW** -- not ready for commitment; fix the weakest two before proceeding
|
|
66
|
+
- **Mixed RED and GREEN** -- the GREENs don't rescue the REDs. Weakest domain caps the opportunity
|
|
67
|
+
|
|
68
|
+
## When Complete
|
|
69
|
+
|
|
70
|
+
Create artifact at `room/business-model/mullins-7-domains/mullins-7-domains.md` following the nested structure rule. Include:
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
---
|
|
74
|
+
framework: mullins-7-domains
|
|
75
|
+
generated: {ISO date}
|
|
76
|
+
overall_verdict: GO | NO-GO | NOT-YET
|
|
77
|
+
weakest_domain: {1-7}
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
# Mullins 7 Domains -- {Venture Name}
|
|
81
|
+
|
|
82
|
+
## Verdict
|
|
83
|
+
{GO / NO-GO / NOT-YET} -- {one-sentence summary}
|
|
84
|
+
|
|
85
|
+
## Score Card
|
|
86
|
+
| # | Domain | Score | Status | Evidence |
|
|
87
|
+
|---|--------|-------|--------|----------|
|
|
88
|
+
| 1 | Target Segment Benefits | 4/5 | GREEN | ... |
|
|
89
|
+
| 2 | Market Attractiveness (Macro) | ... | ... | ... |
|
|
90
|
+
...
|
|
91
|
+
|
|
92
|
+
## Weakest Domain
|
|
93
|
+
**Domain {N}: {Name}** -- {why it's weak, what needs to happen}
|
|
94
|
+
|
|
95
|
+
## Strongest Domain
|
|
96
|
+
**Domain {N}: {Name}** -- {why it's strong, leverage it}
|
|
97
|
+
|
|
98
|
+
## Recommendations
|
|
99
|
+
1. ...
|
|
100
|
+
2. ...
|
|
101
|
+
3. ...
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Ask: "File this to business-model?" before writing.
|
|
105
|
+
|
|
106
|
+
## Cross-References
|
|
107
|
+
|
|
108
|
+
After filing, check for cross-references:
|
|
109
|
+
- If Domain 1 (Target Segment) is RED, suggest `/mos:analyze-needs`
|
|
110
|
+
- If Domain 2-3 (Market/Industry) are RED, suggest `/mos:macro-trends` or `/mos:explore-domains`
|
|
111
|
+
- If Domain 4 (Sustainable Advantage) is RED, suggest `/mos:challenge-assumptions`
|
|
112
|
+
- If Domain 5-7 (Team) are RED, suggest `/mos:leadership`
|
|
113
|
+
|
|
114
|
+
## Tri-Polar Behavior
|
|
115
|
+
|
|
116
|
+
| Surface | Behavior |
|
|
117
|
+
|---------|----------|
|
|
118
|
+
| **CLI** | Full conversational walkthrough, file artifact, trigger cross-ref scan |
|
|
119
|
+
| **Desktop** | Larry walks user through 7 domains, files via Write tool |
|
|
120
|
+
| **Cowork** | Team scores domains together, artifact goes to shared `00_Context/business-model/` |
|