corp-env / tests /test_pipeline.py
Navigam's picture
feat: update README and runbook for SFT and GRPO training enhancements
6b13adb
Raw
History Blame Contribute Delete
2.95 kB
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()