## Status: ✅ Complete Shared foundation crate: traits, errors, type aliases, numerically stable helpers. ## Delivered - [x] `StatsError` + validation helpers (`require_positive`, `require_finite`, etc.) - [x] `ContinuousDistribution`, `DiscreteDistribution`, `MultivariateContinuousDistribution` - [x] `HypothesisTest`, `TestResult`, `Alternative` - [x] `PointEstimator`, `IntervalEstimator`, `ModelEstimator` - [x] `MleFit`, `MomFit`, `FittableDistribution` - [x] `numerics/stable.rs` — `log_sum_exp`, `softmax`, `log1pexp`, `log1mexp`, `logistic` - [x] Type aliases: `Scalar`, `Vector`, `Matrix`, views - [x] `unsafe_code = forbid` ## Python bindings No direct exposure — traits/types are internal. Python layer uses concrete distribution/test classes. ## Remaining (optional) - [ ] Tighten `missing_docs` warnings (18 clippy/doc warnings remain) - [ ] Move `Matrix`/`Vector` newtypes to `statscore-linalg` long-term
Status: ✅ Complete
Shared foundation crate: traits, errors, type aliases, numerically stable helpers.
Delivered
StatsError+ validation helpers (require_positive,require_finite, etc.)ContinuousDistribution,DiscreteDistribution,MultivariateContinuousDistributionHypothesisTest,TestResult,AlternativePointEstimator,IntervalEstimator,ModelEstimatorMleFit,MomFit,FittableDistributionnumerics/stable.rs—log_sum_exp,softmax,log1pexp,log1mexp,logisticScalar,Vector,Matrix, viewsunsafe_code = forbidPython bindings
No direct exposure — traits/types are internal. Python layer uses concrete distribution/test classes.
Remaining (optional)
missing_docswarnings (18 clippy/doc warnings remain)Matrix/Vectornewtypes tostatscore-linalglong-term