It's a follow-up to JENKINS-37759. @Initializer(after = InitMilestone.COMPLETED) does not work properly now since COMPLETED switch is always the last task. We need a better solution for the task graph.
Example:
Artificial milestone "COMPLETED_HOOKS_PROCESSED", which does not actually modify Jenkins' initSlate field
Handling of default definitions in @Initializer e.g. (after=COMPLETED) should make InitializerFinder to ignore the default before value
ItemListener.onLoaded can be used to run stuff just before Jenkins.<init> completes. Unfortunately I can find no listener for WebAppMain swapping in the completed Jenkins for the placeholder HudsonIsLoading.