from __future__ import annotations import os import unittest from scripts._trajectory_utils import oracle_actions, replay_actions from server.environment import CorpEnvironment from server.verifiers import verify_e1, verify_m1 class PipelineSmokeTests(unittest.TestCase): def setUp(self) -> None: os.environ["CORP_STUB_WORKERS"] = "1" os.environ["CORP_DISABLE_LLM_JUDGE"] = "1" def test_oracle_e1_replays_cleanly(self) -> None: result = replay_actions( example_id="test-e1", task_id="e1_launch_readiness", actions=oracle_actions("e1_launch_readiness"), ) self.assertEqual(result.status, "clean") self.assertGreaterEqual(result.terminal_reward, 0.65) self.assertTrue(all(result.verifier_result.values())) def test_oracle_m1_replays_cleanly(self) -> None: result = replay_actions( example_id="test-m1", task_id="m1_budget_reallocation", actions=oracle_actions("m1_budget_reallocation"), ) self.assertEqual(result.status, "clean") self.assertGreaterEqual(result.verifier_pass_rate, 5 / 6) def test_oracle_h1_variants_replay_cleanly(self) -> None: for v in (0, 5, 11): with self.subTest(variant=v): result = replay_actions( example_id=f"test-h1-{v}", task_id="h1_acquisition_defence", actions=oracle_actions("h1_acquisition_defence", v), ) self.assertEqual(result.status, "clean") self.assertGreaterEqual(result.verifier_pass_rate, 7 / 11) def test_invalid_trajectory_is_rejected(self) -> None: result = replay_actions( example_id="bad", task_id="e1_launch_readiness", actions=[{"action_type": "finalize", "payload": "GO"}], ) self.assertEqual(result.status, "rejected") def test_verifier_e1_requires_qa_and_final(self) -> None: env = CorpEnvironment() swd = env.reset(task_id="e1_launch_readiness").swd checks = verify_e1(swd) self.assertFalse(checks["qa_report_present"]) self.assertFalse(checks["final_rec_valid"]) def test_verifier_m1_budget_terms(self) -> None: swd = { "agent_reports": {"dev": "ok", "finance": "ok"}, "conflicts_identified": [{"id": "c1"}], "conflict_resolutions": [{"conflict_id": "c1"}], "decisions": [], "reasoning_log": [{"turn": 1, "text": "budget and runway are constrained"}], "final_recommendation": {"phase_1": "limited GPU purchase"}, } checks = verify_m1(swd) self.assertTrue(checks["required_agents_consulted"]) self.assertTrue(checks["budget_constraint_acknowledged"]) self.assertTrue(checks["phased_plan"]) if __name__ == "__main__": unittest.main()