Commit graph

86 commits

Author SHA1 Message Date
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
60cd7aa41c claude: update UNDF count to 585 2026-03-29 17:52:28 -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
00ac16dc1a CLAUDE.md: UNDF count 578→584 2026-03-29 17:41:04 -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
0c5788f7ac CLAUDE.md: UNDF count 571→578 2026-03-29 16:52:40 -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
ebfcdd3db5 CLAUDE.md: mark no-stone-unturned complete 2026-03-29; 629 sites, 571 UNDF 2026-03-29 16:14:17 -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
dd72c2ba0d undf: assign UNDF-2026-000000353 to activemq-artemis-0001; 563 total 2026-03-29 15:58:30 -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
0ee2c5acaf whitepaper: onos-0004 entry, count 615→616, rebuild PDF 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
3f8c5e6d3e httpd-0003/0004 + varnish-0003: 3 new defects (12x/50x/25x); count 592→595 2026-03-27 22:26:26 -04:00
34e8d9212f openssl-0004 + uwsgi-0001: 2 new defects (500x/249x); all 10 missing whitepaper entries restored; count 590→592 2026-03-27 22:20:52 -04:00
2e4f7807d5 whitepaper: re-add 10 missing entries + 11 new defects this session, count 578→590; rebuild PDF 2026-03-27 22:18:31 -04:00
e4ee168b1e 578/240 — rustc-0004/vertx-0001/asterisk-0003/bitcoin-0001/actix-web-0003/hazelcast-0001+0002/rabbitmq-0005/nginx-0003/haproxy-0003/envoy-0003/istio-0003 2026-03-27 21:25:37 -04:00
dde5ec97fb wave17: 562/240 — vim/qemu/tcl/nodejs/bun/httpd-0002/systemd/emacs 2026-03-27 20:28:18 -04:00
cce7ec653a wave17 complete: systemd/emacs/vim/qemu/tcl/kafka-0007/spark-0004 + 559/240 2026-03-27 20:15:47 -04:00
4221966e66 wave17: openssh-0001/2, strongswan-0001, gradle-0002, groovy-0001/2, make-0001, clojure-CLEAN + whitepaper 549/240 2026-03-27 19:55:52 -04:00
0f275c44af whitepaper: add html-cwe407 and html-minecraft targets; update clean 2026-03-27 19:52:27 -04:00
d816d3c74c wave16: dart-0001/2/3 + octave-0002 + php-0003/4 + cassandra-0005 + erlang-0003 + chef-0001 — 542/240 2026-03-27 19:36:35 -04:00
31850d5ef6 wave15: sm-0003/0004 + threejs-0006 + varnish-0002 + mongodb-0008 — 533/240 2026-03-27 19:22:37 -04:00
7146714143 wave15: v8-0002/0003 Intl+revectorizer (125x/25x) + bullet/box2d ticket files — 528/240 2026-03-27 19:16:28 -04:00