A practical MoonBit reliability engineering library with lifetime distributions, censored survival analysis, MLE fitting, accelerated life testing, system reliability, uncertainty analysis, and reproducible benchmarks.
import {
"wcx789ll/moon-reliability" @reliability,
}let model = @reliability.Weibull::new(100.0, 2.0)
let r50 = model.reliability(50.0)
let b10 = model.quantile(0.1)let records = [
@reliability.LifetimeRecord::observed(12.0),
@reliability.LifetimeRecord::observed(19.0),
@reliability.LifetimeRecord::right_censored(25.0),
]
let curve = @reliability.kaplan_meier(records)
let fit = @reliability.fit_weibull_censored(records)moon run --target native cmd/benchmarkmoon fmt --check
moon check --target all --deny-warn
moon test --target all --deny-warn
moon info
moon run --target native cmd/benchmark| 路径 | 内容 |
|---|---|
| *_distribution.mbt | 概率分布、可靠度和分位数算法 |
| *_censored.mbt、kaplan_meier.mbt | 删失数据、生存曲线和参数估计 |
| system_reliability.mbt、network_reliability.mbt | 系统、网络和任务可靠性 |
| simulation.mbt、bootstrap.mbt、uncertainty.mbt | 仿真和不确定性传播 |
| observability.mbt | 运行时指标、事故、告警、预算和健康度 |
| maintenance.mbt、warranty.mbt、sla_analysis.mbt | 运维、保修和服务等级分析 |
| cmd/benchmark | 可复现的 native 基准入口 |
| .github/workflows | 跨平台 CI 与手动发布工作流 |
pub struct AcceleratedLifeModel {
law : String
coefficients : Array[Double]
reference_stress : Double
unit : String
fit : RegressionResult
}fn AcceleratedLifeModel::acceleration_factor(self : AcceleratedLifeModel, use_stress : Double) -> Doublefn AcceleratedLifeModel::confidence_band(self : AcceleratedLifeModel, stress : Double, confidence_level : Double) -> MetricEstimatepub struct AlertDecision {
rule_name : String
triggered : Bool
value : Double
threshold : Double
consecutive : Int
severity : Int
}pub struct AlertRule {
name : String
threshold : Double
direction : Int
minimum_samples : Int
consecutive_windows : Int
}pub struct AvailabilityPoint {
time : Double
availability : Double
unavailability : Double
expected_failures : Double
}pub struct BathtubHazard {
early_rate : Double
random_rate : Double
wearout_scale : Double
wearout_shape : Double
}pub struct BenchmarkResult {
name : String
iterations : Int
elapsed_micros : Int64
checksum : Double
operations_per_second : Double
}pub struct BootstrapResult {
estimates : Array[Double]
estimate : Double
bias : Double
standard_error : Double
lower : Double
upper : Double
confidence_level : Double
}pub struct CapacityPlan {
baseline : Double
peak : Double
headroom : Double
target : Double
required_capacity : Double
utilization : Double
breach : Bool
}pub struct CompetingRiskCurve {
points : Array[CumulativeIncidencePoint]
causes : Int
final_incidence : Array[Double]
}fn CompetingRiskCurve::incidence_at(self : CompetingRiskCurve, cause : Int, time : Double) -> Doublepub struct ConfidenceInterval {
lower : Double
upper : Double
}pub struct ControlLimits {
center : Double
upper : Double
lower : Double
sigma : Double
violations : Array[Int]
}pub struct DataQualityReport {
input_count : Int
valid_count : Int
invalid_count : Int
duplicate_count : Int
negative_count : Int
zero_count : Int
warnings : Array[String]
}pub struct DiagnosticResult {
statistic : Double
p_value : Double
passed : Bool
residuals : Array[Double]
message : String
}pub struct Exponential {
lambda : Double
}pub struct FailureModeContribution {
name : String
probability : Double
cost : Double
risk_contribution : Double
}pub struct FleetPlan {
fleet_size : Int
horizon : Double
expected_failures : Double
spare_units : Int
stockout_probability : Double
expected_downtime : Double
}pub struct ForecastPoint {
horizon : Int
value : Double
lower : Double
upper : Double
}pub struct ForecastResult {
points : Array[TimeSeriesPoint]
algorithm : String
residual_scale : Double
}pub struct ForecastSeries {
points : Array[ForecastPoint]
slope : Double
intercept : Double
residual_scale : Double
}pub struct GammaDistribution {
shape : Double
rate : Double
}pub struct Gompertz {
scale : Double
growth : Double
}pub struct HealthSnapshot {
availability : Double
stability : Double
coverage : Double
freshness : Double
health_score : Double
status : String
}pub struct IncidentRecord {
start : Double
end : Double
severity : Int
cause : Int
}pub struct IncidentSummary {
count : Int
total_duration : Double
union_duration : Double
mean_duration : Double
maximum_duration : Double
severity_weight : Double
rate : Double
}pub struct IntervalRecord {
lower : Double
upper : Double
status : ObservationStatus
weight : Double
}pub struct InverseGaussian {
mean : Double
shape : Double
}fn LifeObservation::with_metadata(self : LifeObservation, cause~ : Int, weight~ : Double) -> LifeObservationpub struct LifeTable {
intervals : Array[LifeTableInterval]
total_failures : Int
restricted_mean : Double
final_survival : Double
}pub struct LifeTableInterval {
lower : Double
upper : Double
exposed : Double
failures : Int
withdrawals : Int
failure_probability : Double
survival_probability : Double
hazard : Double
}pub struct LogLogistic {
scale : Double
shape : Double
}pub struct Lognormal {
mu : Double
sigma : Double
}pub struct MaintenanceSchedule {
ages : Array[Double]
actions : Array[MaintenanceAction]
expected_costs : Array[Double]
expected_availability : Array[Double]
selected_age : Double
}pub struct MetricEstimate {
estimate : Double
lower : Double
upper : Double
confidence_level : Double
}pub struct MissionResult {
survival : Double
cumulative_hazard : Double
segment_hazards : Array[Double]
expected_failures : Double
}pub struct MissionSegment {
start : Double
duration : Double
stress_multiplier : Double
}pub struct Normal {
mean : Double
standard_deviation : Double
}pub struct OptimizationResult {
parameter : Double
objective : Double
iterations : Int
converged : Bool
}pub struct OutageMetrics {
saidi : Double
saifi : Double
caidi : Double
asai : Double
maifi : Double
total_customer_interruptions : Int
}pub struct OutageRecord {
customer : Int
start : Double
duration : Double
customers_affected : Int
cause : Int
}pub struct Pareto {
scale : Double
shape : Double
}pub struct PolicyDecision {
action : PolicyAction
score : Double
reason : String
urgency_hours : Double
}pub struct RandomState {
state : Int
}pub struct ReliabilityBudget {
target : Double
observed : Double
remaining : Double
burn_rate : Double
consumed_fraction : Double
status : String
}pub struct ReliabilityGrowthModel {
intercept : Double
shape : Double
scale : Double
fit : RegressionResult
}fn ReliabilityGrowthModel::expected_failures(self : ReliabilityGrowthModel, time : Double) -> Doublefn ReliabilityGrowthModel::failure_intensity(self : ReliabilityGrowthModel, time : Double) -> Doublefn ReliabilityGrowthModel::improvement_factor(self : ReliabilityGrowthModel, start : Double, end : Double) -> Doublefn ReliabilityGrowthModel::predict_time_for_failures(self : ReliabilityGrowthModel, failures : Double) -> Doublefn ReliabilityGrowthModel::reliability_growth_confidence(self : ReliabilityGrowthModel, time : Double, confidence : Double) -> MetricEstimatepub(all) enum ReliabilityModel {
ExponentialModel(Exponential)
WeibullModel(Weibull)
LognormalModel(Lognormal)
GammaModel(GammaDistribution)
LogLogisticModel(LogLogistic)
}fn ReliabilityModel::log_likelihood(self : ReliabilityModel, records : Array[LifeObservation]) -> Doublepub struct ReliabilityRequirement {
name : String
mission_time : Double
minimum_survival : Double
confidence_level : Double
penalty : Double
}pub struct ReliabilityScorecard {
reliability_score : Double
availability_score : Double
quality_score : Double
maintenance_score : Double
overall_score : Double
grade : String
recommendations : Array[String]
}pub struct ReliabilitySnapshot {
time : Double
reliability : Double
hazard : Double
cumulative_hazard : Double
mission_success : Double
}pub struct ReliabilitySystem {
name : String
logic : SystemLogic
component_reliabilities : Array[Double]
reliability : Double
importance : Array[Double]
}pub struct RequirementResult {
requirement : String
estimate : Double
lower_bound : Double
margin : Double
passed : Bool
penalty : Double
explanation : String
}pub struct RiskItem {
name : String
severity : Int
occurrence : Int
detection : Int
risk_priority_number : Int
recommended_action : String
}pub struct SampleSummary {
count : Int
failures : Int
censored : Int
total_weight : Double
mean : Double
variance : Double
standard_deviation : Double
minimum : Double
maximum : Double
median : Double
}pub struct SensitivityPoint {
parameter : String
baseline : Double
perturbed : Double
absolute_change : Double
relative_change : Double
elasticity : Double
}pub struct SlaPolicy {
window : Double
promised_availability : Double
credit_rate : Double
maximum_credit : Double
}pub struct SlaResult {
observed_availability : Double
downtime : Double
breach : Bool
credit : Double
error_budget_remaining : Double
confidence : MetricEstimate
}pub struct SurvivalCurve {
points : Array[SurvivalPoint]
median : Double?
restricted_mean : Double
total_events : Int
}pub struct SurvivalPoint {
time : Double
at_risk : Int
events : Int
censored : Int
survival : Double
standard_error : Double
cumulative_hazard : Double
}pub(all) enum SystemLogic {
Series
Parallel
KOutOfN(Int)
}pub struct TelemetryPoint {
timestamp : Double
value : Double
healthy : Bool
weight : Double
}pub struct TelemetryWindow {
points : Array[TelemetryPoint]
start : Double
end : Double
interval : Double
}pub struct TimeSeriesPoint {
time : Double
value : Double
lower : Double
upper : Double
}fn TransitionMatrix::power(self : TransitionMatrix, distribution : Array[Double], steps : Int) -> Array[Double]pub struct TruncatedModel {
base : ReliabilityModel
lower : Double
upper : Double
normalization : Double
}pub struct WarrantyAnalysis {
claims : Double
expected_cost : Double
cost_per_unit_time : Double
claim_probability : Double
renewal_cycles : Double
}pub struct WarrantyPolicy {
duration : Double
replacement_cost : Double
service_cost : Double
salvage_value : Double
renewal : Bool
}pub struct Weibull {
scale : Double
shape : Double
}fn accelerated_life_model(law~ : String, coefficients~ : Array[Double], reference_stress~ : Double, unit~ : String, fit~ : RegressionResult) -> AcceleratedLifeModelfn acceptance_number(sample_size : Int, allowable_failure_rate : Double) -> Intfn age_replacement_schedule(model : ReliabilityModel, policy_cost : Double, repair_cost : Double, start_age : Double, end_age : Double, steps : Int) -> MaintenanceSchedulefn alert_rule(name~ : String, threshold~ : Double, direction~ : Int, minimum_samples~ : Int, consecutive_windows~ : Int) -> AlertRulefn alternating_renewal_availability(uptime : Double, downtime : Double) -> Doublefn arrhenius_acceleration(activation_energy : Double, use_temperature : Double, reference_temperature : Double) -> Doublefn availability_point(time~ : Double, availability~ : Double, unavailability~ : Double, expected_failures~ : Double) -> AvailabilityPointfn availability_slo_curve(model : ReliabilityModel, windows : Array[Double]) -> Array[MetricEstimate]fn bathtub_hazard(early_rate~ : Double, random_rate~ : Double, wearout_scale~ : Double, wearout_shape~ : Double) -> BathtubHazardfn benchmark_distribution_kernel(model : ReliabilityModel, grid : Array[Double], repetitions : Int) -> Doublefn benchmark_result(name~ : String, iterations~ : Int, elapsed_micros~ : Int64, checksum~ : Double, operations_per_second~ : Double) -> BenchmarkResultfn benchmark_result_from_measurement(name : String, iterations : Int, elapsed_micros : Int64, checksum : Double) -> BenchmarkResultfn benchmark_system_kernel(models : Array[ReliabilityModel], times : Array[Double], repetitions : Int) -> Doublefn bootstrap_mean(values : Array[Double], replications : Int, seed : Int, confidence_level : Double) -> BootstrapResultfn bootstrap_median(values : Array[Double], replications : Int, seed : Int, confidence_level : Double) -> BootstrapResultfn bootstrap_reliability(records : Array[LifeObservation], time : Double, replications : Int, seed : Int) -> BootstrapResultfn bootstrap_result(estimates~ : Array[Double], estimate~ : Double, bias~ : Double, standard_error~ : Double, lower~ : Double, upper~ : Double, confidence_level~ : Double) -> BootstrapResultfn bootstrap_statistic(values : Array[Double], replications : Int, seed : Int, confidence_level : Double, statistic : (Array[Double]) -> Double) -> BootstrapResultfn bridge_component_reliability(left : Double, bridge : Double, right : Double) -> Doublefn build_reliability_system(name : String, logic : SystemLogic, components : Array[Double]) -> ReliabilitySystemfn build_scorecard(model : ReliabilityModel, observed_availability : Double, defect_rate_value : Double, maintenance_compliance : Double, horizon : Double) -> ReliabilityScorecardfn calculate_outage_metrics(outages : Array[OutageRecord], customers : Int, observation_window : Double) -> OutageMetricsfn capability_indices(values : Array[Double], lower_spec : Double, upper_spec : Double) -> (Double, Double, Double)fn capacity_plan(observations : Array[Double], target_utilization : Double, safety_factor : Double) -> CapacityPlanfn cold_standby_reliability(primary : ReliabilityModel, standby : ReliabilityModel, switch_probability : Double, time : Double) -> Doublefn common_cause_adjustment(independent : Double, beta : Double) -> Doublefn competing_risk_curve(points~ : Array[CumulativeIncidencePoint], causes~ : Int, final_incidence~ : Array[Double]) -> CompetingRiskCurvefn confidence_interval(estimate : Double, standard_error : Double, confidence_level : Double) -> ConfidenceIntervalfn confidence_to_standard_error(lower : Double, upper : Double, confidence : Double) -> Doublefn control_limits(center~ : Double, upper~ : Double, lower~ : Double, sigma~ : Double, violations~ : Array[Int]) -> ControlLimitsfn cumulative_incidence_point(time~ : Double, at_risk~ : Int, events_by_cause~ : Array[Int], survival~ : Double, incidence_by_cause~ : Array[Double]) -> CumulativeIncidencePointfn data_quality_report(input_count~ : Int, valid_count~ : Int, invalid_count~ : Int, duplicate_count~ : Int, negative_count~ : Int, zero_count~ : Int, warnings~ : Array[String]) -> DataQualityReportfn decide_policy(survival : Double, hazard : Double, target_survival : Double, hazard_limit : Double, hours_since_service : Double) -> PolicyDecisionfn delta_method(mean_value : Double, standard_error : Double, transform : (Double) -> Double) -> MetricEstimatefn demonstrate_reliability(model : ReliabilityModel, times : Array[Double]) -> Array[MetricEstimate]fn design_correlation(design : Array[DesignPoint], first_factor : Int, second_factor : Int) -> Doublefn design_point(id~ : Int, factors~ : Array[Double], replicate~ : Int, center~ : Bool) -> DesignPointfn diagnostic_result(statistic~ : Double, p_value~ : Double, passed~ : Bool, residuals~ : Array[Double], message~ : String) -> DiagnosticResultfn distribution_sensitivity(model : ReliabilityModel, time : Double, parameter : String, perturbation : Double) -> SensitivityPointfn downtime_budget_from_availability(horizon : Double, target_availability : Double) -> Doublefn erf(x : Double) -> Doublefn evaluate_availability_alert(window : TelemetryWindow, target : Double, minimum_samples : Int) -> AlertDecisionfn evaluate_burn_rate_alert(window : TelemetryWindow, target : Double, threshold : Double) -> AlertDecisionfn evaluate_requirement(model : ReliabilityModel, requirement : ReliabilityRequirement) -> RequirementResultfn evaluate_requirements(model : ReliabilityModel, requirements : Array[ReliabilityRequirement]) -> Array[RequirementResult]fn expected_queue_wait(arrival_rate : Double, service_rate : Double, servers : Int) -> Doublefn expected_repair_queue_length(arrival_rate : Double, service_rate : Double) -> Doublefn expected_risk_after_mitigation(modes : Array[FailureModeContribution], reductions : Array[Double]) -> Doublefn expected_state_time(matrix : TransitionMatrix, initial_state : Int, horizon : Double, step : Double, target_state : Int) -> Doublefn failure_mode_contribution(name~ : String, probability~ : Double, cost~ : Double) -> FailureModeContributionfn fault_tree_result(top_event_probability~ : Double, minimal_cut_sets~ : Array[Array[Int]], dominant_component~ : Int?) -> FaultTreeResultfn finite_difference_sensitivity(parameter : String, baseline_parameter : Double, baseline_metric : Double, perturbation : Double, evaluator : (Double) -> Double) -> SensitivityPointfn fit_arrhenius(temperature : Array[Double], life : Array[Double], reference : Double) -> AcceleratedLifeModelfn fit_eyring(temperature : Array[Double], stress : Array[Double], life : Array[Double], reference : Double) -> AcceleratedLifeModelfn fit_inverse_power(stress : Array[Double], life : Array[Double], reference : Double) -> AcceleratedLifeModelfn fleet_plan(fleet_size~ : Int, horizon~ : Double, expected_failures~ : Double, spare_units~ : Int, stockout_probability~ : Double, expected_downtime~ : Double) -> FleetPlanfn fleet_reliability(model : ReliabilityModel, fleet_size : Int, horizon : Double, required_units : Int) -> Doublefn forecast_result(points~ : Array[TimeSeriesPoint], algorithm~ : String, residual_scale~ : Double) -> ForecastResultfn format_double(value : Double, digits : Int) -> Stringfn golden_section_minimize(lower : Double, upper : Double, objective : (Double) -> Double, tolerance : Double) -> OptimizationResultfn inspection_interval(model : ReliabilityModel, target_availability : Double, cost_of_inspection : Double, cost_of_failure : Double) -> Doublefn integrated_brier_score(model : ReliabilityModel, records : Array[LifeObservation], start : Double, stop : Double, steps : Int) -> Doublefn inverse_gaussian_reliability_margin(model : InverseGaussian, mission : Double, target : Double) -> Doublefn inverse_power_acceleration(exponent : Double, use_stress : Double, reference_stress : Double) -> Doublefn k_out_of_n_reliability(k : Int, component_reliability : Double, n : Int) -> Doublefn life_ratio(model : ReliabilityModel, first_probability : Double, second_probability : Double) -> Doublefn life_table(intervals~ : Array[LifeTableInterval], total_failures~ : Int, restricted_mean~ : Double, final_survival~ : Double) -> LifeTablefn life_table_interval(lower~ : Double, upper~ : Double, exposed~ : Double, failures~ : Int, withdrawals~ : Int, failure_probability~ : Double, survival_probability~ : Double, hazard~ : Double) -> LifeTableIntervalfn line_search(initial : Double, direction : Double, objective : (Double) -> Double) -> Doublefn lognormal_mean_uncertainty(mu : Double, sigma : Double, mu_error : Double, sigma_error : Double) -> MetricEstimatefn maintenance_schedule(ages~ : Array[Double], actions~ : Array[MaintenanceAction], expected_costs~ : Array[Double], expected_availability~ : Array[Double], selected_age~ : Double) -> MaintenanceSchedulefn markov_availability(failure_rate : Double, repair_rate : Double, time : Double) -> Doublefn markov_availability_curve(failure_rate : Double, repair_rate : Double, horizon : Double, steps : Int) -> Array[AvailabilityPoint]fn merge_observations(first : Array[LifeObservation], second : Array[LifeObservation]) -> Array[LifeObservation]fn metric_estimate(estimate~ : Double, lower~ : Double, upper~ : Double, confidence_level~ : Double) -> MetricEstimatefn mission_profile_grid(start : Double, duration : Double, segments : Int, stress : Double) -> Array[MissionSegment]fn mission_profile_requirement(name : String, model : ReliabilityModel, checkpoints : Array[Double], target : Double, confidence : Double, penalty : Double) -> Array[ReliabilityRequirement]fn mission_reliability_with_derating(model : ReliabilityModel, segments : Array[MissionSegment], derating : Double) -> Doublefn mission_result(survival~ : Double, cumulative_hazard~ : Double, segment_hazards~ : Array[Double], expected_failures~ : Double) -> MissionResultfn mission_segment(start~ : Double, duration~ : Double, stress_multiplier~ : Double) -> MissionSegmentfn mission_stress_sensitivity(model : ReliabilityModel, segments : Array[MissionSegment], perturbation : Double) -> SensitivityPointfn mixture_quantile(models : Array[ReliabilityModel], weights : Array[Double], p : Double, upper : Double) -> Doublefn mixture_survival(models : Array[ReliabilityModel], weights : Array[Double], time : Double) -> Doublefn mode_risk_share(mode : FailureModeContribution, modes : Array[FailureModeContribution]) -> Doublefn model_brier_score(model : ReliabilityModel, records : Array[LifeObservation], time : Double) -> Doublefn model_calibration_error(model : ReliabilityModel, records : Array[LifeObservation], bins : Int) -> Doublefn model_comparison(names~ : Array[String], log_likelihoods~ : Array[Double], aic~ : Array[Double], bic~ : Array[Double], preferred_aic~ : Int, preferred_bic~ : Int) -> ModelComparisonfn model_metric(model : ReliabilityModel, time : Double, confidence_level : Double) -> MetricEstimatefn monte_carlo_reliability(seed : Int, model : ReliabilityModel, time : Double, replications : Int) -> MetricEstimatefn monte_carlo_series(seed : Int, models : Array[ReliabilityModel], time : Double, replications : Int) -> MetricEstimatefn monthly_downtime_budget(window : Double, promised_availability : Double) -> Doublefn network_component_importance(network : NetworkReliability, components : Array[Double]) -> Array[Double]fn network_reliability(component_count~ : Int, paths~ : Array[Array[Int]], reliability~ : Double, path_contributions~ : Array[Double]) -> NetworkReliabilityfn network_reliability_from_paths(component_count : Int, paths : Array[Array[Int]], components : Array[Double]) -> NetworkReliabilityfn newton_solve(initial : Double, function : (Double) -> Double, derivative : (Double) -> Double, lower : Double, upper : Double, max_iterations : Int) -> (Double, Int, Bool)fn one_at_a_time(names : Array[String], baselines : Array[Double], metric : (Array[Double]) -> Double, fraction : Double) -> Array[SensitivityPoint]fn optimization_result(parameter~ : Double, objective~ : Double, iterations~ : Int, converged~ : Bool) -> OptimizationResultfn optimize_replacement_age(model : ReliabilityModel, minimum_age : Double, maximum_age : Double, steps : Int, replacement_cost : Double) -> Doublefn optimum_renewal_age(model : ReliabilityModel, replacement_cost : Double, reward_per_time : Double, start : Double, stop : Double, steps : Int) -> Doublefn outage_metrics(saidi~ : Double, saifi~ : Double, caidi~ : Double, asai~ : Double, maifi~ : Double, total_customer_interruptions~ : Int) -> OutageMetricsfn outage_record(customer~ : Int, start~ : Double, duration~ : Double, customers_affected~ : Int, cause~ : Int) -> OutageRecordfn plan_fleet(model : ReliabilityModel, fleet_size : Int, horizon : Double, target_stockout_probability : Double, repair_duration : Double) -> FleetPlanfn policy_decision(action~ : PolicyAction, score~ : Double, reason~ : String, urgency_hours~ : Double) -> PolicyDecisionfn policy_decisions_for_curve(model : ReliabilityModel, times : Array[Double], target : Double, hazard_limit : Double) -> Array[PolicyDecision]fn policy_risk_score(model : ReliabilityModel, time : Double, target : Double, hazard_limit : Double) -> Doublefn policy_score_curve(model : ReliabilityModel, times : Array[Double], target : Double, hazard_limit : Double) -> Array[Double]fn preventive_replacement_cost(model : ReliabilityModel, age : Double, replacement_cost : Double) -> Doublefn probability_integral_residuals(model : ReliabilityModel, records : Array[LifeObservation]) -> Array[Double]fn propagate_independent_uncertainty(means : Array[Double], standard_errors : Array[Double], evaluator : (Array[Double]) -> Double) -> MetricEstimatefn proportional_hazards_score(records : Array[LifeObservation], covariate : Array[Double]) -> RegressionResultfn quantile_quantile_pairs(model : ReliabilityModel, observations : Array[Double]) -> Array[(Double, Double)]fn reduce_mode_probability(mode : FailureModeContribution, reduction : Double) -> FailureModeContributionfn regression_result(coefficients~ : Array[Double], standard_errors~ : Array[Double], fitted~ : Array[Double], residuals~ : Array[Double], r_squared~ : Double, adjusted_r_squared~ : Double, residual_sum_squares~ : Double, observations~ : Int) -> RegressionResultfn regularized_gamma_p(a : Double, x : Double) -> Doublefn regularized_gamma_q(a : Double, x : Double) -> Doublefn reliability_growth_model(intercept~ : Double, shape~ : Double, scale~ : Double, fit~ : RegressionResult) -> ReliabilityGrowthModelfn reliability_requirement(name~ : String, mission_time~ : Double, minimum_survival~ : Double, confidence_level~ : Double, penalty~ : Double) -> ReliabilityRequirementfn reliability_scorecard(reliability_score~ : Double, availability_score~ : Double, quality_score~ : Double, maintenance_score~ : Double, overall_score~ : Double, grade~ : String, recommendations~ : Array[String]) -> ReliabilityScorecardfn reliability_snapshot(model : ReliabilityModel, time : Double, mission_count : Int) -> ReliabilitySnapshotfn reliability_system(name~ : String, logic~ : SystemLogic, component_reliabilities~ : Array[Double], reliability~ : Double, importance~ : Array[Double]) -> ReliabilitySystemfn renewal_reward_rate(model : ReliabilityModel, replacement_cost : Double, reward_per_time : Double, age : Double) -> Doublefn repair_queue_utilization(arrival_rate : Double, service_rate : Double) -> Doublefn repairable_availability(failure_rate : Double, repair_rate : Double) -> Doublefn required_sample_size(expected_proportion : Double, half_width : Double, confidence : Double) -> Intfn required_scale_for_mission(shape : Double, target : Double, mission_time : Double) -> Doublefn requirement_breach_time(model : ReliabilityModel, target : Double, confidence : Double, start : Double, stop : Double, steps : Int) -> Double?fn requirement_result(requirement~ : String, estimate~ : Double, lower_bound~ : Double, margin~ : Double, passed~ : Bool, penalty~ : Double, explanation~ : String) -> RequirementResultfn risk_item(name~ : String, severity~ : Int, occurrence~ : Int, detection~ : Int, recommended_action~ : String) -> RiskItemfn risk_matrix_score(severity : Int, occurrence : Int, detection : Int) -> Intfn rolling_availability(points : Array[TelemetryPoint], window_size : Int, step : Int) -> Array[Double]fn rolling_burn_rates(points : Array[TelemetryPoint], window_size : Int, step : Int, target : Double) -> Array[Double]fn rolling_failure_rates(points : Array[TelemetryPoint], window_size : Int, step : Int) -> Array[Double]fn rolling_health(points : Array[TelemetryPoint], window_size : Int, step : Int, target : Double) -> Array[Double]fn rolling_standard_deviations(points : Array[TelemetryPoint], window_size : Int, step : Int) -> Array[Double]fn rolling_windows(points : Array[TelemetryPoint], window_size : Int, step : Int) -> Array[TelemetryWindow]fn semi_markov_cycle_time(uptime : Double, downtime : Double) -> Doublefn sensitivity_point(parameter~ : String, baseline~ : Double, perturbed~ : Double, absolute_change~ : Double, relative_change~ : Double, elasticity~ : Double) -> SensitivityPointfn service_capacity(arrival_rate : Double, average_service_time : Double, target_utilization : Double) -> Intfn service_level(model : ReliabilityModel, response_time : Double, target : Double) -> MetricEstimatefn simple_forecast(values : Array[Double], horizon : Int, alpha : Double, step : Double) -> ForecastResultfn simulate_exponential_records(seed : Int, lambda : Double, count : Int, censor_time : Double) -> Array[LifeObservation]fn simulate_weibull_records(seed : Int, scale : Double, shape : Double, count : Int, censor_time : Double) -> Array[LifeObservation]fn sla_policy(window~ : Double, promised_availability~ : Double, credit_rate~ : Double, maximum_credit~ : Double) -> SlaPolicyfn sla_result(observed_availability~ : Double, downtime~ : Double, breach~ : Bool, credit~ : Double, error_budget_remaining~ : Double, confidence~ : MetricEstimate) -> SlaResultfn snapshot_series(model : ReliabilityModel, times : Array[Double], mission_count : Int) -> Array[ReliabilitySnapshot]fn spare_stockout_probability(expected_failures : Double, spare_units : Int) -> Doublefn standard_normal_cdf(x : Double) -> Doublefn standard_normal_inv(p : Double) -> Doublefn state_occupancy(matrix : TransitionMatrix, initial_state : Int, horizon : Double, step : Double) -> Array[Double]fn steady_state_distribution(matrix : TransitionMatrix, tolerance : Double, max_iterations : Int) -> Array[Double]fn steady_state_unavailability(failure_rate : Double, repair_rate : Double) -> Doublefn stratify_observations(records : Array[LifeObservation], strata : Array[Int]) -> Map[Int, Array[LifeObservation]]fn survival_point(time~ : Double, at_risk~ : Int, events~ : Int, censored~ : Int, survival~ : Double, standard_error~ : Double, cumulative_hazard~ : Double) -> SurvivalPointfn telemetry_point(timestamp~ : Double, value~ : Double, healthy~ : Bool, weight~ : Double) -> TelemetryPointfn telemetry_window(points : Array[TelemetryPoint], start~ : Double, end~ : Double, interval~ : Double) -> TelemetryWindowfn telemetry_window_threshold_count(window : TelemetryWindow, lower : Double, upper : Double) -> Intfn threshold_crossing(model : ReliabilityModel, target_reliability : Double, start : Double, stop : Double, steps : Int) -> Double?fn time_series_point(time~ : Double, value~ : Double, lower~ : Double, upper~ : Double) -> TimeSeriesPointfn two_state_transition(failure_rate : Double, repair_rate : Double, step : Double) -> TransitionMatrixfn warm_standby_reliability(primary : ReliabilityModel, standby : ReliabilityModel, time : Double) -> Doublefn warranty_analysis(claims~ : Double, expected_cost~ : Double, cost_per_unit_time~ : Double, claim_probability~ : Double, renewal_cycles~ : Double) -> WarrantyAnalysisfn warranty_policy(duration~ : Double, replacement_cost~ : Double, service_cost~ : Double, salvage_value~ : Double, renewal~ : Bool) -> WarrantyPolicyfn weighted_linear_regression(x : Array[Double], y : Array[Double], weights : Array[Double]) -> RegressionResultfn weighted_reliability_score(availability : Double, stability : Double, incident_burden_value : Double, target : Double) -> DoubleA practical MoonBit reliability engineering library with lifetime distributions, censored survival analysis, MLE fitting, accelerated life testing, system reliability, uncertainty analysis, and reproducible benchmarks.