GLM 5.2 vs GPT-5.6 Terra for code review
GPT-5.6 Terra wins, 95–87
Same 12 code review tasks, marked blind by three rival labs. GPT-5.6 Terra took 7 tasks, GLM 5.2 took 1, 4 tied. Tested 18 Aug 2026.
Where they differed most
Review this function. Context you can rely on, because it is validated upstream: `customers` and `outcodes` are always arrays; every customer object has a `postcode` property that is either a string or null; postcodes are stored either with or without the space ('SW1A 1AA' or 'SW1A1AA'); the required behaviour is to return the customers whose outward code matches one of `outcodes`, case-insensitively. function filterByOutcode(customers, outcodes) { const wanted = new Set(outcodes.map(o => o.trim().toUpperCase())); return customers.filter(c => { const pc = (c.postcode || '').trim().toUpperCase(); if (pc.length < 5) return false; const outward = pc.includes(' ') ? pc.split(' ')[0] : pc.slice(0, -3); return wanted.has(outward); }); } Give your review. If there are defects, list them by severity with the input that triggers each one. If there are none, say so plainly and briefly — do not manufacture a defect to look thorough, and do not dress a style preference up as a bug.
The function is correct and robustly handles the specified context. There are no defects. The logic correctly handles: - Null postcodes (via `c.postcode || ''`). - Case-insensitivity (via `.toUpperCase()` on both the outcodes and the postcode). - Postcodes with and without spaces (via the ternary check for `' '`). - Short postcodes (the `pc.length < 5` check safely filters out invalid/empty strings without throwing errors, since the shortest valid UK postcode without a space is 5 characters, e.g., `M11AA`).
No defects under the stated contract. It correctly normalizes case and surrounding whitespace, handles both spaced and unspaced postcode formats, excludes `null` postcodes, and matches outward codes against the normalized `outcodes` set.
Task by task
| Task | GLM 5.2 | GPT-5.6 Terra |
|---|---|---|
| The pagination that skips page one | 8 | 9 |
| Nothing wrong with it | 8 | 10 |
| Three things wrong in six lines | 9 | 9 |
| Two customers, one last item | 9 | 9 |
| Rank by what breaks | 8 | 10 |
| The review, as JSON | 8 | 10 |
| Slow is not the same as wrong | 10 | 9 |
| Overdue at one in the morning | 7 | 9 |
| Write only the comment | 10 | 10 |
| The complaint that is not a defect | 8 | 9 |
| Right, and unusable | 10 | 10 |
| Refuse the rubber stamp | 9 | 10 |
Full receipts: GLM 5.2, GPT-5.6 Terra · judges claude-sonnet-5, gemini-3.1-pro-preview, gpt-5.6-terra
Questions people ask
Which is better for code review: GLM 5.2 or GPT-5.6 Terra?
GPT-5.6 Terra — it scored 95/100 against 87/100 on our 12-task code review suite, winning 7 tasks to 1 with 4 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.6 Sol vs GPT-5.6 Terra · GLM 5.2 vs GPT-5.6 Sol · GPT-5.6 Luna vs GPT-5.6 Terra · GLM 5.2 vs GPT-5.6 Luna · GPT-5.3-Codex vs GPT-5.6 Terra · GPT-5.5 vs GPT-5.6 Terra
Full ranking: Best AI for code review · model pages: GLM 5.2, GPT-5.6 Terra