Nemotron-3 Ultra crushes Gemma-4 31B by 6 points

nemotron-3-ultra-550b-a55b vs gemma-4-31b-it

NVIDIA's 550B beast wins four straight tasks with cleaner code, sharper reasoning, and stricter instruction following.

**Nemotron-3 Ultra-550B-A55B dominated this matchup.** It delivered the only production-grade rate-limit parser that normalizes headers case-insensitively, trims retry-after values, and avoids brittle find() patterns. Gemma-4 simply shipped a less robust version that could break on whitespace. In the vendor-delay update, Nemotron stayed calm, precise, and actionable—explicitly naming key-based auth rejection and giving non-technical teammates a direct ticket path. Gemma-4 stayed vague on both root cause and process. The meeting-notes summary exposed the same gap: Nemotron captured the decision, carrier indecision, open questions, and action items in two tight bullets. Gemma-4 omitted half the substance. Even on the strict "Output JSON only" test, Nemotron obeyed while Gemma-4 wrapped its answer in markdown. Every single task told the same story. **Verdict: nemotron-3-ultra-550b-a55b wins.**

js-rate-limit-parser

Language: JavaScript. Return code only. Implement a function `parseRetryAfter(headers, nowMs)` for an HTTP client. It should read the retry delay from either `headers['retry-after-ms']` (milliseconds, preferred) or `headers['retry-after']` (either integer seconds or an HTTP-date string). Header names are case-insensitive. Return the number of milliseconds to wait as a non-negative integer. If both headers are missing or invalid, return 0. If the computed delay is negative, return 0. Fractional values should be rounded up to the next integer millisecond. Do not use any external packages. Examples: - `parseRetryAfter({'Retry-After-Ms':'2500'}, 0) -> 2500` - `parseRetryAfter({'retry-after':'3'}, 1700000000000) -> 3000` - `parseRetryAfter({'Retry-After':'Wed, 21 Oct 2037 07:28:00 GMT'}, 2140000000000)` returns the ms difference between that date and `nowMs` - `parseRetryAfter({'retry-after-ms':'bad','retry-after':'-2'}, 0) -> 0` Include only the function definition.

nemotron-3-ultra-550b-a55b: function parseRetryAfter(headers, nowMs) { const normalizedHeaders = {}; for (const [key, value] of Object.entries(headers)) { normalizedHeaders[key.toLowerCase()] = value; } if ('retry-after-ms' in normalizedHeaders) { const value = normalizedHeaders['retry-after-ms']; const ms = Number(value); if (!isNaN(ms) && isFinite(ms)) { return Math.max(0, Math.ceil(ms)); } return 0; } if ('retry-after' in normalizedHeaders) { const value = normalizedHeaders['retry-after'].trim(); const seconds = Number(value); if (!isNaN(seconds) && isFinite(seconds)) { return Math.max(0, Math.ceil(seconds * 1000)); } const date = new Date(value); if (!isNaN(date.getTime())) { return Math.max(0, Math.ceil(date.getTime() - nowMs)); } return 0; } return 0; }
gemma-4-31b-it: ```javascript function parseRetryAfter(headers, nowMs) { const keys = Object.keys(headers); const msKey = keys.find(k => k.toLowerCase() === 'retry-after-ms'); const afterKey = keys.find(k => k.toLowerCase() === 'retry-after'); if (msKey) { const val = parseFloat(headers[msKey]); if (!isNaN(val)) { return Math.max(0, Math.ceil(val)); } } if (afterKey) { const val = headers[afterKey]; const num = Number(val); if (!isNaN(num)) { return Math.max(0, Math.ceil(num * 1000)); } const date = Date.parse(val); if (!isNaN(date)) { return Math.max(0, Math.ceil(date - nowMs)); } } return 0; } ```

Model A correctly normalizes all header keys into a single object for case-insensitive lookup and trims the retry-after value before parsing, ensuring robustness against whitespace; Model B uses find() which works but is less efficient and skips trimming, potentially failing on spaced values, while Date.parse is fine but less explicit than new Date.

