Skip to content

Complete numeric variant conversions and audit missing edges - #1209

Open
isPANN wants to merge 4 commits into
mainfrom
fix/minimum-vertex-cover-unit-weight-cast
Open

isPANN wants to merge 4 commits into
mainfrom
fix/minimum-vertex-cover-unit-weight-cast

Conversation

@isPANN

@isPANN isPANN commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Registered numeric variants were missing direct conversions, forcing path search through unrelated models or leaving variants disconnected. Add 20 missing edges: 15 One → i64 conversions (including three decision wrappers) and five i64 → f64 conversions. All 29 matching numeric variant pairs now have direct executable edges.

Reuse the existing variant-reduction macro and declare exact identity parameter transforms. Unit-weight conversions preserve witnesses, objective values, and decision thresholds. The five new float conversions reject coefficients or accumulated objective bounds outside the exact-integer float range; Steiner forest also checks its scaled costs. No new variants or dependencies are introduced. Existing ILP rules qualify their shared trait helpers where the additional implementations would otherwise make type inference ambiguous.

Add a registry-wide test that discovers matching weight/coefficient variants automatically and requires direct witness-executable conversions. Behavior tests compare complete converted instances against independently deserialized target instances, solve both sides with the real brute-force solver, recover source optima and aggregate values, and exercise precision and overflow boundaries. Two unit-weight model examples supply inputs for the existing executable parameter-formula checks.

Remove Typst explanations of pure numeric casts, including the existing Spin Glass, Set Packing, and QUBO entries and numeric-cast paragraphs in MIS and ILP. Keep graph transformations, fixed-to-generic variants, and bounded-integer encodings. The paper completeness filter excludes only numeric promotions that leave every other variant dimension unchanged; a build-time assertion checks that a graph-changing MIS rule remains nontrivial. Repository guidance records this distinction.

Validation:

  • The new tests failed before the missing conversions were implemented.
  • Formatting and final workspace Clippy passed.
  • Workspace unit/integration tests passed, including 6,247 library tests and the executable parameter-formula checks. Final focused numeric tests: 7 passed.
  • Full library LLVM coverage passed: 95.67% line coverage. Final focused coverage gives 100% line coverage for the new exact-float helper and scaled forest cost checks.
  • make paper passed, including the numeric/nontrivial classification assertions.
  • make check still ends at the existing problemreductions-macros/src/lib.rs:211 doctest failure: its standalone reduction attribute has no attached item. That file is unchanged from main.

@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.39142% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.91%. Comparing base (f11b2a4) to head (85175e3).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/unit_tests/rules/weight_casts.rs 98.00% 5 Missing ⚠️
src/rules/minimumtardinesssequencing_ilp.rs 87.50% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main    #1209    +/-   ##
========================================
  Coverage   96.90%   96.91%            
========================================
  Files        1095     1099     +4     
  Lines      145109   145449   +340     
========================================
+ Hits       140621   140965   +344     
+ Misses       4488     4484     -4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@isPANN
isPANN marked this pull request as draft October 17, 2026 11:15
@isPANN isPANN changed the title Add direct unit-weight to integer-weight vertex cover reduction Complete numeric variant conversions and audit missing edges Oct 17, 2026
@isPANN
isPANN marked this pull request as ready for review October 17, 2026 16:09

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant