{
  "metadata": {
    "symbol": "XAUUSD",
    "mode": "hybrid_fair_rebuild",
    "period": "2026-01-01 to 2026-07-17",
    "currency": "USD",
    "riskPerR": 100,
    "startingBalance": 10000,
    "isDummy": false,
    "source": "fair_rebuild_rr_ge_2",
    "last_updated": "2026-07-18T05:02:16Z",
    "trade_count": 195,
    "notes": "Fair rebuild includes losses for valid triggered setups; not winner-only."
  },
  "strategies": [
    "Aryy HTF Narrative Fib 50/62",
    "ICT Sweep + MSS + FVG",
    "Order Block Reclaim",
    "Liquidity Sweep Reversal",
    "Breaker Continuation"
  ],
  "sessions": [
    "Asia",
    "London",
    "NY AM",
    "London Close",
    "NY PM",
    "Other"
  ],
  "trades": [
    {
      "id": "fair_20260102T131500Z_short_00001",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-02T13:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4385.173, stop=4402.295, target=4350.928. Pre-M15 range high=4402.295, low=4373.28.",
      "entry": 4385.173,
      "stop": 4402.295,
      "target": 4350.928,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-01-02T13:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-02T13-15-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T064500Z_long_00018",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 sweep of 4441, closing as bullish pin bar.",
      "ltf_trigger": "M5 prints massive hammer/rejection at 06:45 after hitting 4441.4. Next M5 candles close bullish. Entry on retracement to 4445, stop 4441, target 4455. R~2.5",
      "entry": 4445.0,
      "stop": 4441.0,
      "target": 4455.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Deep M15 sweep of 4441.44 (H4 low level). Strong rejection on M5. Good context but keeping as shadow without live visual.",
      "source_candidate_id": "candidate_2026-01-07T06-45-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00018_00021.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T001500Z_short_00023",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 rejected 4466 and closed bearish. M30 strongly bearish.",
      "ltf_trigger": "M15 prints a strong bearish candle at 00:00Z. M5 shows lower highs and lower lows after sweeping 4466. Entry on M5 retracement to FVG (around 4460).",
      "entry": 4460.0,
      "stop": 4467.5,
      "target": 4440.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.66,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear bearish engulfing on M15 after sweeping 4466 highs. H1 and M30 aligned bearish. M5 CHoCH present. High probability short setup.",
      "source_candidate_id": "candidate_2026-01-08T00-15-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00027_00030.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T001500Z_short_00024",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-08T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4460.688, stop=4466.485, target=4449.093. Pre-M15 range high=4466.485, low=4445.545.",
      "entry": 4460.688,
      "stop": 4466.485,
      "target": 4449.093,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-01-08T00:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T00-15-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T043000Z_short_00028",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-08T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4438.622, stop=4440.55, target=4434.767. Pre-M15 range high=4466.485, low=4432.12.",
      "entry": 4438.622,
      "stop": 4440.55,
      "target": 4434.767,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-08T07:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T04-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T133000Z_long_00031",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-08T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4423.635, stop=4417.405, target=4436.095. Pre-M15 range high=4436.205, low=4407.835.",
      "entry": 4423.635,
      "stop": 4417.405,
      "target": 4436.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-08T13:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T13-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T070000Z_long_00036",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-09T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4468.57, stop=4466.1, target=4473.51. Pre-M15 range high=4477.545, low=4458.295.",
      "entry": 4468.57,
      "stop": 4466.1,
      "target": 4473.51,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-09T08:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-09T07-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T130000Z_short_00039",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-09T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4473.835, stop=4475.495, target=4470.515. Pre-M15 range high=4480.615, low=4461.045.",
      "entry": 4473.835,
      "stop": 4475.495,
      "target": 4470.515,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-09T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-09T13-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T140000Z_long_00042",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-09T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4482.823, stop=4473.51, target=4501.448. Pre-M15 range high=4496.71, low=4458.935.",
      "entry": 4482.823,
      "stop": 4473.51,
      "target": 4501.448,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-01-09T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-09T14-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T073000Z_short_00054",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-13T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4593.575, stop=4601.385, target=4577.955. Pre-M15 range high=4602.195, low=4573.605.",
      "entry": 4593.575,
      "stop": 4601.385,
      "target": 4577.955,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-13T08:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-13T07-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T151500Z_long_00060",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-13T15:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4603.025, stop=4599.505, target=4610.065. Pre-M15 range high=4634.89, low=4577.925.",
      "entry": 4603.025,
      "stop": 4599.505,
      "target": 4610.065,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-13T15:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-13T15-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T054500Z_long_00063",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-14T05:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4617.64, stop=4613.51, target=4625.9. Pre-M15 range high=4639.89, low=4606.18.",
      "entry": 4617.64,
      "stop": 4613.51,
      "target": 4625.9,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-14T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T05-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T060000Z_short_00064",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-14T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4635.837, stop=4639.89, target=4627.732. Pre-M15 range high=4639.89, low=4611.99.",
      "entry": 4635.837,
      "stop": 4639.89,
      "target": 4627.732,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-14T06:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T06-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T121500Z_short_00075",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-15T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4618.132, stop=4620.56, target=4613.277. Pre-M15 range high=4623.11, low=4597.865.",
      "entry": 4618.132,
      "stop": 4620.56,
      "target": 4613.277,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-15T12:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-15T12-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T011500Z_short_00081",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-16T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4608.362, stop=4611.32, target=4602.447. Pre-M15 range high=4620.975, low=4593.78.",
      "entry": 4608.362,
      "stop": 4611.32,
      "target": 4602.447,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-16T01:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-16T01-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T144500Z_short_00089",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-16T14:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4614.02, stop=4615.605, target=4610.85. Pre-M15 range high=4616.33, low=4582.67.",
      "entry": 4614.02,
      "stop": 4615.605,
      "target": 4610.85,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-16T14:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-16T14-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260119T040000Z_long_00091",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 strong bullish gap up on Monday open, holding above 4650.",
      "ltf_trigger": "M15 bottomed exactly at 03:45-04:00 around 4658.2, then closed 4662. Good structure but outside ideal killzone.",
      "entry": 4662.5,
      "stop": 4657.5,
      "target": 4674.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid M15 sweep of 4658 and strong reaction, but pre-London timing makes it a shadow trade.",
      "source_candidate_id": "candidate_2026-01-19T04-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00081_00084.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T003000Z_short_00098",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-20T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4666.083, stop=4668.065, target=4662.118. Pre-M15 range high=4680.405, low=4659.395.",
      "entry": 4666.083,
      "stop": 4668.065,
      "target": 4662.118,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-20T00:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T00-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T081500Z_long_00100",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-20T08:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4718.89, stop=4714.935, target=4726.8. Pre-M15 range high=4725.76, low=4672.825.",
      "entry": 4718.89,
      "stop": 4714.935,
      "target": 4726.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-20T08:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T08-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T131500Z_short_00104",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-20T13:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4727.807, stop=4729.615, target=4724.193. Pre-M15 range high=4737.57, low=4716.005.",
      "entry": 4727.807,
      "stop": 4729.615,
      "target": 4724.193,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-20T13:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T13-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T133000Z_long_00105",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-20T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4726.903, stop=4715.035, target=4750.638. Pre-M15 range high=4737.57, low=4715.035.",
      "entry": 4726.903,
      "stop": 4715.035,
      "target": 4750.638,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-01-20T13:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T13-30-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T143000Z_long_00106",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-20T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4724.952, stop=4719.38, target=4736.097. Pre-M15 range high=4751.37, low=4715.035.",
      "entry": 4724.952,
      "stop": 4719.38,
      "target": 4736.097,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-01-20T15:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T14-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T091500Z_short_00110",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-21T09:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4879.358, stop=4888.545, target=4860.983. Pre-M15 range high=4888.545, low=4832.725.",
      "entry": 4879.358,
      "stop": 4888.545,
      "target": 4860.983,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-21T13:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T09-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T140000Z_short_00113",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-21T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4867.37, stop=4880.935, target=4840.24. Pre-M15 range high=4880.935, low=4839.395.",
      "entry": 4867.37,
      "stop": 4880.935,
      "target": 4840.24,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-01-21T14:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T14-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T150000Z_short_00115",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-21T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4859.347, stop=4879.3, target=4819.442. Pre-M15 range high=4880.935, low=4839.395.",
      "entry": 4859.347,
      "stop": 4879.3,
      "target": 4819.442,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-21T15:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T15-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T203000Z_short_00120",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-21T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4827.183, stop=4849.055, target=4783.438. Pre-M15 range high=4855.8, low=4755.075.",
      "entry": 4827.183,
      "stop": 4849.055,
      "target": 4783.438,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-21T20:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T20-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T064500Z_short_00128",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "D/H4 structural resistance tapped",
      "ltf_trigger": "M15 rejection wick present, FVG overlap unconfirmed",
      "entry": 2040.5,
      "stop": 2045.0,
      "target": 2030.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.33,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "London open sweep into premium. Fast rejection but Entry/SL/TP parameters not fully clear without M1 refinement.",
      "source_candidate_id": "candidate_2026-01-23T06-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00105_00108.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T131500Z_long_00131",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-23T13:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4923.775, stop=4921.11, target=4929.105. Pre-M15 range high=4947.98, low=4899.795.",
      "entry": 4923.775,
      "stop": 4921.11,
      "target": 4929.105,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-23T13:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-23T13-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T060000Z_long_00136",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-26T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5060.555, stop=5053.005, target=5075.655. Pre-M15 range high=5092.975, low=5052.365.",
      "entry": 5060.555,
      "stop": 5053.005,
      "target": 5075.655,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-26T13:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-26T06-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T143000Z_short_00152",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-27T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5076.98, stop=5082.34, target=5066.26. Pre-M15 range high=5099.65, low=5046.84.",
      "entry": 5076.98,
      "stop": 5082.34,
      "target": 5066.26,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-27T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-27T14-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260128T124500Z_long_00156",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-28T12:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5263.71, stop=5258.375, target=5274.38. Pre-M15 range high=5311.665, low=5238.59.",
      "entry": 5263.71,
      "stop": 5258.375,
      "target": 5274.38,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-28T13:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-28T12-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T001500Z_short_00176",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-02T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4879.625, stop=4901.69, target=4835.495. Pre-M15 range high=4948.545, low=4679.51.",
      "entry": 4879.625,
      "stop": 4901.69,
      "target": 4835.495,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-02T00:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-02T00-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T104500Z_long_00180",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T10:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-02T10:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4700.943, stop=4657.01, target=4788.807. Pre-M15 range high=4733.805, low=4402.38.",
      "entry": 4700.943,
      "stop": 4657.01,
      "target": 4788.807,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-02T10:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-02T10-45-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260203T174500Z_short_00189",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-03T17:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4953.66, stop=4970.05, target=4920.88. Pre-M15 range high=4993.835, low=4893.775.",
      "entry": 4953.66,
      "stop": 4970.05,
      "target": 4920.88,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-03T18:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-03T17-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T001500Z_long_00205",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-06T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4707.898, stop=4655.23, target=4813.233. Pre-M15 range high=4873.325, low=4655.23.",
      "entry": 4707.898,
      "stop": 4655.23,
      "target": 4813.233,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-06T00:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-06T00-15-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T013000Z_long_00212",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-09T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4978.045, stop=4965.42, target=5003.295. Pre-M15 range high=5047.915, low=4936.69.",
      "entry": 4978.045,
      "stop": 4965.42,
      "target": 5003.295,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-09T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-09T01-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T140000Z_long_00216",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-09T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5013.295, stop=5007.435, target=5025.015. Pre-M15 range high=5027.645, low=4982.495.",
      "entry": 5013.295,
      "stop": 5007.435,
      "target": 5025.015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-09T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-09T14-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T174500Z_short_00227",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-10T17:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5030.052, stop=5040.22, target=5009.717. Pre-M15 range high=5078.745, low=4998.95.",
      "entry": 5030.052,
      "stop": 5040.22,
      "target": 5009.717,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-10T17:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-10T17-45-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T123000Z_long_00236",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-11T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5052.792, stop=5051.745, target=5054.887. Pre-M15 range high=5119.345, low=5045.92.",
      "entry": 5052.792,
      "stop": 5051.745,
      "target": 5054.887,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-11T12:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T12-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T230000Z_short_00237",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-11T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5073.993, stop=5095.915, target=5030.148. Pre-M15 range high=5099.315, low=5053.89.",
      "entry": 5073.993,
      "stop": 5095.915,
      "target": 5030.148,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-11T23:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T23-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T233000Z_short_00238",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-11T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5074.693, stop=5095.495, target=5033.088. Pre-M15 range high=5097.725, low=5053.89.",
      "entry": 5074.693,
      "stop": 5095.495,
      "target": 5033.088,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-02-12T03:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T23-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T084500Z_short_00250",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Evaluated mechanically against recent HTF action.",
      "ltf_trigger": "Sweep high at 4987.075, close 4979.205",
      "entry": 4979.205,
      "stop": 4987.575,
      "target": 4962.465,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid short setup per mechanical replay; hit 2R. Keeping as shadow.",
      "source_candidate_id": "candidate_2026-02-13T08-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00204_00207.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T143000Z_long_00254",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-13T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4964.34, stop=4957.71, target=4977.6. Pre-M15 range high=5011.07, low=4933.635.",
      "entry": 4964.34,
      "stop": 4957.71,
      "target": 4977.6,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-13T14:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-13T14-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T130000Z_long_00265",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-17T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4922.342, stop=4921.775, target=4923.477. Pre-M15 range high=4944.7, low=4907.885.",
      "entry": 4922.342,
      "stop": 4921.775,
      "target": 4923.477,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-17T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T13-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T114500Z_long_00271",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 extremely bullish off 4886 lows, moving aggressively higher.",
      "ltf_trigger": "M15 sweeps 4906 at 11:45 and closes bullish at 4913. MSS confirmed. Price retests 4913 in subsequent candles before exploding to 4947+.",
      "entry": 4914.0,
      "stop": 4905.0,
      "target": 4945.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 3.44,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear H1/M30 liquidity sweep of 4906 lows followed by M15 bullish MSS. FVG entry on M15 retest at 4913 area. H4 is strongly bullish.",
      "source_candidate_id": "candidate_2026-02-18T11-45-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00222_00225.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T141500Z_short_00281",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-19T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4977.295, stop=4983.465, target=4964.955. Pre-M15 range high=5005.86, low=4971.125.",
      "entry": 4977.295,
      "stop": 4983.465,
      "target": 4964.955,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-02-19T14:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-19T14-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T143000Z_long_00283",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-19T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4985.1, stop=4963.445, target=5028.41. Pre-M15 range high=5005.46, low=4963.445.",
      "entry": 4985.1,
      "stop": 4963.445,
      "target": 5028.41,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-19T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-19T14-30-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T080000Z_short_00292",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-20T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5015.438, stop=5018.1, target=5010.112. Pre-M15 range high=5030.145, low=4981.67.",
      "entry": 5015.438,
      "stop": 5018.1,
      "target": 5010.112,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-20T08:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-20T08-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T151500Z_long_00295",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-20T15:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5023.202, stop=5022.74, target=5024.127. Pre-M15 range high=5064.33, low=4990.585.",
      "entry": 5023.202,
      "stop": 5022.74,
      "target": 5024.127,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-20T15:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-20T15-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T110000Z_long_00302",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-23T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5151.465, stop=5145.16, target=5164.075. Pre-M15 range high=5163.655, low=5122.22.",
      "entry": 5151.465,
      "stop": 5145.16,
      "target": 5164.075,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-23T11:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T11-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T130000Z_short_00304",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-23T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5158.233, stop=5165.565, target=5143.568. Pre-M15 range high=5165.565, low=5122.22.",
      "entry": 5158.233,
      "stop": 5165.565,
      "target": 5143.568,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-23T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T13-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T140000Z_long_00305",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-23T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5154.72, stop=5141.615, target=5180.93. Pre-M15 range high=5165.565, low=5141.615.",
      "entry": 5154.72,
      "stop": 5141.615,
      "target": 5180.93,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-23T14:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T14-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260225T060000Z_long_00316",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-25T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5182.525, stop=5179.985, target=5187.605. Pre-M15 range high=5210.68, low=5166.495.",
      "entry": 5182.525,
      "stop": 5179.985,
      "target": 5187.605,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-25T06:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-25T06-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260225T100000Z_short_00317",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-25T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5186.433, stop=5195.285, target=5168.728. Pre-M15 range high=5210.68, low=5176.635.",
      "entry": 5186.433,
      "stop": 5195.285,
      "target": 5168.728,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-25T10:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-25T10-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T083000Z_short_00324",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-26T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5185.318, stop=5191.12, target=5173.713. Pre-M15 range high=5205.64, low=5170.655.",
      "entry": 5185.318,
      "stop": 5191.12,
      "target": 5173.713,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-26T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T08-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260302T084500Z_short_00342",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-02T08:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5409.307, stop=5416.165, target=5395.592. Pre-M15 range high=5419.66, low=5340.82.",
      "entry": 5409.307,
      "stop": 5416.165,
      "target": 5395.592,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-02T08:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-02T08-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T110000Z_short_00350",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 massive momentum candle 10:00-14:00 dropping nearly 200 points.",
      "ltf_trigger": "Perfect M15 bearish sweep and structure break around 11:00, fib touch at 12:30 (pullback to 5227) before leg down.",
      "entry": 5227.0,
      "stop": 5265.0,
      "target": 5075.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 4.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Excellent HTF aligned short during major breakdown. Pullback to 5264 before massive flush to 5073.",
      "source_candidate_id": "candidate_2026-03-03T11-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00288_00291.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T103000Z_long_00357",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-04T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5180.532, stop=5175.995, target=5189.607. Pre-M15 range high=5202.425, low=5117.72.",
      "entry": 5180.532,
      "stop": 5175.995,
      "target": 5189.607,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-04T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-04T10-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T020000Z_short_00387",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5101.075, stop=5107.105, target=5089.015. Pre-M15 range high=5176.63, low=5015.045.",
      "entry": 5101.075,
      "stop": 5107.105,
      "target": 5089.015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-09T03:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T02-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T021500Z_long_00388",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T02:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T02:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5073.948, stop=5065.35, target=5091.142. Pre-M15 range high=5176.63, low=5015.045.",
      "entry": 5073.948,
      "stop": 5065.35,
      "target": 5091.142,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-09T02:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T02-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T093000Z_short_00392",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5109.962, stop=5132.765, target=5064.357. Pre-M15 range high=5140.79, low=5081.185.",
      "entry": 5109.962,
      "stop": 5132.765,
      "target": 5064.357,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-03-09T09:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T09-30-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T121500Z_short_00393",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5113.905, stop=5125.155, target=5091.405. Pre-M15 range high=5132.765, low=5079.93.",
      "entry": 5113.905,
      "stop": 5125.155,
      "target": 5091.405,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-03-09T14:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T12-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T144500Z_long_00396",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T14:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5081.567, stop=5074.44, target=5095.822. Pre-M15 range high=5116.28, low=5060.595.",
      "entry": 5081.567,
      "stop": 5074.44,
      "target": 5095.822,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-09T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T14-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T150000Z_long_00397",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5080.472, stop=5076.06, target=5089.297. Pre-M15 range high=5116.28, low=5060.595.",
      "entry": 5080.472,
      "stop": 5076.06,
      "target": 5089.297,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-09T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T15-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T193000Z_long_00400",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-09T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5124.628, stop=5118.63, target=5136.623. Pre-M15 range high=5144.01, low=5079.585.",
      "entry": 5124.628,
      "stop": 5118.63,
      "target": 5136.623,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-09T22:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T19-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T010000Z_long_00402",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-10T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5140.84, stop=5124.835, target=5172.85. Pre-M15 range high=5156.21, low=5117.355.",
      "entry": 5140.84,
      "stop": 5124.835,
      "target": 5172.85,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-03-10T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-10T01-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T060000Z_long_00404",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-10T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5170.915, stop=5167.465, target=5177.815. Pre-M15 range high=5187.055, low=5142.315.",
      "entry": 5170.915,
      "stop": 5167.465,
      "target": 5177.815,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-10T07:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-10T06-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T080000Z_long_00405",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-10T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5176.307, stop=5174.925, target=5179.072. Pre-M15 range high=5185.545, low=5154.47.",
      "entry": 5176.307,
      "stop": 5174.925,
      "target": 5179.072,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-10T08:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-10T08-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T094500Z_short_00406",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 swept 5195.405 and rejected. Bearish shift.",
      "ltf_trigger": "M5 displaced down from 5195, rallied to FVG at 5189, displaced lower to 5172.",
      "entry": 5188.5,
      "stop": 5196.0,
      "target": 5173.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.06,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid displacement down from 5195 HTF sweep, lower high formed at 09:45 (5189) leading to drop.",
      "source_candidate_id": "candidate_2026-03-10T09-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00330_00333.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T020000Z_long_00411",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-11T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5192.5, stop=5186.66, target=5204.18. Pre-M15 range high=5223.385, low=5183.47.",
      "entry": 5192.5,
      "stop": 5186.66,
      "target": 5204.18,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-11T05:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T02-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T123000Z_short_00415",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-11T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5184.477, stop=5197.175, target=5159.082. Pre-M15 range high=5198.695, low=5173.265.",
      "entry": 5184.477,
      "stop": 5197.175,
      "target": 5159.082,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-03-11T14:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T12-30-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T130000Z_short_00416",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-11T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5182.177, stop=5191.09, target=5164.352. Pre-M15 range high=5198.4, low=5162.175.",
      "entry": 5182.177,
      "stop": 5191.09,
      "target": 5164.352,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-03-11T13:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T13-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T053000Z_short_00421",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-12T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5152.2, stop=5154.02, target=5148.56. Pre-M15 range high=5175.15, low=5137.17.",
      "entry": 5152.2,
      "stop": 5154.02,
      "target": 5148.56,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-12T05:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T05-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T100000Z_short_00423",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Strong H4 downtrend. Sell liquidity at premium.",
      "ltf_trigger": "M15 sweep 5191.79 > 5189.86. Confirmed MSB at 12:00 close 5168.77. Retracement into Fib OTE at 12:45 (high 5185.88). Target previous lows.",
      "entry": 5183.0,
      "stop": 5193.0,
      "target": 5153.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 3.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear H4 downtrend. M15 sweeps 08:00 high (5189.86) with 10:00 high (5191.79). MSB at 12:00 (5167.38 < 5172.88). Retrace to Fib (5185.88) at 12:45. Drops to 5146.09 (TP hit).",
      "source_candidate_id": "candidate_2026-03-12T10-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00345_00348.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T051500Z_short_00432",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Daily closed bullish on 11th, bearish on 12th. H4 missing in data but Daily shows price bouncing off 5000 region.",
      "ltf_trigger": "M5 swept 5110 at 05:20, retraced to 5109.19 at 05:15. Choppy PA.",
      "entry": 5109.19,
      "stop": 5111.0,
      "target": 5100.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 5.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M5 shows consolidation above 5100 post Asian open. Mechanical entry triggers TP1 but HTF context is bullish (Daily bounce 5079 -> 5020). Choppy M5 PA before sweep. Needs human confirmation of sweep validity. Keeping as shadow.",
      "source_candidate_id": "candidate_2026-03-13T05-15-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00354_00357.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T053000Z_short_00433",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Daily chop around 5050-5100.",
      "ltf_trigger": "M5 sweep high at 5111.26 at 05:30, immediate sell off to 5100.",
      "entry": 5108.915,
      "stop": 5112.0,
      "target": 5100.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 3.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Secondary sweep attempt in Asian session chop. Valid mechanically but low quality HTF alignment. Shadow only.",
      "source_candidate_id": "candidate_2026-03-13T05-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00354_00357.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T151500Z_short_00438",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T15:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Intraday bearish trend from 5110 down to 5040.",
      "ltf_trigger": "M5 bounces to 5071 at 15:15 then continues down to 5037. High volatility.",
      "entry": 5062.76,
      "stop": 5072.0,
      "target": 5040.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "NY open volatility sweep. Huge risk points (17.8). M5 sweeps 5071 after massive drop from 5110. Counter trend to the intraday move. Shadow.",
      "source_candidate_id": "candidate_2026-03-13T15-15-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00354_00357.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260317T010000Z_long_00447",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-17T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5007.08, stop=4994.935, target=5031.37. Pre-M15 range high=5021.835, low=4994.935.",
      "entry": 5007.08,
      "stop": 4994.935,
      "target": 5031.37,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-03-17T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-17T01-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260317T091500Z_short_00448",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-17T09:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5022.148, stop=5025.61, target=5015.223. Pre-M15 range high=5044.9, low=5005.04.",
      "entry": 5022.148,
      "stop": 5025.61,
      "target": 5015.223,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-17T12:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-17T09-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260317T170000Z_short_00451",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-17T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5011.99, stop=5017.65, target=5000.67. Pre-M15 range high=5031.59, low=4973.72.",
      "entry": 5011.99,
      "stop": 5017.65,
      "target": 5000.67,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-18T00:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-17T17-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T001500Z_long_00452",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-18T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5000.085, stop=4996.555, target=5007.145. Pre-M15 range high=5012.24, low=4993.39.",
      "entry": 5000.085,
      "stop": 4996.555,
      "target": 5007.145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-18T01:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-18T00-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T050000Z_short_00455",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-18T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4992.077, stop=4993.66, target=4988.912. Pre-M15 range high=5016.29, low=4981.83.",
      "entry": 4992.077,
      "stop": 4993.66,
      "target": 4988.912,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-18T05:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-18T05-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T084500Z_short_00467",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T08:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-19T08:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4724.952, stop=4736.58, target=4701.697. Pre-M15 range high=4853.995, low=4686.885.",
      "entry": 4724.952,
      "stop": 4736.58,
      "target": 4701.697,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-19T09:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-19T08-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T023000Z_long_00474",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 and H1 strongly bullish, aggressively expanding past 4700 towards 4736.",
      "ltf_trigger": "M15 02:30 candle sweeps 02:15 low (4679.29 vs 4680.95) and immediately rejects upward. Clean long setup, but exact entry requires granular verification.",
      "entry": 4686.0,
      "stop": 4678.0,
      "target": 4720.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 4.25,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Strong bullish continuation after sweeping M15 local low (4679 sweeps 4680). Massive expansion to 4736 follows. Valid concept but kept in shadow for manual strict Fib entry verification.",
      "source_candidate_id": "candidate_2026-03-20T02-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00389_00392.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T000000Z_short_00481",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-23T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4481.762, stop=4491.105, target=4463.078. Pre-M15 range high=4568.43, low=4425.415.",
      "entry": 4481.762,
      "stop": 4491.105,
      "target": 4463.078,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-23T12:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-23T00-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T011500Z_short_00490",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-24T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4365.202, stop=4387.035, target=4321.537. Pre-M15 range high=4448.355, low=4328.49.",
      "entry": 4365.202,
      "stop": 4387.035,
      "target": 4321.537,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-24T01:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-24T01-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T064500Z_long_00493",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 had a massive rejection drop from 4513 to 4099 on March 23, followed by a V-shaped recovery to 4492. Price is consolidating between 4305 and 4448.",
      "ltf_trigger": "M5 reclaim at 06:55, retracement into Fib at 11:00.",
      "entry": 4375.0,
      "stop": 4360.0,
      "target": 4410.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.3,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Strong bullish push on H1 from 4320. Fib touch delayed to 11:00. Good HTF alignment but delayed entry requires more context to promote.",
      "source_candidate_id": "candidate_2026-03-24T06-45-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00400_00403.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T081500Z_long_00495",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-24T08:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4385.81, stop=4374.49, target=4408.45. Pre-M15 range high=4433.31, low=4320.04.",
      "entry": 4385.81,
      "stop": 4374.49,
      "target": 4408.45,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-24T11:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-24T08-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T130000Z_long_00507",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-25T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4553.185, stop=4550.73, target=4558.095. Pre-M15 range high=4585.6, low=4521.88.",
      "entry": 4553.185,
      "stop": 4550.73,
      "target": 4558.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-25T13:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-25T13-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T020000Z_short_00511",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 sweep of previous highs at 4544, followed by strong impulse down.",
      "ltf_trigger": "Price retraced exactly to the 62% Fib (4536) at 02:00 before dumping to 4505.",
      "entry": 4536.21,
      "stop": 4545.0,
      "target": 4505.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 3.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Perfect 62% OTE tap at 4536, but held as shadow due to lack of visual FVG confirmation.",
      "source_candidate_id": "candidate_2026-03-26T02-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00412_00415.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T200000Z_long_00516",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-26T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4380.215, stop=4351.355, target=4437.935. Pre-M15 range high=4458.74, low=4351.355.",
      "entry": 4380.215,
      "stop": 4351.355,
      "target": 4437.935,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-03-26T20:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-26T20-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T203000Z_long_00517",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-26T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4389.182, stop=4364.075, target=4439.398. Pre-M15 range high=4446.895, low=4351.355.",
      "entry": 4389.182,
      "stop": 4364.075,
      "target": 4439.398,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-26T20:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-26T20-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260327T073000Z_long_00518",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-27T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4443.96, stop=4440.74, target=4450.4. Pre-M15 range high=4475.3, low=4421.39.",
      "entry": 4443.96,
      "stop": 4440.74,
      "target": 4450.4,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-27T07:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-27T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260327T090000Z_short_00519",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-27T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4434.48, stop=4440.13, target=4423.18. Pre-M15 range high=4475.3, low=4420.885.",
      "entry": 4434.48,
      "stop": 4440.13,
      "target": 4423.18,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-27T09:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-27T09-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T034500Z_long_00525",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-30T03:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4487.698, stop=4479.015, target=4505.062. Pre-M15 range high=4518.175, low=4417.43.",
      "entry": 4487.698,
      "stop": 4479.015,
      "target": 4505.062,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-30T04:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-30T03-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T193000Z_short_00531",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-30T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4516.085, stop=4519.58, target=4509.095. Pre-M15 range high=4556.895, low=4493.1.",
      "entry": 4516.085,
      "stop": 4519.58,
      "target": 4509.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-30T19:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-30T19-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T014500Z_short_00539",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-01T01:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4700.743, stop=4708.59, target=4685.048. Pre-M15 range high=4724.52, low=4662.125.",
      "entry": 4700.743,
      "stop": 4708.59,
      "target": 4685.048,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-01T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-01T01-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T234500Z_short_00554",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-06T23:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4659.198, stop=4661.31, target=4654.972. Pre-M15 range high=4667.97, low=4645.805.",
      "entry": 4659.198,
      "stop": 4661.31,
      "target": 4654.972,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-06T23:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-06T23-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260407T073000Z_long_00557",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 holding the major low (4616/4623 area) and building a base for a markup phase.",
      "ltf_trigger": "M5 swept 4638.04 down to 4636.91 exactly at 07:30Z, then immediately reversed and displaced strongly upwards, initiating the run to 4690+. Valid entry on the M5 closure back above 4643.",
      "entry": 4644.0,
      "stop": 4635.0,
      "target": 4690.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 5.11,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Price swept the minor low at 4638 (down to 4636.91 at 07:30Z) after a choppy consolidation phase. This was the final liquidity sweep before a massive displacement to 4691. Structure holds the 4623 major low. M5 shows immediate bullish response (engulfing back to 4646 by 07:40Z).",
      "source_candidate_id": "candidate_2026-04-07T07-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00460_00463.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260407T134500Z_short_00559",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-07T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4656.852, stop=4663.08, target=4644.398. Pre-M15 range high=4694.905, low=4629.02.",
      "entry": 4656.852,
      "stop": 4663.08,
      "target": 4644.398,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-07T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-07T13-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260408T003000Z_long_00563",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-08T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4811.185, stop=4804.535, target=4824.485. Pre-M15 range high=4858.215, low=4657.63.",
      "entry": 4811.185,
      "stop": 4804.535,
      "target": 4824.485,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-08T00:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-08T00-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260409T001500Z_short_00568",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-09T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4716.468, stop=4720.345, target=4708.713. Pre-M15 range high=4732.365, low=4698.725.",
      "entry": 4716.468,
      "stop": 4720.345,
      "target": 4708.713,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-09T00:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-09T00-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T030000Z_short_00579",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-10T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4761.495, stop=4762.63, target=4759.225. Pre-M15 range high=4777.42, low=4738.105.",
      "entry": 4761.495,
      "stop": 4762.63,
      "target": 4759.225,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-04-10T03:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T03-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T113000Z_long_00582",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-10T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4756.577, stop=4753.38, target=4762.972. Pre-M15 range high=4767.48, low=4730.74.",
      "entry": 4756.577,
      "stop": 4753.38,
      "target": 4762.972,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-10T15:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T11-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T124500Z_long_00583",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T12:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-10T12:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4765.628, stop=4759.845, target=4777.193. Pre-M15 range high=4782.605, low=4730.74.",
      "entry": 4765.628,
      "stop": 4759.845,
      "target": 4777.193,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-10T12:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T12-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T141500Z_long_00593",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-13T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4709.915, stop=4707.68, target=4714.385. Pre-M15 range high=4744.64, low=4703.375.",
      "entry": 4709.915,
      "stop": 4707.68,
      "target": 4714.385,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-04-13T14:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-13T14-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T153000Z_long_00595",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 bullish overall, retracing down to 4700 level before sharp continuation up to 4776.",
      "ltf_trigger": "M15 swept lows into 4702, strong bullish close. Lacking M5 detail for precise entry.",
      "entry": 4714.45,
      "stop": 4701.5,
      "target": 4746.27,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 bottomed at 4702.30 in the 15:30 candle. Quick reversal long, but h4 shows we were in a pullback inside a larger bullish impulse. Valid sweep but missing exact granular M5 confirmation data to pinpoint a high-conviction entry.",
      "source_candidate_id": "candidate_2026-04-13T15-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00494_00496.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T184500Z_long_00606",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T18:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-14T18:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4828.507, stop=4824.95, target=4835.622. Pre-M15 range high=4843.64, low=4791.115.",
      "entry": 4828.507,
      "stop": 4824.95,
      "target": 4835.622,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-15T00:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-14T18-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260421T060000Z_short_00639",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-21T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4791.9, stop=4797.145, target=4781.41. Pre-M15 range high=4819.07, low=4775.755.",
      "entry": 4791.9,
      "stop": 4797.145,
      "target": 4781.41,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-21T07:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-21T06-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260421T133000Z_short_00642",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-21T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4792.542, stop=4793.205, target=4791.217. Pre-M15 range high=4798.03, low=4760.35.",
      "entry": 4792.542,
      "stop": 4793.205,
      "target": 4791.217,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-04-21T13:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-21T13-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T011500Z_long_00654",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-23T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4727.318, stop=4726.12, target=4729.713. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4727.318,
      "stop": 4726.12,
      "target": 4729.713,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-04-23T01:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-23T01-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260424T013000Z_long_00663",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-24T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4692.278, stop=4689.775, target=4697.283. Pre-M15 range high=4711.23, low=4686.65.",
      "entry": 4692.278,
      "stop": 4689.775,
      "target": 4697.283,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-04-24T01:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-24T01-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T001500Z_long_00677",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-28T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4693.493, stop=4692.04, target=4696.398. Pre-M15 range high=4701.64, low=4676.74.",
      "entry": 4693.493,
      "stop": 4692.04,
      "target": 4696.398,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-28T00:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-28T00-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T121500Z_short_00682",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-28T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4599.347, stop=4604.4, target=4589.243. Pre-M15 range high=4635.585, low=4555.135.",
      "entry": 4599.347,
      "stop": 4604.4,
      "target": 4589.243,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-28T12:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-28T12-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T091500Z_short_00687",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-29T09:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4570.142, stop=4580.75, target=4548.927. Pre-M15 range high=4607.725, low=4557.385.",
      "entry": 4570.142,
      "stop": 4580.75,
      "target": 4548.927,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-04-29T09:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-29T09-15-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T001500Z_long_00696",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 breaking out of 4550 resistance into 4560s.",
      "ltf_trigger": "M15 sweep of 4556, M5 confirmation and Fib entry. Hits TP2.",
      "entry": 4559.0,
      "stop": 4556.0,
      "target": 4565.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Asian session expansion long, mechanically hits TP2. H1 confirms strong upward break from earlier chop. M15 sweep is valid but entry at 00:15Z is low liquidity environment; keep as shadow for stats, too risky for primary journal.",
      "source_candidate_id": "candidate_2026-04-30T00-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00577_00580.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T094500Z_long_00701",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 shifted strongly bullish from 4541 low, breaking multiple structural highs.",
      "ltf_trigger": "M5 swept internal liquidity at 4618.31 and displaced back up. Entry on Fib discount zone was respected and price expanded to target.",
      "entry": 4625.12,
      "stop": 4618.31,
      "target": 4645.55,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 3.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Pro-trend long setup following strong H1/M30 bullish shift; clear M5 liquidity sweep and displacement leading to successful Fib entry and TP hit.",
      "source_candidate_id": "candidate_2026-04-30T09-45-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00580_00583.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260515T134500Z_short_00794",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-15T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4549.25, stop=4557.66, target=4532.43. Pre-M15 range high=4572.775, low=4510.985.",
      "entry": 4549.25,
      "stop": 4557.66,
      "target": 4532.43,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T14:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-15T13-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260517T220000Z_short_00797",
      "date": "2026-05-17",
      "timestamp": "2026-05-17T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-17T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4552.57, stop=4555.375, target=4546.96. Pre-M15 range high=4564.605, low=4531.55.",
      "entry": 4552.57,
      "stop": 4555.375,
      "target": 4546.96,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-17T22-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T031500Z_short_00819",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-21T03:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4542.555, stop=4545.19, target=4537.285. Pre-M15 range high=4570.895, low=4531.515.",
      "entry": 4542.555,
      "stop": 4545.19,
      "target": 4537.285,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-05-29T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-21T03-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T010000Z_short_00825",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4538.52, stop=4541.24, target=4533.08. Pre-M15 range high=4545.26, low=4523.435.",
      "entry": 4538.52,
      "stop": 4541.24,
      "target": 4533.08,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T09:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-22T01-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T061500Z_short_00828",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4525.615, stop=4526.165, target=4524.515. Pre-M15 range high=4534.325, low=4507.43.",
      "entry": 4525.615,
      "stop": 4526.165,
      "target": 4524.515,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-05-29T07:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-22T06-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T204500Z_long_00835",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T20:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T20:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.21, stop=4504.17, target=4582.29. Pre-M15 range high=4527.995, low=4504.17.",
      "entry": 4530.21,
      "stop": 4504.17,
      "target": 4582.29,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-05-29T09:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-22T20-45-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260525T114500Z_short_00837",
      "date": "2026-05-25",
      "timestamp": "2026-05-25T11:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-25T11:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4570.573, stop=4577.115, target=4557.488. Pre-M15 range high=4577.115, low=4552.495.",
      "entry": 4570.573,
      "stop": 4577.115,
      "target": 4557.488,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-05-29T14:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-25T11-45-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T091500Z_short_00842",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T09:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-26T09:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4526.175, stop=4526.935, target=4524.655. Pre-M15 range high=4539.2, low=4518.275.",
      "entry": 4526.175,
      "stop": 4526.935,
      "target": 4524.655,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-05-29T07:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-26T09-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T094500Z_short_00843",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-26T09:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4522.47, stop=4526.665, target=4514.08. Pre-M15 range high=4539.2, low=4512.07.",
      "entry": 4522.47,
      "stop": 4526.665,
      "target": 4514.08,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T06:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-26T09-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T004500Z_short_00874",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T00:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4541.265, stop=4544.615, target=4534.565. Pre-M15 range high=4560.29, low=4520.025.",
      "entry": 4541.265,
      "stop": 4544.615,
      "target": 4534.565,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-01T00:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T00-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T034500Z_short_00879",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T03:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T03:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4517.712, stop=4521.465, target=4510.207. Pre-M15 range high=4546.27, low=4509.965.",
      "entry": 4517.712,
      "stop": 4521.465,
      "target": 4510.207,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-01T04:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T03-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T064500Z_short_00880",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T06:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T06:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4510.497, stop=4516.015, target=4499.462. Pre-M15 range high=4534.825, low=4500.32.",
      "entry": 4510.497,
      "stop": 4516.015,
      "target": 4499.462,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-01T10:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T06-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T173000Z_long_00885",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4476.333, stop=4471.58, target=4485.838. Pre-M15 range high=4510.55, low=4447.86.",
      "entry": 4476.333,
      "stop": 4471.58,
      "target": 4485.838,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-02T01:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T17-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T170000Z_short_00892",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "NY PM fade of daily high.",
      "ltf_trigger": "Valid M5 MSS and return to FVG, but occurred after 17:00 NY.",
      "entry": 4538.5,
      "stop": 4543.0,
      "target": 4520.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 4.11,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Late NY session. Price swept local BSL and displaced down, but time of day is unfavorable for new entries. Keeping as shadow trade for statistical tracking.",
      "source_candidate_id": "candidate_2026-06-02T17-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00592_00595.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T174500Z_short_00893",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T17:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-02T17:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4489.195, stop=4491.795, target=4483.995. Pre-M15 range high=4524.91, low=4482.14.",
      "entry": 4489.195,
      "stop": 4491.795,
      "target": 4483.995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-02T18:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-02T17-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T041500Z_short_00900",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-03T04:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4480.71, stop=4488.44, target=4465.25. Pre-M15 range high=4496.885, low=4462.665.",
      "entry": 4480.71,
      "stop": 4488.44,
      "target": 4465.25,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-03T04:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-03T04-15-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T083000Z_short_00902",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Bearish overnight drift",
      "ltf_trigger": "Rejection at 4459 before drop to 4440",
      "entry": 4457.0,
      "stop": 4465.0,
      "target": 4440.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.12,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Scanner caught the pre-NY drop, but without manual drawing of the exact PD array, it stays a shadow trade.",
      "source_candidate_id": "candidate_2026-06-03T08-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00598_00601.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T010000Z_long_00908",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-04T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4456.483, stop=4443.18, target=4483.087. Pre-M15 range high=4467.44, low=4423.965.",
      "entry": 4456.483,
      "stop": 4443.18,
      "target": 4483.087,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-04T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-04T01-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T023000Z_long_00910",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 bullish impulse (4443 to 4484).",
      "ltf_trigger": "Tapped 4455 (62% zone) and reversed, but exact entry trigger unclear without visual chart.",
      "entry": 4462.51,
      "stop": 4455.0,
      "target": 4484.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.8,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Price tapped 62% Fib (4458) around 02:00-02:30, valid OTE continuation but flagged as sweep reversal. M5 visual verification needed for MSS.",
      "source_candidate_id": "candidate_2026-06-04T02-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00607_00610.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T134500Z_short_00913",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T13:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-04T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4501.145, stop=4515.515, target=4472.405. Pre-M15 range high=4515.515, low=4461.035.",
      "entry": 4501.145,
      "stop": 4515.515,
      "target": 4472.405,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-04T13:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-04T13-45-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T061500Z_long_00920",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4/M30 major support at 4435 swept aggressively, mitigating HTF discount array.",
      "ltf_trigger": "06:15 M5 swept to 4428.72 with strong rejection wick. 06:20 M5 displaced to 4445.46 (MSS). 06:25 M5 retraced to 4440.38 (OTE/FVG).",
      "entry": 4440.5,
      "stop": 4427.5,
      "target": 4467.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.04,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Textbook ICT sweep of 4435 HTF low down to 4428.72, followed by immediate M5 displacement and OTE retracement.",
      "source_candidate_id": "candidate_2026-06-05T06-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00610_00613.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T120000Z_long_00922",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-05T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4463.862, stop=4461.525, target=4468.537. Pre-M15 range high=4475.325, low=4458.28.",
      "entry": 4463.862,
      "stop": 4461.525,
      "target": 4468.537,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-05T12:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-05T12-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T120000Z_long_00923",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-05T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4465.235, stop=4463.235, target=4469.235. Pre-M15 range high=4475.325, low=4458.28.",
      "entry": 4465.235,
      "stop": 4463.235,
      "target": 4469.235,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-05T12:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-05T12-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T060000Z_short_00929",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-08T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4309.555, stop=4314.56, target=4299.545. Pre-M15 range high=4330.855, low=4268.48.",
      "entry": 4309.555,
      "stop": 4314.56,
      "target": 4299.545,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-08T06:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-08T06-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T093000Z_long_00930",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-08T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4291.13, stop=4273.165, target=4327.06. Pre-M15 range high=4316.96, low=4268.48.",
      "entry": 4291.13,
      "stop": 4273.165,
      "target": 4327.06,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-08T09:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-08T09-30-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260611T060000Z_long_00949",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-11T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4077.137, stop=4072.885, target=4085.642. Pre-M15 range high=4118.395, low=4052.295.",
      "entry": 4077.137,
      "stop": 4072.885,
      "target": 4085.642,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-11T06:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-11T06-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T004500Z_short_00954",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-12T00:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4218.922, stop=4230.53, target=4195.707. Pre-M15 range high=4246.715, low=4161.94.",
      "entry": 4218.922,
      "stop": 4230.53,
      "target": 4195.707,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-12T08:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-12T00-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T031500Z_short_00955",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T03:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-12T03:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4204.73, stop=4208.585, target=4197.02. Pre-M15 range high=4246.715, low=4171.405.",
      "entry": 4204.73,
      "stop": 4208.585,
      "target": 4197.02,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-12T03:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-12T03-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T094500Z_short_00956",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T09:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 sweeping recent session highs at 4226.13.",
      "ltf_trigger": "M15 09:45 candle sweeps 4227.82 to 4228.07 and closes strongly bearish at 4221.995. Drop to 4202.945 follows.",
      "entry": 4221.995,
      "stop": 4229.0,
      "target": 4203.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.7,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear sweep of H1 high 4226.13 with 4228.07, followed by strong rejection close.",
      "source_candidate_id": "candidate_2026-06-12T09-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00642_00645.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T144500Z_long_00959",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-12T14:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4196.87, stop=4177.25, target=4236.11. Pre-M15 range high=4225.71, low=4177.25.",
      "entry": 4196.87,
      "stop": 4177.25,
      "target": 4236.11,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-12T14:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-12T14-45-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T201500Z_short_00969",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T20:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-15T20:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4318.92, stop=4321.11, target=4314.54. Pre-M15 range high=4360.855, low=4310.785.",
      "entry": 4318.92,
      "stop": 4321.11,
      "target": 4314.54,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-15T23:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-15T20-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T110000Z_short_00976",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-16T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4345.12, stop=4349.655, target=4336.05. Pre-M15 range high=4349.655, low=4314.215.",
      "entry": 4345.12,
      "stop": 4349.655,
      "target": 4336.05,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-16T11:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-16T11-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T130000Z_long_00977",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-16T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4342.302, stop=4342.165, target=4342.577. Pre-M15 range high=4354.95, low=4335.165.",
      "entry": 4342.302,
      "stop": 4342.165,
      "target": 4342.577,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-16T13:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-16T13-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T154500Z_short_00981",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T15:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-16T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4335.21, stop=4338.89, target=4327.85. Pre-M15 range high=4354.95, low=4313.32.",
      "entry": 4335.21,
      "stop": 4338.89,
      "target": 4327.85,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-16T15:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-16T15-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260618T011500Z_long_00995",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T01:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-18T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4311.73, stop=4308.07, target=4319.05. Pre-M15 range high=4328.545, low=4219.165.",
      "entry": 4311.73,
      "stop": 4308.07,
      "target": 4319.05,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-18T02:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-18T01-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260618T053000Z_short_00997",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-18T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4313.702, stop=4324.91, target=4291.287. Pre-M15 range high=4329.865, low=4306.83.",
      "entry": 4313.702,
      "stop": 4324.91,
      "target": 4291.287,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-18T05:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-18T05-30-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260618T160000Z_short_00999",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "D1 bearish momentum, H4/H1 trading in discount of previous day drop.",
      "ltf_trigger": "M15/M5 sweep high at 16:00 (H=4233.465), close below. Confirmed 16:20. Fib touch at 16:30. Hit TP2 targets as price dropped below 4220.",
      "entry": 4226.75,
      "stop": 4233.5,
      "target": 4213.25,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid short liquidity sweep. Sweeps high at 4233.465, confirms at 16:20, quick Fib entry at 16:30, hits TP2.",
      "source_candidate_id": "candidate_2026-06-18T16-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00669_00672.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260619T054500Z_short_01003",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-19T05:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4145.722, stop=4149.83, target=4137.507. Pre-M15 range high=4194.665, low=4121.955.",
      "entry": 4145.722,
      "stop": 4149.83,
      "target": 4137.507,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-19T06:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-19T05-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260622T223000Z_short_01010",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 rejected highs, showing willingness to retrace.",
      "ltf_trigger": "M5 retraced into Fib 62-79% zone (4201-4206) at 22:45, giving a clean short entry before expanding down.",
      "entry": 4201.5,
      "stop": 4211.5,
      "target": 4171.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 3.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M30 swept 4210 and broke structure down. M5 retraced into OTE (4206) before dumping to 4170.",
      "source_candidate_id": "candidate_2026-06-22T22-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00684_00687.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T000000Z_short_01012",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-23T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4193.048, stop=4195.255, target=4188.633. Pre-M15 range high=4195.255, low=4178.485.",
      "entry": 4193.048,
      "stop": 4195.255,
      "target": 4188.633,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-23T00:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-23T00-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T010000Z_short_01013",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-23T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4188.137, stop=4198.605, target=4167.203. Pre-M15 range high=4198.605, low=4178.485.",
      "entry": 4188.137,
      "stop": 4198.605,
      "target": 4167.203,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-23T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-23T01-00-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T121500Z_short_01017",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-23T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4122.39, stop=4126.36, target=4114.45. Pre-M15 range high=4133.48, low=4091.03.",
      "entry": 4122.39,
      "stop": 4126.36,
      "target": 4114.45,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-23T12:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-23T12-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T221500Z_short_01018",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 bearish trend intact after rejection at 4145. Downward structural flow.",
      "ltf_trigger": "M5 bearish pinbar at 22:15 closed at 4111.5 after sweeping 4115.2, followed by immediate displacement to 4106.",
      "entry": 4111.5,
      "stop": 4115.5,
      "target": 4097.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 3.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Chronological evidence shows bearish pinbar at 22:15 sweeping 4113.0 liquidity followed by strong displacement.",
      "source_candidate_id": "candidate_2026-06-23T22-15-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00693_00696.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T221500Z_short_01019",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-23T22:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4109.968, stop=4115.235, target=4099.433. Pre-M15 range high=4143.94, low=4104.9.",
      "entry": 4109.968,
      "stop": 4115.235,
      "target": 4099.433,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-23T22:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-23T22-15-00Z_short_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T013000Z_short_01021",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 bearish momentum continues. Asian session lower high formation.",
      "ltf_trigger": "M5 pinbar at 01:30 closing 4098.3. Price follows through to new lows.",
      "entry": 4098.3,
      "stop": 4103.5,
      "target": 4071.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 5.25,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M5 pinbar rejection at 4102.5 after retracing into premium, forming M30 lower high.",
      "source_candidate_id": "candidate_2026-06-24T01-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00693_00696.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T020000Z_short_01022",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 bearish trend.",
      "ltf_trigger": "M5 sweep of local highs to 4096.3 before resuming downtrend, but overlaps with prior trade.",
      "entry": 4087.5,
      "stop": 4097.5,
      "target": 4052.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 3.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid continuation M5 sweep, but primary setup already triggered at 01:30.",
      "source_candidate_id": "candidate_2026-06-24T02-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00693_00696.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T073000Z_long_01026",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-24T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4075.773, stop=4071.345, target=4084.628. Pre-M15 range high=4097.73, low=4050.47.",
      "entry": 4075.773,
      "stop": 4071.345,
      "target": 4084.628,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-24T07:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-24T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260625T061500Z_long_01032",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-25T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3973.24, stop=3969.19, target=3981.34. Pre-M15 range high=4001.125, low=3962.475.",
      "entry": 3973.24,
      "stop": 3969.19,
      "target": 3981.34,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-25T07:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T06-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260625T183000Z_long_01035",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-25T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4030.745, stop=4026.025, target=4040.185. Pre-M15 range high=4044.14, low=3999.17.",
      "entry": 4030.745,
      "stop": 4026.025,
      "target": 4040.185,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-25T18:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T18-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T130000Z_long_01042",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-26T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4042.557, stop=4035.935, target=4055.802. Pre-M15 range high=4066.13, low=4029.59.",
      "entry": 4042.557,
      "stop": 4035.935,
      "target": 4055.802,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-29T05:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-26T13-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260628T220000Z_long_01044",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-28T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4069.787, stop=4067.25, target=4074.862. Pre-M15 range high=4093.785, low=4064.705.",
      "entry": 4069.787,
      "stop": 4067.25,
      "target": 4074.862,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-28T22:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-28T22-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260628T230000Z_short_01045",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-28T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4070.472, stop=4070.81, target=4069.797. Pre-M15 range high=4091.205, low=4053.375.",
      "entry": 4070.472,
      "stop": 4070.81,
      "target": 4069.797,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-06-28T23:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-28T23-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260629T010000Z_long_01047",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-29T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4055.19, stop=4048.15, target=4069.27. Pre-M15 range high=4091.205, low=4048.15.",
      "entry": 4055.19,
      "stop": 4048.15,
      "target": 4069.27,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-29T01:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-29T01-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T131500Z_short_01057",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-30T13:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4031.685, stop=4033.52, target=4028.015. Pre-M15 range high=4037.43, low=4008.74.",
      "entry": 4031.685,
      "stop": 4033.52,
      "target": 4028.015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-06-30T13:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T13-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T220000Z_short_01061",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-30T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4017.438, stop=4020.925, target=4010.462. Pre-M15 range high=4034.015, low=4006.58.",
      "entry": 4017.438,
      "stop": 4020.925,
      "target": 4010.462,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-30T22:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T22-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T003000Z_short_01063",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-01T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4007.787, stop=4009.915, target=4003.532. Pre-M15 range high=4032.515, low=3996.13.",
      "entry": 4007.787,
      "stop": 4009.915,
      "target": 4003.532,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-01T11:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-01T00-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T071500Z_short_01067",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-01T07:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3971.427, stop=3973.705, target=3966.872. Pre-M15 range high=3987.095, low=3960.275.",
      "entry": 3971.427,
      "stop": 3973.705,
      "target": 3966.872,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-01T07:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-01T07-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T190000Z_short_01071",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-01T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4069.068, stop=4070.85, target=4065.503. Pre-M15 range high=4115.81, low=4057.865.",
      "entry": 4069.068,
      "stop": 4070.85,
      "target": 4065.503,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-02T03:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-01T19-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T000000Z_long_01073",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-02T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4038.807, stop=4030.895, target=4054.632. Pre-M15 range high=4069.24, low=4028.265.",
      "entry": 4038.807,
      "stop": 4030.895,
      "target": 4054.632,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-07-02T00:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-02T00-00-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T013000Z_long_01075",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-02T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4042.483, stop=4038.14, target=4051.168. Pre-M15 range high=4068.73, low=4028.265.",
      "entry": 4042.483,
      "stop": 4038.14,
      "target": 4051.168,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-02T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-02T01-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260703T081500Z_long_01084",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-03T08:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4178.265, stop=4174.865, target=4185.065. Pre-M15 range high=4185.915, low=4160.415.",
      "entry": 4178.265,
      "stop": 4174.865,
      "target": 4185.065,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-03T08:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-03T08-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260708T041500Z_long_01100",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T04:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-08T04:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4117.142, stop=4113.42, target=4124.587. Pre-M15 range high=4131.22, low=4096.065.",
      "entry": 4117.142,
      "stop": 4113.42,
      "target": 4124.587,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-08T07:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-08T04-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260708T183000Z_long_01106",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 pullback inside a broader range, tapping liquidity near 4063.",
      "ltf_trigger": "Clear sweep of 4067 lows, immediate M5 displacement upward. Entry around 4070, stop below 4066, target 4090.",
      "entry": 4070.0,
      "stop": 4066.0,
      "target": 4090.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 5.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Strong bounce from 4067 liquidity sweep leading to 4091 peak. Very clean M5 long execution, but lacking explicit FVG/Fib precision for immediate promotion without deeper review.",
      "source_candidate_id": "candidate_2026-07-08T18-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00766_00769.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260709T013000Z_short_01107",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-09T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4080.765, stop=4087.615, target=4067.065. Pre-M15 range high=4090.02, low=4062.475.",
      "entry": 4080.765,
      "stop": 4087.615,
      "target": 4067.065,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-07-09T02:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-09T01-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260709T171500Z_long_01111",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T17:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-09T17:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4129.188, stop=4125.095, target=4137.372. Pre-M15 range high=4138.035, low=4106.875.",
      "entry": 4129.188,
      "stop": 4125.095,
      "target": 4137.372,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-07-09T17:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-09T17-15-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T074500Z_short_01114",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T07:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-10T07:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4112.16, stop=4115.52, target=4105.44. Pre-M15 range high=4134.92, low=4104.44.",
      "entry": 4112.16,
      "stop": 4115.52,
      "target": 4105.44,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-10T10:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-10T07-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T113000Z_short_01117",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-10T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4106.342, stop=4108.2, target=4102.627. Pre-M15 range high=4115.52, low=4094.535.",
      "entry": 4106.342,
      "stop": 4108.2,
      "target": 4102.627,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-10T11:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-10T11-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T150000Z_long_01121",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Deep sweep of previous H4/H1 consolidation zones, aggressive rejection wicks.",
      "ltf_trigger": "At 14:30, huge wick down to 4072, close at 4099. 14:45 retests 4091. 15:00 opens 4092, pushes to 4101. Long entry around 4098, SL below 14:45 wick 4091, TP at recent highs 4114.",
      "entry": 4098.0,
      "stop": 4091.0,
      "target": 4114.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.28,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Massive liquidity sweep down to 4072 at 14:30, immediate aggressive recovery. 15:00 candle confirms support holding above 4091. Perfect reversal setup post-sweep.",
      "source_candidate_id": "candidate_2026-07-10T15-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00786_00789.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T044500Z_long_01126",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T04:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-14T04:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4015.74, stop=4013.98, target=4019.26. Pre-M15 range high=4023.575, low=3983.545.",
      "entry": 4015.74,
      "stop": 4013.98,
      "target": 4019.26,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-14T08:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-14T04-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T061500Z_long_01127",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T06:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-14T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4022.16, stop=4020.2, target=4026.08. Pre-M15 range high=4034.25, low=3992.83.",
      "entry": 4022.16,
      "stop": 4020.2,
      "target": 4026.08,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-14T06:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-14T06-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T121500Z_long_01129",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T12:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 breakout past 4034 into 4100s. High momentum.",
      "ltf_trigger": "M5 explodes from 4030 to 4104. Liquidity sweep on lower timeframes likely un-tradeable due to spread/slippage.",
      "entry": 4030.0,
      "stop": 4023.0,
      "target": 4070.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 5.7,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Massive CPI/news spike (+700 pips in M5). Retracement entries exist but too volatile for standard Fib/SMC promotion without precise manual replay.",
      "source_candidate_id": "candidate_2026-07-14T12-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00798_00801.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T231500Z_long_01131",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Holding above pre-news levels.",
      "ltf_trigger": "M5 sweeps 4047.06 (low is 4046.92) and rallies back above 4053.",
      "entry": 4049.5,
      "stop": 4046.5,
      "target": 4056.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.1,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Sweep of 4047 Asian session lows before reversing up to 4054+. Good mechanics but lack exact visual Fib/OB context to confidently promote.",
      "source_candidate_id": "candidate_2026-07-14T23-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00798_00801.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T231500Z_long_01132",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "ICT Sweep + MSS + FVG",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-14T23:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4050.86, stop=4046.925, target=4058.73. Pre-M15 range high=4065.17, low=4042.885.",
      "entry": 4050.86,
      "stop": 4046.925,
      "target": 4058.73,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-07-14T23:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-14T23-15-00Z_long_ict_sweep_mss_fvg",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T003000Z_long_01135",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-15T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4053.59, stop=4051.05, target=4058.67. Pre-M15 range high=4058.56, low=4044.895.",
      "entry": 4053.59,
      "stop": 4051.05,
      "target": 4058.67,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-15T00:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-15T00-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T024500Z_short_01137",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T02:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H4 closed bearish previously, H1 wicked 4042 rejecting higher prices",
      "ltf_trigger": "M5 swept 4041.97 high then aggressively dropped to 4030. Price didn't give a clear retracement to enter short safely before target reached.",
      "entry": 4039.0,
      "stop": 4043.0,
      "target": 4030.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 2.25,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear short push rejecting 4042 area on M5 but lacked a clean OTE entry/PD array overlap to trigger entry confidence before drop",
      "source_candidate_id": "candidate_2026-07-15T02-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00801_00804.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T060000Z_short_01141",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 continuing bearish trend lower",
      "ltf_trigger": "M5 spiked to 4037 at 05:40, breaking structure lower by 06:00 to 4031 then 4021. Did not present a clean re-entry FVG after 06:00.",
      "entry": 4034.0,
      "stop": 4038.0,
      "target": 4022.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 3.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M5 created a liquidity sweep of 05:30 high (4037) at 05:40, then broke down at 06:00. Clear short but late to catch.",
      "source_candidate_id": "candidate_2026-07-15T06-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00801_00804.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T230000Z_short_01146",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1 sustained bearish trend down from 4104, consolidating around 4058.",
      "ltf_trigger": "M15 sweep and reclaim, M5 confirmation at 23:20Z, Fib retrace touch 23:45Z. TP1 achieved.",
      "entry": 4060.0,
      "stop": 4062.1,
      "target": 4055.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Late NY / Asia transition short. Mechanical TP1 first, clear bearish structure continuation, Fib 50/62 hit after confirmation.",
      "source_candidate_id": "candidate_2026-07-15T23-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00807_00810.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T013000Z_short_01148",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-07-16T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4045.923, stop=4050.735, target=4036.298. Pre-M15 range high=4064.71, low=4034.075.",
      "entry": 4045.923,
      "stop": 4050.735,
      "target": 4036.298,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Win",
      "r": 2.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-16T01:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-16T01-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    }
  ]
}
