{
  "metadata": {
    "batch_id": "batch_008",
    "purpose": "control_review_evidence_non_final",
    "generated_at": "2026-07-17T10:27:33Z",
    "source_batch": "hybrid/reviews/manual_replay_batch_008.json",
    "source_batch_sha16": "23f4804e076b8962",
    "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": 118,
      "candidate_id": "candidate_2026-01-28T09-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-28T09: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-01-28T09:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-28T09:20:00Z",
        "fib_touch_time": "2026-01-28T10:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 12.822,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 119,
      "candidate_id": "candidate_2026-01-28T14-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-28T14: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-01-28T14:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-28T15:05:00Z",
        "fib_touch_time": "2026-01-28T15:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 15.224,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 120,
      "candidate_id": "candidate_2026-01-29T01-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-29T01: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-01-29T01:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-29T01:05:00Z",
        "fib_touch_time": "2026-01-29T01:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 35.924,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 121,
      "candidate_id": "candidate_2026-01-29T05-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-01-29T05: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-01-29T05:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-29T06:00:00Z",
        "fib_touch_time": "2026-01-29T06:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 15.64,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 122,
      "candidate_id": "candidate_2026-01-29T08-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-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-01-29T08:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-29T08:05:00Z",
        "fib_touch_time": "2026-01-29T08:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 13.948,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 123,
      "candidate_id": "candidate_2026-01-29T13-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-01-29T13: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-01-29T13:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-29T14:25:00Z",
        "fib_touch_time": "2026-01-29T14:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 18.346,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 124,
      "candidate_id": "candidate_2026-01-30T04-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T04: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-01-30T04:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T07:00:00Z",
        "fib_touch_time": "2026-01-30T07:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 47.192,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 125,
      "candidate_id": "candidate_2026-01-30T04-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T04: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-01-30T04:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T05:15:00Z",
        "fib_touch_time": "2026-01-30T05:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 17.849,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 126,
      "candidate_id": "candidate_2026-01-30T09-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T09: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-01-30T09:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T09:10:00Z",
        "fib_touch_time": "2026-01-30T10:25:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 52.177,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 127,
      "candidate_id": "candidate_2026-01-30T12-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T12: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-01-30T12:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T13:20:00Z",
        "fib_touch_time": "2026-01-30T14:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 55.508,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 128,
      "candidate_id": "candidate_2026-01-30T14-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T14: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-01-30T14:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T15:00:00Z",
        "fib_touch_time": "2026-01-30T15:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 46.829,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 129,
      "candidate_id": "candidate_2026-01-30T19-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-01-30T19: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-01-30T19:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-01-30T19:40:00Z",
        "fib_touch_time": "2026-01-30T20:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 41.048,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 130,
      "candidate_id": "candidate_2026-02-02T04-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-02-02T04: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-02-02T04:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-02T05:40:00Z",
        "fib_touch_time": "2026-02-02T08:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 61.69,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 131,
      "candidate_id": "candidate_2026-02-02T10-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-02T10: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-02-02T10:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-02T11:10:00Z",
        "fib_touch_time": "2026-02-02T13:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 40.803,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 132,
      "candidate_id": "candidate_2026-02-02T12-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-02-02T12: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-02-02T12:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-02T13:30:00Z",
        "fib_touch_time": "2026-02-02T14:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 49.474,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 133,
      "candidate_id": "candidate_2026-02-02T19-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-02T19: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-02-02T19:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-02T19:40:00Z",
        "fib_touch_time": "2026-02-02T20:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 27.518,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 134,
      "candidate_id": "candidate_2026-02-03T01-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-03T01: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-02-03T01:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-03T01:15:00Z",
        "fib_touch_time": "2026-02-03T02:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 36.265,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 135,
      "candidate_id": "candidate_2026-02-03T11-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-03T11: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-02-03T11:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-03T12:00:00Z",
        "fib_touch_time": "2026-02-03T12:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 20.57,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 136,
      "candidate_id": "candidate_2026-02-03T13-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-03T13: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-02-03T13:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-03T13:40:00Z",
        "fib_touch_time": "2026-02-03T13:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 17.294,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 137,
      "candidate_id": "candidate_2026-02-03T14-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-03T14: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-02-03T14:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-03T16:15:00Z",
        "fib_touch_time": "2026-02-03T17:05:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 23.668,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 138,
      "candidate_id": "candidate_2026-02-03T15-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-03T15: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-02-03T15:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-03T16:15:00Z",
        "fib_touch_time": "2026-02-03T17:05:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 29.326,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 139,
      "candidate_id": "candidate_2026-02-04T00-30-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-04T00: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-02-04T00:30:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-04T00:45:00Z",
        "fib_touch_time": "2026-02-04T01:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp2_first",
        "risk_points": 15.765,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 140,
      "candidate_id": "candidate_2026-02-04T01-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-02-04T01: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-02-04T01:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-04T01:05:00Z",
        "fib_touch_time": "2026-02-04T01:35:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 24.145,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 141,
      "candidate_id": "candidate_2026-02-04T05-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-02-04T05: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-02-04T05:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-04T06:25:00Z",
        "fib_touch_time": "2026-02-04T06:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 14.355,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 142,
      "candidate_id": "candidate_2026-02-04T05-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-02-04T05: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-02-04T05:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-02-04T06:25:00Z",
        "fib_touch_time": "2026-02-04T06:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 14.949,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    }
  ]
}
