assist v0.220.2
assist review surfaces reviewer failure details
When a reviewer in assist review failed — codex exiting non-zero, claude bailing early — the user got back a bare “codex CLI exited with code 1” with no context, which is useless for debugging. Added formatReviewerFailure that builds a structured diagnostic: exit code, elapsed time, trimmed stderr, and a “fast fail” hint when the process died in under a second (because that almost always means not-installed, not-authenticated, or misconfigured, and the suggested next steps — --version then login — short-circuit the usual flailing). If stderr is empty it falls back to the tail of stdout so the user has something to read.
Bunch of small refactor work alongside it to thread stdout/elapsed time through the failure path: attachStdoutTail keeps a bounded tail of each reviewer’s stdout, finaliseReviewerRun and handleChildClose carry the new fields, and printReviewerFailures runs the formatter for any non-zero exit. Tests cover both the fast-fail hint and the stdout-fallback branch.