Before any spike, we ran a brute-force web research catalog: 4 parallel Claude Code agents, each searching ~100-150 web queries, cross-referencing โฅ2 sources per metric, fetching canonical papers and FOSS repos. The result was ~95 candidate measurement instruments organized across 3 tiers ร 8 categories, with FOSS implementation status verified per metric. We picked 3 from this catalog for empirical spikes.
Why catalog before spiking
If we'd just picked Chatterjee ฮพโ to spike because someone had heard of it, we'd never know if there's a better candidate out there. The catalog establishes the search space โ what methods exist, which have FOSS implementations, which are research-only โ so the choice of what to spike is defensible. The 5 spikes we ran are 5 out of ~95 candidates. The other ~90 are documented but untested.
| Tier | What it does | Output | Categories |
|---|---|---|---|
| A โ Measurement | Output IS an orthogonality score | Continuous score / test statistic | A1 Pairwise ยท A2 Conditional ยท A3 Synergy ยท A4 Matrix |
| B โ Adjacent | Other than orthogonality (causal, regime) but useful around measurement | Direction / stability / changepoint | B1 Causal ยท B2 Regime |
| C โ Downstream | Take orthogonality as input, produce decisions | Retain/drop or portfolio weights | C1 FDR ยท C2 Finance |
Excerpt from search_log.jsonl โ each row is one agent's search session:
{"agent_id": "A1-classical-kernel-distance", "duration_minutes": 34,
"completed": true, "metrics_found": 20, "queries": [
"state-of-the-art dependence measures continuous variables 2026",
"Chatterjee correlation refinement 2024 2025 2026",
"HSIC feature selection financial time series",
"distance correlation high dimensional finance",
"kernel independence test machine learning 2025", ...]}
{"agent_id": "A2-info-theoretic-causal", "duration_minutes": 18,
"completed": true, "metrics_found": 22, "honorable_mentions": 13,
"queries": [
"transfer entropy financial time series feature selection 2025",
"Reduced transfer entropy Kirkley 2025",
"partial information decomposition PID synergy redundancy 2024", ...]}
| Agent | Bucket | Metrics | Duration |
|---|---|---|---|
| A1 | Classical + kernel + distance-based dependence | 20 | 34 min |
| A2 | Information-theoretic + causal direction | 22 (+13) | 18 min |
| A3 | Recent 2024-2026 SOTA + finance-specific | ~25 | ~25 min |
| A4 | Decomposition + matrix + FDR selection | ~28 | ~30 min |
papers.jsonl:
{"metric": "Chatterjee xi_n", "tier": "A1",
"paper_title": "A new coefficient of correlation",
"authors": ["Chatterjee, S."], "year": 2021,
"venue": "Journal of the American Statistical Association",
"doi": "10.1080/01621459.2020.1758115", "arxiv": "1909.10140",
"code_released": true, "license_status": "MIT via xicorpy"}
implementations.jsonl:
{"metric": "Pearson r", "tier": "A1",
"library": "scipy.stats.pearsonr",
"url": "https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html",
"license": "BSD-3", "language": "Python", "maintained": true,
"duplicate_of_production": true,
"complexity": "O(N)", "free_parameters": false}