PLUGIN MODEL / 01
Two plugin systems
Martty keeps static Loader Plugins and dynamic Cordis Plugins separate. They have different sources, lifecycles, and management surfaces.
STATIC / LOADER
Static Loader Plugins
These come from Profile and Loader configuration and start with the Host or Client process. enabled records configuration intent; fiberPhase reports the realized Fiber state.
- Read-only surface
/plugins- Lifecycle
- Profile composition → Loader → Fiber
DYNAMIC / CORDIS
Dynamic Cordis Plugins
These belong to the current Agent's Cordis registry, are created through define/run, and express lifecycle through run status.
- Runtime surface
/cordis-plugins- Lifecycle
- start → stop → retract
BOUNDARY
Do not merge the state machines
Themes, UI, slots, and commands are contributions registered by a mounted Plugin, not additional Plugin types. Static contributions may come from resident composition; dynamic contributions disappear with their run.