โ€บNavigation
DashboardThree-Axis ProbesShared ArtifactsForex probe scripts

finding · mql5/findings/forex_shared_data/*.py

The forex probe scripts

The reusable code in the forex shared layer: the rotation engine, plus Terry's three-axis gate probes (orthogonal / parameterless / agnostic, msg id=428) vendored byte-for-byte from the crypto sibling so the forex campaign can run the same gates in-loop.

One engine, two assets. The rotation engine and the gate probes are byte-identical to the crypto hub's copies in opendeviationbar-py/findings/evolution/shared_data/. Vendoring (not forking) guarantees a forex feature and a crypto feature are judged by exactly the same code.

The rotation engine

rotating_slice_orthogonality_probe.py

Asset-parameterized (--asset forex|crypto). Builds the stratum grid, marks feasibility, runs deficit-first batches, and emits the coverage ledger + per-path results JSONL. This is the engine behind the rotation mechanism.

The three-axis gate probes

Vendored 2026-06-17 for the batch-3/4 ยง6.R loop so the agnostic TEST-B convergence oracle runs in the loop (not in a later re-audit โ€” which is how batch-1/2 caught the unportable #30/#17 candidates post-hoc).

๐Ÿงฌ agnostic_probe.py โ€” Axis 3

The TEST-B two-implementation convergence oracle: would two honest implementations of the same feature agree? The exact tool that caught the batch-1/2 unportable candidates mid-flight. Imports SVD_ORDER/SVD_DELAY/SVD_NORMALIZE from orthogonality_probe.py, so the three travel together.

๐Ÿ”ข parameterless_probe.py โ€” Axis 2

Static AST scan for feature-tunable knobs / conditional dispatch โ€” a tunable knob means BLOCK. Uses orthogonality_probe.py as its reference registry. Powers the ยง6.R5 adversarial parameterless re-audit.

๐ŸŽฏ orthogonality_probe.py โ€” Axis 1

The orthogonality probe + the shared dependency imported by the other two gates. Measures whether a candidate adds information beyond the existing production panel.

๐Ÿ” agnostic_batch34.py

Batch-3/4 driver applying the agnostic convergence oracle across the batch's candidates (result in agnostic_batch34_result.json).

How a forex candidate flows through the layer

Run recipe (smoke)

On bigblack (read-only ClickHouse, real bars):

KERNEL_PROBE_DIR=<โ€ฆ/2026-06-03-forex-parameterless-orthogonal-candidate-discovery> uv run --python 3.13 --no-project --with numpy --with pandas --with scipy --with ts2vg --with networkx --with bidask --with statsmodels --with antropy --with xicorpy python rotating_slice_orthogonality_probe.py --asset forex --smoke