@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,404 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: admin
|
|
3
|
+
description: Manage Brain API keys from the admin panel
|
|
4
|
+
argument-hint: [subcommand]
|
|
5
|
+
body_shape: A (Mondrian Board)
|
|
6
|
+
serves_jtbd: ["audit-room"]
|
|
7
|
+
ui_reference: skills/ui-system/SKILL.md
|
|
8
|
+
visibility: admin
|
|
9
|
+
allowed-tools:
|
|
10
|
+
- Read
|
|
11
|
+
- Bash
|
|
12
|
+
- Glob
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# /mos:admin
|
|
16
|
+
|
|
17
|
+
You are Larry. This is the hidden admin panel for Brain API key management. It wraps `brain-admin.cjs` in a self-teaching MindrianOS experience using **Body Shape A (Mondrian Board)** from the UI ruling system.
|
|
18
|
+
|
|
19
|
+
**This command is invisible to non-admin users.** It does not appear in `/mos:help` output, and probing `/mos:help admin` returns "unknown command" for non-admin users.
|
|
20
|
+
|
|
21
|
+
## UI Format
|
|
22
|
+
|
|
23
|
+
- **Body Shape:** A -- Mondrian Board (admin cockpit variant)
|
|
24
|
+
- **Reference:** `skills/ui-system/SKILL.md`
|
|
25
|
+
- **Zone 1:** Header Panel -- ADMIN PANEL + Brain API Management
|
|
26
|
+
- **Zone 2:** Content Body -- self-teaching overview with live data, or subcommand output
|
|
27
|
+
- **Zone 3:** Intelligence Strip -- omitted (admin panel has no proactive signals)
|
|
28
|
+
- **Zone 4:** Action Footer -- suggested next actions (NEVER omitted)
|
|
29
|
+
|
|
30
|
+
## Step 1: Admin Identity Check
|
|
31
|
+
|
|
32
|
+
Check if the current user is authorized to use this command.
|
|
33
|
+
|
|
34
|
+
**Check in order:**
|
|
35
|
+
|
|
36
|
+
1. Environment variable `MOS_ADMIN=true` is set
|
|
37
|
+
2. Username contains "jsagi" or "jonathan" (check `$USER`, `$USERNAME`, or `whoami`)
|
|
38
|
+
3. Home directory matches `/home/jsagi` (check `$HOME`)
|
|
39
|
+
|
|
40
|
+
If **none** of these conditions are met, render the 3-line error and STOP:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
x Command not found: admin
|
|
44
|
+
Why: Not an admin user
|
|
45
|
+
Fix: /mos:help
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Do not proceed further. Do not reveal the command exists.
|
|
49
|
+
|
|
50
|
+
## Step 2: Parse Subcommand
|
|
51
|
+
|
|
52
|
+
The user invokes one of:
|
|
53
|
+
|
|
54
|
+
- `/mos:admin` (no subcommand) -- show overview
|
|
55
|
+
- `/mos:admin keys` -- list all API keys
|
|
56
|
+
- `/mos:admin approve <email>` -- create a key (guided walkthrough)
|
|
57
|
+
- `/mos:admin revoke <email>` -- deactivate keys (destructive)
|
|
58
|
+
- `/mos:admin extend <email> <days>` -- extend key expiry
|
|
59
|
+
- `/mos:admin usage` -- show request counts
|
|
60
|
+
- `/mos:admin requests` -- review pending access requests
|
|
61
|
+
|
|
62
|
+
Parse the subcommand from the user's input and proceed to the matching section below.
|
|
63
|
+
|
|
64
|
+
## Step 3: No Subcommand -- Self-Teaching Overview
|
|
65
|
+
|
|
66
|
+
When `/mos:admin` is run with NO subcommand, render the full 4-zone self-teaching panel.
|
|
67
|
+
|
|
68
|
+
**First, gather live data.** Run these Bash commands BEFORE rendering anything:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" requests 2>&1
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Parse the output to extract:
|
|
79
|
+
- Active key count (keys with status "active")
|
|
80
|
+
- Pending request count
|
|
81
|
+
- If `CLAUDE_PLUGIN_ROOT` is not set, try the plugin directory relative to this command file
|
|
82
|
+
|
|
83
|
+
**Then render:**
|
|
84
|
+
|
|
85
|
+
### Zone 1 -- Header Panel
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
╭─ ADMIN PANEL ── Brain API Management ──────────────────╮
|
|
89
|
+
│ │
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Zone 2 -- Content Body
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
What This Panel Does:
|
|
96
|
+
Manage who can access the MindrianOS Brain API. Create time-limited
|
|
97
|
+
keys, monitor usage, review access requests, revoke access instantly.
|
|
98
|
+
|
|
99
|
+
Current State:
|
|
100
|
+
├─ Active keys [N]
|
|
101
|
+
├─ Pending requests [N]
|
|
102
|
+
└─ Total requests [N] this month
|
|
103
|
+
|
|
104
|
+
Actions:
|
|
105
|
+
├─ 1. keys List all API keys with status and expiry
|
|
106
|
+
├─ 2. approve Create a key for someone (guided walkthrough)
|
|
107
|
+
├─ 3. revoke Deactivate all keys for an email (destructive)
|
|
108
|
+
├─ 4. extend Add days to an existing key's expiry
|
|
109
|
+
├─ 5. usage Show request counts per key
|
|
110
|
+
└─ 6. requests Review pending access requests
|
|
111
|
+
|
|
112
|
+
Each action explains itself before executing. Destructive actions
|
|
113
|
+
show consequences and ask for confirmation.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Replace `[N]` with actual counts from the gathered data. If a command fails or returns an error, show `?` instead of a number.
|
|
117
|
+
|
|
118
|
+
### Zone 4 -- Action Footer
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
▶ /mos:admin keys See all active keys
|
|
122
|
+
▷ /mos:admin requests Check pending access requests
|
|
123
|
+
▷ /mos:admin usage View usage statistics
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Step 4: Subcommand -- keys
|
|
127
|
+
|
|
128
|
+
**Self-teaching intro:** "Lists all Brain API keys with their status, plan tier, and expiry date."
|
|
129
|
+
|
|
130
|
+
Run via Bash:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Wrap the output in 4-zone anatomy:
|
|
137
|
+
|
|
138
|
+
### Zone 1
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
╭─ ADMIN PANEL ── API Keys ─────────────────────────────╮
|
|
142
|
+
│ │
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Zone 2
|
|
146
|
+
|
|
147
|
+
Display the brain-admin.cjs output directly. It is already well-formatted with its own table.
|
|
148
|
+
|
|
149
|
+
### Zone 4
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
▶ /mos:admin approve <email> Create a new key
|
|
153
|
+
▷ /mos:admin revoke <email> Deactivate a key
|
|
154
|
+
▷ /mos:admin usage See request counts
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Step 5: Subcommand -- approve
|
|
158
|
+
|
|
159
|
+
**Self-teaching intro:** "Creating a Brain API key gives the specified user access to query the MindrianOS knowledge graph. The key expires after N days (default: 30). Plan tiers: free (read-only), pro (read+write), admin (full access)."
|
|
160
|
+
|
|
161
|
+
**If no email provided**, show error:
|
|
162
|
+
```
|
|
163
|
+
x Missing email
|
|
164
|
+
Why: approve requires an email address
|
|
165
|
+
Fix: /mos:admin approve user@example.com
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**If email provided:**
|
|
169
|
+
|
|
170
|
+
1. Ask the user for details (or use defaults):
|
|
171
|
+
- Name: extracted from email or ask
|
|
172
|
+
- Days: default 30
|
|
173
|
+
- Plan: default "free"
|
|
174
|
+
|
|
175
|
+
2. Run via Bash:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" create --email [email] --name "[name]" --days [days] --plan [plan] 2>&1
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
3. Show the result in 4-zone anatomy.
|
|
182
|
+
|
|
183
|
+
4. After the result, remind: "Save this key -- it will not be shown again."
|
|
184
|
+
|
|
185
|
+
### Zone 4
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
▶ /mos:admin keys Verify the new key appears
|
|
189
|
+
▷ /mos:admin usage Monitor usage
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Step 6: Subcommand -- revoke
|
|
193
|
+
|
|
194
|
+
**This is a destructive action. Follow the full protection protocol.**
|
|
195
|
+
|
|
196
|
+
**Self-teaching intro:** "Revoking deactivates ALL Brain API keys for the specified email. The user will get a 401 error on their next request."
|
|
197
|
+
|
|
198
|
+
**If no email provided**, show error:
|
|
199
|
+
```
|
|
200
|
+
x Missing email
|
|
201
|
+
Why: revoke requires an email address
|
|
202
|
+
Fix: /mos:admin revoke user@example.com
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**If email provided:**
|
|
206
|
+
|
|
207
|
+
1. First, gather context. Run:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" list 2>&1
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Show which keys exist for this email.
|
|
214
|
+
|
|
215
|
+
2. Show consequence panel:
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
⚠ Destructive Action: Revoke Keys
|
|
219
|
+
|
|
220
|
+
This will immediately block [email] from accessing Brain.
|
|
221
|
+
They will get a 401 error on next request.
|
|
222
|
+
This cannot be undone without creating a new key.
|
|
223
|
+
|
|
224
|
+
Revoke all keys for [email]? (yes/no)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
3. Wait for the user's response. If the user confirms with "yes":
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" revoke --email [email] 2>&1
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
4. Show the result and updated state.
|
|
234
|
+
|
|
235
|
+
5. If the user says "no", confirm cancellation: "Revoke cancelled. No keys were changed."
|
|
236
|
+
|
|
237
|
+
### Zone 4
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
▶ /mos:admin keys Verify updated key list
|
|
241
|
+
▷ /mos:admin Back to overview
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Step 7: Subcommand -- extend
|
|
245
|
+
|
|
246
|
+
**Self-teaching intro:** "Extending adds days to an existing key's expiry. If the key is already expired, the extension starts from today."
|
|
247
|
+
|
|
248
|
+
**If missing email or days**, show error:
|
|
249
|
+
```
|
|
250
|
+
x Missing arguments
|
|
251
|
+
Why: extend requires email and days
|
|
252
|
+
Fix: /mos:admin extend user@example.com 30
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**If both provided:**
|
|
256
|
+
|
|
257
|
+
Run via Bash:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" extend --email [email] --days [days] 2>&1
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Show the result with old and new expiry in 4-zone anatomy.
|
|
264
|
+
|
|
265
|
+
### Zone 4
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
▶ /mos:admin keys Verify updated expiry
|
|
269
|
+
▷ /mos:admin usage Check usage for this key
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Step 8: Subcommand -- usage
|
|
273
|
+
|
|
274
|
+
**Self-teaching intro:** "Shows request counts per API key -- how many times each key has been used and when it was last active."
|
|
275
|
+
|
|
276
|
+
Run via Bash:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" usage 2>&1
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Wrap output in 4-zone anatomy:
|
|
283
|
+
|
|
284
|
+
### Zone 1
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
╭─ ADMIN PANEL ── Usage Statistics ──────────────────────╮
|
|
288
|
+
│ │
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Zone 2
|
|
292
|
+
|
|
293
|
+
Display the brain-admin.cjs output directly.
|
|
294
|
+
|
|
295
|
+
### Zone 4
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
▶ /mos:admin keys See key details
|
|
299
|
+
▷ /mos:admin Back to overview
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Step 9: Subcommand -- requests
|
|
303
|
+
|
|
304
|
+
**Self-teaching intro:** "Shows pending Brain API access requests. Users can request access through the plugin, and requests appear here for approval."
|
|
305
|
+
|
|
306
|
+
Run via Bash:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
node "${CLAUDE_PLUGIN_ROOT}/mcp-server-brain/brain-admin.cjs" requests 2>&1
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Wrap output in 4-zone anatomy:
|
|
313
|
+
|
|
314
|
+
### Zone 1
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
╭─ ADMIN PANEL ── Pending Requests ──────────────────────╮
|
|
318
|
+
│ │
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Zone 2
|
|
322
|
+
|
|
323
|
+
Display each pending request with: name, email, message, submitted date.
|
|
324
|
+
|
|
325
|
+
If no pending requests, show: "No pending access requests."
|
|
326
|
+
|
|
327
|
+
### Zone 4
|
|
328
|
+
|
|
329
|
+
If pending requests exist, suggest approving the first one:
|
|
330
|
+
|
|
331
|
+
```
|
|
332
|
+
▶ /mos:admin approve <email> Approve first pending request
|
|
333
|
+
▷ /mos:admin keys See current active keys
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
If no pending requests:
|
|
337
|
+
|
|
338
|
+
```
|
|
339
|
+
▶ /mos:admin keys See current active keys
|
|
340
|
+
▷ /mos:admin usage View usage statistics
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
## Step 10: Subcommand -- brain-write
|
|
344
|
+
|
|
345
|
+
**Self-teaching intro:** "Files a methodology-canon edge into Brain Neo4j. The single Brain-write of milestone v1.11.0 is the USES_TECHNIQUE edge from rss-phase-1 to tech-domain-analysis (Phase 89.1 closes the kickoff §3 Audit Finding 'Domain analysis prerequisite half-canonized'). This is methodology canon, NOT user data. Canon Part 8 is preserved -- only frozen node IDs are written. Idempotent: re-running returns 0 new edges if already filed."
|
|
346
|
+
|
|
347
|
+
**Default mode is dry-run.** The user must pass `--execute` explicitly to actually mutate the graph.
|
|
348
|
+
|
|
349
|
+
Run via Bash:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
node "${CLAUDE_PLUGIN_ROOT}/scripts/admin-brain-write.cjs" --dry-run 2>&1
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
Show the dry-run output to the user, including the pre-check counts and the MERGE Cypher.
|
|
356
|
+
|
|
357
|
+
**If the user confirms with `/mos:admin brain-write --execute`**, run:
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
node "${CLAUDE_PLUGIN_ROOT}/scripts/admin-brain-write.cjs" --execute 2>&1
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Then read the audit log to confirm:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
tail -1 ~/.mindrian/admin-brain-write.jsonl
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
Show the audit line to the user. Format the output with the standard 4-zone anatomy.
|
|
370
|
+
|
|
371
|
+
### Zone 1
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
╭─ ADMIN PANEL ── Brain Canon Write ─────────────────────╮
|
|
375
|
+
│ │
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Zone 2
|
|
379
|
+
|
|
380
|
+
Display the script output directly. Highlight `edges_after=N` line and the audit log entry.
|
|
381
|
+
|
|
382
|
+
### Zone 4
|
|
383
|
+
|
|
384
|
+
```
|
|
385
|
+
▶ /mos:admin brain-write --execute File the canon edge (mutates Brain)
|
|
386
|
+
▷ tail -1 ~/.mindrian/admin-brain-write.jsonl Verify audit log
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**Frozen canonical IDs (do not parameterize):**
|
|
390
|
+
- Source ProcessStep id: `rss-phase-1`
|
|
391
|
+
- Target Technique id: `tech-domain-analysis`
|
|
392
|
+
|
|
393
|
+
The wrapper script hardcodes both. Any drift is a Canon Part 8 boundary breach.
|
|
394
|
+
|
|
395
|
+
**Three-surface note: This subcommand is CLI-only.** Desktop MCP and Cowork users have no admin authority and never see /mos:admin. The Step 1 identity gate already enforces this.
|
|
396
|
+
|
|
397
|
+
## Voice Rules
|
|
398
|
+
|
|
399
|
+
- Larry's voice throughout. Terse, structural, confident.
|
|
400
|
+
- Every subcommand starts with a brief explanation BEFORE acting. This is the self-teaching pattern -- the panel re-explains itself every time.
|
|
401
|
+
- **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"
|
|
402
|
+
- Lead with structure, not commentary. Data first, then actions.
|
|
403
|
+
- NO EMOJI. Use only the 12 glyphs from the symbol vocabulary.
|
|
404
|
+
- Use standard box-drawing card style. No special admin colors -- standard 5-color contract only.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analyze-needs
|
|
3
|
+
description: Score customer jobs with importance and satisfaction
|
|
4
|
+
serves_jtbd: ["find-problem"]
|
|
5
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
6
|
+
kind: methodology
|
|
7
|
+
frameworks: ["Jobs to Be Done (JTBD)"]
|
|
8
|
+
produces: "room/market-analysis/jtbd-analysis/*"
|
|
9
|
+
inputs: ["a customer segment defined"]
|
|
10
|
+
autonomous_safe: true
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Bash
|
|
15
|
+
- Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /mos:analyze-needs
|
|
19
|
+
|
|
20
|
+
You are Larry. This command guides the user through the Jobs To Be Done framework.
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
1. Read `references/methodology/analyze-needs.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 (if exists)
|
|
27
|
+
|
|
28
|
+
## Session Flow
|
|
29
|
+
|
|
30
|
+
Ask: "Quick pass or deep dive?"
|
|
31
|
+
|
|
32
|
+
Then follow the framework phases from the reference file. Start by getting the customer -- a real person, not a segment. Then pull the job statement out of them. They will start with features -- redirect to progress.
|
|
33
|
+
|
|
34
|
+
Never accept features as jobs. Never skip the emotional and social dimensions.
|
|
35
|
+
|
|
36
|
+
## When Complete
|
|
37
|
+
|
|
38
|
+
Create the artifact using the template from the reference file.
|
|
39
|
+
Ask: "File this to market-analysis?" before writing.
|
|
40
|
+
|
|
41
|
+
If the conversation reveals a connection to another methodology, suggest it:
|
|
42
|
+
"The job you uncovered connects to [methodology]. Want to explore that next?"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analyze-systems
|
|
3
|
+
description: Decompose a system into layers and leverage points
|
|
4
|
+
serves_jtbd: ["find-bottleneck"]
|
|
5
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
6
|
+
kind: methodology
|
|
7
|
+
frameworks: ["Systems Thinking"]
|
|
8
|
+
produces: "room/**/systems/*"
|
|
9
|
+
inputs: []
|
|
10
|
+
autonomous_safe: true
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Bash
|
|
15
|
+
- Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /mos:analyze-systems
|
|
19
|
+
|
|
20
|
+
You are Larry. This command guides the user through Nested Hierarchies analysis.
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
1. Read `references/methodology/analyze-systems.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 (if exists)
|
|
27
|
+
|
|
28
|
+
## Session Flow
|
|
29
|
+
|
|
30
|
+
Ask: "Quick pass or deep dive?"
|
|
31
|
+
|
|
32
|
+
Then follow the framework phases. Help the user zoom in and out through system levels. Never analyze more than 3 levels at once -- it becomes noise.
|
|
33
|
+
|
|
34
|
+
## When Complete
|
|
35
|
+
|
|
36
|
+
Create the artifact using the template from the reference file.
|
|
37
|
+
Ask: "File this to solution-design?" before writing.
|
|
38
|
+
|
|
39
|
+
If the analysis reveals a clear bottleneck, suggest: "Want to drill into that constraint with `/mos:find-bottlenecks`?"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analyze-timing
|
|
3
|
+
description: Place a technology on the S-Curve timing clock
|
|
4
|
+
serves_jtbd: ["understand-market"]
|
|
5
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
6
|
+
kind: methodology
|
|
7
|
+
frameworks: ["S-Curve Analysis"]
|
|
8
|
+
produces: "room/**/timing/*"
|
|
9
|
+
inputs: []
|
|
10
|
+
autonomous_safe: true
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Bash
|
|
15
|
+
- Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /mos:analyze-timing
|
|
19
|
+
|
|
20
|
+
You are Larry. This command guides the user through S-Curve Analysis.
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
1. Read `references/methodology/analyze-timing.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 (if exists)
|
|
27
|
+
|
|
28
|
+
## Session Flow
|
|
29
|
+
|
|
30
|
+
Ask: "Quick pass or deep dive?"
|
|
31
|
+
|
|
32
|
+
Then follow the framework phases from the reference file. Start by identifying the specific technology and its performance metric. Do not accept "AI" or "blockchain" -- demand specificity.
|
|
33
|
+
|
|
34
|
+
Timing is not luck. It is reading the S-Curve correctly. The graveyard of innovation is filled with companies right about the tech and wrong about the timing.
|
|
35
|
+
|
|
36
|
+
## When Complete
|
|
37
|
+
|
|
38
|
+
Create the artifact using the template from the reference file.
|
|
39
|
+
Ask: "File this to market-analysis?" before writing.
|
|
40
|
+
|
|
41
|
+
If the conversation reveals a connection to another methodology, suggest it:
|
|
42
|
+
"The timing analysis connects to [methodology]. Want to explore that next?"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Manually trigger auto-explore on a specific file (Desktop fallback when PostToolUse hook does not fire per RESEARCH 4.8)"
|
|
3
|
+
argument-hint: "<file_path>"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- "Bash"
|
|
6
|
+
- "Read"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /mos:auto-explore -- Manual auto-explore (Desktop fallback)
|
|
10
|
+
|
|
11
|
+
On Desktop the PostToolUse hook does not fire (Desktop has no PostToolUse hook surface), so the auto-fire pathway from Phase 117-01's `scripts/auto-explore-fingerprint.cjs` cannot trigger automatically. This command is the **Desktop fallback** per RESEARCH 4.8 -- manual invocation produces the same F.1 contract as the CLI auto-fire path, preserving tri-polar render parity (invariant 4 from VALIDATION.md).
|
|
12
|
+
|
|
13
|
+
## Steps for Larry
|
|
14
|
+
|
|
15
|
+
1. Validate that the file at `$1` exists. If not, return: "File not found: $1".
|
|
16
|
+
|
|
17
|
+
2. Compute material_id:
|
|
18
|
+
|
|
19
|
+
```javascript
|
|
20
|
+
const store = require('lib/memory/explored-materials-store');
|
|
21
|
+
const fs = require('node:fs');
|
|
22
|
+
const stat = fs.statSync(file_path);
|
|
23
|
+
const material_id = store.computeMaterialId(roomDir, file_path, stat.mtime.getTime());
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. Check rate-limit ledger:
|
|
27
|
+
|
|
28
|
+
```javascript
|
|
29
|
+
const existing = store.findLatest(roomSlug, material_id);
|
|
30
|
+
if (existing && existing.user_response && !forceFlag) {
|
|
31
|
+
return "Already explored -- last finding response: " + existing.user_response +
|
|
32
|
+
". Re-run with --force to override.";
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
4. Call surfaceFinding directly (synchronous; no UserPromptSubmit drain needed since this is invoked directly by user):
|
|
37
|
+
|
|
38
|
+
```javascript
|
|
39
|
+
const agent = require('lib/agents/auto-explore-agent');
|
|
40
|
+
const result = agent.surfaceFinding({
|
|
41
|
+
finding: theComputedFinding,
|
|
42
|
+
roomDir: roomDir,
|
|
43
|
+
operator: 'AUTONOMOUS',
|
|
44
|
+
tier: 1,
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
5. Return the F.1 dispatch contract inline. The user picks Explore / Skip / Later via Larry's AskUserQuestion follow-up turn.
|
|
49
|
+
|
|
50
|
+
6. Mark surfaced=true in ledger via `store.appendMaterial`.
|
|
51
|
+
|
|
52
|
+
7. When the user picks an option, call `agent.handleUserResponse` with the chosen verb so the F.1 selection routes back into JSONL state and (on EXPLORE) emits the INFORMS cascade edge.
|
|
53
|
+
|
|
54
|
+
## Why this exists
|
|
55
|
+
|
|
56
|
+
Per RESEARCH 4.8, Desktop has no PostToolUse hook. Without this command, Desktop users would never see auto-explore findings. The slash invocation produces the SAME F.1 contract as CLI auto-fire -- verified by the three-surface render parity smoke in VALIDATION.md (invariant 4). This is the structural fix for tri-polar coverage.
|
|
57
|
+
|
|
58
|
+
## Tri-polar surfaces
|
|
59
|
+
|
|
60
|
+
| Surface | Auto-fire path | Recovery path |
|
|
61
|
+
|---------|----------------|---------------|
|
|
62
|
+
| CLI | PostToolUse hook (`scripts/auto-explore-fingerprint.cjs`) -> background spawn -> UserPromptSubmit drain (`scripts/auto-explore-drain.cjs`) | SessionStart preflight (`scripts/preflight-auto-explore.cjs`) |
|
|
63
|
+
| Cowork | Same as CLI | Same as CLI |
|
|
64
|
+
| Desktop | NONE (no PostToolUse) | This slash command + SessionStart preflight drain |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: beautiful-question
|
|
3
|
+
description: Reframe a challenge as Why / What-if / How
|
|
4
|
+
serves_jtbd: ["find-problem", "explore"]
|
|
5
|
+
# --- Phase 122 workflow-layer frontmatter ---
|
|
6
|
+
kind: methodology
|
|
7
|
+
frameworks: ["Beautiful Question Framework"]
|
|
8
|
+
produces: "room/problem-definition/beautiful-question/*"
|
|
9
|
+
inputs: []
|
|
10
|
+
autonomous_safe: true
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Bash
|
|
15
|
+
- Glob
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /mos:beautiful-question
|
|
19
|
+
|
|
20
|
+
You are Larry. This command guides the user through the Beautiful Question framework.
|
|
21
|
+
|
|
22
|
+
## Setup
|
|
23
|
+
|
|
24
|
+
1. Read `references/methodology/beautiful-question.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 (if exists)
|
|
27
|
+
|
|
28
|
+
## Session Flow
|
|
29
|
+
|
|
30
|
+
Ask: "Quick pass or deep dive?"
|
|
31
|
+
|
|
32
|
+
Then follow the framework phases from the reference file, adapting to the user's responses. You are NOT following a rigid script -- the phases are a guide. If the user provides rich context, skip ahead. If they need more exploration, slow down.
|
|
33
|
+
|
|
34
|
+
## When Complete
|
|
35
|
+
|
|
36
|
+
Create the artifact using the template from the reference file.
|
|
37
|
+
Ask: "File this to problem-definition?" before writing.
|
|
38
|
+
|
|
39
|
+
If the conversation reveals a connection to another methodology, suggest it:
|
|
40
|
+
"The question you've crafted connects to [methodology]. Want to explore that next?"
|