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
Deterministic parallel CV search: Fixed critical issue where the same CV threshold produced different results when run in parallel search mode versus single-run mode.
Random seed isolation: Worker processes now have properly isolated RNG states, ensuring consistent results across all runs.
Improved reproducibility: Set iteration order is now deterministic across parallel workers, eliminating non-deterministic behavior in tree construction.
What's New
Bug Fixes
Fixed parallel vs single-run inconsistency: Worker processes in multiprocessing.Pool now re-initialize random seeds at entry point based on cv_value, ensuring each CV threshold has deterministic and independent RNG state.
Fixed set iteration non-determinism: find_all_path_nodes_scaffold, get_all_path_nodes_with_group_filter, and find_all_path_nodes now return sorted lists, eliminating iteration order variability across parallel workers.
Fixed Leiden algorithm RNG state: leiden_mutation_groups now explicitly resets random.seed() and np.random.seed() before running community detection, ensuring deterministic clustering results.
Enhanced reproducibility module: set_seed() now includes additional random module reset for forked processes, ensuring complete RNG isolation.
Code Quality
Improved deterministic behavior in parallel execution: All path-finding functions now guarantee consistent iteration order regardless of execution environment.
Enhanced random seed management: Worker processes now properly isolate RNG states, preventing cross-contamination between CV thresholds.
Impact
Parallel CV search now produces identical results to single-run mode
Fully backward compatible with v3.3.0
No changes to input/output formats or command-line interfaces
Notes
This release is strongly recommended for all users running CV threshold search, as previous versions could produce inconsistent results across runs.
No changes to input/output formats or command-line interfaces; fully backward compatible with v3.3.0 workflows.