mockforge_core/contract_drift/
mod.rs

1//! Pillars: [Contracts]
2//!
3//! Contract drift detection and budget management
4//!
5//! This module provides functionality for tracking contract drift, managing drift budgets,
6//! and detecting breaking changes according to configurable rules.
7
8pub mod breaking_change_detector;
9pub mod budget_engine;
10pub mod consumer_mapping;
11pub mod field_tracking;
12pub mod fitness;
13pub mod forecasting;
14pub mod grpc_contract;
15pub mod mqtt_kafka_contracts;
16pub mod protocol_contracts;
17pub mod threat_modeling;
18pub mod types;
19pub mod websocket_contract;
20
21pub use breaking_change_detector::BreakingChangeDetector;
22pub use budget_engine::DriftBudgetEngine;
23pub use consumer_mapping::{
24    AppType, ConsumerImpact, ConsumerImpactAnalyzer, ConsumerMapping, ConsumerMappingRegistry,
25    ConsumingApp, SDKMethod,
26};
27pub use field_tracking::{FieldCountRecord, FieldCountTracker};
28pub use fitness::{
29    FitnessEvaluator, FitnessFunction, FitnessFunctionRegistry, FitnessFunctionType, FitnessScope,
30    FitnessTestResult,
31};
32pub use forecasting::{
33    ChangeForecast, ForecastAggregationLevel, ForecastPattern, ForecastStatistics, Forecaster,
34    ForecastingConfig, PatternAnalysis, PatternAnalyzer, PatternSignature, PatternType,
35    SeasonalPattern, StatisticalModel,
36};
37pub use grpc_contract::{diff_grpc_contracts, GrpcContract};
38pub use mqtt_kafka_contracts::{
39    diff_kafka_contracts, diff_mqtt_contracts, EvolutionRules, KafkaContract, KafkaTopicSchema,
40    MqttContract, MqttTopicSchema, SchemaFormat, TopicSchema,
41};
42pub use protocol_contracts::{
43    classify_change, compare_contracts, extract_breaking_changes, generate_grpc_drift_report,
44    ChangeClassification, ContractError, ContractMetadata, ContractOperation, ContractRequest,
45    OperationType, ProtocolContract, ProtocolContractRegistry, ValidationError, ValidationResult,
46};
47pub use threat_modeling::{
48    AggregationLevel, DosAnalyzer, ErrorAnalyzer, PiiDetector, RemediationGenerator,
49    RemediationSuggestion, SchemaAnalyzer, ThreatAnalyzer, ThreatAssessment, ThreatCategory,
50    ThreatFinding, ThreatLevel, ThreatModelingConfig,
51};
52pub use types::{
53    BreakingChangeRule, BreakingChangeRuleConfig, BreakingChangeRuleType, DriftBudget,
54    DriftBudgetConfig, DriftMetrics, DriftResult,
55};
56pub use websocket_contract::{
57    diff_websocket_contracts, MessageDirection, WebSocketContract, WebSocketMessageType,
58};