While running of the contest, we found a few entries were being disqualified for sending plans that planned for irrelevant bots, in particular, plans for clean cops during the dirty cop planning or plans for the robber during clean cop planning. A quick look at the specification showed that the implementation of the server and the specification disagreed! The specification allowed such messages, but the server did not.
So we changed the server to allow such plans, but to filter out irrelevant bots when sending the messages back to the other players. The rationale was that other bots might have assumed that irrelevant bots do not appear in the planning messages and if such bots were to show up, it might violate some assumption in their implementations.
Unfortunately, the implementation of the filtering had a bug that was only discovered after the contest was over (Thanks to Anton Orlov for pointing it out!). In addition to filtering out irrelevant cop bodies, it also filtered out any cop body that wasn't also a cop brain. That is, cop bodies that were controlled by other cop bodies were always filtered out, even if they were relevant to the message.
Fixing the bug in the server itself was simple, once we knew what the bug was. Download and try out the new BDK and/or read its source code, if you're interested.
But, of course, the server dropping the names of the controlled cops from the messages might have had an effect on the outcome of the pods. So, we decided to re-run every affected pod and see if the results changed. The bottom line: the only change was that the 8th and 9th place teams in the twist playoffs switched position.
Below is the list of the teams, as run in the original, buggy server. The only ordering difference from the
fixed playoff results is that the 8th and 9th place teams switched places.