| 429 | |
| 430 | |
| 431 | def policy_stats(agent_class: type) -> dict[str, Any]: |
| 432 | controllers = getattr(agent_class, "_policy_controllers", []) |
| 433 | return { |
| 434 | "decisions": sum(controller.decisions for controller in controllers), |
| 435 | "policy_errors": sum(controller.policy_errors for controller in controllers), |
| 436 | "invalid_decisions": sum(controller.invalid_decisions for controller in controllers), |
| 437 | "disabled_policies": sum(1 for controller in controllers if controller.disabled), |
| 438 | "policy_error_samples": [sample for controller in controllers for sample in controller.error_samples[:2]][:5], |
| 439 | } |
| 440 | |
| 441 | |
| 442 | def close_policies(agent_classes: dict[str, type]) -> None: |