Spaces:
Sleeping
Sleeping
| """Deterministic scripted baseline for the honest narrow incident environment.""" | |
| from __future__ import annotations | |
| import argparse | |
| import json | |
| from ..client import UnifiedIncidentEnv | |
| from ..server.challenge import DEFAULT_SCENARIO_ID, SCENARIOS, list_baselines | |
| def plan_for_scenario(scenario_id: str): | |
| catalog = list_baselines(scenario_id) | |
| return [step.action for step in catalog.baselines[0].actions] | |
| def run_scenario(base_url: str, scenario_id: str) -> dict[str, object]: | |
| with UnifiedIncidentEnv(base_url=base_url).sync() as env: | |
| env.reset(scenario_id=scenario_id) | |
| final = None | |
| for action in plan_for_scenario(scenario_id): | |
| final = env.step(action).observation | |
| assert final is not None | |
| return { | |
| "scenario_id": scenario_id, | |
| "success": bool(final.done and final.incident_resolved), | |
| "final_score": final.final_score, | |
| "workflow_stage": final.workflow_stage, | |
| } | |
| def main() -> None: | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--base-url", default=UnifiedIncidentEnv.DEFAULT_BASE_URL) | |
| parser.add_argument("--scenario", choices=sorted(SCENARIOS), default=DEFAULT_SCENARIO_ID) | |
| args = parser.parse_args() | |
| results = [run_scenario(args.base_url, args.scenario)] | |
| print(json.dumps(results, indent=2)) | |
| if __name__ == "__main__": | |
| main() | |