mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-10-01 14:04:51 +02:00
arena: live-web episodes get one process each -- a single hang was poisoning whole rounds
AssistantBench pages make BrowserGym's obs extraction slow and flaky (context-destroyed retries, unmarked frames); one step-hang kill corrupted process-wide playwright state and every later episode instant-failed as infra. supervisor --isolate spawns one task per process, containing the blast radius. Step deadline raised to 150s for live pages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WsbS5x2rYsMDxP2kW3qqmQ
This commit is contained in:
co-authored by
Claude Fable 5
parent
c7b0982acc
commit
3ea7b93428
@@ -91,6 +91,9 @@ def main() -> None:
|
||||
# Resume window: episodes recorded after this epoch count as done, so a restarted supervisor
|
||||
# keeps the finished work of the run it replaces instead of re-running all 125.
|
||||
ap.add_argument("--since", type=float, default=0.0)
|
||||
# Live-web suites corrupt process-wide playwright state on a single hang; one task per process
|
||||
# contains the blast radius (measured: val.5 hang -> every later episode instant-failed).
|
||||
ap.add_argument("--isolate", action="store_true")
|
||||
args = ap.parse_args()
|
||||
args.log = args.log or f"/tmp/supervise_{args.arm}.log"
|
||||
|
||||
@@ -102,7 +105,8 @@ def main() -> None:
|
||||
if not remaining:
|
||||
break
|
||||
print(f"[supervisor] round {rnd}: {len(remaining)} tasks remaining", flush=True)
|
||||
proc = spawn(args.arm, remaining, args)
|
||||
batch = remaining[:1] if args.isolate else remaining
|
||||
proc = spawn(args.arm, batch, args)
|
||||
last_size = path.stat().st_size if path.exists() else 0
|
||||
last_change = time.time()
|
||||
while proc.poll() is None:
|
||||
|
||||
Reference in New Issue
Block a user