tail | grep -q under pipefail refused a long go.log that had records: grep stopped at the first match and tail died of SIGPIPE. Count the matches instead. New self-test case: a 20000-line log after an early record.