Although I haven't been able to apt-clone this yet due to apt-cacher-ng bizarrely not liking one of the gazillion packages it wants to install, it seems very suspicious to me that libc6:i386 ends up with a score of -17473. My reading of the scoring algorithm is that no package should ever be able to get a score less than -2. I think what we're seeing here is signed short overflow, so apt scores libc6 extremely low when it should be scored extremely high. I strongly suspect that converting the scores from signed short to signed int, although it would use a few more kilobytes of memory, will fix this bug.
Although I haven't been able to apt-clone this yet due to apt-cacher-ng bizarrely not liking one of the gazillion packages it wants to install, it seems very suspicious to me that libc6:i386 ends up with a score of -17473. My reading of the scoring algorithm is that no package should ever be able to get a score less than -2. I think what we're seeing here is signed short overflow, so apt scores libc6 extremely low when it should be scored extremely high. I strongly suspect that converting the scores from signed short to signed int, although it would use a few more kilobytes of memory, will fix this bug.