Typed Plugins and External Wrappers

The plugin ecosystem around the kernel

MRP-VM delegates most behavior to typed plugins. Built-in plugins live in-process, while external wrappers can expose the same typed contracts through the manifest-driven wrapper convention. See DS003, DS016, and DS027.

Plugin families

Key concepts

Wrapper convention

wrappers/z3-solver/
├── manifest.json    # protocolVersion, command, plugin type, metadata
├── wrapper.js       # adapter process
└── README.md

External wrappers are useful when a capability already exists outside Node.js. The wrapper speaks the protocol expected by the kernel and advertises its metadata in the manifest.

How plugins fit into explainability

Plugin attempts appear in the canonical execution graph as typed plugin nodes connected to frames, seeds, branches, results, and failures. This is why plugin IDs, statuses, and selected routes are visible in the Explainability panel per chat turn.

Learn more