[
  {
    "candidate_id": "candidate_2026-06-29T02-30-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-06-29T02:30:00Z",
    "decision": "needs_more_context",
    "reason": "M15 swept local high at 4071.85 but price action is entirely internal to H1 range 4053-4074. No clear HTF narrative for a high probability short.",
    "htf_context": "H1 is in a tight range, consolidating.",
    "m30_structure": "Ranging, no clear trend or BOS.",
    "m15_m5_execution": "M15 swept local high but no clear CHoCH with displacement.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-06-29T06-30-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-06-29T06:30:00Z",
    "decision": "shadow",
    "reason": "H1 swept low at 4039 and reversed strongly. By 06:30, M15 is already at 4061, well past the Fib 50-62% optimal trade entry zone for the reversal.",
    "htf_context": "H1 swept sell-side liquidity at 4039 and initiated a strong bullish reversal.",
    "m30_structure": "Bullish structure shift occurred after 05:30 low.",
    "m15_m5_execution": "Entry at 06:30 is too late (price 4061). OTE was around 4045-4050.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-06-30T07-00-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-06-30T07:00:00Z",
    "decision": "rejected",
    "reason": "Huge H1 displacement from 3978 to 4034. At 07:00, price is at 4025. Does not reach Fib 50/62% discount (around 4000-4006) for a valid entry.",
    "htf_context": "Strong bullish displacement on H1.",
    "m30_structure": "Bullish expansion, waiting for pullback.",
    "m15_m5_execution": "M15 pulling back from 4034 high, but at 07:00 it's too shallow. No discount entry present.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]