You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Non-blocking findings from the #488 re-review (full detail in the review comment on the PR), tracked here so they survive the merge:
Empty-rank eval_metric collective skip — latent hang at three sites in _adapt_nested (discretisation_mesh.py: nvb-native if cur_h.size:, edge_split if centroids.shape[0]:, and the sbr path which breaks out of the level loop entirely — the worst variant, that rank leaves for good). At np>1 with a field/expression metric, eval_metric is global_evaluate (collective); a cell-less rank skips it while peers enter. Needs a rank with zero cells to fire, hence latent. Fix pattern: the Adapt-on-top: closure-free edge_split engine, reconnection repair, and interface-pinned relaxation #488 collective-emptiness treatment (allreduce the predicate; all ranks call or none do).
reconnect.py:781 rank-local invariant guard ("a shared point was deleted") — assert-class, fires only on internal contract violation, but would hang peers if it ever fires. Route through the allgather-verdict pattern.
test_pinned_set_is_partition_independent is vacuous — it allgathers the union on every rank then compares the union's size to the max over ranks of that same size; identical by construction, cannot fail. Rewrite as a genuine cross-np fingerprint (the moved-vertex test added in the Adapt-on-top: closure-free edge_split engine, reconnection repair, and interface-pinned relaxation #488 fix currently covers the defect it missed).
Underworld development team with AI support from Claude Code
Non-blocking findings from the #488 re-review (full detail in the review comment on the PR), tracked here so they survive the merge:
eval_metriccollective skip — latent hang at three sites in_adapt_nested(discretisation_mesh.py: nvb-nativeif cur_h.size:, edge_splitif centroids.shape[0]:, and the sbr path whichbreaks out of the level loop entirely — the worst variant, that rank leaves for good). At np>1 with a field/expression metric,eval_metricisglobal_evaluate(collective); a cell-less rank skips it while peers enter. Needs a rank with zero cells to fire, hence latent. Fix pattern: the Adapt-on-top: closure-free edge_split engine, reconnection repair, and interface-pinned relaxation #488 collective-emptiness treatment (allreduce the predicate; all ranks call or none do).reconnect.py:781rank-local invariant guard ("a shared point was deleted") — assert-class, fires only on internal contract violation, but would hang peers if it ever fires. Route through the allgather-verdict pattern.test_pinned_set_is_partition_independentis vacuous — it allgathers the union on every rank then compares the union's size to the max over ranks of that same size; identical by construction, cannot fail. Rewrite as a genuine cross-np fingerprint (the moved-vertex test added in the Adapt-on-top: closure-free edge_split engine, reconnection repair, and interface-pinned relaxation #488 fix currently covers the defect it missed).Underworld development team with AI support from Claude Code