vendor-delay-update

Draft a workplace status update for our internal product and support teams. Context: Our payroll export feature for customers in Chile is delayed because vendor Solvanta's SFTP endpoint started rejecting key-based auth after their maintenance window last night. We have a temporary manual workaround and no customer data loss. Impact: 14 customers cannot run their scheduled 06:00 CLT exports. Engineering has a fix in staging and expects production rollout by 13:30 CLT if final validation passes. Support should tell customers we are prioritizing the issue and can manually generate today's export on request. Audience: non-technical coworkers. Tone: calm, accountable, concise. Length: 120-150 words.

nemotron-3-ultra-550b-a55b: **Chile Payroll Export Delay – Status & Action Items** **What happened:** After Solvanta’s overnight maintenance, their SFTP endpoint began rejecting our key‑based authentication. This blocks the automated 06:00 CLT payroll export for 14 Chilean customers. No customer data has been lost. **Current workaround:** Engineering has a fix staged and is validating it now. If validation passes, we will push to production by 13:30 CLT today. In the meantime, we can manually generate each customer’s export on request. **Support guidance:** Please reassure affected customers that we are treating this as a top priority. Offer to run the manual export for today’s payroll and confirm the expected fix window (by 13:30 CLT). Log any requests in the usual ticketing system so we track completion. **Next update:** I’ll post a follow‑up once the production rollout is confirmed.
gemma-4-31b-it: **Status Update: Chile Payroll Export Delay** We are currently experiencing a delay with payroll exports for our customers in Chile. Following a maintenance window last night, our vendor, Solvanta, updated their SFTP endpoint, which caused our automated authentication to fail. **Impact:** 14 customers were unable to run their scheduled 06:00 CLT exports. Please be assured that there has been no loss of customer data. **Resolution:** Engineering has already developed a fix, which is currently undergoing testing in staging. Pending final validation, we expect to roll this update out to production by 13:30 CLT. **Support Guidance:** Please inform affected customers that we are prioritizing a resolution. If a customer requires their export urgently, Support can manually generate today’s file upon request via our temporary workaround. We will provide another update as soon as the fix is live.

Model A is more precise and accountable, clearly explaining the technical cause (key-based auth rejection) without unnecessary vagueness, while providing explicit, actionable support guidance including ticketing instructions. Model B is slightly less detailed on the root cause and support process, making A better adhere to the calm, accountable, and concise tone for non-technical coworkers.

meeting-notes-summary

Read the meeting notes below, then produce: 1) a 2-bullet summary 2) a JSON object with keys `decision`, `owner`, `deadline`, `open_questions` Meeting notes: - Weekly operations sync, 09:00 Tuesday - Marina: Freight carrier BlueRidge added a new "oversize handling" surcharge on pallet shipments from Reno starting 1 Sep. - Dev checked 38 August orders: 11 would have been affected; average added cost about $14.20. - Decision proposal: keep customer prices unchanged for now; absorb surcharge until we have 30 days of real cost data. - Leo worried margin impact could exceed forecast for the TrailPro XL rack. - Agreed action: Marina to send a pricing review with actual September data by 3 Oct. - Open question: should the website show a shipping disclaimer for oversize items before checkout? - Open question: does BlueRidge apply the fee to replacement shipments under warranty? - No decision yet on changing carrier.

