RuntimeEvents
Every event this package dispatches, declared once, from the same names its `dispatch()` sites use. The constants ARE the strings handed to `dispatch()`: {@see Kernel::boot()} and {@see InlinePluginBootStrategy} read them from here, so a declaration and its dispatch cannot drift apart through a retyped string. The moment {@see Kernel::boot()} holds a dispatcher — before any dispatch — it hands it {@see declarations()} if that dispatcher implements {@see DeclaredEvents}; any other dispatcher is told nothing and every dispatch keeps working, because the authority on «what events exist» is the emitter and the one place every dispatch passes through is the dispatcher (greenhouse decisions/0228). A declaration made at construction only reaches a process that constructs the emitter. Implementing {@see DeclaresEvents} and naming this class under `extra.milpa.events` in the package manifest lets a host read the same list from what Composer really installed and declare it on behalf of an emitter this process will never build.
RuntimeEvents::declarations()
public static function declarations(): arrayOne declaration per event name this package dispatches, in the order a boot emits them. `dispatchedBy` names the class whose code calls `dispatch()`; `subjectKey`/`subjectType` are the key and the value class the payload really carries; only {@see PLUGIN_BOOTING} is interceptable, because only its payload carries an {@see InterceptionSlot}. Under {@see \Milpa\Runtime\Boot\PluginsManagerBootStrategy} the plugin phase and `kernel.booted` are the manager's dispatches, declared by its own package; these declarations describe what THIS package dispatches on the default, inline path.