Skip to content

[Bug] extract_solution produces invalid source config for HamiltonianPath → ConsecutiveOnesSubmatrix #1002

@zazabap

Description

@zazabap

Summary

The ILP solver finds a valid target solution for ConsecutiveOnesSubmatrix (Or(true)), but extract_solution maps back to a source config that evaluates to Or(false) for HamiltonianPath.

Reproduction

pred create --example HamiltonianPath -o hp.json
pred reduce hp.json --to ConsecutiveOnesSubmatrix -o bundle.json
pred solve bundle.json

Target evaluates to Or(true), extracted source config evaluates to Or(false).

Origin

Reduction implemented in PR #779.

Discovery Method

This bug was found by systematically running the full CLI round-trip pipeline (pred create --examplepred reducepred solvepred evaluate) across all 43 reduction rules from PRs #777, #779, #804, #972. The existing Rust closed-loop unit tests pass because they test the direct API, but the CLI pipeline exercises serialization, registry lookup, and dynamic ILP path finding — a different code path that exposes extraction bugs.

Recommendation: Add a CI step or make target that runs this round-trip check for every rule with a canonical example. See #1005 for the proposal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions