Head to head: Sakana: Fugu Ultra vs GLM 5.2 Sakana: Fugu Ultra beat GLM 5.2 by a score of 107.9 to 96.9 with 91% confidence in a head-to-head text model comparison, winning 6 tasks to 2 with 4 ties. The evaluation used 12 fresh text tasks judged twice by OpenAI: GPT-5.6 Sol to cancel position bias, and Fugu Ultra proved more robust and dependable across code, technical reasoning, and summarization tasks, while GLM 5.2 showed strengths in localization and constraint scheduling. The topline is decisive: Fugu Ultra wins 107.9 to 96.9, with 91% confidence . That matches the task count too — 6 wins to 2, with 4 ties — and the pattern matters more than the raw margin. Fugu Ultra didn’t just edge ahead on style points; it repeatedly produced answers that were more robust, more faithful to the prompt, and less likely to break in real use. The clearest separation showed up in code and technical reasoning. Fugu Ultra was better on the Python cache bug, the JavaScript group-by-day task, and the dense-passage summary because it handled edge cases and underlying mechanics more cleanly. It also took meeting-notes summarization and precise proofreading by being more complete and more exact. That’s the profile of a model that tends to do the unglamorous but important work correctly: sorting logic, UTC handling, faithful compression, and format-sensitive edits. GLM 5.2 did earn real wins, but they were narrower. It was better on the localization task, where its European Spanish toast copy sounded more natural and mobile-friendly, and on the constraint-scheduling puzzle, where it explained the uniqueness of the solution more convincingly. Those are legitimate strengths — fluency and tidy justification — but they weren’t enough to offset Fugu Ultra’s broader advantage on higher-stakes execution. The ties don’t rescue GLM. On LRU cache and warehouse reasoning, the judging notes themselves show some inconsistency across passes, which is exactly why they ended as ties rather than meaningful points for either side. On contradiction-finding and SQL, both models were simply good enough. Strip those out, and the remaining signal still points one way: Fugu Ultra was the stronger, more dependable model across this test set. Final call: Sakana: Fugu Ultra is the better text model here, and this is a clear win — not a squeaker. GLM 5.2 has nicer touch in a couple of language-heavy moments, but Fugu Ultra is the one I’d trust more across mixed real-world workloads. How they were tested We ran 12 fresh text tasks, generated on the fly for this matchup so neither model could prepare in advance, and had OpenAI: GPT-5.6 Sol score each one. To cancel position bias, every task was judged twice — once in each presentation order — and every number reported here, including the headline totals, is the average of both passes. Sakana: Fugu Ultra scored 107.9 to GLM 5.2's 96.9. 1. Localization with tone Translate this app onboarding line into natural, friendly European Spanish suitable for a mobile toast keep it under 60 characters, no exclamation marks : "You're all set — your first backup starts tonight." Return only the translation, then the character count in parentheses. Winner: GLM 5.2 — Model B sounds more natural and friendly for a mobile toast in European Spanish while staying concise and within the limit. Model A is accurate, but "copia de seguridad" feels heavier and less toast-like than Model B’s smoother phrasing. Second judge pass, order swapped — scores are the average of both: Model B is more natural and toast-friendly in European Spanish, with a concise, friendly tone and an accurate character count under the limit. Model A is also correct and within length, but "Ya está" sounds slightly less idiomatic here and "copia de seguridad" is bulkier for a mobile toast. 2. python-cache-bug Debugging & code review Python : The function should return the top k product IDs by total quantity sold, sorted by quantity descending then product ID ascending. It sometimes returns duplicates or misses products. Find the bug, fix it, and return the corrected code only. python from collections import defaultdict def top k products lines, k : totals = defaultdict int for product id, qty in lines: totals product id += qty ranked = for product id, total in totals.items : ranked.append total, product id ranked.sort reverse=True if len ranked = k: ranked = ranked :k-1 return product id for total, product id in ranked Example: lines = "P7", 2 , "P2", 5 , "P7", 4 , "P3", 5 , "P2", 1 expected top k products lines, 2 == "P2", "P7" Winner: Sakana: Fugu Ultra — Model A fully fixes the bug and returns the correct ordering by total descending then product ID ascending, while also handling nonpositive k safely. Model B fixes the truncation bug but keeps an incremental sort approach and does not handle k<=0 explicitly; it is correct for typical cases but less robust and less clean. Second judge pass, order swapped — scores are the average of both: Model A fully fixes the bug with a simpler and clearly correct approach: it aggregates totals, sorts by quantity descending then product ID ascending, and returns the top k IDs. Model B fixes the off-by-one truncation and tie-breaking, but it keeps unnecessary incremental sorting logic and does not handle nonpositive k explicitly, so Model A is the stronger answer. 3. js-group-by-day Practical coding JavaScript : Write a function groupErrorsByDay events that takes an array of objects like { ts: "2025-03-14T23:58:02Z", service: "billing", level: "error" } and returns an object mapping each UTC date YYYY-MM-DD to the count of events whose level is exactly "error" . Ignore non-error events. Example output: { "2025-03-14": 3, "2025-03-15": 1 } . Return code only. Winner: Sakana: Fugu Ultra — Model A is better because it correctly groups by UTC date using Date parsing and toISOString , and it safely skips invalid timestamps while counting only exact "error" levels. Model B is simpler but can misgroup events when the timestamp includes a timezone offset instead of already being in UTC, and it also violates the "code only" instruction by wrapping the answer in Markdown fences. Second judge pass, order swapped — scores are the average of both: Model A is more robust because it derives the UTC day via Date parsing and toISOString , which correctly handles timestamps with offsets as well as Z timestamps, while Model B assumes the first 10 characters always represent the desired UTC date. Both follow the instruction to return code only in their outputs, but Model A is the higher-quality solution overall. 4. meeting-notes-summary Summarization: Summarize the meeting notes below into EXACTLY 4 bullet points. Each bullet must start with "- " and be no more than 16 words. Be faithful; do not add anything. Source notes: Project: Northline clinic scheduling portal - Mara said the pilot at Cedar Hill starts on 12 May, not 5 May as last week's deck showed. - Engineering finished SMS reminders, but Spanish localization is still missing for 7 message templates. - Devin reported the patient import bug only affects files exported from MedAxis v3.2; workaround is to save as CSV UTF-8. - Support wants a one-page troubleshooting guide before launch because front-desk staff turnover is high. - Legal approved the consent text after removing the sentence about "marketing outreach". - Open risk: no confirmation yet from Cedar Hill on who will train weekend reception staff. - Next check-in is Tuesday 09:30. Winner: Sakana: Fugu Ultra — Model A better covers the source faithfully within exactly four bullets, including the legal approval, open training risk, and next check-in. Model B follows the format but omits several important notes and slightly weakens the workaround detail by dropping the UTF-8 specification. Second judge pass, order swapped — scores are the average of both: Model A better covers the source faithfully within exactly four bullets, including legal approval, the open training risk, and the next check-in. Model B follows the format but omits several important notes and weakens one detail by changing the workaround from CSV UTF-8 to just CSV. 5. LRU cache Implement a class LRUCache