#!/usr/bin/env python3 from __future__ import annotations import argparse import json import sys from pathlib import Path def main() -> int: parser = argparse.ArgumentParser(description="Run bounded Music3 native-state multi-clip pilot") parser.add_argument("--config", type=Path, required=True) parser.add_argument("--flow-config", type=Path, required=True) parser.add_argument("--flow-checkpoint", type=Path, required=True) parser.add_argument("--snapshot", type=Path, required=True) parser.add_argument("--diffusers-root", type=Path, required=True) parser.add_argument("--old-teacher-root", type=Path, required=True) parser.add_argument("--teacher-root", type=Path, required=True) parser.add_argument("--evidence-root", type=Path, required=True) args = parser.parse_args() project = Path(__file__).resolve().parents[1] sys.path.insert(0, str(project / "src")) sys.path.insert(0, str(args.diffusers_root.resolve())) from music3lab.codec.native_state_multiclip_runner import run_multiclip result = run_multiclip(**vars(args)) print(json.dumps(result, sort_keys=True)) return 0 if result["status"] in {"PASS", "FUNCTIONAL_FAIL"} else 2 if __name__ == "__main__": raise SystemExit(main())