[
  {
    "candidate_id": "candidate_2026-06-23T04-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-06-23T04:00:00Z",
    "decision": "needs_more_context",
    "reason": "Price consolidating inside M30/M15 range (4256-4271); short sweep at 04:00Z lacks clear HTF rejection or Fib overlapping entry.",
    "htf_context": "D/H4 structural chop between 4235 and 4280. No clear directional bias established prior to session open.",
    "m30_structure": "Ranging market, respecting narrow boundaries.",
    "m15_m5_execution": "M5 shows minor sweeps but no sustained displacement breaking structure lower.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-06-23T11-45-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-06-23T11:45:00Z",
    "decision": "needs_more_context",
    "reason": "M5 shows bullish displacement pushing towards 4297, but entry lacks clear OTE (50-62%) pullback overlap with a valid PD array before run up.",
    "htf_context": "H1/M30 beginning to expand upward from the 4260 base.",
    "m30_structure": "Bullish shift occurring.",
    "m15_m5_execution": "M5 strong impulse up, but aggressive entry required. Missing clear standard SMC entry criteria.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-06-23T12-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-06-23T12:00:00Z",
    "decision": "needs_more_context",
    "reason": "Counter-trend short candidate against strong M5/M15 bullish momentum pushing 4300+. Sweep at 12:00Z does not show sufficient rejection to warrant short entry.",
    "htf_context": "H1 expansion phase active.",
    "m30_structure": "Bullish expansion.",
    "m15_m5_execution": "Price continues to squeeze higher on M5; shorting is premature without M5 CHoCH.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]