52328b5720
undf: stamp eclipse-jdt-0001/0002 (UNDF-384/598); registry 598 assigned
2026-03-29 19:10:44 -04:00
565831bba0
eclipse-jdt-0001/0002: Scope typesToVisit O(N²) + TypeHierarchy missing superclass guard; count 659→661
2026-03-29 19:09:54 -04:00
55df582f19
undf: stamp dagger-0001/jackson-0001/0002 (UNDF-580/596/597); registry 597 assigned
2026-03-29 19:04:09 -04:00
e610b42a21
dagger-0001 + jackson-0001/0002: Deque.contains O(N×D) + two O(N²) type-hierarchy scans; count 656→659
2026-03-29 19:03:31 -04:00
7cb8abc236
undf: stamp hv-0001/0002 + typescript-0004 (UNDF-592–594); registry 594 assigned
2026-03-29 18:51:38 -04:00
347cb57f09
hv-0001/0002: DefaultValidationOrder groupList O(N²) 50x + addInheritedGroups diamond O(2^D) 52428x; count 654→656
2026-03-29 18:50:56 -04:00
31db695abc
typescript-0004: seenResolvedRefs Array O(N²) linear scan in project reference traversal; count 653→654
2026-03-29 18:43:59 -04:00
651aaa7e7b
cleanup: remove duplicate hibernate-0007/quarkus-0003 patches; correct camel/rabbitmq UNDF stamps
2026-03-29 18:34:26 -04:00
919d3f2a57
crystal-0001: collect_ancestors O(2^D) diamond traversal; clojure/elixir/nim/lua CLEAN; count 621→622
2026-03-29 18:28:41 -04:00
bca10f42a3
liquibase-0001: fix patch correctness + add unit test (4/4 PASS)
...
- Corrected fix in patch: use persistent `seen` set (no backtrack remove)
so diamond shared-nodes are visited once, not 2^D times
- Previous patch used DFS path-stack (cycle guard) which did not prevent
the 2^D blowup for convergent diamonds
- Add unit test: chained-diamond D=12 shows 334× visit reduction (16381→49)
- Performance test: ArrayList→HashSet for evaluatedNodes gives 51× speedup at N=500
2026-03-29 18:25:38 -04:00
52a8d535a2
dubbo-0001 + cxf-0001: annotation diamond recursion O(2^D); WSDL import O(N²); count 621→623
...
dubbo-0001: AnnotationUtils.getAllMetaAnnotations recurses into meta-annotation graph
without a visited set — diamond shapes cause O(2^D) calls (UNDF-2026-000000238)
cxf-0001: SchemaUtil.parseImports + WSDLServiceBuilder.parseImports use ArrayList.contains
as visited guard on WSDL import graph — O(N²) membership checks (UNDF-2026-000000237)
Struts, RabbitMQ, Camel: CLEAN
2026-03-29 18:23:19 -04:00
13b449d431
liquibase-0001: DependencyGraph.recursiveSizeDepth diamond O(2^D) + evaluatedNodes O(N²); count 649→650
2026-03-29 18:19:06 -04:00
9ef437a348
poetry-0001: show --tree packages_in_tree list O(N²) membership; UNDF-2026-000000575
...
ShowCommand._display_tree() uses a list for packages_in_tree, making every
`dep.name in current_tree` check O(N). For a project with 500 packages the
total membership-test cost is O(N²) ≈ 250,000 ops vs O(N) = 500 with a set.
Also fixes shared-state correctness bug: list is passed by reference causing
sibling branches to falsely report diamond dependencies as cycles.
Fix: set + per-branch set-union copy; 16-31x speedup measured.
CLEAN markers added for setuptools and celery (diamond recursion).
pip, django, poetry solver already CLEAN (prior or current scan).
2026-03-29 18:09:57 -04:00
6220414bb9
go-0002: cmd/compile expand1 O(2^D) diamond struct embedding; rustc diamond CLEAN; count 622→623
2026-03-29 18:07:11 -04:00
77242c9120
nestjs-0003: introspectDepsAttribute lookupRegistry string[] O(D²) includes+concat; count 645→646
2026-03-29 18:07:01 -04:00
ef603b54c4
weld-0003: MergedStereotypes.merge() O(2^D) diamond meta-stereotype; count 621→622
2026-03-29 18:04:32 -04:00
8de4c6f252
weld-0001/0002: CDI Beans.recursiveStereotypeSearch + addInheritedInterceptorBindings diamond O(2^D); count 643→645
2026-03-29 18:02:38 -04:00
bbb8ad5552
erlang-0004: edlin_type_suggestion print_type Visited list O(D²); count 642→643
2026-03-29 17:56:37 -04:00
36b07aa1f4
diamond-recursion deeper scan: CLEAN for pytorch/tensorflow/sklearn/ray/prefect/luigi/numpy
2026-03-29 17:53:36 -04:00
ca1eba749c
substrate-0003: npos-elections Node::root visited Vec O(D²); 436x speedup at D=300
2026-03-29 17:50:40 -04:00
5aebe2b542
starrocks-0002 + diamond tests: hibernate-0007/threejs-0007 unit tests PASS; starrocks-0002 LockManager O(D²) onStack scan; count 639→640
2026-03-29 17:26:27 -04:00
96b84c7a34
undf: assign UNDF-2026-000000484 to micronaut-0004, update registry
2026-03-29 17:22:04 -04:00
8a85da480d
micronaut-0004 + diamond-recursion CLEAN sweep: camel/hazelcast/tomcat/undertow/vertx/quarkus-0003 unit tests
...
micronaut-0004: AbstractAnnotationMetadataBuilder.processAnnotation O(2^D) diamond recursion
in meta-annotation stereotype traversal. isProcessed() guard tracks only current-path ancestors,
not globally visited nodes — diamond meta-annotation hierarchies cause exponential re-visits
of shared base annotations (e.g. @Transactional + @Retryable both extend @InterceptorBinding).
13x at D=8, 41x at D=10. 10/10 unit tests PASS.
quarkus-0003 unit tests: added to QuarkusTest.java for the existing quarkus-0003
BeanDeployment.recursiveBuild diamond defect. 9/9 PASS.
CLEAN markers: camel, hazelcast, tomcat, undertow, vertx — no diamond recursion pattern found.
Hazelcast uses proper Tarjan algorithm. Tomcat uses iterative constraint propagation.
2026-03-29 17:21:51 -04:00
29308bfe00
quarkus-0003: BeanDeployment.recursiveBuild transitive bindings diamond O(2^D); count 638→639
2026-03-29 17:14:17 -04:00
7af6b9c89f
threejs-0007: Node.traverse() diamond recursion O(2^D); CLEAN for webpack/valhalla/traefik/wasmer/wasmtime; count 621->622
...
UNDF-2026-000000468: three.js src/nodes/core/Node.js:351 traverse() recurses
without a visited set; on shared-node (diamond) TSL shader graphs yields 2^D
callback invocations. D=10 gives 4093× overhead. Fix: add optional visited Set
parameter, default new Set() at root call.
Unit test: 10/10 PASS (ThreeJSNodeTraverseTest.java)
CLEAN markers written for: webpack (visitedModules WeakSet throughout),
valhalla (Dijkstra+BFS, no recursive DAG traversal), traefik (traverse() has
proper visited map), wasmer (petgraph+BTreeMap), wasmtime (SCC algorithms).
2026-03-29 17:07:25 -04:00
f79e509373
merge: unturf/master into sync-undf; resolve UNDF-REGISTRY.json + wireshark/julia UNDF stamps
2026-03-29 17:06:23 -04:00
28f184a160
undf: assign UNDF-2026-000000464 to hibernate-0007, stamp patch
2026-03-29 17:04:24 -04:00
78f834e1e7
hibernate-0007: buildRecursiveOrderedFkSecondPasses diamond recursion O(2^D) HIGH 25x
...
InFlightMetadataCollectorImpl.buildRecursiveOrderedFkSecondPasses() lacks a
visited-table set — only guards against direct self-cycles (startTable check).
On diamond FK dependency graphs (A references B and C, both B and C reference D),
node D is visited 2^depth times. At depth=10: 25.9x overhead; at depth=13: 124x.
Fix: add Set<String> visitedTables parameter; skip re-entry with visited.add().
Unit test: HibernateFkDiamondRecursionTest.java — confirms exponential growth and
correctness (both algorithms produce identical FK sets). 4/4 assertions PASS.
Separate from hibernate-0004 (which addressed the O(N^2) ArrayList.contains()
in the same method); that patch uses LinkedHashSet to deduplicate output but does
not prevent exponential recursive traversal of intermediate diamond nodes.
spring and ant: diamond recursion scan CLEAN markers added.
2026-03-29 17:04:06 -04:00
1dee074618
kafka-0009: GraphGraceSearchUtil diamond recursion O(2^D) → O(N); count 621→622
...
findAndVerifyWindowGrace() recurses over parent GraphNodes without a visited
accumulator. Kafka Streams GraphNode is a genuine DAG (addChild wires
parent→child with multiple parents allowed), so a diamond topology causes
2^D recursive calls. Fix: thread an IdentityHashMap<GraphNode,Long> memo
through recursion; memoize on first visit, return cached result on revisit.
8/8 unit tests PASS; D=10 defect count=3071 vs patched O(N).
Diamond-recursion CLEAN markers added for: flink, neo4j, janusgraph,
tinkerpop, dgraph, zookeeper, storm, ant, gradle, graal, eclipse-jdt,
exposed, intellij, kotlin, scala3, hibernate-0007 (prior session work
now committed).
2026-03-29 16:59:50 -04:00
3986d8dc50
diamond hunt: godot-0009/0010 + meson-0002 + typeorm-0004/0005 + ts-0003; count 629→635
...
New diamond recursion defects (O(2^D) → O(N)):
- godot-0009: Font::_is_cyclic no visited set — CJK fallback diamond, 2648x at F=4,D=8
- godot-0010: Font::_update_rids_fb no visited set — duplicate RIDs + O(N^2) hot path
- meson-0002: get_internal_static_libraries_recurse link_whole guard missing — 132x at D=10
- typescript-0003: hasBaseType inner check() no visited set — 1024x at D=10; hot on instanceof
New O(N²) defects:
- typeorm-0004: SubjectTopologicalSorter Array.indexOf dedup — 200x at N=400
- typeorm-0005: DepGraph.createDFS result.indexOf + addDependency edge dedup — 300x at N=600
CLEAN confirmed (diamond recursion sweep): bazel, cargo, cmake, composer, dgl, diesel,
doctrine-orm, efcore, helm, mybatis, networkx-deeper, ninja, npm-arborist, peewee, pip,
rubygems, seaorm, sqlalchemy, swift
UNDF: 571→578 assigned; MOAD count: 629→635
2026-03-29 16:52:04 -04:00
235a3b45b9
undf: assign UNDF-000000354..403 to 8 new defects; 571 total
2026-03-29 16:13:15 -04:00
a629bd0bbf
no-stone-unturned wave: 8 new defects, 15 CLEAN confirmations; count 621→629
...
New defects (all PASS):
- exim-0001: same_hosts() MX-segment O(H²) → AVL set O(H log H), 10.5x at H=20
- minecraft-0001: DependencySorter.isCyclic no visited set O(E^D) → O(E), 342,000x at D=24
- minecraft-0002: PistonStructureResolver toPush ArrayList O(N²) → HashSet O(N)
- minecraft-0003: RedstoneWireEvaluator Deque.contains O(N²) → HashSet O(N)
- minecraft-0004: MoveThroughVillageGoal visited List O(N²) → HashSet O(N)
- mpich-0001: group_lpid_to_rank O(N²) → HashMap O(N), 313x at N=1000
- ompi-0001: group_overlap process-name scan O(N×M) → HashMap O(N+M), 2048x
- pcl-0001: RegionGrowing::getSegmentFromPoint O(C×S) → point_labels[] O(1), 50000x
CLEAN confirmed: esbuild, express, koa, ktor, lucene, mpich-recvq, ompi-startup,
prosody, roda, rust/rustc-wave2, signal-server, solana, wiredtiger, wireguard-tools,
linux-kernel (pointer to linux/)
2026-03-29 16:11:50 -04:00
b680523c79
sync: UNDF stamps, unit classes, 146 outreach briefs, CLAUDE.md #1 priority MOAD-1
2026-03-29 15:56:35 -04:00
5fab2670e2
artemis-0001: BindingsImpl idsToAckList O(N×M) 37x; count 620→621
2026-03-29 15:50:11 -04:00
518eb4943e
wireshark-0001 + julia-0002: QUIC streams O(S²) 499x; reinfer BFS O(V²) 225x; count 618→620
2026-03-29 14:24:54 -04:00
78fc1142e2
wireshark-0001 + julia-0002: QUIC streams O(S²) 499x; reinfer BFS O(V²) 225x; count 618→620
2026-03-29 14:13:53 -04:00
a8b806626f
nx-0002 + onos-0004: networkx kcutsets seen-list O(K²) 100x; onos UNDF stamp; count 616→617
2026-03-28 13:42:19 -04:00
982dd0025b
nx-0002 + onos-0004: networkx kcutsets seen-list O(K²) 100x; onos UNDF stamp; count 616→617
2026-03-28 13:17:43 -04:00
323b0faf49
undf: remove 29 clean scan entries from registry (retired IDs preserved as gaps)
2026-03-28 13:11:33 -04:00
ea42ae35c7
onos-0004: ConnectivityIntentCompiler O(R×C) 75x + whitepaper 616
2026-03-28 10:56:56 -04:00
99c7976ffd
onos-0004: ConnectivityIntentCompiler resourcesAllocated List.contains O(R×C) MEDIUM 75x; 1/1 PASS; count 615→616
2026-03-28 10:54:50 -04:00
725c91213f
godot-0005..0008 whitepaper entries + UNDF stamps; count 611→615
2026-03-27 23:18:59 -04:00
a5f1dd1d77
godot-0005..0008 whitepaper entries + UNDF stamps; A* open_list.find O(N) 800x, skeleton child_bones 24x, RestFixer 188x, GLTF extensions 11x; count 611→615
2026-03-27 23:18:59 -04:00
560ed54ce3
godot-0005..0008: A* open_list.find(), Skeleton3D child_bones, RestFixer bones HashSet, GLTF extensions HashSet
...
godot-0005 (UNDF-2026-000000584): AStar3D/AStar2D/AStarGrid2D::_solve()
open_list.find(e) in heap decrease-key branch — O(N) LocalVector scan per
node relaxation; fix adds open_index field to Point struct for O(1) lookup.
core/math/a_star.cpp:373,878 + a_star_grid_2d.cpp:572. 800x ops reduction.
godot-0006 (UNDF-2026-000000585): Skeleton3D::_update_process_order()
child_bones.has(i) Vector<int> O(C) scan inside O(B) bone rebuild loop;
fix changes child_bones to HashSet<int>. 24x at wide flat rigs.
scene/3d/skeleton_3d.cpp:235.
godot-0007 (UNDF-2026-000000586): PostImportPluginSkeletonRestFixer
bones_to_process.has() + keep_bone_rest.has() — Vector<int> O(B) scan
inside O(T) animation track loops; O(T*B) total (188x at T=2000/B=500).
Fix: HashSet<int> for both collections.
editor/import/3d/post_import_plugin_skeleton_rest_fixer.cpp:201,212,681,742.
godot-0008 (UNDF-2026-000000587): GLTFDocument::_serialize_nodes/animations()
extensions_used.has() — Vector<String> O(E) scan inside per-node and
per-animation serialization loops; O((N+A)*E) per export (11x at 3K nodes).
Fix: Vector<String> extensions_used -> HashSet<String> in gltf_state.h.
modules/gltf/gltf_document.cpp:443,5496.
Redot-engine is an identical fork: all four defects confirmed present.
8/8 unit tests PASS (GodotAStarSkeletonTest.java).
2026-03-27 23:13:01 -04:00
47a312b0c7
libvirt-0001/0002 + xen-0001: cpu_x86 g_strv_contains O(F×A) + x86FeatureFind O(C×F) + credit2 balance_load O(V²); 21+11 PASS; count 608→611
2026-03-27 23:02:58 -04:00
87099aaaac
v8-0004 + jsc-0003: Maglev KnownMapsMerger O(P×R) std::find, IntegerRangeOpt liveAtHead O(50×B×R×L); 2+2 PASS; count 606→608
2026-03-27 23:00:07 -04:00
ae91f05bf3
curl-0002/0003 + libevent-0001: header lookup O(K×H), HSTS O(N²), route dispatch O(C); libuv CLEAN; count 603→606
2026-03-27 22:46:05 -04:00
212d313185
bazel-0003 + kicad-0002: build toolchain feature check + PCB zone filler O(Z²×L²); count 601→603
2026-03-27 22:38:32 -04:00
1d6a8b8ccd
redis-0004 + dragonfly-0001: ACL channel O(C×P) + cluster migration O(M²); memcached CLEAN; count 599→601
2026-03-27 22:34:04 -04:00
ff7bd27654
bird-0003/0004 + frrouting-0003/0004: BGP community set ops O(N×M)/O(N²); OpenBGPD CLEAN; count 595→599
2026-03-27 22:30:39 -04:00