{
  "metadata": {
    "batch_id": "batch_020",
    "purpose": "control_review_evidence_non_final",
    "generated_at": "2026-07-17T10:27:33Z",
    "source_batch": "hybrid/reviews/manual_replay_batch_020.json",
    "source_batch_sha16": "3cbdf6918df2fe64",
    "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": 418,
      "candidate_id": "candidate_2026-03-30T13-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-30T13: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-03-30T13:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-30T13:45:00Z",
        "fib_touch_time": "2026-03-30T15:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 20.717,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 419,
      "candidate_id": "candidate_2026-03-30T17-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-30T17: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-03-30T17:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-30T18:25:00Z",
        "fib_touch_time": "2026-03-30T23:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 7.454,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 420,
      "candidate_id": "candidate_2026-03-30T22-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-30T22: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-03-30T22:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-30T23:05:00Z",
        "fib_touch_time": "2026-03-30T23:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 10.569,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 421,
      "candidate_id": "candidate_2026-03-31T04-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-31T04: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-03-31T04:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-31T05:10:00Z",
        "fib_touch_time": "2026-03-31T05:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 9.456,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 422,
      "candidate_id": "candidate_2026-03-31T07-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-31T07: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-03-31T07:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-31T07:10:00Z",
        "fib_touch_time": "2026-03-31T07:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 6.006,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 423,
      "candidate_id": "candidate_2026-03-31T08-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-03-31T08: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-03-31T08:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-31T10:35:00Z",
        "fib_touch_time": "2026-03-31T11:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 18.691,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 424,
      "candidate_id": "candidate_2026-03-31T09-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-03-31T09: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-03-31T09:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-03-31T11:20:00Z",
        "fib_touch_time": "2026-03-31T11:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp2_first",
        "risk_points": 5.94,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 425,
      "candidate_id": "candidate_2026-04-01T03-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T03: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-01T03:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T04:00:00Z",
        "fib_touch_time": "2026-04-01T05:10:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 7.548,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 426,
      "candidate_id": "candidate_2026-04-01T03-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T03: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-01T03:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T04:00:00Z",
        "fib_touch_time": "2026-04-01T05:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 8.29,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 427,
      "candidate_id": "candidate_2026-04-01T07-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T07: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-01T07:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T07:35:00Z",
        "fib_touch_time": "2026-04-01T07:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 15.184,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 428,
      "candidate_id": "candidate_2026-04-01T08-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T08: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-01T08:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T11:35:00Z",
        "fib_touch_time": "2026-04-01T12:05:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 14.381,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 429,
      "candidate_id": "candidate_2026-04-01T10-15-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T10: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-01T10:15:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T11:15:00Z",
        "fib_touch_time": "2026-04-01T12:25:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 12.632,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 430,
      "candidate_id": "candidate_2026-04-01T12-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T12: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-01T12:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T13:00:00Z",
        "fib_touch_time": "2026-04-01T13:15:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 16.291,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 431,
      "candidate_id": "candidate_2026-04-01T13-30-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T13: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-01T13:30:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T14:50:00Z",
        "fib_touch_time": "2026-04-01T18:35:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 16.592,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 432,
      "candidate_id": "candidate_2026-04-01T23-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-01T23: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-01T23:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-01T23:05:00Z",
        "fib_touch_time": "2026-04-01T23:45:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 6.827,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 433,
      "candidate_id": "candidate_2026-04-02T16-00-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-02T16: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-02T16:00:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-02T16:15:00Z",
        "fib_touch_time": "2026-04-02T16:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 9.843,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 434,
      "candidate_id": "candidate_2026-04-02T17-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-02T17: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-02T17:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-02T19:05:00Z",
        "fib_touch_time": "2026-04-02T19:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 10.36,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 435,
      "candidate_id": "candidate_2026-04-05T23-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-05T23: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-05T23:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T00:25:00Z",
        "fib_touch_time": "2026-04-06T00:30:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 8.32,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 436,
      "candidate_id": "candidate_2026-04-06T00-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T00: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-06T00:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T02:15:00Z",
        "fib_touch_time": "2026-04-06T03:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 25.696,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 437,
      "candidate_id": "candidate_2026-04-06T00-15-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T00: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-06T00:15:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T00:25:00Z",
        "fib_touch_time": "2026-04-06T00:40:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_sl_first",
        "risk_points": 12.474,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 438,
      "candidate_id": "candidate_2026-04-06T01-45-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T01: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-06T01:45:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T02:15:00Z",
        "fib_touch_time": "2026-04-06T03:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 19.217,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 439,
      "candidate_id": "candidate_2026-04-06T03-30-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T03: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-06T03:30:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T05:10:00Z",
        "fib_touch_time": "2026-04-06T06:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 22.728,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 440,
      "candidate_id": "candidate_2026-04-06T06-00-00Z_long_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T06: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-06T06:00:00Z",
        "direction": "Long",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T07:50:00Z",
        "fib_touch_time": "2026-04-06T12:20:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 18.711,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 441,
      "candidate_id": "candidate_2026-04-06T11-30-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T11: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-06T11:30:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T11:45:00Z",
        "fib_touch_time": "2026-04-06T14:00:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp2_first",
        "risk_points": 5.83,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    },
    {
      "order": 442,
      "candidate_id": "candidate_2026-04-06T12-45-00Z_short_liquidity_sweep_reversal",
      "timestamp": "2026-04-06T12: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-06T12:45:00Z",
        "direction": "Short",
        "m15_sweep_reclaim": true,
        "m5_sweep_reclaim": true,
        "confirmation_time": "2026-04-06T15:35:00Z",
        "fib_touch_time": "2026-04-06T15:50:00Z",
        "invalid_before_fib_touch": false,
        "mechanical_outcome": "mechanical_tp1_first",
        "risk_points": 12.903,
        "notes": "Passes mechanical sweep + structure confirmation + Fib 50/62 retrace filter. Requires TradingView Bar Replay before any journal promotion."
      },
      "journal_promotion": false
    }
  ]
}
