[
  {
    "candidate_id": "candidate_2026-04-24T00-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-24T00:00:00Z",
    "decision": "rejected",
    "reason": "Price continued pushing higher, breaking the 00:00 high; real high formed at 01:15 (4711). Preemptive entry.",
    "htf_context": "H4 closed bullish at 01:00. Continued upward momentum into Asian session.",
    "m30_structure": "M30 consecutive bullish closes up to 4705 (00:00) then higher to 4711 (01:00).",
    "m15_m5_execution": "M15/M5 sweep at 00:00 was invalidated as price pushed to new highs at 00:30 (4708) and 01:00 (4711).",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-24T00-30-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-24T00:30:00Z",
    "decision": "rejected",
    "reason": "Price pushed higher to 4711 at 01:15, invalidating the 00:30 sweep.",
    "htf_context": "H4 testing resistance but pushing higher.",
    "m30_structure": "Bullish push continued past 00:30 to 01:00.",
    "m15_m5_execution": "00:30 sweep failed as price broke higher at 01:00/01:15 to 4711.23.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-24T04-30-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-04-24T04:30:00Z",
    "decision": "shadow",
    "reason": "Valid M15 sweep of 4658 and reclaim, but chop before Fib touch at 06:25 makes it a lower probability setup. Keeping as shadow.",
    "htf_context": "H4 bullish correction after sweeping lows.",
    "m30_structure": "M30 bullish engulfing/reclaim at 04:30 from 4658 low.",
    "m15_m5_execution": "M15 sweep of 04:15 low (4658.56) by 04:30 low (4658.03). Choppy consolidation before Fib touch at 06:25.",
    "entry": 4668.5,
    "stop": 4657.5,
    "target": 4688.5,
    "r": 1.8,
    "promoted_to_journal": false
  }
]