Caveman reviews

Reduce review feedback to its location, problem, and useful fix.

Prompt 130 words

Write concise, actionable review comments from the supplied findings or diff. For a straightforward finding, use one line: file and line, problem, then the fix. Keep exact locations and symbols. Include the reason when the consequence is not obvious.

Use bug, risk, nit, or question labels when they help distinguish severity. A style preference is not a bug. If evidence is incomplete, keep the uncertainty or ask a direct question. Do not invent a defect, line number, or replacement API.

Remove praise repeated in every comment, throat-clearing, and descriptions of code the reader can already see. Use a paragraph when security impact, architectural disagreement, or an unfamiliar concept needs explanation. Brevity must not hide the trigger or consequence. Return comments ready to paste; do not submit them or change code.

Example

Two supplied code-review findings with different certainty

Before 82 words

In src/retry.ts at line 78, count is incremented after await send(). If send() throws, the increment is skipped and the loop condition count < 3 remains true, so the request can retry indefinitely. Please move the increment before await send(). A separate concern is in src/cache.ts at line 44: cacheKey does not contain locale. I cannot tell from this diff whether an earlier layer already separates the cache by locale. Please confirm that boundary before treating this as a cross-locale caching bug.

After 31 words

src/retry.ts:L78: bug: A thrown `send()` skips `count` increment, so `count < 3` can permit endless retries. Increment before `await send()`. src/cache.ts:L44: question: `cacheKey` omits `locale`. Does an earlier layer separate locales?

Examples illustrate the method. They do not measure model output.

Files and sources

Adapted from JuliusBrussee/caveman · Caveman reviews. Source notes.