STATISTICAL REPAIR — 3 NOVEMBER 2026

Decision: repaired and qualified for the specified synthetic research settings.
Instrument-data transfer remains HOLD. Directional/causal inference remains
WITHHELD. Hardware holds and the existing portfolio investigations are retained.
The original v2 runner and Claude's source bundle remain unchanged as audit
evidence. This v3 interface replaces their unsafe inferential use; it is not a
drop-in MAT parser, a reproduction of the paper's raw-unit geometry, or a new
causal estimator.

WHAT CHANGED

1. Repeated finite-pool entries no longer increase precision. Control identity,
not the number of draws, determines the denominator. Seven controls still give
rank 1/8 after 98 or 994 repeated entries. Equal-valued controls with different
IDs remain distinct. Conflicting entries for the same unit are rejected until
the repeated trials have been aggregated explicitly. A finite-pool rank is
descriptive by default: its numerical formula alone does not establish a null.

2. The main group inference now tests whole-unit partner assignments. Input is
an explicit (independent unit, matched repeat slot, sample) array. Each unit
receives equal weight; repeated trials are averaged within it. Whole Y units
are reassigned only within declared strata. Their repeats stay together.
Duplicated or overlapping participant IDs are rejected. There is no sparse-pool
fallback to a different mapping, unequal-length truncation or silent omission.
Every observed/reassigned pair receives the same fixed-band PLV and binned-MI
pipeline. Phase filtering uses second-order sections and explicit edge trimming.
MI ties use average ranks and are not silently broken by row order.

The tested null is that Y-unit labels are exchangeable within stratum conditional
on X and the recorded design. It is stronger than "no direct causal interaction."
Matching conditions, stable physical setup, and participant clustering require
scientific justification, not just a nonempty metadata field. If participants
recur across dyads, first construct the independent connected clusters; this
release deliberately rejects overlap instead of guessing that construction.

For small assignment groups all permutations, including identity, are counted.
For large groups, the Monte Carlo branch samples uniformly from the full group
with replacement, permitting identity draws, and includes the observed identity
in the numerator and denominator. Legitimate whole-group random sampling must
not be confused with the old repeated-nonobserved-donor bug. Ties are counted
conservatively. The frozen simulation benchmarks use exhaustive six-unit groups;
the Monte Carlo branch has a full-group sampling/identity check and a 19,999-draw
comparison with exhaustive enumeration, not a separate large-unit calibration.

3. Recurrence geometry no longer mixes seconds and signal units in one distance.
Time is sampling metadata. Channel values are standardized before fixed delay
embedding. Recurrence threshold ties are included and achieved rates reported.
This removes level/amplitude information deliberately. The resulting C_diff and
T_diff are descriptive geometry; their signs do not create arrows, p-values or
causal labels. This is not claimed to reproduce the historical paper's numbers.

4. Dependence is tested separately. The default recurrence statistic measures
agreement between aligned within-channel recurrence patterns; it is not C_diff.
It uses fixed 3-dimensional embeddings, lag 1, recurrence rate 0.1, and a
two-sample Theiler exclusion. Absolute correlation supplies a second endpoint.
Both are calibrated with equal-length, nonwrapping truncated time shifts.
For radius r, all 2r+1 shifts are evaluated, including zero. The conservative
p-value is min(1, B/(r+1)), where B includes all statistics at least as large as
the observed statistic. At r=49 the minimum p is .02. This is a test of
independence requiring strict stationarity of shifted Y under the null, not a
test of causality. Preprocessing is repeated within each comparison window.
No stationarity diagnostic can certify that distributional assumption here.

5. Holm adjustment covers the entire supplied family. All channels, conditions,
windows, lags and candidate endpoints intended for one conclusion belong in
that family. The runner combines all supplied panels/pairs, then adjusts once.
Its per-panel p_holm entries in details are local diagnostics; decisions use
only top-level globally adjusted endpoint values. Repeatedly trying different
families, bands or lags and keeping a favorable answer is outside this design.

VALIDATION

The plan in validation_plan.json was fixed before the first validation run.
All seeds and all replicate-level p-values are retained. Results are generated
from code, not hand-entered check counts. No scenarios were removed or tuned
after looking at their outcomes.

69/69 checks passed: duplicate controls, exact permutation-orbit enumeration,
Monte Carlo identity inclusion, stratification, repeated-trial invariance,
physical unit changes, time-unit conversion, graph symmetry, polarity invariance
of recurrence overlap, ties, multiplicity, invalid inputs and withheld transfer.

