Nice article! One minor nitpick: rounding the noisy plaintext is part of decryption (in fact, the hardest part!) and you treat it as part of decoding a plaintext.<p>If rounding were not part of decryption, then one could implement bootstrapping without all that blind rotate magic, because the first step in bootstrap is to homomorphically apply b - <a,s>, and that is purely a linear operation. Sec 5.2 of <a href="https://eprint.iacr.org/2021/1402" rel="nofollow">https://eprint.iacr.org/2021/1402</a> explains this in a bit more detail.