Skip to main content

aaai_core/
lib.rs

1//! # aaai-core
2//!
3//! Core engine for **aaai** (audit for asset integrity).
4//!
5//! This crate is GUI- and CLI-independent. It owns all business logic:
6//! folder diffing, audit definition I/O, audit judgement, and report
7//! generation.  Both `aaai-cli` and `aaai-gui` depend on this crate and
8//! share the same judgement results — the spec's CLI/GUI consistency
9//! requirement is satisfied structurally.
10//!
11//! # Module map
12//!
13//! ```text
14//! aaai-core
15//!   ├── config   — AuditDefinition and its YAML I/O
16//!   ├── diff     — folder walker and DiffEntry production
17//!   ├── audit    — match DiffEntries against AuditDefinition → AuditResult
18//!   └── report   — Markdown / JSON report generation
19//! ```
20
21// SPDX-License-Identifier: Apache-2.0
22
23pub mod audit;
24pub mod config;
25pub mod diff;
26pub mod report;
27
28// Convenience re-exports so downstream crates can write
29// `use aaai_core::{AuditEngine, DiffEngine, …}` without navigating
30// the module tree.
31pub use audit::engine::AuditEngine;
32pub use audit::result::{AuditResult, AuditStatus, FileAuditResult};
33pub use config::definition::{AuditDefinition, AuditEntry, AuditStrategy};
34pub use diff::engine::DiffEngine;
35pub use diff::entry::{DiffEntry, DiffType};
36pub use report::generator::ReportGenerator;