﻿---
title: Conformance
description: How Curb's output is measured as a fixed point of dotnet format — and what that means in practice.
url: https://docs-v3-preview.elastic.dev/design-principles/conformance
---

# Conformance
Curb states compatibility with `dotnet format` as a measurement, gated in CI on every push
against a 1,196-file corpus:
- With reflow off, Curb's output is **byte-identical to `dotnet format whitespace`** — 100%, enforced as a build gate.
- With reflow on, also **100%** — deterministic layout has no arrangement inherited from the source for `dotnet format` to disagree with, so it is the cleaner of the two.
- With reflow on *and* `csharp_keep_existing_linebreaks = true`, **99.9%**. One file falls short: a property pattern that reflow breaks, and whose brace `dotnet format` then moves. Measured and held rather than quietly rounded up.
- **Zero** failed or unparsable files across the corpus, also gated.

What is measured is that Curb's output is a *fixed point* of `dotnet format`: run `dotnet format`
over a Curb-formatted file and nothing changes. That is what decides whether Format Document in
your IDE will fight your formatter.
The same measurement over twelve real repositories and 41,000 files is in [the benchmarks](https://docs-v3-preview.elastic.dev/benchmarks).