[package]
name = "assay-evidence"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Tamper-evident, cryptographically verifiable evidence bundles for the Assay compliance framework."
readme.workspace = true

[dependencies]
# Core serialization
serde = { workspace = true, features = ["derive", "std", "alloc"] }
serde_json = { workspace = true, features = ["preserve_order", "std", "alloc"] }
# CRITICAL: Pinned exactly - any change affects mandate_id computation!
# If upgrading, MUST verify all golden vectors still pass.
serde_jcs = "=0.2.0"

# Crypto & IDs
sha2 = "0.11"
hex = "0.4"
base64 = "0.22"
uuid = { version = "1.23", features = ["v7", "serde"] }
chrono = { version = "0.4", features = ["serde", "clock", "std"], default-features = false }
ed25519-dalek = { version = "2.1", features = ["rand_core", "pkcs8"] }
rand = "0.8"

# Bundle formats
flate2 = "1.1"
tar = "0.4"

# Error handling
thiserror = { workspace = true }
anyhow = { workspace = true }

# Pack engine
serde_yaml = "0.9"
globset = "0.4"

# BYOS: Object storage (S3, Azure, GCS, local, memory)
object_store = { version = "0.13", features = ["aws", "http"] }
async-trait = "0.1"
bytes = "1.5"
futures = "0.3"
url = "2.5"
tracing = { workspace = true }
tokio = { workspace = true }

[dev-dependencies]
jsonschema = "0.46"
tempfile = "3"
assert_fs = "1.0"
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
criterion = "0.8"

[[bench]]
name = "verify_lint_harness"
harness = false

[lints]
workspace = true
