How does MinKNOW classify 1D reads as "pass" or "fail"?
The classification is indeed based purely on comparing a mean to a threshold... but it's not the mean of the Phred scores that represent base quality on a logarithmic scale, but rather the mean of the underlying quality values prior to being transformed into Phreds.

If I compute the "mean" quality for a read in this way - by converting each Phred in the read back to a probability, taking the mean of those probabilities, and then converting that mean probability to a Phred - I find that whether a read is a pass or fail is determined by comparing that score to a threshold of 7:



A mean quality score computed in this way is also included in the mean_qscore_template column of the sequencing summary file. If you open that file in a spreadsheet program (it's just a TSV) and sort by mean_qscore_template, you will find that the passes_filter column is always FALSE for mean_qscore_template values below 7 and always TRUE for values above 7.

(Hat tip to Wouter De Coster for successfully guessing that this was the answer in the comments and pointing me on the right path.)