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

#45 heikin_ashi_open_gap_sign

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

In plain terms

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.

What this iteration will do

  1. worktree, branch feat/odb-ext/heikin_ashi_open_gap_sign; draw/refresh the dashboard flowchart FIRST (R6)
  2. freeze the gap-aware oracle oracle_heikin_ashi_open_gap_sign.py over the frozen fixture โ†’ forex_orthogonal_extension_heikin_ashi_open_gap_sign_oracle-v1.jsonl + .sha256 (transcribed from probe kernel k_heikin_ashi_open_gap_sign โ€” 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