evoproc_procedures.repairs

LLM-assisted repair helpers (backend-agnostic).

These functions use your pure validators to diagnose issues, then call a provided query_fn to ask an LLM to minimally fix the JSON so it validates.

They don’t import a specific backend; you pass a query_fn with signature:

query_fn(prompt: str, model: str, fmt: dict | None = None, seed: int | None = None) -> str

Functions

repair_procedure_structured(proc, *, model, ...)

Iteratively repair a procedure JSON until it passes validation.

evoproc_procedures.repairs.repair_procedure_structured(proc, *, model, query_fn, max_tries=10, print_diagnostics=False)[source]

Iteratively repair a procedure JSON until it passes validation.

Parameters:
  • proc (Dict[str, Any]) – Procedure JSON to repair.

  • model (str) – LLM model name.

  • query_fn (Callable[[str, str, Optional[Dict[str, Any]], Optional[int]], str]) – Backend function to call the LLM (see signature above).

  • max_tries (int) – Maximum number of repair attempts.

  • print_diagnostics (bool) – If True, prints diagnostics each loop.

Return type:

Dict[str, Any]

Returns:

A structurally valid procedure JSON.

Raises:

RuntimeError – If the procedure could not be validated after max_tries.