nemotron-3-ultra-550b-a55b: - Team agreed to absorb BlueRidge’s new 1 Sep oversize handling surcharge and keep customer prices unchanged pending 30 days of actual cost data; Marina will deliver a pricing review with September figures by 3 Oct. - Two open questions remain: whether to add a pre‑checkout website disclaimer for oversize items, and whether BlueRidge applies the fee to warranty replacement shipments; no carrier‑change decision has been made. ```json { "decision": "Keep customer prices unchanged and absorb BlueRidge's oversize handling surcharge until 30 days of real cost data are collected; Marina to provide pricing review with September data by 3 Oct.", "owner": "Marina", "deadline": "2025-10-03", "open_questions": [ "Should the website show a shipping disclaimer for oversize items before checkout?", "Does BlueRidge apply the oversize handling fee to replacement shipments under warranty?" ] } ```
gemma-4-31b-it: - BlueRidge is implementing an "oversize handling" surcharge for Reno pallet shipments starting September 1. - The team decided to absorb these costs temporarily, with Marina providing a pricing review based on September data by October 3. ```json { "decision": "Absorb the oversize handling surcharge and keep customer prices unchanged until 30 days of real cost data are collected.", "owner": "Marina", "deadline": "October 3", "open_questions": [ "Should the website show a shipping disclaimer for oversize items before checkout?", "Does BlueRidge apply the fee to replacement shipments under warranty?" ] } ```

Model A's 2-bullet summary is more comprehensive, capturing the decision, action item, open questions, and lack of carrier decision, whereas Model B's restates the issue and omits key elements like open questions. Both JSONs are strong and correct, but A's integrates the action into the decision more fully while precisely matching details.

messy-orders-to-json

Convert the messy order lines below into valid JSON as an array of objects. Use exactly this schema per object: `{"order_id":string,"customer":string,"sku":string,"qty":integer,"unit_price":number,"rush":boolean}` Rules: - Trim spaces. - `order_id` should preserve leading zeros. - `qty` is an integer. - `unit_price` should be a number with no currency symbol. - `rush` is true only if the line contains `RUSH` or `expedite`; otherwise false. - Output JSON only. Data: 00172 | Northline Clinic | KM-441-B | qty 3 | $19.95 | normal 00173| Alder & Peak | QX-9 | 1 unit | USD 204.00 | RUSH 00174 | Miri's Bakery | PAN-88 | Qty: 12 | 3.5 | standard 00175 | Solera Home | LMP-220 | 02 | $48 | expedite 00176| Hightide School| BK-CVR-mini | qty=7 | $11.25 | -

nemotron-3-ultra-550b-a55b: [ { "order_id": "00172", "customer": "Northline Clinic", "sku": "KM-441-B", "qty": 3, "unit_price": 19.95, "rush": false }, { "order_id": "00173", "customer": "Alder & Peak", "sku": "QX-9", "qty": 1, "unit_price": 204.00, "rush": true }, { "order_id": "00174", "customer": "Miri's Bakery", "sku": "PAN-88", "qty": 12, "unit_price": 3.5, "rush": false }, { "order_id": "00175", "customer": "Solera Home", "sku": "LMP-220", "qty": 2, "unit_price": 48, "rush": true }, { "order_id": "00176", "customer": "Hightide School", "sku": "BK-CVR-mini", "qty": 7, "unit_price": 11.25, "rush": false } ]
gemma-4-31b-it: ```json [ { "order_id": "00172", "customer": "Northline Clinic", "sku": "KM-441-B", "qty": 3, "unit_price": 19.95, "rush": false }, { "order_id": "00173", "customer": "Alder & Peak", "sku": "QX-9", "qty": 1, "unit_price": 204.0, "rush": true }, { "order_id": "00174", "customer": "Miri's Bakery", "sku": "PAN-88", "qty": 12, "unit_price": 3.5, "rush": false }, { "order_id": "00175", "customer": "Solera Home", "sku": "LMP-220", "qty": 2, "unit_price": 48.0, "rush": true }, { "order_id": "00176", "customer": "Hightide School", "sku": "BK-CVR-mini", "qty": 7, "unit_price": 11.25, "rush": false } ] ```

Model A outputs pure JSON as required by 'Output JSON only', while Model B adds a markdown wrapper. Both correctly parse all fields, including trimming, data types, leading zeros, and rush logic.

Matchup powered by OpenRouter.