rustev-contract 0.4.0

Rustev's versioned wire contract: documents, bounded parsing, canonical form and identities.
Documentation
[package]
name = "rustev-contract"
version.workspace = true
description = "Rustev's versioned wire contract: documents, bounded parsing, canonical form and identities."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/rustev-contract"
readme.workspace = true
keywords = ["decision-engine", "canonical-json", "schema"]
categories = ["data-structures", "encoding"]
# Spec 021, 3.4: the intended public registry only.
publish = ["crates-io"]
# Spec 021, 3.5: the archive holds the library source; the reviewed file list
# is tools/rustev-release/archive-policy.json.
include = ["/src/**/*.rs", "/LICENSE"]

[package.metadata.spec-spine]
spec = "002-decision-contract-and-pure-core"

[dependencies]
serde.workspace = true
serde_json = { workspace = true, features = ["raw_value"] }
sha2.workspace = true
# The keyed digest of the redaction policy (spec 028, 3.4.5): HMAC-SHA256
# over the existing `sha2`, never a hand-written construction.
hmac.workspace = true
schemars.workspace = true

[dev-dependencies]
# Validates every golden document against its emitted schema (spec 027,
# 3.2.2); no HTTP or file resolution.
jsonschema = { version = "=0.59.0", default-features = false }

[lints]
workspace = true