ToolRuntimeEvents
Every event this package dispatches, declared by the emitters themselves (greenhouse decisions/0228). The constants are the names {@see ToolRegistry::call()} and {@see HumanVerifier} hand to `dispatch()` — the dispatch sites and the declarations below read the SAME constant, so a renamed event cannot drift between what fires and what is declared. Each emitter declares its own names to any dispatcher implementing {@see \Milpa\Interfaces\Event\DeclaredEvents} the moment it receives one ({@see self::forRegistry()} from the registry's constructor, {@see self::forVerifier()} from the verifier's); a dispatcher that does not implement it is asked nothing, and dispatching keeps working whether or not anything was declared. {@see self::declarations()} is the package-wide list, the shape a catalogue prints — and, because this class implements {@see DeclaresEvents} and `composer.json` names it under `extra.milpa.events`, a host can read that list straight from the installed manifest and declare it on behalf of emitters the running process will never construct (a CLI run builds no {@see ToolRegistry}).
ToolRuntimeEvents::declarations()
public static function declarations(): arrayOne declaration per event name this package dispatches: the registry's, then the verifier's. Built from the same constants the dispatch sites use, so a rename moves both at once.
ToolRuntimeEvents::forRegistry()
public static function forRegistry(): arrayThe events {@see ToolRegistry} dispatches around every `call()`, in the order they fire.
ToolRuntimeEvents::forVerifier()
public static function forVerifier(): arrayThe events {@see HumanVerifier} dispatches over a verification's life, in the order they fire.