Built alone from an empty CARGO_HOME, its tests passed, and flowrsc checked, ran and exported a document from the conformance corpus; the export built alone. Co-Authored-By: Claude Opus 5.5 <[email protected]>
50 lines
2.6 KiB
TOML
50 lines
2.6 KiB
TOML
[package]
|
|
name = "flowrs-instruments"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "Bench-instrument capability model for FlowRS: constraint-carrying descriptors (the piece IVI lacked) that validate an instrument config offline, then compile it to a SCPI command sequence — the Rust-native replacement for VISA/IVI driver stacks."
|
|
|
|
[lib]
|
|
crate-type = ["rlib"]
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
# The audit log's hash chain and the proposal hash an approval binds to. Pure Rust, so the
|
|
# browser can verify a chain with the same code that wrote it. Already in the lock file
|
|
# (flowrs-mcp uses it for the code trust list).
|
|
sha2 = "0.11"
|
|
# The catalogue entry's regulatory status (a cleared device, a vendor's non-device
|
|
# statement, or unknown), the type every hardware catalogue in flowRS shares.
|
|
flowrs-schemas = { path = "../flowrs-schemas", features = ["serde"] }
|
|
# The simulated bench (`sim`): simulation files are TOML (LabCraft's format) or pyvisa-sim's
|
|
# YAML. Both readers are pure Rust, already in the lock (flowrs-critic and flowrs-ingest use
|
|
# them) and in the browser's bundle (flowrs-ingest is), so the editor reads a bench too.
|
|
toml = { version = "1", default-features = false, features = ["parse", "std", "serde"] }
|
|
serde_yaml_ng = "0.10"
|
|
# A scope's sine (`sim::wave`): libm's, ported, the same bits in the browser and natively,
|
|
# so a simulated capture is reproducible everywhere, as a quantity's noise is.
|
|
flowrs-math = { path = "../flowrs-math" }
|
|
# The hybrid signatures (`hybrid`: Ed25519 and ML-DSA-65, FIPS 204) on approval policies
|
|
# and audit checkpoints, and the random lease tokens the shared store mints. Native only
|
|
# and off by default (the browser shows what the server verified). aws-lc-rs: ML-DSA is
|
|
# stable API in 1.18, inside AWS-LC's FIPS 140-3 validation, and already in the lock as
|
|
# rustls's provider (flowrs-tls). It replaces ring, which has no ML-DSA.
|
|
aws-lc-rs = { version = "1.18.2", default-features = false, features = ["aws-lc-sys"], optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
# Signing and verifying policies (`policy::crypto`) and audit checkpoints, random tokens.
|
|
# flowrs-mcp and flowrs-server turn it on.
|
|
crypto = ["dep:aws-lc-rs"]
|
|
|
|
[dev-dependencies]
|
|
|
|
# `cfg(kani)` is set by `cargo kani`, never by cargo itself, so rustc does not know the
|
|
# name. Declared so the proofs in `lifecycle.rs` do not warn in an ordinary build.
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }
|