Iteration 03 Β· 2026-06-09 Β· driver: native Claude Code /loop (laptop run)
β Dashboard Β· PR terrylica/mql5#92 Β· card 52 Β· cut off bootstrap #90
fxview_cache.forex_bars β bit-exact Rust verified against a pinned Python SSoT, populated through the wired producer, with batchβ‘streaming parity and an independent FOSS corroboration. PR #92 open (base main; diff auto-cleans once #90 + #91 land).
EDGE effective bid-ask spread (basis points) over the raw 200-bar strictly-trailing OHLC window β the EDGE estimator of Ardia-Guidotti-Kroencke (JFE 2024). Causal: the window is the 200 bars BEFORE bar i (current bar excluded). None on warmup (<200 bars) / degenerate (<2 price-change periods) window. Substrate distinction from #1: edge consumes raw open/high/low/close DIRECTLY β NO log-return, NO 8 h gap-NULL; edge's internal cross-bar terms span weekend/Ouroboros gaps unmodified, exactly as the discovery probe's ohlc_win substrate.
| Layer | Artifact | Result |
|---|---|---|
| Python SSoT | oracle_edge_spread_bps.py β bidask.edge(o,h,l,c)*1e4 (eguidotti/bidask 2.1.0 MIT), bit-faithful to the probe's k_edge | sha-pinned jsonl (12000 rows, 11200 finite) + .sha256 sidecar |
| Rust kernel | orthogonal_extension_kernels::edge_spread_bps β libm::log + IEEE-754 sqrt/abs + NumPy-EXACT nanmean/nansum (NaN-as-0 over NumPy's pairwise summation) | clippy clean |
| Differential parity | vs the pinned oracle on the frozen fixture | 11200 == oracle, 12000 bars == rows, max|dev| 9.78e-11 βͺ 1e-9 |
| Producer column | BarOrthogonalExtV1 { edge_spread_bps } + BarRow + schema.sql Nullable(Float64) CODEC(Gorilla(8),ZSTD(1)) + feature_metadata.yaml | test_schema_contract 4/4 |
| Producer populate | EdgeSpreadBpsRollingState (200-bar OHLC ring, read-before-push, NO gap-NULL, persists across gaps) @ finalize | β |
| batchβ‘streaming | streaming observe() over the fixture per partition | 11200 == oracle, max|dev| 9.78e-11 (identical to batch) |
| 3-way FOSS | edge vs independent edge_rolling | PASS β max|dev| 3.54e-14 (11200) |
bidask.edge_rolling is a genuinely INDEPENDENT implementation of the SAME estimator β it does not call edge() (verified); it uses a rolling moment-matrix algebra vs edge()'s per-window de-meaning. Alignment empirically pinned: edge_rolling(df,window=200).iloc[i-1] == edge(O[i-200:i]). The two agree to 3.54e-14 over 11200 windows β the summation floor, with NO convention gap (contrast feature #1's statsmodels ddof difference). No second mainstream Python EDGE port exists (frds 2.4.1 lacks it; only cross-language R bidask::EDGE otherwise). Triangulates with Rust==edge() at 9.78e-11.
observe() sits at the once-per-emitted-bar finalize point (next to populate_pure_bar_ranks). Residual: a live bigblack producer-vs-oracle smoke on real ticks (no CH/MT5 on laptop β deferred to operator bigblack validation).edge_rolling verified to not call edge; different algebra; 3.54e-14 agreement = summation floor).libm::log-vs-system-log ~1 ulp floor amplified by EDGE's E[xΒ²]βE[x]Β² cancellation, ~10Γ under the locked 1e-9 (documented, not a defect).mise run check:all-gates green on macOS except (a) the worktree-context check:git-hook-installed (literal .git/hooks path; passes from the main checkout) and (b) ONE foreign env-drift β see handoff. feature-metadata:verify-offline PASS.CompletedBar field required a 1-line Default::default() in 9 explicit literals (2 blocklisted test files) β mechanical, behavior-identical. Same pattern as #91.edge_spread_bps; it field-unions with #91's anderson_darling_a2 at operator merge (mechanical 3-way merge on data_types/writer/schema). Merge order: #90 β #91 β #92.check:research-orthogonality-null-utils-tests 33-vs-34 β its substrate-gated smoke test SKIPs when the /tmp substrate parquet is absent; owned by the rust-enhancement loop; scripts/research/ untouched by this campaign β operator-follow-up, gate NOT weakened.Feature #3 β hvg_clustering (card 54, networkx.average_clustering, EXACT+Ξ΅). Same chain: oracle β bit-exact kernel β producer column (now BarOrthogonalExtV1 exists on this branch's pattern, still re-introduced per branch off bootstrap) β parity β 3-way FOSS β PR.
Presentation only β never the SSoT.