Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import argparse | |
| import json | |
| from pathlib import Path | |
| import sys | |
| ROOT = Path(__file__).resolve().parents[1] | |
| if str(ROOT) not in sys.path: | |
| sys.path.insert(0, str(ROOT)) | |
| from incident_commander_env.orchestration import run_multi_agent_episode | |
| def main() -> None: | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--scenario", default="payment_provider_degradation") | |
| parser.add_argument("--seed", type=int, default=None) | |
| parser.add_argument("--json", action="store_true") | |
| args = parser.parse_args() | |
| result = run_multi_agent_episode(scenario_id=args.scenario, seed=args.seed) | |
| if args.json: | |
| print(json.dumps(result.to_dict(), indent=2)) | |
| return | |
| print(result.incident) | |
| print("\nSpecialist findings:") | |
| for finding in result.findings: | |
| print(f"- {finding.agent} ({finding.focus}, confidence={finding.confidence:.2f})") | |
| print(f" {finding.conclusion}") | |
| print("\nParent commander decision:") | |
| print(f"Root cause: {result.root_cause}") | |
| print(f"Mitigation: {result.mitigation}") | |
| print(f"Customer update: {result.customer_update}") | |
| print(f"Reward: {result.reward:.3f}") | |
| print(f"Score breakdown: {result.score_breakdown}") | |
| if __name__ == "__main__": | |
| main() | |