2026-06-06 · forex orthogonal candidate discovery · batch 3 + 4 · pane B (loop-batch34) · iteration 6 · FINAL
Iteration 6 — FINAL: loop-until-dry STOP + Challenge-and-Held
The final independent audit (value-health · parameterless-by-inspection · intra-batch among survivors) surfaced no new decision ⇒ second consecutive dry iteration ⇒ loop-until-dry K=2 → STOP. Then an adversarial Attacker/Defender review of the verdict: 9 HELD, 3 CONCEDED→FIXED, 0 verdict flips. Final, locked: 15 KEEP · 4 DROP · 1 HOLD of the 20 batch-3/4 candidates.
2 / 2
loop-until-dry → STOP
15
KEEP (3 reps · 2 watch)
9 / 3
HELD / CONCEDED (0 flips)
■ STOP — the loop is dry
Iter 5 (pooled-union cross-batch) and iter 6 (final audit) both surfaced no new decision (K=2). Iteration 6 confirmed: (a) value-health — 0 of 15 survivors near-point-mass (smallest min per-symbol median range 4.3e-4 ≫ the 1e-9 degeneracy floor); (b) parameterless — all 15 kernels knob-free (only declared structural-substrate conventions: 200-bar lookback, ODB bar, l_min=2, FFT bins by sample length, native count grid); (c) intra-batch among survivors — highest pair |ρ| = 0.69 (guzik|left_medcouple), zero pairs >0.85 on any asset.
Final verdict — 15 KEEP
| # | candidate | family | substrate | disposition |
| 25 | pomeau_irreversibility_lag1 | time-irreversibility | logret | KEEP |
| 28 | guzik_increment_magnitude_asymmetry | time-irreversibility | logret | KEEP·REP·WATCH |
| 118 | critical_exponent_sign_word | combinatorics-on-words | signs | KEEP |
| 119 | palindromic_defect_sign_word | combinatorics-on-words | signs | KEEP |
| 96 | sign_markov_entropy_production_3state | sign-Markov | signs | KEEP |
| 97 | sign_markov_slem_mixing_3state | sign-Markov | signs | KEEP |
| 70 | categorical_rqa_diagonal_entropy_logret_sign | categorical-RQA | signs | KEEP·REP·WATCH |
| 72 | psd_wiener_spectral_flatness | spectral | close | KEEP·REP |
| 57 | hvg_mean_shortest_path_length | visibility-graph | close | KEEP |
| 55 | hvg_degree_assortativity_coefficient | visibility-graph | close | KEEP |
| 63 | hoeffding_d_midreturn_duration | copula-free non-monotone | ret_dur★ | KEEP |
| 86 | interquote_count_fano_factor | duration count-dispersion | qcount★ | KEEP·WATCH |
| 38 | cumulative_residual_extropy | information | logret | KEEP |
| 07 | right_quantile_weight_tailweight | distributional tail | logret | KEEP |
| 102 | left_medcouple_lower_tailweight | distributional tail | logret | KEEP |
4 DROP + 1 HOLD (not shortlisted)
| # | candidate | disposition | basis (pooled-union denominator) |
| 74 | psd_spectral_centroid_normfreq | DROP·collapse | med 0.95 / max 0.98 vs flatness, >0.95 all 4 assets → flatness |
| 27 | porta_increment_sign_asymmetry | DROP·collapse | vs guzik all 4 + vs mann_kendall_z {EUR,GBP,XAU} → guzik |
| 67 | categorical_rqa_determinism_logret_sign | DROP·collapse | vs sign_two_state_entropy {GBP,XAG,XAU}, worst 0.98 → rqa_diagonal_entropy |
| 82 | sign_negentropy_logcosh_gap | DROP·connector | vs anderson_darling_a2 {EUR,XAG,XAU} pooled, worst 0.90 |
| 44 | ohlc_ordinal_pattern_index | HOLD·location | vs-prod med 0.85, all 4 assets, 105/174 cells, never >0.95, diffuse 2-col shadow |
Challenge and Held
Adversarial Attacker/Defender review (both read-only, in-slice) of the 15/5 verdict. Each challenge → HELD with evidence, or CONCEDED → FIXED. Net: 9 HELD, 3 CONCEDED→FIXED, 0 verdict flips.
⚒ 3 CONCEDED → FIXED (applied before this page)
- guzik WATCH — guzik’s worst keeper mann_kendall_z = 0.84 sits 1 bp under the 0.85 breach line. KEEP held (0 breach assets), but disposition relabeled KEEP_REPRESENTATIVE → KEEP_REPRESENTATIVE_WATCH and flagged for the ξ gate.
- Single breach denominator — the dispositions JSON exposed three breach fields (within-grid / pooled / by-grid). Collapsed to ONE verdict-bearing keeper_breach_symbols_pooled (pooled-union across all 10 slices, the batch-1-2 precedent); the others demoted to x-provenance diagnostics. Recomputing under the single denominator changes no verdict.
- ohlc_ordinal DROP → HOLD — relabeled DROP_LOCATION → HOLD_LOCATION to match the batch-1-2 candle_shoelace_area precedent (persistent median shadow, never >0.95, diffuse across ≥2 prod cols). Same practical outcome (held out of the shortlist), more precedent-consistent vocabulary.
🛡 9 HELD (with evidence)
1 · negentropy DROP “regime-cherry-picked”? HELD. The denominator is the pooled-union across all 10 slices (batch-1-2 precedent). negentropy vs anderson breaches on 3 distinct assets {EUR,XAG,XAU}; the by-grid split (EUR-calm + metals-stress) is just where the redundancy manifests — 3 assets is not a single-asset artifact. The strict within-slice alternative is not the established method.
2 · rqa_diagonal KEEP vs determinism DROP “noise”? HELD. Under the same pooled denominator the decisive metric is breach-asset-count, not max|ρ|: determinism {GBP,XAG,XAU}=3 → DROP; diagonal {XAU}=1 → KEEP. The 0.96-vs-0.94 tail is irrelevant; the clique correctly collapses to one representative.
3 · ohlc DROP false (never >0.95)? PARTIALLY CONCEDED (→ relabeled HOLD, see fixes) / HELD on not-shortlisting: median 0.852 with all-4-asset breach across 105/174 cells is a location verdict; never >0.95 means it is HOLD_LOCATION, not KEEP — its median is higher than every KEPT candidate (≤0.42) and higher than the batch-1-2 HOLD example (0.72).
4 · fano KEEP@0.52 vs ohlc DROP@0.85 “double standard”? HELD. Both judged on the same median-location axis. fano 0.52 with 0 cells >0.85 passes; ohlc 0.852 with all-4-asset breach fails. 0.52 vs 0.85 is a real magnitude gap, not opposite-half cherry-picking. (fano stays KEEP·WATCH — flagged precisely because 0.52 is the highest surviving median.)
5 · Fano hidden threshold knob? HELD. The counting window is the ODB bar — project-wide structural substrate (like the 200-bar lookback), not a per-feature analyst knob. Card 86 declares the count pinned to native per-bar granularity. The screen tests across all 7 thresholds per cell. Var/mean has no tunable parameter.
6 · RQA l_min=2 is a free knob? HELD. l_min=2 is the irreducible definitional floor (a length-1 diagonal is a point, not a line) — the parameterless-by-convention value declared on cards 67/70. Marwan’s l_min∈[2,10] sweeps are the free-knob variant this candidate explicitly does not take.
7 · guzik needs WATCH CONCEDED → FIXED (see above).
8 · spectral FFT bins lookback-induced? HELD. K is a deterministic function of the 200-bar structural substrate, declared a non-knob on cards 72/74. flatness vs spectral_log_slope keeper = 0.58 (0 breach) — no inflation; centroid is the sibling that collapses.
9 · CRExtropy degenerate / lenient? HELD. min per-symbol median range 4.3e-4 = 4.3×10⁵ × the 1e-9 degeneracy floor → not near-point-mass; the rank-based screen is scale-invariant. CRExtropy has 0 pooled keeper breach (worst 0.80); its negentropy tie is single-asset (XAG) — kept under the identical ≥2-asset rule that kept rqa_diagonal’s XAU-only.
10 · three denominators CONCEDED → FIXED (single pooled denominator).
11 · ohlc names two prod cols CONCEDED→reframed: a diffuse 2-col block shadow is the signature of a location HOLD (low-rank shadow of the directional subspace), not a single-column collapse — supports HOLD, applied.
Surviving family map (15 KEEP)
⏳ Time-irreversibility — 25 pomeau · 28 guzik·REP·WATCH
♻️ Categorical-RQA — 70 diagonal-entropy·REP·WATCH
🔤 Combinatorics-on-words — 118 critical-exp · 119 palindromic-defect
🔀 Sign-Markov — 96 entropy-prod · 97 SLEM
📡 Spectral — 72 wiener-flatness·REP
🕸️ Visibility-graph — 57 mean-path · 55 assortativity
🔗 Copula-free non-monotone — 63 Hoeffding-D (ret_dur★)
⏱️ Duration count-dispersion — 86 Fano·WATCH (qcount★)
🔢 Information — 38 CRExtropy
📐 Distributional tail — 07 right-quantile · 102 left-medcouple
Artifacts
- Worktree
findings/.../batch34_results/: 174 per-cell-slice JSONs · AGGREGATE_VERDICT.json · CROSSBATCH_VS_KEEPERS_iter{3,4}_*.json · batch34_dispositions.json (final, with Challenge-and-Held fixes).
- Probe: 20 clean-room kernels + 2 new substrates (
ret_dur, qcount) in multislice_orthogonality_probe.py (GPL refs reimplemented from formula).
- Two new substrates were required: #63 Hoeffding-D (ret_dur = logret×duration) and #86 Fano (qcount = per-bar quote_count).
Iteration 6 (FINAL) · generated 2026-06-06 · loop-until-dry K=2 reached · PR-from-worktree (loop-batch34) opened for review with this Challenge-and-Held in the body · not merged.