[
  {
    "candidate_id": "candidate_2026-02-13T17-15-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-02-13T17:15:00Z",
    "decision": "shadow",
    "reason": "Sweep of 5006 with quick reversal, but R:R to recent highs is poor (< 1).",
    "htf_context": "H1 strongly bullish making higher highs into 5028.",
    "m30_structure": "Bullish impulse on M30, pulling back.",
    "m15_m5_execution": "M5 swept 5006 at 17:15 and reversed, but entry distance to SL vs TP at highs offered poor R:R.",
    "entry": 5017.7,
    "stop": 5005.0,
    "target": 5028.5,
    "r": 0.85,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-02-13T18-00-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-02-13T18:00:00Z",
    "decision": "shadow",
    "reason": "Valid M5 sweep of 5015 level with reversal, but marginal R:R.",
    "htf_context": "Bullish trend continuing on HTF.",
    "m30_structure": "Consolidation after impulse.",
    "m15_m5_execution": "M5 swept 5015 at 18:00 and closed bullish at 18:05. Target 5030 hit quickly.",
    "entry": 5021.6,
    "stop": 5014.5,
    "target": 5030.8,
    "r": 1.29,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-02-16T00-00-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-02-16T00:00:00Z",
    "decision": "needs_more_context",
    "reason": "Weekend gap down creates messy structure; M5 drop at 00:00 lacks clean entry.",
    "htf_context": "Gap down from 5042 to 5017 over weekend.",
    "m30_structure": "Volatile opening action.",
    "m15_m5_execution": "M5 huge drop at 00:00 to 5000, bounced to 5021, messy price action without clean Fib/OTE.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]