Module configuration
ModuleConfig contains exactly four fields:
Restart budgets and backoff are runtime options.
OnFailure retries a failed generic subprocess start within its budget. Always can also restart a successful generic subprocess start within its budget. MCP module startup is a one-shot tool probe and does not use those restart loops.
Discovery
DiscoverySpec names a namespace and the configured module IDs the runtime should start:
discovery.modules must have a matching ModuleConfig. A missing configuration is a startup error. A configured module that reaches a terminal start error instead contributes a supervisor.warning event and bootstrap continues to the next module.
Pre-spawn environment
PreSpawnData associates environment entries with one module:
MOBKIT_MODULE_BOUNDARY=mcp to select the MCP boundary. Other environment entries can carry module-specific configuration or secret references.
Core modules
Three module IDs have hard MCP requirements:
For these IDs, a call fails closed if
MOBKIT_MODULE_BOUNDARY=mcp is absent or the required tool is unavailable.
The following related runtime surfaces are not module tools:
- Runtime-route list, add, and delete
- Delivery history and idempotency
- All gating evaluate, pending, decide, and audit operations
- The operational assertion and conflict ledger:
mobkit/memory/stores,mobkit/memory/index, andmobkit/memory/query - The separate identity agent-memory API:
mobkit/agent_memory/recallwhen a provider is configured, plusmobkit/agent_memory/remember,mobkit/agent_memory/forget,mobkit/agent_memory/update, andmobkit/agent_memory/manifestwhen the provider supports each capability - Agent-memory record-engine surfaces for quarantine review and steward consolidation
ScheduleService. See Scheduling.
Startup health
ModuleHealthState has five values:
Each
ModuleHealthTransition records module_id, optional from state, to state, and attempt number. Transitions are retained in SupervisorReport; they are not emitted as health_transition unified events.
A successful MCP probe emits event_type: "mcp.ready" with the discovered tool names. A terminal startup error emits event_type: "supervisor.warning" with the error payload. The ModulesStarted lifecycle stage means startup attempts have completed, not that every module is healthy.
Trusted module manifest
load_trusted_mobkit_modules_from_toml accepts a [[modules]] manifest:
args to an empty list, and defaults a missing restart_policy to on_failure. The executable names and their implementations belong to the host application.
See also
- Events - exact module event types and startup lifecycle
- Architecture - module ownership in the runtime
- Configuration - runtime options and manifests
