alibaba/open-code-review · error

review failed: %d of %d selected item(s) failed

Error message

review failed: %d of %d selected item(s) failed

What it means

Per the exit contract, a review exits non-zero only when every selected item failed. This error reports that count (N of M selected) — the run was not aborted at run level, but each individually reviewed item failed, so no usable coverage exists despite the run completing.

Source

Thrown at cmd/opencodereview/review_cmd.go:333

	if manifest != nil && manifest.TerminalState == session.StateFailed {
		// The exit contract is: non-zero only for a run-level failure, or when
		// every selected item failed. Any usable coverage — even incomplete — exits
		// 0, so complete/partial/skipped all succeed and only failed lands here.
		// That makes a budget stop exit 0 whenever anything was covered (it is a
		// controlled truncation recording no run_failure) and non-zero only when
		// the cap left nothing covered at all. Partial results are published
		// regardless: runReview emits the frozen manifest before this error decides
		// the exit status.
		//
		// Reasons stored in the manifest already went through sanitizeReason, so
		// they are safe to echo on stderr.
		if rf := manifest.RunFailure; rf != nil {
			if rf.Reason != "" {
				return fmt.Errorf("review failed (%s): %s", rf.Classification, rf.Reason)
			}
			return fmt.Errorf("review failed (%s)", rf.Classification)
		}
		return fmt.Errorf("review failed: %d of %d selected item(s) failed",
			len(manifest.Coverage.Failed), len(manifest.Coverage.Selected))
	}
	return nil
}

func loadReviewResumeState(repoDir string, opts reviewOptions) (*session.ResumeState, error) {
	if opts.resume == "" {
		return nil, nil
	}
	current := session.SessionOptions{
		ReviewMode: reviewModeFromOptions(opts),
		DiffFrom:   opts.from,
		DiffTo:     opts.to,
		DiffCommit: opts.commit,
	}
	if current.ReviewMode == session.ReviewModeWorkspace {
		return nil, fmt.Errorf("resume requires --from/--to or --commit; workspace resume is not supported")
	}

View on GitHub (pinned to 5cf97d0d15)

Solutions

  1. Some or all selected review items failed while the run itself completed; check the Failed list in the emitted manifest
  2. Retry the failed items — e.g. re-run with the same --from/--to or --commit, or resume the session
  3. Investigate item-specific errors (usually LLM or diff-reading failures) reported per item
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cmd/opencodereview/review_cmd.go:333 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of alibaba/open-code-review@5cf97d0d15 (2026-09-02). Data as JSON: /api/errors/4213d5d4e7646dd3. Report an issue: GitHub.