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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions