Very briefly put, I think the AfterTypeDiscovery#addAnnotatedType(String, Class) method does not work.
The specification indicates that if we use the returned builder (AnnotatedTypeConfigurator), the new annotated type built that way will be added when the observer method completes, and considered by the bean discovery process (see section 11.5.2 (which refers to the method, but says incorrectly that it only has one String product)).
It also indicates that a subsequent ProcessSyntheticAnnotatedType event should be fired.
Additionally, during the AfterBeanDiscovery event, the added type should be available via the AfterBeanDiscovery#getAnnotatedType(Class, String) method.
Finally, I assume that provided the annotated type I add is valid it should result in a ProcessManagedBean event being fired.
The attached test case shows (I think) that the addAnnotatedType(String, Class method basically doesn't add the type.