//! Declarative rule engine for semantic validation.
//!
//! Defines best-practice warnings via simple condition expressions (equality
//! checks, comparisons, null checks, `contains`) evaluated against YAML data.
//!
//! ## Rule format (YAML)
//!
//! ```yaml
//! rules:
//!   - id: k8s/replicas-1
//!     condition: '$.spec.replicas == 1'
//!     severity: warning
//!     message: 'replicas=1 — consider >=2 for high availability'
//! ```
//!
//! ## Example
//!
//! ```rust
//! use devops_validate::rules::{load_builtin_rules, load_rules_for_type};
//! use serde_json::json;
//!
//! let engine = load_builtin_rules();
//! let data = json!({ "spec": { "replicas": 1 } });
//! let diagnostics = engine.evaluate(&data);
//! assert!(!diagnostics.is_empty());
//! ```

pub mod engine;
pub mod loader;

pub use engine::{Rule, RuleCondition, RuleEngine};
pub use loader::{load_builtin_rules, load_rules_for_type};
