oversightforge-2 / scripts /run_all.py
Akshay Kumar
Initial OversightForge implementation
c613bf9
Raw History Blame Contribute Delete
1.33 kB
import argparse
import subprocess
import sys
def run_command(cmd: list[str]) -> None:
print("Running:", " ".join(cmd))
result = subprocess.run(cmd, check=False)
if result.returncode != 0:
raise RuntimeError(f"Command failed with exit code {result.returncode}: {' '.join(cmd)}")
def main():
parser = argparse.ArgumentParser(description="Run end-to-end local pipeline")
parser.add_argument("--base-url", default="http://localhost:8000")
parser.add_argument("--episodes", type=int, default=60)
parser.add_argument("--eval-episodes", type=int, default=20)
args = parser.parse_args()
py = sys.executable
run_command([py, "scripts/smoke_test.py", "--base-url", args.base_url])
run_command(
[
py,
"training/run_training.py",
"--base-url",
args.base_url,
"--episodes",
str(args.episodes),
"--eval-episodes",
str(args.eval_episodes),
]
)
run_command([py, "benchmarks/run_baselines.py", "--base-url", args.base_url, "--episodes", "30"])
run_command([py, "scripts/plot_metrics.py", "--input", "artifacts/training_rollout.json"])
print("Pipeline complete. Artifacts are under artifacts/ and artifacts/plots/.")
if __name__ == "__main__":
main()