Navigation

Campaigns live under campaigns/ — one directory for all of them, each with its lifecycle status and the evidence behind it.

🧪 THE REALNESS QUESTION · SECTION 6 FRESH START · NO METRIC ADMITTED YET 2026-07-07

Feature Realness
Every promoted column was admitted as orthogonal · parameterless · agnostic — none was ever asked whether it is real or useful. This section tracks that debt, per column, until it is paid with empirical evidence.

30
promoted columns tracked (15 crypto + 15 forex)
0
metrics discovered
19
metrics under evaluation / grounded
0 / 30
columns with grounded realness or usefulness evidence

The two open questions. The five sections before this one answer three structural questions about a column: is it orthogonal (non-redundant against the currently shipped columns, as measured by Spearman worst-cell and Chatterjee ξ — a statement about redundancy vs one specific set, not a claim of unique information content), parameterless (no per-feature tunable), and agnostic (algorithm-unambiguous). Every promoted column passed all three. Promotion has been exactly that and nothing more — the encoded rule is promote = parameterless.PASS AND agnostic.PASS AND orthogonal.PASS (The Gate; findings/evolution/shared_data/three_axis_gate.py:14-18, :161), and the project’s own axis audit says the quiet part out loud: it “proves consistency, not edge.” What was never asked, of any column: (1) Is the signal real? and (2) Is it useful — and to what extent?

The fresh-start rule (operator directive, 2026-07-07). This page presumes no measurement instrument. No metric, threshold, statistical test, or gate is pre-loaded here — an earlier scaffold proposed a metric checklist assembled from in-repo precedents; it was scrubbed because none of it came from dedicated research or survived an evaluation. Metrics earn their way in through one lifecycle, tracked in the two tables below:

DISCOVEREDUNDER EVALUATIONGROUNDED (or REJECTED)

Only a GROUNDED metric may write evidence into the candidate tables at the bottom of this page. Until then, every evidence cell stays NONE YET — visibly, deliberately.

Background census (context only, admits nothing): 2026-07-07-feature-realness-usefulness — the deep-research census of what machinery exists across the three repos, with provenance and telemetry. Its metric proposals are historical record, not admitted instruments.

Metric pipeline — the only door into this page

Both tables are append-only: rows are never edited or deleted; corrections are new rows with supersedes: pointers. A metric may enter the Evaluation table only if it has a row in the Discovery table first. Every row carries a layman’s terms column so anyone can read this index and understand what is going on without knowing the mathematics. The discovery/evaluation loop updates these tables; this page is its public face.

1 · Discovery table — metrics found by research, not yet evaluated

A row means: “we found a candidate way of measuring realness or usefulness, and we verified where it comes from.” Discovery requires a resolvable primary source — an unverifiable citation is a lead, not an entry (house provenance discipline).

