Skip to main content

aqc_file_engine_core/
lib.rs

1//! Shared framework types for `aqc-{domain}-engine` crates.
2//!
3//! See the architecture plan:
4//! `guardrail3/.plans/g3v2-architecture/2026-05-21-195830-repo-workspace-plugin-generation-model.md`.
5//!
6//! Every type in this crate is pure data; this crate performs zero I/O.
7
8#[cfg(feature = "api")]
9pub mod contract;
10#[cfg(feature = "api")]
11pub mod engine;
12#[cfg(feature = "api")]
13pub mod finding;
14#[cfg(feature = "api")]
15pub mod merge;
16#[cfg(feature = "api")]
17pub mod requirement;
18#[cfg(feature = "api")]
19pub mod types;
20#[cfg(feature = "api")]
21pub mod version;
22
23#[cfg(feature = "api")]
24pub use contract::{ContractViolation, check_from_empty};
25#[cfg(feature = "api")]
26pub use engine::{Engine, FileEngine, merged_reconcile};
27#[cfg(feature = "api")]
28pub use finding::Finding;
29#[cfg(feature = "api")]
30pub use merge::{
31    ConflictEntry, FileItemRequirement, ForbiddenGlobRequirement, ForbiddenGlobRequirements,
32    ItemAssertionInput, ItemRequirements, KeyedItem, ListRequirements, RequiredItemResolution,
33    Resolve, ResolvedExactItems, ResolvedForbiddenGlobRequirements, ResolvedItemRequirements,
34    ResolvedListRequirements, ResolvedRequirement, ScalarAssertion, ScalarOperation, ScalarValue,
35    asserted_items, compose_item_by, compose_optional_field, compose_string_list,
36    compose_string_set, keyed_entries_eq, push_conflict, render_list_requirement,
37    render_scalar_assertion, resolve_all_equal, resolve_exact_list, resolve_forbidden_globs,
38    resolve_items, resolve_list, resolve_map, resolve_maybe, resolve_scalar,
39    strongest_version_floor,
40};
41#[cfg(feature = "api")]
42pub use requirement::EngineRequirement;
43#[cfg(feature = "api")]
44pub use types::{
45    ConfigScalar, DottedVersion, EngineOutput, OnEmpty, OnEmptyClass, Provenance, Severity,
46};
47#[cfg(feature = "api")]
48pub use version::parse_version_tuple;