Add FJSP-WF task for manufacturing scheduling - #89
Conversation
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
|
Review — FJSP-WF (PR #89) Thank you for contributing this benchmark! Flexible Job Shop Scheduling with Worker Flexibility is a real manufacturing problem with clear economic value. The documentation is thorough and the data sources are reliable. After a line-by-line review of all code, the following issues were identified. Evaluation by dimension 1. Domain, Economic Value, and Frontier-Eng Fit ✅ FJSP-WF is a genuine production scheduling problem — factories must decide job sequencing, machine assignment, and worker allocation every day. The task uses 30 official instances from the GECCO FJSSP-WU competition with traceable data sources. Scheduling optimization directly translates to improved equipment utilization and shorter delivery times, giving the task clear economic value. 2. Not purely numerical ✅ The agent modifies the scheduling algorithm logic in 3. Search space ✅ FJSP-WF is NP-hard. The baseline uses a greedy strategy with clear room for improvement. 4. Evaluator and engineering verification ✅
5. Constraint enforcement ✅ Constraints are enforced incrementally in 6. Baseline experiment
7. Scoring system
Issues to address Issue 1 (most critical): Candidate runs in-process — no process isolation The evaluator uses Suggestion: execute the candidate in a subprocess (e.g., Issue 2 (most critical): Missing EVOLVE-BLOCK boundary validation
Suggestion: add EVOLVE-BLOCK boundary validation before importing the candidate source. Issue 3: TASK_DETAILS.md not updated PR #89 does not add the Manufacturing domain or FJSP-WF task to TASK_DETAILS.md. Users cannot discover this benchmark from the main task index. Suggestion: add the Manufacturing domain and FJSP-WF task entry to TASK_DETAILS.md. Issue 4: No test file No test files exist. At minimum, the following should be added:
Non-blocking suggestions
FJSP-WF has the right direction, thorough documentation, and reliable data. The review can proceed once the above issues are addressed. |
…dation, tests, documentation
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
🤖 AI Code Review (gemini-3-flash-preview)🤖 LLM 调用失败: HTTPSConnectionPool(host='litellm-dev.vida.app', port=443): Read timed out. (read timeout=120) |
|
Review — FJSP-WF (PR #89) — Updated Re-review Thank you for the timely updates! Of the five previously raised issues, process isolation, test files, baseline run results, and TASK_DETAILS.md have all been correctly fixed. However, a critical implementation issue was identified during re-review. Correctly fixed items Process isolation (in-process → subprocess): ✅ Fixed. Added Test files: ✅ Fixed. Added Baseline run results: ✅ Fixed. TASK_DETAILS.md: ✅ Fixed. The Manufacturing domain and FJSP-WF task entry have been added. Issue to address The EVOLVE-BLOCK validation compares the candidate against init.py itself, making the check completely ineffective in the normal evaluation flow Lines 793-794: original_solver_path = benchmark_dir / "scripts" / "init.py"
evolve_ok, evolve_msg = _check_evolve_block(candidate_path, original_solver_path)When running normally (
The content of the same file is always equal, so the check always passes. Even if the agent modifies code outside the EVOLVE-BLOCK in init.py (which should be prohibited), The test Suggestion: replace Additional suggestions
The review can proceed once the above issues are addressed! |
- Change EVOLVE-BLOCK reference from scripts/init.py to references/solver_reference.py (frozen original copy) - Add resource limits (RLIMIT_NPROC, RLIMIT_AS, RLIMIT_CPU) for subprocess isolation on non-Windows platforms - Rename original_path -> reference_path in _check_evolve_block - Add solver_reference.py as the frozen reference for EVOLVE-BLOCK validation Addresses PR EinsiaLab#89 re-review: EVOLVE-BLOCK validation is now effective in the real evaluation workflow, not only in tests.
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
Re-reviewThank you for the detailed review and helpful feedback. We have addressed the remaining issues as follows: ✅ Issue 1 — EVOLVE-BLOCK validation
✅ Issue 2 — Subprocess resource limits
✅ Issue 3 — Parameter naming
Files Updated
Verification
Appreciate your careful review and believe these changes address the remaining concerns. Thank you again for taking the time to review this benchmark. |
…rmed Input/Output header
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
… math symbols and em dashes
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
|
Review — FJSP-WF (PR #89) — Third Re-review Thank you for the continued follow-up! The critical bug from the last review has been correctly fixed, RLIMIT limits have been added, and a frozen reference file has been created. However, one test was not updated to match the new behavior. Issues from previous review — Fixed EVOLVE-BLOCK validation compared candidate against init.py itself, making the check a no-op ✅
Missing RLIMIT on candidate subprocess ✅ Added Task.md encoding corruption ✅ Fixed garbled Unicode characters and duplicate/ malformed section headings. Issue to address Test The test in def test_baseline_fails_evolve_check(self):
proc = _run_evaluator(BASELINE_PATH)
self.assertNotEqual(proc.returncode, 0)
self.assertIn("EVOLVE-BLOCK", proc.stderr)With the new reference path ( Either remove this test case (it no longer tests a meaningful scenario, since passing the baseline as a candidate is not a realistic workflow), or change it to verify that Summary The critical EVOLVE-BLOCK bug has been correctly fixed, RLIMIT limits have been added, and no new structural issues were found. Fix the |
…nce now share outer structure, test no longer meaningful)
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
Re-review Thank you for the continued review and feedback. The remaining test issue has now been resolved. Issue — Outdated EVOLVE-BLOCK test: ✅ Fixed
Verification
Thanks again for the careful review. |
|
Review — FJSP-WF (PR #89) — Final Review Thank you for the continued follow-up! The test issue identified in the last round has been correctly fixed. After a line-by-line review, all previously raised issues are now resolved. Final status of all issues across three review rounds
New issues found: None All issues have been resolved. No new issues were identified. Ready to merge. |
Summary
This PR adds a new Frontier-Eng task for Flexible Job Shop Scheduling with Worker Flexibility (FJSP-WF) under the Manufacturing domain.
Highlights
solver/scheduler.pyas the editable Agent artifact with EVOLVE-BLOCK protection.Verification