[package]
name = "ontoref-ops"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Domain operations runtime — typed verbs that mutate authoritative state with declared precondition loading, validation, render, and witness emission"

[dependencies]
ontoref-ontology = { path = "../ontoref-ontology" }
ontoref-derive   = { path = "../ontoref-derive" }
ontoref-types    = { path = "../ontoref-types" }
ontoref-commit   = { path = "../ontoref-commit" }
ontoref-oplog    = { path = "../ontoref-oplog", optional = true }
serde         = { workspace = true }
serde_json    = { workspace = true }
anyhow        = { workspace = true }
thiserror     = { workspace = true }
tracing       = { workspace = true }
inventory     = { workspace = true }
ed25519-dalek = { workspace = true }
blake3        = { workspace = true }
smol_str      = { workspace = true }
tempfile      = { workspace = true }

[features]
# Persist the signed pipeline witness to the redb-backed oplog as the
# final pipeline stage (ADR-036). Off by default so tier-0/1 stay
# daemon-less and fully in-memory; tier-2 opts in. redb is self-contained
# in the workspace — no stratumiops dependency (ADR-036 context).
substrate = ["dep:ontoref-oplog"]

[dev-dependencies]
