Build1 distinct publisher3 min readUpdated
JetBrains traced a model through fifteen C# refactoring tasks and found it simulating structure with sed, git and the compiler. Wiring in Rider's real engine cut median time by 83%.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
An agent asked to refactor C# does not refactor. JetBrains traced a frontier model through fifteen C# refactoring tasks and counted 2,513 tool calls containing exactly zero structural refactoring operations [1], not because the model avoided them but because it had none to call [2].
What it reached for instead: piping text into interactive commands 468 times, git 422 times, sed 392 times [3], plus 163 invocations of `dotnet build` [4]. Those three text-shuffling habits alone account for roughly 51% of the trace [1].
The build count is the interesting one. JetBrains' reading is that the agent was not compiling to check finished work, it was compiling to find out what its last edit had done [5]. A correct rename has to follow overload resolution, partial classes, explicit interface implementations and documentation references, and tell a type called `Order` from the word "order" in a comment [6]. None of that is recoverable from a regular expression, so the agent guesses in text and lets the build score the guess [7]. Rider's engine, powered by ReSharper, works from a resolved syntax tree that already knows which declaration each identifier binds to, which overload each call resolves to, and where every reference lives across the solution [8].
As of 2026.2.1, Rider bundles a skill called `refactoring-code` that lets an agent invoke those refactorings rather than approximate them; it ships with the IDE, needs nothing switched on, and activates when an agent is asked to refactor C# [9].
The second arm of the evaluation is where the money is. Median task duration fell from 157.9 seconds to 26.6 seconds [10], an 83% reduction [2]. The 95th percentile fell from 346.4 seconds to 56.9 seconds [11], because the slowest runs were the ones stuck in the edit-build-read-error cycle and those runs stop existing [12]. That puts the new p95 at roughly a third of the old median [3]. `dotnet build` dropped from 163 calls to 3 [14], a 98% cut [6], and total tool calls fell from 2,513 to 926 [15], about 63% fewer [4].
Note what did not happen: the agent kept editing text, sed remains its most-used tool, and the eight refactoring operations account for only 167 of those 926 calls [16], under a fifth [5]. The change is division of labour, with ordinary edits staying in the editor's medium and structural changes going to the engine [17].
The caveats are visible in the methodology. Both arms ran gpt-5.5 through the Codex CLI, roughly ten times per task, with skill availability as the only difference, compared using a paired permutation test [18]. The eight operations were picked for clean contracts, meaning a defined target, a defined result, and a refusal when the change is unsafe [19], covering rename, extract method, extract interface, extract base class, change API signature, move type to namespace, reorganize namespaces and safe delete [20]. Fifteen tasks spread across those eight, most in an easy and a harder variant [21]. This is a vendor measuring its own product, and the three published headline figures are time, cost per solved task and tool calls [13]; "per solved task" implies some runs did not solve, and the solve rates are not in the published numbers [13].
Worth watching: the same release bundles a `debugging-code` skill that lets agents set breakpoints and inspect values across C#, F#, C++ and mixed projects [22], extends quality-check hooks to Codex alongside Claude Code [23], and flips ReSharper to out-of-process by default [24]. The pattern to track is whether other toolchain vendors expose their resolved-model engines to agents at all. The number that will matter to operators is not the 83% but the refusal path, because an engine that declines an unsafe delete is the part sed can never imitate [19].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
As of Rider 2026.2.1 an agent can invoke Rider's dozens of C# refactorings via a bundled skill called refactoring-code; it ships with the IDE, there is nothing to switch on, and it activates by itself when an agent is asked to refactor C# code.
Median task duration fell from 157.9 seconds without the skill to 26.6 seconds with it.
JetBrains publishes three headline medians for the refactoring-code skill: median task time 83% faster, cost per solved task 64% cheaper, and tool calls per task 63% fewer, across fifteen C# refactoring tasks each run roughly ten times with the same model and prompts.
Both arms ran gpt-5.5 through the Codex CLI, roughly ten times per task, with the availability of refactoring-code as the only difference; timing, cost and tool counts came from recorded traces and comparisons used a paired permutation test.
Fifteen tasks covered the eight operations, most in two variants: a straightforward case and a harder one with more call sites or more entangled dependencies.
JetBrains traced a frontier model through fifteen C# refactoring tasks; across 2,513 tool calls it performed a structural refactoring operation exactly zero times.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Granular vendor traces, one arm of scrutiny
The evidence is unusually concrete for a vendor post: per-tool call counts on both arms, absolute median and p95 durations, token and cost breakdowns, a named model and harness, a stated single-variable design, a paired permutation test, and an explicit disclosure that seven of fifteen tasks fell outside the 'wins outright' table. What holds the score below the high band is that everything is self-recorded and self-reported by the tool's vendor, with one model, one CLI, roughly ten runs per task, and no published traces, task repositories or independent replication.
Default-on distribution, no external usage yet
Real distribution exists: the refactoring-code and debugging-code skills ship bundled in a released Rider build, activate without configuration, and the surrounding release also broadens hook support to Codex and flips ReSharper to Out-of-Process by default. But the supplied sources contain no third-party deployment, usage disclosure, download figure or external report of the skill in production, so adoption is availability rather than demonstrated uptake.
Headlines travel further than the caveats
The mechanism claim is well supported and arguably understated: the agent genuinely had no structural operation to call, and routing structural edits to a resolved syntax tree removed the build-oracle loop. The overstatement is in packaging. '83% faster, 64% cheaper, 63% fewer tool calls' is repeated in the release note without the engineering post's own disclosures that four tasks were already fast enough that invoking the IDE did not pay for itself, one task was solved without the skill but not with it, two were solved by neither arm, and sed remained the most-used tool with the engine taking under a fifth of calls. Gains are real; their generality across models, harnesses and repositories is unmeasured.
Vendor benchmarking its own feature
Every source in the cluster is a JetBrains blog post about a JetBrains product, and the benchmark compares a JetBrains IDE engine against a baseline lacking it. The commercial payoff is direct: it justifies Rider and ReSharper as the substrate for agentic C# work. Mitigating factors are that the methodology is disclosed and the unfavourable per-task cases are stated rather than hidden, but there is no independent publisher in the cluster to price the claims against.
Coherent and specific, wholly unreplicated
Internal consistency is high: the two sources agree on the headline medians, the absolute counts reconcile with the reported percentages, and the causal story (build-as-oracle loop removed) matches the trace deltas. Confidence is capped by the absence of any non-vendor source, any second model or harness, and any external usage signal, which leaves the direction of the finding more credible than its magnitude.
build
Claude Code now outruns Copilot roughly two to one in JetBrains' survey of 15,000 developers1 distinct publisher
build
Claude Code's new default is a confession: the approval prompt was never a control1 distinct publisher
build
Developer habit, priced at $965B: what Anthropic's run actually proves1 distinct publisher
build
The $559M-versus-$12.3B quarter matters more than the $65B run rate4 distinct publishers
Distinct publishers with included, body-backed reporting in this cluster.
2 articles · August 19, 2026