fix: close completeness gaps from review-implementation audit (#88)#89
Merged
fix: close completeness gaps from review-implementation audit (#88)#89
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…and SAT to CircuitSAT rule Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #89 +/- ##
=======================================
Coverage 96.36% 96.36%
=======================================
Files 197 197
Lines 27210 27210
=======================================
Hits 26222 26222
Misses 988 988 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR addresses completeness gaps identified in issue #88 by fixing CLI dispatch for MaximalIS, adding missing re-exports, standardizing test naming, adding example programs, and documenting problem definitions and reduction rules in the paper.
Changes:
- Fixed MaximalIS CLI dispatch by adding it to
load_problem()andserialize_any_problem()functions - Added missing re-exports for MaximumClique, ILP, and KSatisfiability to models/mod.rs
- Renamed 21 test functions to follow the standardized
test_<source>_to_<target>_closed_loopnaming convention - Added 3 new example programs for SAT→CircuitSAT, MaximumSetPacking→MaximumIndependentSet, and KSatisfiability→Satisfiability reductions
- Added problem definitions and display names for MaximalIS, BMF, PaintShop, and BicliqueCover
- Added reduction rule documentation for SAT→CircuitSAT
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/suites/examples.rs | Added test registrations for three new example programs |
| src/unit_tests/rules/*.rs (21 files) | Renamed test functions to follow test_<source>_to_<target>_closed_loop convention |
| src/models/mod.rs | Added missing re-exports for MaximumClique, ILP, and KSatisfiability |
| problemreductions-cli/src/dispatch.rs | Added MaximalIS match arms to load_problem and serialize_any_problem |
| examples/reduction_satisfiability_to_circuitsat.rs | New example demonstrating SAT to CircuitSAT reduction |
| examples/reduction_maximumsetpacking_to_maximumindependentset.rs | New example demonstrating MaximumSetPacking to MaximumIndependentSet reduction |
| examples/reduction_ksatisfiability_to_satisfiability.rs | New example demonstrating KSatisfiability to Satisfiability reduction |
| docs/paper/reductions.typ | Added display names, problem definitions for 4 problems, and SAT→CircuitSAT reduction rule |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The previous example used only size-2 sets, which is degenerate (equivalent to a matching problem). Replace with 5 sets of sizes 2 and 3 over an 8-element universe for a more general demonstration. Co-Authored-By: Claude Opus 4.6 <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.
Summary
MaximalISmatch arms toload_problem()andserialize_any_problem()MaximumClique,ILP,KSatisfiabilitytest_<source>_to_<target>_closed_loopnaming conventionCloses #88
Test plan
make test— all 1506 unit + 96 integration + 43 doc tests passmake clippy— cleantest_satisfiability_to_circuitsat,test_maximumsetpacking_to_maximumindependentset,test_ksatisfiability_to_satisfiabilitycargo run --example export_graph— reduction graph unchangedmake export-schemas— 21 problem schemas exported🤖 Generated with Claude Code