Repository navigation
Update RestoreBench with three-run campaigns and corpus-aware scoring - #17
Merged
Andrea-Pomarico merged 1 commit intoOct 30, 2026
Merged
Conversation
Mansutti081
marked this pull request as ready for review
October 27, 2026 18:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Bring the standalone RestoreBench updates from
Mansutti081/RestoreBench@647ca89into the existing PowerAgentBench Steady-State Level 3 integration. This makes the published campaign configuration match the intended three-run evaluation design, improves corpus-aware standalone scoring, and adds a run-preserving extraction workflow for auditable episode/event CSVs.Changes and scope
rep0–rep2), for 5,796 expected cells across both corpora.--data-dirsupport torestorebench-scorefor IEEE118 and PEGASE89, including corpus-matched batch stratification.attempt_NNNN_score.jsonper batch input in addition tobenchmark_report.json.S0081witness with a one-maneuver solution that converges at the primary1e-8tolerance without recovery.restorebench.sweeps.extract_three_run_data, which exports episode-level and event-level CSVs while validating three-run coverage and preserving missing observations.The extractor is a documented manual workflow and does not fabricate data: when result stores are absent, it emits header-only CSVs plus a report identifying all missing cells.
Validation
3583c5f, Python 3.11.15.uv sync --frozen— passed..venv/bin/ruff check .— passed..venv/bin/pytest -q -m 'not slow'— 551 passed, 1 skipped, 5 deselected..venv/bin/pytest -q tests/environment/test_orchestrator.py::test_convergent_maneuver_is_not_success_when_slack_p_is_infeasible— 1 passed..venv/bin/restorebench-verify --dataset-dir dataset/ieee118— 46/46 scenarios verified.S0008and PEGASE89S0001; per-attempt and aggregate reports were written; extractor validated 5,796 expected cells and handled absent result stores without inventing rows.Benchmark and compatibility impact
repN/repetition_index.--data-diroption; IEEE118 remains the default.S0081witness changes, but the public scenario, action space, solver policy, and success criterion do not.Review checklist