Simplify Arena Experiment result collection - #1082
Conversation
Keep result collection focused on combining declared Run outputs. Use an explicit name for the environment and policy variant conversion, and document when that conversion can be removed. Signed-off-by: Clemens Volk <cvolk@nvidia.com>
Greptile SummaryThis PR simplifies Arena Experiment result collection while retaining completed-Run directory validation and renames the configuration conversion helper to describe its output precisely.
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking opportunity to retain validation of the serialized Run-status contract. Current production callers obtain statuses from the completed/failed enum, while the simplified collector now permits schema-invalid statuses from direct callers and may cause those Runs to disappear from report classification. Files Needing Attention: isaaclab_arena/evaluation/arena_experiment_result.py Important Files Changed
Reviews (1): Last reviewed commit: "Simplify Arena Experiment result collect..." | Re-trigger Greptile |
| status = run_metadata["status"] | ||
| assert ( | ||
| status != "completed" or run_output_directory.is_dir() | ||
| ), f"completed Run {run_name!r} is missing its output directory: {run_output_directory}" |
There was a problem hiding this comment.
Validate the Run status domain
ArenaExperimentRunData restricts status to completed or failed, but _collect_run now serializes any supplied value. An invalid status therefore produces schema-invalid output and prevents downstream reports from classifying the Run as either completed or failed.
| status = run_metadata["status"] | |
| assert ( | |
| status != "completed" or run_output_directory.is_dir() | |
| ), f"completed Run {run_name!r} is missing its output directory: {run_output_directory}" | |
| status = run_metadata["status"] | |
| assert status in ("completed", "failed"), f"status for Run {run_name!r} must be 'completed' or 'failed'" | |
| assert ( | |
| status != "completed" or run_output_directory.is_dir() | |
| ), f"completed Run {run_name!r} is missing its output directory: {run_output_directory}" |
🤖 Isaac Lab-Arena Review BotSummaryClean, well-scoped follow-up to #1070. It trims FindingsNo blocking issues. A few things I checked that hold up:
Test CoverageGood. The renamed conversion tests still assert the exact output for both the graph-YAML and registered-config paths, and the collection tests cover completed-requires-directory, failed-with-missing/empty-directory, unsafe run names, and malformed JSONL. No new code paths go untested. VerdictShip it |
Summary
Simplify Arena Experiment result collection
Detailed description
ArenaExperimentResultfocused on combining declared Run outputs while preserving the completed-Run directory check.policy_variant.Verified with the full pre-commit suite and 54 focused result, local runner, and OSMO tests.