Skip to content

mixle v0.7.0

Latest

Choose a tag to compare

@gmboquet gmboquet released this 09 Jul 19:02
59ad4db

Workstream: generic AI-capability platform pieces on top of the core estimation engine (task
decomposition, cross-modal reasoning, self-improvement loops, a system facade), plus a hardening
pass across the automatic-inference and design-of-experiments subsystems.

Added

  • New model families: PINNRegression (physics-informed neural network leaf), HamiltonianNet
    (conservation-law-preserving dynamics), make_deep_set (permutation-equivariant networks),
    monotonic MLPs and input-convex energy networks, build_product_energy_net (energy-based product
    of experts), CopulaDistribution (arbitrary marginals + a Sklar dependence core),
    GatedMixtureDistribution (input-dependent mixture-of-experts weights).
  • Task-decomposition and agent-facing workstreams: plan models fit as Markov chains over agent
    traces, an outcome-trained decomposer, a minimal orchestrator loop, tabular Q-learning and
    maximum-entropy inverse RL, a local model registry, ExecutionTrace with bit-identical replay, the
    Receipt object (ledger + trace + calibration + provenance, offline re-verifiable), and the
    System facade (answer/ingest/improve).
  • Cross-modal reasoning: ModalityView, per-edge conditional-transport premise checks, belief walks
    across chains of verified transports, cycle-consistency as a self-supervised abstention signal,
    task-sufficient projection, information-gain retrieval, and the workstream-F flagship harness.
  • Self-improvement / knowledge-accumulation loops: the collapse monitor shared across amplification
    loops, the composition operator, DesignModel's cross-round what-works prior, diagnosis-directed
    correction, a knowledge-accumulation flywheel measurement, degradation-policy handling for fault
    modes, and cost-aware routing threshold selection.
  • doe: VerifiableOracle + the design-test-learn loop, noise-robust incumbent selection for
    Bayesian optimization, and a budgeted propose-verify-retrain loop over a discrete design space.

Fixed

  • mixle.utils.automatic: crashes on empty/degenerate input (ZeroDivisionError in the Poisson/
    Gaussian/log-normal estimator builders), every distribution detector silently dropping its own
    already-computed fit and the caller's pseudo_count, an IndexError on always-empty sequence
    fields, a modality-fingerprint diagnostic that could contradict the actual estimator built, and the
    model-suggestion logic ignoring its own held-out validation signal when it disagreed with the
    in-sample BIC pick.
  • mixle.data: Boolean.coerce silently inverting string-typed values (bool("False") == True),
    Schema.conform_record silently truncating mismatched records via an unchecked zip, an
    inconsistent tuple-vs-list adjacency coercion in the graph data source, and MaterializedSource
    silently accepting non-reiterable one-shot iterators.
  • mixle.doe: an unguarded Cholesky decomposition crashing on singular/near-singular input
    covariance, a Morris-screening ZeroDivisionError on a degenerate grid, a silent-NaN Gaussian
    Process surrogate when fit with zero observations, an infinite loop given a zero-cost fidelity in
    multi-fidelity optimization, several proposal functions crashing instead of validating
    n_candidates, TuRBO overshooting its evaluation budget on trust-region restart, silent
    batch-truncation/duplication under an oversized batch request, and BayesianOptimizer.ask()
    re-dispensing duplicate initial-design points in async/parallel ask-before-tell campaigns.
  • A circular import that broke mixle.inference entirely; a mixture-correction term error in
    explain()'s decision-margin ledger; a stale capacity.py embedding-head rung mismatch; CI
    flakiness in EM's log-likelihood computation and a de-flaked mixture-of-trees test; Python
    3.10-specific abstention timing in the oracle-timeout path.
  • Release-verification pass (found via a fresh, non-editable venv install of the built wheel --
    never caught by the dev environment, which has every optional extra installed): import mixle
    was completely broken (a missing-import NameError at class-definition time in
    mixle.models.dpo_leaf cascaded through mixle.models.__init__'s eager import chain into nearly
    every module), plus the same missing-import/stale-duplicate-method pattern recurring across 7
    sibling model files and pinn.py; 8 further modules importing torch-gated names unconditionally
    at module level (undermining their own already-correct optional-torch guards); a real
    DPOAccumulator.value() bug (weights returned as a list, not an array); a data-shape bug in
    zero_shot_bootstrap's generic neural-density fallback (a 24-dim row was split into 24 scalar
    fields instead of one vector field); a stale test fixture double-wrapping Registry.tier_stack's
    frontier callable; a layering violation (mixle.experimental.long_context_eval importing upward
    from mixle.ppl); and 2 more test files with the same unguarded-torch-import bug. Also: numba's
    tbb dependency floor made pip install mixle[numba]/mixle[all] uninstallable on Apple Silicon
    (no arm64 wheels) -- now platform-gated; ray and lightning were used by real, documented
    optional backends with no corresponding pip install mixle[...] extra -- both added.

Changed

  • pinn_leaf.py renamed to pinn.py; the "leaf" suffix dropped from PINN naming throughout.
  • Several mixle/doe tests re-marked slow (heavy Monte Carlo / neural-density fits) so the default
    fast test gate stays fast; a real duplicate-training bug (an estimator refit once per test instead
    of once per class) fixed alongside the re-marking.