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
    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