โ€บNavigation
iteration 11
QUEUED โ€” not started card 51substrate: ohlc_win (lag-1)

#51 overnight_gap_logret_sq

Placeholder โ€” the loop overwrites this page with full content (parity numbers, Challenge-and-Held outcome, decisions) when it reaches iteration 11. Filename pinned in LOOP_CONTRACT_impl_b5_10.md ยง10.

In plain terms

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.

What this iteration will do

  1. worktree, branch feat/odb-ext/overnight_gap_logret_sq; draw/refresh the dashboard flowchart FIRST (R6)
  2. freeze the gap-aware oracle oracle_overnight_gap_logret_sq.py over the frozen fixture โ†’ forex_orthogonal_extension_overnight_gap_logret_sq_oracle-v1.jsonl + .sha256 (transcribed from probe kernel k_overnight_gap_logret_sq โ€” NEVER the discovery harness)
  3. port the causal Rust kernel + rolling state (libm-only transcendentals, NaN/Inf-total, compute-then-update)
  4. wire the producer in the SAME PR: BarOrthogonalExtV1 field ยท writer.rs BarRow/COLUMN_NAMES ยท schema.sql TEXT-only DDL ยท feature_metadata.yaml ยท v4 cohort slot (R4 no split-brain)
  5. robustness suite ALL GREEN: non-vacuous parity (batch โ‰ก streaming) at the locked tolerance ยท โ‰ฅ2-symbol replication ยท crash-stress ยท golden snapshot ยท hardening witnesses (RG)
  6. mise run rust:check + mise run check:all-gates โ€” red gate โ‡’ fix-or-halt (R7), never --no-verify
  7. Challenge-and-Held (1 Attacker + 1 Defender) โ†’ committed challenge-and-held-*.md; fix conceded gaps before PR-open
  8. open the PR (never merge) ยท overwrite this page with full results ยท append the iteration-ledger row ยท Pushover briefing