Head to head: grok-4.6 vs Codestral-2501
grok-4.6 vs Codestral-2501
By Ryan Merket · Published
This matchup tests far more than coding: exact rewrites, proofreading, localization, structured extraction, SQL, JavaScript, Python, and strict instruction compliance all matter. The decisive question is whether either model can remain correct when formatting and edge cases are part of the task.
This was a rout. grok-4.6 posted a 106.2 aggregate score against Codestral-2501’s 62.1 and won all 24 tasks, with no ties. The statistical verdict confirms the result at limited confidence: this is a clear win, not noise at the margins. grok-4.6’s advantage was most obvious when correctness depended on respecting the entire specification. It hit exact word counts, preserved deployment details without inventing commitments, kept sentiment justifications within the required length, returned bare valid JSON, and produced localizations that actually met character and word limits. Codestral-2501 repeatedly delivered plausible prose while missing the governing constraint—too short, too long, over-bulleted, fenced when JSON-only was required, or subtly altered in meaning. The coding results were equally one-sided. grok-4.6 validated IPv4 octets and handled numeric-domain emails correctly, used `Map` insertion order for O(1) LRU operations, and avoided SQL join fan-out by aggregating sales and refunds separately. Codestral-2501 accepted invalid IPs, missed the email-domain edge case, used a linear eviction scan, inflated SQL aggregates, and failed to filter refunds by return date. There were minor blemishes in grok-4.6’s work—some repetitive phrasing, occasional unnecessary code fences, and a possible trailing-dot issue in the redaction regex—but none changed the matchup. Codestral-2501 was sometimes fluent and occasionally reached the right final answer, yet it too often treated explicit constraints as optional. **Final call: grok-4.6 wins decisively. The 24–0 sweep, 44.1-point aggregate margin, and limited confidence verdict leave no credible case for Codestral-2501 here.**
Faithful rewrite
Rewrite this blunt internal note as a warm, professional Slack message to the whole engineering team (60–90 words), keeping every fact intact and adding no new commitments. Return only the message. Note: "Deploy is frozen until the memory leak in the image service is fixed. Priya is on it. Do not merge to main. ETA tomorrow noon."
OpenAI: GPT-5.6 Sol Pro: Model A meets the 60–90-word requirement and preserves every fact, though the opening and closing are somewhat repetitive. Model B is polished but falls below the required length, weakens the merge prohibition, and changes the tomorrow-noon ETA into a promised update. (Second judge pass, order swapped — scores are the average of both: Model A preserves every fact, stays within the 60–90-word limit, and adds no commitments, though the opening and closing are somewhat repetitive. Model B is concis | Anthropic: Claude Fable 5.1: Model A preserves every fact exactly, adds…
Precise proofreading
Correct ONLY the grammar, spelling, and punctuation errors in the sentence below without changing wording, tone, or meaning, then on a second line list each change as 'was -> now'. Sentence: "Its been a long time since we seen there new office, and me and him was suprised how quite it was."
OpenAI: GPT-5.6 Sol Pro: Model A correctly fixes all grammar, spelling, and punctuation errors and accurately lists each change. Model B leaves the sentence uncorrected and provides an inaccurate change list. (Second judge pass, order swapped — scores are the average of both: Model A correctly fixes every grammar, spelling, and punctuation error and accurately lists each change in the requested format. Model B leaves the original sentence uncorrected and provides an inaccurate change list whose source entries are mostly | Anthropic: Claude Fable 5.1: Model A correctly fixes every error (It's,…
Python log redaction function
In Python, write a function `redact_log(line: str) -> str` for application logs. Replace every email address with `[EMAIL]` and every IPv4 address with `[IP]`, but leave all other text unchanged. If an IP appears inside an email domain, redact the whole email as `[EMAIL]` and do not separately insert `[IP]` inside it. Preserve spacing and punctuation. Return code only.
OpenAI: GPT-5.6 Sol Pro: Model A prioritizes complete email matches, supports IPv4 email domains, and validates IPv4 octets. Model B misses emails whose domain is an IPv4 address and accepts invalid octets above 255, directly violating key requirements. (Second judge pass, order swapped — scores are the average of both: Model A is better because Model A validates IPv4 octets and matches an IPv4 email domain as part of the email before considering standalone IPs. Model B fails that explicit email-domain case and accepts | Anthropic: Claude Fable 5.1: Model A uses a single alternation with the…
LRU cache
Implement a class `LRUCache<K, V>` in TypeScript with a fixed capacity set in the constructor, and O(1) `get(key): V | undefined` and `set(key, value): void`. Accessing or updating a key must mark it most-recently-used; inserting beyond capacity must evict the least-recently-used entry. Return ONLY the class, no prose.
OpenAI: GPT-5.6 Sol Pro: Model A uses Map insertion order to implement both access promotion and eviction in O(1), while Model B scans all usage records during eviction and therefore violates the required O(1) set complexity. Model A has minor edge-case issues for zero capacity and an undefined key, while both outputs also include code fences despite the request to return only the class. (Second judge pass, order swapped — scores are the average of both: Model A uses Map insertion order to provide expected O(1) access, | Anthropic: Claude Fable 5.1: Model A leverages Map insertion order to de…
Top-returning customers SQL
Schema: customers(customer_id, full_name) orders(order_id, customer_id, order_date) order_items(order_id, sku, quantity, unit_price) returns(return_id, order_id, return_date, refund_amount) Question: Write a single SQL query that returns the top 3 customers by return rate in 2025 among customers who placed at least 5 orders in 2025. Define return rate as total refunded amount in 2025 divided by total gross sales from their 2025 orders, rounded to 4 decimals. Return: customer_id, full_name, orders_2025, gross_sales_2025, refunded_2025, return_rate. Sort by return_rate descending, then customer_id ascending.
OpenAI: GPT-5.6 Sol Pro: Model A correctly aggregates sales and refunds separately, preventing join fan-out, and filters refunds by return date in 2025. Model B can multiply both sales and refunds when orders have multiple items or returns, and it does not filter refunds by return_date. (Second judge pass, order swapped — scores are the average of both: Model A correctly aggregates sales and refunds separately, filters refunds by return date, and avoids the many-to-many multiplication that can inflate both values in Mod | Anthropic: Claude Fable 5.1: Model A correctly aggregates gross sales a…
Memo with tight constraints
Write an internal memo about delaying the Q4 office move at Larkspur Analytics. Requirements: - Exactly 120 words total. - Use exactly 3 bullet points, each starting with "- ". - Start with the line: "To: Facilities Team" - Include these fields on separate lines before the bullets: "From: Maya Chen", "Date: 14 Nov 2026", "Subject: Revised move timeline" - Mention the new move date: 12 January 2027. - Include the numbers 18, 42, and 7. - Do not use the words "delay", "postpone", "sorry", or "apologize". - End with the exact sentence: "Please update vendor bookings by Friday."
OpenAI: GPT-5.6 Sol Pro: Model A satisfies every constraint, including the exact 120-word count, three bullets, required fields, specified numbers and date, prohibited-word restriction, and exact closing sentence. Model B is clear and includes most required content, but it is far short of 120 words and introduces unsupported operational details. (Second judge pass, order swapped — scores are the average of both: Model A satisfies the exact 120-word requirement and all other formatting, content, and vocabulary constraint | Anthropic: Claude Fable 5.1: Model A hits exactly 120 words, uses exact…
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.
OpenAI: GPT-5.6 Sol Pro: Model A is natural, friendly, correctly counted at 48 characters, and follows the length and formatting constraints, though “backup” is a mild Anglicism. Model B uses standard Spanish terminology but exceeds 60 characters, adds quotation marks, and gives an incorrect character count. (Second judge pass, order swapped — scores are the average of both: Model A stays under 60 characters and reports the count correctly, though “backup” is a less localized choice than “copia de seguridad.” Model B is | Anthropic: Claude Fable 5.1: Model A delivers a friendly, toast-appropr…
Support-ticket sentiment labels
Classify each support-ticket message as one of: Positive, Neutral, Negative, Urgent. For each item, give a label and a justification of 6-10 words. Return exactly one line per item in this format: `<id> | <label> | <justification>` Items: A1: "Thanks, the export worked after I retried." A2: "Our clinic can't print wristband labels at check-in. Patients are already waiting." A3: "Can you confirm whether plan Aurora includes SAML?" A4: "This billing mistake happened again, and I'm tired of chasing refunds." A5: "All good now — the barcode scanner connected immediately."
OpenAI: GPT-5.6 Sol Pro: Model A provides correct labels, clear justifications, and satisfies the required 6–10-word length for every item. Model B labels correctly but every justification is fewer than six words, violating a central instruction. (Second judge pass, order swapped — scores are the average of both: Model A provides correct labels, clear justifications, and meets the required 6–10-word limit for every item. Model B labels correctly but every justification is too short.) | Anthropic: Claude Fable 5.1: Both entries assign the same correct labels, but Model A meets the required 6-1…
Unit-aware math
A pump moves 3.5 liters every 8 seconds. A tank holds 0.9 cubic meters. Starting empty, how long to fill it, in minutes and seconds (mm:ss), rounded to the nearest second? Show the key steps, then give the final answer on its own line.
OpenAI: GPT-5.6 Sol Pro: Model A is exact, concise, and fully follows the requested format. Model B reaches the correct answer and follows the instructions, but prematurely rounds the interval count, causing a small intermediate numerical error that does not affect the final result. (Second judge pass, order swapped — scores are the average of both: Model A is concise and preserves exact arithmetic through the calculation. Model B reaches the correct result but prematurely rounds the interval count, producing the slight | Anthropic: Claude Fable 5.1: Both arrive at the correct 34:17, but Mode…
Proofread incident update
Correct the passage below for grammar, style, and clarity without changing meaning. Then add 2 brief bullet points noting the main changes. Passage: "Yesterday evening the payment API was intermittently failing, which caused some orders to not complete and support was getting a unusually high number of chats. The issue were traced to a config change on node 3, after rollback error rates dropped quickly. We will monitor through monday morning and send another update if anything changes, customers who retried later was generally successful."
OpenAI: GPT-5.6 Sol Pro: Model A provides a polished, meaning-preserving correction and follows the requirement to add exactly two brief bullet points. Model B is generally accurate, but it supplies five bullets instead of two and introduces a dangling modifier in “After rolling back the change, error rates dropped quickly.” (Second judge pass, order swapped — scores are the average of both: Model A provides a clear, grammatically correct revision and follows the explicit requirement to add exactly two brief bullet poin | Anthropic: Claude Fable 5.1: Model A produces a clean, correct revision…
Polished Mexican Spanish localization
Translate this product message into Mexican Spanish for a friendly but professional app notification. Keep the meaning and nuance, avoid sounding literal, and use 24-30 words total. Text: "Your trial ends tomorrow. If you do nothing, your workspace will switch to read-only mode, but your files will stay safe for 90 days."
OpenAI: GPT-5.6 Sol Pro: Model A conserva mejor el matiz de que los archivos seguirán protegidos y cumple con el límite de 27 palabras. Model B también es correcto y natural, pero «estarán seguros» pierde ligeramente esa continuidad y las comillas son innecesarias. (Second judge pass, order swapped — scores are the average of both: Model A better preserves the nuance of “will stay safe” with “se mantendrán seguros” and sounds slightly more polished. Model B is accurate and meets the word-count requirement, but “estarán | Anthropic: Claude Fable 5.1: Both renderings are accurate, natural Mexic…
Strict JSON extraction
Extract every meeting from this text into a JSON array of {"title","day","start24","durationMinutes"}. Use 24-hour "HH:MM" for start24, integer minutes for duration, and title-case titles. Return ONLY valid JSON, no commentary. Text: "Standup is daily at 9am for a quarter hour. The design review runs thursday from 2:30-4pm. Payroll sync — first monday, 11:00 to noon."
OpenAI: GPT-5.6 Sol Pro: Model A correctly extracts all meetings, including the 60-minute Payroll Sync, and returns only valid JSON. Model B incorrectly gives Payroll Sync a 120-minute duration and wraps the array in a Markdown code fence, violating the strict JSON requirement. (Second judge pass, order swapped — scores are the average of both: Model B incorrectly assigns 120 minutes to the 11:00-to-noon meeting and wraps the response in Markdown fences, violating the strict JSON-only requirement. Model A correctly extr | Anthropic: Claude Fable 5.1: Model A correctly extracts all three meeti…
Matchup powered by OpenRouter.