# -*- coding: utf-8 -*- """ collatz_build_initial_noyau.py Build initial R17 noyau from completion (Parents both). Used before D10 when running palier-by-palier. Usage: python collatz_build_initial_noyau.py --m15m16 PATH --output JSON """ from __future__ import annotations import argparse import json from pathlib import Path def main() -> None: ap = argparse.ArgumentParser(description="Build R17 noyau from completion") ap.add_argument("--m15m16", required=True, help="Path to complétion_minorée_m15_vers_m16.md") ap.add_argument("--output", required=True, help="Output noyau JSON path") args = ap.parse_args() from collatz_k_pipeline import build_R17_from_completion residues = build_R17_from_completion(args.m15m16) out = {"noyau": residues, "palier": 17} Path(args.output).parent.mkdir(parents=True, exist_ok=True) Path(args.output).write_text(json.dumps(out, indent=2), encoding="utf-8") print(f"Wrote {args.output}: {len(residues)} residues (R17)") if __name__ == "__main__": main()