"""nova regression — run the regression gate and write the report (REQ-177).""" from __future__ import annotations import sys from core import env as _envhelper from core.regression_verify import run_regression, write_report def add_parser(subparsers): p = subparsers.add_parser("regression", help="run the regression gate + write report") p.add_argument("--milestone", default=None) p.add_argument("--phase", type=int, default=None) p.set_defaults(_run=run) def run(args) -> int: milestone = args.milestone or _envhelper.get_env("REGRESSION_MILESTONE", "v1.10") or "v1.10" phase = args.phase if args.phase is not None else int(_envhelper.get_env("REGRESSION_PHASE", "52") or "52") report = run_regression(milestone=milestone, phase=phase) md, js = write_report(report) print(f"regression: {report.summary} -> {md}") return 0 if report.passed else 1 if __name__ == "__main__": import sys print("use: nova regression [--milestone v1.x] [--phase N]", file=sys.stderr)