test(physics): pin parallel-path and feature parity of APSP, betweenness, curvature (#329) - #391
Merged
Conversation
…ess, curvature (#329) `all_pairs_bfs` compiles on every feature lane as `pub(crate)`. New unit tests: a seeded APSP differential above the parallel threshold against the queue BFS with a run-to-run repeat; a 61-node betweenness comparison against the sequential rustworkx sweep at 1e-9 relative above 1 and absolute below; seeded topology-fixture pins on every lane; the rustworkx distance matrix against the queue BFS on all seven fixtures. The seven fixtures are duplicated into a `#[cfg(test)]` `multiway::test_topologies` module; the integration-test copy in `tests/branchial_analysis.rs` is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rvature pins (#329) The seven-fixture all-pairs summary (finite sum, infinite count, largest hop) is pinned on every lane; the structural `from_branchial` test keeps counts and range, adds a reversed-duplicate edge case, and pins no curvature value. The APSP fixture is `G(320, 0.01)` alone. The three new matrix comparisons report the first differing entry. CHANGELOG bullet reworded. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
#329) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #329.
Parallel-path and feature parity pins for
multiway: a seeded 320-node APSP bit-reproduction against a queue-BFS reference aboveAPSP_PARALLEL_THRESHOLD(300), a 61-node betweenness parallel-vs-serial comparison, a threshold guard, and a default-features differential over the seven pinned topology fixtures plus pinned per-fixture distance summaries. Diff (git diff --stat 937f34c..HEAD):src/multiway/branchial_analysis.rs+131,ollivier_ricci.rs+127,test_topologies.rs+118,mod.rs+3,CHANGELOG.md+6.Review history: r1 plus delta rounds 2–3 in the physics lane (Opus), every finding applied; the loop was stopped by the owner during round 4 and closed by one bounded Sonnet pass. The nalgebra routing (
math:nalgebra-linalg) was consulted at design time by the lane.Falsification (closing review,
/tmp/audit-reports/G13-T2/close-review.md;cargo nextest run -p catgraph-physics --no-fail-fast, default and--no-default-features)branchial_distance_matrixoutput +1.0 per entrydistance_matrix_matches_bfs_above_the_parallel_threshold,distance_matrix_matches_queue_bfs_on_topology_fixtures(+3 pre-existing)multiway_betweennessscores.get(i)→get(i + 1)betweenness_matches_the_sequential_reference(+2 pre-existing)APSP_PARALLEL_THRESHOLD300 → 100 000distance_matrix_matches_bfs_above_the_parallel_thresholdonly--no-default-features#[cfg(feature = "rustworkx")]-gated (mod.rs:18-19)Reviewer note: the brief's "parallel chunk boundary" has no in-crate target — the parallel/sequential dispatch lives in
rustworkx_core::shortest_path::distance_matrix(0.18.1, line 145); (a) perturbs the wrapper's output instead. The 320/300 and 61/50 fixtures were confirmed to cross rustworkx's thresholds by reading the vendored source.Gates (pristine copy, closing review)
cargo nextest run -p catgraph-physics: 277 passed / 0 failed (default), 235 / 0 (--no-default-features). Clippy-D warningsboth lanes: clean.cargo fmt --all --check: clean.🤖 Generated with Claude Code