DateMetricAims atIn layman’s termsProvenance (paper / implementation)Notes
2026-07-08Discovery sweep (13-agent SOTA web research + 20-instrument self-test design + adversarial hardening). All rows below are DISCOVERED only — none is admitted; each must pass the self-test battery + the shared adversarial signal-zoo before it may enter the Evaluation table. Full grounding: SOTA-GROUNDING.md · operational proof protocol: METRIC-EVALUATION-FRAMEWORK.md. Adversarial verdict: 20/20 first-draft batteries need hardening — so 0 are admissible yet.
2026-07-08Combinatorial Purged CV (CPCV) + purge/embargosubstrate / leakage-free scoreboardSplits time so a test window never peeks at overlapping days — the honest scoreboard every other metric rides on.López de Prado, Advances in Financial ML (2018) ch. 7,12feature-layer; ground FIRST; derives N_min(H)
2026-07-08Future-perturbation invariance gatecausality (no look-ahead)Scramble the future — the feature must not budge. If it does, it is reading tomorrow's answer.methodology-19 §B; in-house leakage_guard.py T2bit-exact V(f)=0; harden: warm-state / occluded-dependency leaks
2026-07-08Block-permutation shuffled-label nullrealness (null control)Shuffle the answers while keeping their rhythm; a real edge must collapse to chance.Ojala & Garriga, JMLR (2010); Politis–White (2004)block ≥ decorrelation length; publish detection envelope
2026-07-08Effective-n deflation + BH–FDRrealness (multiple testing)Autocorrelated data has fewer real data points than it looks; count them honestly, then correct for many tries.Bailey–Hammersley (1946); Benjamini–Yekutieli (2001)HAC long-run-variance N_eff (post-adversary); GARCH heavy-tail null
2026-07-08Deflated Sharpe Ratio (on SFI paths)realness (selection bias)Is this just the luckiest of many coin-flips? Deflate the score by how many features were tried.Bailey & López de Prado (2014), SSRN 2460551via the SFI return object; N_eff-recovery on known effective-rank
2026-07-08Probability of Backtest Overfitting (PBO / CSCV)realness (overfit)If we pick the in-sample winner, does it stay a winner out-of-sample, or is it a coin-flip?Bailey, Borwein, López de Prado, Zhu, JCF (2017), SSRN 2326253PBO<0.2; pair with a magnitude gate (rank-blind)
2026-07-08Harvey–Liu–Zhu t≥3 hurdlerealness (factor-zoo)A genuinely new signal needs a t-stat over 3, not 2 — because so many have already been tried.Harvey, Liu & Zhu, RFS 29(1) (2016)effective-trials denominator = frozen global universe
2026-07-08Rank IC + ICIR + Newey-West tusefulness (prediction)Does the feature's ranking actually line up with next-bar returns, reliably and not by a few lucky days?Grinold (1989); Alphalens (practitioner)|IC|≥0.02, t≥3; blind to interaction-only (route to CMI)
2026-07-08IC-decay / predictive half-lifeusefulness (horizon)How fast does the signal fade — smoothly (real) or in a weird spike (data-snooping)?ml4trading / microalphas (practitioner)selects tradable horizon; monotone-decay realness check
2026-07-08Single-Feature Importance (SFI, OOS)usefulness (standalone edge)Train on this feature alone — does it beat a coin toss out-of-sample?López de Prado, AFML (2018) §8.5the per-feature return object that unlocks DSR/PBO; add episodic-signal control
2026-07-08Mean-Decrease-Accuracy + clustered MDA (ONC)usefulness (contribution)Scramble this feature inside a model — does accuracy drop? If not, the model wasn't using it.López de Prado, AFML §8.4 / MLAM (2020) ch. 6clustered variant defeats the substitution effect
2026-07-08Quantile monotonicity + Patton–Timmermann MRusefulness (shape)Do returns climb steadily across feature buckets, or only jump at the extreme ends?Patton & Timmermann (2010); Romano–Wolfadd useful-but-non-monotone positives; route rare-veto out
2026-07-08Conditional Mutual Information I(f;Y|S)conditional (new info)Given everything we already have, does this feature add NEW information about returns?Brown, Pocock, Zhao & Luján, JMLR 13 (2012); Kraskov (2004)rescues interaction-only; Runge local-permutation null
2026-07-08Model-X Knockoffs / CRT / TSKIconditional (FDR-controlled)Make a fake twin carrying no real signal; keep the feature only if it beats its twin — with a controlled false-discovery rate.Candès, Fan, Janson & Lv, JRSS-B 80(3) (2018)block/TSKI variant for autocorrelated data
2026-07-08Double/Debiased ML + CPIconditional / causalStrip out everything the known factors explain; is there still an effect left over?Chernozhukov et al., Econometrics J. 21(1) (2018)retention ≥50% of naïve; control set Z pre-registered
2026-07-08Huberman–Kandel spanning interceptincrementalityIs the feature's profit just repackaged momentum / volatility, or genuinely something new?Huberman & Kandel, JF 42(4) (1987); Barillas–Shanken (2017)HAC t(α)≥3; guard omitted-premium bias
2026-07-08Mechanism-intensity scaling (Kyle-λ / VPIN / OFI)economic mechanismA real microstructure edge should get STRONGER where the mechanism is stronger — not merely correlate once.Kyle (1985); Easley–López de Prado–O'Hara (VPIN); Cont–Kukanov–Stoikov (2014)nonlinear-volume confound control required
2026-07-08Per-year IC + Bai-Perron / CUSUM breaksrobustness (regime)Is the edge steady across years, or does it live in one lucky regime and die elsewhere?Bai & Perron (1998); Brown–Durbin–Evans (1975)gate behind realness; block-bootstrap critical values
2026-07-08Parameter-plateau vs needlerobustness (overfit)Is the good setting a broad hill (robust) or a lone spike (overfit)?Masters, Testing & Tuning Market Trading Systems (2018)nulls regenerated from the real knob grid
2026-07-08Detector lead-vs-coincide (event-study + MMD)detector / rare-vetoFor a rare alarm feature: does it fire BEFORE the event (useful) or just alongside it (a newspaper)?Granger; Gretton et al. MMD (2012); Politis–Romano (1994)for the candidate-#65 class; latent-common-cause null required

