open-code-review/cmd
Gongyl01 3b11812fff
Some checks are pending
CI / test (push) Waiting to run
CI / cross-compile (arm64, windows) (push) Waiting to run
CI / windows (push) Waiting to run
CI / cross-compile (amd64, darwin) (push) Waiting to run
CI / cross-compile (amd64, windows) (push) Waiting to run
CI / cross-compile (arm64, darwin) (push) Waiting to run
CI / cross-compile (arm64, linux) (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
feat(cli): clarify LLM request failures by review stage (#1022)
* feat(cli): group the LLM retry report by review stage

Make the text retry report easier to scan by grouping noteworthy LLM requests only by review stage. Replace internal task_type and request_no labels with human-readable stage names and error phrases, render each request on one line, and make the summary explicit that failed outcomes are request failures.

Within each stage, list failed requests before recovered requests and sort matching outcomes by path. Cap each stage at five entries while keeping full details in JSON.

Keep the change rendering-only: the retry report schema, manifest wording, JSON fields, warnings, and retry behavior remain unchanged.

* test(cli): align retry report assertions

* fix(cli): handle retry report edge cases

* style(cli): keep the retry report terminal output ASCII-only

The grouped report introduced U+2192 and U+2014 as separators. Both pass
english-check (it tests for letters, not for non-ASCII bytes), but they
render as replacement glyphs on a terminal that is not UTF-8 and they
break a habitual grep for "-> failed".

The arrow returns to "->", as it was before the regrouping. The two em
dashes cannot both become "--" without reading oddly, so the entry
separator becomes ":" -- the form the flat listing used, and the one that
reads as "this file: this is what happened to it" -- while the summary
line keeps a dash as "--".

Terminal rendering only. The JSON report never went through this path:
outputJSONWithWarnings encodes llm.RetryReport directly, so error_class
stays the raw enum and attempts stays a structured array.

---------

Co-authored-by: kite <lizhengfeng.lzf@alibaba-inc.com>
2026-08-21 20:04:33 +08:00
..
opencodereview feat(cli): clarify LLM request failures by review stage (#1022) 2026-08-21 20:04:33 +08:00