The Stable Surface¶
This is the reviewed, deliberately short list of what 0.8.1 supports as stable (worklist A1.3): the
surfaces covered by the compatibility policy in Support Policy, whose behavior is pinned by tests and
whose changes follow the deprecation lifecycle. It is short on purpose – short enough to test exhaustively
and read on one page. Everything not on this list is provisional or experimental per the machine
registry in mixle.maturity; a whole namespace is never declared stable when only a subset is
mature.
The rule: a surface is stable only with artifact-level evidence – a test or gate that fails if the behavior regresses. Each row below names that evidence.
Stable surface |
Evidence (fails on regression) |
|---|---|
Gaussian, Gamma, Exponential, LogGaussian, Poisson, Geometric, and Categorical distribution modules |
the complete invariant catalog for this allowlist, their per-family interface and recovery
suites, and |
|
exact pack/unpack shape, ordering, and round-trip contracts |
|
the packaged |
Direct MLE / EM / conjugate fitting through |
the weighted-estimation contract (weights == replicated sufficient statistics), the fit-seed determinism suite, and EM monotonicity/quiet-by-default behavior |
Base NumPy execution (no optional backend installed) |
the blocking clean-wheel install + import-sweep job and the base-install optional-import guard |
Serialization paths explicitly covered by compatibility tests |
the five explicitly stable persistence schemas (Gaussian, Poisson, Exponential, Categorical,
and nested Mixture), their digest-bound 0.7.0 load fixtures and |
Not stable¶
Everything else is explicitly not covered by the stable compatibility promise, even where it is useful and tested:
provisional (usable, may change within a minor release) – all other
mixle.statsfamilies (including combinators, mixtures, HMMs, graphs, processes, and Bayesian catalogs),mixle.ppl,mixle.process,mixle.models(neural leaves, GPs, grammars, …),mixle.task/mixle.reason,mixle.enumeration/mixle.opsbeyond the capability-gated core,mixle.doe/mixle.evolve, the runtime layers (mixle.substrate/mixle.pool/mixle.telemetry/mixle.scientist), andmixle.inference.production(see Project Maturity);experimental (no compatibility guarantee) – everything under
mixle.experimentaland the standalone frontier-training mechanism prototypes (muP, 2:4 sparsity, scaling laws, simulated TP/PP/CP, and fault injection). The executable distributed backend and complete-state checkpoint APIs are provisionalmixle.utils.parallelsurfaces, not stable compatibility promises.
To check a surface’s tier programmatically:
from mixle.maturity import maturity_of
maturity_of("mixle.stats.univariate.continuous.gaussian") # -> Maturity.STABLE
maturity_of("mixle.stats.latent.hidden_markov") # -> Maturity.PROVISIONAL
maturity_of("mixle.ppl") # -> Maturity.PROVISIONAL
The stable list and the machine registry are kept consistent by a test, so this page cannot silently claim more than the registry backs.