Hi, everyone. Inspired by Robin, I've started working on scripts to verify old Gentoo election results. Since our election mechanism is apparently the same as used by Debian, it seemed an obvious choice to use the Debian tooling (devotee) to verify our results.
I've been able to successfully 'convert' our elections to a minimal set of files needed to get devotee running, and wrap it via loop-script to get full election results (apparently devotee only finds the top winner while we want the complete ranked list) [1]. I've been able to successfully verify most of the Gentoo elections using that. However, I've hit two problems. Firstly, there is a result mismatch for council-201206 election. More specifically, the countify results are: [["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["ulm"], ["betelgeuse"], ...] While devotee considers ulm and betelgeuse tied: [["dberkholz"], ["grobian"], ["chainsaw"], ["scarabeus"], ["betelgeuse", "ulm"], ...] Secondly, a number of elections fail midway. More specifically, devotee doesn't output any winners at some stage. This specifically applies to: council-201706 (fails after tamiko) council2005 (fails after Koon) council200906 (fails after lu_zero) metastructure2005 (fails after Oldschool-small) That said, devotee outputs a lot of perl warnings and the code [2] doesn't seem to have been updated for a while now. Both issues seem to happen around 'weakest defeat' removal, so the bug might be there. I'd really appreciate if someone enjoying Perl code could help me figure out what's wrong -- and more specifically, whether it's some 'bad Perl' issue, disjoint algorithm or something entirely different. Quick tip on using: # note: current version of Perl seems to be buggy # I had to do: cpan install Math::BigInt git clone https://github.com/mgorny/election-compare.git cd election-compare git submodule init git submodule update ./run-countify.py -v council-201206 2>countify-out.txt ./run-devotee.py -v council-201206 2>devotee-out.txt Then the *-out.txt files contain complete output from tools ran. TIA. [1]:https://github.com/mgorny/election-compare [2]:https://vote.debian.org/~secretary/devotee.git/ -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part