[
  {
    "candidate_id": "candidate_2026-01-30T19-15-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-01-30T19:15:00Z",
    "decision": "needs_more_context",
    "reason": "Without manual chart review, entry validity is uncertain (rapid M5 wicks). Mechanical Fib criteria met but keeping as shadow/needs context.",
    "htf_context": "Context available up to 2026-01-30T19:15:00Z",
    "m30_structure": "Recent M30 ranges: 4742.65 - 4995.62",
    "m15_m5_execution": "M5 shows confirmation at 19:40Z, fib touch at 20:00Z. M5 low 5083.99 to high 5145.98 in the window.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-02-02T04-45-00Z_short_liquidity_sweep_reversal",
    "timestamp": "2026-02-02T04:45:00Z",
    "decision": "needs_more_context",
    "reason": "Long delay between confirmation (05:40Z) and fib touch (08:20Z) requires TradingView visual check to confirm structure didn't invalidate.",
    "htf_context": "Context available up to 2026-02-02T04:45:00Z",
    "m30_structure": "Recent M30 ranges: 4646.81 - 4773.225",
    "m15_m5_execution": "M5 shows high volatility drop (H 4901.69 -> L 4697.14) before the confirmation.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  },
  {
    "candidate_id": "candidate_2026-02-02T10-45-00Z_long_liquidity_sweep_reversal",
    "timestamp": "2026-02-02T10:45:00Z",
    "decision": "needs_more_context",
    "reason": "M5 price action shows immediate drop post-candidate time. Requires visual TradingView check to verify Fib logic.",
    "htf_context": "Context available up to 2026-02-02T10:45:00Z",
    "m30_structure": "Recent M30 ranges: 4524.76 - 4780.07",
    "m15_m5_execution": "M5 drop from 4773.225 down to 4630.67 in execution window.",
    "entry": null,
    "stop": null,
    "target": null,
    "r": null,
    "promoted_to_journal": false
  }
]