[
  {
    "candidate_id": "candidate_2026-04-28T13-45-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-28T13:45:00Z",
    "decision": "shadow",
    "reason": "M15 liquidity sweep present, but price is reacting from H4 support at 4555. Aggressive sell into support. Shadowed for observation.",
    "htf_context": "H4 downtrend into major support at 4555. H1 consolidating above support.",
    "m30_structure": "Rally from support sweeping previous highs.",
    "m15_m5_execution": "M15 swept 13:30 high and rejected, but risk/reward into recent lows is poor.",
    "entry": 4582.01,
    "stop": 4594.0,
    "target": 4565.0,
    "r": 1.4,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-28T14-30-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-04-28T14:30:00Z",
    "decision": "shadow",
    "reason": "Secondary short attempt after 13:45. Price remains choppy near H4 support. Without clear breakdown below 4550, this is low probability. Shadowed.",
    "htf_context": "H4 support holds, H1 chopping.",
    "m30_structure": "Consolidation.",
    "m15_m5_execution": "M5 strong drop at 14:35 creates FVG, but entry relies on pullback into messy zone.",
    "entry": 4571.64,
    "stop": 4580.0,
    "target": 4560.0,
    "r": 1.3,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-04-28T22-45-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-04-28T22:45:00Z",
    "decision": "rejected",
    "reason": "Asian session drift. Candidate triggers at 22:45 but true sweep occurs later at 23:00. Premature entry signal.",
    "htf_context": "H4 Asian range open.",
    "m30_structure": "Drifting lower.",
    "m15_m5_execution": "M15 drops below recent support at 22:45, but doesn't reclaim until after 23:15.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]