Boot Component¶
Purpose¶
The Boot component is the startup orchestrator that turns core readiness into module loading and finally into a usable system state.
Main location¶
app/core/components/boot/logic/boot_service.py
Responsibilities¶
- wait for
iam:ready - maintain the boot phase state machine
- trigger module discovery and loading through
ModuleManager - publish boot progress to the UI and other listeners
- activate maintenance mode on fatal startup failure
Boot phases¶
The component publishes these phases:
waiting_coreloading_modulesreadyfailed
The emitted system:boot_phase payload includes:
phaseerroris_booting
Events¶
Subscribes¶
iam:ready
Emits¶
system:boot_phasesystem:boot_completesystem:maintenance_mode
Runtime behavior¶
When iam:ready is received, the component:
- switches to
loading_modules - imports the module manager lazily to avoid circular imports
- runs
module_manager.load_all() - waits briefly for async setup follow-up work
- switches to
ready - emits
system:boot_complete
If module loading fails, the component records the error, emits the failed phase, and activates maintenance mode.