The logic here is somewhat reliant on the PAT calibration. See https://github.com/votingworks/vxsuite/issues/6706#issuecomment-3498535714 and MarkScan implementation. Pulled out of https://github.com/votingworks/vxsuite/issues/6706