---
title: "oneyaml — Same behavior in every language"
url: https://recursiveai.org/oneyaml/spec/
description: "Every oneyaml library is written from scratch for its language and shares one behavior, checked by one conformance kit."
---

# Same behavior in every language.

Each oneyaml library is written from scratch for its language. What they share is behavior, and one conformance kit checks it.

## The shared behavior

### YAML 1.2 by default

`yes` is a string, `0777` a decimal integer, `~` null. Every library reads every scalar the same way.

### YAML 1.1 is opt-in

Each 1.1 behavior, `<<` merge keys included, is a named setting with the same name everywhere, off by default.

### One reading, two layers

Typed reads and the lossless document run on one parser and one resolver, so they never disagree.

### Minimal-diff edits

Set a value and only that value changes, in its own style. An untouched document writes back byte for byte.

### Comments stay put

One set of rules decides which entry owns each comment, so it moves, stays or goes with that entry.

### The same errors

Every diagnostic has a stable `Y####` code, a source snippet and a suggested fix. The code means the same thing in every language.

## Checked, not promised

Every library passes the full [yaml-test-suite](https://github.com/yaml/yaml-test-suite) before release, plus our own cases for edits, comments and diagnostics.

- [Rust](https://recursiveai.org/oneyaml/rust/): 402 of 402 yaml-test-suite cases. (Available)
- [C#](https://recursiveai.org/oneyaml/csharp/): Ships when it passes the same kit. (Coming soon)
- [Go](https://recursiveai.org/oneyaml/go/): Ships when it passes the same kit. (Coming soon)
- **Conformance kit**: The shared kit, published for anyone to run. (Coming soon)

## Read more

- [Conformance results](https://github.com/recursive-ai-oss/oneyaml-rust/blob/main/docs/conformance.md)
- [Comment rules](https://github.com/recursive-ai-oss/oneyaml-rust/blob/main/docs/comment-attachment.md)
- [How oneyaml compares](https://github.com/recursive-ai-oss/oneyaml-rust/blob/main/docs/comparison.md)
