Module contract_drift

Module contract_drift 

Source
Expand description

Contract validation for ensuring API contracts match specifications Pillars: [Contracts]

Contract drift detection and budget management

This module provides functionality for tracking contract drift, managing drift budgets, and detecting breaking changes according to configurable rules.

Re-exports§

pub use breaking_change_detector::BreakingChangeDetector;
pub use budget_engine::DriftBudgetEngine;
pub use consumer_mapping::AppType;
pub use consumer_mapping::ConsumerImpact;
pub use consumer_mapping::ConsumerImpactAnalyzer;
pub use consumer_mapping::ConsumerMapping;
pub use consumer_mapping::ConsumerMappingRegistry;
pub use consumer_mapping::ConsumingApp;
pub use consumer_mapping::SDKMethod;
pub use field_tracking::FieldCountRecord;
pub use field_tracking::FieldCountTracker;
pub use fitness::FitnessEvaluator;
pub use fitness::FitnessFunction;
pub use fitness::FitnessFunctionRegistry;
pub use fitness::FitnessFunctionType;
pub use fitness::FitnessScope;
pub use fitness::FitnessTestResult;
pub use grpc_contract::diff_grpc_contracts;
pub use grpc_contract::GrpcContract;
pub use mqtt_kafka_contracts::diff_kafka_contracts;
pub use mqtt_kafka_contracts::diff_mqtt_contracts;
pub use mqtt_kafka_contracts::EvolutionRules;
pub use mqtt_kafka_contracts::KafkaContract;
pub use mqtt_kafka_contracts::KafkaTopicSchema;
pub use mqtt_kafka_contracts::MqttContract;
pub use mqtt_kafka_contracts::MqttTopicSchema;
pub use mqtt_kafka_contracts::SchemaFormat;
pub use mqtt_kafka_contracts::TopicSchema;
pub use protocol_contracts::compare_contracts;
pub use protocol_contracts::extract_breaking_changes;
pub use protocol_contracts::ContractError;
pub use protocol_contracts::ContractMetadata;
pub use protocol_contracts::ContractOperation;
pub use protocol_contracts::ContractRequest;
pub use protocol_contracts::OperationType;
pub use protocol_contracts::ProtocolContract;
pub use protocol_contracts::ProtocolContractRegistry;
pub use protocol_contracts::ValidationError;
pub use protocol_contracts::ValidationResult;
pub use types::BreakingChangeRule;
pub use types::BreakingChangeRuleConfig;
pub use types::BreakingChangeRuleType;
pub use types::DriftBudget;
pub use types::DriftBudgetConfig;
pub use types::DriftMetrics;
pub use types::DriftResult;
pub use websocket_contract::diff_websocket_contracts;
pub use websocket_contract::MessageDirection;
pub use websocket_contract::WebSocketContract;
pub use websocket_contract::WebSocketMessageType;

Modules§

breaking_change_detector
Breaking change detection logic
budget_engine
Drift budget evaluation engine
consumer_mapping
Consumer mapping for tracking endpoint → SDK method → consuming app relationships
field_tracking
Field count tracking for percentage-based drift budgets
fitness
Contract fitness functions for validating contract changes
grpc_contract
gRPC contract implementation for protocol-agnostic contract drift detection
mqtt_kafka_contracts
MQTT and Kafka contract implementations for protocol-agnostic contract drift detection
protocol_contracts
Protocol-agnostic contract abstractions for multi-protocol drift detection
types
Core types for contract drift and budget management
websocket_contract
WebSocket contract implementation for protocol-agnostic contract drift detection