NEWS


PhysioRecipes 0.7.4

Documentation

PhysioRecipes 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-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.

PhysioRecipes 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

Provenance and tooling

PhysioRecipes 0.7.1

Metadata and documentation release — no case value, pipeline, bundle or tier changes.

PhysioRecipes 0.7.0

Verified-tier promotion campaign: 6 → 109 of 114 cases now ship a replay bundle.

PhysioRecipes 0.6.85

PhysioRecipes 0.6.84

PhysioRecipes 0.6.83

PhysioRecipes 0.6.82

PhysioRecipes 0.6.81

PhysioRecipes 0.6.80

PhysioRecipes 0.6.79

PhysioRecipes 0.6.78

PhysioRecipes 0.6.77

PhysioRecipes 0.6.76

PhysioRecipes 0.6.75

PhysioRecipes 0.6.74

PhysioRecipes 0.6.73

PhysioRecipes 0.6.72

PhysioRecipes 0.6.71

PhysioRecipes 0.6.70

PhysioRecipes 0.6.69

PhysioRecipes 0.6.68

PhysioRecipes 0.6.67

PhysioRecipes 0.6.66

PhysioRecipes 0.6.65

PhysioRecipes 0.6.64

PhysioRecipes 0.6.63

PhysioRecipes 0.6.62

PhysioRecipes 0.6.61

PhysioRecipes 0.6.60

PhysioRecipes 0.6.59

PhysioRecipes 0.6.58

PhysioRecipes 0.6.57

PhysioRecipes 0.6.56

PhysioRecipes 0.6.55

PhysioRecipes 0.6.54

PhysioRecipes 0.6.53

PhysioRecipes 0.6.52

PhysioRecipes 0.6.51

PhysioRecipes 0.6.50

PhysioRecipes 0.6.49

PhysioRecipes 0.6.48

PhysioRecipes 0.6.47

PhysioRecipes 0.6.46

PhysioRecipes 0.6.45

PhysioRecipes 0.6.44

PhysioRecipes 0.6.43

PhysioRecipes 0.6.42

PhysioRecipes 0.6.41

PhysioRecipes 0.6.40

PhysioRecipes 0.6.39

PhysioRecipes 0.6.38

PhysioRecipes 0.6.37

PhysioRecipes 0.6.36

PhysioRecipes 0.6.35

PhysioRecipes 0.6.34

PhysioRecipes 0.6.33

PhysioRecipes 0.6.32

PhysioRecipes 0.6.31

PhysioRecipes 0.6.30

PhysioRecipes 0.6.29

PhysioRecipes 0.6.28

PhysioRecipes 0.6.27

PhysioRecipes 0.6.26

PhysioRecipes 0.6.25

PhysioRecipes 0.6.24

PhysioRecipes 0.6.23

PhysioRecipes 0.6.22

PhysioRecipes 0.6.21

PhysioRecipes 0.6.20

PhysioRecipes 0.6.19

PhysioRecipes 0.6.18

PhysioRecipes 0.6.17

PhysioRecipes 0.6.16

PhysioRecipes 0.6.15

PhysioRecipes 0.6.14

PhysioRecipes 0.6.13

PhysioRecipes 0.6.12

PhysioRecipes 0.6.11

PhysioRecipes 0.6.10

PhysioRecipes 0.6.9

PhysioRecipes 0.6.8

PhysioRecipes 0.6.7

PhysioRecipes 0.6.6

PhysioRecipes 0.6.5

PhysioRecipes 0.6.4

PhysioRecipes 0.6.3

PhysioRecipes 0.6.2

PhysioRecipes 0.6.1