| from __future__ import annotations | |
| import argparse | |
| import json | |
| from pathlib import Path | |
| def select(rows: list[dict]) -> dict: | |
| valid = [r for r in rows if r["correctness_pass"]] | |
| chosen = min(valid, key=lambda r: (r["latency_ms"] + 0.1 * r["memory_mb"], r["candidate_id"])) | |
| return {"candidate_id": chosen["candidate_id"], "objective_score": round(chosen["latency_ms"] + 0.1 * chosen["memory_mb"], 6), "human_review_required": True} | |
| def main() -> None: | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("records_json", type=Path) | |
| args = parser.parse_args() | |
| print(json.dumps(select(json.loads(args.records_json.read_text(encoding="utf-8"))), ensure_ascii=False, indent=2)) | |
| if __name__ == "__main__": | |
| main() | |