Skip to content

eyetrajectoriespy 0.11.0rc1

Release candidate — 29 September 2026

eyetrajectoriespy 0.11.0rc1 is the first release candidate for the feature-frozen known-truth functional simulation and recovery laboratory. It is a validation-infrastructure release candidate built on stable 0.10.0; it does not add a new estimator, generalized response family, numerical method, hidden analytical default, or post-0.11 research feature.

What 0.11 adds

The 0.11 line turns native functional simulation into a reusable validation laboratory. Its public contracts include:

  • explicit latent mean, eigenfunctions/eigenvalues, realized scores, latent curves, observation schedules, measurement noise, missingness and phase truth;
  • dense and directly generated irregular observation designs;
  • separately retained curve-, participant-, and trial-level score sources;
  • Gaussian and variance-matched Student-t curve-level score distributions;
  • explicit multichannel noise covariance and vector-valued latent modes;
  • FunctionalSimulationScenario for deterministic finite-sample designs;
  • a strict estimator boundary in which fitting receives observations and the declared scenario, while latent truth is supplied only afterward to recovery evaluation;
  • semantic recovery metrics for FPCA/MFPCA, native sparse FPCA/PACE, functional mixed-effects variance functions, registration/phase, and simulator hierarchy truth;
  • explicit failed-replicate retention and Monte Carlo summaries;
  • reporting, plotting, examples, and provenance for simulation/recovery studies.

Qualification versus stress evidence

0.11 keeps qualification and stress evidence separate.

The qualification workflow uses small deterministic scenarios with predeclared CI guards. Thresholds are integration guards for those seeded workloads, not universal statistical guarantees.

The separate stress workflow is threshold-free. It executes 14 named regimes covering sparse sampling, unequal sample counts, clustered/boundary-poor observation times, estimated measurement noise, high noise, nearly tied eigenvalues, heavy-tailed scores, participant- and trial-heavy hierarchy, phase variation, MCAR/block missingness, and correlated multichannel noise. Workflow success means the study executed reproducibly; it is not a claim that every scientific metric is acceptable in every regime.

Exact post-development stress evidence on commit f6bacfe64cd8639d365137f9c251b1c967aa78b5 retained 2/3 fail-closed noise_variance_invalid fits for the diagonal-difference estimated-noise stress regime. The one successful seed retained strong subspace/score recovery but large measurement-noise relative error. Those results are retained as evidence; no clipping or threshold widening is used.

Scientific boundaries

The 0.11 feature surface is frozen. This release candidate does not add:

  • sparse multivariate FPCA for planar gaze;
  • sparse participant/trial multilevel functional decomposition;
  • Bayesian sparse functional models;
  • additional generalized response families;
  • signal-dependent/informative missingness mechanisms;
  • a new nonlinear simulation ecosystem.

Those remain post-0.11 research directions.

Qualification discipline

0.11.0rc1 is qualified under its own exact package identity. The release candidate requires:

  • Python 3.11–3.13 core qualification across Ubuntu, macOS, and Windows;
  • strict documentation and executable examples;
  • optional scikit-fda and FDApy compatibility qualification on supported Python versions;
  • native sparse/PACE validation, including fail-closed measurement-noise behavior;
  • functional-simulation recovery qualification;
  • the separate threshold-free stress artifact with failed replicates retained;
  • a fresh exact-version non-comparative performance envelope;
  • build, metadata, wheel/sdist and fresh-install release checks;
  • reviewed release-readiness governance before any public publication.

The qualified 0.11.0.dev0 performance snapshot is archived and is not relabelled as rc1 evidence.

Install

After public rc1 publication:

pip install --pre eyetrajectoriespy==0.11.0rc1

Until then, stable installation remains:

pip install eyetrajectoriespy==0.10.0