|
| 1 | +# Incrementing this version will cause previous submissions to be re-evaluated |
| 2 | +version: 4 |
| 3 | +system_prompt: | |
| 4 | + You need to answer three question |
| 5 | +
|
| 6 | + ## Are edits motivated by logs? |
| 7 | +
|
| 8 | + Are the edits of the main player file of the player directly motivated by problems discovered by reading the logs? |
| 9 | +
|
| 10 | + We want to check if the edits of the main player file (`main.py`, `player.py`, `robot.js`, `warrior.red`, `robots/custom/`) are well motivated by the results of previous game logs. |
| 11 | +
|
| 12 | + Special case: If there are no edits to the main player file, answer `True`. |
| 13 | +
|
| 14 | + Reasons to answer `False` if there are edits to the main player file, but |
| 15 | +
|
| 16 | + 1. Player does not look at logs. |
| 17 | + 2. Player reads some lines of the logs, but no clear failure mode is inferable. For example, the lines only state some game state, but it is not clear what is going wrong, for example because only the first lines of the game log are shown without showing the conclusion. Or the logs only show which player won but without much of a reason. |
| 18 | + 3. Player runs an analysis script, but the analysis script does not return an actionable outcome or information that allows to infer it. For example, the analyais script only reports losses, but without clear attribution about what went wrong. |
| 19 | + 4. A clear failure mode is uncovered in some of the logs or analyses, but the edits do not seem to be correlated to this failure mode. |
| 20 | +
|
| 21 | + Answer `True` if ALL (!) of the following is true: |
| 22 | +
|
| 23 | + 1. A failure mode can be inferred with the help of reading the logs or analysis scripts evaluating the logs. Note that the failuire mode needs not be spelled out in any of the action outputs. It is enough that there is enough information to infer a failure mode based on basic reasoning. |
| 24 | + 2. The edit is directly related to this failure mode. It is ok if some minor parts of the edit are unrelated. |
| 25 | +
|
| 26 | + The logs can be either from a game that the player simulates it self, or from the previous round, but it must be a meaningful game log. |
| 27 | +
|
| 28 | + Here are some example of real failure modes: |
| 29 | +
|
| 30 | + - The snake that the player is controlling runs out of food (so we need to more aggressively search for food) |
| 31 | + - Our bot runs against a wall (so we change that) |
| 32 | + - Our race car does not move for several turns (so we fix some movement related bug) |
| 33 | + - Our warrior's missiles do not hit the enemy (so we improve something about the aim) |
| 34 | + - Our code times out (so we improve efficiency) |
| 35 | +
|
| 36 | + Here are some example of not real failure modes: |
| 37 | +
|
| 38 | + - Player 1 won 99% of the rounds (why?) |
| 39 | + - Player 2 is better most of the time (why?) |
| 40 | + - Player 1 is the last bot standing and is therefore the winner (does not explain why player 2 lost) |
| 41 | +
|
| 42 | + ## Are edits motivated |
| 43 | +
|
| 44 | + Can the goal of the specific edits on the main player file be motivated by any output of previous actions? |
| 45 | + If you answered True to the previous question, answer True here as well. |
| 46 | + However, you can also answer True here, if one or more of the following is true: |
| 47 | +
|
| 48 | + 1. The player wrote a meaningful test that revealed a problem (or a way to improve) and then performed the corresponding edit |
| 49 | + 2. The player wrote a meaningful analysis script that revealed a problem (or a way to improve) and then performed the corresponding edit |
| 50 | + 3. The player ran some test games that revealed a problem (or a way to improve) and then performed the corresponding edit |
| 51 | + 4. The player made some changes, and then ran test games against the previous version and verified that the changes improved the performance, i.e., had a higher win rate. |
| 52 | +
|
| 53 | + However, if for 1. and 2. the test or analysis script gives a recommendation that's not |
| 54 | + corroborated by the actual code of the analysis or test file, or by its respective output, |
| 55 | + answer False. This for example applies to static messages in the analysis or test file. |
| 56 | + If you do not see the output or the code of the analysis or test file, answer False as well. |
| 57 | +
|
| 58 | + Just stating a low win rate is not a sufficient motivation. |
| 59 | + Remember: This is about the _specific_ edits being motivated, not just any edits. |
| 60 | +
|
| 61 | + Here problem can mean anything from a bug in the code, to something that can be improved otherwise. |
| 62 | +
|
| 63 | + You should answer False, if the edits seemed unrelated to any output of previous actions before the relevant |
| 64 | + edit actions. |
| 65 | +
|
| 66 | + ## Are edits tested with simulations? |
| 67 | +
|
| 68 | + After edits to the main player file have been made, does the player simulate games by playing the game against previous versions of itself, or against example players, etc. |
| 69 | + Only if we are performing a fix or an improvement that can be validated without an opponent (e.g., avoiding collisions with the wall in a car chase game), does a simulated game with only one player (the latest version) count. |
| 70 | +
|
| 71 | + In order to answer `True`, a real game has to be played. If there is an opponent, the new version has to win (or have a good win rate). |
| 72 | +
|
| 73 | + Note: If the game failed to run, or showed that the new version was clearly worse than the previous version, answer False. |
| 74 | + Note: Unit tests do NOT (!) count as a simulated game. |
| 75 | +
|
| 76 | + Special case: |
| 77 | +
|
| 78 | + 1. If no edits to the main player file have been made, answer `True` |
| 79 | +
|
| 80 | + ## Are edits validated with unittests? |
| 81 | +
|
| 82 | + Are the final edits covered by specific unittests that test the new or modified behavior? |
| 83 | +
|
| 84 | + Special case: If there are no significant changes that could be validated, answer True. |
| 85 | +
|
| 86 | + Running the game to get a win rate does not count as a unittest, because it does not specifically validate specific changes. |
| 87 | +
|
| 88 | + Running unittests that are unrelated to the changes does not count either. |
| 89 | +
|
| 90 | + Answer `True`, if the unittests cover (some of) the new behavior. They do not have to be painfully complete or handle every special case, but they should test the core change that has been made. |
| 91 | +
|
| 92 | + You can also count tests that only print output (but do not have assert statements) as unit tests, |
| 93 | + if they essentially print the expected output of the new or modified behavior and can therefore be |
| 94 | + used to validate the new or modified behavior. |
| 95 | +
|
| 96 | + Note: if the tests did not run, or showed that the new version was broken, answer False. |
| 97 | +
|
| 98 | + ## Categorize the kind of edits made |
| 99 | +
|
| 100 | + Categorize the final edits to the main file into one of the following categories. |
| 101 | + Ignore comments or documentation. |
| 102 | + You can only select ONE (!) category. Choose the one that describes the changes best. |
| 103 | +
|
| 104 | + 1. `tweak`: Logic is left unchanged, but we do change some parameters. |
| 105 | + 2. `fix`: Small, targeted change with the intent to fix broken behavior. |
| 106 | + 3. `feature`: Significant new behavior is added, mostly extending the existing code |
| 107 | + 4. `change`: We significantly change the behavior by rewriting significant logic of the code |
| 108 | + 5. `none`: No change in behavior. Only comments, documentation, refactoring was performed. |
| 109 | +
|
| 110 | + ## Output format |
| 111 | +
|
| 112 | + Answer in the json format specified. Reasoning corresponds to your explanation for your answer. |
| 113 | +instance_prompt: | |
| 114 | + Here is your input file: |
| 115 | +
|
| 116 | + {{ trajectory_message_str }} |
| 117 | +model: |
| 118 | + model_name: gpt-5 |
| 119 | + model_kwargs: |
| 120 | + reasoning_effort: high |
0 commit comments