Skip to content

Complete missing example-db and paper entries for 43 rules from #770 #974

@zazabap

Description

@zazabap

Summary

PRs #777, #779, #804, and #972 (all from #770) shipped 43 reduction rules with complete core implementations (checks 1-8 pass for all), but systematically missed documentation and example-db components. This issue tracks completing the missing structural checklist items.

Debt Inventory

Check 9 — Canonical rule example in rule_builders.rs (31/43 missing)

PR #777 (10 rules missing):

  • ConsecutiveOnesMatrixAugmentation → ILP
  • ExactCoverBy3Sets → StaffScheduling
  • HamiltonianCircuit → BottleneckTravelingSalesman
  • HamiltonianCircuit → HamiltonianPath
  • HamiltonianCircuit → TravelingSalesman
  • HamiltonianPath → IsomorphicSpanningTree
  • KClique → ConjunctiveBooleanQuery
  • KClique → SubgraphIsomorphism
  • Partition → MultiprocessorScheduling
  • Satisfiability → NAESatisfiability

PR #804 (11 rules missing):

  • HamiltonianCircuit → LongestCircuit
  • KClique → BalancedCompleteBipartiteSubgraph
  • KColoring → TwoDimensionalConsecutiveSets
  • LongestCommonSubsequence → MaximumIndependentSet
  • MinimumVertexCover → EnsembleComputation
  • MinimumVertexCover → MinimumHittingSet
  • PaintShop → QUBO
  • Partition → SubsetSum
  • PartitionIntoPathsOfLength2 → BoundedComponentSpanningForest
  • RootedTreeArrangement → RootedTreeStorageAssignment
  • SubsetSum → CapacityAssignment

PR #972 (10 rules missing):

  • ExactCoverBy3Sets → MaximumSetPacking
  • ILP/i32 → ILP/bool
  • MaxCut → MinimumCutIntoBoundedSets
  • NAESatisfiability → MaxCut
  • Partition → BinPacking
  • ThreePartition → FlowShopScheduling
  • ThreePartition → JobShopScheduling
  • ThreePartition → ResourceConstrainedScheduling
  • ThreePartition → SequencingToMinimizeWeightedTardiness
  • ThreePartition → SequencingWithReleaseTimesAndDeadlines

Check 10 — Example-db lookup test in example_db.rs (43/43 missing)

All 43 rules across all 4 PRs. Includes all rules listed above for check 9, plus the 12 PR #779 rules:

  • HamiltonianCircuit → BiconnectivityAugmentation
  • HamiltonianCircuit → QuadraticAssignment
  • HamiltonianCircuit → RuralPostman
  • HamiltonianCircuit → StackerCrane
  • HamiltonianCircuit → StrongConnectivityAugmentation
  • HamiltonianPath → ConsecutiveOnesSubmatrix
  • KSatisfiability → KClique
  • KSatisfiability → MinimumVertexCover
  • MaximumIndependentSet → IntegralFlowBundles
  • MinimumVertexCover → MinimumFeedbackArcSet
  • Partition → SequencingWithinIntervals
  • Partition → ShortestWeightConstrainedPath

Check 11 — Paper reduction-rule entry in reductions.typ (30/43 missing)

All 43 rules minus the 13 that already have entries:

Missing from PR #777 (8 rules):

  • ExactCoverBy3Sets → StaffScheduling
  • HamiltonianCircuit → BottleneckTravelingSalesman
  • HamiltonianCircuit → HamiltonianPath
  • HamiltonianPath → IsomorphicSpanningTree
  • KClique → ConjunctiveBooleanQuery
  • KClique → SubgraphIsomorphism
  • Partition → MultiprocessorScheduling
  • Satisfiability → NAESatisfiability

Missing from PR #779 (12 rules):

  • HamiltonianCircuit → BiconnectivityAugmentation
  • HamiltonianCircuit → QuadraticAssignment
  • HamiltonianCircuit → RuralPostman
  • HamiltonianCircuit → StackerCrane
  • HamiltonianCircuit → StrongConnectivityAugmentation
  • HamiltonianPath → ConsecutiveOnesSubmatrix
  • KSatisfiability → KClique
  • KSatisfiability → MinimumVertexCover
  • MaximumIndependentSet → IntegralFlowBundles
  • MinimumVertexCover → MinimumFeedbackArcSet
  • Partition → SequencingWithinIntervals
  • Partition → ShortestWeightConstrainedPath

Missing from PR #972 (10 rules):

  • ExactCoverBy3Sets → MaximumSetPacking
  • ILP/i32 → ILP/bool
  • MaxCut → MinimumCutIntoBoundedSets
  • NAESatisfiability → MaxCut
  • Partition → BinPacking
  • ThreePartition → FlowShopScheduling
  • ThreePartition → JobShopScheduling
  • ThreePartition → ResourceConstrainedScheduling
  • ThreePartition → SequencingToMinimizeWeightedTardiness
  • ThreePartition → SequencingWithReleaseTimesAndDeadlines

Root Cause

The review-structural skill checklist had checks 9-11 defined, but the review-pipeline agent either did not run the full checklist (PRs #777, #779) or classified failures as non-blocking (#972). PR #804 was the only PR that ran the /issue-to-pr skill upfront, which produced paper entries — but even it missed checks 9 and 10.

Acceptance Criteria

  • 31 rules have canonical example builders in src/example_db/rule_builders.rs (check 9)
  • 43 rules have lookup tests in src/unit_tests/example_db.rs (check 10)
  • 30 rules have reduction-rule(...) entries in docs/paper/reductions.typ (check 11)
  • make check passes
  • make paper builds successfully
  • Structural review reports all 43 rules passing checks 9-11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions