# Head to head: grok-4.3 vs mistral-medium-3-5

> Source: <https://runtimewire.com/article/head-to-head-grok-4-3-vs-mistral-medium-3-5>
> Published: 2026-07-08 14:07:07+00:00

The score says **34.0 to 31.0 for grok-4.3**, and that result tracks the most important misses. grok-4.3 took **vendor-delay-email** and **messy-orders-to-json**, while mistral-medium-3-5 won **python-log-redactor** and **meeting-summary-actions**. That is an even split on paper, but not an even split in impact: grok-4.3 was better where brittle instruction-following would actually break the deliverable.

The clearest example is **messy-orders-to-json**. grok-4.3 did the simple but essential thing: output **valid JSON only**, parsed the valid rows, and skipped the line missing `order_id`

. mistral-medium-3-5 wrapped otherwise correct content in Markdown code fences, which is exactly the kind of avoidable formatting error that turns a usable answer into a failed one. In structured-output work, that matters more than polish.

grok-4.3 also had the stronger showing on **vendor-delay-email**. It hit the brief with a proper subject line, the right accountable tone, correct treatment of the delayed portion of the order, and stayed within the **140–180 word** target. mistral-medium-3-5 wrote a decent note, but it came in short and inserted an unsupported year for **May 28**. That is not a stylistic quibble; it is a factual and instruction-level miss in a routine workplace task.

mistral-medium-3-5 absolutely earned its wins. On **python-log-redactor**, it was closer to spec because it preserved trailing punctuation for `token`

and `api_key`

values, whereas grok-4.3 dropped punctuation and used a narrower secret pattern. On **meeting-summary-actions**, both models were accurate, but mistral-medium-3-5 better matched the requested structure with **exactly three concise summary bullets** and cleaner separation of extracted details. Those are real advantages, especially for users who care about formatting precision.

Still, the verdict is straightforward: **grok-4.3 is the better model here**. mistral-medium-3-5 was sharper on a redaction edge case and cleaner on summary formatting, but grok-4.3 was more reliable on the tasks where following the output contract and the business brief was non-negotiable.

### How they were tested

We ran 4 fresh text tasks, generated on the fly for this matchup so neither model could prepare in advance, and had gpt-5.4 score each one. grok-4.3 scored 34.0 to mistral-medium-3-5's 31.0.

#### 1. python-log-redactor

Language: Python 3.11. Write a function `redact_log(line: str) -> str`

that masks sensitive values in application log lines before they are stored. Rules: - Replace any IPv4 address with `[IP]`

. - Replace any email address with `[EMAIL]`

. - Replace any value of `token=...`

or `api_key=...`

with `token=[SECRET]`

/ `api_key=[SECRET]`

and preserve trailing punctuation. - Do not change timestamps, paths, or non-sensitive numbers. Examples: `2026-02-03T07:11:04Z login ok user=mina@farside.tools ip=198.51.100.24 token=abC123-XY9`

-> `2026-02-03T07:11:04Z login ok user=[EMAIL] ip=[IP] token=[SECRET]`

`warn api_key=z9_z9_z9, path=/v1/export client_ip=203.0.113.7`

-> `warn api_key=[SECRET], path=/v1/export client_ip=[IP]`

Return code only.

**Winner: mistral-medium-3-5** — B better follows the requirement to preserve trailing punctuation for token/api_key values, while A drops punctuation and only matches a narrower secret character set. Both use a permissive IPv4 regex and are otherwise reasonable, but B is closer to the spec overall.

#### 2. vendor-delay-email

Draft an email to a procurement manager at Northline Biologics. Context: our company, Alder Peak Instruments, will deliver 420 cryogenic vial racks 9 days late because a powder-coating batch failed inspection. We can ship 180 racks on the original date, the remaining 240 on May 28. Offer either a 6% discount on the delayed portion or free expedited freight. Tone: accountable, calm, professional. Length: 140–180 words. Include a clear subject line.

**Winner: grok-4.3** — A better satisfies the brief with a clear subject line, accountable and professional tone, correct handling of the delayed portion, and a length that fits the 140–180 word requirement. B is concise and polished, but it appears under the requested length and introduces an unsupported year for May 28.

#### 3. meeting-summary-actions

Summarize the meeting notes below in 3 bullet points, then extract: (a) decision, (b) owner for each action item, (c) next meeting date. Notes: - 9:00 standup for the Bristlecone mobile app. - Nia said Android crash rate rose after v4.8.1; mostly on Samsung A52 when users open saved route maps offline. - Pavel found the issue likely tied to the new tile cache. Hotfix candidate ready by Thursday afternoon. - Irene from support said 19 tickets mention blank maps; 7 of those are from paid field teams. - Team agreed not to roll back 4.8.1 because the battery drain fix is too important. - Action: Pavel to ship hotfix build to QA by Thu 3 PM. - Action: Nia to post an in-app status notice draft by noon today. - Action: Irene to tag all related support tickets with `offline-map-blank`

. - Next sync: Friday, April 17 at 10:30 AM.

**Winner: mistral-medium-3-5** — Both are accurate, but B adheres more closely to the requested format with exactly 3 concise summary bullets and clearly separated extracted details. A is also correct, but its third bullet is vague and less informative than B’s summary.

#### 4. messy-orders-to-json

Convert the messy order lines below into valid JSON only. Output schema: { "orders": [ {"order_id": string, "customer": string, "sku": string, "qty": integer, "unit_price": number, "rush": boolean} ] } Rules: - One object per valid line. - Trim spaces. - `qty`

is an integer. - `unit_price`

is a number without currency symbols. - `rush`

is true only for yes/y. - Skip the line with a missing order_id. Data: ORD-771 | customer: Leeward Studio | sku=PX-14 | qty 3 | unit $19.50 | rush yes ORD-772|customer:Mariner Vale|sku=Q-9|qty 12|unit $4|rush no | customer: Hollow Ember | sku=LM-2 | qty 5 | unit $11.00 | rush yes ORD-774 | customer: Ilex Foods | sku=AA-88 | qty 1 | unit $250.00 | rush y

**Winner: grok-4.3** — Model A follows the instruction to output valid JSON only and correctly parses all valid lines while skipping the missing order_id. Model B's content is otherwise correct, but the surrounding Markdown code fences violate the 'JSON only' requirement.

See every prompt and the full side-by-side outputs in the [interactive Head-to-Head](/head-to-head/head-to-head-grok-4-3-vs-mistral-medium-3-5).
