from qitos.engine.states import CriticTrace
traces = []
for record in result.records:
for output in record.critic_outputs:
if not isinstance(output, dict):
continue
traces.append(CriticTrace(
step_id=record.step_id,
critic_name=str(output.get("critic_name", "unknown")),
action=str(output.get("action", "continue")),
reason=str(output.get("reason", "")),
score=float(output.get("score", 1.0)),
details=output.get("details", {}),
instruction_patch=output.get("instruction_patch"),
state_patch=output.get("state_patch"),
))