/driver-release
Ship or diagnose a compiled MeshWeaver module (a driver — AI provider, MCP, mail, notifications, observability, indexing, export, self-update). Use when a package declares content.module, when a release removes drivers from the image, or when a mesh cannot activate a package's nodes.
- Instructions: # Driver release — how a compiled module reaches an instance A **driver** is a package that ships compiled C# — its root declares `content.module` (the entry assembly, e.g. `MeshWeaver.AI.OpenAI`). That is different from an ordinary node-native plugin, whose `Source/` the mesh compiles itself with Roslyn. A driver's bytes are built by CI and must physically arrive on the instance. **The fourteen drivers in this repo** — `AzureFoundry`, `ClaudeCode`, `Copilot`, `OpenAI`, `WebSearch`, `Mcp`, `Mail`, `Teams`, `Notifications`, `Observability`, `Indexing`, `Export`, `Hosting`, `Edu`. Regenerate the list, never retype it: ```bash python3 -c " import json,glob for f in sorted(glob.glob('*/index.json')): c=(json.load(open(f)).get('content') or {}) if c.get('module'): print(f.split('/')[0], '->', c['module'], c.get('minMeshVersion')) " ``` ## Drivers are platform-administered, never sold Every driver root carries **`preInstalled: true`** and **`price: null`**. That flag is the manifest's ONE statement of *"this ships with the platform"*, and it changes three things at once: - the Store never sells it — there is no price, no entitlement, no per-viewer funnel; - its content is **not** gated — `PluginGate`'s reconcile retracts a pre-installed package's child denies, so it reads like platform surface rather than a purchase; - **`InstanceAutoRegistrationService` installs it at boot**, from the instance's configured registries. `PluginCatalogOptions.InstallPreInstalledPackages` defaults to `true`. So the global-admin action is *provisioning the package on the registry* and issuing the grants — not clicking Get on fourteen cards. A driver a viewer could buy would be a bug. ## The two places a module's bytes can live — and the precedence | location | written by | when | |---|---|---| | `<app>/modules/<Name>/` | the **image build** (`MeshModulesPublish.targets`, the `MeshModuleClosure` lane) | at docker build time | | `<ModuleRoot>/modules/<Name>/` | **`ModuleLan…
- Auto mount: yes
- Launches sub thread: no