pub mod chaos;
pub mod config;
pub mod conformal;
pub mod dual_run;
pub mod explorer;
pub mod fuzz;
pub mod http;
pub mod injection;
pub mod instrumented_future;
pub mod meta;
pub mod network;
pub mod opportunity;
pub mod oracle;
pub mod replay;
pub mod runtime;
pub mod scenario;
pub mod scenario_runner;
pub mod snapshot_restore;
pub mod spork_harness;
pub mod virtual_time_wheel;
pub use crate::util::{
StrictEntropyGuard, disable_strict_entropy, enable_strict_entropy, strict_entropy_enabled,
};
pub use config::LabConfig;
pub use conformal::{
CalibrationReport, ConformalCalibrator, ConformalConfig, ConformityScore, CoverageTracker,
PredictionSet,
};
pub use dual_run::{
CancelTerminalPhase, CancellationRecord, CaptureAnnotation, CaptureManifest, ComparisonVerdict,
CounterTolerance, DUAL_RUN_SCHEMA_VERSION, DrainStatus, DualRunHarness, DualRunResult,
DualRunScenarioIdentity, ExecutionInstanceId, FieldObservability, LiveExecutionProfile,
LiveRunMetadata, LiveRunResult, LiveRunnerConfig, LiveWitnessCollector, LoserDrainRecord,
NORMALIZED_OBSERVABLE_SCHEMA_VERSION, NormalizedObservable, NormalizedSemantics,
ObligationBalanceRecord, OutcomeClass, Phase, PromotedExplorationScenario,
PromotedFuzzScenario, RegionCloseRecord, RegionState as DualRunRegionState, ReplayMetadata,
ReplayPolicy, ResourceSurfaceRecord, RuntimeKind, ScenarioFamilyId, SeedLineageRecord,
SeedMode, SeedPlan, SemanticMismatch, TerminalOutcome, assert_dual_run_passes,
assert_semantics, capture_cancellation, capture_loser_drain, capture_obligation_balance,
capture_region_close, capture_terminal_from_result, capture_terminal_outcome,
check_core_invariants, compare_observables, normalize_lab_observable, normalize_lab_report,
normalize_live_observable, promote_exploration_report, promote_fuzz_finding,
promote_regression_case, promote_regression_corpus, run_live_adapter,
};
pub use explorer::{
CoverageMetrics, DporCoverageMetrics, DporExplorer, ExplorationReport, ExplorerConfig,
RunResult, ScheduleExplorer, TopologyExplorer, ViolationReport,
};
pub use fuzz::{
FuzzConfig, FuzzFinding, FuzzHarness, FuzzRegressionCase, FuzzRegressionCorpus, FuzzReport,
fuzz_quick,
};
pub use http::{
RequestBuilder, RequestTrace, TestHarness, TraceEntry, VirtualClient, VirtualServer,
};
pub use injection::{
LabBuilder, LabInjectionConfig, LabInjectionReport, LabInjectionResult, LabInjectionRunner, lab,
};
pub use instrumented_future::{
AwaitPoint, CancellationInjector, InjectionMode, InjectionOutcome, InjectionReport,
InjectionResult, InjectionRunner, InjectionStrategy, InstrumentedFuture,
InstrumentedPollResult,
};
pub use meta::{
ALL_ORACLE_INVARIANTS, BuiltinMutation, MetaCoverageEntry, MetaCoverageReport, MetaReport,
MetaResult, MetaRunner, builtin_mutations, invariant_from_violation,
};
pub use network::{
Fault as NetworkFault, JitterModel, LatencyModel, NetworkConditions, NetworkConfig,
NetworkMetrics, NetworkTraceEvent, NetworkTraceKind, Packet, SimulatedNetwork,
};
pub use oracle::{
ActorLeakOracle, ActorLeakViolation, BayesFactor, DetectionModel, DeterminismOracle,
DeterminismViolation, DownOrderOracle, DownOrderViolation, EProcess, EProcessConfig,
EProcessMonitor, EValue, EvidenceEntry, EvidenceLedger, EvidenceLine, EvidenceStrength,
EvidenceSummary, FinalizerId, FinalizerOracle, FinalizerViolation, LogLikelihoodContributions,
LoserDrainOracle, LoserDrainViolation, MailboxOracle, MailboxViolation, MailboxViolationKind,
MonitorResult, ObligationLeakOracle, ObligationLeakViolation, Oracle, OracleEntryReport,
OracleReport, OracleStats, OracleSuite, OracleViolation, QuiescenceOracle, QuiescenceViolation,
RegistryLeaseOracle, RegistryLeaseViolation, ReplyLinearityOracle, ReplyLinearityViolation,
SupervisionOracle, SupervisionViolation, SupervisionViolationKind, SupervisorQuiescenceOracle,
SupervisorQuiescenceViolation, TaskLeakOracle, TaskLeakViolation, TraceEventSummary,
assert_deterministic, assert_deterministic_multi,
};
#[cfg(feature = "messaging-fabric")]
pub use oracle::{
FabricPublishOracle, FabricPublishViolation, FabricQuiescenceOracle, FabricQuiescenceViolation,
FabricRedeliveryOracle, FabricRedeliveryViolation, FabricReplyOracle, FabricReplyViolation,
};
pub use replay::{
ExplorationFingerprintClass as ReplayExplorationFingerprintClass,
ExplorationReport as ReplayExplorationReport,
ExplorationRunSummary as ReplayExplorationRunSummary, NormalizationResult, ReplayValidation,
SporkExplorationReport, SporkExplorationRunSummary, TraceDivergence, TraceSummary,
classify_fingerprint_classes, compare_normalized, explore_scenario_runner_seed_space,
explore_seed_space, explore_spork_seed_space, normalize_for_replay,
normalize_for_replay_with_config, summarize_spork_reports, traces_equivalent,
};
pub use runtime::{
AutoAdvanceTermination, HarnessAttachmentKind, HarnessAttachmentRef, LabConfigSummary,
LabRunReport, LabRuntime, LabTraceCertificateSummary, SporkHarnessReport, VirtualTimeReport,
};
pub use scenario::{
CancellationSection, CancellationStrategy, ChaosSection, FaultAction, FaultEvent, IncludeRef,
LabSection, LatencySpec, LinkConditions, NetworkPreset, NetworkSection, Participant,
SCENARIO_SCHEMA_VERSION, Scenario, ValidationError as ScenarioValidationError,
};
pub use scenario_runner::{
ExplorationRunSummary, FilteredOracleReport, ScenarioExplorationResult, ScenarioRunResult,
ScenarioRunner, ScenarioRunnerError as FrankenLabRunnerError, TraceCertificateSnapshot,
};
pub use snapshot_restore::{
RestorableSnapshot, RestoreError, SnapshotRestore, SnapshotStats, ValidationResult,
};
pub use spork_harness::{
HarnessError, ScenarioRunnerError, SporkAppHarness, SporkScenarioConfig, SporkScenarioResult,
SporkScenarioRunner, SporkScenarioSpec,
};
pub use virtual_time_wheel::{ExpiredTimer, VirtualTimerHandle, VirtualTimerWheel};