Skip to content

Update RestoreBench with three-run campaigns and corpus-aware scoring - #17

Merged
Andrea-Pomarico merged 1 commit into
Power-Agent:mainfrom
Mansutti081:feat/restorebench-three-run
Oct 30, 2026
Merged

Andrea-Pomarico merged 1 commit into
Power-Agent:mainfrom
Mansutti081:feat/restorebench-three-run

Conversation

@Mansutti081

@Mansutti081 Mansutti081 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

Bring the standalone RestoreBench updates from Mansutti081/RestoreBench@647ca89 into 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

  • Set all six published RestoreBench campaigns to three repetitions (rep0–rep2), for 5,796 expected cells across both corpora.
  • Add --data-dir support to restorebench-score for IEEE118 and PEGASE89, including corpus-matched batch stratification.
  • Write one attempt_NNNN_score.json per batch input in addition to benchmark_report.json.
  • Replace the private IEEE118 S0081 witness with a one-maneuver solution that converges at the primary 1e-8 tolerance without recovery.
  • Add restorebench.sweeps.extract_three_run_data, which exports episode-level and event-level CSVs while validating three-run coverage and preserving missing observations.
  • Update Level 3 documentation and tests. Existing PowerAgentBench-specific README installation guidance is preserved.

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

  • Tested revision and Python version: 3583c5f, Python 3.11.15.
  • Commands executed and results:
    • 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.
    • End-to-end smoke: batch scoring succeeded for IEEE118 S0008 and PEGASE89 S0001; per-attempt and aggregate reports were written; extractor validated 5,796 expected cells and handled absent result stores without inventing rows.
  • CI run and status: GitHub Actions passed all five jobs (root tests on Python 3.10, 3.11, and 3.12; Level 2 tests on Python 3.11 and 3.12).
  • Validation not performed and reason: four opt-in live-provider tests were not run because they issue real external model calls. No full 5,796-cell LLM campaign was run, and no experimental result stores are included.

Benchmark and compatibility impact

  • Published campaign size changes intentionally from one to three repetitions. Existing result-cell naming remains compatible because repetition identity was already encoded as repN / repetition_index.
  • The standalone scorer gains a backward-compatible --data-dir option; IEEE118 remains the default.
  • Batch scoring now creates per-attempt JSON reports in addition to the existing aggregate report.
  • The private S0081 witness changes, but the public scenario, action space, solver policy, and success criterion do not.
  • No dependency or public/hidden-boundary changes are introduced.
  • Reference result outputs were not regenerated because PowerAgentBench does not ship the underlying experimental result stores; the extractor reports this limitation explicitly.

Review checklist

  • The change addresses a concrete problem and excludes unrelated work.
  • Relevant tests cover the changed behavior, and CI includes them or manual-validation limits are explained.
  • Documentation and commands match the implementation.
  • Public/hidden data boundaries are preserved, and no secrets or licensed simulator data are included.
  • The description and validation evidence reflect the current revision.

@Mansutti081
Mansutti081 marked this pull request as ready for review October 27, 2026 18:15
@Andrea-Pomarico
Andrea-Pomarico merged commit cc524af into Power-Agent:main Oct 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants