Asked to build the 10 operator-promoted batch-5-10 forex features into real columns. The bootstrap plus the first five all built, parity-proven and PR-open with zero deferrals, and the loop hit its own stop rule after five.
| Quantity | Value | Meaning |
|---|---|---|
| Features built this run | 5 of 10 | iterations 2-6; 7-11 never triggered |
| Batch vs streaming parity | 0.0 over 11,200 bars on three features | bit-identical |
| Worst parity residual | 2.407e-13, and 1.825e-15 | inside the locked 1e-9 tier |
| Deferrals raised | 0 | no gate failed |
| PRs opened | 6 (mql5 #143-#148), stacked | the loop never merges |
| Firing | What it did |
|---|---|
| 00 | Scaffolded the board and the loop contract; recorded the 10 promotions |
| 01 | Bootstrap: minted the cohort, ran the agnostic gate 5 of 5 at 540 of 540 each |
| 02-04 | Built the three sign-substrate features; every bar matched bit-for-bit |
| 05-06 | Built the first two-input feature and the first duration-substrate feature, zero fix cycles |
| - | mql5#148 merged 2026-07-17, so the merge chain waits on nobody |
Five features exist only as placeholder pages. Opening a second run needs an explicit operator decision plus freshly minted agnostic verdicts, and two further operator calls sit open (duplicate-group representatives, and graph-family sequencing). All are operator discretion — nobody is blocked and no defect is outstanding.
The run's contracted scope — bootstrap plus the operator-gated first five, then stop — completed with zero deferrals and its stop rule satisfied. The second half is a new run that only an operator decision can open, which is discretion rather than a blocker. Stated fairly: the board is titled 10x, so campaign-level scope is half-built; that half was never triggered by design, not by failure.
'RUN COMPLETE (2026-07-14, tick 6 — section 11 stop condition met): the full stacked chain is OPEN with ZERO deferrals.' (index.html operator handoff)
Lifecycle status is process state, not a judgement of the findings. Results are stated as numbers with their uncertainty.
The implementation campaign for the 10 final-PASS batch-5-10 candidates
(operator promotion decision 2026-07-07) out of the 28 evaluated on 2026-07-02
(evaluation campaign ·
mql5#134).
Each feature becomes a real fxview_cache.forex_bars column via the hardened
pipeline: frozen-fixture Python oracle → bit-exact causal Rust kernel → producer wiring in one PR → robustness suite → Challenge-and-Held → operator squash-merge.
Campaign contract + plan of record live in the mql5 discovery folder
(findings/audits/2026-06-03-forex-parameterless-orthogonal-candidate-discovery/,
files 2026-07-07-b5-10-implementation-plan.md ·
LOOP_CONTRACT_impl_b5_10.md).
How each of today's 5 features travels from banded evidence to a live fxview_cache.forex_bars column. The loop opens one PR per feature and never merges; any agnostic-TEST-B or gate failure defers to operator review (Stage 5). Binding law: LOOP_CONTRACT_impl_b5_10.md.
28 candidate measurements of "the shape of recent price action" were screened against every feature already in production, on real bars only. 10 survived every gate (genuinely new information, not a re-dressing of an existing column) and are being built. 15 are on WATCH (too similar to something we already have, or to each other), and 3 are BANNED (provably redundant). Every candidate is listed below with what it measures and why it might carry edge.
Verdicts were never hand-judged: worst-cell Spearman ρ across 174 market slices, then worst-cell Chatterjee ξ across 341 crossed regime×session slices, then a sibling-redundancy audit (pairwise cliques + leave-one-out R²). The three ex-PASS candidates demoted as sibling-redundant await an operator decision on duplicate-group representatives.
▶ Today (2026-07-08): implementing the first 5 in build order — #107 ETC, #108 Sequitur, #98 sign-Markov flux, #80 Gini-corr asymmetry, #78 Hoeffding Φ² (marked PENDING — TODAY). The bootstrap iteration (v4 cohort mint) runs first, also today. Remaining 5 (#58, #59, #60, #45, #51) are NEXT IN QUEUE. Every candidate stays PROVISIONAL under the operator mandate below — the agnostic TEST-B gate runs first, per feature.
⛔ Operator mandate (2026-07-07) — promotion is PROVISIONAL; no silent promoting. Any promoted candidate that fails the agnostic TEST-B gate, the adversarial build-today gate, the substrate-map §4.1 audit, parity at the locked tolerance, or any hardening witness — or that produces any unexpected outcome at any pipeline step — is DEFERRED for operator review (DEFERRALS.md §Stage 4 row + a DEFERRED — OPERATOR REVIEW flag on this board). The loop never re-promotes a deferred candidate, never substitutes a WATCH candidate, never relaxes a tolerance. The operator takes the final promote/drop decision. Binding text: LOOP_CONTRACT_impl_b5_10.md header mandate.
Layman description per candidate, grounded in its discovery card
(findings/audits/2026-06-03-…/candidates/ in mql5). Substrate shown is the binding REGISTRY substrate
from multislice_orthogonality_probe.py — the exact recipe the KEEP evidence ran on.
Repeatedly merges the most frequent adjacent pair in the up/down/flat bar-direction string and counts how many merge steps it takes to collapse it to a constant. More effort means more disordered, unpredictable direction flow; less effort means repetitive, potentially exploitable sign patterns.
DOI:10.1140/epjst/e2013-01888-9 (Nagaraj, Balasubramanian & Dey 2013, ETC) · evaluated verdict: PASS · iter 02 ↗
Feeds the up/down bar-direction string into a deterministic grammar-building compressor (Sequitur) and reports how small the resulting grammar is relative to the original string. A low ratio means repetitive, hierarchical direction patterns; a ratio near 1 means random, incompressible alternation.
arXiv:cs/9709102 (Nevill-Manning & Witten 1997, Sequitur) · evaluated verdict: PASS · iter 03 ↗
Treats the up/flat/down bar sequence as a 3-state cycle and measures the net probability current circulating around it. A preferred rotational direction (e.g., up→flat→down→up) is a directional-regime signature invisible to simple averages of up and down counts.
arXiv:2404.01978 (Andrieux); Schnakenberg 1976, Rev. Mod. Phys. 48, 571 · evaluated verdict: PASS · iter 04 ↗
Measures the return-vs-spread relationship from both directions (value of one against the rank of the other) and reports the difference between the two readings. A nonzero gap means direction and spread are linked asymmetrically — the liquidity-cost response to moves isn't exchangeable.
DOI:10.1080/03610928708829359 (Schechtman & Yitzhaki 1987) · evaluated verdict: PASS · iter 05 ↗
Scores dependence of ANY functional shape between how far a bar's price moved and how long the bar took to form, on a 0 (independent) to 1 (fully dependent) scale. Captures move-size/time coupling that straight-line correlation would miss entirely.
DOI:10.1016/j.jmva.2010.06.011 (Gaisser, Ruppert & Schmid 2010) · evaluated verdict: PASS · iter 06 ↗
Builds the visibility network of closes and measures average connectivity per point; a purely random series gives exactly 4, so the deviation from 4 quantifies hidden structure. Trending/correlated markets push it below 4, periodic or structured ones above.
arXiv:1002.4526 / DOI:10.1103/PhysRevE.80.046103 (Luque et al. 2009) · evaluated verdict: PASS · iter 07 ↗
For each bar, counts how many bars pass until price first climbs back to that bar's level, then averages the wait. Long average waits mean a rough, hard-to-revisit price path — a rank-based roughness gauge tied to rough-volatility behavior.
arXiv:2512.02352 · evaluated verdict: PASS · iter 08 ↗
In the visibility network, compares how tightly each point connects to its past neighbors versus its future neighbors. An imbalance means the series looks different when played backward — a time-arrow signature captured through triangle structure rather than simple connectivity.
arXiv:1507.01571 / DOI:10.1063/1.4934554 (pyunicorn, Donges et al.) · evaluated verdict: PASS · iter 09 ↗
Measures how far this bar's actual open detached from the 'smoothed' Heikin-Ashi open (the midpoint of the previous bar's open and close), scaled by the bar's range. Captures bars that open away from the recent consensus price — a gap/momentum tell built from just two bars.
Valcu, 'Using the Heikin-Ashi Technique', TASC 22(2), 2004 (no DOI; paper ID pending) · evaluated verdict: PASS · iter 10 ↗
The squared log jump between this bar's open and the previous bar's close — the pure between-bar gap component of volatility that range-based estimators (Parkinson, Garman-Klass) throw away. Flags regimes where price jumps between bars rather than traveling within them.
DOI:10.1086/209650 (Yang & Zhang 2000) · evaluated verdict: PASS · iter 11 ↗
Checks whether the bigger moves lean up or down by comparing how far the 10th and 90th percentile returns sit from the median. Detects lopsidedness in the outer deciles that quartile-based skew measures miss.
DOI:10.1093/biomet/62.1.101 (Hinkley 1975; Kelley 1947 decile form) · evaluated verdict: WATCH
Converts the price series into a 'visibility' network and tallies which of six possible 4-point local shapes occur, reporting the entropy of that mix. Different trend/volatility (Hurst) regimes produce measurably different motif mixes, so the profile acts as a regime fingerprint.
arXiv:1811.03794 / DOI:10.1016/j.cnsns.2019.01.012 (Xie, Han & Zhou) · evaluated verdict: WATCH
The gap between the average return and the median return, scaled by the typical deviation from the median (bounded −1 to +1). Detects whether a handful of larger moves are dragging the average away from the typical bar — a robust read on directional skew.
DOI:10.2307/2987742 (Groeneveld & Meeden 1984) · evaluated verdict: WATCH
Measures how fat-tailed and peaked recent returns are, but using an outlier-resistant averaging method (L-moments) instead of raising returns to the fourth power. The edge: it flags heavy-tail risk regimes on FX moves without being blown up by a single spike the way classical kurtosis is.
DOI:10.1111/j.2517-6161.1990.tb01775.x (Hosking 1990, L-moments) · evaluated verdict: WATCH
Gauges tail-heaviness by comparing distances between the eighths (octiles) of the return distribution — no fourth moments involved. Captures whether returns cluster around their shoulders or spill out into the tails, robustly.
DOI:10.2307/2348376 (Moors 1988) · evaluated verdict: WATCH
Compares the total zig-zag distance price traveled to how far it actually got from its starting point. High values mean a convoluted, choppy path; low values mean a straight, efficient trend — a trendiness-vs-chop gauge.
DOI:10.1016/0010-4825(88)90041-8 (Katz 1988) · evaluated verdict: WATCH
Counts how often the direction of price change flips and turns that zig-zag density into a fast roughness score. Separates smooth trending stretches from dense back-and-forth chop.
DOI:10.1109/CBMS.1995.465426 (Petrosian 1995) · evaluated verdict: WATCH
Divides the size of successive bar-to-bar jumps by the overall spread of the series. Low readings mean trending/persistent movement, high readings mean jagged mean-reversion — a knob-free trend-vs-reversion dial.
DOI:10.1214/aoms/1177731677 (von Neumann 1941) · evaluated verdict: WATCH
The same trending-versus-choppy test as the von Neumann ratio, but computed on the ranks of the returns instead of raw values, making it immune to outliers. Sits near 2 when the market is random; departures flag persistence or mean-reversion in the return sequence.
DOI:10.1080/01621459.1982.10477764 (Bartels 1982) · evaluated verdict: WATCH
Counts how many bars closed up versus down across the lookback and standardizes the imbalance into a z-score. A persistent excess of up-moves (or down-moves) is a simple, distribution-free sign of drift.
DOI:10.1093/biomet/42.1-2.80 (Cox & Stuart 1955) · evaluated verdict: WATCH
Takes the skewness of bar-to-bar price changes: zero means up-moves and down-moves are mirror images. A nonzero reading means the market rises and falls with differently shaped moves (e.g., slow grind up, sharp drop) — a time-irreversibility tell.
DOI:10.3390/e23111474 · evaluated verdict: WATCH
Compares the total energy of price increases against price decreases ('accelerations' vs 'decelerations') at the native bar scale. Captures whether the market spends its movement asymmetrically between advances and declines.
DOI:10.1103/PhysRevLett.95.198102 (Costa, Goldberger & Peng 2005) · evaluated verdict: WATCH
A knob-free spread/uncertainty measure of the return distribution that puts extra weight on the lower (loss) tail, computed straight from sorted returns. Rises when downside outcomes become more dispersed and uncertain.
DOI:10.1016/j.jspi.2009.05.038 (Di Crescenzo & Longobardi 2009) · evaluated verdict: WATCH
The fraction of bar pairs in the window that closed at exactly the same tick price. High values mean price keeps revisiting the same levels (pinning/consolidation); low values mean it keeps printing fresh levels.
DOI:10.3389/fpsyg.2014.00510 (Coco & Dale 2014, categorical RQA) · evaluated verdict: WATCH
Compares a 'smoothed median' (the median of all pairwise return averages, the Hodges-Lehmann pseudomedian) against the plain median; they match only when returns are symmetric. The normalized gap is a pure asymmetry signal sitting between fragile mean-based skew and coarse median-based skew.
DOI:10.1214/aoms/1177704172 (Hodges & Lehmann 1963) · evaluated verdict: WATCH
Measures how much the shape of price movement departs from a clean smooth wave, using only the variability of the series and its first and second differences (a pure sine scores 1, jaggedness scores higher). Flags when market motion turns irregular versus orderly oscillation.
DOI:10.1016/0013-4694(70)90143-4 (Hjorth 1970) · evaluated verdict: BAN
Pairs each price in the first half of the window with its counterpart in the second half and counts how often the later value is higher. A robust 'is the second half above the first half' drift detector that shrugs off short-range noise.
DOI:10.1093/biomet/42.1-2.80 (Cox & Stuart 1955) · evaluated verdict: BAN
A third-moment comparison of today's return against yesterday's (squared-today times yesterday minus today times squared-yesterday) that equals zero when the series looks the same played backward. A nonzero value picks up sharp-rise/slow-fall (or the reverse) dynamics that both variance and ordinary skew miss.
DOI:10.2307/2077963 (Ramsey & Rothman 1996) · evaluated verdict: BAN
Transcribed verbatim from the machine SSoT candidates_status.json (sha256 f8c9f063…) — never re-judged here. Gates: ρ worst-cell PASS<0.85 · WATCH 0.85–0.95 · BAN≥0.95 (≥2-symbol); ξ §B worst-cell (PR #564) PASS ξ<0.50 · BAN ξ>0.95 ∧ breadth≥0.80 · else WATCH; LOO-R² bands ADVISORY. G1/G2 = pairwise duplicate groups (union ρ-BAN/ξ-BAN edges).
| Card | Slug | Substrate (eval SSoT) | ρ worst-cell | ξ worst-cell | LOO-R² (advisory) | Verdict | Implementation status |
|---|---|---|---|---|---|---|---|
| 107 | etc_effort_to_compress_logret_sign | signs | 0.667 (med 0.225 · vs sign_two_state_entropy_rate · XAUUSD) | 0.455 (breadth 0.00 · vs sign_two_state_entropy_rate) | WATCH (0.740) | PASS | SHIPPED — PR #144 · iter 02 |
| 108 | sequitur_grammar_compression_ratio_logret_sign | signs | 0.424 (med 0.102 · vs sign_two_state_entropy_rate · XAUUSD) | 0.297 (breadth 0.00 · vs roll_spread_bps) | WATCH (0.673) | PASS | SHIPPED — PR #145 · iter 03 |
| 98 | sign_markov_inout_strength_asymmetry_flux | signs | 0.428 (med 0.079 · vs anderson_darling_a2 · EURUSD) | 0.365 (breadth 0.00 · vs roll_spread_bps) | WATCH (0.788) | PASS | SHIPPED — PR #146 · iter 04 |
| 80 | gini_correlation_asymmetry_signedreturn_spread | ret_spread | 0.552 (med 0.305 · vs mann_kendall_z · GBPUSD) | 0.309 (breadth 0.00 · vs signal_rv_two_scale_bar) | WATCH (0.835) | PASS | SHIPPED — PR #147 · iter 05 |
| 78 | hoeffding_phi_squared_midreturn_duration | ret_dur | 0.617 (med 0.187 · vs anderson_darling_a2 · GBPUSD) | 0.284 (breadth 0.00 · vs roll_spread_bps) | WATCH (0.744) | PASS | SHIPPED — PR #148 · iter 06 |
| 58 | hvg_mean_degree_excess | close | 0.843 (med 0.651 · vs hvg_mean_shortest_path_length · XAUUSD) | 0.417 (breadth 0.00 · vs hvg_clustering) | WATCH (0.881) | PASS | NEXT IN QUEUE · iter 07 |
| 59 | hvg_forward_visibility_horizon_mean_bar | close | 0.642 (med 0.344 · vs hvg_mean_shortest_path_length · XAUUSD) | 0.325 (breadth 0.00 · vs mann_kendall_z) | WATCH (0.835) | PASS | NEXT IN QUEUE · iter 08 |
| 60 | vg_time_directed_clustering_kld | close | 0.771 (med 0.258 · vs mann_kendall_z · EURUSD) | 0.260 (breadth 0.00 · vs signal_noise_ratio_bar) | WATCH (0.860) | PASS | NEXT IN QUEUE · iter 09 |
| 45 | heikin_ashi_open_gap_sign | ohlc_bar | 0.756 (med 0.459 · vs lookback_twap_position_q1000 · GBPUSD) | 0.451 (breadth 0.00 · vs lookback_twap_position_q1000) | WATCH (0.796) | PASS | NEXT IN QUEUE · iter 10 |
| 51 | overnight_gap_logret_sq | logret | 0.574 (med 0.258 · vs ma1_noise_variance_u2_bar · XAUUSD) | 0.365 (breadth 0.00 · vs bid_low) | WATCH (0.768) | PASS | NEXT IN QUEUE · iter 11 |
| 8 | kelly_decile_skewness | logret | 0.841 (med 0.748 · vs mann_kendall_z · EURUSD) | 0.473 (breadth 0.00 · vs mann_kendall_z) | DUP (1.000 · G2) | WATCH demoted from PASS (sibling-redundant · G2) | PENDING OPERATOR DECISION dup-group representative |
| 56 | hvg_tetradic_motif_profile_entropy | close | 0.782 (med 0.596 · vs hvg_clustering · GBPUSD) | 0.486 (breadth 0.00 · vs hvg_clustering) | DUP (0.962 · G1) | WATCH demoted from PASS (sibling-redundant · G1) | PENDING OPERATOR DECISION dup-group representative |
| 99 | groeneveld_meeden_b3_skewness | logret | 0.831 (med 0.735 · vs mann_kendall_z · GBPUSD) | 0.477 (breadth 0.00 · vs mann_kendall_z) | DUP (1.000 · G2) | WATCH demoted from PASS (sibling-redundant · G2) | PENDING OPERATOR DECISION dup-group representative |
| 2 | l_kurtosis_tau4 | logret | 0.950 (med 0.871 · vs anderson_darling_a2 · XAGUSD) | 0.778 (breadth 0.73 · vs anderson_darling_a2) | DUP (0.976) | WATCH | NOT PROMOTED inventory |
| 5 | moors_octile_kurtosis | logret | 0.947 (med 0.726 · vs anderson_darling_a2 · XAGUSD) | 0.733 (breadth 0.16 · vs anderson_darling_a2) | WATCH (0.967) | WATCH | NOT PROMOTED inventory |
| 11 | katz_fd | close | 0.902 (med 0.852 · vs sevcik_fd · GBPUSD) | 0.617 (breadth 0.29 · vs sevcik_fd) | WATCH (0.825) | WATCH | NOT PROMOTED inventory |
| 12 | petrosian_fd | close | 0.966 (med 0.522 · vs sign_two_state_entropy_rate · XAUUSD) | 0.840 (breadth 0.04 · vs sign_two_state_entropy_rate) | DUP (0.993 · G1) | WATCH | NOT PROMOTED inventory |
| 18 | vonneumann_ratio | logret | 0.938 (med 0.495 · vs sign_two_state_entropy_rate · XAUUSD) | 0.697 (breadth 0.02 · vs sign_two_state_entropy_rate) | DUP (0.994 · G1) | WATCH | NOT PROMOTED inventory |
| 19 | bartels_rank_vn_ratio | logret | 0.851 (med 0.438 · vs sign_two_state_entropy_rate · XAUUSD) | 0.571 (breadth 0.01 · vs sign_two_state_entropy_rate) | DUP (0.964 · G1) | WATCH | NOT PROMOTED inventory |
| 22 | difference_sign_test_z | logret | 0.929 (med 0.826 · vs mann_kendall_z · EURUSD) | 0.613 (breadth 0.16 · vs mann_kendall_z) | DUP (0.994 · G2) | WATCH | NOT PROMOTED inventory |
| 26 | ehlers_increment_asymmetry | logret | 0.813 (med 0.642 · vs mann_kendall_z · XAUUSD) | 0.531 (breadth 0.00 · vs mann_kendall_z) | DUP (0.980 · G2) | WATCH | NOT PROMOTED inventory |
| 29 | costa_accel_decel_asymmetry | logret | 0.935 (med 0.879 · vs mann_kendall_z · EURUSD) | 0.651 (breadth 0.55 · vs mann_kendall_z) | DUP (0.999 · G2) | WATCH | NOT PROMOTED inventory |
| 39 | empirical_cumulative_entropy | logret | 0.956 (med 0.770 · vs anderson_darling_a2 · XAGUSD) | 0.743 (breadth 0.23 · vs anderson_darling_a2) | DUP (0.988) | WATCH | NOT PROMOTED inventory |
| 66 | categorical_recurrence_rate_close_ties | close | 0.813 (med 0.652 · vs sevcik_fd · EURUSD) | 0.549 (breadth 0.00 · vs sevcik_fd) | WATCH (0.898) | WATCH | NOT PROMOTED inventory |
| 100 | hl_pseudomedian_minus_median_gap | logret | 0.902 (med 0.783 · vs mann_kendall_z · EURUSD) | 0.563 (breadth 0.02 · vs mann_kendall_z) | DUP (1.000 · G2) | WATCH | NOT PROMOTED inventory |
| 15 | hjorth_complexity | close | 0.958 (med 0.919 · vs sevcik_fd · EURUSD) | not run (ρ-BAN terminal) | — | BAN | TERMINAL never implement |
| 23 | cox_stuart_trend_z | close | 0.978 (med 0.968 · vs mann_kendall_z · GBPUSD) | not run (ρ-BAN terminal) | — | BAN | TERMINAL never implement |
| 113 | ramsey_rothman_bicovariance_gamma21_lag1_midlogret | logret | 0.995 (med 0.191 · vs pomeau_irreversibility_lag1 · XAUUSD) | not run (ρ-BAN terminal) | — | BAN | TERMINAL never implement |
Raw evidence: ρ per-cell JSONs + aggregate committed in mql5 (eval_b5_10_results/, PR #134); raw ξ per-cell JSONs (179 MB) retained bigblack-only (operator decision 2026-07-02); ξ §B verdict + sibling audit + LOO-R² committed (eval_b5_10_xi_results/ · eval_b5_10_sibling_verdict.md · eval_b5_10_loo_r2_results/). Sibling demotion mandate 2026-07-03: prior band preserved in verdict_pre_sibling.
One row per loop iteration, appended when the iteration completes — never rewritten. Each row links its iteration page (pre-created so no click 404s; the loop overwrites the placeholder when it reaches that iteration).
| iter | date | page | covers | status |
|---|---|---|---|---|
| 00 | 2026-07-07 | — (this board) | Campaign scaffolded: promotion of the 10 PASS recorded; plan of record + LOOP_CONTRACT_impl_b5_10 committed in the mql5 discovery folder (PR-A); this dashboard spoke + 11 pinned placeholder pages committed (PR-B). | DONE · scaffold PRs open |
| 01 | 2026-07-14 | bootstrap | v4 cohort MINTED (anchor e5473634…, triple-equality verified) · substrate-map §2.1 PASS · SSoT/tolerance table LOCKED (EXACT 107/108 · counts+ε1e-9 98 · ε1e-9 80/78; numpy 2.5.0/scipy 1.18.0) · prereq ① agnostic PASS 5/5 (540/540 ea; 107/108 EXACT) · prereq ② adversarial build-today GO-ALL-5 INLINE per §6.S (7 rejected forks all breach: min 1.01e-02, max 1.403; H4 bounds 300/300; RG8 witnesses pinned, sha da46956d…) · C&H: Attacker 6/6 · Defender 7/8+1 resolved (checklist error, cohort order is alphabetical by convention) · gates: rust:check + check:all-gates + pre-push ALL GREEN | DONE · PR #143 OPEN |
| 02 | 2026-07-14 | etc_effort_to_compress_logret_sign | feature #107 · signs · EXACT tier · parity batch/stream 0.0 / 0.0 (11,200/11,200 bit-identical, non-vacuous, H3 golden 12,000) · H2 forks cross-language exact (TIE-LATEST 37/60 max 2.513e-02 · SIGNUM 10/65 max 1.010e-02) · RG8 witness EURUSD@5+0 = 0.3248730964467005 bit-exact · C&H A 8/8 · D 10/10 · 0 conceded · findings: serde_json non-roundtrip float parse (loader fixed), feature-catalog regen | DONE · PR #144 OPEN |
| 03 | 2026-07-14 | sequitur_grammar_compression_ratio_logret_sign | feature #108 · signs · EXACT tier · parity batch/stream 0.0 / 0.0 (11,200/11,200 bit-identical, FIRST full run; H3 golden 12,000; H1-MANDATORY bit-identical ×11,200) · H2 EXCL-S fork cross-language exact (60/60, max-abs = 1/L) · RG8 witness EURUSD@5+0 = 0.5454545454545454 bit-exact · C&H A 8/8 · D 10/10 · 0 conceded · findings: (L+1)/L non-universality corrected pre-data; arena pointer-identity port | DONE · PR #145 OPEN |
| 04 | 2026-07-14 | sign_markov_inout_strength_asymmetry_flux | feature #98 · signs · counts EXACT + ε 1e-9 LOCKED · parity batch/stream 0.0 / 0.0 (oracle≡golden cross-diff: bit-unequal 0 ×11,200) · zero-flux class 5,420 bars pinned (3 of 5 RG8 witnesses exact 0.0) · H2 ROWNORM teeth in 3 harnesses (60/60, max 1.135) · H1 fixed-array ×11,200 · C&H A 8/8 · D 10/10 · 0 conceded · zero fix cycles | DONE · PR #146 OPEN |
| 05 | 2026-07-14 | gini_correlation_asymmetry_signedreturn_spread | feature #80 · ret_spread (FIRST two-input; leg mask WITNESSED) · ε 1e-9/1e-12 LOCKED · parity batch/stream 2.407e-13 / 0.0 (worst locked-margin 0.16, 0 failures ×11,200) · H2 SWAP 60/60 bit-exact negation identity + ORDINAL 80/80 tie-targeted · C&H A 7/8+1 RESOLVED (pure-rel-vs-atol ruler corrected, artifact untouched) · D 10/10 · 0 conceded · zero fix cycles | DONE · PR #147 OPEN |
| 06 | 2026-07-14 | hoeffding_phi_squared_midreturn_duration | feature #78 · ret_dur (FIRST duration substrate; leg mask WITNESSED) · ε 1e-9/1e-12 LOCKED · parity batch/stream 1.825e-15 / 0.0 (locked-margin 5.09e-05 — the iter-05 ruler applied prospectively) · H2 AVGRANK 73/80 + 7 silents each verified tie-free (max 1.502e-03 band) · witnesses bit-exact · C&H A 8/8 · D 10/10 · 0 conceded · zero fix cycles · FILE-SIZE-OK marker (local hook only; follow-up: Wave-243 split, task #521) | DONE · PR #148 OPEN |
| 07 | — | hvg_mean_degree_excess | feature #58 · close · ⟨k⟩ = 2|E|/N − 4 on the strict HVG; REUSES shipped #54 HVG builder byte-identical (R2) | NEXT IN QUEUE |
| 08 | — | hvg_forward_visibility_horizon_mean_bar | feature #59 · close · mean uncensored first-passage L+(t) = min k≥1: x_{t+k} ≥ x_t; NO-FOSS clean-room (2-way triangulation) | NEXT IN QUEUE |
| 09 | — | vg_time_directed_clustering_kld | feature #60 · close · mean(C^past − C^future) on the directed Natural VG (parameterless form); NEW directed-VG primitive | NEXT IN QUEUE |
| 10 | — | heikin_ashi_open_gap_sign | feature #45 · ohlc_win (lag-1) · gap/(H−L), gap = O_t − (O_{t−1}+C_{t−1})/2; NO gap-null on ohlc_win (probe-pinned) | NEXT IN QUEUE |
| 11 | — | overnight_gap_logret_sq | feature #51 · ohlc_win (lag-1) · [ln(O_t/C_{t−1})]²; weekend/Ouroboros boundary IS the measured gap (probe-pinned no-gap-null) | NEXT IN QUEUE |