3,700 synthetic replicates passed their scenario-specific gates:
  grouped score null:                   45/1,000 (4.50%)
  grouped independent waveform null:       14/400 (3.50%)
  stationary AR(.85) null:                   9/400 (2.25%)
  stationary skewed AR null:                 6/400 (1.50%)
  independent random-phase same-rate null:   1/400 (0.25%)
  strong pair-specific score positive:    300/300
  paired shared-oscillator positive:      200/200
  strong linear dependence:               200/200
  strong nonlinear dependence:            200/200
  shared hidden-driver dependence:        200/200

Each replicate uses Holm adjustment across its two planned endpoints. A
shared-driver detection is a correct rejection of independence, not proof of
a direct link. No method emits a direction or causal claim for that case.

Null gate: one-sided 95% exact binomial upper bound <=8%. Positive gate:
one-sided 95% lower bound >=80%. These were empirical acceptance tolerances;
the test alpha remains 5%. Bounds are per scenario, not simultaneous confidence
bands over the validation study. Conservative same-rate results can have low
power for some alternatives. The tests do not establish universal 5% calibration
or instrument performance. See results/validation_summary.json for exact bounds.

LIMITS THAT STILL MATTER

No measured instrument data were analyzed with the repaired release. No causal
direction method was validated. No sensor was qualified. The 256-sample TTS
benchmarks retain 158 samples before embedding; other sample lengths/rates,
noise levels, drift, missingness and dynamics are not covered automatically.
The strong alternatives are deliberate positive controls; weak effects and
lagged coupling were not powered or characterized. Zero-lag TTS can miss delayed
dependence. Any lag must be set independently in advance or included in a
properly adjusted family, not chosen from this record's best result.

The group runner expects explicitly aligned and complete repeat slots. There is
no automatic parsing of the old Dryad MAT files, no resampling adapter and no
instrument acquisition integration. This prevents accidental reuse of inferred
participant mappings, inconsistent clocks or the old row-level p-values.

RUN

Environment used: Python 3.12.14, NumPy 2.3.5, SciPy 1.17.0.
No network calls or dependency installation are performed by the supplied code.
From the consolidated package, preserve archived results and rerun in a fresh
temporary directory with:

    python run_statistical_validation.py

For a focused check directly in this folder (overwrites that section's results):

    OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 python validate.py --section contracts

Other sections: group_scores, group_traces, tts, summarize, all.
All runs: python validate.py --section all
Exit 0 means all selected synthetic gates passed; it never enables transfer.
The complete run evaluates 3,700 stochastic cases and can take several minutes.

Executable synthetic example:

    python phase4_coordination_runner_v3.py results/synthetic_job.json --output example-result.json

NPZ files are read with allow_pickle=False. The job declares independent members,
condition, channel mapping, matched repeats, sampling frequency, phase band,
exchangeability basis and the full test family. Only analysis_domain=synthetic is
accepted in this release. Low-level functions are research primitives and must
not be used to bypass the transfer gate.

BEFORE ANY INSTRUMENT TRANSFER

transfer_gate.json records the outstanding instrument-specific requirements:
independent-unit and control provenance; clock/units/alignment checks; explicit
null and stationarity justification; one fixed analysis family; representative
noise/drift/dropout benchmarks; held-out physical negative and positive controls;
and separately reported power and false-positive uncertainty. Hardware spending
and product claims are not unlocked by this computational result.

The earlier portfolio investigations remain as documented, including
Weatherhill/Pluvaryn, Revalith/Helios, shared evidence and biological measurement,
and the remaining established programme links. Statistical repair is a methods
workstream, not a reason to reopen a closed hardware result or close those
existing investigations.

PRIMARY METHODS SOURCES

Hemerik & Goeman, Exact testing with random permutations, TEST 27, 811-825 (2018).
https://doi.org/10.1007/s11749-017-0571-1
Supports the stated group-invariance requirement and identity handling.

Yuan & Shou, A rigorous and versatile statistical test for correlations between
stationary time series, PLOS Biology 22:e3002758 (2024).
https://doi.org/10.1371/journal.pbio.3002758
Supports the truncated-time-shift formula and stationarity condition. The
recurrence-overlap statistic and software integration here are our implementation,
not a claim of reproduction or certification by those authors.

Original v2 and Claude evidence, original licenses and original SHA-256 manifests
are preserved elsewhere in the consolidated archive. This repair has its own
versioned sources, frozen plan, results, hashes and restricted release decision.
