fle2_crud.js performs reads from two different collections using two different clients (one for the encrypted collection and another for the unencrypted). Because these two reads don't use the same causally consistent session, the test does not have a monotonic reads guarantee. which the 'readsDocs' state requires.
fle2_crud.js should issue reads for both collections under the same causally consistent session.