Today each lens child fires once. If a child fails to spawn or returns non-zero, that lens contributes 0 findings but the verdict still computes — silently downgraded review.
Match the opencode contract: retry per lens up to 3 times; if a lens still fails after retries, block the verdict and surface the failure explicitly. Track in runLensReview state, not in the prompt. See extension/src/lens-review.ts.
Today each lens child fires once. If a child fails to spawn or returns non-zero, that lens contributes 0 findings but the verdict still computes — silently downgraded review.
Match the opencode contract: retry per lens up to 3 times; if a lens still fails after retries, block the verdict and surface the failure explicitly. Track in
runLensReviewstate, not in the prompt. Seeextension/src/lens-review.ts.