Changes in version 0.7.4 Documentation - A vignette carries one task end to end on synthetic or bundled data, offline, and is built and run by R CMD check. - Runnable @examples added or corrected across 4 help pages. Each runs offline in seconds, writes nothing outside tempdir(), and is executed by R CMD check; anything needing a device, a download or an optional backend is fenced with the reason stated. - The README's quick start runs as written: it attaches the package, builds its own inputs, and uses only hard dependencies. Changes in version 0.7.3 Four cases gain a foreign-implementation check; one is re-certified after an operator fix. An audit of what actually validates each published claim found that ~14 % rest on operators whose only "benchmark" re-ran the same ecosystem code on a captured intermediate — an agreement with itself. That is the blind spot that hid the two reader defects corrected in 0.7.2. The highest-exposure members now have genuinely independent comparators, each bound as a claim so a future divergence fails certification: - gait-grf-gaitrec — the six group-mean vertical-GRF landmarks are bit-identical to a window-free scipy.signal.find_peaks implementation with prominence-based hump selection. This operator feeds eight GaitRec cases and was the single largest unguarded surface in the corpus. - gait-regularity-rqa-pamap2 — DET/LAM/RR identical (0.000e+00) to an independent NumPy recurrence quantification. The two shared conventions (Theiler window 0; the line-of-identity counted in vertical lines) are stated in the case, so the comparison is honest about what it does not establish. - adl-freeliving-pamap2 — the Rowlands intensity gradient identical (0.000e+00) to GGIR's own g.intensitygradient on the same ENMO epochs; GGIR's additional [4000,8000) mg bin is empty for this recording and that is stated rather than silently reconciled. - tms-eeg-tep-tesa — the TMS-evoked potential reproduces MNE-Python to a minimum per-channel correlation of 1.000000. Scope stated: this validates the baseline correction and component extraction, not the upstream 150-trial averaging, whose epoched input is not tracked. gait-grf-dynrange-pathology-gaitrec is re-certified against a root re-extracted with the corrected grfLandmarks() (PhysioMoCap 0.7.3). The cross-check above exposed a real defect: the operator searched three overlapping windows independently, so on six of the 499 knee-pathology curves it returned a mid-stance trough located before that curve's own loading peak. Welch t moves 17.2623 → 17.2754, df 336.89 → 338.12, the control / patient ratio 1.8672 → 1.8702; the finding (controls retain ~1.87× the dynamic range) and the bit-for-bit agreement with scipy.stats.ttest_ind and base R t.test are unchanged. The case's erratum also records why the sibling GaitRec cases could not be re-derived: their per-subject values come from an earlier extraction that is not row-aligned with the tracked stance curves. Schema conformance. SCHEMA.md states that opdag holds registry tool names, but 41 entries across the corpus did not. Corrected on the case side: one opdag was a bare string rather than an array, hdemgDecompose was a case-spelling of the real hdEMGDecompose, and readEDA / readEMG were role labels standing in for the readWFDB those pipelines actually ran. With the matching registry additions this leaves three entries — a physiopy Python op and two role labels in gait-grf-gaitrec. Gate + per-case audit ×114 = 0 failures; the tier split is unchanged at 109 verified / 5 validated. Changes in version 0.7.2 Erratum release. A data-correctness defect in PhysioIO::readWFDB() (fixed in PhysioIO 0.2.7) had offset every physical value read from MIT-BIH- and Fantasia-style WFDB headers, and one case additionally ran on a synthetic test fixture while claiming real MIT-BIH provenance. Fourteen cases were audited and re-certified against corrected data; the corrections, including the one finding that did not survive, are documented in a per-case ## Erratum section rather than silently overwritten. The reader defect A WFDB signal line whose gain field carries no (baseline) annex — the style of the original MIT-BIH and Fantasia headers — was read with baseline = gain instead of the spec default baseline = ADC zero, offsetting every sample by (adczero - gain)/gain: +4.12 mV on MIT-BIH, exactly −1 physical unit on Fantasia. Headers carrying an explicit (baseline) (BIDMC, GRABMyo, Non-EEG) were unaffected, as were all non-WFDB modalities. The corrected reader now reproduces the reference implementation wfdb-python bit-for-bit (max |difference| = 0) on both datasets — the validation this release rests on. What changed, by case - ecg-hrv-mitbih — two defects. Its pipeline read PhysioIO/inst/extdata/100, a synthetic codec-test fixture (so labelled in the commit that created it, and confirmed by the SHA-256 recorded in the shipped bundle), while the case described its input as MIT-BIH record 100. It now reads the tracked PhysioNet record itself: mean HR 72.03 → 75.51 bpm, mean RR 832.99 → 794.63 ms. A sweep of all 114 cases confirmed this was the only case whose input was a package test fixture. The page's cross-tool HRV and detection tables were unaffected (they derive from PhysioECG's wfdb 4.3.1-built reference fixture). - ecg-qrs-benchmark-mitbih — the offset cost the detector 139 beats on record 100 (FN 141 → 2, F1 0.9678 → 0.9993, moving it from the "moderate" to the "clean" tier), with smaller gains on 115/103/105. Pooled Se/PPV/F1 0.9578/0.9755/0.9666 → 0.9658/0.9759/0.9708. The .atr ground truth never passed through the defective path and is unchanged. - iqr-hrv-fantasia — the one finding that did not survive. The case reported a right-skewed RR distribution (skewness 1.01); that skew was an artefact of a beat the offset made the detector miss. Corrected, the distribution is near-symmetric but heavy-tailed (skewness 0.07, excess kurtosis 7.17). The case has been re-authored accordingly — including its audit invariant, from skewness > 0.5 to excess kurtosis > 3 and |skewness| < 0.5, so the automated check enforces the finding actually claimed. Its core result is unchanged and sharper: interquartileRange still reproduces scipy.stats.iqr and base R IQR bit-for-bit, and the correction moved SDNN by 4.4 ms while leaving the IQR at exactly 76 ms — the case's own thesis, demonstrated by a real perturbation. - Nine further Fantasia HRV cases (poincare-hrv, hra, csi-cvi, hti-tinn, hrv-time-neurokit, trimmed-mean-hrv, hrv-dfa-aging, hrv-lomb, and the ecg-hrv-aging cohort) were re-run on RR roots re-extracted with the corrected reader (+24 beats across the 10 subjects; the f1y01 five-minute window 391 → 392 intervals). Every finding-level invariant survived; the elderly subjects reproduced bit-for-bit throughout, an internal consistency check. Two honest consequences are now reported rather than smoothed: csi-cvi's NeuroKit2 agreement is no longer exactly 0 but at the floating-point floor (~1e-13), and NeuroKit2's TINN fit is degenerate (0 ms) on the corrected series, so hti-tinn reports a 164-vs-0 ms gap. - ecg-hr-spectrum-mitbih — record 117, which carries the claims, is unchanged to 10 decimals. Its secondary contrast records did move (115: mean RR 924.3 → 924.7; 103: 868.6 → 868.8) and were re-derived. - ecg-pvc-mitbih — unchanged: its reference-beat protocol scores the cardiologists' own beat locations and is insensitive to the offset. Provenance and tooling - Every re-certified case ships a new replay bundle produced by the corrected pipeline; all 114 cases pass the tier gate and their per-case audits (0 failures), and the tier split is unchanged at 109 verified / 5 validated. - The corrected numbers, artifact tables and figures are now produced by committed generators (agent/make_fantasia_rr_roots.R, agent/make__artifacts.R, agent/make__figure.R). Their absence is what made this correction laborious: the original artifacts had been written ad hoc. Every figure that displayed a changed number was re-rendered from the corrected artifacts. Changes in version 0.7.1 Metadata and documentation release — no case value, pipeline, bundle or tier changes. - Dataset license harmonised: the four GRABMyo cases' artifacts/data_sources.json now all record CC-BY 4.0 (PhysioNet grabmyo 1.0.2 and 1.1.0 both state the Creative Commons Attribution 4.0 International Public License; one record had said ODC-By v1.0 and one "PhysioNet Open Access"), and emg-spacetime-synergy-grabmyo now carries the version DOI 10.13026/89dm-f662 stated on the PhysioNet page (its former 10.13026/rd4p-4w49 is not stated there). - Dataset DOIs added where the source page states one: Fantasia 10.13026/C2RG61 (10 cases), BIDMC 10.13026/C2208R (6), Sleep-EDF 10.13026/C2X676 (4), TESA example data 10.4225/03/5719CEBC59438 (figshare record 3188800), Murphy et al. 2018 10.1371/journal.pbio.2002811 (the article the musculoskeletal network is digitised from), VerbAgg 10.32614/CRAN.package.lme4 (the CRAN package that ships the data). No DOI is stated for the MNE fNIRS tutorial recording or the openhdemg sample recording; those two records are unchanged. - The five validated-tier cases now state on their own page (index.qmd, section "Why this case is validated, not verified") why they carry no replay bundle, with the recomputed value where there is one: gait-promp-fukuchi (via-point pull 25.62° recomputed vs 25.8° published; promCondition version drift), hdemg-mu-openhdemg (MU5 at the separability floor, RoA ≈ 0, under PhysioHDEMG 0.2.0 vs 0.950 published), emg-spacetime-synergy-grabmyo (LOO gesture accuracy 8/14 = 0.571 recomputed vs 9/14 = 0.643 published), eeg-berger-bids-physiopy (Python physiopy/BIDS pipeline, no R op-DAG spec), gait-multimodal-fusion-fukuchi (unpublished heel-strike segmentation recipe; faithful reconstruction does not reproduce the published values). - Gates unchanged and green: tools/validate_case.py + per-case audit.py pass for all 114 cases (109 verified · 5 validated). Changes in version 0.7.0 Verified-tier promotion campaign: 6 → 109 of 114 cases now ship a replay bundle. - 103 cases promoted validated → verified. Each promoted case now carries a substrate replay bundle under inst/cases//bundle/: the frozen pre-registration (prereg.json, bound to case.json by its SHA-256), a run manifest with content-addressed output hashes, a claim-by-claim verification_report.json grounding every case claim, the terminal and external-reference comparison tables, and a provenance summary. Replay is byte-identical: re-executing the frozen op-DAG reproduces the terminal artifact hash exactly (stochastic operators under their recorded seed). - Multi-record / cohort headline claims (pooled QRS and PVC beat-detection scores over 8 and 9 MIT-BIH records, 20-subject Fantasia young-vs-elderly comparisons, the 53-record BIDMC PPG-vs-ECG agreement analysis, the 15-subject EMG-fatigue cohort, two-night Sleep-EDF spectra, 64-channel EEG topography aggregates, split-half synergy reliability, per-activity bilateral arm use, and the MBLL-vs-MNE cross-language check) are grounded by an extended reference layer that recomputes each aggregate independently from the raw public recordings — never from the case's own artifacts. - 5 cases remain validated-tier, each for a documented, honest reason stated in the case itself: eeg-berger-bids-physiopy (Python/BIDS pipeline), gait-promp-fukuchi (via-point conditioning version drift), hdemg-mu-openhdemg (MU5 at the separability floor), gait-multimodal-fusion-fukuchi (unpublished segmentation recipe), emg-spacetime-synergy-grabmyo (LOO gesture accuracy from a custom preprocessing chain whose raw multi-trial records are not tracked; faithful reconstruction gives 8/14 vs the published 9/14). - Gallery: tier badges now reflect the split (109 verified · 5 validated); every promoted case page documents its replay bundle; the landing glance table and the generated coverage map are rebuilt from the corpus. - Data hygiene: artifacts/data_sources.json is now present in all 114 cases (licenses and DOIs for the 8 backfilled records verified against the source repositories: MIT-BIH/eegmmidb/Non-EEG = ODC-By v1.0, GRABMyo = CC BY 4.0, with registered PhysioNet DOIs); cohort-longitudinal-parkinsons-updrs gained its missing gallery date. - Integrity gates unchanged and green: tools/validate_case.py (tier-aware invariants, including prereg_hash == sha256(bundle/prereg.json) and n_grounded == n_claims for verified cases) + per-case audit.py pass for all 114 cases. Changes in version 0.6.85 - New validated case gait-grf-variance-levene-gaitrec — pathology flattens AND constrains the GRF. Authoring PhysioAnalysis::leveneTest (robust Brown-Forsythe) and reusing the certified grfLandmarks-derived dynamic range, it tests whether the five GaitRec gait classes differ in variance. They do (Levene F(4,1839)=3.42, p=0.0086, healthy controls most variable at SD 0.128 vs pathology ~0.11) — though the normality-sensitive Bartlett test misses it (p=0.079); the two disagree, showing why the robust Levene is preferred. Pathology both flattens the dynamic range (lower mean) and constrains it (lower variance). leveneTest reproduces scipy.stats.levene and car::leveneTest to machine precision. Changes in version 0.6.84 - New validated case sway-retest-icc-bds — a single quiet-standing trial is reliable. Authoring PhysioAnalysis::intraclassCorrelation and reusing the certified PhysioMoCap::swayMetrics, it quantifies the test-retest reliability of COP path length across 3 repeated eyes-open-firm trials in 163 BDS subjects. A single trial has good reliability (ICC(2,1)=0.825) and the 3-trial average is excellent (ICC(2,k)=0.934) — single-trial posturography is trustworthy, averaging improves it (Spearman-Brown). intraclassCorrelation reproduces psych::ICC(lmer=FALSE) and pingouin.intraclass_corr to machine precision. Extends the reliability/psychometrics thread (with cronbachAlpha). Changes in version 0.6.83 - New validated case fes-reliability-cronbach-bds — the Falls Efficacy Scale is internally consistent. Authoring PhysioAnalysis::cronbachAlpha (a psychometrics op), it certifies the internal-consistency reliability of the 7 FES items in the BDS cohort (n=163): Cronbach's α = 0.823 (mean inter-item r = 0.41), good internal consistency — the items measure a coherent single construct, justifying the summed FES score the sway-cognition cases relied on. cronbachAlpha reproduces psych::alpha bit-for-bit and pingouin.cronbach_alpha to machine precision. Broadens the gallery into psychometrics. Changes in version 0.6.82 - New validated case sway-cognition-mlr-bds — the full multivariable model. Authoring PhysioAnalysis::multipleRegression and reusing the certified swayMetrics-derived sway, it fits eyes-closed-foam sway ~ age + Trail Making Test A, the fuller model the partial-correlation sibling called for. Age is the dominant predictor (β=1.59 cm/year, p=2e-8) while TMT-A's independent contribution is not significant (β=0.12, p=0.55); the model explains ~28% of sway variance (R²=0.276, F(2,155)=29.5). Cognitive speed adds nothing beyond age. multipleRegression reproduces base R lm bit-for-bit and statsmodels OLS to machine precision. Resolves the open question of sway-cognition-partial-bds. Changes in version 0.6.81 - New validated case sway-4cond-nemenyi-bds — vision matters far more on foam. Authoring PhysioAnalysis::nemenyiTest (Nemenyi post-hoc after Friedman) and reusing the certified swayMetrics-derived per-condition sway, it runs the post-hoc the Friedman sibling deferred. All six vision × surface condition pairs differ, but the vision effect depends on the surface: eyes-open vs eyes-closed is only borderline on firm ground (p=0.044) yet strong on foam (p=3.1e-8) — when proprioception is degraded, balance reweights toward vision. nemenyiTest reproduces PMCMRplus::frdAllPairsNemenyiTest bit-for-bit and scikit_posthocs.posthoc_nemenyi_friedman to machine precision. Resolves the open question of sway-4cond-friedman-bds, completing the post-hoc set (Tukey/Dunn/Nemenyi). Changes in version 0.6.80 - New validated case gait-grf-pushoff-dunn-gaitrec — push-off grades gait pathology. Authoring PhysioAnalysis::dunnTest (Dunn's post-hoc after Kruskal-Wallis) and reusing the certified grfLandmarks-derived push-off peak, it runs the post-hoc the Kruskal-Wallis sibling deferred. Healthy controls differ from all four pathology classes (4/4), and -- unlike the dynamic range, where Tukey found 0/6 pathology-pathology pairs -- the push-off peak separates 4/6 pathology-pathology pairs (calcaneus distinct from ankle/knee/hip, hip from ankle): the dynamic range flags impairment, the push-off peak grades it. dunnTest reproduces PMCMRplus::kwAllPairsDunnTest and scikit_posthocs.posthoc_dunn to machine precision. Resolves the open question of gait-grf-pushoff-kruskal-gaitrec. Changes in version 0.6.79 - New validated case gait-grf-tukey-pathology-gaitrec — which gait classes actually differ. Authoring PhysioAnalysis::tukeyHSD (all pairwise comparisons after one-way ANOVA) and reusing the certified grfLandmarks-derived dynamic range, it runs the post-hoc the ANOVA sibling deferred. Healthy controls differ significantly from all four pathology classes (every adjusted p < 2e-11) while none of the six pathology-pathology pairs differ (smallest p = 0.61): the GRF dynamic range separates healthy from pathological gait but not the pathologies from one another (the push-off case shows a different landmark grades them). tukeyHSD reproduces base R TukeyHSD and scipy.stats.tukey_hsd to machine precision. Resolves the open question of gait-grf-anova-pathology-gaitrec. Changes in version 0.6.78 - New validated case sway-cognition-partial-bds — the cognitive-motor link is mostly age. Authoring PhysioAnalysis::partialCorrelation and reusing the certified PhysioMoCap::swayMetrics, it adjusts the sibling case's sway-cognition association for age. The rank partial correlation attenuates from a marginal Spearman rho of 0.532 to 0.201 (p=0.012, still significant but much weaker), and the linear (Pearson) partial correlation vanishes (0.048, p=0.55): most of the marginal link was age, though a modest rank association survives. partialCorrelation reproduces ppcor::pcor.test and an independent closed-form recompute to machine precision. Honestly resolves the open question of sway-cognition-kendall-bds. Changes in version 0.6.77 - New validated case sway-cognition-kendall-bds — the cognitive-motor link. Authoring PhysioAnalysis::kendallTau (Kendall's tau-b, completing the rank-correlation trio) and reusing the certified PhysioMoCap::swayMetrics, it correlates eyes-closed-foam COP path length with Trail Making Test A time across 158 BDS subjects. Slower processing speed tracks more sway: tau-b = 0.368, z = 6.85, p ~ 7.2e-12; on the same data Pearson r = 0.335 < Spearman rho = 0.532 (monotonic > linear, so a rank correlation is preferred). kendallTau reproduces scipy.stats.kendalltau and base R cor.test(method="kendall") bit-for-bit. Honest limits: marginal/unadjusted (age a shared correlate), cross-sectional. Changes in version 0.6.76 - New validated case gait-pushoff-age-regression-gaitrec — the healthy-aging propulsion decline. Authoring PhysioAnalysis::linearRegression (simple OLS) and reusing the certified PhysioMoCap::grfLandmarks, it regresses the vertical-GRF push-off peak on age in GaitRec healthy controls (n=208, ages 15-78). The push-off peak declines at slope −0.00120 BW/year (−0.012 BW/decade; intercept 1.144 BW), t(206)=−4.61, p~7.0e-6, R²=0.094 — a modest but highly significant decline (age explains ~9% of the between-subject variance). linearRegression reproduces scipy.stats.linregress bit-for-bit and base R lm to machine precision. Honest limits: young-skewed ages, cross-sectional (not longitudinal). Changes in version 0.6.75 - New validated case gait-grf-pushoff-kruskal-gaitrec — the push-off peak discriminates gait pathology. Authoring PhysioAnalysis::kruskalTest (the non-parametric distribution-free counterpart of oneWayAnova) and reusing the certified PhysioMoCap::grfLandmarks, it compares the vertical-GRF push-off peak (late-stance propulsion) across five GaitRec gait classes. Because the push-off peak is right-skewed, Kruskal-Wallis is the appropriate omnibus: the classes differ (H(4)=274.5, p~3.5e-58) with healthy controls highest (mean 1.102 BW) and calcaneus pathology lowest (1.008 BW), ankle/knee/hip in between — unlike the dynamic range (ANOVA sibling), which clustered the pathology classes, the push-off peak separates them, the calcaneus propulsion deficit being most severe. kruskalTest reproduces base R kruskal.test bit-for-bit and scipy.stats.kruskal to machine precision. Changes in version 0.6.74 - New validated case sway-4cond-friedman-bds — the posturographic sensory hierarchy, tested correctly for repeated measures. Authoring PhysioAnalysis::friedmanTest (the non-parametric within-subject counterpart of the certified oneWayAnova) and reusing the certified PhysioMoCap::swayMetrics, it compares COP path length across the four BDS vision × surface quiet-standing conditions on the 158 subjects measured under all four. The conditions differ overwhelmingly (Friedman Q(3)=420.1, p~9.7e-91) in a monotone mean-rank order Open-Firm (1.31) < Closed-Firm (1.69) < Open-Foam (3.08) < Closed-Foam (3.92): each sensory challenge adds sway, and softening the surface (proprioception) dominates closing the eyes (vision). friedmanTest reproduces base R friedman.test bit-for-bit and scipy.stats.friedmanchisquare to machine precision. Closes the sibling romberg-vision-sway-bds case's 2×2 open question with the correct repeated-measures test. Changes in version 0.6.73 - New validated case gait-grf-anova-pathology-gaitrec — flattened GRF as a shared signature of impaired gait, certified with an omnibus one-way ANOVA. Authoring PhysioAnalysis::oneWayAnova (the many-group generalisation of the certified twoSampleTTest) and reusing the certified PhysioMoCap::grfLandmarks, it compares the vertical-GRF dynamic range (loading peak minus mid-stance trough) across five GaitRec gait classes — healthy control (n=208), ankle (n=483), knee (n=499), hip (n=364), calcaneus (n=290). The dynamic range differs across classes (F(4,1839)=73.4, p~8.9e-58), driven by healthy controls (mean 0.365 BW) having ~1.65x the range of the tightly clustered pathology classes (0.215–0.227 BW): GRF flattening is not knee-specific. oneWayAnova reproduces base R oneway.test(var.equal=TRUE) bit-for-bit and scipy.stats.f_oneway to machine precision. Generalises the sibling gait-grf-dynrange-pathology-gaitrec case, closing its open question. Changes in version 0.6.72 - New validated case gait-grf-dynrange-pathology-gaitrec — the flattened ground-reaction force of impaired gait, certified as a group difference. Reusing the certified PhysioAnalysis::twoSampleTTest and PhysioMoCap::grfLandmarks (a new finding, not new ops), it compares the vertical-GRF dynamic range (loading peak minus mid-stance trough) of healthy controls (n=208) vs knee-pathology patients (n=499) in the GaitRec dataset. Controls have a much larger dynamic range (mean 0.367 vs 0.196 BW, ratio ~1.87, Welch t = 17.3 on 337 df, p ~ 2.8e-48) — pathological gait flattens the GRF double-hump. The Welch t reproduces both scipy.stats.ttest_ind(equal_var = FALSE) and base R t.test bit-for-bit, turning the sibling gait-grf-gaitrec case's descriptive landmark means into a certified inferential result. Changes in version 0.6.71 - New validated case romberg-vision-sway-bds (the 100th validated case) — the visual contribution to balance. Reusing the certified PhysioAnalysis::pairedTTest (a new finding, not a new op), it compares eyes-closed vs eyes-open foam-surface COP path length (from the certified swayMetrics) across 50 subjects of the Santos & Duarte (2016) balance dataset. Eyes-closed sway (mean 217 cm) exceeds eyes-open (mean 167 cm), a ratio of ~1.30, highly significant (t = 7.57 on 49 df, p ~ 8.8e-10), and eyes-closed is greater in 43 of 50 subjects — the Romberg / vision effect. The paired t reproduces both scipy.stats.ttest_rel and base R t.test(paired = TRUE) bit-for-bit. Together with the foam-vs-firm (proprioception) and age effects, this completes the posturographic sensory triad — the three inputs to standing balance. Changes in version 0.6.70 - New validated case age-group-sway-bds — a group-comparison cohort case introducing PhysioAnalysis::twoSampleTTest (Welch). Splitting the Santos & Duarte (2016) cohort into older (n=11) and younger (n=39) subjects, foam-surface COP path length (from the certified swayMetrics) is markedly greater in the older group — mean 227 vs 151 cm, ratio ~1.5, Welch t = 3.86 on 14.5 df, p = 1.6e-3. The two-sample test reproduces both scipy.stats.ttest_ind(equal_var = FALSE) and base R t.test bit-for-bit. This is the age-related balance decline as a group comparison, complementing the continuous age-sway correlation (sibling case), on a chained certification (inputs from the separately-certified swayMetrics). Changes in version 0.6.69 - New validated case age-sway-correlation-bds — a cross-sectional cohort case introducing PhysioAnalysis::correlationTest and demonstrating the age-related decline in balance. Across 50 subjects (ages 18-75) of the Santos & Duarte (2016) balance dataset, quiet-standing COP path length (from the certified swayMetrics) increases with age — on the foam surface Pearson r = 0.62 (p = 1.5e-6) — and the age-sway correlation is stronger on foam (0.62) than firm (0.39): a compliant surface degrades proprioception and unmasks the age-related decline. The correlation reproduces both scipy.stats.pearsonr and base R cor.test bit-for-bit; a chained certification (the inputs come from the separately-certified swayMetrics). Changes in version 0.6.68 - New validated case posturography-foam-firm-bds — a cohort balance case introducing PhysioAnalysis::pairedTTest and demonstrating the sensory-reweighting effect. Across 50 subjects of the Santos & Duarte (2016) balance dataset, COP path length (from the certified swayMetrics) on a foam surface is ~2.76x that on a firm surface (mean 167 vs 61 cm), the paired difference is overwhelmingly significant (t = 17.3, df = 49, p ~ 1.6e-22), and foam exceeds firm in all 50/50 subjects. The paired t-test reproduces both scipy.stats.ttest_rel and base R t.test(paired = TRUE) bit-for-bit. Standing on foam degrades ankle proprioception, so the balance system reweights toward vision and vestibular input and sways more — a core balance / fall-risk concept, and a chained certification (the test's inputs come from the separately-certified swayMetrics). Changes in version 0.6.67 - New validated case sway-posturography-bds — a cross-tool audit certifying the posturography / balance metric suite. It validates the shipped PhysioMoCap::swayMetrics — not a new op — against an independent Python reimplementation of the Prieto et al. (1996) posturography formulas, for the first time. On a real 60-s quiet-standing center-of-pressure trial from the Santos & Duarte (2016) public balance dataset, the metrics (path length, mean velocity, 95% confidence ellipse/circle area, sway area, mean/RMS distance) reproduce the reference bit-for-bit (max |diff| ~7e-13). Construct check: the 95% confidence ellipse contains 96.7% of the COP samples, confirming it is correctly scaled. Sway metrics are the standard quiet-stance balance and fall-risk measures in rehabilitation. Changes in version 0.6.66 - New validated case sparc-ldlj-smoothness-wbds — a cross-tool audit certifying two neurorehabilitation-standard movement-smoothness metrics. It validates the shipped PhysioMoCap::sparc (Spectral Arc Length) and PhysioMoCap::ldlj (log dimensionless jerk) — not new ops — against an independent Python reimplementation of the canonical Balasubramanian et al. (2015) smoothness toolbox, for the first time. On a real WBDS gait knee angular-speed cycle both reproduce the reference bit-for-bit (max |diff| ~4e-16 for SPARC, ~1e-14 for LDLJ). A construct check confirms SPARC becomes more negative (less smooth) when the movement is corrupted with noise; and across the WBDS walking speeds the knee-speed cycle is smoothest at moderate speeds and less smooth at the fastest (speed-smoothness correlation −0.26), consistent with movement smoothness peaking near preferred speed. Changes in version 0.6.65 - New validated case ks-normality-eegmmidb — a new normality-test op case introducing PhysioAnalysis::ksNormalityTest (Kolmogorov-Smirnov), the empirical-CDF counterpart of jarqueBeraTest. On real eyes-closed EEG its D statistic reproduces both scipy.stats.kstest and base R ks.test bit-for-bit (|diff| ~4e-17 against each). Finding: on the same EEG, KS does not reject normality (D = 0.026, p = 0.24) even though jarqueBeraTest does (JB = 15.5, p = 4.3e-4) — the two normality tests reach opposite verdicts, because KS reads the overall CDF shape while Jarque-Bera flags the mild skew/kurtosis with the high power a large N confers. "Normal" is test-dependent. Caveat: the estimated-parameter KS p-value is anti-conservative (Lilliefors); the D statistic is exact. Changes in version 0.6.64 - New validated case trimmed-mean-hrv-fantasia — a new robust-location op case introducing PhysioAnalysis::trimmedMean, applied to HRV, completing the robust toolkit (robust location to go with the robust dispersion of medianAbsDev / interquartileRange). On real Fantasia RR intervals it reproduces both scipy.stats.trim_mean and base R mean(x, trim) bit-for-bit (|diff| = 0 against each) at trim 0.1/0.2/0.25. Finding: on the right-skewed RR the plain mean (767 ms) exceeds the 10%-trimmed mean (762), which exceeds the 20%-trimmed mean (760), which exceeds the median (756) — the trimmed mean interpolates between the mean and the median, and the mean-vs-trimmed gap measures how much the heavy RR tail inflates the mean (a robust central heart-period resistant to ectopic beats). Complements the iqr-hrv-fantasia case (robust dispersion on the same skewed RR). Changes in version 0.6.63 - New validated case iqr-hrv-fantasia — a new robust-dispersion op case introducing PhysioAnalysis::interquartileRange, applied to HRV. On real Fantasia RR intervals it reproduces both scipy.stats.iqr and base R IQR bit-for-bit (|diff| = 0 against each). Finding: the RR distribution is right-skewed and heavy-tailed (skewness 1.01, excess kurtosis 2.91), so the robust IQR-based SD estimate (56.3 ms) sits materially below SDNN (69.3 ms; ratio 0.81) — the opposite of the near-Gaussian eyes-closed EEG (median-abs-dev-eegmmidb), where the robust scale matched the SD to 0.2%. The robust/classical dispersion ratio is thus a distribution-shape diagnostic: here it shows SDNN is inflated by the heavy RR tail (respiratory sinus arrhythmia, occasional ectopy) that the robust IQR ignores. Changes in version 0.6.62 - New validated case multiscale-entropy-eegmmidb — a new standalone op case introducing PhysioEEG::multiscaleEntropy (Costa 2002), completing the entropy family. On a real eyes-closed EEG channel the per-scale MSE curve reproduces NeuroKit2 entropy_multiscale (MSEn) bit-for-bit across scales 1–8 (max |diff| ~4e-16). Finding: the curve is non-monotonic — it rises from scale 1 (1.327) to a peak at scale 5 (1.879) and stays above the scale-1 value, whereas a white-noise series of the same length and SD falls monotonically (2.16 → 1.08). The rise is the signature of genuine multi-scale structure in the eyes-closed EEG (fast activity plus slower alpha-band dynamics). Caveat: coarse-scale SampEn is less stable on short coarse-grained series (scale 8 leaves 200 points). Changes in version 0.6.61 - New validated case sampen-apen-eegmmidb — a cross-tool audit of the two most-used regularity measures. It certifies the shipped PhysioMoCap::sampleEntropy (Richman-Moorman) and approximateEntropy (Pincus) — not new ops — against the gold-standard Python references on EEG for the first time (they were previously certified only against a base-R Pincus recompute on accelerometer data). On a real eyes-closed EEG channel both reproduce both antropy and NeuroKit2 bit-for-bit (max |diff| ~2e-16 vs each). Finding: sample entropy (1.327) exceeds approximate entropy (1.292) — the textbook ApEn self-match bias, in which ApEn counts each template's match with itself and so systematically underestimates entropy; SampEn removes the self-count and is the less biased estimator. Changes in version 0.6.60 - New validated case median-abs-dev-eegmmidb — a new robust-dispersion op case introducing PhysioAnalysis::medianAbsDev (the robust companion of signalMoments). On a real eyes-closed EEG channel the raw MAD reproduces both scipy.stats.median_abs_deviation and base R stats::mad(constant = 1) bit-for-bit (|diff| = 0 against each): a double-reference agreement, because the raw MAD is an unambiguous order statistic. Finding: the normal-consistent MAD-scale (48.93) matches the population SD (48.83) to within 0.2% (ratio 1.002) — because MAD is robust and SD is not, this agreement is positive evidence the eyes-closed POz distribution is near-Gaussian and artifact-free, cross-consistent with the signalMoments and Jarque-Bera folds on the same channel. Convention note: the raw MAD (constant = 1) is validated exact; the normal-consistent constant 1/qnorm(0.75) differs between base R's rounded 1.4826 and scipy's full-precision value at ~1e-6. Changes in version 0.6.59 - New validated case katz-fd-eegmmidb — a new standalone op + cross-tool convention fix case. It introduces PhysioEEG::katzFD (Katz's fractal dimension), completing the fractal-dimension family (petrosianFD, svdEntropy). On a real eyes-closed EEG channel it reproduces two independent references — antropy.katz_fd and NeuroKit2 fractal_katz — bit-for-bit (|diff| = 0 against each): a double-reference machine-precision agreement. Integrity finding: the shipped eegComplexity(measure = "katz_fd") previously used a non-standard Euclidean-plane convention (KFD 1.696) that no reference tool produces; this fold unifies it to the field-standard amplitude-only convention (KFD 3.468, a ~1.77 change), restoring cross-tool comparability. Honest scope: the amplitude-only KFD is not bounded to [1, 2] (real EEG scores above 2, exactly as antropy/NeuroKit2 report) — a property of the de-facto convention, not an error. Changes in version 0.6.58 - New validated case jarque-bera-eegmmidb — a new-method authoring case adding the formal normality test (the confirmatory partner of signalMoments, analogous to Ljung-Box for the ACF): introduces and certifies a newly-authored op, PhysioAnalysis::jarqueBeraTest (Jarque-Bera statistic, built on signalMoments). On a real eyes-closed EEG channel it reproduces scipy.stats.jarque_bera bit-for-bit for both the statistic and the p-value. Finding (an instructive nuance): JB=15.5 rejects normality (p=4.3e-4) even though signalMoments finds the distribution descriptively near-Gaussian — because at N=1600 the test detects the mild skew (-0.23) and kurtosis (+0.16), the same large-N power phenomenon as the decisive ADF/Ljung-Box rejections. The honest lesson: on a long signal a normality test almost always rejects, so "approximately Gaussian" is an effect-size statement, not a test outcome. Honest scope: newly-authored op; machine-precision (identical closed-form JB + chi-square). Changes in version 0.6.57 - New validated case signal-moments-eegmmidb — a new-method authoring case adding the amplitude-distribution shape view: introduces and certifies a newly-authored op, PhysioAnalysis::signalMoments (mean, population SD, skewness, excess kurtosis). On a real eyes-closed EEG channel it reproduces scipy.stats.skew / kurtosis (and numpy mean/std) bit-for-bit (max |diff| ~4e-16). Finding: the amplitude distribution is approximately Gaussian (skewness -0.23, a mild left asymmetry; excess kurtosis +0.16, near-mesokurtic) — consistent with the normality many downstream methods assume, whereas a much larger kurtosis would flag a spiky artifact. Honest scope: newly-authored op; machine-precision (identical formulas, biased/population conventions). Changes in version 0.6.56 - New validated case ar-spectrum-eegmmidb — a new-method authoring case delivering the AR model's spectral payoff and completing the time-series lane: introduces and certifies a newly-authored op, PhysioAnalysis::arSpectrum (AR(8) Yule-Walker parametric spectrum), built on arYuleWalker. On a real eyes-closed EEG channel it reproduces stats::spec.ar bit-for-bit (max |rel diff| ~5e-14, including spec.ar's N/(N-p-1) variance convention). Finding: the AR spectral peak (10.9 Hz) falls in the alpha band and agrees within ~0.5 Hz with the nonparametric smoothed-periodogram peak (11.4 Hz) — the parametric and nonparametric spectral estimates concur on the eyes-closed alpha rhythm, each a check on the other. Honest scope: newly-authored op; machine-precision (identical AR spectral formula incl. the spec.ar variance convention); a spectral density up to the estimator's scaling. Changes in version 0.6.55 - New validated case kpss-eegmmidb — a new-method authoring case completing the ADF/KPSS confirmatory pair: introduces and certifies a newly-authored op, PhysioAnalysis::kpssTest (KPSS level-stationarity statistic), the complement of adfTest (KPSS's null is stationarity, ADF's is a unit root). On a real eyes-closed EEG channel its statistic reproduces statsmodels.tsa.stattools.kpss(regression = "c") bit-for-bit (|diff| ~7e-16). Finding: the KPSS statistic (0.20) is below the 5% critical value (0.463), so it fails to reject stationarity, and this agrees with the ADF test (which rejects the unit root) — the two complementary tests concur the segment is stationary, the strongest form of the conclusion. Honest scope: newly-authored op; only the statistic is bit-exact (critical values / p from reference tables); agreement is the finding (disagreement would flag long memory / fractional integration). Changes in version 0.6.54 - New validated case adf-eegmmidb — a new-method authoring case adding the stationarity check the ACF/PACF/AR/Ljung-Box folds implicitly assumed: introduces and certifies a newly-authored op, PhysioAnalysis::adfTest (Augmented Dickey-Fuller unit-root statistic). On a real eyes-closed EEG channel its statistic reproduces statsmodels.tsa.stattools.adfuller(autolag = None) bit-for-bit (|diff| ~7e-15). Finding: the statistic (-22.36) lies ~19.5 below the 5% Dickey-Fuller critical value (-2.86), decisively rejecting the unit-root null — the segment is stationary (no drift over 10 s), retroactively justifying the companion folds' assumption. Honest scope: newly-authored op; only the statistic is bit-exact (an exact OLS quantity) — the critical values and p-value require the MacKinnon reference tables and are not computed. Changes in version 0.6.53 - New validated case ljung-box-eegmmidb — a new-method authoring case adding the formal counterpart to the ACF/PACF/AR lane: introduces and certifies a newly-authored op, PhysioAnalysis::ljungBoxTest (Ljung-Box portmanteau white-noise / model-adequacy test, built on autocorrelation). On a real eyes-closed EEG channel it reproduces the field-standard statsmodels.stats.diagnostic.acorr_ljungbox bit-for-bit for both the Q statistic and the p-value (|diff| 0), and matches stats::Box.test to ~5e-12. Finding: at lag h=10, Q=4165 is ~228x the 95% chi-square critical value (18.31), so the eyes-closed EEG rejects the white-noise null overwhelmingly — the formal, quantitative counterpart of the strong ACF/PACF/AR structure of the companion folds. Honest scope: newly-authored op; machine-precision (identical closed-form Q + chi-square); on residuals the same op tests model adequacy. Changes in version 0.6.52 - New validated case ar-yule-walker-eegmmidb — a new-method authoring case completing the ACF/PACF/AR-fit lane: introduces and certifies a newly-authored op, PhysioAnalysis::arYuleWalker (AR(p) fit by Yule-Walker via Durbin-Levinson on the biased ACF, building on autocorrelation / partialAutocorrelation). On a real eyes-closed EEG channel it reproduces the field-standard statsmodels.regression.yule_walker(method = "mle") bit-for-bit for both the AR coefficients (max |diff| ~5e-15) and the innovation variance (~5e-13). Finding: the fitted AR(4) is stationary (all roots outside the unit circle, min |root| ~1.09) with a negative lag-2 coefficient, and its parametric spectrum peaks in the alpha band (~12 Hz) — a valid oscillatory generative model of eyes-closed alpha. Honest scope: newly-authored op (MLE/biased convention; adjusted and base-R ar.yw correction differ by construction); machine-precision (identical Yule-Walker). Changes in version 0.6.51 - New validated case pacf-eegmmidb — a new-method authoring case completing the ACF/PACF pair: introduces and certifies a newly-authored op, PhysioAnalysis::partialAutocorrelation (PACF via Durbin-Levinson on the biased ACF, building on the just-added autocorrelation). On a real eyes-closed EEG channel it reproduces the field-standard statsmodels.tsa.pacf(method = "ldb") bit-for-bit (max |diff| ~6e-15) across lags 0..20. Finding: the lag-1 PACF exactly equals the lag-1 ACF (0.856, the definitional identity), and the lag-2 PACF is strongly negative (-0.627) — the signature of an oscillatory AR(2)-like process, exactly what eyes-closed posterior alpha (a resonant ~10 Hz rhythm) looks like. Honest scope: newly-authored op (biased ldb convention; unbiased yw/ld/ols differ by construction); machine-precision (identical Levinson-Durbin recursion). Changes in version 0.6.50 - New validated case autocorrelation-eegmmidb — a new-method authoring case adding the foundational time-series primitive the ecosystem lacked: introduces and certifies a newly-authored op, PhysioAnalysis::autocorrelation (single-series ACF, biased/demeaned estimator). On a real eyes-closed EEG channel it reproduces the field-standard statsmodels.tsa.acf (adjusted = FALSE) bit-for-bit (max |diff| ~2e-16) across lags 0..30. Finding: the lag-0 value is exactly 1 (the ACF identity), and the ACF decays below 1/e by lag 3 — a short decorrelation time (~19 ms at 160 Hz). Honest scope: newly-authored op filling the single-series gap (crossCorrelation is between-two-series); machine-precision (identical estimator); a foundational primitive certified against statsmodels. Changes in version 0.6.49 - New validated case enmoa-freeliving-pamap2 — a new-method authoring case completing the accelerometer movement triad: introduces and certifies a newly-authored op, PhysioWearable::computeENMOa (ENMO-abs, |r - 1|), the always-positive companion of ENMO that retains the sub-1 g dips ENMO's truncation discards. On a real ~62-minute PAMAP2 free-living hand-accelerometer recording it reproduces GGIR::g.applymetrics ENMOa to machine precision (max |diff| ~2e-14 g, correlation 1.0) across all 749 5 s epochs. Finding: ENMOa ≥ ENMO at every epoch and exceeds it by ~63 mg on average (mean 224 vs 162 mg) — the movement below 1 g that ENMO discards. Honest scope: newly-authored op; machine-precision (identical computation); ENMOa a physical quantity completing the ENMO+MAD+ENMOa triad. Changes in version 0.6.48 - New validated case hti-tinn-fantasia — a cross-tool reproducibility-audit case (not new-method authoring): certifies the shipped PhysioECG::ecgHRVgeometric against the field-standard NeuroKit2.hrv_time geometric HRV indices on a real 5-minute Fantasia RR series. The HRV triangular index (HTI) reproduces NeuroKit2 HRV_HTI bit-for-bit (|diff| 0) — an integer-ratio index (391 intervals / a modal histogram height of 35 = 11.17) at the shared 1/128 s standard bin. TINN, by contrast, differs (164 vs 297 ms) — a documented triangular-interpolation convention (least-squares triangle base width vs NeuroKit2's fit), not a bug in either tool. Takeaway: HTI is portable and convention-free; report which TINN you use. Honest scope: cross-tool re-certification (op extended only to accept an RR data frame); HTI portable integer ratio; TINN convention-dependent. Changes in version 0.6.47 - New validated case phase-entropy-eegmmidb — a new-method authoring case adding a phase-plane complexity mechanism: introduces and certifies a newly-authored op, PhysioEEG::phaseEntropy (phase entropy, Rohila & Sharma 2019), which builds the Second-Order Difference Plot (first vs second differences) and takes the normalized Shannon entropy of the polar-angle distribution over k sectors. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_phase bit-for-bit (max |diff| ~4e-16) across the sector count k. Finding: PhasEn increases with k (1.238 → 1.287 → 1.299) and sits below the 1/ln(2) = 1.443 normalization ceiling. Honest scope: newly-authored op; machine-precision (identical pipeline); NeuroKit2 normalization reproduced; value depends on (delay, k). Changes in version 0.6.46 - New validated case slope-entropy-eegmmidb — a new-method authoring case completing the discrete-symbolic complexity trio: introduces and certifies a newly-authored op, PhysioEEG::slopeEntropy (slope entropy, Cuesta-Frau 2019), which symbolizes the slope angle atan(dx) between successive samples into five classes (steep/gentle/flat, up/down) and takes the Shannon entropy of the slope patterns — capturing local-trend shape (vs the amplitude-pattern and increment-magnitude mechanisms). It is the ecosystem's 100th registered analysis tool. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_slope bit-for-bit (max |diff| ~9e-16) across the embedding dimension. Finding: unlike the normalized entropies it increases with dimension (1.26 → 2.43 → 3.57, an unnormalized Shannon over longer patterns), and the signal realizes 18 of the 25 = 5^(m-1) possible slope patterns at m=3. Honest scope: newly-authored op; machine-precision (identical pipeline); value depends on (dimension, thresholds). Changes in version 0.6.45 - New validated case mad-freeliving-pamap2 — a new-method authoring case completing the accelerometer ENMO+MAD metric pair: introduces and certifies a newly-authored op, PhysioWearable::computeMAD (mean amplitude deviation, Vähä-Ypyä et al. 2015), the gravity-robust movement metric complementary to the (GGIR-certified) ENMO. On a real ~62-minute PAMAP2 free-living hand-accelerometer recording it reproduces GGIR::g.applymetrics MAD to machine precision (max |diff| ~5e-14 g, correlation 1.0) across all 749 5 s epochs. Finding: MAD measures the variation of the acceleration magnitude within an epoch (vs ENMO's elevation above 1 g), and on this recording ranges 5–1222 mg (mean 232 mg) — a physical movement profile. Honest scope: newly-authored op; machine-precision (identical computation); MAD is a physical quantity, so the mean/max/min are meaningful movement descriptors. Changes in version 0.6.44 - New validated case increment-entropy-eegmmidb — a new-method authoring case adding the increment-domain complexity the ecosystem lacked: introduces and certifies a newly-authored op, PhysioEEG::incrementEntropy (increment entropy, Liu et al. 2016), which symbolizes each successive increment by its sign and a magnitude class and takes the normalized Shannon entropy of the increment-words — a mechanism distinct from the amplitude-histogram, NCDF-pattern and template-matching entropies. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_increment bit-for-bit (max |diff| ~9e-16) across (dimension, q). Finding: it is non-increasing in the embedding dimension (4.27 → 3.51 → 3.01 at q=4), and the signal realizes only 33 of the 81 = (2q+1)^m possible increment-words (structured). Honest scope: newly-authored op; machine-precision (identical pipeline); value depends on (dimension, q). Changes in version 0.6.43 - New validated case fuzzy-entropy-eegmmidb — a new-method authoring case completing the sample-entropy family: introduces and certifies a newly-authored op, PhysioEEG::fuzzyEntropy (fuzzy entropy, Chen et al. 2007), the fuzzy generalization of sample entropy — a smooth exponential membership exp(-(d^n)/r) replaces the crisp Heaviside match threshold, so near-matches count partially (far more robust on short/noisy segments). On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_fuzzy bit-for-bit (max |diff| ~4e-15) across (dimension, r). Finding: at m=2, r=0.2 FuzzyEn (0.948) is lower than the crisp sample entropy (1.327) — the soft membership counts near-matches the step rejects — and FuzzyEn is non-increasing in the embedding dimension. Honest scope: newly-authored op; machine-precision (identical pipeline); value depends on (dimension, r, fuzzy power n). Changes in version 0.6.42 - New validated case hrv-time-neurokit-fantasia — a cross-tool reproducibility-audit case (not new-method authoring): certifies the shipped PhysioECG::ecgHRVtime against the field-standard Python reference NeuroKit2.hrv_time on a real 5-minute Fantasia RR series. The three core Task-Force metrics — MeanNN, SDNN and RMSSD (the two most-reported HRV indices in physiology) — reproduce NeuroKit2 bit-for-bit (max |diff| 0). The sole divergence is pNN50 (37.18% vs 37.08%), a documented denominator convention — ecgHRVtime divides the nn50 count by the number of successive differences (N−1 = 390), NeuroKit2 by the number of intervals (N = 391) — with the nn50 count itself identical at 145, proving the gap is denominator-only, not a beat-detection or threshold difference. Honest scope: cross-tool re-certification; MeanHR (60000/mean(RR)) estimand not cross-validated (NeuroKit2 hrv_time returns no MeanHR column). Changes in version 0.6.41 - New validated case dispersion-entropy-eegmmidb — a new-method authoring case introducing a newly-authored op, PhysioEEG::dispersionEntropy (dispersion entropy, Rostaghi & Azami 2016), a fast outlier-robust symbolic-dynamics complexity measure with a mechanism distinct from every entropy folded so far (NCDF amplitude-class ranking + embedding "dispersion patterns", rather than amplitude binning or ordinal ranking). On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_dispersion bit-for-bit for both the dispersion entropy DispEn (max |diff| 0) and the reverse dispersion entropy RDEn (max |diff| ~7e-18) across (c, dimension, delay) settings. Finding: the signal realizes only 108 of the 216 = c^m possible dispersion patterns (structured, not pattern-saturating), and DispEn (1.117) sits below the base-2/ln normalization ceiling 1/ln(2) = 1.443. Honest scope: newly-authored op; machine-precision (identical pipeline); NCDF classes near-equiprobable so complexity lives in the patterns; NeuroKit2 normalization reproduced, not corrected. Changes in version 0.6.40 - New validated case tsallis-entropy-eegmmidb — a new-method authoring case that completes the generalized-entropy pair: introduces and certifies a newly-authored op, PhysioEEG::tsallisEntropy (Tsallis entropy, 1988), the non-additive counterpart of the (additive) renyiEntropy added in the previous case. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_tsallis bit-for-bit (max |diff| ~9e-16) across q = {0.5, 1, 2, 3}. Finding: at q = 1 the Tsallis entropy exactly recovers the Shannon entropy (2.325 nats) and coincides with the Renyi entropy, but at q = 2 it diverges sharply (Tsallis 0.885 vs Renyi 2.167) — the two generalizations meet only at q = 1 because Tsallis is non-additive; S_q is non-increasing in q. Honest scope: newly-authored op; machine-precision (identical formula, not a convention agreement); histogram bin-count-dependent (structure, not an absolute physiological quantity). Changes in version 0.6.39 - New validated case renyi-entropy-eegmmidb — a new-method authoring case: introduces and certifies a newly-authored op, PhysioEEG::renyiEntropy (Renyi entropy, 1961), the generalized (order-alpha) entropy family, filling the gap the ecosystem's Shannon-based entropies (permutation, sample, spectral) left open. On a real eyes-closed EEG channel it reproduces NeuroKit2.entropy_renyi bit-for-bit (max |diff| ~4e-16) across alpha = {0.5, 1, 2, 3}. Finding: the alpha = 1 value exactly recovers the Shannon entropy (2.325 nats), alpha = 2 the collision entropy (2.167), and the family is monotonically decreasing in alpha — the defining structure. Honest scope: histogram/bin-dependent, so the structure (not the absolute value) is the content. Requires PhysioEEG >= 0.7.7. Coverage map regenerated (68 cases). Changes in version 0.6.38 - New validated case petrosian-fd-eegmmidb — a new-method authoring case: introduces and certifies a newly-authored op, PhysioEEG::petrosianFD (Petrosian fractal dimension, 1995), a fast waveform-complexity index filling the gap the complexity suite (permutation entropy, Lempel-Ziv, Hjorth, sample/approximate entropy, DFA, RQA, SVD entropy) left open. On a real eyes-closed posterior EEG channel it reproduces antropy.petrosian_fd bit-for-bit (max |diff| 0; unlike Higuchi/Katz, Petrosian has one unambiguous closed form). Finding: Petrosian FD is lower over the posterior alpha region (all 9 parieto-occipital channels below the frontal mean; 1.020 vs 1.027) — the eyes-closed alpha rhythm is a smoother oscillation, the sixth complementary view of posterior alpha (with Welch/spectrogram/Hjorth/coherence/SVD). Requires PhysioEEG >= 0.7.6. Coverage map regenerated (67 cases). Changes in version 0.6.37 - New validated case mutual-info-cardioresp-bidmc — a new-method authoring case: introduces and certifies a newly-authored op, PhysioCrossModal::mutualInformation (histogram mutual information), the undirected information-theoretic complement of transfer entropy, filling a gap (the ecosystem had directed TE, coherence, cross-correlation, distance correlation — but no general MI). On real cardiorespiratory signals (BIDMC-01 RESP + PLETH) it reproduces sklearn.metrics.mutual_info_score bit-for-bit (max |diff| ~5e-16) on the identical binning. Finding: the real RESP-PLETH MI (0.077 nats) is ~3.2x the histogram estimator's shuffled finite-sample floor (0.024) — a genuine undirected dependence (the shared respiratory modulation). Honest scope: histogram estimator is positively biased (ratio-to-shuffled, not absolute, is the signal); in nats. Requires PhysioCrossModal = 0.7.1. Coverage map regenerated (66 cases). Changes in version 0.6.36 - New validated case svd-entropy-eegmmidb — a new-method authoring case: introduces and certifies a newly-authored op, PhysioEEG::svdEntropy (SVD entropy, Roberts 1999), filling the dimensionality gap the complexity suite (permutation entropy, Lempel-Ziv, Hjorth, sample/approximate entropy, DFA, RQA) left open. On a real eyes-closed posterior EEG channel it reproduces antropy.svd_entropy bit-for-bit (max |diff| ~2e-16; both via LAPACK SVD). Finding: SVD entropy is lower over the posterior alpha region (all 9 parieto-occipital channels below the frontal mean; posterior 1.24 vs frontal 1.29) — the eyes-closed alpha rhythm is a low-dimensional oscillation, consistent with the Welch/spectrogram/Hjorth/coherence cases on the same data. Requires PhysioEEG >= 0.7.5. Coverage map regenerated (65 cases). Changes in version 0.6.35 - New validated case csi-cvi-fantasia — a new-method authoring case: introduces and certifies a newly-authored op, PhysioECG::ecgHRVautonomic (the Toichi cardiac autonomic indices CSI/CVI/ CSI_Modified from the Poincare 4-SD box), filling the gap the ecosystem's raw SD1/SD2 left open. On a real 5-minute RR window (Fantasia f1y01) it reproduces NeuroKit2's hrv_nonlinear indices bit-for-bit (max |diff| 0). Finding: the Cardiac Vagal Index is higher in the young (4.90) than the old (4.55), robust across the cohort (5/5 young above the old mean) — the parasympathetic decline of autonomic aging, complementing the DFA and Poincare aging cases. Requires PhysioECG >= 0.4.1. Coverage map regenerated (64 cases). Changes in version 0.6.34 - New validated case hra-fantasia — a new-method authoring case: introduces and certifies a newly-authored op, PhysioECG::ecgHRVasymmetry (heart-rate asymmetry), filling the gap the ecosystem's symmetric SD1/SD2 left open. On a real 5-minute RR window (Fantasia f1y01), the op reproduces NeuroKit2's hrv_nonlinear HRA indices (GI/SI/AI/PI + the C1d/C1a/C2d/C2a deceleration/acceleration contributions) bit-for-bit (max |diff| ~1e-14). Finding: decelerations dominate short-term variability (C1d 0.63 > C1a 0.37), the established HRA signature, robust across the cohort (8/10 subjects); accelerations dominate long-term (C2a 0.64 > C2d 0.36). Honest scope: the op is newly authored (identical Piskorski-Guzik formulas → bit-exact); the long-term asymmetry is mixed across the small cohort and no age direction is claimed. Requires PhysioECG >= 0.4.0. Coverage map regenerated (63 cases). Changes in version 0.6.33 - New validated case eeg-detrend-scipy-eegmmidb — a preprocessing-primitive fidelity case: the first external-reference (scipy) certification of PhysioPreprocess::detrendSignal (the detrend step that precedes the Welch/spectrogram estimates). On a real drifting frontopolar EEG channel (Fpz), it reproduces scipy.signal.detrend bit-for-bit (max |diff| ~1e-12 linear, 0 constant — identical least-squares-line/mean formulas). Finding (methodological): the linear detrend removes a low-frequency trend that constant (mean) removal leaves in — sub-1-Hz Welch power falls from 1284 (raw) to 59 (linear) vs 112 (constant), so the detrend type removes ~47% more low-frequency leakage. Honest scope: detrendSignal is not a new op; linear detrend removes only the linear part (oscillatory wander needs a high-pass). Coverage map regenerated (62 cases). Changes in version 0.6.32 - New validated case eeg-coherence-scipy-eegmmidb — a connectivity fidelity case (the spatial view completing the eyes-closed EEG arc after Welch power and spectrogram dynamics): the first external-reference (scipy) certification of PhysioEEG::eegCoherence. On the eight parieto-occipital channels of real eyes-closed EEG, its magnitude-squared coherence reproduces scipy.signal.coherence bit-for-bit (max |diff| ~2e-16 across all 28 pairs) once conventions match — symmetric Hann, matched window length + overlap, detrend=False; the coherence ratio cancels the window normalization. Finding: posterior alpha coherence is high (mean 0.63, peaking 0.90 between adjacent occipital channels PO3–O1) — the eyes-closed alpha rhythm is spatially synchronized. Honest scope: eegCoherence is not a new op; magnitude-squared coherence is inflated by volume conduction (imaginary coherence, also available, addresses it). Coverage map regenerated (61 cases). Changes in version 0.6.31 - New validated case eeg-spectrogram-scipy-eegmmidb — a time-frequency fidelity case (the time-resolved sibling of the Welch case): the first external-reference (scipy) certification of the PhysioAnalysis::spectrogram (STFT). On real eyes-closed posterior EEG (POz), it reproduces scipy.signal.spectrogram bit-for-bit (max |diff| ~7e-13 over the full 129 × 11 frequency × time matrix) once conventions are matched — symmetric Hann, no detrend, density scaling, one-sided doubling, nperseg=256, 50% overlap, mode='psd'. Finding: the alpha rhythm dominates every one of the 11 windows (peak in 8–13 Hz, median 11.25 Hz) yet its power waxes and wanes across time (CV ~58%) — the amplitude modulation the time-averaged Welch PSD hides. Honest scope: spectrogram is not a new op; the match requires the matched conventions (scipy's defaults differ). Coverage map regenerated (60 cases). Changes in version 0.6.30 - New validated case eeg-bandpower-welch-eegmmidb — a spectral-estimation fidelity case: the first external-reference (scipy) certification of the PhysioAnalysis::bandPower Welch estimator (used across the EEG cases for findings, never checked against the reference). On real eyes-closed 64-channel EEG, its band powers reproduce scipy.signal.welch bit-for-bit (max |diff| ~7e-13 over 64 channels × 5 bands) once conventions are matched — symmetric Hann window, no per-segment detrend, density scaling, one-sided doubling, nperseg=256, 50% overlap. Finding: relative alpha power is highest over the parieto-occipital region (peak POz 0.73; posterior mean 0.69 vs frontal 0.28) — the eyes-closed posterior alpha rhythm, cross-consistent with the Hjorth case's low posterior mobility on the same data. Honest scope: bandPower is not a new op; the match requires the symmetric-Hann + no-detrend conventions (scipy's defaults differ). Coverage map regenerated (59 cases). Changes in version 0.6.29 - New validated case poincare-hrv-fantasia — a nonlinear-HRV geometry case (the geometric complement of the DFA fractal-scaling case on the same Fantasia cohort). On a real 5-minute RR window, PhysioECG::ecgHRVpoincare computes the Poincare descriptors SD1 (short-term/vagal, 54.3 ms) and SD2 (long-term, 81.5 ms). It reproduces an independent from-scratch numpy analytical closed-form bit-for-bit (max |diff| 0) and NeuroKit2 hrv_nonlinear: SD1 bit-for-bit (the universal SDSD/√2), SD2 up to a documented ~0.2 ms convention (op = analytical closed-form; NeuroKit2 = geometric paired-projection, reproduced bit-for-bit by an independent numpy paired projection). Finding: short-term HRV (SD1) is markedly higher in the young (53.1 ms) than the old (35.3 ms) — an age-related cardiac-vagal decline. Honest scope: the SD2 gap is a resolved convention (neither wrong); aging is descriptive (n=5+5). Coverage map regenerated (58 cases). Changes in version 0.6.28 - New validated case te-cardioresp-bidmc — a model-free directed-coupling case (the information-theoretic complement of the linear Granger case on the same pair). On real cardiorespiratory signals (BIDMC-01), PhysioCrossModal::transferEntropy (histogram estimator) measures the respiration → pulse transfer entropy (0.036 bits) exceeding pulse → respiration (0.024), net +0.012 — the same directed asymmetry Granger found, with no linearity assumed. It reproduces an independent from-scratch numpy transfer entropy bit-for-bit (max |diff| ~6e-17 in both directions) and recovers a constructed x → y coupling (TE 0.67 driving vs 0.06 reverse). Honest scope: the histogram estimator is estimator-dependent with a positive finite-sample bias (raw values are point estimates, not significance tests). Coverage map regenerated (57 cases). Changes in version 0.6.27 - New validated case ecg-ppg-crosscorr-bidmc — a time-domain cross-correlation coupling case (complementing the frequency-domain coherence). On real simultaneous ECG + PPG (BIDMC-01), PhysioCrossModal::crossCorrelation measures the pulse arrival time: the ECG-PPG cross-correlation peaks at 0.39 s (heart → fingertip). It reproduces an independent from-scratch numpy normalized cross-correlation bit-for-bit (max |diff| ~3e-14 across all lags) and its peak lag matches scipy.signal.correlate. Coverage map regenerated (56 cases). Changes in version 0.6.26 - New validated case eeg-wpli-alpha-eegmmidb — a debiased weighted phase-lag index (wPLI) case, completing the canonical phase-connectivity trio (PLV → PLI → wPLI). On the same real occipital O1-Oz pair, PhysioCrossModal::weightedPLI gives a debiased wPLI of 0.011 — confirming (like PLI) the strong alpha PLV of 0.92 is mostly volume conduction. Validated by reproducing an independent scipy imaginary-cross-spectrum wPLI (~7e-3) and demonstrating the debiasing: for independent signals the biased wPLI is a spurious 0.038 but the debiased wPLI collapses to 0.0006, while genuine lagged coupling stays 1.0. Coverage map regenerated (55 cases). Changes in version 0.6.25 - New validated case eeg-pli-alpha-eegmmidb — a phase-lag index (PLI) volume-conduction-robust connectivity case. On the same real occipital O1-Oz pair whose alpha PLV is 0.92 (sibling case), PhysioCrossModal::phaseLagIndex gives PLI = 0.016 — the strong PLV is almost entirely near-zero-lag (volume conduction / common reference), which PLI discounts. Validated three ways: recovers the volume-conduction contrast (constructed zero-lag → PLV 0.99 / PLI 0.01; lagged → PLI 1.0), reproduces an independent scipy Hilbert-band PLI (~4e-3), and its sign formula is exact. Coverage map regenerated (54 cases). Changes in version 0.6.24 - New validated case eeg-plv-alpha-eegmmidb — a phase-locking value (PLV) phase- connectivity case. On real eyes-closed occipital EEG (eegmmidb S002R02, O1 & Oz), PhysioCrossModal::phaseLockingValue measures alpha-band phase synchronization (PLV 0.92, nearly in phase). Validated three ways: it recovers ground truth (phase-locked → 0.995, independent → 0.009), reproduces an independent scipy Hilbert-band PLV to ~8e-5 (phase-robust, up to the filtfilt convention), and its summation formula is exact. Coverage map regenerated (53 cases). Changes in version 0.6.23 - New validated case eeg-hjorth-eegmmidb — a Hjorth-parameters time-domain-complexity case across a full 64-channel montage. On real eyes-closed EEG (eegmmidb S002R02), PhysioEEG::eegComplexity computes Hjorth mobility + complexity per channel; they reproduce an independent numpy implementation bit-for-bit (~9e-16 across all 64 channels) and antropy.hjorth_params to ~3e-7 (up to the variance ddof convention). Mobility maps the eyes-closed alpha topography — lowest over parieto-occipital (POz, 0.53), highest over temporal (T7, 1.45). Coverage map regenerated (52 cases). Changes in version 0.6.22 - New validated case eeg-multitaper-alpha-eegmmidb — a multitaper robust-spectral- estimation case. On real eyes-closed occipital EEG (eegmmidb S001R02, O1), PhysioEEG::eegMultitaper computes the non-adaptive multitaper PSD (average of DPSS-tapered periodograms); its DPSS tapers reproduce scipy.signal.windows.dpss to ~6e-14 and its full PSD an independent scipy+numpy reconstruction to ~1e-10 (both machine precision), and it agrees with MNE psd_array_multitaper in structure (correlation 0.99, up to a one-sided factor-of-2). The spectrum is alpha-dominated (peak 10.5 Hz, 46% of 0–45 Hz power in the alpha band). Coverage map regenerated (51 cases). Changes in version 0.6.21 - New validated case hrv-lomb-fantasia — a Lomb-Scargle spectral-estimation case for the unevenly-sampled RR tachogram. On real Fantasia RR (young subject f1y01, 8708 beats), PhysioECG::ecgHRVfreq(method="lomb") computes the Lomb-Scargle periodogram (the correct estimate for irregular sampling — no interpolation) and reproduces the canonical scipy.signal.lombscargle to machine precision: the periodogram to a relative ~1e-10 and the integrated VLF/LF/HF band powers to ~7e-11. The resting autonomic balance is HF-dominant (LF/HF ≈ 0.48, HF 67% of LF+HF). Coverage map regenerated (50 cases). Changes in version 0.6.20 - New validated case granger-cardioresp-bidmc — the corpus's first directed/causal connectivity case. On real simultaneous respiration + PPG (BIDMC subject 01), PhysioCrossModal::grangerCausality measures time-domain Granger causality in both directions; cardiorespiratory coupling is strong and bidirectional, with respiration → pulse the net-dominant direction in 15/20 subjects. It reproduces the field-standard statsmodels.tsa.stattools.grangercausalitytests to ~3.5e-7 (an agreement, limited by statsmodels' intercept convention) and an independent from-scratch numpy OLS to ~1.8e-9 (the op's ridge floor), both directions; statsmodels' F-test confirms both directions overwhelmingly significant (F ≈ 54, p < 1e-100). Coverage map regenerated (49 cases). Changes in version 0.6.19 - New Coverage map page (coverage.qmd) — a cross-cutting view of the whole corpus: every validated method, the field-standard reference it was checked against (MNE-Python, SciPy, GGIR, lme4, energy, NeuroKit2, …), and the public data used. Generated from each case's case.json by tools/build_coverage.py (re-run after adding a case) and linked from the gallery. Summarises the corpus honestly by reference kind — third-party tool, dataset ground truth, or established published finding: 48 cases across 21 packages, 29 reproducing a named reference across 22 distinct references. Changes in version 0.6.18 - New validated case eeg-wavelet-alpha-eegmmidb — a Morlet-wavelet time-frequency case. On real eyes-closed occipital EEG (eegmmidb S001R02, O1), PhysioAnalysis::waveletTransform computes the Morlet scalogram, which is dominated by the alpha rhythm (peak at 10 Hz, 66% of power in the 8–13 Hz band) — the classic Berger alpha resolved in time-frequency. It reproduces MNE-Python's tfr_array_morlet in time-frequency structure to correlation 0.9998 (full TFR) / 0.9999 (marginal spectrum), up to a normalization convention (~0.49×) — an agreement fold (independent Morlet implementations), not a machine-precision match. Changes in version 0.6.17 - New validated case hrv-dfa-aging-fantasia — an HRV detrended fluctuation analysis (DFA) / aging case. On real Fantasia ECG, PhysioECG::ecgDFA recovers the fractal scaling of heart-rate dynamics: the short-term exponent α1 is 1.05 in young (healthy 1/f fractal scaling ~1.0) and 1.41 in elderly subjects — the age-related loss of fractal complexity (aging effect +0.36, every elderly subject above the young mean; Iyengar et al. 1996). ecgDFA reproduces an independent log-spaced standard-DFA (a different least-squares fitter) to machine precision (max |diff| = 1.3×10⁻¹⁴). This case exercises the ecgDFA log-spaced-scales bug fix (PhysioECG 0.3.2) — before it, ecgDFA returned NA on these long RR series. Changes in version 0.6.16 - New validated case eeg-lz-sleep-consciousness-sleepedf — a Lempel-Ziv complexity / consciousness-gradient case. On a real overnight EEG (Sleep-EDF SC4001, Fpz-Cz), PhysioEEG::eegComplexity(measures = "lempel_ziv") shows cortical complexity is lowest in deep sleep (N3 = 0.364) and highest in wake and REM (0.464), N2 intermediate (0.420) — the consciousness gradient (Lempel-Ziv is the basis of the Perturbational Complexity Index). Because LZ is an exactly-defined algorithm, it reproduces the canonical Python antropy.lziv_complexity to machine precision (max |diff| = 5.6×10⁻¹⁷ across all stages), extending the permutation-entropy validation to a second exactly-defined complexity measure. Changes in version 0.6.15 - New validated case emg-hilbert-envelope-grabmyo — an EMG muscle-activation envelope case. On a real 32-channel forearm-EMG gesture (GRABMyo), PhysioEMG::emgEnvelope(method = "hilbert") extracts the muscle-activation envelope (peak/mean modulation 6.5 — the gesture's burst activity). Because the analytic signal is an exactly-defined FFT operation, it reproduces the canonical scipy.signal.hilbert to machine precision (max |diff| = 5.6×10⁻¹⁶ over all 32 channels). This upgrades emgEnvelope's validation from the RMS method (checked vs a naive moving-window reference) to the Hilbert method (checked vs scipy, grade A). Changes in version 0.6.14 - New validated case coherence-cardiac-bidmc — a spectral-connectivity (coherence) case. On real simultaneous PPG + ECG (BIDMC subject 01), PhysioCrossModal::coherence shows the two different cardiac sensors — optical (PPG) and electrical (ECG) — cohere at the heart rate: magnitude-squared coherence peaks at 0.898 at 1.465 Hz (88 bpm), far above the 95% confidence limit. It reproduces the canonical scipy.signal.coherence to machine precision (max |diff| = 2.9×10⁻¹⁴ over the full spectrum, Welch settings matched exactly). Honest scope: the op does not detrend, so the finding is read in the cardiac band (0.5–5 Hz), excluding the DC component. Changes in version 0.6.13 - New validated case cca-gait-wbds — a canonical correlation analysis case, completing a three-lens cross-modal trilogy on the same WBDS gait data. On real walking, PhysioCrossModal::cca finds the maximal LINEAR correlation between the kinematics (knee+ankle flexion) and kinetics (GRF): first canonical correlation 0.737 (5-subject 0.74–0.85), reproducing base R's stats::cancor to machine precision (max |diff| = 1.1×10⁻¹⁶). Notably r1 ≈ the distance correlation on the same data (0.72), indicating the coupling is largely linear. With the dCor case (any dependence, 0.72) and the RSA case (rank geometry, 0.34), the identical data is now read through three lenses, each validated against a different canonical reference (energy::dcor / vegan::mantel / stats::cancor). Changes in version 0.6.12 - New validated case circular-gait-coupling-wbds — a circular (directional) statistics case. On real WBDS walking, PhysioCore::circularSummary analyses the knee-ankle vector-coding coupling angles — inter-joint coordination as directional data: mean coordination direction 254°, mean resultant length R̄ = 0.195 (Rayleigh p = 3×10⁻⁸), with the coordination consistency varying across subjects (R̄ 0.06–0.29). It reproduces the canonical R circular package to machine precision: R̄ matches exactly (|diff| = 0), the mean direction to 6×10⁻¹⁴. Honest scope: the Rayleigh-test p-value is an asymptotic approximation and the two libraries' higher-order series differ slightly (both p ~ 3×10⁻⁸) — reported, not claimed exact. Changes in version 0.6.11 - New validated case eeg-permutation-entropy-eegmmidb — an EEG signal-complexity case. On all 64 channels of real eyes-closed resting EEG (eegmmidb S001R02), PhysioEEG::eegComplexity computes the permutation entropy (Bandt-Pompe) — a marker of cortical state, consciousness, and anaesthesia depth. Because permutation entropy is an exactly-defined algorithm, it reproduces the canonical Python antropy to machine precision: correlation 1.0, max |difference| = 2×10⁻¹⁶ across the 64 channels, mean entropy 0.91. Honest scope: the tolerance-dependent sample entropy and PSD-dependent spectral entropy do NOT match antropy exactly (~0.01–0.02) and are deliberately not claimed — only the exactly-defined measure is. Changes in version 0.6.10 - New validated case eeg-pac-sleep-spindle-sleepedf — a phase-amplitude coupling case on real NREM sleep EEG. On an overnight polysomnogram (Sleep-EDF SC4001, Fpz-Cz), PhysioCrossModal::phaseAmplitudeCoupling measures the slow-oscillation↔spindle coupling — the hallmark cross-frequency coupling of memory-consolidation sleep: Tort modulation index 0.00035, z = 9.6 above a circular-shift surrogate null (exceeds all 200 surrogates). It reproduces the canonical Python tensorpac to machine precision (|difference| = 5×10⁻¹⁷), fed the identical phase and amplitude. Honest scope: the surrogate null (not a non-zero MI) establishes the coupling is real; single subject, single channel. Changes in version 0.6.9 - New validated case rsa-mantel-gait-wbds — a representational similarity analysis (RSA) / Mantel test case. On real WBDS treadmill walking (Fukuchi et al. 2018), PhysioCrossModal::representationalSimilarity correlates the dissimilarity matrices (RDMs) of the gait kinematics (knee+ankle flexion) and kinetics (GRF): Mantel r = 0.34 (permutation p = 0.010) for one subject and 0.34–0.49 (mean 0.38) across all five — a moderate, significant representational correspondence. It reproduces the canonical vegan::mantel exactly (|difference| = 0). Notably weaker than the distance correlation on the same data (0.72): RSA is a rank correlation of distance matrices, a distinct and more conservative measure — both reported for an honest picture. Changes in version 0.6.8 - New validated case eeg-aperiodic-exponent-eegmmidb — a qEEG aperiodic (1/f) parameterization case. On all 64 channels of real eyes-closed resting EEG (eegmmidb S001R02, PhysioNet), PhysioEEG::eegAperiodic (the specparam / FOOOF engine, Donoghue et al. 2020) recovers the aperiodic exponent — a widely-used marker of cortical excitation/inhibition balance. Fed the identical per-channel Welch PSD, it reproduces the canonical Python fooof: the per-channel exponents correlate r = 0.98 across the 64 channels, mean |difference| 0.07, both engines yielding physiologically plausible resting exponents (specparam 1.38, fooof 1.45; mean fit R² = 0.93). Honest boundary: an agreement benchmark (independent iterative implementations), with the largest divergence at the occipital electrodes where a strong alpha peak makes the two peak-removal heuristics differ. Changes in version 0.6.7 - New validated case crossmodal-dcor-gait-wbds — a cross-modal dependence case. On real WBDS treadmill walking (Fukuchi et al. 2018), the distance correlation (Székely, Rizzo & Bakirov 2007) between the sagittal knee+ankle flexion angles (kinematics) and the antero-posterior+vertical GRF (kinetics) is dCor = 0.72 (permutation p = 0.001) for one subject and 0.71–0.78 (mean 0.74) across all five — a strong, significant, consistent coupling. The ecosystem's PhysioCrossModal::distanceCorrelation reproduces the canonical energy::dcor to machine precision (|diff| < 1e-13), so the measure is exact, not approximate. Distance correlation is zero iff the blocks are independent and, unlike Pearson or linear canonical correlation, detects dependence of any shape. Changes in version 0.6.6 - New validated case msknet-hypergraph-murphy — the ecosystem's first musculoskeletal-network case. Building the whole-body muscle-bone hypergraph with PhysioMSKNet (loadMSKData -> MSKHypergraph -> mskHomuncCorrelation) reproduces Murphy et al. (2018, PLoS Biology): the paper-scale hypergraph (173 bones, 270 muscles) and its central neuro-anatomical finding — a muscle's structural IMPACT corresponds to its cortical motor-HOMUNCULUS representation, R² = 0.517 (F = 20.4, p = 2.4e-4 over 21 regions), matching the paper's 0.52 (F = 21.3). Honest scope: the impact-vs-recovery clinical model reproduces the significant positive direction but a lower R² (0.41 vs the paper's 0.76). 36 cases. Changes in version 0.6.5 - New validated case tms-eeg-tep-tesa — the ecosystem's first TMS neurophysiology case. From the real TESA TMS-EEG recording (150 pulses, 59-channel EEG; figshare 3188800), PhysioNeurophys::setTMSpulses + tepAverage recover the canonical TMS-evoked potential (TEP) component sequence: all six components (N15/P30/N45/P60/N100/P180) in the correct temporal ORDER (median latencies 16 < 31 < 45 < 66 < 115 < 188 ms, monotonically increasing) and with the correct POLARITIES (peak sign matches the expected N/P in 88–97 % of channels, mean 92 %), the N100 (~115 ms) and P180 (~188 ms) at their literature latencies. Honest scope: single participant, parietal (not motor) stimulation, and the case validates component EXTRACTION (the source data was already pulse-artifact-cut) — not TMS-artifact removal. (H-reflex was targeted too, but no public recruitment dataset was available; the TMS side is folded here.) 35 cases. Changes in version 0.6.4 - New validated case netphys-sleep-network-sleepedf — the ecosystem's first network-physiology case (a new modality). A 6-node time-delay-stability (TDS) network (EEG delta/alpha/sigma + EOG/EMG/respiration) is built from one real overnight polysomnogram (Sleep-EDF Expanded) with the full PhysioNetPhysiology TDS stack (physioNodeMatrix → timeDelayStability → tdsNetwork(surrogate) → tdsNetworkByState → tdsReconfiguration) and split by sleep stage, reproducing the field's signature finding: the physiological network reconfigures across sleep stages — most integrated in REM (11 surrogate-significant links, density 0.73) and least in wake/light sleep (9, 0.60); the EEG-delta rhythm is the persistent hub; and 6/15 couplings change between wake and REM. Links are kept only if they beat a phase-randomised surrogate threshold. Honest scope: single subject/night (the reconfiguration is the robust phenomenon; exact counts are subject-specific), deterministic given seed=1. 34 cases. Changes in version 0.6.3 - New validated case fnirs-activation-motor-mne — the ecosystem's first fNIRS case, and a whole new modality. The full PhysioNIRS pipeline (readSNIRF → intensityToOD → mbll → nirsActivationGLM → nirsActivationContrast) is run on a real public finger-tapping recording (MNE-Python fnirs_motor) and validated at two points: (1) CROSS-TOOL — mbll() reproduces MNE-Python's beer_lambert_law() to machine precision (correlation 1.000 in all 28 channels; only µM-vs-M units differ); (2) PHYSIOLOGY — the GLM recovers the canonical motor-activation signature, a task-evoked HbO increase (grand-average peak +0.21 µM at ~5 s, significant in 18/28 channels) with a concurrent HbR decrease (25/28). Honest scope: single subject; Tapping-vs-Control pools the two hands (contralateral localisation left as an open question). 33 cases. Changes in version 0.6.2 - New validated case gait-inverse-dynamics-fukuchi — turning measured motion into joint kinetics and validating it against a real ground truth. Driving PhysioMoCap::inverseDynamics2D() (Newton-Euler, de Leva inertia) with the WBDS markers + ground reaction force, the recovered sagittal joint moments are validated against the dataset's OWN independently-computed moments (the knt files) and reproduce the expected distal-to-proximal accuracy gradient: ankle r = 0.97, knee r = 0.85, hip r = 0.77 (mean over 5 subjects), with a physiological ankle push-off peak (~1.66 N·m/kg reference). Honest scope: 2-D sagittal only, and the hip peak inflates because the greater-trochanter marker is a crude hip-centre proxy — reported, not hidden. 32 cases. Changes in version 0.6.1 - New validated case cohort-longitudinal-parkinsons-updrs — the first genuinely-longitudinal real-patient cohort case: on the public UCI Parkinson's Telemonitoring data (42 patients, ~5,875 recordings over 6 months), PhysioClinStats::fitMixedModel() reproduces the reference engine lme4::lmer() byte-identically (max fixed-effect diff = 0, matching random-intercept SD), and PhysioCore::PhysioCohort carries the 42-subject container end-to-end. Fills the audit's real-patient-cohort maturity gap (honest scope: voice not gait; summary UPDRS; validated claim = reference-engine reproduction).