ci/woodpecker/pr/ci Pipeline was successful
Pipeline 2637 red on a SECOND needle arm (home_case symlink message) proved the flake shape is not one site: every 'if ! ... | grep -Fq' assertion in the harness printed the identical FAIL line for a transient grep failure (rc>=2, fork/alloc under node pressure) and a real mismatch. The retry/classify helper is hoisted to one shared function and applied at all three needle sites (fixture loop, home_case, standalone case): retry tool errors 3x, rc=1 is the real mismatch, persistent tool failure reports TOOL-ERROR (fail stays 1). 292/292 x2 + busybox.