A live, autonomous /loop on bigblack that ports the
four implement-today batch-3/4 orthogonal features into real fxview_cache.forex_bars
columns — one human-merged PR per feature. It reuses the engineering of the
previous nine
and makes it more robust. This page updates every iteration; the flowcharts below show exactly where the loop is.
We discovered 15 genuinely-new "shape of the market" measurements. Four of them can ship today with zero guesswork because each one either (a) re-uses a measuring tool we already built and froze, or (b) has a recipe with no open choices. The other 11 wait — 2 need data we don't store, and 9 need a human to pin one convention first.
The previous nine ran their parameterless/agnostic re-audit on 2026-06-09 — after the loop had already started — and only then discovered two candidates were unportable. This loop front-loads every such test into each iteration, so nothing is found after the fact.
| Gate | What it guarantees, before any PR opens |
|---|---|
| R1 | robustness Front-loaded agnostic TEST-B convergence oracle (the exact test that caught #30/#17 post-hoc) runs every iteration. |
| R2 | robustness Shipped-primitive reuse assertion — #55/#57 must consume #54's HVG byte-identically; #72 must consume #75's PSD. No re-implementation. |
| R3 | robustness The full SOTA suite (parity · 3-way FOSS · property · crash-stress · batch≡streaming · ≥2-symbol · golden) is a hard definition-of-done, run in-loop. |
| R4 | No split-brain — schema DDL + metadata + BarRow + cohort + sha256 land in the same PR; test_schema_contract green. |
| R5 | Adversarial Attacker+Defender per feature, explicitly tasked to re-run the historically-post-hoc parameterless/agnostic audit. |
| R6 | HTML flowchart exposure every iteration (this page) — blockers and robustness wins marked on the chart. |
| R7 | Loop self-blocks on red gates — never --no-verify, never weakens a gate, never touches the anchor blocklist. |
| # | feature | tol | reuses | status | parity (oracle · max-abs-dev · TOL) | PR |
|---|---|---|---|---|---|---|
| 25 | pomeau_irreversibility_lag1 | ε 1e-9 | — (new trev) | PENDING | — | — |
| 55 | hvg_degree_assortativity_coefficient | ε 1e-9 | #54 HVG | PENDING | — | — |
| 57 | hvg_mean_shortest_path_length | ε 1e-9 | #54 HVG | PENDING | — | — |
| 72 | psd_wiener_spectral_flatness | ε 1e-6 | #75 PSD | PENDING | — | — |
forex-4x-impl, awaiting your trigger.One page per loop iteration. Each overview-flowchart node above is clickable and links here; the loop overwrites the matching page when it reaches that iteration.
| iter | page | covers | status |
|---|---|---|---|
| 01 | bootstrap | vendor probes · v2 cohort · SSoT/tolerance | QUEUED |
| 02 | pomeau_irreversibility_lag1 | feature #25 | QUEUED |
| 03 | hvg_degree_assortativity | feature #55 | QUEUED |
| 04 | hvg_mean_shortest_path | feature #57 | QUEUED |
| 05 | psd_wiener_spectral_flatness | feature #72 | QUEUED |
One overview + one per feature. The loop draws a feature's chart before implementing it and restyles nodes each iteration.
queued active done 🔴 blocker 🟡 robustness
flowchart LR B["iter 01 · bootstrap
vendor probes · v2 cohort"]:::active --> F25["#25 pomeau
(standalone trev)"]:::queued F25 --> F55["#55 hvg assortativity
reuse #54 HVG"]:::queued F55 --> F57["#57 hvg shortest-path
reuse #54 HVG"]:::queued F57 --> F72["#72 psd flatness
reuse #75 PSD"]:::queued F72 --> DONE([all 4 merged]):::queued click B "index_iter_01_bootstrap.html" "iter 01 · bootstrap" click F25 "index_iter_02_pomeau_irreversibility_lag1.html" "iter 02 · #25" click F55 "index_iter_03_hvg_degree_assortativity.html" "iter 03 · #55" click F57 "index_iter_04_hvg_mean_shortest_path.html" "iter 04 · #57" click F72 "index_iter_05_psd_wiener_spectral_flatness.html" "iter 05 · #72" classDef queued fill:#334155,stroke:#475569,color:#e2e8f0; classDef active fill:#1d4ed8,stroke:#3b82f6,color:#fff; classDef done fill:#15803d,stroke:#22c55e,color:#fff; classDef blocker fill:#b91c1c,stroke:#ef4444,color:#fff; classDef robust fill:#b45309,stroke:#f59e0b,color:#fff;
flowchart LR W["worktree off
fresh origin/main"]:::queued --> O["oracle JSONL
trev · ε 1e-9"]:::queued O --> K["Rust kernel
(new, causal)"]:::queued K --> WIRE["wire: BarRow ·
LookbackWindow"]:::queued WIRE --> S["SOTA §6 suite
R3"]:::robust S --> A["agnostic TEST-B
R1"]:::robust A --> G["check:all-gates
R7"]:::queued G --> CH["Attacker+Defender
R5"]:::queued CH --> PR(["open PR · STOP
for merge"]):::queued classDef queued fill:#334155,stroke:#475569,color:#e2e8f0; classDef active fill:#1d4ed8,stroke:#3b82f6,color:#fff; classDef done fill:#15803d,stroke:#22c55e,color:#fff; classDef blocker fill:#b91c1c,stroke:#ef4444,color:#fff; classDef robust fill:#b45309,stroke:#f59e0b,color:#fff;
flowchart LR W["worktree off
fresh origin/main"]:::queued --> O["oracle JSONL
networkx · ε 1e-9"]:::queued O --> K["Rust kernel
reuse #54 HVG"]:::queued K --> RU["reuse assertion:
adjacency == #54
R2"]:::robust RU --> WIRE["wire: BarRow ·
LookbackWindow"]:::queued WIRE --> S["SOTA §6 suite
R3"]:::robust S --> A["agnostic TEST-B
R1"]:::robust A --> G["check:all-gates
R7"]:::queued G --> CH["Attacker+Defender
R5"]:::queued CH --> PR(["open PR · STOP
for merge"]):::queued classDef queued fill:#334155,stroke:#475569,color:#e2e8f0; classDef active fill:#1d4ed8,stroke:#3b82f6,color:#fff; classDef done fill:#15803d,stroke:#22c55e,color:#fff; classDef blocker fill:#b91c1c,stroke:#ef4444,color:#fff; classDef robust fill:#b45309,stroke:#f59e0b,color:#fff;
flowchart LR W["worktree off
fresh origin/main"]:::queued --> O["oracle JSONL
networkx · ε 1e-9"]:::queued O --> K["Rust kernel
reuse #54 HVG"]:::queued K --> RU["reuse assertion:
adjacency == #54
R2"]:::robust RU --> WIRE["wire: BarRow ·
LookbackWindow"]:::queued WIRE --> S["SOTA §6 suite
R3"]:::robust S --> A["agnostic TEST-B
R1"]:::robust A --> G["check:all-gates
R7"]:::queued G --> CH["Attacker+Defender
R5"]:::queued CH --> PR(["open PR · STOP
for merge"]):::queued classDef queued fill:#334155,stroke:#475569,color:#e2e8f0; classDef active fill:#1d4ed8,stroke:#3b82f6,color:#fff; classDef done fill:#15803d,stroke:#22c55e,color:#fff; classDef blocker fill:#b91c1c,stroke:#ef4444,color:#fff; classDef robust fill:#b45309,stroke:#f59e0b,color:#fff;
flowchart LR W["worktree off
fresh origin/main"]:::queued --> O["oracle JSONL
numpy rFFT · ε 1e-6"]:::queued O --> K["Rust kernel
reuse #75 PSD"]:::queued K --> RU["reuse assertion:
power-spectrum == #75
R2"]:::robust RU --> WIRE["wire: BarRow ·
LookbackWindow"]:::queued WIRE --> S["SOTA §6 suite
R3"]:::robust S --> A["agnostic TEST-B
R1"]:::robust A --> G["check:all-gates
R7"]:::queued G --> CH["Attacker+Defender
R5"]:::queued CH --> PR(["open PR · STOP
for merge"]):::queued classDef queued fill:#334155,stroke:#475569,color:#e2e8f0; classDef active fill:#1d4ed8,stroke:#3b82f6,color:#fff; classDef done fill:#15803d,stroke:#22c55e,color:#fff; classDef blocker fill:#b91c1c,stroke:#ef4444,color:#fff; classDef robust fill:#b45309,stroke:#f59e0b,color:#fff;