Cargo
Packages, workspaces, target dependencies, profiles, and metadata.
We took public configuration files from six established TOML ecosystems, downloaded them directly from GitHub, and validated them against proposed schemas. The results were reproduced with the canonical Rust CLI at the pinned revision below. No source file was rewritten to fit the schema.
A specification can look complete while only validating its own examples. This field test deliberately moved outside the repository: package manifests, deployment settings, site configuration, worker bindings, and CI runner files from unrelated public projects.
The result is evidence that TOML Schema can describe mature, varied formats without translating them into another language. It also shows the value of strict validation: the two failures identified exact compatibility differences instead of silently accepting unknown keys.
Each source link is pinned to the revision used where available. “Valid” means the downloaded TOML document passed the proposed schema with no modifications.
Packages, workspaces, target dependencies, profiles, and metadata.
PEP 621 metadata, dependency groups, build systems, and open tool namespaces.
Site settings, modules, theme parameters, languages, and pagination.
Build contexts, redirects, headers, environment values, and deployment behavior.
Worker entry points, bindings, routes, variables, and compatibility settings.
Global settings, runner arrays, executors, and service configuration.
They were not parser crashes or vague incompatibilities. The validator returned exact paths for keys outside the current Hugo configuration vocabulary.
$.Params: unexpected key
$.pagination.paginate: unexpected key
$.languagecode: unexpected key
$.defaultcontentlanguage: unexpected key
The proposed schema follows Hugo’s current documented names:
params, pagination.pagerSize,
languageCode, and defaultContentLanguage.
A compatibility schema could choose to admit historical aliases; the current
schema instead reports them visibly.
a7ced5595bda, pair each file with the corresponding pinned .tosd schema.git clone https://github.com/brunoborges/toml-schema.git toml-schema-report
cd toml-schema-report
git checkout a7ced5595bdae08af9390f54c4997e91719b8e12
cargo run --quiet --manifest-path reference-implementations/rust/Cargo.toml -- \
validate examples/cargo.tosd path/to/Cargo.toml
Eighteen files are a field test, not a statistical benchmark or a claim of universal format coverage. The sample spans simple and complex documents but cannot exercise every key or cross-field policy. GitLab Runner files also require care because production copies commonly contain tokens; the selected public files used placeholders or empty values.
What the test does show is concrete: one small, TOML-native vocabulary described six independently evolved configuration families, accepted every selected file in five of them, and produced actionable paths for the remaining differences. That bounded result is the right starting point for trying the language against another real configuration format.
Read the language proposal, try a reference implementation, or bring a real configuration format to the examples.