Expand description
Behavioral cloning of backends - learn from recorded traffic to create realistic mock behavior Behavioral Cloning of Backends
This module provides functionality to learn from recorded traffic and create realistic mock behavior that captures the “personality” of the real backend.
§Features
- Sequence Learning: Discover and model multi-step flows from real traffic
- Probabilistic Outcomes: Model probabilities of errors, latency, and edge cases per endpoint
- Rare Edge Amplification: Option to increase rare error frequency for testing
§Example Usage
use mockforge_core::behavioral_cloning::{
SequenceLearner, ProbabilisticModel, EdgeAmplifier,
};
// Learn sequences from recorded traffic
let sequences = SequenceLearner::discover_sequences_from_traces(&database).await?;
// Build probability models for endpoints
let model = ProbabilisticModel::build_probability_model(
&database,
"/api/users",
"GET"
).await?;
// Sample a status code based on learned distribution
let status_code = model.sample_status_code();
// Amplify rare errors for testing
let amplifier = EdgeAmplifier::new();
amplifier.apply_amplification(&mut model, 0.5)?; // 50% frequencyRe-exports§
pub use edge_amplifier::EdgeAmplifier;pub use probabilistic_model::ProbabilisticModel;pub use sequence_learner::SequenceLearner;pub use sequence_learner::TraceQueryProvider;pub use sequence_learner::TraceRequest;pub use types::AmplificationScope;pub use types::BehavioralSequence;pub use types::EdgeAmplificationConfig;pub use types::EndpointProbabilityModel;pub use types::ErrorPattern;pub use types::LatencyDistribution;pub use types::PayloadVariation;pub use types::SequenceStep;
Modules§
- edge_
amplifier - Rare edge case amplification
- probabilistic_
model - Probabilistic outcome modeling
- sequence_
learner - Sequence learning from recorded traffic
- types
- Behavioral cloning type definitions