def parse_int_from_formula(text: str) -> int: # Best-effort: look for pattern "A x B x C = N" and return N if present. # In production, prefer explicit numeric fields for each factor. import re m = re.search(r"=\s*([\d,]+)", text) if not m: return None return int(m.group(1).replace(",", "")) def assert_valid(data: dict): cap = data.get("capacity", {}) total_clients = cap.get("total_clients") formula = cap.get("formula_used", "") parsed_total = parse_int_from_formula(formula) if parsed_total is not None and total_clients is not None and parsed_total != total_clients: raise ValueError(f"MathValidator: capacity total {total_clients} disagrees with formula {parsed_total}") # Cost: total_for_n should equal total_per_client * N (if N is stated in formula or benchmark string). cost = data.get("cost", {}) tpc = cost.get("total_per_client") tfn = cost.get("total_for_n") if None not in (tpc, tfn) and tpc >= 0 and tfn >= 0: # can't infer N safely; trust validators upstream. This check is minimal by design. pass