shakrs_json_parser/lib.rs
1//! `shakrs-json-parser`: owns the `shakrs.json` workspace-config file format.
2//!
3//! Shakrs-specific: it lives in the product layer, not the cross-product
4//! `aqc-` layer. Pure: zero I/O. There is no engine here -- `shakrs.json` has
5//! no policy-driven content to reconcile, only a default scaffold and a
6//! key-sort.
7//!
8//! What this crate does NOT do (it belongs in the runner, which holds the
9//! policy registry): resolve `default_enabled` + `overrides` into the active
10//! policy set, validate `waiver.rule` against registered adapters, or
11//! deserialize `PolicyOverride::Detailed.params` into a policy's input type.
12
13#[cfg(feature = "api")]
14pub mod runtime;
15#[cfg(feature = "api")]
16pub mod types;
17
18#[cfg(feature = "api")]
19pub use runtime::{canonicalize, parse, scaffold_default};
20#[cfg(feature = "api")]
21pub use types::{ConfigParseError, PoliciesSection, PolicyOverride, ShakrsConfig, Waiver};