java-topology/defects/weld/patch
russell@unturf.com 9d273094e8 diamond-scan: spring/hibernate/weld/quarkus/micronaut O(2^D) hierarchy traversal
5 new defects across 5 repos — all diamond recursion (map/set .put/.add return
value ignored before unconditional recurse):

- spring-0001: AnnotationsScanner.processClassHierarchy TYPE_HIERARCHY mode,
  no visited guard, used by every @Transactional/@Autowired/@RequestMapping scan
- hibernate-0001: ClassHierarchyHelper.getImplementedInterfaces, Set.add()
  return ignored before unconditional recurse — hibernate-validator
- weld-0004: HierarchyDiscovery.discoverTypes, HashMap.put() return ignored,
  CDI bean type closure discovery at startup
- quarkus-0004: HierarchyDiscovery.discoverTypes (ArC, copied from Weld),
  same defect — Quarkus startup + native image
- micronaut-0005: NativeElementsHelper.populateTypeHierarchy, no visited guard
- micronaut-0006: GenericUtils.populateTypeArgumentsForInterfaces, recursion
  outside containsKey guard

Also rename cpython-0001→0002, 0002→0003, 0003→0004 (pre-existing renumber).
2026-03-29 20:17:52 -04:00
..
weld-0001-beans-recursive-stereotype-search-diamond.md weld-0001/0002: CDI Beans.recursiveStereotypeSearch + addInheritedInterceptorBindings diamond O(2^D); count 643→645 2026-03-29 18:02:38 -04:00
weld-0002-interceptors-add-inherited-bindings-diamond.md weld-0001/0002: CDI Beans.recursiveStereotypeSearch + addInheritedInterceptorBindings diamond O(2^D); count 643→645 2026-03-29 18:02:38 -04:00
weld-0003-merged-stereotypes-merge-diamond.md weld-0003: MergedStereotypes.merge() O(2^D) diamond meta-stereotype; count 621→622 2026-03-29 18:04:32 -04:00
weld-0004-hierarchy-discovery-diamond-retraversal.md diamond-scan: spring/hibernate/weld/quarkus/micronaut O(2^D) hierarchy traversal 2026-03-29 20:17:52 -04:00