@mindrian_os/install 1.13.0-beta.17 → 1.13.0-beta.21
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 +1 -1
- package/.mcp.json +6 -1
- package/CHANGELOG.md +31 -0
- package/README.md +51 -56
- package/bin/mindrian-brain-mcp-client.cjs +152 -0
- package/commands/act.md +1 -0
- package/commands/admin.md +1 -0
- package/commands/analyze-needs.md +2 -0
- package/commands/analyze-systems.md +2 -0
- package/commands/analyze-timing.md +2 -0
- package/commands/auto-explore.md +2 -0
- package/commands/beautiful-question.md +2 -0
- package/commands/brain-derive.md +2 -0
- package/commands/build-knowledge.md +2 -0
- package/commands/build-thesis.md +2 -0
- package/commands/causal.md +2 -0
- package/commands/challenge-assumptions.md +2 -0
- package/commands/compare-ventures.md +2 -0
- package/commands/dashboard.md +2 -1
- package/commands/deep-grade.md +2 -0
- package/commands/diagnose.md +21 -1
- package/commands/diagnostics.md +14 -3
- package/commands/doctor.md +6 -2
- package/commands/dogfood-flush.md +92 -0
- package/commands/dominant-designs.md +2 -0
- package/commands/explain-decision.md +2 -0
- package/commands/explore-domains.md +2 -0
- package/commands/explore-futures.md +2 -0
- package/commands/explore-trends.md +2 -0
- package/commands/export.md +1 -0
- package/commands/feynman-timeline-refresh.md +2 -0
- package/commands/file-meeting.md +2 -0
- package/commands/find-analogies.md +1 -0
- package/commands/find-bottlenecks.md +2 -0
- package/commands/find-connections.md +2 -0
- package/commands/funding.md +1 -0
- package/commands/grade.md +2 -0
- package/commands/graph.md +1 -0
- package/commands/hat-briefing.md +1 -0
- package/commands/heal.md +22 -170
- package/commands/help.md +54 -334
- package/commands/hmi-status.md +23 -144
- package/commands/jtbd.md +1 -0
- package/commands/leadership.md +2 -0
- package/commands/lean-canvas.md +2 -0
- package/commands/macro-trends.md +2 -0
- package/commands/map-unknowns.md +2 -0
- package/commands/memory.md +1 -0
- package/commands/models.md +1 -0
- package/commands/mos-reason.md +2 -0
- package/commands/mos.md +139 -0
- package/commands/mullins.md +2 -0
- package/commands/mva-brief.md +2 -0
- package/commands/mva-option.md +2 -0
- package/commands/new-project.md +2 -0
- package/commands/onboard.md +20 -7
- package/commands/operator.md +1 -0
- package/commands/opportunities.md +1 -0
- package/commands/organize.md +22 -469
- package/commands/persona.md +1 -0
- package/commands/pipeline.md +2 -0
- package/commands/present.md +1 -0
- package/commands/publish.md +2 -0
- package/commands/query.md +24 -102
- package/commands/radar.md +2 -0
- package/commands/reanalyze.md +1 -0
- package/commands/research.md +2 -0
- package/commands/room.md +2 -0
- package/commands/rooms.md +1 -0
- package/commands/root-cause.md +2 -0
- package/commands/rs-experts.md +1 -0
- package/commands/rs-explain.md +1 -0
- package/commands/rs-fetch.md +1 -0
- package/commands/rs-thesis.md +1 -0
- package/commands/scenario-plan.md +2 -0
- package/commands/scheduled-tasks.md +1 -0
- package/commands/score-innovation.md +2 -0
- package/commands/scout.md +1 -0
- package/commands/setup.md +2 -0
- package/commands/snapshot.md +2 -0
- package/commands/speakers.md +1 -0
- package/commands/splash.md +5 -2
- package/commands/status.md +1 -0
- package/commands/structure-argument.md +2 -0
- package/commands/suggest-next.md +2 -0
- package/commands/systems-thinking.md +2 -0
- package/commands/think-hats.md +2 -0
- package/commands/update.md +2 -0
- package/commands/user-needs.md +2 -0
- package/commands/validate.md +2 -0
- package/commands/value-proposition.md +2 -0
- package/commands/vault.md +2 -0
- package/commands/visualize.md +24 -29
- package/commands/whitespace.md +2 -1
- package/commands/wiki.md +1 -0
- package/hooks/hooks.json +22 -88
- package/lib/agents/auto-explore-agent.cjs +82 -0
- package/lib/core/breakthrough/canary.cjs +134 -0
- package/lib/core/breakthrough/canary.test.cjs +136 -0
- package/lib/core/breakthrough/detectors.cjs +359 -0
- package/lib/core/breakthrough/detectors.test.cjs +333 -0
- package/lib/core/breakthrough/ethics-fence.cjs +127 -0
- package/lib/core/breakthrough/ethics-fence.test.cjs +178 -0
- package/lib/core/breakthrough/resurfacing.cjs +150 -0
- package/lib/core/breakthrough/resurfacing.test.cjs +233 -0
- package/lib/core/breakthrough/review-queue.cjs +154 -0
- package/lib/core/breakthrough/review-queue.test.cjs +160 -0
- package/lib/core/breakthrough/scanner-d17-d18.test.cjs +229 -0
- package/lib/core/breakthrough/scanner.cjs +426 -0
- package/lib/core/breakthrough/scanner.test.cjs +267 -0
- package/lib/core/breakthrough/schema.cjs +164 -0
- package/lib/core/breakthrough/schema.test.cjs +256 -0
- package/lib/core/breakthrough/scoring.cjs +293 -0
- package/lib/core/breakthrough/scoring.test.cjs +423 -0
- package/lib/core/breakthrough/verb-dispatch.cjs +221 -0
- package/lib/core/breakthrough/verb-dispatch.test.cjs +185 -0
- package/lib/core/breakthrough/voice-scaffold.cjs +247 -0
- package/lib/core/breakthrough/voice-scaffold.test.cjs +251 -0
- package/lib/core/directive-envelope.cjs +175 -0
- package/lib/core/directive-envelope.test.cjs +225 -0
- package/lib/core/doctor/class-m-brain-smoke.cjs +278 -0
- package/lib/core/doctor/class-m-brain-smoke.test.cjs +310 -0
- package/lib/core/first-touch-version-stamper.cjs +113 -0
- package/lib/core/larry-thinness-acknowledgment.cjs +64 -0
- package/lib/core/larry-thinness-acknowledgment.test.cjs +97 -0
- package/lib/core/llm-name-suggester.cjs +194 -0
- package/lib/core/llm-name-suggester.test.cjs +132 -0
- package/lib/core/mcp-profiles.cjs +1 -1
- package/lib/core/migration-snapshot.cjs +172 -0
- package/lib/core/migration-snapshot.test.cjs +174 -0
- package/lib/core/mindrian-brain-shim.test.cjs +214 -0
- package/lib/core/mva-orchestrator.cjs +41 -0
- package/lib/core/mva-telemetry.cjs +31 -143
- package/lib/core/navigation/edges.cjs +35 -0
- package/lib/core/navigation/memory-events.cjs +126 -0
- package/lib/core/room-auto-create.cjs +318 -0
- package/lib/core/room-auto-create.test.cjs +198 -0
- package/lib/core/room-discard-cascade.cjs +225 -0
- package/lib/core/room-discard-cascade.test.cjs +135 -0
- package/lib/core/room-name-validator.cjs +132 -0
- package/lib/core/room-name-validator.test.cjs +156 -0
- package/lib/core/room-naming-selector.cjs +357 -0
- package/lib/core/room-naming-selector.test.cjs +277 -0
- package/lib/core/room-receipt-emit.cjs +63 -0
- package/lib/core/room-skeleton-scaffold.cjs +315 -0
- package/lib/core/room-skeleton-scaffold.test.cjs +291 -0
- package/lib/core/rs-nl-to-query.cjs +1 -1
- package/lib/core/stale-copy-scanner.cjs +190 -0
- package/lib/core/state-aware-router.cjs +78 -0
- package/lib/core/telemetry/schema.cjs +168 -0
- package/lib/core/telemetry/schema.test.cjs +124 -0
- package/lib/core/telemetry/validator.cjs +200 -0
- package/lib/core/telemetry/validator.test.cjs +188 -0
- package/lib/core/telemetry/writer.cjs +141 -0
- package/lib/core/telemetry/writer.test.cjs +331 -0
- package/lib/core/terminal-capability.cjs +88 -0
- package/lib/core/tier0-messaging.cjs +109 -0
- package/lib/core/tier0-messaging.test.cjs +218 -0
- package/lib/core/venture-shape-nudge.cjs +163 -0
- package/lib/core/venture-shape-nudge.test.cjs +161 -0
- package/lib/core/visual-ops.cjs +70 -2
- package/lib/hmi/selector-dispatcher.cjs +90 -1
- package/lib/hmi/shape-f7-breakthrough-renderer.cjs +222 -0
- package/lib/hmi/shape-f7-breakthrough-renderer.test.cjs +233 -0
- package/lib/memory/body-shape-coverage.test.cjs +268 -0
- package/lib/memory/brain-derivation-graceful-degradation.test.cjs +2 -2
- package/lib/memory/doctor-deprecation-surface.test.cjs +185 -0
- package/lib/memory/first-touch-version.test.cjs +198 -0
- package/lib/memory/help-coverage.test.cjs +108 -0
- package/lib/memory/help-renderer.test.cjs +145 -0
- package/lib/memory/mos-status-renderer.test.cjs +2 -2
- package/lib/memory/navigation-engine-core.test.cjs +1 -1
- package/lib/memory/palette-consistency.test.cjs +127 -0
- package/lib/memory/pending-tension-store.cjs +80 -0
- package/lib/memory/render-v2-disposition.test.cjs +199 -0
- package/lib/memory/run-feynman-tests.cjs +223 -0
- package/lib/memory/sessionstart-coordinator.test.cjs +446 -0
- package/lib/memory/skill-vs-code-drift.test.cjs +257 -0
- package/lib/memory/soft-alias.test.cjs +144 -0
- package/lib/memory/stale-copy-scanner.test.cjs +291 -0
- package/lib/memory/state-aware-router.test.cjs +90 -0
- package/lib/memory/statusline-two-row.test.cjs +338 -0
- package/lib/memory/terminal-capability.test.cjs +155 -0
- package/lib/render/ROOM.md +74 -22
- package/lib/sessionstart/budget-compressor.cjs +130 -0
- package/lib/sessionstart/contributor-interface.cjs +134 -0
- package/lib/sessionstart/contributor-isolator.cjs +128 -0
- package/lib/sessionstart/precedence-ladder.cjs +47 -0
- package/lib/statusline/governing-thought-truncator.cjs +45 -0
- package/lib/statusline/two-row-renderer.cjs +186 -0
- package/lib/statusline/version-resolver.cjs +81 -0
- package/package.json +1 -1
- package/references/visual/ROOM.md +55 -0
- package/references/visual/palette.json +54 -0
- package/skills/larry-personality/SKILL.md +34 -0
- package/skills/ui-system/SKILL.md +109 -1
- package/skills/ui-system/rules/dual-palette.md +156 -0
- package/skills/ui-system/rules/glyph-disambiguation.md +171 -0
- package/skills/ui-system/rules/shape-f-zero-and-six.md +169 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mos",
|
|
3
3
|
"description": "MindrianOS -- Your AI innovation co-founder. Larry thinks with you through PWS methodology, builds your Data Room as you explore, and chains frameworks intelligently. Install and go.",
|
|
4
|
-
"version": "1.13.0-beta.
|
|
4
|
+
"version": "1.13.0-beta.21",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jonathan Sagir",
|
|
7
7
|
"url": "https://mindrian.ai"
|
package/.mcp.json
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"mindrian-os": {
|
|
4
4
|
"command": "node",
|
|
5
|
-
"args": ["bin/mindrian-mcp-server.cjs"],
|
|
5
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/bin/mindrian-mcp-server.cjs"],
|
|
6
|
+
"alwaysLoad": true
|
|
7
|
+
},
|
|
8
|
+
"mindrian-brain": {
|
|
9
|
+
"command": "node",
|
|
10
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/bin/mindrian-brain-mcp-client.cjs"],
|
|
6
11
|
"alwaysLoad": true
|
|
7
12
|
}
|
|
8
13
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
## [1.13.0-beta.21] - 2026-05-20
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
- (next-pre-release Commit B placeholder; Phase 127 Brain MCP Local Stdio Shim work ships here per `.planning/v1.13.1-EXECUTION-PLAN.md` AMENDMENT 2026-05-19)
|
|
5
|
+
|
|
6
|
+
## [1.13.0-beta.19] - 2026-05-19
|
|
7
|
+
|
|
8
|
+
### Promoted (2026-05-19 -- v1.13.0 milestone redefinition)
|
|
9
|
+
- **Phase 127 (Brain MCP Local Stdio Shim + Auto-Migration) and Phase 127.1 (Brain GraphRAG Collapse Pinecone -> Neo4j HNSW) PROMOTED from v1.13.1 INTO v1.13.0.** v1.13.0 milestone redefined from "The Closed Loop" (Hooked Fixes + Canon Part 10) to **"The Closed Loop + Brain Goes Native"**. Phase 127 targets v1.13.0-beta.20 (client-side stdio shim, ~3-5 days; Tavily-validated 2026-05-19); Phase 127.1 targets v1.13.0-beta.21 (server-side Neo4j HNSW collapse, ~3-5 days + 20-query non-regression harness >= 80% top-5 overlap). v1.13.0 final cuts after both land. Trade-off: ~2-week ship-date slip, but ONE adoption cycle for "Brain feels native end-to-end" instead of two. v1.13.1 milestone keeps Phases 128/129/130/131 but loses its architectural anchor (renaming pending: "spine repair + lens engine + research workflow", not "Brain native"). External validation in flight via Tavily research agent before /gsd:plan-phase 127 fires. See ROADMAP.md Phase 127 + 127.1 sections, both CONTEXT.md files (frontmatter `milestone:` flipped 2026-05-19), and .planning/v1.13.1-EXECUTION-PLAN.md AMENDMENT block.
|
|
10
|
+
|
|
11
|
+
### Added (2026-05-17 -- 2026-05-19 endgame work bundled into this beta)
|
|
12
|
+
- **Phase 120 (Breakthrough Scan Category G) shipped 2026-05-17.** 9-of-9 must-haves verified. Hooked Fix 3 (Category G) closed: variable-reward axis ships the highest-nutrition flavor (own-breakthroughs surfaced back at the navigator). 4 detectors (convergence / contradiction-resolved / cross-domain analogy / reverse-salient closed) + F.7 Breakthrough Surface selector (5 verbs: Explore deeper / Confirm / File as decision / Dismiss / Back) + session-start scanner via Phase 109 navigation.cjs chokepoint + D-13..D-15 resurfacing rules + D-19 per-detector dismissal-rate canary + D-17 4-rule voice scaffold + D-18 4-tier ethics fence (HARD_FLOOR / SOFT_BAND / NEUTRAL / GREEN) + SOFT_BAND review queue in rooms-meta.db + 5-component scoring formula + "More breakthroughs (N)" affordance + D-20 LOAD-BEARING SQL invariant (every Breakthrough has a DERIVED_FROM edge by construction; 4 structural enforcement points). 159 unit tests + 4 D-20 e2e + 13 ethics-fence + voice-audit + 3 scaffold harnesses all green. Canon Part 4 cascade vocab honored (8 types; 2026-05-16 dual-graph review rejection sealed -- no ASSOCIATION_LENS / TRANSITION_LENS). Canon Part 8 clean. Canon Part 9 chokepoint preserved (10 modules route through navigation.cjs).
|
|
13
|
+
- **Phase 121 (Trajectory Telemetry) shipped 2026-05-19.** 12-of-12 must-haves verified. Reframed per Canon Part 7 from "greenfield instrumentation" to "consolidation": 4 piecemeal telemetry writers (`mva.jsonl` + `selector.jsonl` + `navigation-bypass.jsonl` + `query-efficiency.jsonl`) collapse to ONE unified `~/.mindrian/telemetry/v1.13/events-YYYY-WNN.jsonl` with `type` discriminator + frozen v1 schema (per-row `schema_version: 1` Number, 15 EVENT_TYPES) + ISO-week rotation + single emit-time-validator chokepoint (7 forbidden-pattern detectors, mirrors proven `mva-telemetry.cjs` shape) + idempotent migration (source-name-prefixed sha256 fingerprint, originals renamed `*.pre-v121.bak`) + `mva-telemetry.cjs` 170 -> 58-line shim delegating to writer with legacy dual-write (Phase 118 byte-functional compat preserved; dual-write retires v1.14.0). 9 capture points wired: selector picks (88.2 + 125), tension engagement (116), auto-explore decisions (117), breakthrough dismissed (120), MVA + Hooked re-score (inherited), empathy audit CLI, room-receipt (119), PostToolUse broad-sweep into separate `command_invocation` bucket (drowning-protected via type discriminator; 100 cmd_inv + 10 selector_pick fixture proves filter-isolation). `docs/TELEMETRY-SCHEMA.md` (364 LOC) frozen v1 spec + SEED-002 ingestion guidance (arXiv 2508.03680). Canon Part 8 adversarial audit (7 gates across 17 telemetry-touching files; zero LOCAL->BRAIN egress) + D-12 silent-observability invariant (4 gates). 19/19 test suites green.
|
|
14
|
+
- **Phase 121.5 re-verify fix 2026-05-19.** `/mos:dogfood-flush` (added by Phase 120) registered in `data/help-groups.json` Infrastructure group. Restores 3 previously-failing 121.5 coherence tests. Capstone coherence invariant holds against the now-complete v1.13.0 surface. `bash tests/run-all-121.5.sh` -> 11/11 suites green.
|
|
15
|
+
- **SEED-003 (Brain Silent Identity) filed 2026-05-19.** Deferred user request to eliminate the API-key step entirely on top of Phase 127's stdio shim. Three architectural options scoped (per-install silent registration / plugin attestation HMAC / anonymous tier + degraded payload).
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **`/mos:mos` state-aware router (Phase 121.5-08 Sub-plan J; D-10 LOCKED).** Closes the plugin.json declaration gap flagged in Cluster 5 audit 2026-05-15 (the command was declared but the backing file was absent). The router picks the right next surface for the navigator: no room -> `/mos:onboard`; mostly-empty room -> `/mos:status` with a "suggest next move" hint; populated room -> `/mos:suggest-next`. Backed by `lib/core/state-aware-router.cjs` (pure function, hermetic unit tests in `lib/memory/state-aware-router.test.cjs`). Meets the navigator where they are -- one entrypoint that always does the right thing rather than forcing the user to pick the right `/mos:*` surface. (`commands/mos.md` [new], `lib/core/state-aware-router.cjs` [new], `lib/memory/state-aware-router.test.cjs` [new].)
|
|
19
|
+
- **Soft-alias runner + 5 soft-alias stubs (Phase 121.5-08 Sub-plan J; D-09 LOCKED).** New helper `scripts/soft-alias-runner.cjs` (`softAliasRun` pure function + `emitForLLM` CLI form) returns a JSON envelope `{redirect, deprecation_note, args, ok}` so the LLM can print a single cyan deprecation line (Larry voice, no em-dash) and then transparently invoke the canonical command. Hermetic unit tests in `lib/memory/soft-alias.test.cjs` (45 PASS). (`scripts/soft-alias-runner.cjs` [new], `lib/memory/soft-alias.test.cjs` [new].)
|
|
20
|
+
- **`/mos:doctor --deprecated-usage` (class L, NEW; Phase 121.5-08 Sub-plan J; D-09 final clause).** Scans recent (last-7-days) `~/.claude/projects/.../*.jsonl` session transcripts for `/mos:<deprecated>` patterns and surfaces a per-command "use `/mos:<new>` instead" hint. Pure LOCAL scan -- zero network, zero Brain, zero telemetry egress (Canon Part 8 preserved). Also activated by `--all`. Hermetic unit tests in `lib/memory/doctor-deprecation-surface.test.cjs`. `MINDRIAN_DOCTOR_TRANSCRIPTS_DIR` env-var override for hermetic tests. (`scripts/doctor.cjs`, `commands/doctor.md`, `lib/memory/doctor-deprecation-surface.test.cjs` [new].)
|
|
21
|
+
- **F.1 Next Move selectors wired on `/mos:onboard` Step 6 + `/mos:diagnose` recommendation block (Phase 121.5-08 Sub-plan J; D-12 LOCKED).** Closes Canon Part 3 violations flagged in Cluster 5 audit 2026-05-15: the recommendation surfaces previously rendered as bare prose, bypassing the Decision Gate. Both surfaces now render the canonical 3-verb F.1 vocabulary (Run Methodology / Defer / Free-Text) via AskUserQuestion; the selected verb writes to STATE.md Decisions + creates a typed edge in the local graph. (`commands/onboard.md`, `commands/diagnose.md`.)
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- **5 commands deprecate to canonical surfaces (Phase 121.5-08 Sub-plan J; D-09 LOCKED).** All old commands remain functional for v1.13.x (soft-alias stubs with deprecation notes routed through `scripts/soft-alias-runner.cjs`); removal is scheduled v1.14.0. Zero tester breakage during v1.13.x:
|
|
25
|
+
- `/mos:heal` -> `/mos:doctor --heal-room` (folds into doctor's class E fix engine)
|
|
26
|
+
- `/mos:query` -> `/mos:graph "<question>"` (terminal natural-language Q&A collapses into the graph translator)
|
|
27
|
+
- `/mos:organize` -> `/mos:rooms organize <verb>` (portfolio grouping folds under the multi-room surface)
|
|
28
|
+
- `/mos:hmi-status` -> `/mos:doctor --ui-compliance --json` (D-11 LOCKED; standalone command goes away; functionality lives in doctor class F)
|
|
29
|
+
- `/mos:visualize` -> `/mos:dashboard --mermaid` (the dashboard already renders Cytoscape; the `--mermaid` flag covers the Mermaid code-block fallback that visualize used to provide)
|
|
30
|
+
- **`/mos:diagnostics` is being renamed to `/mos:fingerprint` in v1.14.0 (no functional change).** The rename kills the diagnose/diagnostics naming ambiguity. Both invocations work in v1.13.x; use `/mos:fingerprint` going forward. (`commands/diagnostics.md` frontmatter `renaming_to: fingerprint`; body prepends a Renamed note before the unchanged 4-algorithm dispatcher.)
|
|
31
|
+
|
|
1
32
|
## [1.13.0-beta.17] - 2026-05-15
|
|
2
33
|
|
|
3
34
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,97 +1,94 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://mindrianos-jsagirs-projects.vercel.app/logo_dark.svg" alt="MindrianOS" width="
|
|
2
|
+
<img src="https://mindrianos-jsagirs-projects.vercel.app/logo_dark.svg" alt="MindrianOS" width="200" />
|
|
3
3
|
|
|
4
4
|
# MindrianOS
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**When you are walking through a problem worth solving and you cannot yet name what is missing, MindrianOS is the thinking partner that walks beside you.**
|
|
7
7
|
|
|
8
|
-
Powered by PWS
|
|
9
|
-
|
|
10
|
-
Built by [Jonathan Sagir](https://www.linkedin.com/in/jonathansagir/).
|
|
8
|
+
Powered by PWS (Problems Worth Solving), an innovation methodology built and tested through 20 years of teaching by Prof. Lawrence Aronhime.
|
|
9
|
+
Engineered by Jonathan Sagir.
|
|
11
10
|
|
|
12
|
-
[](CHANGELOG.md)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
[](#three-surfaces)
|
|
15
14
|
|
|
16
|
-
[Website](https://mindrianos-jsagirs-projects.vercel.app)
|
|
17
|
-
[Marketplace](https://github.com/jsagir/mindrian-marketplace)
|
|
15
|
+
[Website](https://mindrianos-jsagirs-projects.vercel.app) ·
|
|
16
|
+
[Marketplace](https://github.com/jsagir/mindrian-marketplace) ·
|
|
18
17
|
[Brain Access](https://mindrianos-jsagirs-projects.vercel.app/brain-access)
|
|
19
|
-
|
|
20
18
|
</div>
|
|
21
19
|
|
|
22
20
|
---
|
|
23
21
|
|
|
24
|
-
## The
|
|
25
|
-
|
|
26
|
-
You are working on something that matters. A venture. A research direction. A grant. A pivot. The problem you are trying to solve is real, but it is undefined, and you keep getting lost in it. You take notes, but the notes pile up. You have meetings, but you forget what was said two weeks ago. You make decisions, but you cannot remember why.
|
|
22
|
+
## The answer first
|
|
27
23
|
|
|
28
|
-
|
|
24
|
+
> When you talk to Larry about what you are working on, MindrianOS turns the conversation into a structured room, remembers your decisions across sessions, and surfaces the contradictions you would otherwise miss.
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
You do not learn a tool. You talk. The room takes shape underneath the conversation. Whatever you said yesterday is still working for you today.
|
|
31
27
|
|
|
32
28
|
---
|
|
33
29
|
|
|
34
|
-
## How it works
|
|
30
|
+
## How it works (in three pieces)
|
|
31
|
+
|
|
32
|
+
### Larry is the thinking partner
|
|
33
|
+
|
|
34
|
+
Larry is the AI you talk to. Larry asks the questions that reframe the problem before you try to solve it, suggests the method that fits where you are, and files what you say into your room without making you stop to organize. You do not have to know the framework names. You describe what you are doing. Larry routes you.
|
|
35
|
+
|
|
36
|
+
### The Data Room is your venture made legible
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
Every conversation, every meeting, every decision lands in a folder structure organized by venture stage: the problem, the market, the solution, the team, the money, the IP, the meetings, the opportunities. You open it in your file manager. You back it up like any other folder. You own it.
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
### The room surfaces what you cannot see
|
|
41
|
+
|
|
42
|
+
Every time you add something new, the system compares it against everything already there. Larry tells you what just changed. What contradicts what. What connects to what. What is now missing. What you stopped checking weeks ago.
|
|
43
|
+
|
|
44
|
+
You decide: APPROVE, REJECT (with a reason), or DEFER. The reason becomes part of the room. The next scan is smarter.
|
|
45
|
+
|
|
46
|
+
---
|
|
39
47
|
|
|
40
|
-
|
|
48
|
+
## What v1.13.0 changed (The Closed Loop)
|
|
41
49
|
|
|
42
|
-
|
|
50
|
+
Before this release, MindrianOS could file your work and surface intelligence, but the loop did not always close. You would say something, the system would react, and nothing carried forward. v1.13.0 closes the loop:
|
|
43
51
|
|
|
44
|
-
**
|
|
52
|
+
- **Larry leads turn one.** The first thing you see is a conversation, not a command menu.
|
|
53
|
+
- **Your first sentence becomes a room.** Type a venture sentence, get a 30-second brief and a populated room before you have to commit anything else.
|
|
54
|
+
- **Tensions persist across sessions.** Larry remembers what was unresolved and brings it back when relevant.
|
|
55
|
+
- **Every conversation produces an artifact.** A first session leaves you with a real room, not an empty wizard.
|
|
56
|
+
- **Decisions teach the system.** Your approvals, your rejections, your reasons become part of the room's working memory.
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
Currently shipping as `v1.13.0-beta.19`. Final `v1.13.0` is imminent.
|
|
47
59
|
|
|
48
60
|
---
|
|
49
61
|
|
|
50
|
-
## What you
|
|
62
|
+
## What you do in a session
|
|
51
63
|
|
|
52
|
-
|
|
64
|
+
Talk. Type a command when you know the shortcut. Let Larry teach you when you do not.
|
|
53
65
|
|
|
54
66
|
```bash
|
|
55
67
|
/mos:new-project # tell Larry what you are exploring
|
|
56
68
|
/mos:beautiful-question # reframe the problem before solving it
|
|
57
69
|
/mos:analyze-needs # who has this problem, how badly, what they have tried
|
|
58
70
|
/mos:lean-canvas # one-page business model
|
|
59
|
-
/mos:file-meeting # paste a transcript, Larry files it
|
|
71
|
+
/mos:file-meeting # paste a transcript, Larry files it
|
|
60
72
|
/mos:opportunities # what grants match this room right now
|
|
61
73
|
/mos:query "what is the weakest assumption in my financial model?"
|
|
62
|
-
/mos:grade # honest assessment
|
|
74
|
+
/mos:grade # honest assessment against real ventures
|
|
63
75
|
```
|
|
64
76
|
|
|
65
|
-
You do not have to memorize these.
|
|
77
|
+
You do not have to memorize these. Describe what you are trying to do. Larry routes you.
|
|
66
78
|
|
|
67
79
|
---
|
|
68
80
|
|
|
69
|
-
##
|
|
70
|
-
|
|
71
|
-
This release is called **The Closed Loop**. Before this version, MindrianOS could file your work and surface intelligence, but the loop did not always close: you would say something, the system would react, and then nothing would carry forward to the next session.
|
|
81
|
+
## Why the room compounds
|
|
72
82
|
|
|
73
|
-
|
|
74
|
-
- **Larry leads turn one.** The first thing you see is a conversation, not a command menu.
|
|
75
|
-
- **The first file you write triggers a background scan.** You will see findings on your next turn: whitespace, contradictions, cross-domain analogies you could borrow from.
|
|
76
|
-
- **Contradictions persist across sessions.** Larry remembers what was unresolved and brings it back when relevant.
|
|
77
|
-
- **Every conversation produces a real artifact.** A first session leaves you with a populated room, not an empty wizard.
|
|
78
|
-
- **Your decisions are graph data.** The room learns from your approvals, your rejections, and the reasons you give.
|
|
83
|
+
Most tools get messier the more you put in. Search ranks worse. Folders bloat. The AI forgets what you told it last session. MindrianOS goes the other way.
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## Why this gets better the longer you use it
|
|
85
|
-
|
|
86
|
-
MindrianOS is a thinking tool that compounds. Most tools get messier the more you put in -- the search ranks worse, the folder gets bigger, the AI forgets what you told it last session. MindrianOS goes the other way.
|
|
87
|
-
|
|
88
|
-
Here is the mechanism, in plain words: every conversation you have with Larry, every meeting you file, every decision you make and reason you give becomes part of your room. The room is searchable, structured, and remembered across sessions. Every NEW thing you add gets compared against everything already there.
|
|
85
|
+
The mechanism is plain. Everything you say to Larry, every meeting you file, every decision you make and reason you give becomes part of your room. The room is searchable, structured, and remembered. Every NEW entry compares against everything already there.
|
|
89
86
|
|
|
90
87
|
Day one, you have a folder.
|
|
91
88
|
|
|
92
89
|
Day thirty, you have a folder that catches the contradiction between yesterday's strategy call and last week's customer interview, because nothing about either was forgotten. Larry brings back the assumption you made in week two when you are about to make a decision in week eight that depends on it. The room finds the connection between two meetings that happened a month apart that nobody remembers being related.
|
|
93
90
|
|
|
94
|
-
|
|
91
|
+
Nothing forgets. Everything compares. Your own past work works for you.
|
|
95
92
|
|
|
96
93
|
---
|
|
97
94
|
|
|
@@ -125,37 +122,35 @@ mindrian-os update # marketplace + plugin update
|
|
|
125
122
|
mindrian-os doctor --all # diagnose drift, suggest fixes
|
|
126
123
|
```
|
|
127
124
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Claude Code asks you to approve each shell command during install. 10+ prompts is normal. Pick "always allow" the first time you see one you are happy approving; the rest will not re-prompt.
|
|
125
|
+
A note on install prompts: Claude Code asks you to approve each shell command. 10+ prompts is normal. Pick "always allow" the first time you see one you are happy with; the rest will not re-prompt.
|
|
131
126
|
|
|
132
127
|
---
|
|
133
128
|
|
|
134
129
|
## Three surfaces
|
|
135
130
|
|
|
136
|
-
MindrianOS works wherever Claude works.
|
|
131
|
+
MindrianOS works wherever Claude works.
|
|
137
132
|
|
|
138
133
|
| Surface | What it gives you |
|
|
139
134
|
|---------|-------------------|
|
|
140
135
|
| **Claude Code CLI** | Full power. Hooks fire, scripts run, the room is on disk, Larry teaches with visible structure. |
|
|
141
|
-
| **Claude Desktop** | Same Larry, conversational. The Data Room shows up as inline
|
|
136
|
+
| **Claude Desktop** | Same Larry, conversational. The Data Room shows up as inline panels (dashboard, wiki, knowledge graph). |
|
|
142
137
|
| **Cowork** | Same plugin, shared room. Daily briefings, persistent perspectives, multi-user. |
|
|
143
138
|
|
|
144
139
|
---
|
|
145
140
|
|
|
146
141
|
## The privacy line
|
|
147
142
|
|
|
148
|
-
MindrianOS reads your workspace and writes only to your rooms (default: `~/MindrianRooms/`) and to session state (`./.mindrian/`). It does not
|
|
143
|
+
MindrianOS reads your workspace and writes only to your rooms (default: `~/MindrianRooms/`) and to session state (`./.mindrian/`). It does not push anything to the Brain. Brain queries carry methodology questions only, never your notes, never your decisions, never your meetings.
|
|
149
144
|
|
|
150
|
-
|
|
145
|
+
For zero permission prompts during a session: `claude --dangerously-skip-permissions`. The read/write surface is bounded to your workspace and your rooms. For granular control, copy the matcher set from [`docs/settings-template.json`](docs/settings-template.json) into `~/.claude/settings.json`.
|
|
151
146
|
|
|
152
147
|
---
|
|
153
148
|
|
|
154
149
|
## Why PWS, why Larry
|
|
155
150
|
|
|
156
|
-
PWS (Problems Worth Solving) is
|
|
151
|
+
PWS (Problems Worth Solving) is not a checklist. It is a way of thinking about ventures as wicked problems that need to be reframed before they can be solved, and that demand a working memory because nobody can hold the whole thing in their head.
|
|
157
152
|
|
|
158
|
-
Larry is the personality that delivers PWS in your terminal. The teaching is intrinsic
|
|
153
|
+
Larry is the personality that delivers PWS in your terminal. The teaching is intrinsic. You do not have to know the framework names. Larry asks the question, suggests the move, shows the chain. You decide.
|
|
159
154
|
|
|
160
155
|
---
|
|
161
156
|
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* mindrian-brain MCP stdio shim (Phase 127, BRAIN-MCP-127-01)
|
|
6
|
+
*
|
|
7
|
+
* Local stdio MCP server that proxies the 6 canonical Brain tools to the
|
|
8
|
+
* remote Render-hosted Brain via lib/core/brain-client.cjs. Bundled with the
|
|
9
|
+
* plugin via .mcp.json so every new install gets mindrian-brain auto-loaded
|
|
10
|
+
* with zero user wiring beyond MINDRIAN_BRAIN_KEY in env / ~/.mindrian.env.
|
|
11
|
+
*
|
|
12
|
+
* Canon Part 7: ~85% reuse of brain-client.cjs -- this file is JUST a stdio
|
|
13
|
+
* transport wrapper. It contains zero network code; every Brain payload is
|
|
14
|
+
* constructed by brain-client.cjs (which inherits Phase 110 typed-packet
|
|
15
|
+
* enforcement on its typed-job entry; this shim proxies the 6
|
|
16
|
+
* tool-surface entry points which carry only generic methodology handles
|
|
17
|
+
* per Canon Part 8).
|
|
18
|
+
*
|
|
19
|
+
* Canon Part 8: adversarial scan against this file's active code MUST return
|
|
20
|
+
* zero matches for the network-surface token set (delegation property --
|
|
21
|
+
* every network call lives in brain-client.cjs).
|
|
22
|
+
*
|
|
23
|
+
* HARD RULE: no em-dashes anywhere in this file (hyphens only).
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
const path = require('path');
|
|
27
|
+
const { McpServer } = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
28
|
+
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
29
|
+
const { z } = require('zod');
|
|
30
|
+
|
|
31
|
+
const brainClient = require('../lib/core/brain-client.cjs');
|
|
32
|
+
const { wrapDirective } = require('../lib/core/directive-envelope.cjs');
|
|
33
|
+
const { tier0Response: chokepointTier0 } = require('../lib/core/tier0-messaging.cjs');
|
|
34
|
+
|
|
35
|
+
const pluginRoot = path.resolve(__dirname, '..');
|
|
36
|
+
const pluginMeta = require('../.claude-plugin/plugin.json');
|
|
37
|
+
const version = pluginMeta.version;
|
|
38
|
+
|
|
39
|
+
// Tier-0 sentinel -- structured DIRECTOR_NOT_AVAILABLE response. Returned by
|
|
40
|
+
// the 5 tools that surface raw Brain payloads (query/schema/search/stats/write).
|
|
41
|
+
// brain_ask wraps Tier-0 differently (in a DirectiveEnvelope) so Larry's
|
|
42
|
+
// surface reads a uniform shape regardless of tier.
|
|
43
|
+
//
|
|
44
|
+
// Phase 127-02 BRAIN-MCP-127-09 refactor: this is now a one-line passthrough
|
|
45
|
+
// to the single chokepoint at lib/core/tier0-messaging.cjs. The local symbol
|
|
46
|
+
// is preserved so existing tests + tool closures keep their reference.
|
|
47
|
+
// Delegation property: zero duplicate sentinel-shape definition lives here.
|
|
48
|
+
function tier0Response(commandContext) {
|
|
49
|
+
return chokepointTier0(commandContext);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function asContent(obj) {
|
|
53
|
+
return { content: [{ type: 'text', text: JSON.stringify(obj) }] };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const server = new McpServer({ name: 'mindrian-brain', version: version });
|
|
57
|
+
|
|
58
|
+
// -- brain_ask: highest-level entry; wraps response in DirectiveEnvelope.
|
|
59
|
+
server.tool(
|
|
60
|
+
'brain_ask',
|
|
61
|
+
'Natural-language methodology question. Returns a DirectiveEnvelope (default mode: GUIDED) carrying the directive content. Auto-routes Pinecone/Neo4j server-side.',
|
|
62
|
+
{ question: z.string().describe('A methodology question (generic framework handles only -- never user artifacts or personal data per Canon Part 8).') },
|
|
63
|
+
async ({ question }) => {
|
|
64
|
+
if (!brainClient.isAvailable()) {
|
|
65
|
+
return asContent(wrapDirective(null, { brain_unreachable: true, command_context: 'brain_ask' }));
|
|
66
|
+
}
|
|
67
|
+
const raw = await brainClient.ask(question);
|
|
68
|
+
if (raw == null) {
|
|
69
|
+
return asContent(wrapDirective(null, { brain_unreachable: true, command_context: 'brain_ask' }));
|
|
70
|
+
}
|
|
71
|
+
const signals = (raw && typeof raw === 'object' && raw.mode_signals) ? raw.mode_signals : {};
|
|
72
|
+
return asContent(wrapDirective(raw, signals));
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// -- brain_query: raw Cypher (generic methodology handles only).
|
|
77
|
+
server.tool(
|
|
78
|
+
'brain_query',
|
|
79
|
+
'Cypher query against the Brain teaching graph. Generic framework handles only (Canon Part 8). Returns { records: [...] } on success.',
|
|
80
|
+
{
|
|
81
|
+
cypher: z.string().describe('Cypher query string.'),
|
|
82
|
+
params: z.record(z.any()).optional().describe('Optional binding map -- generic handles only.'),
|
|
83
|
+
},
|
|
84
|
+
async ({ cypher, params }) => {
|
|
85
|
+
if (!brainClient.isAvailable()) return asContent(tier0Response('brain_query'));
|
|
86
|
+
const r = await brainClient.query(cypher, params);
|
|
87
|
+
return asContent(r == null ? tier0Response('brain_query') : r);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
// -- brain_schema: cached 30 min in brain-client; passthrough here.
|
|
92
|
+
server.tool(
|
|
93
|
+
'brain_schema',
|
|
94
|
+
'Brain Neo4j schema (labels, relationship types, property keys). Memoized 30 minutes.',
|
|
95
|
+
{},
|
|
96
|
+
async () => {
|
|
97
|
+
if (!brainClient.isAvailable()) return asContent(tier0Response('brain_schema'));
|
|
98
|
+
const r = await brainClient.schema();
|
|
99
|
+
return asContent(r == null ? tier0Response('brain_schema') : r);
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
// -- brain_search: semantic via Pinecone (smartSearch handles Neo4j fallback).
|
|
104
|
+
server.tool(
|
|
105
|
+
'brain_search',
|
|
106
|
+
'Semantic search across the curriculum graph (Pinecone with Neo4j fulltext fallback).',
|
|
107
|
+
{
|
|
108
|
+
query: z.string().describe('Search query (generic methodology language -- Canon Part 8).'),
|
|
109
|
+
namespace: z.string().optional(),
|
|
110
|
+
topK: z.number().int().min(1).max(50).optional(),
|
|
111
|
+
},
|
|
112
|
+
async ({ query, namespace, topK }) => {
|
|
113
|
+
if (!brainClient.isAvailable()) return asContent(tier0Response('brain_search'));
|
|
114
|
+
const r = await brainClient.smartSearch(query, { namespace: namespace, topK: topK });
|
|
115
|
+
return asContent(r == null ? tier0Response('brain_search') : r);
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
// -- brain_stats: operational stats passthrough.
|
|
120
|
+
server.tool(
|
|
121
|
+
'brain_stats',
|
|
122
|
+
'Brain operational stats (Pinecone index size, last-update markers).',
|
|
123
|
+
{},
|
|
124
|
+
async () => {
|
|
125
|
+
if (!brainClient.isAvailable()) return asContent(tier0Response('brain_stats'));
|
|
126
|
+
const r = await brainClient.stats();
|
|
127
|
+
return asContent(r == null ? tier0Response('brain_stats') : r);
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
// -- brain_write: admin-tier; not user-surfaced but proxied for parity.
|
|
132
|
+
server.tool(
|
|
133
|
+
'brain_write',
|
|
134
|
+
'Write Cypher to the Brain. Admin-tier; requires a write-capable key. Generic methodology framework writes only (Canon Part 8).',
|
|
135
|
+
{ cypher: z.string().describe('Cypher write query (generic methodology only).') },
|
|
136
|
+
async ({ cypher }) => {
|
|
137
|
+
if (!brainClient.isAvailable()) return asContent(tier0Response('brain_write'));
|
|
138
|
+
const r = await brainClient.write(cypher);
|
|
139
|
+
return asContent(r == null ? tier0Response('brain_write') : r);
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
async function main() {
|
|
144
|
+
const transport = new StdioServerTransport();
|
|
145
|
+
await server.connect(transport);
|
|
146
|
+
process.stderr.write('[mindrian-brain] MCP server v' + version + ' started (stdio)\n');
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
main().catch((err) => {
|
|
150
|
+
process.stderr.write('[mindrian-brain] Fatal: ' + (err && err.message ? err.message : String(err)) + '\n');
|
|
151
|
+
process.exit(1);
|
|
152
|
+
});
|
package/commands/act.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: act
|
|
3
3
|
description: Run Larry's best-pick methodology for your room state
|
|
4
|
+
help_jtbd: "Run the next move Larry recommends, without typing the /mos: command yourself."
|
|
4
5
|
argument-hint: '[--chain] [--swarm] [--dry-run]'
|
|
5
6
|
body_shape: E (Action Report)
|
|
6
7
|
serves_jtbd: ["plan-execution"]
|
package/commands/admin.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyze-needs
|
|
3
3
|
description: Score customer jobs with importance and satisfaction
|
|
4
|
+
help_jtbd: "Surface user needs that change the problem statement."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["find-problem"]
|
|
5
7
|
teaching: "When you need to know which customer jobs matter most, /mos:analyze-needs scores them by importance versus satisfaction. Best after you have a customer segment defined."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyze-systems
|
|
3
3
|
description: Decompose a system into layers and leverage points
|
|
4
|
+
help_jtbd: "See how subsystems connect, where they break, where they leverage each other."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["find-bottleneck"]
|
|
5
7
|
teaching: "When you need to find where leverage lives in a complex system, /mos:analyze-systems decomposes it into layers and surfaces the leverage points. Best when symptoms keep recurring."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyze-timing
|
|
3
3
|
description: Place a technology on the S-Curve timing clock
|
|
4
|
+
help_jtbd: "Find the timing window your venture sits inside."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["understand-market"]
|
|
5
7
|
teaching: "When you need to know if your technology is too early, too late, or right on time, /mos:analyze-timing places it on the S-Curve. Best before you commit to a launch window."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/auto-explore.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Manually trigger auto-explore on a specific file (Desktop fallback when PostToolUse hook does not fire per RESEARCH 4.8)"
|
|
3
|
+
help_jtbd: "Let Larry decompose your domain before you even ask."
|
|
4
|
+
body_shape: "methodology"
|
|
3
5
|
argument-hint: "<file_path>"
|
|
4
6
|
serves_jtbd: ["find-problem", "understand-market", "explore"]
|
|
5
7
|
teaching: "In the moment a new artifact lands, /mos:auto-explore kicks off the same domain decomposition the PostToolUse hook would run. Use it on Desktop when the hook does not fire."
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: beautiful-question
|
|
3
3
|
description: Reframe a challenge as Why / What-if / How
|
|
4
|
+
help_jtbd: "Reformulate the problem before solving the wrong one."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["find-problem", "explore"]
|
|
5
7
|
teaching: "When the framing feels stuck, /mos:beautiful-question reshapes the challenge as Why / What-if / How. The right question unlocks more progress than a better answer."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/brain-derive.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Derive BRAIN.md for section(s) now
|
|
3
|
+
help_jtbd: "Pull the Brain's framework recommendations for your current section."
|
|
4
|
+
body_shape: E
|
|
3
5
|
argument-hint: "[section] [--all] [--cross-room] [--dry-run]"
|
|
4
6
|
serves_jtbd: ["audit-room"]
|
|
5
7
|
teaching: "When a room section drifts from its BRAIN.md derivation, /mos:brain-derive rebuilds the per-section Brain context now. Run after large filings or before a decision gate."
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-knowledge
|
|
3
3
|
description: Climb Ackoff's DIKW pyramid across the room
|
|
4
|
+
help_jtbd: "Turn your room into a knowledge graph you can query."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["explore"]
|
|
5
7
|
teaching: "When you have data but not yet wisdom, /mos:build-knowledge climbs Ackoff's DIKW pyramid across the room. Surfaces what you know, what you can decide, and what is still raw."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/build-thesis.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-thesis
|
|
3
3
|
description: Run the Ten-Questions investment thesis gate
|
|
4
|
+
help_jtbd: "Compose the investment-grade thesis from your room's evidence."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["decide-pursue", "prepare-pitch"]
|
|
5
7
|
teaching: "When you need to know if this venture is worth pursuing, /mos:build-thesis runs the Ten-Questions investment thesis gate. The output is a defensible go / no-go with reasons."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/causal.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: causal
|
|
3
3
|
description: Trace causal edges in the room's graph
|
|
4
|
+
help_jtbd: "Trace cause-and-effect chains across your room's claims."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
argument-hint: [extract|trace|predict]
|
|
5
7
|
serves_jtbd: ["find-problem", "find-bottleneck"]
|
|
6
8
|
teaching: "When you suspect the visible problem is downstream of something else, /mos:causal traces causal edges in the room's graph. Surfaces the upstream causes worth fixing."
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: challenge-assumptions
|
|
3
3
|
description: Stress-test assumptions with Devil's Advocate
|
|
4
|
+
help_jtbd: "Stress-test the assumptions your room is built on."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["validate-idea", "surface-contradiction"]
|
|
5
7
|
teaching: "When an idea feels too clean, /mos:challenge-assumptions runs Devil's Advocate against the load-bearing claims. Catches the assumptions you stopped questioning."
|
|
6
8
|
allowed-tools:
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: compare-ventures
|
|
3
3
|
description: Compare against ventures that tried this before
|
|
4
|
+
help_jtbd: "Set two or more ventures side-by-side, scored."
|
|
5
|
+
body_shape: "methodology"
|
|
4
6
|
serves_jtbd: ["compare-options"]
|
|
5
7
|
teaching: "When you are weighing your approach against ventures that tried this before, /mos:compare-ventures lines them up on the dimensions that matter. Saves you from re-learning their lessons."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/dashboard.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dashboard
|
|
3
3
|
description: Open the Data Room dashboard (live or snapshot)
|
|
4
|
-
|
|
4
|
+
help_jtbd: "Open your room as a browser dashboard, De Stijl grid + graph."
|
|
5
|
+
body_shape: E
|
|
5
6
|
serves_jtbd: ["audit-room", "prepare-pitch"]
|
|
6
7
|
teaching: "When you need to see the whole room at a glance, /mos:dashboard opens the live or snapshot view in De Stijl layout. The fastest way to read room health before a meeting."
|
|
7
8
|
ui_reference: skills/ui-system/SKILL.md
|
package/commands/deep-grade.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deep-grade
|
|
3
3
|
description: Grade a venture against 100+ calibrated projects
|
|
4
|
+
help_jtbd: "Get the rigorous grading pass (Brain-enriched, 100+ student calibration)."
|
|
5
|
+
body_shape: C
|
|
4
6
|
serves_jtbd: ["audit-room", "compare-options"]
|
|
5
7
|
teaching: "When you need a calibrated grade on the room's quality, /mos:deep-grade scores it against 100+ real student projects. Best after at least three sections are populated."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
package/commands/diagnose.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: diagnose
|
|
3
3
|
description: Classify problem type against the PWS matrix
|
|
4
|
+
help_jtbd: "See where your room is weakest and what to do next."
|
|
5
|
+
body_shape: A
|
|
4
6
|
serves_jtbd: ["decide-pursue"]
|
|
5
7
|
teaching: "When you cannot tell if this is an Ill-Defined or Well-Defined Problem, /mos:diagnose classifies it against the PWS matrix. Knowing the problem type picks the right methodology."
|
|
6
8
|
# --- Phase 122 workflow-layer frontmatter ---
|
|
@@ -56,4 +58,22 @@ Move faster than other commands. The user came here because they are stuck on WH
|
|
|
56
58
|
## When Complete
|
|
57
59
|
|
|
58
60
|
Create the artifact using the template from the reference file.
|
|
59
|
-
|
|
61
|
+
|
|
62
|
+
## Recommendation (Shape F.1 Next Move per Canon Part 3)
|
|
63
|
+
|
|
64
|
+
Render the recommendation as a Shape F.1 selector per `skills/ui-system/SKILL.md` Section 2. Do NOT render the recommendation as bare prose -- the F.1 selector IS the Canon Part 3 Decision Gate. Rendering recommendations as prose is the canon violation Cluster 5 audit (2026-05-15) flagged.
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
[diagnose] -- NEXT MOVE
|
|
68
|
+
LOCAL / BRAIN / SIGNAL
|
|
69
|
+
|
|
70
|
+
Choose next move:
|
|
71
|
+
|
|
72
|
+
1. Run Methodology -- the specific methodology for the weakest section
|
|
73
|
+
2. Defer -- queue for milestone audit
|
|
74
|
+
3. Free-Text -- tell Larry what you want
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Use AskUserQuestion to surface the selector. The selected verb writes to STATE.md Decisions section AND creates a typed edge in the local graph: `(navigator) -[CHOSE {verb, reason}]-> (current-artifact)`. The 3-verb F.1 vocabulary (Run Methodology / Defer / Free-Text) is the canonical minimum per Canon Part 3; when Brain is reachable and confidence >= 0.7 the "Run Methodology" option may be marked RECOMMENDED (Phase 88.2 invariant).
|
|
78
|
+
|
|
79
|
+
Phase 121.5-08 Sub-plan J D-12 LOCKED: the recommendation surface on /mos:diagnose MUST render an F.1 selector, not bare prose. Closes the Canon Part 3 violation from the Cluster 5 audit.
|