Contributing
Adding a new tier
- Define a new
TierConfiginstance inenv/models.py(follow the pattern ofTIER_EASY/MEDIUM/HARD). - Register it in
WildfireEnv.TIER_MAPinenv/wildfire_env.py. - Add a grader in
graders/grader_<name>.pyreturning(total_reward, details_dict). - Add the task to
openenv.yamlundertasks:.
Adding a new action type
- Add the enum value to
ActionTypeinenv/models.py. - Add parameter validation to
Action.validate_params()in the same file. - Handle the new action in
WildfireEnv._execute_action()inenv/wildfire_env.py. - Add regex extraction for the new type in
env/action_parser.pyLayer 2. - Add at least one test in
tests/test_action_parser.py.
Where tests live
All tests are in tests/. Run with:
pytest tests/ -v --cov=env
Each prompt has a corresponding test file (e.g. test_reward.py, test_briefing.py). Add new tests to the relevant file or create a new one if the feature is standalone.