PureYAML/ATTRIBUTION.md
Mihaela Mihaljevic 13a3859e21 test(conformance): track YAML test suite gaps
Vendor the 206 official YAML test suite cases (yaml/yaml-test-suite, data branch, commit 6ad3d2c) that PureYAML does not yet handle correctly, under Tests/Fixtures/yaml-test-suite/, with a manifest recording each gap's category and current behavior.

Add an opt-in conformance sweep (scripts/check-yaml-test-suite.sh, gated behind PUREYAML_RUN_YAML_TEST_SUITE=1) that reproduces every recorded gap, so a future fix must update the manifest. Document the measured result (196/402 passing) and the ordered plan for closing the gaps in docs/YAML_TEST_SUITE_CONFORMANCE.md.

No parser behavior changed.
2026-06-23 19:34:18 +02:00

1.6 KiB

Attribution

PureYAML is an independent Swift implementation.

This project is informed by the behavior and public API surface of Yams, and by the YAML parsing model embodied in Yams' bundled CYaml / libyaml-derived C sources. Yams is an important Swift YAML package, and its behavior is a compatibility reference for PureYAML.

PureYAML does not copy Yams Swift source code, CYaml C source code, or libyaml C source code into the public package. The implementation under Sources/ is written in Swift for this repository.

Yams and libyaml source remain available from their upstream projects:

This file is the canonical attribution notice for the project; the LICENSE file is kept to the standard MIT text so it is correctly detected as MIT.

The private PureYAMLResearch repository contains a full Yams source snapshot for study and compatibility research. That repository is not the implementation source for PureYAML.

Vendored test data

Tests/Fixtures/yaml-test-suite/ contains input cases vendored from the official YAML test suite (data branch, commit 6ad3d2c62885d82fc349026c136ef560838fdf3d), which is distributed under the MIT license. Only the cases PureYAML does not yet handle correctly are vendored, each as its input (in.yaml), expected JSON projection (in.json), and expected-error marker (error). Tests/Fixtures/yaml-test-suite-gaps.yaml records the provenance and each case's current behavior. These files are test data, not implementation source.