Fix #764: Delete GraphPartitioning, make it an alias of MaxCut#776
Fix #764: Delete GraphPartitioning, make it an alias of MaxCut#776
Conversation
GraphPartitioning (minimum bisection) was a standalone model with its own reduction rules to MaxCut, QUBO, and ILP. Since it is conceptually an alias of MaxCut, remove the dedicated model, all three reduction rules, their tests, CLI create handlers, paper entries, and register "GraphPartitioning" as an alias on the MaxCut schema entry. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #776 +/- ##
==========================================
- Coverage 97.81% 97.80% -0.02%
==========================================
Files 588 580 -8
Lines 66239 65742 -497
==========================================
- Hits 64793 64297 -496
+ Misses 1446 1445 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Agentic Review ReportStructural Check
Build: Remaining references: Only in Python test fixture scripts ( 20/20 structural checks passed. 0 issues found. Quality CheckDRY — Pass. No redundant references to GraphPartitioning remain in core Rust codebase. KISS — Pass. Clean, minimal deletion. 18 files changed, 1197 lines removed. Single addition: alias registration on MaxCut's Cohesion/Coupling — Pass. No dangling dependencies. All import chains, re-exports, and example-db wiring consistently updated. Test Quality — Pass. Analysis allow-list correctly updated (removed stale GraphPartitioning → QUBO dominated-rule entry). All 4 unit test files deleted. No integration tests referenced GraphPartitioning. HCI — Pass. CLI help text updated. Alias resolution works: 0 issues found. Agentic Feature Tests
7/7 tests pass. 0 issues found. Generated by review-pipeline |
There was a problem hiding this comment.
Pull request overview
Removes the GraphPartitioning model and its associated reductions/tests/docs, while preserving the legacy name as a catalog alias that resolves to MaxCut for CLI/spec parsing and registry lookup.
Changes:
- Deleted the
GraphPartitioningmodel implementation and all associated reduction rules/tests (to MaxCut/QUBO/ILP) and example-db wiring. - Registered
"GraphPartitioning"as an alias ofMaxCutin the problem schema. - Removed
GraphPartitioningmentions from CLI creation/help output and from the paper/docs.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/unit_tests/rules/graphpartitioning_qubo.rs | Removes unit tests for the GraphPartitioning → QUBO rule. |
| src/unit_tests/rules/graphpartitioning_maxcut.rs | Removes unit tests for the GraphPartitioning → MaxCut rule. |
| src/unit_tests/rules/graphpartitioning_ilp.rs | Removes unit tests for the GraphPartitioning → ILP rule. |
| src/unit_tests/rules/analysis.rs | Updates dominated-rules test expectations to drop GraphPartitioning-related entries. |
| src/unit_tests/models/graph/graph_partitioning.rs | Removes model-level tests for GraphPartitioning. |
| src/rules/mod.rs | Unregisters GraphPartitioning reduction modules and example-db specs from the rules module list. |
| src/rules/graphpartitioning_qubo.rs | Deletes the GraphPartitioning → QUBO reduction rule implementation and its example-db spec. |
| src/rules/graphpartitioning_maxcut.rs | Deletes the GraphPartitioning → MaxCut reduction rule implementation and its example-db spec. |
| src/rules/graphpartitioning_ilp.rs | Deletes the GraphPartitioning → ILP reduction rule implementation and its example-db spec. |
| src/models/mod.rs | Stops re-exporting GraphPartitioning from the top-level models module. |
| src/models/graph/mod.rs | Removes the GraphPartitioning module and re-export; drops its example-db model spec registration. |
| src/models/graph/max_cut.rs | Adds "GraphPartitioning" as an alias to the MaxCut schema entry. |
| src/models/graph/graph_partitioning.rs | Deletes the GraphPartitioning model implementation, schema entry, variants, and example-db spec. |
| src/lib.rs | Removes GraphPartitioning from the public prelude re-exports. |
| problemreductions-cli/src/commands/create.rs | Removes GraphPartitioning-specific create/random/example argument handling. |
| problemreductions-cli/src/cli.rs | Removes GraphPartitioning from the CLI “Flags by problem type” help listing. |
| docs/src/cli.md | Removes GraphPartitioning from the documented pred list output snippet. |
| docs/paper/reductions.typ | Removes GraphPartitioning problem and reduction content from the paper. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
GraphPartitioningmodel, its 3 reduction rules (→ MaxCut, → QUBO, → ILP), all associated tests, CLI create handlers, and paper entries"GraphPartitioning"as an alias ofMaxCutin the problem schemaFixes #764