Deva22467/govt-scheme-openenv
0
1from env import SchemeEnv2from run_agent import RuleBasedBaselineAgent3 4def run_validation():5 print("Running Formal Trajectory Validation...")6 env = SchemeEnv(seed=42)7 agent = RuleBasedBaselineAgent()8 9 total_reward = 0.010 episodes = 511 12 for i in range(episodes):13 obs = env.reset()14 done = False15 episode_reward = 0.016 17 while not done:18 action = agent.act(obs)19 obs, reward, done, info = env.step(action)20 episode_reward += reward21 assert reward >= 0.0, f"Negative Step Output: {reward}"22 23 print(f"Episode {i+1}: Task [{getattr(obs, 'task', 'None')}], Cumulative Reward: {episode_reward:.2f}, Final Stage: {info.get('stage')}")24 25 assert 0.0 <= episode_reward <= 1.0, f"Reward {episode_reward} out of bounds!"26 assert done is True, "Episode lock failed to trigger."27 assert "eligible_score" in info, "Missing logging schema."28 29 total_reward += episode_reward30 31 avg_reward = total_reward / episodes32 print("-" * 30)33 print(f"Validation Completed!")34 print(f"Final Average Reward: {avg_reward:.2f}")35 assert 0.0 <= avg_reward <= 1.0, "Score calculation failed bounds."36 37if __name__ == "__main__":38 run_validation()39 