from simulator import run_one, BASE_WEIGHTS
W=dict(BASE_WEIGHTS); W.update({'empty':1.5625,'inflation':3.75,'reserve':3.125,'tardiness':1.5,'charger_wait':0.0,'priority':0.6})
kwargs=dict(seed=20260731,profile='combined_stress',policy='RCRD-no-wait',n_jobs=40,weights=W,fixed_target=True,config_label='smoke')
a=run_one(**kwargs); b=run_one(**kwargs)
keys=['mean_tardiness','p95_tardiness','on_time_rate','empty_ratio','horizon']
for key in keys:
    if a[key] != b[key]: raise AssertionError(f'Non-deterministic result for {key}: {a[key]} vs {b[key]}')
if a['infeasible_assignments'] != 0: raise AssertionError('Expected reserve screen failed')
print('SMOKE TEST PASSED')
for key in keys: print(f'{key}={a[key]}')
