Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #760 +/- ##
==========================================
- Coverage 97.82% 97.81% -0.01%
==========================================
Files 599 601 +2
Lines 66337 66527 +190
==========================================
+ Hits 64893 65073 +180
- Misses 1444 1454 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Implementation SummaryChanges
Deviations from Plan
Open Questions
|
Agentic Review ReportStructural CheckStructural Review: model JobShopSchedulingStructural Completeness
Build Status
Semantic Review
Issue Compliance
Summary
Quality CheckQuality ReviewDesign Principles
HCI (CLI changed)
Test Quality
IssuesCritical (Must Fix)
Important (Should Fix)
Minor (Nice to Have)
Summary
Agentic Feature TestsFeature Test Report: problem-reductionsDate: 2026-03-23 Summary
Per-Feature DetailsJobShopScheduling
Expected vs Actual Outcome
Issues Found
Suggestions
Generated by review-pipeline |
# Conflicts: # problemreductions-cli/src/commands/create.rs # src/lib.rs
- Replace `type Metric = bool` with `type Value = Or` and return `Or(...)` from evaluate - Remove obsolete `SatisfactionProblem` import and `sat` keyword in declare_variants! - Update tests to use `Or(true)`/`Or(false)` assertions and `find_witness` - Fix CLI help text test to include JobShopScheduling in num-processors list - Remove incorrect test for ExpectedRetrievalCost latency_bound requirement Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
On Hold: The linked issue #510 explicitly requires an optimization formulation ( Additional items to address during rework:
|
- Change Value from Or to Min<u64> (minimize makespan) - Remove deadline field — optimization finds the minimum makespan directly - Update evaluate() to return Min(Some(makespan)) or Min(None) - Make schedule_from_config() public for test access - Add CLI validation for consecutive-processor constraint - Add test for consecutive-processor rejection - Update paper definition and figure (remove deadline references) - Update canonical example optimal_value from true to 19 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rework: satisfaction → optimizationConverted Changes
Also resolved merge conflicts with main and adapted to the |
- Refactor evaluate() to call flatten_tasks() once, reuse for both schedule_from_config_inner() and inline makespan computation - Remove redundant manual resolve_alias entry for JobShopScheduling (registry fallback already handles case-insensitive lookup) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract `decode_lehmer()` and `lehmer_dims()` into `models::misc` and replace duplicated Lehmer-code decode logic in all 7 scheduling models: - FlowShopScheduling - JobShopScheduling - MinimumTardinessSequencing - SequencingToMinimizeMaximumCumulativeCost - SequencingToMinimizeWeightedCompletionTime - SequencingToMinimizeWeightedTardiness - SequencingWithReleaseTimesAndDeadlines Net: +46 / -109 lines. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ed data Replace hardcoded blocks/makespan in the JobShopScheduling paper entry with Typst computation that decodes the Lehmer config, runs topo-sort longest-path scheduling, and builds Gantt blocks from examples.json. Also derive job descriptions and machine count from the data. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
Fixes #510