1.1 development readiness audit¶
This page records the R4 development-line readiness audit for eyetrajectoriespy 1.1. It is a pre-RC evidence consolidation, not an RC release record and not publication authorization.
Decision snapshot¶
| Item | R4 result |
|---|---|
| Exact qualified protected-main commit | 1f9b80701ba4d10c97836277e18d8a16abe0038a |
| Active source identity | 1.1.0.dev0 |
| Stable compatibility baseline | immutable 1.0.0 |
| Exact-main workflow groups | 24/24 successful |
| R3 release-blocking friction | 0 |
| Publication readiness | disarmed |
| R4 recommendation | eligible_for_rc_decision=true |
The recommendation means that the integrated 1.1 development surface is sufficiently qualified to enter the separate R5 RC decision gate. It does not change the source version, create 1.1.0rc1, arm GitHub/PyPI publication, or publish any artifact.
Compatibility boundary¶
The frozen 1.0 compatibility manifest remains unchanged. ONE_DOT_ZERO_API_STABILITY.json still records 458 public exports, including 455 stable exports, three explicitly experimental exports and one compatibility export, with no authorized deprecations or removals. R1 deliberately kept the post-1.0 additions as supported module-scoped 1.1 APIs instead of mechanically expanding the frozen package-root namespace.
R4 does not mutate or relabel any frozen 1.0 validation or performance record. In particular, PERFORMANCE_ENVELOPE.json remains historical 1.0 evidence rather than being rewritten as 1.1 evidence.
Integration tranches¶
R1 — public-surface/API integration¶
R1 (#184 / PR #187) audited the combined A1-C1 public surface. The supported 1.1 additions remain module-scoped, result-object and reporting conventions are documented, and tests pin their deliberate absence from the frozen 1.0 root namespace. No estimator/default/version/publication change was introduced.
R2 — documentation and release narrative¶
R2 (#188 / PR #194) reconciled README, roadmap, changelog and release/readiness documentation with the completed A1-C1 programme. Historical releases remain historical records, 1.1.0.dev0 remains the active source identity, and no RC decision was made.
R3 — canonical product analyses¶
R3 (#189 / PR #195) exercised three coherent analysis routes using public supported APIs and deterministic realistic synthetic gaze rather than private qualification simulators:
- univariate sparse/irregular diagnostics → grouped bandwidth selection → sparse FPCA/PACE → conditional score uncertainty → future prediction → participant-aware split conformal calibration;
- paired planar bandwidth selection → sparse MFPCA/joint PACE → conditional joint-score uncertainty, plus a separate asynchronous coordinate-specific native-grid fit;
- sparse participant/trial multilevel FPCA with unequal trial counts and single-trial participants.
The first retained R3 run (37437196381) completed in 30.53 s with process max RSS 242,672 KiB, retained 51 evidence files, and recorded zero release-blocking friction. There were zero univariate PACE/uncertainty failures, zero paired or asynchronous joint-PACE failures and zero multilevel BLUP failures. The asynchronous fixture retained 259 x-only and 270 y-only timestamps without interpolation, nearest-neighbour synchronization or time binning.
A1-C1 exact-main evidence¶
All method-specific validations were rerun successfully on exact protected main 1f9b80701ba4d10c97836277e18d8a16abe0038a. R4 retains exact-main artifact identities rather than relying only on earlier feature-PR evidence.
| Tranche | Workflow | Exact-main run | Artifact | Digest |
|---|---|---|---|---|
| A1 conditional sparse-PACE score uncertainty | sparse-score-uncertainty-validation |
37439404000 |
11400607280 |
sha256:6e2ddfdf...deed1d |
| A2 audited sparse-FPCA bandwidth selection | sparse-bandwidth-selection-validation |
37439403877 |
11400891283 |
sha256:1b461b47...84bf09 |
| A3 observation-process diagnostics | observation-process-validation |
37439404153 |
11400572196 |
sha256:ff2610c9...8b6e7 |
| A4 conditional joint-PACE uncertainty | sparse-mfpca-score-uncertainty-validation |
37439403814 |
11400981227 |
sha256:58c0780e...263331 |
| A5 audited sparse-MFPCA bandwidth selection | sparse-mfpca-bandwidth-selection-validation |
37439404011 |
11399819377 |
sha256:bd76e514...6c80f9 |
| B1 sparse participant/trial multilevel FPCA | sparse-multilevel-validation |
37439403996 |
11400961213 |
sha256:0434797b...a95aec |
| B2 asynchronous coordinate-specific sparse MFPCA | sparse-mfpca-async-validation |
37439403973 |
11400966100 |
sha256:3c723d29...247031d |
| C1 sparse partial prediction + conformal bands | sparse-partial-prediction-validation |
37439403942 |
11400661649 |
sha256:ad10e508...ef4bab |
The complete digests and historical qualification identities are retained in ONE_DOT_ONE_DEVELOPMENT_READINESS.json.
Exact-main repository matrix¶
The post-R3 protected-main commit ran the complete repository qualification matrix and finished 24/24 workflow groups successfully with zero failures. The matrix included package build and the Ubuntu/macOS/Windows × Python 3.11-3.13 test/compile/Ruff lanes, strict docs and examples, release-readiness, package-wide performance, pre-0.12 recovery, sparse-native validation, A1-A5, B1, B2, C1, optional backends, functional-simulation validation/stress, product/reproducibility workflows, two-stage comparator sensitivity and the exact external mGSFPCA comparator.
Selected exact-main run identities retained for the RC decision are:
- tests:
37439404053; - examples:
37439403759; - docs:
37439403972; - release-readiness:
37439403832; - package-wide performance:
37439403915; - pre-0.12 recovery:
37439403977; - external comparator:
37439403893(job112189116488).
The external comparator installed the exact mGSFPCA dependency, ran the comparator, evaluated invariant sensitivity, verified its evidence contract and uploaded the evidence successfully.
Performance and product audit¶
No pathological runtime or peak-RSS growth was identified in the integrated 1.1 workflows at the qualified workloads. The exact-main package-wide performance gate passed, while the R3 canonical three-route product harness completed in about 30.5 s at about 237 MiB max RSS on its retained Ubuntu/Python 3.12 run.
Bandwidth cross-validation necessarily refits population models across declared candidates/folds, but this cost is explicit and opt-in: it is not hidden inside fit_sparse_fpca() or fit_sparse_mfpca(). R4 found no accidental repeated-refit path that silently changes the runtime contract of the canonical fitters.
R4 does not invent a new threshold merely to justify an RC and does not relabel the historical 1.0 performance envelope. A separate pre-RC 1.1 performance artifact is not required to make the R5 decision because current exact-main package/per-product evidence is non-pathological. If R5 approves 1.1.0rc1, however, that literal RC identity must generate fresh exact-version performance and qualification evidence before it can be considered qualified.
Retained non-blocking scope limits¶
The audit retains the following limitations rather than hiding them behind convenience behavior:
- asynchronous sparse-MFPCA bandwidths remain analyst-declared; there is no separately qualified asynchronous selector;
- sparse multilevel FPCA bandwidths remain analyst-declared; there is no dedicated multilevel selector;
- the first sparse multilevel tranche does not estimate fixed functional effects, which must be absent, stratified or handled upstream;
- sparse score/prediction uncertainty remains conditional on fitted population objects where documented rather than full population-estimation uncertainty;
- R3 is product/integration evidence from deterministic realistic synthetic gaze, not empirical human-data validation.
None of these limits contradicts the documented 1.1 estimands or creates a hidden compatibility failure. They therefore remain declared scope boundaries rather than R4 release blockers.
R4 recommendation¶
eligible_for_rc_decision=true.
The reason is joint rather than checklist-only: A1-C1 remain qualified together on one exact protected-main snapshot; the 1.0 compatibility boundary is preserved; R1-R3 close the API, documentation and end-to-end product-integration gaps; the complete exact-main matrix is green; R3 found no release-blocking product friction; and the current performance evidence does not reveal a pathological integrated workload.
R5 remains a separate decision. If R5 approves an RC, the next tranche must be version-only, move active identity to 1.1.0rc1, generate fresh literal-RC qualification/performance evidence, pass both PR and post-merge exact-main matrices, and keep publication readiness disarmed. Publication arming, if later approved, remains a separate governance-only change.