2 · Evaluation table — metrics being tested, and their verdicts

A row means: “this discovered metric is now being evaluated on its own merits — does it actually detect what it claims, at what power, on our data?” Status moves UNDER EVALUATIONGROUNDED or REJECTED. Grounding requires empirical evidence recorded in the artifact column — never argument alone.

Date enteredMetricIn layman’s termsWhat the evaluation testsEvidence artifactStatus
2026-07-22Future-perturbation invariance gate (#1)Scramble the future — a causal feature must not budge; a feature that peeks is caught every time.bit-exact V(f)=0 on 870,304 real BTC@250 bars: causal FP=0 over 221M checks · planted look-ahead power=1.000 (exactly k=3 positions) · warm-state / global-stat leak FNR 1.0→0.0 with cold-reset + input-completeness (the load-bearing Harden). Real-data-only (03c / 17b deterministic corruption).instrument_01…md · loop iter 2GROUNDED
2026-07-22Combinatorial Purged CV (CPCV) + purge/embargo (#0)The honest scoreboard: split time so a test window never shares an overlapping 3-second label with a training bar.on 870,304 real BTC@250 bars (34.85% of consecutive bars close within 3s): naïve random k-fold leaks t=169 over 252,512 straddling overlapping-label pairs → CPCV+purge/embargo leaves 0 straddling (0 contamination); genuine signal preserved (0.55% recovery bias, power 1.0); null OOS-IC FPR 0.000; N_min(H) from real blocks. Substrate gate PASS (with #1). PBO-on-null 0.5-calibration descoped to #9 (operator ruling 2026-07-22).instrument_00…md · loop iter 4GROUNDED
2026-07-22Block-permutation shuffled-label null (#2)Shuffle the answers in rhythm-preserving chunks; a real edge must beat the shuffles, a fake one collapses to chance.on 870,304 real BTC@250 bars (vwap_close_deviation): null-test size 0.05 in [.037,.063] ∀L∈{25,50,100} & p-values discrete-uniform (χ² 0.41/0.75/0.80); a lazy iid shuffle would over-reject at 0.21 (block null 1.56× wider → block-permutation load-bearing); detects a real look-ahead (N_min 10k); U-shape blind FNR=1 (route to #11/#18).instrument_02…md · loop iter 5GROUNDED
2026-07-22Effective-n deflation + BH–FDR (#3)Autocorrelated data has fewer real data points than it looks; count them honestly, then correct for many tries.on 869,833 real BTC@250 bars (7-feature family; return kurtosis 37.7, vol-clustering 0.66): HAC effective-n = 35% of N on real data (naive would inflate significance up to 2.34× — matches SEAL); Benjamini-Yekutieli controls FDR on white/block/circular nulls (0.043/0.057/0.067 ≤ q); detects real look-ahead (N_min 3k); U-shape blind FNR=1. Findings: BY (not BH) needed for the cross-correlated family; the GARCH-specific scalar failure is muted for a rank IC.instrument_03…md · loop iter 6GROUNDED
2026-07-23Single-Feature Importance (SFI, OOS) (#6)Train on one feature alone across 50 out-of-sample time-slices — does it beat a coin toss?on 869,833 real BTC@250 bars over the grounded CPCV substrate: the pass-mark z* is learned from the null (2.13), not 1.0 (which would false-positive 31.5% of noise features); detects a real look-ahead (power N_min 20k); and a concentration-robust statistic rescues regime-concentrated signals the dispersion-penalizing z=mean/sd silently kills (κ_min 0.2→0.1). This is the per-feature return object that unlocks DSR/PBO (#8/#9).instrument_06…md · loop iter 7GROUNDED
2026-07-23Deflated Sharpe Ratio (on SFI paths) (#8)Is this just the luckiest of many features? Deflate the score by how many were tried — using a pass-mark learned from shuffled data.on 869,833 real BTC@250 bars (7-feature family): the pass-mark is the empirical best-of-family Sharpe under shuffling (not the textbook formula, which over-states 2.38× because features share the shuffled answer key). FPR 0.04 on an independent holdout; look-ahead power 0.92; pass-mark reproducible to 0.01%; ONC trial count 7 ≈ participation ratio 6 (no collapse). The permutation pass-mark closes the trial-count gaming surface by construction. Real vwap deflates to DSR 1.0.instrument_08…md · loop iter 9GROUNDED
2026-07-23Probability of Backtest Overfitting (PBO / CSCV) (#9)If we pick the in-sample winner, does it stay a winner out-of-sample, or is it a coin-flip?on 869,833 real BTC@250 bars (K=100 trials, 252 CSCV splits): all 7 §7 gates pass, robust across 6 seeds — exchangeable null 0.51 (chance); overfit noise fires (PBO≥0.2) in 96.7%; genuine skill PBO 0.0 (power 1.0); AUC 1.0; a clone leaves PBO unchanged (0.005); an un-purged boundary leak collapses PBO to 0, the embargo lifts it +0.44. Three real bugs fixed (verify-before-report, no threshold p-hacking): within-block IC centering, a maximally-exchangeable chance null, and the many-trials regime (K=6 was biased). Documented sensitivity: PBO is fooled by raw autocorrelation (block-perm null 0.34) → it must ride on the #0 purged folds. Paired with a round-trip-cost magnitude gate (PBO is rank-blind).instrument_09…md · loop iter 11GROUNDED
2026-07-23Harvey–Liu–Zhu t≥3 (M_eff) (#10)Once you count everything ever tried, how big a t-stat does a feature really need to be believed?on 869,833 real BTC@250 bars (universe M=30, Newey-West lag 30): all 6 §7 gates, robust across 5 seeds — power 1.0; the effective test count M_eff recovers a known rank of 5 exactly; a clone adds 0 (M_eff 1.0); family-wise error controlled at 0.043 vs 0.82 for a naïve OLS (≈19× worse); collapsing the universe to 1 inflates error to 0.085. Necessity (verify-before-report): the textbook analytic threshold assumes a normal null and under-controls on real heavy tails (error up to 0.130); the permutation-calibrated threshold controls it and adapts to the tail (3.19→3.58 on the worst seed). Same permutation-refinement pattern as #3 and #8. ★ completes the realness axis.instrument_10…md · loop iter 12GROUNDED
2026-07-23Rank IC + ICIR + HAC-t (#4)Does the feature actually rank-predict the next move, and is that significant once you account for slow-drifting (autocorrelated) data?on 869,833 real BTC@250 bars (per-period IC series, T=750, period-lag 50): all 5 §7 gates, robust across 5 seeds — a real look-ahead is detected (power 1.0 at IC=.03); the per-period IC series is long-memory (Hurst 0.81), so a naïve i.i.d. t over-states significance ≥2× (2.2–3.7) and the required sample inflates ~SE²≈5×; blind to non-monotone & interaction-only signals (FNR=1 → #19/#11/#7). First usefulness instrument. The near-white bar-level contribution meant the HAC machinery had to move to the period-IC level; the null-FPR was controlled by #10's conservative-permutation threshold (adapts to the lag-50 heavy tail → FPR 0.005). Three checkpoints of verify-before-report (injection bug, level, drift-confounded N_min).instrument_04…md · loop iter 15GROUNDED
2026-07-23IC-decay / half-life (#5)Does the edge peak at a tradable horizon and fade smoothly (healthy) — or stay flat / spike (leakage or snooping)?on real BTC@250 bars over horizons {1,2,3,5,8,13,20} bars (NW lag 30): all 4 §7 gates, robust across 5 seeds — a healthy signal peaks at h*=3 and decays perfectly monotonically (post-peak ρ=−1.0, half-life 10); a flat / far-horizon curve is flagged as leakage. The multi-horizon returns overlap (h≥2), so a naïve i.i.d. t family-wise-errors at 0.09–0.15 while the HAC correction controls at 0.04–0.05 — HAC is load-bearing here (unlike #4's near-white single 3s return). The heavy-tail FWER was controlled by the #10/#4 permutation family threshold (Westfall-Young max-t). Blind to non-monotone → route to #7/#19.instrument_05…md · loop iter 16GROUNDED
2026-07-23MDA + clustered-MDA (ONC) (#7)Train a model, shuffle one feature, and see how much accuracy it costs — the importance the model actually assigns.on real BTC@250 bars (pinned logistic base, 4 purged folds): all 5 §7 gates, robust across 5 seeds — a real look-ahead is kept (power 0.83–0.88 at IC=.03); both nulls false-positive in ≤4.2%. ONC defeats the substitution effect: a feature and its exact clone each look weak alone, but ONC co-clusters them 100% and clustered importance recovers ~1.0× the lone-driver worth. The empirical-null threshold was set conservatively (97th pctl → FPR robustly ≤.05, the #4/#5/#10 pattern). Blind to interaction-only signals (a linear model can't see them → FNR=1) → route to #11/#12/#13.instrument_07…md · loop iter 17GROUNDED
2026-07-23Quantile monotonicity + PT/RW MR (#19)Does the mean forward return climb smoothly across feature deciles (healthy), or spike in one tail (rare-veto) — a monotone relation, not just a spread?on real BTC@250 bars (Q=10 deciles, rank returns): all 6 gates, robust across 5 seeds — a genuinely-monotone signal is detected (power 1.0 at IC=.05); both nulls calibrate to ~.05 (∈[.03,.07]) via a per-test block-permutation p-value (the analytic normal over-rejects the autocorrelated null → not ∀H-valid). The Romano-Wolf refinement is load-bearing: a flat-then-jump rare-veto has a big spread but its low half doesn't trend → the RW test rejects it (≤1.7%) while the plain trend over-rejects (100%). Completes the usefulness axis. Monotone-only by design → measures (not requires) the miss-rate on non-monotone/interaction signals → route to #11/#12/#13.instrument_19…md · loop iter 19GROUNDED
2026-07-23Conditional Mutual Information I(f;Y|S) (#11)Given everything we already ship, does this feature add NEW information about returns — including interaction-only signal that has zero standalone predictive power?on real BTC@250 bars (KSG/Frenzel-Pompe k-NN CMI, Runge local-permutation null): all 8 gate-groups, robust across 2 seeds — recovers the analytic Gaussian answer (≤.01 nats); detects a genuine interaction-only signal that has ~zero marginal information (the sign-XOR archetype the marginal instruments #4/#5/#7/#19 all miss); all four nulls false-positive at 0.0. The AR(1) hardening is load-bearing: a feature's own autocorrelation, unrelated to returns, does not inflate the local-permutation test (the classic Runge anti-conservatism concern). Published blind spot: CMI grounds "new beyond the shipped set as measured" — if the conditioning set captures a hidden common cause only partially, the residual is a real conditional dependence CMI correctly reports (route imperfect-conditioning cases to #12 knockoffs / #13 DML). Opens the conditional axis.instrument_11…md · loop iter 21GROUNDED
2026-07-24Double/Debiased ML + CPI (#13)Strip out everything the shipped factors already explain — is there still a forward-return effect left over, and is it real once you account for slow-drifting data?on real BTC@250 bars (cross-fitted purged 10-fold DML + HAC + CPI): all 7 gates, robust across 5 seeds — the confidence interval is calibrated (coverage 0.94–0.97, false-alarms ≤6.5%); a planted left-over effect is detected (power 0.97, HAC-t 6, CPI p 0.003); "retention" cleanly separates a feature that adds new information (R 1.22) from one that is redundant with the shipped set (R 0.24); it ABSTAINS when the feature is near-collinear with the shipped set (R²≥.95). HAC is not optional — the naïve i.i.d. error over-rejects 10–15× on slow-drifting data. Published vulnerability (the Harden): the guarantee is only as good as the conditioning set — omit a true driver and a redundant feature is spuriously admitted (R 1.0 vs 0.007), so the control set must be pre-registered with a sensitivity report. Completes the conditional axis and absorbs the FDR-selection role that #12 could not deliver.instrument_13…md · loop iter 27GROUNDED
2026-07-24Huberman-Kandel spanning intercept (#14)Turn the feature into a trading return and ask: does it earn anything the shipped factors don't already earn?on real BTC@250 bars (spanning regression + HAC + block-bootstrap): 6 gates robust across 4 seeds — coverage 0.93–0.97; a basis-spanned feature never false-positives; substitution separates spanned (t~0.3) from incremental; the significance is stable across a frozen lag set (no cherry-picking); and the omitted-premium Harden shows the verdict is only as complete as the pre-registered factor basis. Grounded per operator ruling (a) on the published power envelope: because the return series are long-memory, power≥.8 is reached at α≈6bps (the 5bps point sits at ~0.78 — the intrinsic long-memory-effective-N floor; block-bootstrap is used for the null-FPR, not power).instrument_14…json · loop iter 29GROUNDED
2026-07-24Mechanism-intensity scaling (Kyle-λ/VPIN/OFI) (#15)Does the feature predict MORE strongly when the underlying market mechanism (price impact, order-flow toxicity) is more intense — a real dose-response, not a fluke?on real BTC@250 bars: all 3 gates, robust across 3 seeds — a feature whose effect scales with the latent mechanism intensity is detected with power 1.0 (interaction t~24, a Jonckheere monotone-trend ~19.7, ΔIC ~0.17); a volatility-driven spurious scaling false-positives 100% without the volatility control and 0% with it (the control is load-bearing); and ≥2 of 3 mechanism proxies agree. Key model insight: intensity is a latent measured imperfectly by uncorrelated proxies, so the scaling is planted via the latent and each proxy partially confirms it.instrument_15…py · loop iter 31GROUNDED
2026-07-24Per-year IC + Bai-Perron/CUSUM (#16)Does the feature's edge stay the same sign and strength across time, or does it break/flip — and if it breaks, exactly when?on real BTC@250 bars (per-block IC + sup-F break, block-bootstrap CV): all 4 gates, robust across 4 seeds — a stable feature holds same-sign with a strong ICIR; a mid-sample sign-flip is detected 100% and located exactly (break-date error 0 blocks); a stable feature shows no spurious break (≤3%, block-bootstrap — the asymptotic critical value is invalid on short autocorrelated IC); and — the precondition — a dead feature can't hold same-sign across the blocks so it is never vacuously called "stable" (this gate sits behind the realness instrument).instrument_16…py · loop iter 32GROUNDED
2026-07-24Parameter-plateau vs needle (#17)Does the feature work across a broad band of its parameter settings (robust plateau — neighbours also work) or only at one lucky knob value (overfit needle)?on real BTC@250 bars (1-D cos-θ parameter grid, contiguous-run detection): all 3 gates, robust across 3 seeds — a plateau feature (a broad contiguous run of good-IC nodes around the centre) is detected 100% (median run 8 of 9 nodes); a needle (only the centre node good, driven by that node's private idiosyncrasy) is never called a plateau (0%) and neither is pure noise (≤5%); and the grid carries the real .7–.9 knob-neighbour correlation (0.83). A real robust signal spreads good IC across adjacent settings; an overfit one concentrates it on one node.instrument_17…py · loop iter 33GROUNDED
2026-07-24Detector lead-vs-coincide (#18)Does the detector move BEFORE the event it flags (a genuine lead, predictive) or just at the same time (coincidence) — or after (lagging)?on real BTC@250 bars (lead-lag + transfer-entropy + MMD²_u, three independent legs): all 3 gates, robust across 3 seeds — a planted leading detector is jointly detected 100% (optimal lag ℓ*≥+1 with a block-bootstrap CI excluding 0, directional transfer-entropy ΔTE>0, and a distributional MMD/KS shift), with the lead located exactly (bias 0 bars); a coincident, a lagging, a pure-noise, and a block-permuted detector are none called a lead (all 0%); and the latent-common-cause Harden — a hidden Z driving both the detector and the event makes the naïve lead+TE fire 100% spuriously, but the partial transfer entropy TE(D→E|Z) conditioning on the shared driver removes it (0–2.5%). The conditioning set must be pre-registered. Completes the robustness/detector axis and the 20-instrument battery.instrument_18…py · loop iter 34GROUNDED
2026-07-24Model-X Knockoffs / CRT / TSKI (#12)Make a fake twin of each feature carrying no real signal; keep the feature only if it beats its twin — at a controlled false-discovery rate.Operator ruling (2026-07-24): standard knockoffs don't hold on our data. Across four sub-iterations the standard Gaussian model-X construction was exhausted: on the real long-memory microstructure panel the filter delivers an irreducible false-discovery rate ~1.3× the target (no setting achieves ≤10% false discoveries and real detection — the detector goes dead before it reaches the target) and a power ceiling of 0.67 at the specified signal strength (needs 0.8). The core FDR guarantee is not met on this data. Its FDR-controlled conditional-selection role is routed to #13 DML (grounded), which handles the same dependence via orthogonalisation. Genuinely grounded and kept: the interaction-only non-linear-importance differentiator (random-forest 1.0 vs linear 0.0). Re-test if a time-series knockoff (TSKI / deep-generative) is built that controls FDR on long-memory data.slice4_findings · loop iter 25REJECTED

Part 1 — Crypto (BTCUSDT · open_deviation_bars · 15 promoted bar_close columns)

All 15 are bar-close candidates: computed over the trailing 200 completed-bar closes, emitted only on bar completion, NULL through the 200-bar warm-up (schema group comment schema.sql:71-72; per-column window text column_comments.py:412-616; golden warm-up proof golden_snapshot_test.rs:823-956). Batch-5 columns were additionally rescued by the persistence fix PR #556 (computed-then-dropped before the CH INSERT, 0%-populated until 2026-06-30).

#ColumnCardBatch · PR · dateThree-axis evaluation + added screens (promotion basis)Edge hypothesisUsefulness evidenceRealness evidence
1bar_petrosian_fd#509 · 2026-06-03three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
2bar_katz_fd#509 · 2026-06-03three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
3bar_dispersion_entropy#515 · 2026-06-07three-axisUNREGISTERED measurement-onlyNONE YETNONE YET
4bar_cecp_velocity#522 impl · backfill #541three-axis + CECP orthogonality (#519)UNREGISTERED measurement-onlyNONE YETNONE YET
5bar_categorical_recurrence_rate66batch-5 · #544 · 2026-06-27three-axis + worst-cell Spearman ≤0.85 + VIF≤5UNREGISTERED “price-level stickiness” (measurement)NONE YETNONE YET
6bar_sign_markov_flux98batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
7bar_ramsey_rothman_bicov_lag1113batch-5 · #544three-axis + worst-cellUNREGISTERED time-irreversibility (measurement)NONE YETNONE YET
8bar_ehlers_increment_asymmetry26batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
9bar_cox_stuart_trend_z23batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
10bar_groeneveld_meeden_b3_skewness99batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
11bar_l_kurtosis_tau42batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
12bar_bartels_rank_vn_ratio19batch-5 · #544three-axis + worst-cellUNREGISTERED measurement-onlyNONE YETNONE YET
13bar_hoeffding_phi_squared_midreturn_duration78batch-6 · #568 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.078)UNREGISTERED measurement-onlyNONE YETNONE YET
14bar_hvg_forward_visibility_horizon_mean59batch-6 · #579 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.175)UNREGISTERED measurement-onlyNONE YETNONE YET
15bar_vg_time_directed_clustering_meangap60batch-6 · #570 · 2026-07-04three-axis + §B ξ PASS (xi_worst 0.171)UNREGISTERED “arrow-of-time detector” (measurement)NONE YETNONE YET
rogers_satchell_var_bar50batch-6 · not mergedthree-axis + §B ξ PASS (promotable) — blocked on window-mean reduction ratificationNOT IMPLEMENTED — tracked here so its edge hypothesis can be registered before it ships

Excluded on purpose: aggression_ratio and the other core intra-bar microstructure columns (schema.sql:29, group core) — they predate and sit outside the orthogonality-promotion campaigns. Batch-6 dashboard journal filenames say “pr569-card59”; the merged commit is #579 (2c6f7b7b) — recorded here so the discrepancy doesn’t propagate.

Part 2 — Forex (EURUSD/GBPUSD/XAUUSD/XAGUSD · fxview_cache.forex_bars · 15 contributed columns)

Forex kernels live in the sibling terrylica/mql5 repo (orthogonal_extension_kernels/*.rs); this dashboard carries the mirror. All evaluated orthogonal · parameterless · agnostic, entering through the same structural pipeline: parameterless-orthogonal discovery (multi-slice Spearman worst-cell screening) → Chatterjee ξ keeper-confirmation → implementation (Forex candidates hub).

Count reconciliation (14 vs 13 vs 15): 14 = ξ-KEEP shortlist out of the 16 Spearman-cleared batch-1-2 candidates (2026-06-06 keeper gate). Of those, only 9 were implementable-now (5 deferred, DEFERRALS.md / mql5 PR #100: 3 substrate-blocked, 2 parameter-flagged). 13 = the curated live catalog: those 9 + 4 batch-3/4 first-wave columns. 15 = 13 + the two later batch-3/4 stacked-PR columns (RQW + CREx, 2026-06-24). The numbers were never the same set; this table tracks all 15 live columns.
#ColumnFamilyBatch · mql5 PRThree-axis evaluation + added screensEdge hypothesisUsefulness evidenceRealness evidence
1anderson_darling_a2distributional shapeb1-2 · #91three-axis + Spearman worst-cell + ξ keeperUNREGISTEREDNONE YETNONE YET
2edge_spread_bpsmicrostructureb1-2 · #92three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
3hvg_clusteringvisibility-graphb1-2 · #93three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
4kendall_taub_ret_spreadmicrostructureb1-2 · #94three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
5lziv_complexity_signssign-seq complexityb1-2 · #95three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
6mann_kendall_ztrend / driftb1-2 · #96three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
7sevcik_fdfractal roughnessb1-2 · #97three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
8sign_two_state_entropy_ratesign-seq complexityb1-2 · #98three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
9spectral_log_slopespectral shapeb1-2 · #99three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
10pomeau_irreversibility_lag1time-irreversibilityb3-4 · cand #25 · LOOP #109three-axis + worst-cell + ξ + R1–R7 re-auditUNREGISTEREDNONE YETNONE YET
11hvg_degree_assortativity_coefficientvisibility-graphb3-4 · cand #55three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
12hvg_mean_shortest_path_lengthvisibility-graphb3-4 · cand #57three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
13psd_wiener_spectral_flatnessspectral shapeb3-4 · cand #72three-axis + worst-cell + ξUNREGISTEREDNONE YETNONE YET
14cumulative_residual_extropydistributional infob3-4 late · cand #38 · #126three-axis + worst-cell + ξ (post-catalog)UNREGISTEREDNONE YETNONE YET
15right_quantile_weight_tailweighttail asymmetryb3-4 late · cand #7 · #127three-axis + worst-cell + ξ (post-catalog)UNREGISTEREDNONE YETNONE YET

Provenance

INVENTORY · 2026-07-07 · read-only sweep against opendeviationbar-py @ 62a93d45 (crypto SSoT verified in-repo; forex mirrored from dashboard pages, kernels live in terrylica/mql5)
crypto columns: python/opendeviationbar/clickhouse/schema.sql:77-94 · python/opendeviationbar/constants.py:176-196 (BAR_CLOSE_FEATURE_COLUMNS) · python/opendeviationbar/clickhouse/column_comments.py:412-616 · crates/opendeviationbar-core/tests/schema_contract_test.rs:54-57
bar-close semantics: schema.sql:71-72 (“trailing 200 bar closes”) · column_comments.py per-column “completed-bar closes” text · src/core_bindings.rs:383 (only completed bars emitted) · golden_snapshot_test.rs:823-956 (200-bar warm-up NULL band) · persistence fix PR #556 (a895aa06)
promotion basis: findings/evolution/shared_data/three_axis_gate.py:14-18,:161 (promote = parameterless ∧ agnostic ∧ orthogonal; zero forward-return/predict/pnl hits) · batch-6 ξ bands: findings/evolution/audits/2026-07-02-batch6-chatterjee-xi-filter/verdict.md:19-25,:40-74 · “proves consistency, not edge”: findings/evolution/audits/2026-06-09-three-axis-probe-formalization/AXIS-1-ORTHOGONAL.md:39-45
forex columns: findings/dashboard/forex-candidates/feature-catalog.html (13 contributed) · feature-catalog-full.html (@nasimubd 15, generated 2026-06-25) · 2026-06-07 impl campaign (14 ξ-confirmed → 9 shipped #91–#99, 5 deferred #100) · 2026-06-24 RQW/CREx stacked PRs #124/#126/#127
hypothesis-presence audit: zero “edge hypothesis” sections on any promoted column; the Level-4 template appears only on two UNSHIPPED candidate pages (14-bar-hjorth-mobility, 65-persistence-landscape-l2-norm), both declining a numeric edge claim
metric scrub · 2026-07-07 operator directive: the previously scaffolded metric checklist (assembled from in-repo precedents, never researched or evaluated) was REMOVED from this page; the Discovery/Evaluation tables above are now the only door for metrics; background census remains at findings/evolution/audits/2026-07-07-feature-realness-usefulness/ as historical record, its metric proposals NOT admitted
trust rule: before acting on any single row, re-open the cited file at the pinned SHA — line numbers drift.