Skip to content

fix(vermeer): handle Louvain degenerate inputs safely - #373

Merged
imbajin merged 7 commits into
apache:masterfrom
hugegraph:fix/vermeer-louvain-degenerate-inputs-20261105
Nov 5, 2026
Merged

imbajin merged 7 commits into
apache:masterfrom
hugegraph:fix/vermeer-louvain-degenerate-inputs-20261105

Conversation

@imbajin

@imbajin imbajin commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Before → After

Empty or zero-effective-weight Louvain inputs can enter invalid normalization paths. Define identity communities and zero algorithm modularity for this case, reject invalid finite/range parameters and weighted edges, and skip zero-weight adjacency while preserving the positive-weight optimization path.

Dependency and validation boundary

This source branch is stacked on 🔗 org Computer #25. Its ASF comparison targets master because the parent branch does not exist there, so it includes the readiness foundation from 🔗 Computer #372. Merge the parent first, then recheck the remaining diff; this is not an independent change.

The author reports Go 1.23.7 algorithms/worker race tests. Current review still notes missing coverage of the zero-weight early-return and invalid-edge initialization paths. Generic modularity statistics and multi-worker acceptance remain separate; tests were not independently rerun for this submission.

Source: 🔗 org Computer #26.

Visual overview

Vermeer change overview

Degenerate-input design: validate parameters and weights, remove zero-weight adjacency, then publish identity communities when effective weight is zero. Includes the readiness foundation from the parent PR. This is not independent multi-worker validation or proof that every zero-edge statistics path is finite.

@imbajin
imbajin merged commit 32b9a8f into apache:master Nov 5, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants