[
  {
    "candidate_id": "candidate_2026-04-10T01-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-10T01:00:00Z",
    "decision": "needs_more_context",
    "reason": "H1 trend is up, local M15 high 4780 not clearly swept before 01:00, lacks clear M5 entry evidence in available data.",
    "htf_context": "H1 trending up into resistance.",
    "m30_structure": "Bullish, no clear break of structure observed.",
    "m15_m5_execution": "M15 prints 4767 high at 01:00, but lacks M5 granularity to confirm valid entry/SL.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-10T05-45-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-10T05:45:00Z",
    "decision": "needs_more_context",
    "reason": "M15 drops from 4777 high to 4738, 05:45 is a lower high (4769). Could be valid pullback, but lacks M5 data for precise Fib/Entry validation.",
    "htf_context": "H1 shifting down after failing to break 4780.",
    "m30_structure": "Bearish displacement observed, 05:45 is a retracement.",
    "m15_m5_execution": "Retracement to 4769, but M5 data missing for entry/SL precision.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-10T13-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-10T13:00:00Z",
    "decision": "needs_more_context",
    "reason": "M15 price pushes to 4777 at 13:00, but future data shows continuation to 4794. Short would be invalid/stopped out. Needs more context to confirm setup validity vs simple stop out.",
    "htf_context": "H1 reversing back up from 4730.",
    "m30_structure": "Bullish structure forming.",
    "m15_m5_execution": "Price sweeps 13:00 high and continues up, rendering short setup invalid or stopped out.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]