Updated 2026-06 after the CODEC/FOCI Selection sweep. Chatterjee ฮพ (A1 pairwise) is validated as the only certified sieve (S1/S2/S3/S5 PASS, Selection-partial โ value-add over Pearson/Spearman pending a non-circular S4). CODEC (A2) is skipped (inert on the panel + no faithful null) and O-information (A3) is reworked to a bias-centered permutation null. The three feasible candidates below close the conditional/synergy gap with cheap, faithful nulls. Already-spiked metrics (ฮพโ, Aggregated HSIC, IAAFT) live in the spike showcase.
S1 (mutation kill 0.96) / S2-ฮพ / S3 (Jaccard 0.88) / S5-ฮพ PASS. The only certified sieve. Value-add over Pearson/Spearman unproven โ S4 deferred (labels are Pearson-derived โ circular).
Nearly inert on the crypto panel (0.16 flags/cell, T(canary)โ0) and no faithful FOSS null. Replaced by GCM / RCoT below.
Naive |ฮฉ|โฅ0.5 flag dropped (manufactures false synergy at small n). Kept as a cheap bias-centered permutation-null watch.
Filter: faithful + cheap null (the exact thing CODEC lacked), no O(nยณ) at grid scale (the runaway risk), FOSS, parameter-light. All three still cap at Selection-partial until a Pearson-independent S4 label exists, and all face the ZERO_LOCAL_COMPUTE adoption barrier โ these evaluate the question cheaply; they are not deployment candidates.
Regress X~Z and Y~Z, test residual cross-covariance. Analytic N(0,1) null, model-agnostic. The principled CODEC replacement.
GeneralisedCovarianceMeasure (CRAN) / pywhy-dodiscoverLinear-in-n KCI approximation (random Fourier features) โ fixes the O(nยณ) wall that caused the core runaway. Analytic Lindsay-Pilla-Basak null.
causal-learn (RCIT, preliminary) / ericstrobl/RCIT (R)Keeps the synergy question: drop the uncalibrated naive flag, use the permutation null. Already calibrated here (Type-I 0.058, power 1.0, ~26s / 1 core).
hoi (BSD-3)Reference oracle, not a primary: KCI (causal-learn, analytic Gamma null) is O(nยณ) โ the instrument that caused the 15โ23-core runaway. Use it only subsampled (n โค 1000) to validate GCM / RCoT, never as the grid workhorse. Already-catalogued cheap alternates: Copula-Entropy CI test (copent.ci) and CMIknn (tigramite).
Every metric in the priority list rides the same three-step rail. Gate 0.5 establishes the FOSS-implementation smoke test. Gate 3 (IAAFT) is currently prohibited โ see the IAAFT page for the prohibition notice and cascade impact. A replacement null-calibration approach is needed before any new spike can complete its evidence chain. Multi-symbol confirms the finding isn't BTC-specific.
Wire FOSS package against BTCUSDT @ 100 dbps with the 18-feature pair panel. Per-pair score + permutation null. Verdict: signal vs. noise.
Phase-randomised surrogate methodology not approved by project policy. See prohibition notice. A replacement null-calibration step is needed before any new spike can complete its evidence chain.
Re-run on ETH + ADA. Verifies the dependency pattern isn't BTC-only. Note: prior Chatterjee ฮพโ 3/3 replication relied on the now-prohibited Gate 3, so that verdict is also under review.
Parallel-fleet pattern: open four tmux panes on bigblack, one per Batch-A metric. Each pane runs an independent Claude Code session against its own metric, sharing only the read-only BTCUSDT data. Results land in findings/dashboard/instruments/spikes/candidates/ as new spike pages โ same template as the existing six.
Tier coloring reflects how directly the metric measures orthogonality. P1 = top picks across the four catalog gaps. P2 = strong secondary picks (Tier A direct measurement, FOSS-ready). P3 = useful breadth (Tier A, non-top-pick or needs port). P4 = Tier B adjacent (causal direction, regime stability) โ doesn't directly score orthogonality, but adds context.
| # | Tier | Metric | Category | FOSS package | Effort | Gap / role |
|---|---|---|---|---|---|---|
| โ | P1 | GCM (Generalised Covariance Measure) | A2 | GeneralisedCovarianceMeasure (CRAN) / pywhy | Easy ยท O(N) | Conditional ยท analytic N(0,1) null ยท CODEC replacement |
| โ | P1 | RCoT / RCIT (randomized conditional) | A2 | causal-learn (prelim) / RCIT (R) | Moderate ยท O(N) | Conditional at scale ยท linear-time KCI approx ยท LPB null |
| 1 | P1 | Distance Correlation (dCor) | A1 | dcor (MIT) | Trivial (~5 min) | A1 cross-method check on Chatterjee |
| โ | SKIP | A2 | xicorpy (MIT) | โ | SKIPPED โ inert (0.16 flags/cell) + no faithful null | |
| โ | P1ยทwatch | O-information + permutation null | A3 | hoi (BSD-3) | Easy ยท cheap | Synergy ยท bias-centered shuffle null (naive |ฮฉ|โฅ0.5 dropped) |
| 4 | P1 | Marchenko-Pastur eigenvalue clipping | A4 | pyRMT (BSD-style) | Easy (~30 min) | Matrix-level / panel-wide |
| 5 | P2 | CMIknn | A2 | tigramite (GPLv3) | Easy | k-NN conditional MI ยท PCMCI core |
| 6 | P2 | HHG (Heller-Heller-Gorfine) | A1 | hyppo (Apache-2) | Easy | Distance-rank consistent independence test |
| 7 | P2 | MIC / MICe / TIC | A1 | minepy (GPL) | Easy | Equitability framework (Reshef 2011) |
| 8 | P2 | HSIC (median heuristic, gamma-approx) | A1 | hyppo (Apache-2) | Easy | Non-aggregated HSIC ยท simpler than HSICAgg |
| 9 | P2 | Copula Entropy | A1 | copent (MIT) | Easy | Rank-uniformised MI ยท scale-invariant |
| 10 | P2 | BROJA-2PID | A3 | BROJA_2PID + dit (BSD-3) | Moderate | Convex-opt PID ยท unique / redundant / synergistic |
| 11 | P2 | Tracy-Widom edge test | A4 | TracyWidom (PyPI) | Easy | Per-eigenvalue p-value ยท pairs with MP |
| 12 | P2 | RIE (Rotationally Invariant Estimator) | A4 | pyRMT (BSD-style) | Easy | Optimal nonlinear shrinkage of correlation matrices |
| 13 | P2 | Distance Multivariance | A3 | R multivariance (port) | Moderate | dCov extended to โฅ 3 vars |
| 14 | P3 | Hoeffding's D | A1 | R independence (port) | Moderate | U-shape dependence ยท pre-Chatterjee classic |
| 15 | P3 | Bergsma-Dassios ฯ* | A1 | R TauStar (port) | Moderate | Consistent independence test ยท extends Kendall |
| 16 | P3 | Schweizer-Wolff ฯ | A1 | R copBasic (port) | Moderate | Copula Lยน total dependence |
| 17 | P3 | Williams-Beer PID (Imin) | A3 | dit (BSD-3) | Easy | Original PID ยท classical (overestimates redundancy) |
| 18 | P3 | Ince's Iccs PID | A3 | dit (BSD-3) | Easy | Pointwise common-surprisal PID |
| 19 | P3 | Graphical Lasso (GLasso) | A2 | sklearn (Apache-2) | Easy | L1 inverse-covariance ยท Gaussian CI graph |
| 20 | P3 | Copula Entropy CI test | A2 | copent.ci() (MIT) | Easy | Rank-shuffled CI test via copula entropy |
| 21 | P3 | Ledoit-Wolf NLS (2020) | A4 | R nlshrink (port) | Moderate | Polynomial nonlinear shrinkage |
| 22 | P3 | Sparse PCA / Kernel PCA / Robust PCA / NMF / FastICA | A4 | sklearn (Apache-2) | Easy each | Five matrix decompositions for non-Gaussian / nonlinear panels |
| 23 | P4 | Reduced Transfer Entropy (Kirkley 2025) | B1 | Author GitHub (port) | Moderate | Closed-form significance ยท no surrogate needed |
| 24 | P4 | Effective Transfer Entropy (Dimpfl-Peter) | B1 | R RTransferEntropy or IDTxl (GPLv3) | Moderate | Finance-standard bias-corrected TE |
| 25 | P4 | PCMCI / PCMCI+ | B1 | tigramite (GPLv3) | Easy | Multivariate causal-discovery graph |
| 26 | P4 | Sliced Wasserstein dependency | B2 | POT (MIT) | Moderate | OT-based ยท outlier-robust |
| 27 | P4 | CRQA (Cross-Recurrence Quantification) | B2 | PyRQA (Apache-2) | Easy | Distribution-free coupling |
| 28 | P4 | Robust BOCPD (Altamirano 2023) | B2 | Author GitHub | Moderate | Heavy-tail-robust Bayesian Online Changepoint |
| 29 | P4 | Granger / Kernel Granger / Neural Granger | B1 | statsmodels + Neural-GC (MIT) | Easy | Classical + nonlinear extensions ยท baseline causal |
| 30 | P4 | CCM + cCCM | B1 | pyEDM (BSD) | Moderate | Takens-embedding causal coupling ยท cCCM fixes leakage |
Batch A is recommended because it closes four distinct catalog gaps simultaneously. Batches B and C are documented here so the choice is traceable โ neither is currently active.
Heavier on A1 confirmation โ two pairwise metrics (dCor for cross-method, HHG for distance-rank consistency) plus CODEC/FOCI and O-information. Trades the A4 matrix-level gap for stronger pairwise confidence.
Broadest scope: conditional, synergy, causal direction, and regime stability all in one batch. Trades direct-measurement weight for adjacent-instrument breadth.