"""Generate and validate explicitly authorized current-source quantity rows.""" import argparse import copy import json import os from pathlib import Path import subprocess import sys import tempfile import time root=Path(__file__).resolve().parents[1] sys.path.insert(0,str(root/'src/backend' if (root/'src/backend').is_dir() else root)) def run(args): import server from cad_rebar_recipe import load_sources from authorized_quantity_generation import seeds, generate_seed server.require_modeling_rules() target=args.job.resolve();raw=target.read_bytes();job=json.loads(raw);plan=job['result'] from haunch_contact_surface import bind as bind_haunch_contact bind_haunch_contact(plan['concrete_components'],server.component_surface_z_at_xy) if job.get('status')=='running':raise ValueError('job is active') if not args.confirm_quantity_distribution:raise ValueError('explicit confirmation required') sources=load_sources(server.rehydrate_drawing_set_analysis(job['sourceContext']['analysis'])) authorization={'explicit_request':True,'source_sha256':sorted(sources),'marks':args.marks, 'scope':'source N on actual contact positions; not literal drawing station reconstruction'} if args.rhythm: repeat,alternate=args.rhythm if not 0