{
  "metadata": {
    "batch_id": "batch_025",
    "purpose": "control_review_evidence_non_final",
    "generated_at": "2026-07-17T10:27:33Z",
    "source_batch": "hybrid/reviews/manual_replay_batch_025.json",
    "source_batch_sha16": "e08fe2a625470b65",
    "source_reviews": "hybrid/reviews/reviews.json",
    "source_reviews_sha16": "2a4ba0dced3f47a8",
    "item_count": 25,
    "breakdown": {
      "needs_more_context": 25
    },
    "isFinalBacktest": false,
    "journal_promotions": 0,
    "safety": "analysis_only; no trading/live order; no journal promotion; batch files untouched",
    "notes": "Control evidence file only. Use for chronological manual replay decisions; do not count as confirmed trades."
  },
  "items": [
    {
      "order": 543,
      "candidate_id": "candidate_2026-04-24T00-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T00:00:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T00:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T02:20:00Z",
        "fib_touch_time": "2026-04-24T07:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 6.754,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 544,
      "candidate_id": "candidate_2026-04-24T00-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T00:30:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T00:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T02:20:00Z",
        "fib_touch_time": "2026-04-24T08:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 10.223,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 545,
      "candidate_id": "candidate_2026-04-24T04-30-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T04:30:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T04:30:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T05:30:00Z",
        "fib_touch_time": "2026-04-24T06:25:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 11.801,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 546,
      "candidate_id": "candidate_2026-04-24T09-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T09:15:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T09:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T09:30:00Z",
        "fib_touch_time": "2026-04-24T09:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 7.66,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 547,
      "candidate_id": "candidate_2026-04-24T09-30-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T09:30:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T09:30:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T11:20:00Z",
        "fib_touch_time": "2026-04-24T12:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 14.348,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 548,
      "candidate_id": "candidate_2026-04-24T10-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T10:15:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T10:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T10:30:00Z",
        "fib_touch_time": "2026-04-24T10:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 4.774,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 549,
      "candidate_id": "candidate_2026-04-24T12-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-24T12:15:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-24T12:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-24T14:05:00Z",
        "fib_touch_time": "2026-04-24T15:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 12.932,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 550,
      "candidate_id": "candidate_2026-04-27T10-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-27T10:45:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-27T10:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-27T12:40:00Z",
        "fib_touch_time": "2026-04-27T12:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 6.087,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 551,
      "candidate_id": "candidate_2026-04-27T11-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-27T11:30:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-27T11:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-27T12:40:00Z",
        "fib_touch_time": "2026-04-27T12:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 5.071,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 552,
      "candidate_id": "candidate_2026-04-27T20-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-27T20:00:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-27T20:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-27T22:05:00Z",
        "fib_touch_time": "2026-04-28T01:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 5.434,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 553,
      "candidate_id": "candidate_2026-04-28T00-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T00:00:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T00:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-28T00:05:00Z",
        "fib_touch_time": "2026-04-28T00:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 4.277,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 554,
      "candidate_id": "candidate_2026-04-28T07-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T07:30:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T07:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-28T08:00:00Z",
        "fib_touch_time": "2026-04-28T08:25:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 7.874,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 555,
      "candidate_id": "candidate_2026-04-28T13-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T13:45:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T13:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-28T14:00:00Z",
        "fib_touch_time": "2026-04-28T15:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 11.97,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 556,
      "candidate_id": "candidate_2026-04-28T14-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T14:30:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T14:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-28T14:35:00Z",
        "fib_touch_time": "2026-04-28T14:55:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 7.942,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 557,
      "candidate_id": "candidate_2026-04-28T22-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T22:45:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T22:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T00:00:00Z",
        "fib_touch_time": "2026-04-29T00:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 6.406,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 558,
      "candidate_id": "candidate_2026-04-28T23-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-28T23:30:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-28T23:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-28T23:35:00Z",
        "fib_touch_time": "2026-04-28T23:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 2.418,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 559,
      "candidate_id": "candidate_2026-04-29T03-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T03:45:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T03:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T04:50:00Z",
        "fib_touch_time": "2026-04-29T05:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 5.419,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 560,
      "candidate_id": "candidate_2026-04-29T08-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T08:00:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T08:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T08:10:00Z",
        "fib_touch_time": "2026-04-29T08:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 3.854,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 561,
      "candidate_id": "candidate_2026-04-29T11-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T11:00:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T11:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T12:50:00Z",
        "fib_touch_time": "2026-04-29T15:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 12.016,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 562,
      "candidate_id": "candidate_2026-04-29T12-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T12:15:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T12:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T12:30:00Z",
        "fib_touch_time": "2026-04-29T12:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp2_first",
        "risk_points": 7.962,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 563,
      "candidate_id": "candidate_2026-04-29T12-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T12:45:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T12:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T12:50:00Z",
        "fib_touch_time": "2026-04-29T13:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 6.741,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 564,
      "candidate_id": "candidate_2026-04-29T15-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T15:15:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T15:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T15:35:00Z",
        "fib_touch_time": "2026-04-29T15:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp2_first",
        "risk_points": 7.289,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 565,
      "candidate_id": "candidate_2026-04-29T17-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T17:00:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T17:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T18:05:00Z",
        "fib_touch_time": "2026-04-29T19:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 9.06,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 566,
      "candidate_id": "candidate_2026-04-29T18-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T18:00:00Z",
      "direction": "Short",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T18:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T18:05:00Z",
        "fib_touch_time": "2026-04-29T19:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 9.381,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 567,
      "candidate_id": "candidate_2026-04-29T23-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-29T23:15:00Z",
      "direction": "Long",
      "input_status": "needs_manual_replay",
      "control_status": "needs_more_context",
      "classification": "requires_htf_manual_replay",
      "rationale": "Control classification: deterministic triage needs HTF context/manual TradingView replay before accept/reject; do not promote.",
      "evidence": {
        "deterministic_status": "needs_manual_replay",
        "deterministic_outcome": "mechanical_fib_entry_candidate",
        "candidate_time": "2026-04-29T23:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-29T23:45:00Z",
        "fib_touch_time": "2026-04-30T04:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 3.865,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    }
  ]
}
