DeepSeek V4 Pro vs GPT-5.6 Sol for code review
GPT-5.6 Sol wins, 96–78
Same 12 code review tasks, marked blind by three rival labs. GPT-5.6 Sol took 7 tasks, DeepSeek V4 Pro took 0, 5 tied. Tested 18 Aug 2026.
Where they differed most
Review this function. Context you can rely on: `page` is 1-based — the public API docs promise that page=1 returns the first page; `items` is always an array and may be empty; `perPage` is taken straight from a query string. function pageOf(items, page, perPage) { const start = page * perPage; const rows = items.slice(start, start + perPage); const lastPage = Math.ceil(items.length / perPage); return { rows, total: items.length, lastPage, hasNext: page <= lastPage }; } List the real defects, most damaging first, and for each one say what a user of the API would actually SEE — not what the code does, what they notice. Then give the corrected function. Do not list style preferences as defects.
## Real Defects (most damaging first) ### 1. **Off-by-one in `start` calculation — returns wrong page of data** **What the user sees:** When they request `page=1`, they get the *second* page of results instead of the first. If there are 10 items per page and 25 total items, `page=1` returns items 11–20 instead of items 1–10. The first page of data is completely inaccessible. ### 2. **`hasNext` is inverted — wrong pagination indicator** **What the user sees:** On every page *except* the last one, `hasNext` returns `false`. On the last page, `h…
### Defects, most damaging first 1. **`perPage` is used as a string** - `page * perPage` coerces it to a number, but `start + perPage` performs string concatenation. - **What users see:** with `page=1&perPage=10` and 100 items, the API returns items 11–100—90 rows instead of 10. 2. **The offset treats a 1-based page number as 0-based** - The first page must start at `(page - 1) * perPage`. - **What users see:** even if `perPage` is supplied as a number, page 1 omits the first `perPage` items, and every page is shifted forward. 3.…
Task by task
| Task | DeepSeek V4 Pro | GPT-5.6 Sol |
|---|---|---|
| The pagination that skips page one | 3 | 9 |
| Nothing wrong with it | 8 | 10 |
| Three things wrong in six lines | 9 | 9 |
| Two customers, one last item | 5 | 10 |
| Rank by what breaks | 8 | 9 |
| The review, as JSON | 7 | 10 |
| Slow is not the same as wrong | 8 | 10 |
| Overdue at one in the morning | 8 | 10 |
| Write only the comment | 10 | 10 |
| The complaint that is not a defect | 9 | 9 |
| Right, and unusable | 10 | 10 |
| Refuse the rubber stamp | 9 | 9 |
Full receipts: DeepSeek V4 Pro, GPT-5.6 Sol · judges claude-sonnet-5, gemini-3.1-pro-preview, gpt-5.6-terra
Questions people ask
Which is better for code review: DeepSeek V4 Pro or GPT-5.6 Sol?
GPT-5.6 Sol — it scored 96/100 against 78/100 on our 12-task code review suite, winning 7 tasks to 0 with 5 tied. Every answer was marked blind by three judges from three rival AI labs.
How was this tested?
Both models answered the identical published code review tasks. Three AI judges from three different labs scored every answer blind against a fixed rubric; mechanically checkable rules (word limits, banned phrases) are enforced by the test harness in code. The raw outputs and judge verdicts are downloadable.
More code review head-to-heads: GPT-5.5 vs GPT-5.6 Sol · Claude Sonnet 5 vs GPT-5.6 Sol · GPT-5.6 Sol vs Grok 4.5 · GLM 5.2 vs GPT-5.6 Sol · GPT-5.6 Sol vs Kimi K3 · Gemini 3.1 Pro Preview vs GPT-5.6 Sol
Full ranking: Best AI for code review · model pages: DeepSeek V4 Pro, GPT-5.6 Sol