rb125 commited on
Commit
d212e65
·
1 Parent(s): 2a83009

fix: AS override with print logging, add round sleep

Browse files
Files changed (2) hide show
  1. server/api.py +3 -0
  2. server/live_runner.py +9 -8
server/api.py CHANGED
@@ -92,6 +92,9 @@ def _run_economy(num_rounds: int, initial_balance: float):
92
  runner._round_summaries.append(round_results)
93
  step_events = runner.economy.step()
94
 
 
 
 
95
  safety = runner.economy.aggregate_safety()
96
  agents_snapshot = {}
97
  for aid, mname in runner.agent_model_map.items():
 
92
  runner._round_summaries.append(round_results)
93
  step_events = runner.economy.step()
94
 
95
+ import time
96
+ time.sleep(2) # Pace rounds to prevent temporal decay runaway
97
+
98
  safety = runner.economy.aggregate_safety()
99
  agents_snapshot = {}
100
  for aid, mname in runner.agent_model_map.items():
server/live_runner.py CHANGED
@@ -465,21 +465,22 @@ class LiveSimulationRunner:
465
  # --- Step 2: Framework API scores (fallback) -------------------------
466
  pre = self._load_precomputed(model_name, agent_id)
467
  if pre is not None:
468
- # If AS from framework API is suspiciously low, override with default
469
- if pre.as_ < 0.30 and fallback.as_ > pre.as_:
470
- pre = RobustnessVector(cc=pre.cc, er=pre.er, as_=fallback.as_, ih=pre.ih)
471
- logger.info(f" {model_name}: AS overridden with default ({fallback.as_:.3f}) — framework API returned < 0.30")
 
 
 
472
  self._audit_quality[model_name] = {
473
  "source": "framework_api",
474
  "dims_real": ["cc", "er", "as", "ih"],
475
  "dims_defaulted": [],
476
  }
477
- return pre
478
 
479
  # --- Step 3: No data available — use DEFAULT_ROBUSTNESS ---------------
480
- logger.warning(
481
- f"{model_name}: No audit data from APIs. Using DEFAULT_ROBUSTNESS."
482
- )
483
  self._audit_quality[model_name] = {
484
  "source": "default",
485
  "dims_real": [],
 
465
  # --- Step 2: Framework API scores (fallback) -------------------------
466
  pre = self._load_precomputed(model_name, agent_id)
467
  if pre is not None:
468
+ # Always use DEFAULT_ROBUSTNESS AS if framework returns < 0.30
469
+ as_val = pre.as_
470
+ if as_val < 0.30 and fallback.as_ > as_val:
471
+ as_val = fallback.as_
472
+ print(f"[CGAE] {model_name}: AS overridden {pre.as_:.3f} -> {as_val:.3f}", flush=True)
473
+ result = RobustnessVector(cc=pre.cc, er=pre.er, as_=as_val, ih=pre.ih)
474
+ print(f"[CGAE] {model_name}: CC={result.cc:.3f} ER={result.er:.3f} AS={result.as_:.3f} IH={result.ih:.3f}", flush=True)
475
  self._audit_quality[model_name] = {
476
  "source": "framework_api",
477
  "dims_real": ["cc", "er", "as", "ih"],
478
  "dims_defaulted": [],
479
  }
480
+ return result
481
 
482
  # --- Step 3: No data available — use DEFAULT_ROBUSTNESS ---------------
483
+ print(f"[CGAE] {model_name}: using defaults CC={fallback.cc:.3f} ER={fallback.er:.3f} AS={fallback.as_:.3f} IH={fallback.ih:.3f}", flush=True)
 
 
484
  self._audit_quality[model_name] = {
485
  "source": "default",
486
  "dims_real": [],