mockforge_contracts/lib.rs
1// Pedantic/nursery lints inherited from workspace; allow the most common stylistic ones
2// since this code was extracted from mockforge-core which has the same lints.
3#![allow(
4 clippy::uninlined_format_args,
5 clippy::must_use_candidate,
6 clippy::missing_const_for_fn,
7 clippy::doc_markdown,
8 clippy::return_self_not_must_use,
9 clippy::cast_precision_loss,
10 clippy::cast_possible_truncation,
11 clippy::cast_lossless,
12 clippy::cast_sign_loss,
13 clippy::use_self,
14 clippy::unused_self,
15 clippy::unused_async,
16 clippy::map_unwrap_or,
17 clippy::format_push_string,
18 clippy::module_name_repetitions,
19 clippy::redundant_closure_for_method_calls,
20 clippy::option_if_let_else,
21 clippy::items_after_statements,
22 clippy::significant_drop_tightening,
23 clippy::future_not_send,
24 clippy::cognitive_complexity,
25 clippy::too_many_lines,
26 clippy::missing_errors_doc,
27 clippy::missing_panics_doc,
28 clippy::similar_names,
29 clippy::needless_pass_by_value,
30 clippy::implicit_hasher,
31 clippy::struct_excessive_bools,
32 clippy::if_not_else,
33 clippy::match_wildcard_for_single_variants,
34 clippy::float_cmp
35)]
36
37//! Contract testing, drift detection, and incident management for MockForge
38//!
39//! This crate contains the independently extractable contract-related modules
40//! from `mockforge-core`, including:
41//!
42//! - **consumer_contracts**: Consumer-driven contract tracking and violation detection
43//! - **contract_validation**: Contract validation types and CI/CD pipeline integration
44//! - **contract_drift**: Drift detection types, consumer mapping, fitness functions, and forecasting
45//! - **diff_types**: Core diff analysis types shared across contract modules
46//! - **protocol**: Protocol type enumeration
47//!
48//! Incident management types live in `mockforge_foundation::incidents_types`;
49//! the structural manager/store implementations live in `mockforge_core::incidents`,
50//! and the AI-coupled `semantic_manager` + Jira/Slack integrations live in
51//! `mockforge_intelligence::incidents` (#562 phase 9). This crate's previous
52//! `incidents` module was a dead-weight duplicate with zero external callers
53//! (only `contract_drift::forecasting` referenced it via `crate::incidents::types`)
54//! and was deleted under #600.
55
56pub mod consumer_contracts;
57pub mod contract_drift;
58pub mod contract_validation;
59pub mod diff_types;
60pub mod error;
61pub mod protocol;
62pub mod schema_diff;
63
64pub use error::{ContractError, Result};