Skip to content
3leapsPublic

About

Predictable YAML values for Rust, built on Granit.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

yamlprims

A specified YAML data layer for Rust and language bindings. Built in public, starting with the contract.

The repository contains the specification, build specification, decision records and a working Rust core with an initial CLI. No library package, CLI or binding has been released. See implementation status for current coverage and remaining work.

What we are building

  • Owned values with exact integers, arbitrary mapping keys and retained non-core tags.
  • YAML 1.2 Core resolution, duplicate-key errors and explicit merge policy.
  • Source locations and structured errors shared by generic and typed Rust APIs.
  • Finite resource budgets, including alias and merge expansion accounting.
  • One Rust implementation, a thin CLI, then Go and TypeScript bindings.

The initial design uses granit-parser as its internal event source. yamlprims owns the value, policy and error contract; it does not expose backend types or promise compatibility with every existing YAML library. It performs no includes, environment interpolation or network access.

Status and participation

Current tagged specification: spec-v1.3, a draft contract. The working revision 1.4 proposal defines loader depth, anchor-cache accounting, bounded error precedence and entry/copy/key admission. Caller-tree guarantees remain deferred. Earlier specification tags and their file digests remain immutable, including historical draft-status wording. A specification tag may include in-development Rust source; it does not imply a crate release, API freeze or conformance of that source to every requirement. Existing corpus profiles remain bound to their cited specification revision. GitHub release publication is separate from specification tagging. See the roadmap and acceptance gates and open design items. The release procedure covers signed specification tags and package-publication timing.

Feedback on examples, semantic boundaries and acceptance criteria is welcome. Please state the specification section and expected behavior when proposing a change. We will qualify the implementation against pinned, independently reviewed test material, including structcorpus.

make check    # checks the specification release; no Rust toolchain required
make test-rust  # runs the included core, truth, wire and stack regressions

License

Code and general documentation: MIT OR Apache-2.0. The normative specification under docs/spec/ is CC0-1.0. Upstream material retains its own notices.

About

Predictable YAML values for Rust, built on Granit.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages