Another CRON headache: fwrite() expects parameter 1 to be resource, string given in … /WP_CLI/Loggers/Base.php
This one may have been something as simple as a bad username in my CRON script. I say may have been because scheduled jobs are running again, but not consistently. It seems that they run automatically whenever I'm logged into SHELL, but not when I'm logged out.

More to the point of this question, I'd been successfully using an email address as the username in the CRON script. This worked for about three days. When I changed the email address to the WP username, it started working again -- but only (I think) until logged out of SHELL. Currently I'm testing to verify a causal relationship, and if one exists, I'll post a new question.