{
  "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_from_phase1_phase2_reviews",
    "last_updated": "2026-07-18T04:54:22Z",
    "trade_count": 1154,
    "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_20260102T134500Z_short_00002",
      "date": "2026-01-02",
      "timestamp": "2026-01-02T13: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-02T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4386.5, stop=4399.72, target=4360.06. Pre-M15 range high=4402.295, low=4362.165.",
      "entry": 4386.5,
      "stop": 4399.72,
      "target": 4360.06,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-01-05T00:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-02T13-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260105T053000Z_long_00003",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4407.736, stop=4403.695, target=4413.798. Pre-M15 range high=4421.605, low=4384.905.",
      "entry": 4407.736,
      "stop": 4403.695,
      "target": 4413.798,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-05T05:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-05T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260105T063000Z_long_00004",
      "date": "2026-01-05",
      "timestamp": "2026-01-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4418.114, stop=4411.565, target=4427.938. Pre-M15 range high=4426.52, low=4388.575.",
      "entry": 4418.114,
      "stop": 4411.565,
      "target": 4427.938,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-05T06:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-05T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260106T023000Z_long_00005",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4454.075, stop=4448.72, target=4462.107. Pre-M15 range high=4461.385, low=4427.635.",
      "entry": 4454.075,
      "stop": 4448.72,
      "target": 4462.107,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-06T02:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-06T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260106T053000Z_short_00006",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T05: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-01-06T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4465.818, stop=4474.265, target=4448.922. Pre-M15 range high=4474.265, low=4427.635.",
      "entry": 4465.818,
      "stop": 4474.265,
      "target": 4448.922,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-01-06T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T05-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_20260106T083000Z_long_00007",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4465.475, stop=4457.37, target=4477.632. Pre-M15 range high=4475.79, low=4449.51.",
      "entry": 4465.475,
      "stop": 4457.37,
      "target": 4477.632,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-06T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T08-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260106T113000Z_short_00008",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-06T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4461.297, stop=4468.46, target=4450.552. Pre-M15 range high=4475.79, low=4442.665.",
      "entry": 4461.297,
      "stop": 4468.46,
      "target": 4450.552,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-06T11:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260106T134500Z_long_00009",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T13: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-01-06T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4464.363, stop=4453.965, target=4485.158. Pre-M15 range high=4470.63, low=4442.665.",
      "entry": 4464.363,
      "stop": 4453.965,
      "target": 4485.158,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-01-06T13:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T13-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_20260106T150000Z_long_00010",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4476.012, stop=4465.195, target=4492.238. Pre-M15 range high=4491.205, low=4448.52.",
      "entry": 4476.012,
      "stop": 4465.195,
      "target": 4492.238,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-06T15:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260106T153000Z_long_00011",
      "date": "2026-01-06",
      "timestamp": "2026-01-06T15: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-06T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4468.88, stop=4464.405, target=4477.83. Pre-M15 range high=4491.205, low=4448.78.",
      "entry": 4468.88,
      "stop": 4464.405,
      "target": 4477.83,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-06T15:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-06T15-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T000000Z_long_00012",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4489.596, stop=4483.88, target=4498.169. Pre-M15 range high=4500.56, low=4477.49.",
      "entry": 4489.596,
      "stop": 4483.88,
      "target": 4498.169,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-07T00:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T014500Z_short_00013",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T01: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-01-07T01:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4474.955, stop=4479.115, target=4466.635. Pre-M15 range high=4500.56, low=4460.985.",
      "entry": 4474.955,
      "stop": 4479.115,
      "target": 4466.635,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-07T02:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T01-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T020000Z_short_00014",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4470.499, stop=4477.975, target=4459.286. Pre-M15 range high=4500.56, low=4459.71.",
      "entry": 4470.499,
      "stop": 4477.975,
      "target": 4459.286,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-07T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T030000Z_long_00015",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T03: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 previously swept 4443 low then closed bullish, M30 retracement to 4459 formed a higher low.",
      "ltf_trigger": "M15 pin bar sweep at 03:00 to 4471. M5 shows displacement up to 4480 by 03:15. Entry around 4475 (Fib 50) works, TP at 4480, stop below 4471. R~1.2",
      "entry": 4475.0,
      "stop": 4471.5,
      "target": 4480.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 push down to 4471.85, M5 swept lows and reversed strongly with displacement. Good Fib 50/62 entry on next candle dip. Needs visual confirmation for full acceptance, shadow for now.",
      "source_candidate_id": "candidate_2026-01-07T03-00-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_20260107T040000Z_long_00016",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T04:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4466.708, stop=4459.71, target=4477.206. Pre-M15 range high=4500.56, low=4459.71.",
      "entry": 4466.708,
      "stop": 4459.71,
      "target": 4477.206,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-07T04:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T04-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T060000Z_short_00017",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4457.943, stop=4469.495, target=4440.615. Pre-M15 range high=4480.52, low=4443.24.",
      "entry": 4457.943,
      "stop": 4469.495,
      "target": 4440.615,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-07T06:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260107T070000Z_short_00019",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4449.445, stop=4455.73, target=4440.016. Pre-M15 range high=4480.52, low=4441.445.",
      "entry": 4449.445,
      "stop": 4455.73,
      "target": 4440.016,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-07T07:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T080000Z_short_00020",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T08: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-01-07T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4467.938, stop=4470.55, target=4462.712. Pre-M15 range high=4480.52, low=4441.445.",
      "entry": 4467.938,
      "stop": 4470.55,
      "target": 4462.712,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-07T08:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T08-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T123000Z_short_00021",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4454.281, stop=4460.3, target=4445.252. Pre-M15 range high=4474.875, low=4439.45.",
      "entry": 4454.281,
      "stop": 4460.3,
      "target": 4445.252,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-07T12:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-07T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260107T151500Z_short_00022",
      "date": "2026-01-07",
      "timestamp": "2026-01-07T15: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-07T15:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4447.005, stop=4453.15, target=4434.715. Pre-M15 range high=4467.745, low=4423.385.",
      "entry": 4447.005,
      "stop": 4453.15,
      "target": 4434.715,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-07T15:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-07T15-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260108T010000Z_short_00025",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4460.959, stop=4466.485, target=4452.669. Pre-M15 range high=4466.485, low=4444.22.",
      "entry": 4460.959,
      "stop": 4466.485,
      "target": 4452.669,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-08T16:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T010000Z_long_00026",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T01: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-01-08T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4453.505, stop=4444.22, target=4472.075. Pre-M15 range high=4466.485, low=4444.22.",
      "entry": 4453.505,
      "stop": 4444.22,
      "target": 4472.075,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-01-08T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-08T01-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_20260108T030000Z_short_00027",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4445.608, stop=4449.61, target=4439.606. Pre-M15 range high=4466.485, low=4433.735.",
      "entry": 4445.608,
      "stop": 4449.61,
      "target": 4439.606,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-08T03:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260108T080000Z_short_00029",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4433.175, stop=4436.915, target=4427.565. Pre-M15 range high=4446.565, low=4415.405.",
      "entry": 4433.175,
      "stop": 4436.915,
      "target": 4427.565,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-08T08:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260108T103000Z_short_00030",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-08T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4428.548, stop=4432.88, target=4422.051. Pre-M15 range high=4439.765, low=4415.745.",
      "entry": 4428.548,
      "stop": 4432.88,
      "target": 4422.051,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-08T11:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-08T10-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260108T140000Z_short_00032",
      "date": "2026-01-08",
      "timestamp": "2026-01-08T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4429.537, stop=4435.84, target=4420.083. Pre-M15 range high=4436.205, low=4407.835.",
      "entry": 4429.537,
      "stop": 4435.84,
      "target": 4420.083,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-08T14:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-08T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T003000Z_long_00033",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4461.384, stop=4451.565, target=4476.111. Pre-M15 range high=4479.735, low=4444.715.",
      "entry": 4461.384,
      "stop": 4451.565,
      "target": 4476.111,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T00:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-09T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T010000Z_short_00034",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T01: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-09T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4466.368, stop=4468.82, target=4461.463. Pre-M15 range high=4479.735, low=4444.715.",
      "entry": 4466.368,
      "stop": 4468.82,
      "target": 4461.463,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-09T01:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-09T01-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T030000Z_long_00035",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4462.312, stop=4456.22, target=4471.449. Pre-M15 range high=4479.735, low=4452.92.",
      "entry": 4462.312,
      "stop": 4456.22,
      "target": 4471.449,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T03:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-09T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260109T093000Z_long_00037",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4472.562, stop=4468.525, target=4478.618. Pre-M15 range high=4477.7, low=4458.295.",
      "entry": 4472.562,
      "stop": 4468.525,
      "target": 4478.618,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-09T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T120000Z_long_00038",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4472.128, stop=4468.775, target=4477.157. Pre-M15 range high=4480.615, low=4464.2.",
      "entry": 4472.128,
      "stop": 4468.775,
      "target": 4477.157,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T12:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-09T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260109T133000Z_long_00040",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4467.706,
      "stop": 4462.03,
      "target": 4476.220000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-09T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T133000Z_long_00041",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T13: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4476.895,
      "stop": 4458.935,
      "target": 4512.8150000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-09T13-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_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_20260109T143000Z_long_00043",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4487.655, stop=4480.54, target=4498.327. Pre-M15 range high=4498.425, low=4458.935.",
      "entry": 4487.655,
      "stop": 4480.54,
      "target": 4498.327,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-09T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260109T160000Z_long_00044",
      "date": "2026-01-09",
      "timestamp": "2026-01-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4499.382, stop=4490.1, target=4513.305. Pre-M15 range high=4517.25, low=4458.935.",
      "entry": 4499.382,
      "stop": 4490.1,
      "target": 4513.305,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-09T17:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-09T16-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T010000Z_long_00045",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4579.698, stop=4562.415, target=4605.623. Pre-M15 range high=4601.695, low=4495.945.",
      "entry": 4579.698,
      "stop": 4562.415,
      "target": 4605.623,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-12T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-12T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T093000Z_long_00046",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4589.196, stop=4581.925, target=4600.102. Pre-M15 range high=4599.475, low=4566.145.",
      "entry": 4589.196,
      "stop": 4581.925,
      "target": 4600.102,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-12T09:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-12T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T140000Z_long_00047",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4598.626, stop=4588.715, target=4613.493. Pre-M15 range high=4620.38, low=4578.485.",
      "entry": 4598.626,
      "stop": 4588.715,
      "target": 4613.493,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-12T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-12T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T163000Z_long_00048",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4610.894, stop=4601.905, target=4624.378. Pre-M15 range high=4630.19, low=4578.485.",
      "entry": 4610.894,
      "stop": 4601.905,
      "target": 4624.378,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-12T16:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-12T16-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T233000Z_short_00049",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-12T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4599.021, stop=4604.805, target=4590.345. Pre-M15 range high=4620.655, low=4578.095.",
      "entry": 4599.021,
      "stop": 4604.805,
      "target": 4590.345,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-12T23:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-12T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260112T233000Z_short_00050",
      "date": "2026-01-12",
      "timestamp": "2026-01-12T23: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-01-12T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4593.738, stop=4598.06, target=4585.092. Pre-M15 range high=4620.655, low=4578.095.",
      "entry": 4593.738,
      "stop": 4598.06,
      "target": 4585.092,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-12T23:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-12T23-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T000000Z_long_00051",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4591.107, stop=4584.12, target=4601.588. Pre-M15 range high=4618.985, low=4578.095.",
      "entry": 4591.107,
      "stop": 4584.12,
      "target": 4601.588,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-13T00:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-13T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T053000Z_short_00052",
      "date": "2026-01-13",
      "timestamp": "2026-01-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": "H4/H1 rejection at 4602 resistance.",
      "ltf_trigger": "M5 sweeps 4602 at 05:30, displaces down, retraces to 4592. TP1 would hit at 4576, but no explicit mechanical execution details provided to journal.",
      "entry": 4592.0,
      "stop": 4603.0,
      "target": 4576.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.45,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15/M5 sweeps local high (4602) and displaces down to 4584, creating FVG. Entry triggers around 08:00 (4592) but TP1 risk/reward not strictly modeled here. Shadow for now.",
      "source_candidate_id": "candidate_2026-01-13T05-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00054_00057.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T053000Z_long_00053",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T05: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-01-13T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4595.148, stop=4591.775, target=4601.893. Pre-M15 range high=4602.195, low=4575.585.",
      "entry": 4595.148,
      "stop": 4591.775,
      "target": 4601.893,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-13T05:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-13T05-30-00Z_long_order_block_reclaim",
      "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_20260113T083000Z_short_00055",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4594.966, stop=4602.195, target=4584.122. Pre-M15 range high=4602.195, low=4573.605.",
      "entry": 4594.966,
      "stop": 4602.195,
      "target": 4584.122,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-13T08:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-13T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T114500Z_short_00056",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T11:45: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 remains strongly bullish.",
      "ltf_trigger": "M5 sweeps 4592 but immediately reclaims. Entering short here opposes strong HTF flow.",
      "entry": 4589.5,
      "stop": 4592.5,
      "target": 4583.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Control hit SL first. Upward HTF momentum overpowered the M5 short setup.",
      "source_candidate_id": "candidate_2026-01-13T11-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00057_00060.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T123000Z_short_00057",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4584.34, stop=4589.38, target=4576.779. Pre-M15 range high=4597.095, low=4577.54.",
      "entry": 4584.34,
      "stop": 4589.38,
      "target": 4576.779,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-13T12:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-13T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T140000Z_long_00058",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4609.771, stop=4600.925, target=4623.041. Pre-M15 range high=4621.03, low=4577.925.",
      "entry": 4609.771,
      "stop": 4600.925,
      "target": 4623.041,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-13T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-13T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260113T150000Z_long_00059",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4621.96, stop=4611.8, target=4637.199. Pre-M15 range high=4634.89, low=4577.925.",
      "entry": 4621.96,
      "stop": 4611.8,
      "target": 4637.199,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-13T15:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-13T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260113T160000Z_short_00061",
      "date": "2026-01-13",
      "timestamp": "2026-01-13T16: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": "H4 hit a high of 4634 at 14:00 and started retracing.",
      "ltf_trigger": "M5 sweep at 16:00 (H: 4620), mechanical TP hit on the dip to 4596.",
      "entry": 4612.0,
      "stop": 4621.0,
      "target": 4596.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.77,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Mechanical TP hit, but counter-trend. Keeping as shadow for safety.",
      "source_candidate_id": "candidate_2026-01-13T16-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00057_00060.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T053000Z_long_00062",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4621.751, stop=4614.99, target=4631.891. Pre-M15 range high=4639.89, low=4604.73.",
      "entry": 4621.751,
      "stop": 4614.99,
      "target": 4631.891,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-14T05:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260114T063000Z_long_00065",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4625.967, stop=4618.575, target=4637.055. Pre-M15 range high=4639.89, low=4613.51.",
      "entry": 4625.967,
      "stop": 4618.575,
      "target": 4637.055,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-14T08:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T150000Z_short_00066",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4622.893, stop=4635.365, target=4604.186. Pre-M15 range high=4641.985, low=4599.5.",
      "entry": 4622.893,
      "stop": 4635.365,
      "target": 4604.186,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-14T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T210000Z_long_00067",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-14T21:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4620.526, stop=4612.905, target=4631.957. Pre-M15 range high=4642.97, low=4601.22.",
      "entry": 4620.526,
      "stop": 4612.905,
      "target": 4631.957,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-14T21:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-14T21-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T211500Z_short_00068",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4629.4725,
      "stop": 4633.12,
      "target": 4622.1775,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-14T21-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T213000Z_short_00069",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T21:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-14T21:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4627.706, stop=4633.05, target=4619.691. Pre-M15 range high=4642.97, low=4601.22.",
      "entry": 4627.706,
      "stop": 4633.05,
      "target": 4619.691,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-14T21:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T21-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260114T233000Z_short_00070",
      "date": "2026-01-14",
      "timestamp": "2026-01-14T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-14T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4615.94, stop=4624.17, target=4603.595. Pre-M15 range high=4642.97, low=4602.88.",
      "entry": 4615.94,
      "stop": 4624.17,
      "target": 4603.595,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-14T23:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-14T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T020000Z_short_00071",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4608.529, stop=4617.54, target=4595.012. Pre-M15 range high=4638.025, low=4583.565.",
      "entry": 4608.529,
      "stop": 4617.54,
      "target": 4595.012,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-15T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-15T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T033000Z_short_00072",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4594.194, stop=4604.38, target=4578.915. Pre-M15 range high=4629.195, low=4581.065.",
      "entry": 4594.194,
      "stop": 4604.38,
      "target": 4578.915,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-15T03:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T03-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T114500Z_long_00073",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T11:45: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-01-15T11:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4613.575, stop=4611.28, target=4618.165. Pre-M15 range high=4623.11, low=4597.865.",
      "entry": 4613.575,
      "stop": 4611.28,
      "target": 4618.165,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-15T12:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T11-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T120000Z_long_00074",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4615.051, stop=4610.655, target=4621.644. Pre-M15 range high=4623.11, low=4597.865.",
      "entry": 4615.051,
      "stop": 4610.655,
      "target": 4621.644,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-15T12:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260115T140000Z_short_00076",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4595.253, stop=4605.96, target=4579.191. Pre-M15 range high=4623.11, low=4581.625.",
      "entry": 4595.253,
      "stop": 4605.96,
      "target": 4579.191,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-15T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T143000Z_short_00077",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4610.252, stop=4616.32, target=4601.151. Pre-M15 range high=4623.11, low=4581.625.",
      "entry": 4610.252,
      "stop": 4616.32,
      "target": 4601.151,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-15T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-15T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T203000Z_short_00078",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4609.51, stop=4616.425, target=4599.139. Pre-M15 range high=4625.015, low=4600.71.",
      "entry": 4609.51,
      "stop": 4616.425,
      "target": 4599.139,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-15T21:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T20-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260115T230000Z_long_00079",
      "date": "2026-01-15",
      "timestamp": "2026-01-15T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-15T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4609.452, stop=4604.5, target=4616.88. Pre-M15 range high=4621.72, low=4600.71.",
      "entry": 4609.452,
      "stop": 4604.5,
      "target": 4616.88,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-15T23:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-15T23-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T010000Z_short_00080",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4603.935, stop=4608.19, target=4597.553. Pre-M15 range high=4620.975, low=4593.78.",
      "entry": 4603.935,
      "stop": 4608.19,
      "target": 4597.553,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-16T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-16T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260116T060000Z_long_00082",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4605.247, stop=4596.55, target=4618.292. Pre-M15 range high=4616.315, low=4591.37.",
      "entry": 4605.247,
      "stop": 4596.55,
      "target": 4618.292,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-16T06:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T06-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T063000Z_short_00083",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4608.54, stop=4612.41, target=4602.735. Pre-M15 range high=4616.315, low=4591.37.",
      "entry": 4608.54,
      "stop": 4612.41,
      "target": 4602.735,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-16T07:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-16T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T070000Z_short_00084",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4601.963, stop=4608.145, target=4592.69. Pre-M15 range high=4616.315, low=4591.37.",
      "entry": 4601.963,
      "stop": 4608.145,
      "target": 4592.69,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-16T07:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T073000Z_long_00085",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4603.666, stop=4596.925, target=4613.777. Pre-M15 range high=4616.315, low=4591.96.",
      "entry": 4603.666,
      "stop": 4596.925,
      "target": 4613.777,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-16T07:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-16T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T120000Z_long_00086",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4604.346, stop=4598.6, target=4612.966. Pre-M15 range high=4616.33, low=4598.6.",
      "entry": 4604.346,
      "stop": 4598.6,
      "target": 4612.966,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-16T12:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T121500Z_long_00087",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T12: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-01-16T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4603.53, stop=4600.28, target=4610.03. Pre-M15 range high=4616.33, low=4598.6.",
      "entry": 4603.53,
      "stop": 4600.28,
      "target": 4610.03,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-01-16T12:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T12-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260116T133000Z_short_00088",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4595.606, stop=4605.77, target=4580.36. Pre-M15 range high=4616.33, low=4582.67.",
      "entry": 4595.606,
      "stop": 4605.77,
      "target": 4580.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-16T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260116T160000Z_short_00090",
      "date": "2026-01-16",
      "timestamp": "2026-01-16T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4595.831, stop=4620.39, target=4558.993. Pre-M15 range high=4620.39, low=4536.49.",
      "entry": 4595.831,
      "stop": 4620.39,
      "target": 4558.993,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-16T16:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-16T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260119T070000Z_long_00092",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4673.913, stop=4669.83, target=4680.038. Pre-M15 range high=4679.11, low=4655.06.",
      "entry": 4673.913,
      "stop": 4669.83,
      "target": 4680.038,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-19T07:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-19T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260119T133000Z_long_00093",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4665.509, stop=4660.185, target=4673.495. Pre-M15 range high=4673.85, low=4659.73.",
      "entry": 4665.509,
      "stop": 4660.185,
      "target": 4673.495,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-19T13:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-19T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260119T160000Z_long_00094",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4670.495, stop=4665.95, target=4677.313. Pre-M15 range high=4676.28, low=4659.73.",
      "entry": 4670.495,
      "stop": 4665.95,
      "target": 4677.313,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-19T16:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-19T16-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260119T180000Z_long_00095",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01-19T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4674.492, stop=4670.99, target=4679.746. Pre-M15 range high=4678.95, low=4661.55.",
      "entry": 4674.492,
      "stop": 4670.99,
      "target": 4679.746,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-19T18:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-19T18-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260119T233000Z_short_00096",
      "date": "2026-01-19",
      "timestamp": "2026-01-19T23: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-01-19T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4669.773, stop=4671.71, target=4665.898. Pre-M15 range high=4680.405, low=4664.35.",
      "entry": 4669.773,
      "stop": 4671.71,
      "target": 4665.898,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-20T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-19T23-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T003000Z_short_00097",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4664.253, stop=4668.07, target=4658.528. Pre-M15 range high=4680.405, low=4659.395.",
      "entry": 4664.253,
      "stop": 4668.07,
      "target": 4658.528,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-20T00:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-20T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260120T013000Z_long_00099",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4666.0, stop=4659.915, target=4675.128. Pre-M15 range high=4680.405, low=4659.395.",
      "entry": 4666.0,
      "stop": 4659.915,
      "target": 4675.128,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-20T01:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260120T090000Z_long_00101",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4722.949, stop=4716.065, target=4733.275. Pre-M15 range high=4731.795, low=4680.53.",
      "entry": 4722.949,
      "stop": 4716.065,
      "target": 4733.275,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-20T09:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T100000Z_long_00102",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T10: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-01-20T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4728.005, stop=4724.215, target=4735.585. Pre-M15 range high=4737.57, low=4694.315.",
      "entry": 4728.005,
      "stop": 4724.215,
      "target": 4735.585,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-20T10:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-20T10-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T120000Z_long_00103",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4730.092, stop=4725.87, target=4736.425. Pre-M15 range high=4737.57, low=4714.87.",
      "entry": 4730.092,
      "stop": 4725.87,
      "target": 4736.425,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-20T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-20T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260120T143000Z_long_00107",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4740.501, stop=4732.37, target=4752.698. Pre-M15 range high=4751.37, low=4715.035.",
      "entry": 4740.501,
      "stop": 4732.37,
      "target": 4752.698,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-20T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-20T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T150000Z_long_00108",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4725.377, stop=4715.035, target=4740.89. Pre-M15 range high=4751.37, low=4715.035.",
      "entry": 4725.377,
      "stop": 4715.035,
      "target": 4740.89,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-20T15:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-20T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260120T154500Z_short_00109",
      "date": "2026-01-20",
      "timestamp": "2026-01-20T15: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-01-20T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4743.67, stop=4748.765, target=4733.48. Pre-M15 range high=4751.37, low=4715.035.",
      "entry": 4743.67,
      "stop": 4748.765,
      "target": 4733.48,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-20T16:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-20T15-45-00Z_short_order_block_reclaim",
      "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_20260121T093000Z_long_00111",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4863.142, stop=4852.43, target=4879.209. Pre-M15 range high=4888.545, low=4832.725.",
      "entry": 4863.142,
      "stop": 4852.43,
      "target": 4879.209,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-21T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T140000Z_long_00112",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4872.8297999999995,
      "stop": 4866.87,
      "target": 4881.7694999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-21T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260121T143000Z_short_00114",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T14: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4875.23,
      "stop": 4880.415,
      "target": 4864.859999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-21T14-30-00Z_short_order_block_reclaim",
      "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_20260121T154500Z_short_00116",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4857.9925,
      "stop": 4868.83,
      "target": 4836.317500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-21T15-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T160000Z_long_00117",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4840.393, stop=4829.175, target=4857.22. Pre-M15 range high=4880.935, low=4813.355.",
      "entry": 4840.393,
      "stop": 4829.175,
      "target": 4857.22,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-21T16:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-21T16-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260121T191500Z_short_00118",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T19:15: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-01-21T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4832.48, stop=4854.165, target=4789.11. Pre-M15 range high=4872.525, low=4802.62.",
      "entry": 4832.48,
      "stop": 4854.165,
      "target": 4789.11,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-01-21T19:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-21T19-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_20260121T200000Z_short_00119",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4792.405, stop=4821.735, target=4748.409. Pre-M15 range high=4861.89, low=4755.075.",
      "entry": 4792.405,
      "stop": 4821.735,
      "target": 4748.409,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-21T20:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-21T20-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260121T210000Z_short_00121",
      "date": "2026-01-21",
      "timestamp": "2026-01-21T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-21T21:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4832.669, stop=4854.165, target=4800.425. Pre-M15 range high=4854.165, low=4755.075.",
      "entry": 4832.669,
      "stop": 4854.165,
      "target": 4800.425,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-21T21:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-21T21-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260122T073000Z_long_00122",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4831.21, stop=4825.75, target=4839.401. Pre-M15 range high=4839.71, low=4781.95.",
      "entry": 4831.21,
      "stop": 4825.75,
      "target": 4839.401,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-22T07:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-22T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260122T133000Z_long_00123",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4824.453, stop=4815.805, target=4837.425. Pre-M15 range high=4838.095, low=4810.895.",
      "entry": 4824.453,
      "stop": 4815.805,
      "target": 4837.425,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-22T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-22T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260122T140000Z_short_00124",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T14:00: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-22T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4830.74, stop=4835.46, target=4821.3. Pre-M15 range high=4836.43, low=4810.74.",
      "entry": 4830.74,
      "stop": 4835.46,
      "target": 4821.3,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-22T14:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-22T14-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260122T150000Z_long_00125",
      "date": "2026-01-22",
      "timestamp": "2026-01-22T15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4823.6775,
      "stop": 4819.685,
      "target": 4831.6624999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-22T15-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T010000Z_long_00126",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4943.965, stop=4930.84, target=4963.653. Pre-M15 range high=4967.52, low=4905.985.",
      "entry": 4943.965,
      "stop": 4930.84,
      "target": 4963.653,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-23T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-23T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T010000Z_long_00127",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T01: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-23T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4951.852, stop=4947.58, target=4960.398. Pre-M15 range high=4967.52, low=4905.985.",
      "entry": 4951.852,
      "stop": 4947.58,
      "target": 4960.398,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-23T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-23T01-00-00Z_long_order_block_reclaim",
      "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_20260123T083000Z_short_00129",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4927.178, stop=4947.825, target=4896.208. Pre-M15 range high=4967.28, low=4900.9.",
      "entry": 4927.178,
      "stop": 4947.825,
      "target": 4896.208,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-23T10:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-23T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T110000Z_long_00130",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4911.4636,
      "stop": 4903.405,
      "target": 4923.5515000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-23T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260123T154500Z_long_00132",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4948.42,
      "stop": 4942.47,
      "target": 4960.32,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-23T15-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T173000Z_long_00133",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01-23T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4971.229, stop=4959.155, target=4989.339. Pre-M15 range high=4988.44, low=4923.77.",
      "entry": 4971.229,
      "stop": 4959.155,
      "target": 4989.339,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-23T17:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-23T17-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260123T180000Z_short_00134",
      "date": "2026-01-23",
      "timestamp": "2026-01-23T18: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-01-23T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4985.247, stop=4988.16, target=4979.422. Pre-M15 range high=4988.44, low=4923.77.",
      "entry": 4985.247,
      "stop": 4988.16,
      "target": 4979.422,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-23T19:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-23T18-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T030000Z_long_00135",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5076.647, stop=5066.925, target=5091.23. Pre-M15 range high=5092.975, low=4978.185.",
      "entry": 5076.647,
      "stop": 5066.925,
      "target": 5091.23,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-26T13:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260126T083000Z_long_00137",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5083.583, stop=5073.94, target=5098.047. Pre-M15 range high=5111.51, low=5052.365.",
      "entry": 5083.583,
      "stop": 5073.94,
      "target": 5098.047,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-26T11:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T08-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T093000Z_long_00138",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5088.777, stop=5082.34, target=5098.433. Pre-M15 range high=5111.51, low=5052.365.",
      "entry": 5088.777,
      "stop": 5082.34,
      "target": 5098.433,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-26T11:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T150000Z_long_00139",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5084.615, stop=5074.865, target=5099.241. Pre-M15 range high=5097.46, low=5054.67.",
      "entry": 5084.615,
      "stop": 5074.865,
      "target": 5099.241,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-26T15:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T180000Z_long_00140",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01-26T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5078.185, stop=5065.385, target=5097.384. Pre-M15 range high=5105.34, low=5054.67.",
      "entry": 5078.185,
      "stop": 5065.385,
      "target": 5097.384,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-26T18:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T18-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T184500Z_short_00141",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T18: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-01-26T18:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5083.655, stop=5090.76, target=5069.445. Pre-M15 range high=5105.34, low=5057.935.",
      "entry": 5083.655,
      "stop": 5090.76,
      "target": 5069.445,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-27T05:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T18-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T200000Z_short_00142",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5048.195, stop=5069.85, target=5015.714. Pre-M15 range high=5105.34, low=5008.275.",
      "entry": 5048.195,
      "stop": 5069.85,
      "target": 5015.714,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-26T20:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-26T20-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260126T230000Z_short_00143",
      "date": "2026-01-26",
      "timestamp": "2026-01-26T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-26T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5037.988, stop=5059.165, target=5006.222. Pre-M15 range high=5105.15, low=4990.215.",
      "entry": 5037.988,
      "stop": 5059.165,
      "target": 5006.222,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-26T23:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-26T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T000000Z_long_00144",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T00: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": "Long sweep structure on HTF",
      "ltf_trigger": "M5 touch at 2026-01-27T01:40:00Z, successful TP1 hit.",
      "entry": 5053.1,
      "stop": 5038.745,
      "target": 5067.455,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Fib entry triggered and reached TP1 before SL",
      "source_candidate_id": "candidate_2026-01-27T00-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00117_00120.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T020000Z_long_00145",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T02: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": "Long sweep structure on HTF",
      "ltf_trigger": "M5 touch at 2026-01-27T03:05:00Z, successful TP1 hit.",
      "entry": 5062.884,
      "stop": 5049.585,
      "target": 5076.183,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Fib entry triggered and reached TP1 before SL",
      "source_candidate_id": "candidate_2026-01-27T02-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00117_00120.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T063000Z_long_00146",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T06: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": "Long sweep structure on HTF",
      "ltf_trigger": "M5 touch at 2026-01-27T06:55:00Z, successful TP1 hit.",
      "entry": 5085.324,
      "stop": 5078.775,
      "target": 5091.874,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Fib entry triggered and reached TP1 before SL",
      "source_candidate_id": "candidate_2026-01-27T06-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00117_00120.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T083000Z_short_00147",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T08: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-01-27T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5083.708, stop=5088.165, target=5074.793. Pre-M15 range high=5100.84, low=5057.195.",
      "entry": 5083.708,
      "stop": 5088.165,
      "target": 5074.793,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-27T08:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-27T08-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T093000Z_long_00148",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5082.829, stop=5078.165, target=5089.825. Pre-M15 range high=5100.84, low=5057.195.",
      "entry": 5082.829,
      "stop": 5078.165,
      "target": 5089.825,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-27T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-27T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T100000Z_long_00149",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-27T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5090.203, stop=5082.78, target=5101.337. Pre-M15 range high=5100.84, low=5058.045.",
      "entry": 5090.203,
      "stop": 5082.78,
      "target": 5101.337,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-27T10:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-27T10-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260127T100000Z_long_00150",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T10: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-01-27T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5090.288, stop=5086.175, target=5098.513. Pre-M15 range high=5100.84, low=5058.045.",
      "entry": 5090.288,
      "stop": 5086.175,
      "target": 5098.513,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-01-27T10:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-27T10-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_00151",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=5064.066, stop=5077.6, target=5043.764. Pre-M15 range high=5099.65, low=5046.84.",
      "entry": 5064.066,
      "stop": 5077.6,
      "target": 5043.764,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-27T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-27T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260127T170000Z_long_00153",
      "date": "2026-01-27",
      "timestamp": "2026-01-27T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01-27T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5078.695, stop=5068.775, target=5093.574. Pre-M15 range high=5103.355, low=5046.84.",
      "entry": 5078.695,
      "stop": 5068.775,
      "target": 5093.574,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-27T17:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-27T17-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260128T000000Z_long_00154",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 5154.9686,
      "stop": 5133.105,
      "target": 5187.764000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-28T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260128T070000Z_long_00155",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-28T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5262.232, stop=5254.95, target=5273.155. Pre-M15 range high=5275.675, low=5207.765.",
      "entry": 5262.232,
      "stop": 5254.95,
      "target": 5273.155,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-28T11:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-28T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260128T130000Z_long_00157",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-28T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5269.388, stop=5261.45, target=5281.294. Pre-M15 range high=5311.665, low=5238.59.",
      "entry": 5269.388,
      "stop": 5261.45,
      "target": 5281.294,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-28T13:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-28T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260128T170000Z_long_00158",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T17:00: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-01-28T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5292.138, stop=5285.925, target=5304.563. Pre-M15 range high=5307.285, low=5235.75.",
      "entry": 5292.138,
      "stop": 5285.925,
      "target": 5304.563,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-01-28T17:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-28T17-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260128T191500Z_short_00159",
      "date": "2026-01-28",
      "timestamp": "2026-01-28T19: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-01-28T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5312.475, stop=5325.97, target=5285.485. Pre-M15 range high=5325.97, low=5235.75.",
      "entry": 5312.475,
      "stop": 5325.97,
      "target": 5285.485,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-28T19:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-28T19-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260129T000000Z_long_00160",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5460.604, stop=5432.455, target=5502.828. Pre-M15 range high=5602.225, low=5268.45.",
      "entry": 5460.604,
      "stop": 5432.455,
      "target": 5502.828,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-29T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-29T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260129T143000Z_long_00161",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5491.056, stop=5470.9, target=5521.291. Pre-M15 range high=5549.565, low=5470.9.",
      "entry": 5491.056,
      "stop": 5470.9,
      "target": 5521.291,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-01-29T15:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-29T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260129T160000Z_short_00162",
      "date": "2026-01-29",
      "timestamp": "2026-01-29T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5320.904, stop=5496.66, target=5057.271. Pre-M15 range high=5549.565, low=5097.215.",
      "entry": 5320.904,
      "stop": 5496.66,
      "target": 5057.271,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-29T17:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-29T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T013000Z_short_00163",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5361.95, stop=5410.625, target=5288.938. Pre-M15 range high=5451.16, low=5282.98.",
      "entry": 5361.95,
      "stop": 5410.625,
      "target": 5288.938,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T023000Z_short_00164",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5224.452, stop=5312.725, target=5092.043. Pre-M15 range high=5451.16, low=5112.105.",
      "entry": 5224.452,
      "stop": 5312.725,
      "target": 5092.043,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T02:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T02-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T063000Z_short_00165",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T06: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 5189.58,
      "stop": 5205.81,
      "target": 5157.119999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-01-30T06-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T090000Z_short_00166",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5110.772, stop=5155.04, target=5044.369. Pre-M15 range high=5241.85, low=5014.465.",
      "entry": 5110.772,
      "stop": 5155.04,
      "target": 5044.369,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T09:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T100000Z_short_00167",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-01-30T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5080.873, stop=5133.05, target=5002.607. Pre-M15 range high=5241.85, low=4941.5.",
      "entry": 5080.873,
      "stop": 5133.05,
      "target": 5002.607,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T10:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-30T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T103000Z_short_00168",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T10: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-01-30T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5110.82, stop=5129.2, target=5074.06. Pre-M15 range high=5236.21, low=4941.5.",
      "entry": 5110.82,
      "stop": 5129.2,
      "target": 5074.06,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-30T10:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-30T10-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T130000Z_short_00169",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5100.701, stop=5136.315, target=5047.281. Pre-M15 range high=5170.755, low=4941.5.",
      "entry": 5100.701,
      "stop": 5136.315,
      "target": 5047.281,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T14:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T140000Z_short_00170",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T14:00: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-30T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5077.128, stop=5100.2, target=5030.983. Pre-M15 range high=5145.98, low=4941.5.",
      "entry": 5077.128,
      "stop": 5100.2,
      "target": 5030.983,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-30T14:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-30T14-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T180000Z_short_00171",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4870.771, stop=4925.705, target=4788.37. Pre-M15 range high=5113.795, low=4787.015.",
      "entry": 4870.771,
      "stop": 4925.705,
      "target": 4788.37,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T18:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T183000Z_short_00172",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4803.108, stop=4890.6, target=4671.871. Pre-M15 range high=5113.795, low=4679.51.",
      "entry": 4803.108,
      "stop": 4890.6,
      "target": 4671.871,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T18:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-30T18-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T190000Z_short_00173",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T19: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-01-30T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4919.92, stop=4940.845, target=4878.07. Pre-M15 range high=5113.795, low=4679.51.",
      "entry": 4919.92,
      "stop": 4940.845,
      "target": 4878.07,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-01-30T19:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-01-30T19-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260130T193000Z_short_00174",
      "date": "2026-01-30",
      "timestamp": "2026-01-30T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4948.003, stop=4986.51, target=4890.244. Pre-M15 range high=5097.4, low=4679.51.",
      "entry": 4948.003,
      "stop": 4986.51,
      "target": 4890.244,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-01-30T19:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-01-30T19-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260201T233000Z_short_00175",
      "date": "2026-02-01",
      "timestamp": "2026-02-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4773.924, stop=4834.255, target=4683.428. Pre-M15 range high=4948.545, low=4679.51.",
      "entry": 4773.924,
      "stop": 4834.255,
      "target": 4683.428,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-01T23:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-01T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260202T063000Z_short_00177",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4512.192, stop=4574.03, target=4419.436. Pre-M15 range high=4773.225, low=4402.38.",
      "entry": 4512.192,
      "stop": 4574.03,
      "target": 4419.436,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-02T06:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-02T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T073000Z_short_00178",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4588.192, stop=4658.99, target=4481.995. Pre-M15 range high=4764.825, low=4402.38.",
      "entry": 4588.192,
      "stop": 4658.99,
      "target": 4481.995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-02T07:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-02T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T100000Z_long_00179",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T10: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-02T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4695.958, stop=4678.8, target=4730.273. Pre-M15 range high=4733.805, low=4402.38.",
      "entry": 4695.958,
      "stop": 4678.8,
      "target": 4730.273,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-02T10:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-02T10-00-00Z_long_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_20260202T124500Z_short_00181",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T12:45: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 closed bullish; H4 4657 - 4812",
      "ltf_trigger": "Entry Short at ~4740 (Fib 50%), SL 4812, TP 4669 hit at 15:30Z",
      "entry": 4740.76,
      "stop": 4812.26,
      "target": 4669.27,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M5 structure confirmed short, valid 50% Fib entry, hit target cleanly",
      "source_candidate_id": "candidate_2026-02-02T12-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00141_00144.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T143000Z_short_00182",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4767.592, stop=4804.2, target=4712.68. Pre-M15 range high=4812.265, low=4657.01.",
      "entry": 4767.592,
      "stop": 4804.2,
      "target": 4712.68,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-02T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-02T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T160000Z_short_00183",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4666.262, stop=4704.725, target=4608.568. Pre-M15 range high=4812.265, low=4596.74.",
      "entry": 4666.262,
      "stop": 4704.725,
      "target": 4608.568,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-02T16:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-02T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T190000Z_long_00184",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T19:00: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": "D1 bullish, H4 4618 - 4712",
      "ltf_trigger": "Entry Long at ~4665 (Fib 50%), SL 4618, TP 4712 hit at 23:05Z",
      "entry": 4665.79,
      "stop": 4618.67,
      "target": 4712.92,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M5 structure confirmed long, valid 50% Fib entry, hit target cleanly",
      "source_candidate_id": "candidate_2026-02-02T19-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00141_00144.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260202T201500Z_long_00185",
      "date": "2026-02-02",
      "timestamp": "2026-02-02T20:15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4643.055,
      "stop": 4631.55,
      "target": 4666.0650000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-02-02T20-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260203T020000Z_long_00186",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4806.097, stop=4766.29, target=4865.807. Pre-M15 range high=4856.76, low=4644.21.",
      "entry": 4806.097,
      "stop": 4766.29,
      "target": 4865.807,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-03T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-03T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260203T093000Z_short_00187",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T09: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-03T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4916.02, stop=4924.035, target=4899.99. Pre-M15 range high=4950.68, low=4807.985.",
      "entry": 4916.02,
      "stop": 4924.035,
      "target": 4899.99,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-03T09:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-03T09-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260203T163000Z_long_00188",
      "date": "2026-02-03",
      "timestamp": "2026-02-03T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4952.147, stop=4929.665, target=4985.87. Pre-M15 range high=4993.835, low=4892.27.",
      "entry": 4952.147,
      "stop": 4929.665,
      "target": 4985.87,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-03T16:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-03T16-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260204T003000Z_long_00190",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4970.026, stop=4946.16, target=5005.824. Pre-M15 range high=5000.4, low=4880.595.",
      "entry": 4970.026,
      "stop": 4946.16,
      "target": 5005.824,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-04T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T010000Z_long_00191",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T01: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 structure, aggressive run up from 4500 to 5000.",
      "ltf_trigger": "Sweep of 4980s before rallying to 5050+.",
      "entry": 5015.0,
      "stop": 4980.0,
      "target": 5050.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 liquidity sweep long at 01:00. Strong HTF uptrend, but entry timing is outside primary NY killzone. Price continued higher. Kept as shadow for directional bias confirmation.",
      "source_candidate_id": "candidate_2026-02-04T01-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00150_00153.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T010000Z_long_00192",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4989.642, stop=4968.515, target=5021.331. Pre-M15 range high=5053.675, low=4902.11.",
      "entry": 4989.642,
      "stop": 4968.515,
      "target": 5021.331,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-04T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T070000Z_long_00193",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-04T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5065.453, stop=5053.855, target=5082.851. Pre-M15 range high=5090.435, low=5035.72.",
      "entry": 5065.453,
      "stop": 5053.855,
      "target": 5082.851,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-04T07:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T073000Z_long_00194",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T07: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-02-04T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5073.083, stop=5063.235, target=5092.778. Pre-M15 range high=5090.445, low=5035.72.",
      "entry": 5073.083,
      "stop": 5063.235,
      "target": 5092.778,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-04T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-04T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T130000Z_long_00195",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5034.574, stop=5022.06, target=5053.344. Pre-M15 range high=5087.58, low=5013.77.",
      "entry": 5034.574,
      "stop": 5022.06,
      "target": 5053.344,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-04T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T150000Z_short_00196",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5006.925, stop=5038.29, target=4959.877. Pre-M15 range high=5063.735, low=4967.005.",
      "entry": 5006.925,
      "stop": 5038.29,
      "target": 4959.877,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-04T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260204T160000Z_short_00197",
      "date": "2026-02-04",
      "timestamp": "2026-02-04T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4929.564, stop=4962.52, target=4880.13. Pre-M15 range high=5063.735, low=4887.62.",
      "entry": 4929.564,
      "stop": 4962.52,
      "target": 4880.13,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-04T16:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-04T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260205T000000Z_long_00198",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5002.575, stop=4987.85, target=5024.661. Pre-M15 range high=5024.03, low=4896.105.",
      "entry": 5002.575,
      "stop": 4987.85,
      "target": 5024.661,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-05T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-05T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260205T013000Z_short_00199",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4978.658, stop=5012.325, target=4928.159. Pre-M15 range high=5024.03, low=4914.245.",
      "entry": 4978.658,
      "stop": 5012.325,
      "target": 4928.159,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-05T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-05T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260205T030000Z_short_00200",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4881.591, stop=4941.0, target=4792.478. Pre-M15 range high=5024.03, low=4789.655.",
      "entry": 4881.591,
      "stop": 4941.0,
      "target": 4792.478,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-05T03:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-05T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260205T093000Z_short_00201",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4887.365, stop=4914.15, target=4847.188. Pre-M15 range high=4943.735, low=4825.83.",
      "entry": 4887.365,
      "stop": 4914.15,
      "target": 4847.188,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-05T09:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-05T09-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260205T143000Z_long_00202",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T14: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-05T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4838.88, stop=4806.26, target=4904.12. Pre-M15 range high=4894.805, low=4802.06.",
      "entry": 4838.88,
      "stop": 4806.26,
      "target": 4904.12,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-05T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-05T14-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_20260205T160000Z_short_00203",
      "date": "2026-02-05",
      "timestamp": "2026-02-05T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4843.371, stop=4866.825, target=4808.19. Pre-M15 range high=4894.805, low=4800.535.",
      "entry": 4843.371,
      "stop": 4866.825,
      "target": 4808.19,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-05T16:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-05T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T000000Z_short_00204",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4733.479, stop=4757.045, target=4698.129. Pre-M15 range high=4875.23, low=4679.745.",
      "entry": 4733.479,
      "stop": 4757.045,
      "target": 4698.129,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-06T00:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-06T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260206T013000Z_short_00206",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4784.935, stop=4804.935, target=4754.935. Pre-M15 range high=4843.93, low=4655.23.",
      "entry": 4784.935,
      "stop": 4804.935,
      "target": 4754.935,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-06T01:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-06T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T134500Z_long_00207",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T13: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-02-06T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4916.702, stop=4904.98, target=4940.147. Pre-M15 range high=4938.505, low=4838.68.",
      "entry": 4916.702,
      "stop": 4904.98,
      "target": 4940.147,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-06T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-06T13-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T140000Z_long_00208",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4921.887, stop=4908.83, target=4941.472. Pre-M15 range high=4938.505, low=4838.68.",
      "entry": 4921.887,
      "stop": 4908.83,
      "target": 4941.472,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-06T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-06T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T160000Z_long_00209",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4920.617,
      "stop": 4897.55,
      "target": 4955.217500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-02-06T16-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260206T204500Z_short_00210",
      "date": "2026-02-06",
      "timestamp": "2026-02-06T20: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-06T20:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4952.083, stop=4957.465, target=4941.318. Pre-M15 range high=4971.34, low=4921.85.",
      "entry": 4952.083,
      "stop": 4957.465,
      "target": 4941.318,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-06T20:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-06T20-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T013000Z_long_00211",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4993.109, stop=4965.42, target=5034.643. Pre-M15 range high=5047.915, low=4936.69.",
      "entry": 4993.109,
      "stop": 4965.42,
      "target": 5034.643,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-09T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-09T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260209T090000Z_long_00213",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-09T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5015.811, stop=5003.0, target=5035.026. Pre-M15 range high=5045.815, low=4997.855.",
      "entry": 5015.811,
      "stop": 5003.0,
      "target": 5035.026,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-09T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-09T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T103000Z_short_00214",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T10: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-02-09T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5005.298, stop=5013.885, target=4988.123. Pre-M15 range high=5045.815, low=4982.495.",
      "entry": 5005.298,
      "stop": 5013.885,
      "target": 4988.123,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-09T11:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-09T10-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T133000Z_short_00215",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T13: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-02-09T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5016.42, stop=5025.0, target=4999.26. Pre-M15 range high=5041.4, low=4982.495.",
      "entry": 5016.42,
      "stop": 5025.0,
      "target": 4999.26,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-09T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-09T13-30-00Z_short_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_20260209T150000Z_long_00217",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5025.815, stop=5014.005, target=5043.529. Pre-M15 range high=5042.37, low=4982.495.",
      "entry": 5025.815,
      "stop": 5014.005,
      "target": 5043.529,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-09T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-09T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T173000Z_long_00218",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02-09T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5045.328, stop=5033.36, target=5063.28. Pre-M15 range high=5080.895, low=4995.125.",
      "entry": 5045.328,
      "stop": 5033.36,
      "target": 5063.28,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-09T17:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-09T17-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260209T233000Z_short_00219",
      "date": "2026-02-09",
      "timestamp": "2026-02-09T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5030.362, stop=5064.13, target=4979.71. Pre-M15 range high=5086.68, low=4987.385.",
      "entry": 5030.362,
      "stop": 5064.13,
      "target": 4979.71,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-09T23:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-09T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T063000Z_long_00220",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5025.174, stop=5012.99, target=5043.449. Pre-M15 range high=5056.34, low=5011.445.",
      "entry": 5025.174,
      "stop": 5012.99,
      "target": 5043.449,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-10T06:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-10T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T120000Z_long_00221",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5050.611, stop=5045.155, target=5058.795. Pre-M15 range high=5063.55, low=5019.56.",
      "entry": 5050.611,
      "stop": 5045.155,
      "target": 5058.795,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-10T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T130000Z_short_00222",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5035.629, stop=5047.96, target=5017.133. Pre-M15 range high=5063.55, low=5019.935.",
      "entry": 5035.629,
      "stop": 5047.96,
      "target": 5017.133,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-10T13:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T130000Z_short_00223",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:00: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-02-10T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5047.05, stop=5051.555, target=5038.04. Pre-M15 range high=5063.55, low=5019.935.",
      "entry": 5047.05,
      "stop": 5051.555,
      "target": 5038.04,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-10T13:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T13-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T133000Z_short_00224",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5050.216, stop=5057.285, target=5039.614. Pre-M15 range high=5063.55, low=5019.935.",
      "entry": 5050.216,
      "stop": 5057.285,
      "target": 5039.614,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-10T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T140000Z_long_00225",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5047.292, stop=5038.045, target=5061.162. Pre-M15 range high=5059.06, low=5019.935.",
      "entry": 5047.292,
      "stop": 5038.045,
      "target": 5061.162,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-10T14:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260210T144500Z_long_00226",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T14: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-02-10T14:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5039.925, stop=5033.455, target=5052.865. Pre-M15 range high=5078.745, low=5019.935.",
      "entry": 5039.925,
      "stop": 5033.455,
      "target": 5052.865,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-10T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T14-45-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_20260210T233000Z_long_00228",
      "date": "2026-02-10",
      "timestamp": "2026-02-10T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5040.362, stop=5028.975, target=5057.443. Pre-M15 range high=5054.855, low=5004.73.",
      "entry": 5040.362,
      "stop": 5028.975,
      "target": 5057.443,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-10T23:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-10T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T020000Z_long_00229",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5041.653, stop=5032.71, target=5055.068. Pre-M15 range high=5056.885, low=5020.4.",
      "entry": 5041.653,
      "stop": 5032.71,
      "target": 5055.068,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-11T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T030000Z_long_00230",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5048.518, stop=5041.245, target=5059.428. Pre-M15 range high=5057.775, low=5020.4.",
      "entry": 5048.518,
      "stop": 5041.245,
      "target": 5059.428,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-11T03:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T070000Z_long_00231",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T07: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-02-11T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5057.16, stop=5053.56, target=5064.36. Pre-M15 range high=5069.235, low=5032.745.",
      "entry": 5057.16,
      "stop": 5053.56,
      "target": 5064.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-11T07:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-11T07-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T103000Z_long_00232",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5068.792, stop=5062.59, target=5078.095. Pre-M15 range high=5100.28, low=5045.92.",
      "entry": 5068.792,
      "stop": 5062.59,
      "target": 5078.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-11T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-11T10-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T110000Z_long_00233",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5082.87, stop=5068.24, target=5104.815. Pre-M15 range high=5101.49, low=5045.92.",
      "entry": 5082.87,
      "stop": 5068.24,
      "target": 5104.815,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-11T12:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-11T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T120000Z_long_00234",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5093.933, stop=5082.68, target=5110.813. Pre-M15 range high=5119.345, low=5045.92.",
      "entry": 5093.933,
      "stop": 5082.68,
      "target": 5110.813,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-11T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-11T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260211T121500Z_long_00235",
      "date": "2026-02-11",
      "timestamp": "2026-02-11T12: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-02-11T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5089.333, stop=5082.68, target=5102.638. Pre-M15 range high=5119.345, low=5045.92.",
      "entry": 5089.333,
      "stop": 5082.68,
      "target": 5102.638,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-11T12:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-11T12-15-00Z_long_order_block_reclaim",
      "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_20260212T070000Z_short_00239",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5067.184, stop=5076.475, target=5053.248. Pre-M15 range high=5078.42, low=5047.13.",
      "entry": 5067.184,
      "stop": 5076.475,
      "target": 5053.248,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-12T08:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-12T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T123000Z_short_00240",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T12: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-02-12T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5059.475, stop=5068.665, target=5041.095. Pre-M15 range high=5080.91, low=5052.43.",
      "entry": 5059.475,
      "stop": 5068.665,
      "target": 5041.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-12T12:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T12-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_20260212T130000Z_short_00241",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5070.03, stop=5077.09, target=5059.441. Pre-M15 range high=5080.91, low=5048.935.",
      "entry": 5070.03,
      "stop": 5077.09,
      "target": 5059.441,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-12T13:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T133000Z_long_00242",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5061.634, stop=5051.485, target=5076.857. Pre-M15 range high=5080.91, low=5048.935.",
      "entry": 5061.634,
      "stop": 5051.485,
      "target": 5076.857,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-12T14:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-12T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T140000Z_long_00243",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5070.787, stop=5060.52, target=5086.189. Pre-M15 range high=5083.855, low=5048.935.",
      "entry": 5070.787,
      "stop": 5060.52,
      "target": 5086.189,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-12T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T140000Z_long_00244",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14: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-12T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5068.4, stop=5062.25, target=5080.7. Pre-M15 range high=5083.855, low=5048.935.",
      "entry": 5068.4,
      "stop": 5062.25,
      "target": 5080.7,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-12T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T14-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T143000Z_short_00245",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5067.836, stop=5077.905, target=5052.732. Pre-M15 range high=5083.855, low=5048.935.",
      "entry": 5067.836,
      "stop": 5077.905,
      "target": 5052.732,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-12T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-12T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T150000Z_short_00246",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5057.684, stop=5071.815, target=5036.489. Pre-M15 range high=5083.855, low=5039.7.",
      "entry": 5057.684,
      "stop": 5071.815,
      "target": 5036.489,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-12T15:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260212T154500Z_short_00247",
      "date": "2026-02-12",
      "timestamp": "2026-02-12T15: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-02-12T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5061.688, stop=5062.855, target=5059.353. Pre-M15 range high=5083.855, low=5039.7.",
      "entry": 5061.688,
      "stop": 5062.855,
      "target": 5059.353,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-02-12T15:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-12T15-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T054500Z_short_00248",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T05: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-02-13T05:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4975.735, stop=4986.555, target=4954.095. Pre-M15 range high=4997.555, low=4927.4.",
      "entry": 4975.735,
      "stop": 4986.555,
      "target": 4954.095,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-13T07:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-13T05-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T063000Z_short_00249",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4964.746, stop=4980.315, target=4941.392. Pre-M15 range high=4997.555, low=4944.93.",
      "entry": 4964.746,
      "stop": 4980.315,
      "target": 4941.392,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-13T06:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-13T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260213T093000Z_short_00251",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4974.82, stop=4982.975, target=4962.587. Pre-M15 range high=4989.695, low=4944.93.",
      "entry": 4974.82,
      "stop": 4982.975,
      "target": 4962.587,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-13T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-13T09-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T120000Z_short_00252",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4964.771, stop=4978.6, target=4944.027. Pre-M15 range high=4989.695, low=4933.635.",
      "entry": 4964.771,
      "stop": 4978.6,
      "target": 4944.027,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-13T12:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-13T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T143000Z_long_00253",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4981.32, stop=4966.89, target=5002.965. Pre-M15 range high=5011.07, low=4933.635.",
      "entry": 4981.32,
      "stop": 4966.89,
      "target": 5002.965,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-13T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-13T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260213T171500Z_long_00255",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T17:15: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": "H1 strongly bullish making higher highs into 5028.",
      "ltf_trigger": "M5 swept 5006 at 17:15 and reversed, but entry distance to SL vs TP at highs offered poor R:R.",
      "entry": 5017.7,
      "stop": 5005.0,
      "target": 5028.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 0.85,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Sweep of 5006 with quick reversal, but R:R to recent highs is poor (< 1).",
      "source_candidate_id": "candidate_2026-02-13T17-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00207_00210.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260213T180000Z_long_00256",
      "date": "2026-02-13",
      "timestamp": "2026-02-13T18:00: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": "Bullish trend continuing on HTF.",
      "ltf_trigger": "M5 swept 5015 at 18:00 and closed bullish at 18:05. Target 5030 hit quickly.",
      "entry": 5021.6,
      "stop": 5014.5,
      "target": 5030.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.29,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid M5 sweep of 5015 level with reversal, but marginal R:R.",
      "source_candidate_id": "candidate_2026-02-13T18-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00207_00210.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260215T233000Z_long_00257",
      "date": "2026-02-15",
      "timestamp": "2026-02-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5019.727, stop=5009.64, target=5034.857. Pre-M15 range high=5046.48, low=5009.64.",
      "entry": 5019.727,
      "stop": 5009.64,
      "target": 5034.857,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-15T23:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-15T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260216T020000Z_long_00258",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5017.685, stop=5006.995, target=5033.72. Pre-M15 range high=5046.48, low=5000.13.",
      "entry": 5017.685,
      "stop": 5006.995,
      "target": 5033.72,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-16T02:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-16T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260216T123000Z_short_00259",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4999.68, stop=5005.145, target=4991.483. Pre-M15 range high=5017.445, low=4992.725.",
      "entry": 4999.68,
      "stop": 5005.145,
      "target": 4991.483,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-16T12:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-16T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260216T133000Z_short_00260",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4999.234, stop=5003.905, target=4992.228. Pre-M15 range high=5017.445, low=4992.705.",
      "entry": 4999.234,
      "stop": 5003.905,
      "target": 4992.228,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-16T14:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-16T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260216T153000Z_short_00261",
      "date": "2026-02-16",
      "timestamp": "2026-02-16T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4979.974, stop=4988.51, target=4967.17. Pre-M15 range high=5010.875, low=4969.11.",
      "entry": 4979.974,
      "stop": 4988.51,
      "target": 4967.17,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-16T15:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-16T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T010000Z_short_00262",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4958.538, stop=4979.205, target=4927.538. Pre-M15 range high=5001.24, low=4922.895.",
      "entry": 4958.538,
      "stop": 4979.205,
      "target": 4927.538,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T073000Z_short_00263",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4925.351, stop=4954.49, target=4881.643. Pre-M15 range high=4970.215, low=4859.2.",
      "entry": 4925.351,
      "stop": 4954.49,
      "target": 4881.643,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T08:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T110000Z_short_00264",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4919.393, stop=4928.435, target=4905.83. Pre-M15 range high=4939.4, low=4886.6.",
      "entry": 4919.393,
      "stop": 4928.435,
      "target": 4905.83,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T11:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-17T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260217T133000Z_short_00266",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4923.647, stop=4933.545, target=4908.801. Pre-M15 range high=4944.7, low=4907.885.",
      "entry": 4923.647,
      "stop": 4933.545,
      "target": 4908.801,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T13:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T140000Z_short_00267",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4900.575, stop=4924.625, target=4864.499. Pre-M15 range high=4944.7, low=4842.6.",
      "entry": 4900.575,
      "stop": 4924.625,
      "target": 4864.499,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T14:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260217T153000Z_short_00268",
      "date": "2026-02-17",
      "timestamp": "2026-02-17T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4884.797, stop=4907.235, target=4851.14. Pre-M15 range high=4944.7, low=4842.6.",
      "entry": 4884.797,
      "stop": 4907.235,
      "target": 4851.14,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-17T16:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-17T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T000000Z_short_00269",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4870.981, stop=4884.135, target=4851.251. Pre-M15 range high=4910.9, low=4854.24.",
      "entry": 4870.981,
      "stop": 4884.135,
      "target": 4851.251,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-18T00:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-18T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T011500Z_long_00270",
      "date": "2026-02-18",
      "timestamp": "2026-02-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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4877.9175,
      "stop": 4872.435,
      "target": 4888.882499999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-02-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_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_20260218T120000Z_short_00272",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T12:00: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-02-18T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4921.352, stop=4924.66, target=4914.738. Pre-M15 range high=4942.03, low=4906.425.",
      "entry": 4921.352,
      "stop": 4924.66,
      "target": 4914.738,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-18T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-18T12-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T133000Z_long_00273",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4950.379, stop=4943.2, target=4961.147. Pre-M15 range high=4969.1, low=4906.425.",
      "entry": 4950.379,
      "stop": 4943.2,
      "target": 4961.147,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-18T13:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-18T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T193000Z_short_00274",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T19: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-02-18T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4989.335, stop=4994.49, target=4979.025. Pre-M15 range high=5010.915, low=4972.87.",
      "entry": 4989.335,
      "stop": 4994.49,
      "target": 4979.025,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-19T05:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-18T19-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T210000Z_long_00275",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T21:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4981.557, stop=4976.845, target=4988.626. Pre-M15 range high=5010.915, low=4972.87.",
      "entry": 4981.557,
      "stop": 4976.845,
      "target": 4988.626,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-18T21:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-18T21-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260218T233000Z_long_00276",
      "date": "2026-02-18",
      "timestamp": "2026-02-18T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4974.349, stop=4966.715, target=4985.8. Pre-M15 range high=5003.27, low=4966.715.",
      "entry": 4974.349,
      "stop": 4966.715,
      "target": 4985.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-18T23:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-18T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T020000Z_long_00277",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4967.922, stop=4961.865, target=4977.006. Pre-M15 range high=4988.86, low=4960.645.",
      "entry": 4967.922,
      "stop": 4961.865,
      "target": 4977.006,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-19T02:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-19T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T073000Z_long_00278",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-02-19T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5009.572, stop=5001.15, target=5022.204. Pre-M15 range high=5021.805, low=4966.475.",
      "entry": 5009.572,
      "stop": 5001.15,
      "target": 5022.204,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-19T07:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T133000Z_long_00279",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T13: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-19T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4989.63, stop=4971.125, target=5026.64. Pre-M15 range high=5022.17, low=4971.125.",
      "entry": 4989.63,
      "stop": 4971.125,
      "target": 5026.64,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-02-19T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T13-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_20260219T140000Z_long_00280",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4983.306, stop=4971.125, target=5001.579. Pre-M15 range high=5020.565, low=4971.125.",
      "entry": 4983.306,
      "stop": 4971.125,
      "target": 5001.579,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-19T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_00282",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T14: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-19T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4983.718, stop=4979.68, target=4991.793. Pre-M15 range high=5005.46, low=4963.445.",
      "entry": 4983.718,
      "stop": 4979.68,
      "target": 4991.793,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-19T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T14-30-00Z_long_order_block_reclaim",
      "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_20260219T154500Z_long_00284",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T15: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-02-19T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5004.48, stop=4999.035, target=5015.37. Pre-M15 range high=5022.385, low=4963.445.",
      "entry": 5004.48,
      "stop": 4999.035,
      "target": 5015.37,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-19T16:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T15-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T161500Z_long_00285",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T16: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-19T16:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4986.94, stop=4978.49, target=5003.84. Pre-M15 range high=5022.385, low=4963.445.",
      "entry": 4986.94,
      "stop": 4978.49,
      "target": 5003.84,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-19T17:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T16-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T173000Z_long_00286",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02-19T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4984.123, stop=4963.445, target=5015.139. Pre-M15 range high=5022.385, low=4963.445.",
      "entry": 4984.123,
      "stop": 4963.445,
      "target": 5015.139,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-19T17:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-19T17-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260219T183000Z_short_00287",
      "date": "2026-02-19",
      "timestamp": "2026-02-19T18: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-02-19T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4984.33, stop=4988.925, target=4975.14. Pre-M15 range high=5022.385, low=4963.445.",
      "entry": 4984.33,
      "stop": 4988.925,
      "target": 4975.14,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-19T18:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-19T18-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T000000Z_short_00288",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4994.506, stop=5001.535, target=4983.963. Pre-M15 range high=5008.24, low=4975.41.",
      "entry": 4994.506,
      "stop": 5001.535,
      "target": 4983.963,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-20T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T010000Z_long_00289",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4995.881, stop=4987.0, target=5009.204. Pre-M15 range high=5014.865, low=4978.325.",
      "entry": 4995.881,
      "stop": 4987.0,
      "target": 5009.204,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-20T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T011500Z_long_00290",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T01: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-02-20T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4992.255, stop=4987.955, target=5000.855. Pre-M15 range high=5014.865, low=4978.325.",
      "entry": 4992.255,
      "stop": 4987.955,
      "target": 5000.855,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-20T03:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T01-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T063000Z_long_00291",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5019.777, stop=5011.89, target=5031.608. Pre-M15 range high=5029.815, low=4981.67.",
      "entry": 5019.777,
      "stop": 5011.89,
      "target": 5031.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-20T07:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260220T120000Z_long_00293",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5011.623, stop=5004.97, target=5021.602. Pre-M15 range high=5042.74, low=5004.97.",
      "entry": 5011.623,
      "stop": 5004.97,
      "target": 5021.602,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-20T12:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-20T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T150000Z_short_00294",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15: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-20T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5046.783, stop=5064.33, target=5011.688. Pre-M15 range high=5064.33, low=4990.585.",
      "entry": 5046.783,
      "stop": 5064.33,
      "target": 5011.688,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-20T15:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T15-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_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_20260220T153000Z_long_00296",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15: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-20T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5041.89, stop=5038.865, target=5047.94. Pre-M15 range high=5064.33, low=4990.585.",
      "entry": 5041.89,
      "stop": 5038.865,
      "target": 5047.94,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-20T15:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T15-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T154500Z_short_00297",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T15: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-02-20T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5054.6, stop=5060.655, target=5042.49. Pre-M15 range high=5064.33, low=4990.585.",
      "entry": 5054.6,
      "stop": 5060.655,
      "target": 5042.49,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-20T16:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T15-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260220T164500Z_long_00298",
      "date": "2026-02-20",
      "timestamp": "2026-02-20T16: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-02-20T16:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5059.49, stop=5054.65, target=5069.17. Pre-M15 range high=5069.475, low=4990.585.",
      "entry": 5059.49,
      "stop": 5054.65,
      "target": 5069.17,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-02-20T17:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-20T16-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T000000Z_long_00299",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5133.048, stop=5117.815, target=5155.897. Pre-M15 range high=5172.315, low=5053.79.",
      "entry": 5133.048,
      "stop": 5117.815,
      "target": 5155.897,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-23T00:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T001500Z_long_00300",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T00: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-02-23T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5146.603, stop=5140.77, target=5158.268. Pre-M15 range high=5172.315, low=5057.16.",
      "entry": 5146.603,
      "stop": 5140.77,
      "target": 5158.268,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-23T00:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-23T00-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T074500Z_short_00301",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T07: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-02-23T07:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5146.215, stop=5154.375, target=5129.895. Pre-M15 range high=5176.05, low=5125.19.",
      "entry": 5146.215,
      "stop": 5154.375,
      "target": 5129.895,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-23T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-23T07-45-00Z_short_order_block_reclaim",
      "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_long_00303",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5156.715, stop=5149.77, target=5167.134. Pre-M15 range high=5165.565, low=5122.22.",
      "entry": 5156.715,
      "stop": 5149.77,
      "target": 5167.134,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-23T13:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-23T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260223T150000Z_long_00306",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5180.662, stop=5164.945, target=5204.237. Pre-M15 range high=5200.665, low=5141.615.",
      "entry": 5180.662,
      "stop": 5164.945,
      "target": 5204.237,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-23T16:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T173000Z_long_00307",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02-23T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5194.905, stop=5175.805, target=5223.556. Pre-M15 range high=5219.215, low=5141.615.",
      "entry": 5194.905,
      "stop": 5175.805,
      "target": 5223.556,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-23T17:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T17-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260223T210000Z_long_00308",
      "date": "2026-02-23",
      "timestamp": "2026-02-23T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T21:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5230.51, stop=5224.665, target=5239.279. Pre-M15 range high=5237.95, low=5191.275.",
      "entry": 5230.51,
      "stop": 5224.665,
      "target": 5239.279,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-23T21:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-23T21-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T000000Z_long_00309",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5219.781, stop=5214.875, target=5227.14. Pre-M15 range high=5250.005, low=5201.015.",
      "entry": 5219.781,
      "stop": 5214.875,
      "target": 5227.14,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-24T01:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-24T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T023000Z_short_00310",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5189.523, stop=5224.4, target=5137.209. Pre-M15 range high=5250.005, low=5145.135.",
      "entry": 5189.523,
      "stop": 5224.4,
      "target": 5137.209,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-24T02:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-24T02-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T123000Z_short_00311",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5161.938, stop=5173.58, target=5144.474. Pre-M15 range high=5183.025, low=5147.12.",
      "entry": 5161.938,
      "stop": 5173.58,
      "target": 5144.474,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-24T17:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-24T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T130000Z_short_00312",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5156.053, stop=5164.73, target=5143.038. Pre-M15 range high=5181.955, low=5145.01.",
      "entry": 5156.053,
      "stop": 5164.73,
      "target": 5143.038,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-24T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-24T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T143000Z_short_00313",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5137.807, stop=5158.87, target=5106.213. Pre-M15 range high=5181.49, low=5093.225.",
      "entry": 5137.807,
      "stop": 5158.87,
      "target": 5106.213,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-24T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-24T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T203000Z_long_00314",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02-24T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5156.997, stop=5146.65, target=5172.516. Pre-M15 range high=5173.31, low=5130.68.",
      "entry": 5156.997,
      "stop": 5146.65,
      "target": 5172.516,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-24T21:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-24T20-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260224T211500Z_long_00315",
      "date": "2026-02-24",
      "timestamp": "2026-02-24T21:15: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-24T21:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5151.3, stop=5146.65, target=5160.6. Pre-M15 range high=5173.31, low=5130.68.",
      "entry": 5151.3,
      "stop": 5146.65,
      "target": 5160.6,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-02-24T21:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-24T21-15-00Z_long_order_block_reclaim",
      "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_20260225T143000Z_long_00318",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5173.725, stop=5166.685, target=5184.285. Pre-M15 range high=5195.285, low=5155.095.",
      "entry": 5173.725,
      "stop": 5166.685,
      "target": 5184.285,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-25T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-25T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260225T150000Z_long_00319",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5173.9, stop=5158.645, target=5196.782. Pre-M15 range high=5202.795, low=5155.095.",
      "entry": 5173.9,
      "stop": 5158.645,
      "target": 5196.782,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-25T15:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-25T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260225T151500Z_short_00320",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T15: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-02-25T15:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5187.413, stop=5191.15, target=5179.938. Pre-M15 range high=5202.795, low=5155.095.",
      "entry": 5187.413,
      "stop": 5191.15,
      "target": 5179.938,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-25T15:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-25T15-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260225T210000Z_short_00321",
      "date": "2026-02-25",
      "timestamp": "2026-02-25T21:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T21:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5170.55, stop=5190.7, target=5140.325. Pre-M15 range high=5217.78, low=5144.905.",
      "entry": 5170.55,
      "stop": 5190.7,
      "target": 5140.325,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-25T21:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-25T21-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T010000Z_short_00322",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5195.991, stop=5206.305, target=5180.521. Pre-M15 range high=5208.445, low=5144.905.",
      "entry": 5195.991,
      "stop": 5206.305,
      "target": 5180.521,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-26T04:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T073000Z_short_00323",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5189.321, stop=5194.935, target=5180.899. Pre-M15 range high=5205.64, low=5176.33.",
      "entry": 5189.321,
      "stop": 5194.935,
      "target": 5180.899,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-26T07:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260226T093000Z_short_00325",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5184.234, stop=5191.12, target=5173.905. Pre-M15 range high=5205.64, low=5167.7.",
      "entry": 5184.234,
      "stop": 5191.12,
      "target": 5173.905,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-26T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T09-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T110000Z_short_00326",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5173.503, stop=5179.595, target=5164.366. Pre-M15 range high=5198.63, low=5165.75.",
      "entry": 5173.503,
      "stop": 5179.595,
      "target": 5164.366,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-26T11:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T130000Z_short_00327",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T13:00: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-02-26T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5173.66, stop=5175.53, target=5169.92. Pre-M15 range high=5191.105, low=5157.87.",
      "entry": 5173.66,
      "stop": 5175.53,
      "target": 5169.92,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-26T13:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-26T13-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T153000Z_short_00328",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5153.951, stop=5172.585, target=5126.0. Pre-M15 range high=5188.095, low=5130.235.",
      "entry": 5153.951,
      "stop": 5172.585,
      "target": 5126.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-26T15:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-26T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T173000Z_long_00329",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02-26T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5163.709, stop=5140.73, target=5198.177. Pre-M15 range high=5192.955, low=5130.235.",
      "entry": 5163.709,
      "stop": 5140.73,
      "target": 5198.177,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-26T17:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-26T17-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T193000Z_long_00330",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T19: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": "Bullish reversal from 5160 lows.",
      "ltf_trigger": "M5 swept 5184 to 5183.5, but the 50% Fib of the entire swing was down at 5174. Aggressive shallow entry.",
      "entry": 5189.0,
      "stop": 5183.0,
      "target": 5198.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Shallow retracement; missed the Fib 50-62% deep discount zone of the M30 swing before rallying.",
      "source_candidate_id": "candidate_2026-02-26T19-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00276_00279.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260226T203000Z_long_00331",
      "date": "2026-02-26",
      "timestamp": "2026-02-26T20: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": "Bullish continuation attempting to break 5200 psychological level.",
      "ltf_trigger": "M5 swept 5191 to 5190.87 (exact 50% Fib of local swing) and closed bullish at 5194.5. Rally capped at 5201.",
      "entry": 5194.545,
      "stop": 5189.5,
      "target": 5204.6,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.28,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid 50% Fib sweep but limited R:R; price rallied but failed to reach 2R before topping out at 5201.",
      "source_candidate_id": "candidate_2026-02-26T20-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00276_00279.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T000000Z_short_00332",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5193.781, stop=5200.755, target=5183.32. Pre-M15 range high=5201.005, low=5160.53.",
      "entry": 5193.781,
      "stop": 5200.755,
      "target": 5183.32,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-27T00:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-27T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T010000Z_short_00333",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5181.139, stop=5189.8, target=5168.147. Pre-M15 range high=5201.005, low=5166.995.",
      "entry": 5181.139,
      "stop": 5189.8,
      "target": 5168.147,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-02-27T01:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-27T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T013000Z_short_00334",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T01: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-02-27T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5190.157, stop=5195.03, target=5180.412. Pre-M15 range high=5201.005, low=5166.995.",
      "entry": 5190.157,
      "stop": 5195.03,
      "target": 5180.412,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-02-27T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-27T01-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T020000Z_long_00335",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5182.781, stop=5173.345, target=5196.935. Pre-M15 range high=5201.005, low=5166.995.",
      "entry": 5182.781,
      "stop": 5173.345,
      "target": 5196.935,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-27T02:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-27T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T063000Z_long_00336",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5187.5, stop=5181.58, target=5196.381. Pre-M15 range high=5200.64, low=5173.59.",
      "entry": 5187.5,
      "stop": 5181.58,
      "target": 5196.381,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-27T06:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-27T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T091500Z_short_00337",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:15: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 starts massive bullish expansion from 5176 to 5223+.",
      "ltf_trigger": "Short sweep at 09:15Z, quick Fib touch at 10:15Z provided small scalp before massive reversal.",
      "entry": 5179.0,
      "stop": 5183.3,
      "target": 5174.7,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Mechanical TP1 reached quickly, but massive H4 bullish expansion immediately follows, making shorting risky without live NY context.",
      "source_candidate_id": "candidate_2026-02-27T09-15-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00282_00285.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260227T094500Z_short_00338",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T09:45: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-02-27T09:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5177.427, stop=5182.815, target=5166.653. Pre-M15 range high=5200.64, low=5172.225.",
      "entry": 5177.427,
      "stop": 5182.815,
      "target": 5166.653,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-02-27T09:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-02-27T09-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_20260227T133000Z_long_00339",
      "date": "2026-02-27",
      "timestamp": "2026-02-27T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5210.624, stop=5186.895, target=5246.218. Pre-M15 range high=5240.825, low=5168.685.",
      "entry": 5210.624,
      "stop": 5186.895,
      "target": 5246.218,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-02-27T13:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-02-27T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260302T000000Z_long_00340",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5371.084, stop=5353.075, target=5398.098. Pre-M15 range high=5394.005, low=5222.665.",
      "entry": 5371.084,
      "stop": 5353.075,
      "target": 5398.098,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-02T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-02T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260302T073000Z_long_00341",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5400.27, stop=5385.035, target=5423.123. Pre-M15 range high=5419.66, low=5340.82.",
      "entry": 5400.27,
      "stop": 5385.035,
      "target": 5423.123,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-02T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-02T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260302T143000Z_short_00343",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5356.446, stop=5395.375, target=5298.052. Pre-M15 range high=5417.045, low=5306.51.",
      "entry": 5356.446,
      "stop": 5395.375,
      "target": 5298.052,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T00:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-02T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260302T170000Z_short_00344",
      "date": "2026-03-02",
      "timestamp": "2026-03-02T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5298.828, stop=5311.925, target=5279.184. Pre-M15 range high=5417.045, low=5260.285.",
      "entry": 5298.828,
      "stop": 5311.925,
      "target": 5279.184,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-02T17:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-02T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T020000Z_short_00345",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5360.773, stop=5378.65, target=5333.957. Pre-M15 range high=5379.975, low=5321.705.",
      "entry": 5360.773,
      "stop": 5378.65,
      "target": 5333.957,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T02:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-03T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T020000Z_long_00346",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T02: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-03T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5352.903, stop=5346.05, target=5366.608. Pre-M15 range high=5379.975, low=5321.705.",
      "entry": 5352.903,
      "stop": 5346.05,
      "target": 5366.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-03T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-03T02-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T080000Z_short_00347",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5335.687, stop=5359.72, target=5299.638. Pre-M15 range high=5375.865, low=5279.005.",
      "entry": 5335.687,
      "stop": 5359.72,
      "target": 5299.638,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T08:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-03T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T093000Z_short_00348",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5269.578, stop=5304.155, target=5217.711. Pre-M15 range high=5370.035, low=5225.57.",
      "entry": 5269.578,
      "stop": 5304.155,
      "target": 5217.711,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T09:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-03T09-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T100000Z_short_00349",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T10: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 5294.385,
      "stop": 5304.155,
      "target": 5274.845000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-03T10-00-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_20260303T120000Z_short_00351",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5196.557, stop=5264.17, target=5095.138. Pre-M15 range high=5336.12, low=5073.135.",
      "entry": 5196.557,
      "stop": 5264.17,
      "target": 5095.138,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T12:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-03T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T153000Z_short_00352",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5089.029, stop=5146.31, target=5003.107. Pre-M15 range high=5264.17, low=4996.275.",
      "entry": 5089.029,
      "stop": 5146.31,
      "target": 5003.107,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-03T15:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-03T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260303T190000Z_short_00353",
      "date": "2026-03-03",
      "timestamp": "2026-03-03T19:00: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-03-03T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5124.233, stop=5149.055, target=5074.587. Pre-M15 range high=5166.765, low=4996.275.",
      "entry": 5124.233,
      "stop": 5149.055,
      "target": 5074.587,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-03-03T19:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-03T19-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_20260304T023000Z_long_00354",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5158.472, stop=5142.485, target=5182.454. Pre-M15 range high=5191.065, low=5083.45.",
      "entry": 5158.472,
      "stop": 5142.485,
      "target": 5182.454,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-04T02:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-04T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T030000Z_short_00355",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5169.221, stop=5181.125, target=5151.364. Pre-M15 range high=5191.065, low=5083.45.",
      "entry": 5169.221,
      "stop": 5181.125,
      "target": 5151.364,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-04T03:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-04T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T063000Z_short_00356",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5141.45, stop=5160.095, target=5113.483. Pre-M15 range high=5191.065, low=5117.72.",
      "entry": 5141.45,
      "stop": 5160.095,
      "target": 5113.483,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-04T14:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-04T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260304T130000Z_short_00358",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T13:00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 5199.2375,
      "stop": 5206.265,
      "target": 5185.1825,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-04T13-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T133000Z_long_00359",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5182.223, stop=5170.99, target=5199.073. Pre-M15 range high=5206.265, low=5156.51.",
      "entry": 5182.223,
      "stop": 5170.99,
      "target": 5199.073,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-04T13:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-04T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T150000Z_short_00360",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5164.936, stop=5185.33, target=5134.345. Pre-M15 range high=5206.265, low=5131.34.",
      "entry": 5164.936,
      "stop": 5185.33,
      "target": 5134.345,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-04T15:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-04T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T153000Z_short_00361",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T15: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-03-04T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5174.278, stop=5185.33, target=5152.173. Pre-M15 range high=5206.265, low=5131.34.",
      "entry": 5174.278,
      "stop": 5185.33,
      "target": 5152.173,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-05T00:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-04T15-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T163000Z_short_00362",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T16:30: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": "H4 choppy/messy between 5185 and 5117. Not clearly trending.",
      "ltf_trigger": "M15 sweep of 5162 and drop. M5 confirmation at 17:20, Fib touch at 17:25. Mechanically valid but HTF context is poor.",
      "entry": 5146.5,
      "stop": 5159.2,
      "target": 5133.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "16:30 Short: M15 swept 5162, shifted bearish. Overlaps with 17:00 signal. H4 structure is messy (dropped from 5185 then bounced). Needs HTF clarity, keeping as shadow.",
      "source_candidate_id": "candidate_2026-03-04T16-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00297_00300.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260304T170000Z_short_00363",
      "date": "2026-03-04",
      "timestamp": "2026-03-04T17: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": "H4 choppy/messy between 5185 and 5117. Not clearly trending.",
      "ltf_trigger": "M15 sweep of 5153 and drop. M5 confirmation at 17:20, Fib touch at 17:25. Mechanically valid but HTF context is poor.",
      "entry": 5146.5,
      "stop": 5153.0,
      "target": 5140.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "17:00 Short: Duplicate of the 16:30 sweep setup (same confirmation and fib times). Both are shadow due to choppy HTF.",
      "source_candidate_id": "candidate_2026-03-04T17-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00297_00300.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T023000Z_long_00364",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5179.122, stop=5171.895, target=5189.962. Pre-M15 range high=5188.32, low=5129.595.",
      "entry": 5179.122,
      "stop": 5171.895,
      "target": 5189.962,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-05T02:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-05T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T030000Z_long_00365",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T03: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-05T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5180.89, stop=5174.455, target=5193.76. Pre-M15 range high=5195.22, low=5129.595.",
      "entry": 5180.89,
      "stop": 5174.455,
      "target": 5193.76,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-05T03:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-05T03-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T063000Z_short_00366",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5162.861, stop=5174.215, target=5145.83. Pre-M15 range high=5195.22, low=5120.785.",
      "entry": 5162.861,
      "stop": 5174.215,
      "target": 5145.83,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-05T06:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-05T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T080000Z_long_00367",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5152.912, stop=5140.31, target=5171.814. Pre-M15 range high=5191.34, low=5120.785.",
      "entry": 5152.912,
      "stop": 5140.31,
      "target": 5171.814,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-05T08:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-05T08-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T083000Z_short_00368",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T08: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-03-05T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5162.613, stop=5166.425, target=5154.988. Pre-M15 range high=5191.18, low=5120.785.",
      "entry": 5162.613,
      "stop": 5166.425,
      "target": 5154.988,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-05T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-05T08-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T093000Z_long_00369",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5155.444, stop=5143.81, target=5172.894. Pre-M15 range high=5180.48, low=5120.785.",
      "entry": 5155.444,
      "stop": 5143.81,
      "target": 5172.894,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-05T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-05T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T133000Z_short_00370",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5127.643, stop=5164.11, target=5072.942. Pre-M15 range high=5180.48, low=5081.23.",
      "entry": 5127.643,
      "stop": 5164.11,
      "target": 5072.942,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-05T13:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-05T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T150000Z_short_00371",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5109.146, stop=5123.765, target=5087.218. Pre-M15 range high=5171.54, low=5060.625.",
      "entry": 5109.146,
      "stop": 5123.765,
      "target": 5087.218,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-06T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-05T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T153000Z_short_00372",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5093.855, stop=5119.965, target=5054.691. Pre-M15 range high=5171.54, low=5060.625.",
      "entry": 5093.855,
      "stop": 5119.965,
      "target": 5054.691,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-05T15:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-05T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260305T170000Z_short_00373",
      "date": "2026-03-05",
      "timestamp": "2026-03-05T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5085.209, stop=5104.76, target=5055.881. Pre-M15 range high=5170.61, low=5054.22.",
      "entry": 5085.209,
      "stop": 5104.76,
      "target": 5055.881,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-05T17:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-05T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T053000Z_long_00374",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5111.424, stop=5085.79, target=5149.876. Pre-M15 range high=5144.05, low=5066.4.",
      "entry": 5111.424,
      "stop": 5085.79,
      "target": 5149.876,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-06T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-06T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T054500Z_short_00375",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T05: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-03-06T05:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5126.66, stop=5130.38, target=5119.22. Pre-M15 range high=5144.05, low=5066.4.",
      "entry": 5126.66,
      "stop": 5130.38,
      "target": 5119.22,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-06T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-06T05-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T110000Z_short_00376",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-06T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5094.844, stop=5103.89, target=5081.274. Pre-M15 range high=5123.16, low=5075.66.",
      "entry": 5094.844,
      "stop": 5103.89,
      "target": 5081.274,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-06T11:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-06T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T120000Z_short_00377",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5083.666, stop=5099.735, target=5059.563. Pre-M15 range high=5123.16, low=5063.215.",
      "entry": 5083.666,
      "stop": 5099.735,
      "target": 5059.563,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-06T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-06T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T143000Z_long_00378",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5093.518, stop=5080.905, target=5112.436. Pre-M15 range high=5131.245, low=5063.215.",
      "entry": 5093.518,
      "stop": 5080.905,
      "target": 5112.436,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-06T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-06T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T153000Z_long_00379",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5147.289, stop=5127.96, target=5176.283. Pre-M15 range high=5171.89, low=5063.215.",
      "entry": 5147.289,
      "stop": 5127.96,
      "target": 5176.283,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-06T15:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-06T15-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260306T191500Z_long_00380",
      "date": "2026-03-06",
      "timestamp": "2026-03-06T19:15: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-06T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5162.372, stop=5156.87, target=5173.377. Pre-M15 range high=5174.67, low=5084.185.",
      "entry": 5162.372,
      "stop": 5156.87,
      "target": 5173.377,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-06T19:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-06T19-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260308T220000Z_long_00381",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5159.614, stop=5150.99, target=5172.55. Pre-M15 range high=5176.63, low=5118.53.",
      "entry": 5159.614,
      "stop": 5150.99,
      "target": 5172.55,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-08T22:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-08T22-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260308T220000Z_long_00382",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T22: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-03-08T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5155.755, stop=5150.695, target=5165.875. Pre-M15 range high=5176.63, low=5118.53.",
      "entry": 5155.755,
      "stop": 5150.695,
      "target": 5165.875,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-08T22:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-08T22-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260308T231500Z_short_00383",
      "date": "2026-03-08",
      "timestamp": "2026-03-08T23:15: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-03-08T23:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5119.475, stop=5134.605, target=5089.215. Pre-M15 range high=5176.63, low=5093.745.",
      "entry": 5119.475,
      "stop": 5134.605,
      "target": 5089.215,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-09T05:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-08T23-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T000000Z_short_00384",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5078.518, stop=5105.53, target=5038.001. Pre-M15 range high=5176.63, low=5028.54.",
      "entry": 5078.518,
      "stop": 5105.53,
      "target": 5038.001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-09T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T003000Z_short_00385",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5058.119, stop=5081.36, target=5023.258. Pre-M15 range high=5176.63, low=5028.54.",
      "entry": 5058.119,
      "stop": 5081.36,
      "target": 5023.258,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-09T00:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T003000Z_short_00386",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T00: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-09T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5067.32, stop=5080.39, target=5041.18. Pre-M15 range high=5176.63, low=5028.54.",
      "entry": 5067.32,
      "stop": 5080.39,
      "target": 5041.18,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-09T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T00-30-00Z_short_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_20260309T063000Z_long_00389",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5113.42, stop=5091.915, target=5145.677. Pre-M15 range high=5140.79, low=5055.21.",
      "entry": 5113.42,
      "stop": 5091.915,
      "target": 5145.677,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-09T06:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T064500Z_long_00390",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T06: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-09T06:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5095.952, stop=5087.3, target=5113.257. Pre-M15 range high=5140.79, low=5055.21.",
      "entry": 5095.952,
      "stop": 5087.3,
      "target": 5113.257,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-09T07:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T06-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T090000Z_short_00391",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5115.493, stop=5129.85, target=5093.957. Pre-M15 range high=5140.79, low=5081.185.",
      "entry": 5115.493,
      "stop": 5129.85,
      "target": 5093.957,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-09T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260309T134500Z_short_00394",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T13: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-03-09T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5091.653, stop=5098.51, target=5077.938. Pre-M15 range high=5132.765, low=5067.42.",
      "entry": 5091.653,
      "stop": 5098.51,
      "target": 5077.938,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-09T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T13-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T143000Z_short_00395",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5092.116, stop=5111.52, target=5063.01. Pre-M15 range high=5114.99, low=5060.595.",
      "entry": 5092.116,
      "stop": 5111.52,
      "target": 5063.01,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-09T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260309T151500Z_long_00398",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T15: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-03-09T15:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5103.138, stop=5094.755, target=5119.903. Pre-M15 range high=5116.28, low=5060.595.",
      "entry": 5103.138,
      "stop": 5094.755,
      "target": 5119.903,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-03-09T15:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-09T15-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260309T193000Z_long_00399",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=5129.654, stop=5118.375, target=5146.573. Pre-M15 range high=5144.01, low=5079.585.",
      "entry": 5129.654,
      "stop": 5118.375,
      "target": 5146.573,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-09T19:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T19-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260309T230000Z_long_00401",
      "date": "2026-03-09",
      "timestamp": "2026-03-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5139.394, stop=5128.48, target=5155.765. Pre-M15 range high=5154.825, low=5089.135.",
      "entry": 5139.394,
      "stop": 5128.48,
      "target": 5155.765,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-09T23:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-09T23-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260310T023000Z_long_00403",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5167.835, stop=5153.205, target=5189.78. Pre-M15 range high=5187.055, low=5117.355.",
      "entry": 5167.835,
      "stop": 5153.205,
      "target": 5189.78,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-10T02:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-10T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260310T100000Z_long_00407",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5172.75, stop=5165.675, target=5183.363. Pre-M15 range high=5195.405, low=5158.395.",
      "entry": 5172.75,
      "stop": 5165.675,
      "target": 5183.363,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-10T10:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-10T10-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T133000Z_long_00408",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5204.89, stop=5186.005, target=5233.217. Pre-M15 range high=5228.925, low=5156.5.",
      "entry": 5204.89,
      "stop": 5186.005,
      "target": 5233.217,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-10T13:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-10T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260310T180000Z_long_00409",
      "date": "2026-03-10",
      "timestamp": "2026-03-10T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5214.503, stop=5203.285, target=5231.33. Pre-M15 range high=5238.775, low=5185.3.",
      "entry": 5214.503,
      "stop": 5203.285,
      "target": 5231.33,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-10T18:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-10T18-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T020000Z_long_00410",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=5199.457, stop=5186.66, target=5218.653. Pre-M15 range high=5223.385, low=5183.47.",
      "entry": 5199.457,
      "stop": 5186.66,
      "target": 5218.653,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-11T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260311T030000Z_long_00412",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5210.171, stop=5201.945, target=5222.51. Pre-M15 range high=5223.385, low=5185.86.",
      "entry": 5210.171,
      "stop": 5201.945,
      "target": 5222.51,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-11T03:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-11T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T064500Z_long_00413",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T06: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-11T06:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5198.773, stop=5195.715, target=5204.887. Pre-M15 range high=5220.64, low=5190.705.",
      "entry": 5198.773,
      "stop": 5195.715,
      "target": 5204.887,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-11T06:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-11T06-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T090000Z_short_00414",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5190.918, stop=5198.695, target=5179.252. Pre-M15 range high=5210.97, low=5175.35.",
      "entry": 5190.918,
      "stop": 5198.695,
      "target": 5179.252,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-11T09:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260311T130000Z_short_00417",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=5183.825, stop=5197.175, target=5163.801. Pre-M15 range high=5198.4, low=5162.175.",
      "entry": 5183.825,
      "stop": 5197.175,
      "target": 5163.801,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-11T14:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260311T230000Z_short_00418",
      "date": "2026-03-11",
      "timestamp": "2026-03-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-11T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5152.373, stop=5170.085, target=5125.805. Pre-M15 range high=5183.76, low=5129.83.",
      "entry": 5152.373,
      "stop": 5170.085,
      "target": 5125.805,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-11T23:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-11T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T000000Z_short_00419",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5147.096, stop=5157.94, target=5130.831. Pre-M15 range high=5183.76, low=5125.64.",
      "entry": 5147.096,
      "stop": 5157.94,
      "target": 5130.831,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T00:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-12T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T013000Z_short_00420",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5172.714, stop=5178.32, target=5164.306. Pre-M15 range high=5183.76, low=5125.64.",
      "entry": 5172.714,
      "stop": 5178.32,
      "target": 5164.306,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T01:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260312T083000Z_long_00422",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5175.553, stop=5167.95, target=5186.958. Pre-M15 range high=5189.86, low=5137.17.",
      "entry": 5175.553,
      "stop": 5167.95,
      "target": 5186.958,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-12T09:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T08-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260312T130000Z_long_00424",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5176.246, stop=5168.68, target=5187.595. Pre-M15 range high=5191.79, low=5163.685.",
      "entry": 5176.246,
      "stop": 5168.68,
      "target": 5187.595,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-12T13:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-12T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T140000Z_short_00425",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5160.253, stop=5171.385, target=5143.555. Pre-M15 range high=5191.79, low=5146.085.",
      "entry": 5160.253,
      "stop": 5171.385,
      "target": 5143.555,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T153000Z_short_00426",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5129.528, stop=5144.99, target=5106.336. Pre-M15 range high=5186.145, low=5109.85.",
      "entry": 5129.528,
      "stop": 5144.99,
      "target": 5106.336,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T15:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T180000Z_short_00427",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5112.463, stop=5120.2, target=5100.856. Pre-M15 range high=5184.71, low=5102.615.",
      "entry": 5112.463,
      "stop": 5120.2,
      "target": 5100.856,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T18:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-12T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T203000Z_short_00428",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5082.352, stop=5090.925, target=5069.492. Pre-M15 range high=5138.175, low=5055.125.",
      "entry": 5082.352,
      "stop": 5090.925,
      "target": 5069.492,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-12T22:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-12T20-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T220000Z_short_00429",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22: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-03-12T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5087.318, stop=5090.925, target=5080.102. Pre-M15 range high=5138.175, low=5055.125.",
      "entry": 5087.318,
      "stop": 5090.925,
      "target": 5080.102,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-12T22:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-12T22-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260312T223000Z_long_00430",
      "date": "2026-03-12",
      "timestamp": "2026-03-12T22: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-12T22:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5082.255, stop=5077.79, target=5091.185. Pre-M15 range high=5135.635, low=5055.125.",
      "entry": 5082.255,
      "stop": 5077.79,
      "target": 5091.185,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-13T07:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-12T22-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T021500Z_long_00431",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T02: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-13T02:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5116.613, stop=5111.43, target=5126.977. Pre-M15 range high=5128.475, low=5055.125.",
      "entry": 5116.613,
      "stop": 5111.43,
      "target": 5126.977,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-13T02:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-13T02-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260313T053000Z_short_00434",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5111.832, stop=5118.175, target=5102.319. Pre-M15 range high=5128.475, low=5100.08.",
      "entry": 5111.832,
      "stop": 5118.175,
      "target": 5102.319,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-13T12:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-13T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T083000Z_short_00435",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5075.017, stop=5085.465, target=5059.346. Pre-M15 range high=5118.175, low=5061.72.",
      "entry": 5075.017,
      "stop": 5085.465,
      "target": 5059.346,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-13T14:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-13T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T133000Z_long_00436",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5099.074, stop=5092.065, target=5109.588. Pre-M15 range high=5122.01, low=5076.145.",
      "entry": 5099.074,
      "stop": 5092.065,
      "target": 5109.588,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-13T13:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-13T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260313T150000Z_short_00437",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5067.102, stop=5091.905, target=5029.898. Pre-M15 range high=5122.01, low=5035.535.",
      "entry": 5067.102,
      "stop": 5091.905,
      "target": 5029.898,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-13T15:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-13T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260313T163000Z_short_00439",
      "date": "2026-03-13",
      "timestamp": "2026-03-13T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5051.945, stop=5068.39, target=5027.277. Pre-M15 range high=5122.01, low=5019.2.",
      "entry": 5051.945,
      "stop": 5068.39,
      "target": 5027.277,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-13T16:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-13T16-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260315T233000Z_short_00440",
      "date": "2026-03-15",
      "timestamp": "2026-03-15T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-15T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5000.569, stop=5026.335, target=4961.919. Pre-M15 range high=5055.49, low=4967.775.",
      "entry": 5000.569,
      "stop": 5026.335,
      "target": 4961.919,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-16T00:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-15T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T013000Z_short_00441",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5007.758, stop=5026.66, target=4979.404. Pre-M15 range high=5031.005, low=4967.775.",
      "entry": 5007.758,
      "stop": 5026.66,
      "target": 4979.404,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-16T01:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-16T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T100000Z_short_00442",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-16T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4983.326, stop=4991.805, target=4970.608. Pre-M15 range high=5036.01, low=4970.23.",
      "entry": 4983.326,
      "stop": 4991.805,
      "target": 4970.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-16T10:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-16T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T120000Z_short_00443",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5008.046, stop=5020.04, target=4990.054. Pre-M15 range high=5022.825, low=4970.23.",
      "entry": 5008.046,
      "stop": 5020.04,
      "target": 4990.054,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-16T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-16T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T143000Z_long_00444",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5007.919, stop=4994.55, target=5027.974. Pre-M15 range high=5038.145, low=4970.23.",
      "entry": 5007.919,
      "stop": 4994.55,
      "target": 5027.974,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-16T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-16T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T163000Z_short_00445",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T16: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-03-16T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4992.273, stop=4998.8, target=4979.217. Pre-M15 range high=5038.145, low=4974.235.",
      "entry": 4992.273,
      "stop": 4998.8,
      "target": 4979.217,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-16T16:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-16T16-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260316T220000Z_long_00446",
      "date": "2026-03-16",
      "timestamp": "2026-03-16T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4998.027, stop=4990.045, target=5009.999. Pre-M15 range high=5021.835, low=4974.235.",
      "entry": 4998.027,
      "stop": 4990.045,
      "target": 5009.999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-17T01:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-16T22-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260317T123000Z_long_00449",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5008.789, stop=4999.485, target=5022.745. Pre-M15 range high=5029.625, low=4992.06.",
      "entry": 5008.789,
      "stop": 4999.485,
      "target": 5022.745,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-17T13:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-17T12-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260317T163000Z_short_00450",
      "date": "2026-03-17",
      "timestamp": "2026-03-17T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5007.202, stop=5017.65, target=4991.53. Pre-M15 range high=5031.59, low=4973.72.",
      "entry": 5007.202,
      "stop": 5017.65,
      "target": 4991.53,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-17T17:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-17T16-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260318T020000Z_short_00453",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5001.627, stop=5009.62, target=4989.639. Pre-M15 range high=5016.29, low=4991.455.",
      "entry": 5001.627,
      "stop": 5009.62,
      "target": 4989.639,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-18T02:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-18T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T033000Z_short_00454",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4998.304, stop=5004.345, target=4989.242. Pre-M15 range high=5016.29, low=4986.305.",
      "entry": 4998.304,
      "stop": 5004.345,
      "target": 4989.242,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-18T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-18T03-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260318T073000Z_long_00456",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=5002.737, stop=4996.19, target=5012.558. Pre-M15 range high=5016.53, low=4981.83.",
      "entry": 5002.737,
      "stop": 4996.19,
      "target": 5012.558,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-18T07:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-18T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T073000Z_long_00457",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T07: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-18T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4998.808, stop=4994.77, target=5006.883. Pre-M15 range high=5016.53, low=4981.83.",
      "entry": 4998.808,
      "stop": 4994.77,
      "target": 5006.883,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-18T07:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-18T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T103000Z_short_00458",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4987.3046,
      "stop": 4992.27,
      "target": 4979.8565,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-18T10-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T110000Z_short_00459",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4974.9888,
      "stop": 4987.685,
      "target": 4955.9445,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-18T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T113000Z_short_00460",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4961.9646,
      "stop": 4974.135,
      "target": 4943.709000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-18T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T113000Z_short_00461",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T11: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4960.5525,
      "stop": 4970.625,
      "target": 4940.407499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-18T11-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T133000Z_short_00462",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T13: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-03-18T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4881.288, stop=4891.705, target=4860.453. Pre-M15 range high=4995.85, low=4834.38.",
      "entry": 4881.288,
      "stop": 4891.705,
      "target": 4860.453,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-18T13:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-18T13-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T140000Z_short_00463",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4888.672, stop=4902.66, target=4867.691. Pre-M15 range high=4995.85, low=4834.38.",
      "entry": 4888.672,
      "stop": 4902.66,
      "target": 4867.691,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-18T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-18T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260318T220000Z_short_00464",
      "date": "2026-03-18",
      "timestamp": "2026-03-18T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-18T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4831.36, stop=4848.94, target=4804.99. Pre-M15 range high=4899.46, low=4806.845.",
      "entry": 4831.36,
      "stop": 4848.94,
      "target": 4804.99,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-18T22:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-18T22-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T060000Z_short_00465",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4838.051, stop=4846.635, target=4825.174. Pre-M15 range high=4867.225, low=4827.045.",
      "entry": 4838.051,
      "stop": 4846.635,
      "target": 4825.174,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-19T06:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-19T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T070000Z_short_00466",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4788.3423999999995,
      "stop": 4820.26,
      "target": 4740.4659999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-19T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260319T130000Z_short_00468",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4579.813, stop=4617.95, target=4522.608. Pre-M15 range high=4736.58, low=4502.365.",
      "entry": 4579.813,
      "stop": 4617.95,
      "target": 4522.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-19T13:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-19T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T140000Z_short_00469",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4631.696, stop=4654.25, target=4597.864. Pre-M15 range high=4726.02, low=4502.365.",
      "entry": 4631.696,
      "stop": 4654.25,
      "target": 4597.864,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-19T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-19T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T143000Z_short_00470",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4620.695, stop=4649.31, target=4577.771. Pre-M15 range high=4719.865, low=4502.365.",
      "entry": 4620.695,
      "stop": 4649.31,
      "target": 4577.771,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-19T14:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-19T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260319T143000Z_long_00471",
      "date": "2026-03-19",
      "timestamp": "2026-03-19T14: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4564.93,
      "stop": 4546.525,
      "target": 4601.740000000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-19T14-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T000000Z_short_00472",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4653.179, stop=4666.465, target=4633.251. Pre-M15 range high=4677.205, low=4596.115.",
      "entry": 4653.179,
      "stop": 4666.465,
      "target": 4633.251,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-20T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-20T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T020000Z_long_00473",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4677.97, stop=4661.03, target=4703.38. Pre-M15 range high=4699.53, low=4634.355.",
      "entry": 4677.97,
      "stop": 4661.03,
      "target": 4703.38,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-20T02:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-20T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260320T050000Z_long_00475",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4712.013, stop=4693.225, target=4740.195. Pre-M15 range high=4736.175, low=4639.42.",
      "entry": 4712.013,
      "stop": 4693.225,
      "target": 4740.195,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-20T05:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-20T05-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T110000Z_short_00476",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T11: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-03-20T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4659.852, stop=4670.135, target=4639.287. Pre-M15 range high=4734.96, low=4637.245.",
      "entry": 4659.852,
      "stop": 4670.135,
      "target": 4639.287,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-20T11:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-20T11-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T160000Z_short_00477",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4591.337, stop=4622.74, target=4544.233. Pre-M15 range high=4695.705, low=4540.785.",
      "entry": 4591.337,
      "stop": 4622.74,
      "target": 4544.233,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-20T16:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-20T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260320T173000Z_long_00478",
      "date": "2026-03-20",
      "timestamp": "2026-03-20T17: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-20T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4553.548, stop=4544.5, target=4571.643. Pre-M15 range high=4681.96, low=4540.785.",
      "entry": 4553.548,
      "stop": 4544.5,
      "target": 4571.643,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-20T18:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-20T17-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260322T220000Z_short_00479",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-22T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4522.284, stop=4557.44, target=4469.55. Pre-M15 range high=4614.065, low=4471.95.",
      "entry": 4522.284,
      "stop": 4557.44,
      "target": 4469.55,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-22T22:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-22T22-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260322T230000Z_short_00480",
      "date": "2026-03-22",
      "timestamp": "2026-03-22T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-22T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4510.472, stop=4526.675, target=4486.168. Pre-M15 range high=4583.17, low=4471.95.",
      "entry": 4510.472,
      "stop": 4526.675,
      "target": 4486.168,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-23T14:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-22T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260323T010000Z_short_00482",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4443.097, stop=4473.16, target=4398.002. Pre-M15 range high=4536.415, low=4319.92.",
      "entry": 4443.097,
      "stop": 4473.16,
      "target": 4398.002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-23T01:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-23T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T073000Z_short_00483",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4168.226, stop=4222.52, target=4086.785. Pre-M15 range high=4384.855, low=4099.125.",
      "entry": 4168.226,
      "stop": 4222.52,
      "target": 4086.785,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-23T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-23T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T073000Z_short_00484",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T07: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-03-23T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4196.59, stop=4230.11, target=4129.55. Pre-M15 range high=4384.855, low=4099.125.",
      "entry": 4196.59,
      "stop": 4230.11,
      "target": 4129.55,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-23T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-23T07-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T090000Z_short_00485",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4278.99, stop=4310.52, target=4231.694. Pre-M15 range high=4382.22, low=4099.125.",
      "entry": 4278.99,
      "stop": 4310.52,
      "target": 4231.694,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-23T09:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-23T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T093000Z_short_00486",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T09: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-23T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4262.538, stop=4308.625, target=4170.363. Pre-M15 range high=4380.155, low=4099.125.",
      "entry": 4262.538,
      "stop": 4308.625,
      "target": 4170.363,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-03-23T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-23T09-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_20260323T130000Z_long_00487",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4426.201, stop=4373.775, target=4504.84. Pre-M15 range high=4492.925, low=4211.41.",
      "entry": 4426.201,
      "stop": 4373.775,
      "target": 4504.84,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-23T13:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-23T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260323T170000Z_short_00488",
      "date": "2026-03-23",
      "timestamp": "2026-03-23T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4409.772, stop=4456.24, target=4340.069. Pre-M15 range high=4513.165, low=4350.63.",
      "entry": 4409.772,
      "stop": 4456.24,
      "target": 4340.069,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-23T17:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-23T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T000000Z_long_00489",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4384.362, stop=4359.74, target=4421.296. Pre-M15 range high=4467.27, low=4359.74.",
      "entry": 4384.362,
      "stop": 4359.74,
      "target": 4421.296,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-24T00:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260324T020000Z_short_00491",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4341.957, stop=4368.645, target=4301.924. Pre-M15 range high=4448.355, low=4305.88.",
      "entry": 4341.957,
      "stop": 4368.645,
      "target": 4301.924,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-24T02:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T054500Z_long_00492",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T05: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4340.32,
      "stop": 4333.905,
      "target": 4353.15,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-03-24T05-45-00Z_long_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_20260324T073000Z_long_00494",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T07: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": "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 09:55, touch at 10:00.",
      "entry": 4390.0,
      "stop": 4376.0,
      "target": 4415.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.78,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Follow up long setup in bullish H1 trend. Fib touch at 10:00. Acceptable shadow trade.",
      "source_candidate_id": "candidate_2026-03-24T07-30-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_20260324T083000Z_short_00496",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4408.018, stop=4421.165, target=4388.297. Pre-M15 range high=4433.31, low=4320.04.",
      "entry": 4408.018,
      "stop": 4421.165,
      "target": 4388.297,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-24T08:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T124500Z_short_00497",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T12: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-03-24T12:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4406.68, stop=4438.62, target=4342.8. Pre-M15 range high=4442.245, low=4362.065.",
      "entry": 4406.68,
      "stop": 4438.62,
      "target": 4342.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-03-24T14:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T12-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T130000Z_short_00498",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4387.147, stop=4406.855, target=4357.586. Pre-M15 range high=4442.245, low=4362.065.",
      "entry": 4387.147,
      "stop": 4406.855,
      "target": 4357.586,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-24T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T150000Z_long_00499",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4395.929, stop=4380.855, target=4418.541. Pre-M15 range high=4442.245, low=4351.09.",
      "entry": 4395.929,
      "stop": 4380.855,
      "target": 4418.541,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-24T17:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T174500Z_short_00500",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T17: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-03-24T17:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4400.038, stop=4406.015, target=4388.083. Pre-M15 range high=4434.31, low=4351.09.",
      "entry": 4400.038,
      "stop": 4406.015,
      "target": 4388.083,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-24T18:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-24T17-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260324T180000Z_short_00501",
      "date": "2026-03-24",
      "timestamp": "2026-03-24T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4409.831, stop=4426.69, target=4384.543. Pre-M15 range high=4434.31, low=4351.09.",
      "entry": 4409.831,
      "stop": 4426.69,
      "target": 4384.543,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-24T18:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-24T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T073000Z_long_00502",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4553.005, stop=4544.885, target=4565.185. Pre-M15 range high=4602.645, low=4533.145.",
      "entry": 4553.005,
      "stop": 4544.885,
      "target": 4565.185,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-25T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T080000Z_long_00503",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T08:00: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-03-25T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4553.888, stop=4536.05, target=4589.563. Pre-M15 range high=4579.685, low=4533.145.",
      "entry": 4553.888,
      "stop": 4536.05,
      "target": 4589.563,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-03-25T08:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T08-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_20260325T093000Z_long_00504",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4550.211, stop=4536.05, target=4571.453. Pre-M15 range high=4574.04, low=4533.145.",
      "entry": 4550.211,
      "stop": 4536.05,
      "target": 4571.453,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-25T09:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T103000Z_long_00505",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Massive liquidity sweep at 09:45 down to 4527, followed by strong H1 rejection wick.",
      "ltf_trigger": "Pullback at 10:30 only reached 4551, failing to tap the 50% Fib at 4544.",
      "entry": 4551.39,
      "stop": 4527.89,
      "target": 4585.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Direction played out perfectly (rallied to 4585), but pullback was too shallow (missed 50% Fib).",
      "source_candidate_id": "candidate_2026-03-25T10-30-00Z_long_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_20260325T120000Z_long_00506",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4568.024, stop=4556.21, target=4585.745. Pre-M15 range high=4585.6, low=4527.89.",
      "entry": 4568.024,
      "stop": 4556.21,
      "target": 4585.745,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-25T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260325T133000Z_long_00508",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4554.533, stop=4541.3, target=4574.382. Pre-M15 range high=4585.6, low=4521.88.",
      "entry": 4554.533,
      "stop": 4541.3,
      "target": 4574.382,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-25T13:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T193000Z_short_00509",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4516.354, stop=4539.74, target=4481.275. Pre-M15 range high=4579.44, low=4486.59.",
      "entry": 4516.354,
      "stop": 4539.74,
      "target": 4481.275,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-25T19:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T19-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260325T220000Z_short_00510",
      "date": "2026-03-25",
      "timestamp": "2026-03-25T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-25T22:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4511.735, stop=4525.12, target=4491.658. Pre-M15 range high=4569.025, low=4486.59.",
      "entry": 4511.735,
      "stop": 4525.12,
      "target": 4491.658,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-25T22:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-25T22-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260326T033000Z_short_00512",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4519.65, stop=4530.63, target=4503.18. Pre-M15 range high=4544.815, low=4489.075.",
      "entry": 4519.65,
      "stop": 4530.63,
      "target": 4503.18,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-26T04:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-26T03-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T100000Z_short_00513",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-26T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4444.418, stop=4459.455, target=4421.862. Pre-M15 range high=4511.45, low=4412.44.",
      "entry": 4444.418,
      "stop": 4459.455,
      "target": 4421.862,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-26T10:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-26T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T120000Z_short_00514",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4437.663, stop=4452.06, target=4416.068. Pre-M15 range high=4463.995, low=4412.44.",
      "entry": 4437.663,
      "stop": 4452.06,
      "target": 4416.068,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-26T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-26T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260326T200000Z_short_00515",
      "date": "2026-03-26",
      "timestamp": "2026-03-26T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4418.059, stop=4442.785, target=4380.97. Pre-M15 range high=4458.74, low=4351.355.",
      "entry": 4418.059,
      "stop": 4442.785,
      "target": 4380.97,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-26T20:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-26T20-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260327T113000Z_short_00520",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-03-27T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4421.785, stop=4430.605, target=4408.556. Pre-M15 range high=4465.38, low=4404.58.",
      "entry": 4421.785,
      "stop": 4430.605,
      "target": 4408.556,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-27T11:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-27T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260327T114500Z_short_00521",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T11: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-03-27T11:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4427.805, stop=4431.61, target=4420.195. Pre-M15 range high=4463.14, low=4404.58.",
      "entry": 4427.805,
      "stop": 4431.61,
      "target": 4420.195,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-27T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-27T11-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260327T153000Z_long_00522",
      "date": "2026-03-27",
      "timestamp": "2026-03-27T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4525.474, stop=4501.78, target=4561.015. Pre-M15 range high=4555.63, low=4404.58.",
      "entry": 4525.474,
      "stop": 4501.78,
      "target": 4561.015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-27T15:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-27T15-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T000000Z_short_00523",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4459.897, stop=4472.43, target=4441.096. Pre-M15 range high=4528.755, low=4417.43.",
      "entry": 4459.897,
      "stop": 4472.43,
      "target": 4441.096,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-03-30T00:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-30T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T033000Z_long_00524",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4496.29, stop=4479.095, target=4522.083. Pre-M15 range high=4518.175, low=4417.43.",
      "entry": 4496.29,
      "stop": 4479.095,
      "target": 4522.083,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-30T03:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-30T03-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260330T064500Z_long_00526",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T06: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-30T06:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4531.278, stop=4526.89, target=4540.052. Pre-M15 range high=4550.855, low=4458.89.",
      "entry": 4531.278,
      "stop": 4526.89,
      "target": 4540.052,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-30T07:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-30T06-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T120000Z_long_00527",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4557.157, stop=4538.635, target=4584.939. Pre-M15 range high=4580.73, low=4515.87.",
      "entry": 4557.157,
      "stop": 4538.635,
      "target": 4584.939,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-30T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-30T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T133000Z_long_00528",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4535.734, stop=4525.645, target=4550.868. Pre-M15 range high=4580.73, low=4523.605.",
      "entry": 4535.734,
      "stop": 4525.645,
      "target": 4550.868,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-30T13:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-30T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T150000Z_long_00529",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4528.144, stop=4517.615, target=4543.938. Pre-M15 range high=4580.73, low=4512.57.",
      "entry": 4528.144,
      "stop": 4517.615,
      "target": 4543.938,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-30T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-03-30T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260330T163000Z_long_00530",
      "date": "2026-03-30",
      "timestamp": "2026-03-30T16: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-03-30T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4529.493, stop=4524.7, target=4539.078. Pre-M15 range high=4580.73, low=4512.57.",
      "entry": 4529.493,
      "stop": 4524.7,
      "target": 4539.078,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-30T17:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-30T16-30-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_20260331T020000Z_long_00532",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-31T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4595.836, stop=4577.435, target=4623.437. Pre-M15 range high=4619.255, low=4482.66.",
      "entry": 4595.836,
      "stop": 4577.435,
      "target": 4623.437,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-31T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-31T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260331T030000Z_long_00533",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-31T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4555.697, stop=4532.15, target=4591.016. Pre-M15 range high=4619.255, low=4482.66.",
      "entry": 4555.697,
      "stop": 4532.15,
      "target": 4591.016,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-31T03:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-31T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260331T033000Z_long_00534",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T03: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-03-31T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4541.507, stop=4532.15, target=4560.222. Pre-M15 range high=4619.255, low=4482.66.",
      "entry": 4541.507,
      "stop": 4532.15,
      "target": 4560.222,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-03-31T10:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-31T03-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260331T051500Z_short_00535",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T05: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-31T05:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4565.188, stop=4569.39, target=4556.782. Pre-M15 range high=4619.255, low=4506.465.",
      "entry": 4565.188,
      "stop": 4569.39,
      "target": 4556.782,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-03-31T05:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-31T05-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260331T093000Z_long_00536",
      "date": "2026-03-31",
      "timestamp": "2026-03-31T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-31T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4558.209, stop=4552.005, target=4567.515. Pre-M15 range high=4581.94, low=4543.51.",
      "entry": 4558.209,
      "stop": 4552.005,
      "target": 4567.515,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-03-31T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-03-31T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T003000Z_long_00537",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4706.106, stop=4693.52, target=4724.985. Pre-M15 range high=4722.6, low=4661.86.",
      "entry": 4706.106,
      "stop": 4693.52,
      "target": 4724.985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T00:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-01T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T010000Z_long_00538",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4689.702, stop=4681.63, target=4701.809. Pre-M15 range high=4724.52, low=4662.125.",
      "entry": 4689.702,
      "stop": 4681.63,
      "target": 4701.809,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T01:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-01T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260401T070000Z_long_00540",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-01T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4715.844, stop=4702.18, target=4736.341. Pre-M15 range high=4733.235, low=4667.195.",
      "entry": 4715.844,
      "stop": 4702.18,
      "target": 4736.341,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T07:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-01T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T074500Z_long_00541",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T07:45: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-04-01T07:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4707.595, stop=4702.18, target=4718.425. Pre-M15 range high=4747.815, low=4667.195.",
      "entry": 4707.595,
      "stop": 4702.18,
      "target": 4718.425,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-02T01:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-01T07-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T090000Z_long_00542",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-01T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4721.771, stop=4710.445, target=4738.759. Pre-M15 range high=4747.815, low=4667.195.",
      "entry": 4721.771,
      "stop": 4710.445,
      "target": 4738.759,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T09:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-01T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T183000Z_long_00543",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4750.004, stop=4735.18, target=4772.239. Pre-M15 range high=4793.195, low=4724.3.",
      "entry": 4750.004,
      "stop": 4735.18,
      "target": 4772.239,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T18:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-01T18-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260401T233000Z_long_00544",
      "date": "2026-04-01",
      "timestamp": "2026-04-01T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4785.09, stop=4773.795, target=4802.032. Pre-M15 range high=4800.8, low=4742.17.",
      "entry": 4785.09,
      "stop": 4773.795,
      "target": 4802.032,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-01T23:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-01T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260402T010000Z_long_00545",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4762.555, stop=4751.98, target=4778.418. Pre-M15 range high=4800.8, low=4724.635.",
      "entry": 4762.555,
      "stop": 4751.98,
      "target": 4778.418,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-02T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-02T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260402T073000Z_short_00546",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4638.059, stop=4679.155, target=4576.415. Pre-M15 range high=4699.52, low=4553.85.",
      "entry": 4638.059,
      "stop": 4679.155,
      "target": 4576.415,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-02T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-02T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260402T120000Z_short_00547",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4606.929, stop=4617.955, target=4590.389. Pre-M15 range high=4651.505, low=4592.895.",
      "entry": 4606.929,
      "stop": 4617.955,
      "target": 4590.389,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-02T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-02T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260402T130000Z_short_00548",
      "date": "2026-04-02",
      "timestamp": "2026-04-02T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4615.276, stop=4627.055, target=4597.608. Pre-M15 range high=4645.195, low=4580.65.",
      "entry": 4615.276,
      "stop": 4627.055,
      "target": 4597.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-02T13:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-02T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T003000Z_short_00549",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T00: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-04-06T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4616.852, stop=4626.67, target=4597.217. Pre-M15 range high=4682.01, low=4600.85.",
      "entry": 4616.852,
      "stop": 4626.67,
      "target": 4597.217,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-06T00:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-06T00-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T010000Z_short_00550",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4632.924, stop=4651.415, target=4605.188. Pre-M15 range high=4678.26, low=4600.85.",
      "entry": 4632.924,
      "stop": 4651.415,
      "target": 4605.188,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-06T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-06T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T013000Z_long_00551",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4630.564, stop=4620.605, target=4645.503. Pre-M15 range high=4678.11, low=4600.85.",
      "entry": 4630.564,
      "stop": 4620.605,
      "target": 4645.503,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-06T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-06T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T023000Z_long_00552",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4644.898, stop=4623.815, target=4676.521. Pre-M15 range high=4678.11, low=4600.85.",
      "entry": 4644.898,
      "stop": 4623.815,
      "target": 4676.521,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-06T02:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-06T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260406T140000Z_long_00553",
      "date": "2026-04-06",
      "timestamp": "2026-04-06T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4670.065, stop=4660.79, target=4683.978. Pre-M15 range high=4706.875, low=4659.655.",
      "entry": 4670.065,
      "stop": 4660.79,
      "target": 4683.978,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-06T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-06T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260407T023000Z_short_00555",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4642.304, stop=4662.555, target=4611.927. Pre-M15 range high=4667.97, low=4616.53.",
      "entry": 4642.304,
      "stop": 4662.555,
      "target": 4611.927,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-07T02:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-07T02-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260407T053000Z_short_00556",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4647.821, stop=4661.36, target=4627.513. Pre-M15 range high=4664.53, low=4616.53.",
      "entry": 4647.821,
      "stop": 4661.36,
      "target": 4627.513,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-07T06:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-07T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260407T093000Z_long_00558",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-07T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4665.0, stop=4644.395, target=4695.908. Pre-M15 range high=4694.905, low=4623.475.",
      "entry": 4665.0,
      "stop": 4644.395,
      "target": 4695.908,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-07T09:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-07T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260407T141500Z_short_00560",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T14: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-07T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4645.712, stop=4654.23, target=4628.677. Pre-M15 range high=4687.215, low=4607.63.",
      "entry": 4645.712,
      "stop": 4654.23,
      "target": 4628.677,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-07T14:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-07T14-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260407T183000Z_long_00561",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4671.869, stop=4660.18, target=4689.401. Pre-M15 range high=4686.745, low=4607.63.",
      "entry": 4671.869,
      "stop": 4660.18,
      "target": 4689.401,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-07T18:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-07T18-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260407T193000Z_long_00562",
      "date": "2026-04-07",
      "timestamp": "2026-04-07T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4679.3382,
      "stop": 4660.735,
      "target": 4707.243,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-07T19-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260408T014500Z_short_00564",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T01: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-08T01:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4815.733, stop=4825.325, target=4796.548. Pre-M15 range high=4858.215, low=4697.415.",
      "entry": 4815.733,
      "stop": 4825.325,
      "target": 4796.548,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-08T02:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-08T01-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260408T130000Z_long_00565",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4792.121, stop=4783.695, target=4804.76. Pre-M15 range high=4819.935, low=4768.4.",
      "entry": 4792.121,
      "stop": 4783.695,
      "target": 4804.76,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-08T13:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-08T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260408T150000Z_short_00566",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4753.495, stop=4770.145, target=4728.521. Pre-M15 range high=4807.42, low=4732.305.",
      "entry": 4753.495,
      "stop": 4770.145,
      "target": 4728.521,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-08T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-08T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260408T194500Z_short_00567",
      "date": "2026-04-08",
      "timestamp": "2026-04-08T19: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-04-08T19:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4735.87, stop=4744.605, target=4718.4. Pre-M15 range high=4765.675, low=4699.305.",
      "entry": 4735.87,
      "stop": 4744.605,
      "target": 4718.4,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-09T10:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-08T19-45-00Z_short_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_20260409T013000Z_long_00569",
      "date": "2026-04-09",
      "timestamp": "2026-04-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-04-09T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4712.81, stop=4706.32, target=4725.79. Pre-M15 range high=4732.365, low=4698.725.",
      "entry": 4712.81,
      "stop": 4706.32,
      "target": 4725.79,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-09T03:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-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_20260409T024500Z_short_00570",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T02:45: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-04-09T02:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4722.93, stop=4733.04, target=4702.71. Pre-M15 range high=4733.04, low=4698.725.",
      "entry": 4722.93,
      "stop": 4733.04,
      "target": 4702.71,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-04-09T02:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-09T02-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_20260409T053000Z_long_00571",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T05: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-09T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4717.335, stop=4710.87, target=4730.265. Pre-M15 range high=4733.04, low=4699.905.",
      "entry": 4717.335,
      "stop": 4710.87,
      "target": 4730.265,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-09T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-09T05-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260409T060000Z_short_00572",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4717.508, stop=4726.565, target=4703.921. Pre-M15 range high=4733.04, low=4703.065.",
      "entry": 4717.508,
      "stop": 4726.565,
      "target": 4703.921,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-09T06:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-09T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260409T120000Z_long_00573",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4749.542, stop=4743.16, target=4759.115. Pre-M15 range high=4759.87, low=4705.53.",
      "entry": 4749.542,
      "stop": 4743.16,
      "target": 4759.115,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-09T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-09T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260409T120000Z_short_00574",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T12: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-04-09T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4747.615, stop=4759.87, target=4723.105. Pre-M15 range high=4759.87, low=4705.53.",
      "entry": 4747.615,
      "stop": 4759.87,
      "target": 4723.105,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-04-09T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-09T12-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_20260409T143000Z_long_00575",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T14: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-04-09T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4755.37, stop=4751.945, target=4762.22. Pre-M15 range high=4777.085, low=4723.765.",
      "entry": 4755.37,
      "stop": 4751.945,
      "target": 4762.22,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-09T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-09T14-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260409T160000Z_long_00576",
      "date": "2026-04-09",
      "timestamp": "2026-04-09T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4787.06, stop=4778.28, target=4800.23. Pre-M15 range high=4801.28, low=4735.065.",
      "entry": 4787.06,
      "stop": 4778.28,
      "target": 4800.23,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-09T16:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-09T16-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T003000Z_short_00577",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T00: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-04-10T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4761.54, stop=4764.41, target=4755.8. Pre-M15 range high=4782.59, low=4750.535.",
      "entry": 4761.54,
      "stop": 4764.41,
      "target": 4755.8,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-10T00:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-10T00-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T010000Z_long_00578",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4758.09, stop=4753.84, target=4764.466. Pre-M15 range high=4780.79, low=4750.535.",
      "entry": 4758.09,
      "stop": 4753.84,
      "target": 4764.466,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-10T01:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260410T030000Z_short_00580",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4755.351, stop=4765.59, target=4739.993. Pre-M15 range high=4777.42, low=4738.105.",
      "entry": 4755.351,
      "stop": 4765.59,
      "target": 4739.993,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-10T03:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-10T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T090000Z_short_00581",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4759.795, stop=4766.01, target=4750.472. Pre-M15 range high=4770.9, low=4730.74.",
      "entry": 4759.795,
      "stop": 4766.01,
      "target": 4750.472,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-10T09:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260410T130000Z_long_00584",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4771.111, stop=4762.08, target=4784.657. Pre-M15 range high=4782.605, low=4730.74.",
      "entry": 4771.111,
      "stop": 4762.08,
      "target": 4784.657,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-10T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T143000Z_long_00585",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4778.603, stop=4767.35, target=4795.483. Pre-M15 range high=4794.98, low=4742.33.",
      "entry": 4778.603,
      "stop": 4767.35,
      "target": 4795.483,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-10T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-10T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260410T203000Z_short_00586",
      "date": "2026-04-10",
      "timestamp": "2026-04-10T20:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-10T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4751.714, stop=4760.125, target=4739.099. Pre-M15 range high=4773.35, low=4741.01.",
      "entry": 4751.714,
      "stop": 4760.125,
      "target": 4739.099,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-10T20:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-10T20-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260412T233000Z_short_00587",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4667.451, stop=4685.41, target=4640.514. Pre-M15 range high=4773.35, low=4644.465.",
      "entry": 4667.451,
      "stop": 4685.41,
      "target": 4640.514,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-12T23:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-12T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260412T234500Z_short_00588",
      "date": "2026-04-12",
      "timestamp": "2026-04-12T23: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-12T23:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4675.727, stop=4685.41, target=4656.363. Pre-M15 range high=4773.35, low=4644.465.",
      "entry": 4675.727,
      "stop": 4685.41,
      "target": 4656.363,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-13T00:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-12T23-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T014500Z_long_00589",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T01: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": "Massive Monday gap up and aggressive bullish H1 momentum from 4671 to 4721.",
      "ltf_trigger": "M15 pullback at 01:30 creates short-term low at 4710.77. 01:45 candle sweeps to 4710.24 and immediately reverses to break highs (C=4721, H=4728). Good momentum play, misses strict OTE discount.",
      "entry": 4715.0,
      "stop": 4709.0,
      "target": 4725.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.6,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 liquidity sweep of 01:30 low (4710.77 -> 4710.24), strong momentum continuation, but did not reach 50% Fib of the impulsive M15 leg (4708).",
      "source_candidate_id": "candidate_2026-04-13T01-45-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00486_00489.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T043000Z_long_00590",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T04: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": "H1 consolidating bullish impulse. Price returned to 50% OTE discount (4710) of the 4693-4728 leg.",
      "ltf_trigger": "04:30 tests 4709.21, respecting the 04:00 low of 4708.64. Bullish engulfing close at 4718 followed by immediate rally to 4725. Viable M5 entry but lacks major sweep.",
      "entry": 4715.0,
      "stop": 4708.0,
      "target": 4725.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Re-test of Fib 50% discount zone (4710). 04:30 sweeps 04:15 low but forms a higher low relative to 04:00 (4708.64), then rejects strongly. Good follow-through but lacks clear structural sweep of the swing low.",
      "source_candidate_id": "candidate_2026-04-13T04-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00486_00489.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T090000Z_short_00591",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4729.415, stop=4736.475, target=4718.826. Pre-M15 range high=4740.03, low=4709.215.",
      "entry": 4729.415,
      "stop": 4736.475,
      "target": 4718.826,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-13T13:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-13T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260413T120000Z_short_00592",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4714.046, stop=4722.43, target=4701.469. Pre-M15 range high=4740.03, low=4703.375.",
      "entry": 4714.046,
      "stop": 4722.43,
      "target": 4701.469,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-13T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-13T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260413T143000Z_short_00594",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4721.756, stop=4731.37, target=4707.335. Pre-M15 range high=4744.64, low=4703.375.",
      "entry": 4721.756,
      "stop": 4731.37,
      "target": 4707.335,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-13T14:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-13T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260413T153000Z_short_00596",
      "date": "2026-04-13",
      "timestamp": "2026-04-13T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4711.533, stop=4720.15, target=4698.607. Pre-M15 range high=4744.64, low=4700.565.",
      "entry": 4711.533,
      "stop": 4720.15,
      "target": 4698.607,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-13T15:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-13T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T000000Z_long_00597",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4752.271, stop=4746.355, target=4761.145. Pre-M15 range high=4765.805, low=4723.54.",
      "entry": 4752.271,
      "stop": 4746.355,
      "target": 4761.145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-14T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-14T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T010000Z_long_00598",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4767.871, stop=4761.425, target=4777.54. Pre-M15 range high=4777.385, low=4734.955.",
      "entry": 4767.871,
      "stop": 4761.425,
      "target": 4777.54,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-14T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T043000Z_long_00599",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4771.491, stop=4767.095, target=4778.084. Pre-M15 range high=4777.385, low=4751.77.",
      "entry": 4771.491,
      "stop": 4767.095,
      "target": 4778.084,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-14T05:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T04-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T070000Z_long_00600",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-14T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4772.532, stop=4764.335, target=4784.828. Pre-M15 range high=4796.63, low=4757.855.",
      "entry": 4772.532,
      "stop": 4764.335,
      "target": 4784.828,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-14T07:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-14T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T071500Z_short_00601",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T07: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-04-14T07:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4774.382, stop=4776.055, target=4771.037. Pre-M15 range high=4796.63, low=4757.855.",
      "entry": 4774.382,
      "stop": 4776.055,
      "target": 4771.037,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-14T07:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T07-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T111500Z_short_00602",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T11:15: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-14T11:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4784.417, stop=4788.31, target=4776.632. Pre-M15 range high=4796.63, low=4751.22.",
      "entry": 4784.417,
      "stop": 4788.31,
      "target": 4776.632,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-14T13:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T11-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T133000Z_long_00603",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4780.5856,
      "stop": 4771.185,
      "target": 4794.6865,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-14T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T143000Z_long_00604",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4800.906, stop=4793.065, target=4812.667. Pre-M15 range high=4818.33, low=4751.22.",
      "entry": 4800.906,
      "stop": 4793.065,
      "target": 4812.667,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-14T14:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260414T150000Z_long_00605",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4790.647, stop=4780.32, target=4806.137. Pre-M15 range high=4818.33, low=4751.22.",
      "entry": 4790.647,
      "stop": 4780.32,
      "target": 4806.137,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-15T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-14T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260414T230000Z_short_00607",
      "date": "2026-04-14",
      "timestamp": "2026-04-14T23: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-04-14T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4840.505, stop=4843.3, target=4834.915. Pre-M15 range high=4850.88, low=4824.95.",
      "entry": 4840.505,
      "stop": 4843.3,
      "target": 4834.915,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-14T23:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-14T23-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T013000Z_long_00608",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4847.275, stop=4828.335, target=4875.685. Pre-M15 range high=4871.38, low=4827.285.",
      "entry": 4847.275,
      "stop": 4828.335,
      "target": 4875.685,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-15T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T021500Z_long_00609",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T02: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-15T02:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4835.105, stop=4833.705, target=4837.905. Pre-M15 range high=4871.38, low=4827.285.",
      "entry": 4835.105,
      "stop": 4833.705,
      "target": 4837.905,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-04-15T02:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T02-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T033000Z_short_00610",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4831.9275,
      "stop": 4835.52,
      "target": 4824.7424999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-15T03-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T090000Z_long_00611",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-15T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4812.739, stop=4805.56, target=4823.507. Pre-M15 range high=4830.53, low=4792.82.",
      "entry": 4812.739,
      "stop": 4805.56,
      "target": 4823.507,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-15T09:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T110000Z_short_00612",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4807.797, stop=4819.565, target=4790.145. Pre-M15 range high=4822.25, low=4786.08.",
      "entry": 4807.797,
      "stop": 4819.565,
      "target": 4790.145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-15T11:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T140000Z_long_00613",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14: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-04-15T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4820.743, stop=4815.935, target=4830.358. Pre-M15 range high=4830.31, low=4786.08.",
      "entry": 4820.743,
      "stop": 4815.935,
      "target": 4830.358,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-15T14:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T14-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T143000Z_long_00614",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4814.536, stop=4808.57, target=4823.486. Pre-M15 range high=4830.615, low=4786.08.",
      "entry": 4814.536,
      "stop": 4808.57,
      "target": 4823.486,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-15T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-15T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260415T153000Z_short_00615",
      "date": "2026-04-15",
      "timestamp": "2026-04-15T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4808.037, stop=4816.155, target=4795.86. Pre-M15 range high=4830.615, low=4787.145.",
      "entry": 4808.037,
      "stop": 4816.155,
      "target": 4795.86,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-15T16:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-15T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T003000Z_long_00616",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4819.969, stop=4814.605, target=4828.014. Pre-M15 range high=4837.81, low=4787.895.",
      "entry": 4819.969,
      "stop": 4814.605,
      "target": 4828.014,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-16T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T010000Z_long_00617",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4828.03, stop=4820.345, target=4839.556. Pre-M15 range high=4837.81, low=4787.895.",
      "entry": 4828.03,
      "stop": 4820.345,
      "target": 4839.556,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-16T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T013000Z_long_00618",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4811.276, stop=4807.615, target=4816.767. Pre-M15 range high=4837.81, low=4787.895.",
      "entry": 4811.276,
      "stop": 4807.615,
      "target": 4816.767,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-16T08:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T063000Z_short_00619",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T06: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-04-16T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4824.712, stop=4828.16, target=4817.817. Pre-M15 range high=4838.56, low=4812.465.",
      "entry": 4824.712,
      "stop": 4828.16,
      "target": 4817.817,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-16T06:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T06-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T070000Z_long_00620",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-16T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4821.898, stop=4814.99, target=4832.26. Pre-M15 range high=4838.56, low=4812.465.",
      "entry": 4821.898,
      "stop": 4814.99,
      "target": 4832.26,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-16T07:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T083000Z_short_00621",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4815.554, stop=4822.07, target=4805.779. Pre-M15 range high=4838.56, low=4806.59.",
      "entry": 4815.554,
      "stop": 4822.07,
      "target": 4805.779,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-16T09:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-16T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T133000Z_long_00622",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4810.645, stop=4805.165, target=4818.865. Pre-M15 range high=4824.04, low=4805.165.",
      "entry": 4810.645,
      "stop": 4805.165,
      "target": 4818.865,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-16T13:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-16T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T140000Z_short_00623",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4806.744, stop=4824.04, target=4780.799. Pre-M15 range high=4824.04, low=4784.73.",
      "entry": 4806.744,
      "stop": 4824.04,
      "target": 4780.799,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-16T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-16T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T150000Z_short_00624",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4816.9349999999995,
      "stop": 4822.28,
      "target": 4806.244999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-16T15-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T150000Z_short_00625",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4788.417, stop=4800.865, target=4769.746. Pre-M15 range high=4824.04, low=4772.575.",
      "entry": 4788.417,
      "stop": 4800.865,
      "target": 4769.746,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-16T16:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-16T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260416T150000Z_short_00626",
      "date": "2026-04-16",
      "timestamp": "2026-04-16T15:00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4818.342500000001,
      "stop": 4824.04,
      "target": 4806.947500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-16T15-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260417T013000Z_short_00627",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4783.434, stop=4795.675, target=4765.073. Pre-M15 range high=4801.3, low=4767.845.",
      "entry": 4783.434,
      "stop": 4795.675,
      "target": 4765.073,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-17T01:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-17T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260417T093000Z_long_00628",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-04-17T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4790.015, stop=4784.46, target=4798.347. Pre-M15 range high=4806.2, low=4778.81.",
      "entry": 4790.015,
      "stop": 4784.46,
      "target": 4798.347,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-17T10:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-17T09-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260417T140000Z_long_00629",
      "date": "2026-04-17",
      "timestamp": "2026-04-17T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4863.298, stop=4848.51, target=4885.481. Pre-M15 range high=4891.54, low=4782.255.",
      "entry": 4863.298,
      "stop": 4848.51,
      "target": 4885.481,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-17T14:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-17T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260419T223000Z_long_00630",
      "date": "2026-04-19",
      "timestamp": "2026-04-19T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T22:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4781.578, stop=4771.055, target=4797.362. Pre-M15 range high=4869.665, low=4771.055.",
      "entry": 4781.578,
      "stop": 4771.055,
      "target": 4797.362,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-19T22:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-19T22-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T000000Z_short_00631",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4757.469, stop=4773.685, target=4733.145. Pre-M15 range high=4868.11, low=4736.83.",
      "entry": 4757.469,
      "stop": 4773.685,
      "target": 4733.145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-20T00:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-20T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T061500Z_short_00632",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T06: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-20T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4787.48, stop=4789.54, target=4783.36. Pre-M15 range high=4814.46, low=4779.54.",
      "entry": 4787.48,
      "stop": 4789.54,
      "target": 4783.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-20T06:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-20T06-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T083000Z_short_00633",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4793.661, stop=4798.97, target=4785.698. Pre-M15 range high=4805.795, low=4779.54.",
      "entry": 4793.661,
      "stop": 4798.97,
      "target": 4785.698,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-20T08:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-20T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T123000Z_long_00634",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4798.02, stop=4787.9, target=4813.2. Pre-M15 range high=4822.175, low=4783.72.",
      "entry": 4798.02,
      "stop": 4787.9,
      "target": 4813.2,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-20T14:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-20T12-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T130000Z_long_00635",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T13: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": "H4 sweeping lows and expanding upwards; M30 printed strong bullish pinbar/reversal at 12:30-13:00.",
      "ltf_trigger": "M15 impulse from 4803 to 4815, pullback to 4810/4812 in subsequent candle offers OTE. SL below 12:45 swing low (4799). Target local highs 4825.",
      "entry": 4812.5,
      "stop": 4799.0,
      "target": 4825.9,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 0.99,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Strong M15 displacement at 13:00 (O:4803 to C:4815) breaking short-term highs, confirming earlier sweep at 12:45.",
      "source_candidate_id": "candidate_2026-04-20T13-00-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00535_00538.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T140000Z_long_00636",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-20T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4811.227, stop=4799.695, target=4828.526. Pre-M15 range high=4826.355, low=4783.72.",
      "entry": 4811.227,
      "stop": 4799.695,
      "target": 4828.526,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-20T14:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-20T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T170000Z_short_00637",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-20T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4812.26, stop=4827.695, target=4789.107. Pre-M15 range high=4827.695, low=4792.615.",
      "entry": 4812.26,
      "stop": 4827.695,
      "target": 4789.107,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-20T17:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-20T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260420T191500Z_long_00638",
      "date": "2026-04-20",
      "timestamp": "2026-04-20T19:15: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-20T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4814.88, stop=4813.245, target=4818.15. Pre-M15 range high=4827.695, low=4792.615.",
      "entry": 4814.88,
      "stop": 4813.245,
      "target": 4818.15,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-20T19:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-20T19-15-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_20260421T113000Z_short_00640",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4783.826, stop=4790.375, target=4774.002. Pre-M15 range high=4795.1, low=4772.885.",
      "entry": 4783.826,
      "stop": 4790.375,
      "target": 4774.002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-21T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-21T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260421T123000Z_short_00641",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4789.167, stop=4796.995, target=4777.426. Pre-M15 range high=4798.03, low=4766.545.",
      "entry": 4789.167,
      "stop": 4796.995,
      "target": 4777.426,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-21T12:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-21T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260421T150000Z_short_00643",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4752.607, stop=4775.265, target=4718.621. Pre-M15 range high=4798.03, low=4723.77.",
      "entry": 4752.607,
      "stop": 4775.265,
      "target": 4718.621,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-21T15:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-21T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260421T200000Z_short_00644",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-21T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4694.531, stop=4714.89, target=4663.993. Pre-M15 range high=4757.83, low=4668.62.",
      "entry": 4694.531,
      "stop": 4714.89,
      "target": 4663.993,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-21T20:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-21T20-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260421T201500Z_short_00645",
      "date": "2026-04-21",
      "timestamp": "2026-04-21T20: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-04-21T20:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4710.028, stop=4715.06, target=4699.962. Pre-M15 range high=4750.28, low=4668.62.",
      "entry": 4710.028,
      "stop": 4715.06,
      "target": 4699.962,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-21T20:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-21T20-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260422T060000Z_long_00646",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4760.878, stop=4752.32, target=4773.715. Pre-M15 range high=4772.0, low=4737.97.",
      "entry": 4760.878,
      "stop": 4752.32,
      "target": 4773.715,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-22T06:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-22T06-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260422T110000Z_long_00647",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4756.713, stop=4753.805, target=4761.076. Pre-M15 range high=4772.385, low=4745.89.",
      "entry": 4756.713,
      "stop": 4753.805,
      "target": 4761.076,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-22T11:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-22T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260422T124500Z_short_00648",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T12: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-22T12:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4753.78, stop=4760.305, target=4740.73. Pre-M15 range high=4762.595, low=4742.98.",
      "entry": 4753.78,
      "stop": 4760.305,
      "target": 4740.73,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-22T13:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-22T12-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260422T150000Z_short_00649",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4738.309, stop=4744.845, target=4728.504. Pre-M15 range high=4760.99, low=4729.99.",
      "entry": 4738.309,
      "stop": 4744.845,
      "target": 4728.504,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-22T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-22T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260422T200000Z_long_00650",
      "date": "2026-04-22",
      "timestamp": "2026-04-22T20:00: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-22T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4732.985, stop=4729.985, target=4738.985. Pre-M15 range high=4750.2, low=4723.995.",
      "entry": 4732.985,
      "stop": 4729.985,
      "target": 4738.985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-22T22:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-22T20-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T001500Z_long_00651",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00: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 swept below 4700 to 4694 and rallied. H1 printed a massive bullish pinbar closing near highs at 4747.",
      "ltf_trigger": "M5 swept 4694 at 00:15, displaced to 4724. Retraced slightly and then continued to 4754. Entry on M5 close at 4722, stop at 4693, target at 4750.",
      "entry": 4722.85,
      "stop": 4693.0,
      "target": 4750.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 0.91,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Clear M5 liquidity sweep of 4694, strong M5 displacement, and 1:2 R achieved.",
      "source_candidate_id": "candidate_2026-04-23T00-15-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00550_00553.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T001500Z_long_00652",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T00: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-04-23T00:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4734.655, stop=4694.135, target=4815.695. Pre-M15 range high=4750.2, low=4694.135.",
      "entry": 4734.655,
      "stop": 4694.135,
      "target": 4815.695,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-04-23T00:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T00-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_20260423T010000Z_long_00653",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01:00: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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4720.92, stop=4699.47, target=4763.82. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4720.92,
      "stop": 4699.47,
      "target": 4763.82,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-04-23T02:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T01-00-00Z_long_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_20260423T011500Z_long_00655",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01: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-23T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4713.497, stop=4698.72, target=4743.052. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4713.497,
      "stop": 4698.72,
      "target": 4743.052,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-23T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T01-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T011500Z_short_00656",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T01: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-23T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4726.968, stop=4729.27, target=4722.363. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4726.968,
      "stop": 4729.27,
      "target": 4722.363,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-23T01:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T01-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T020000Z_long_00657",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4715.358, stop=4694.135, target=4747.193. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4715.358,
      "stop": 4694.135,
      "target": 4747.193,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-23T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T030000Z_short_00658",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4708.101, stop=4715.72, target=4696.673. Pre-M15 range high=4754.2, low=4694.135.",
      "entry": 4708.101,
      "stop": 4715.72,
      "target": 4696.673,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-23T03:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-23T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T071500Z_long_00659",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T07: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-04-23T07:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4699.885, stop=4692.485, target=4714.685. Pre-M15 range high=4721.57, low=4692.485.",
      "entry": 4699.885,
      "stop": 4692.485,
      "target": 4714.685,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-23T09:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T07-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T103000Z_short_00660",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4694.087, stop=4701.805, target=4682.511. Pre-M15 range high=4725.115, low=4684.265.",
      "entry": 4694.087,
      "stop": 4701.805,
      "target": 4682.511,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-23T10:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T10-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T113000Z_short_00661",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4709.917, stop=4716.31, target=4700.327. Pre-M15 range high=4725.115, low=4684.265.",
      "entry": 4709.917,
      "stop": 4716.31,
      "target": 4700.327,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-23T11:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260423T180000Z_short_00662",
      "date": "2026-04-23",
      "timestamp": "2026-04-23T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-23T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4721.425, stop=4734.61, target=4701.649. Pre-M15 range high=4741.23, low=4664.38.",
      "entry": 4721.425,
      "stop": 4734.61,
      "target": 4701.649,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-24T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-23T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260424T043000Z_long_00664",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04: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 correction after sweeping lows.",
      "ltf_trigger": "M15 sweep of 04:15 low (4658.56) by 04:30 low (4658.03). Choppy consolidation before Fib touch at 06:25.",
      "entry": 4668.5,
      "stop": 4657.5,
      "target": 4688.5,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.8,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Valid M15 sweep of 4658 and reclaim, but chop before Fib touch at 06:25 makes it a lower probability setup. Keeping as shadow.",
      "source_candidate_id": "candidate_2026-04-24T04-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00553_00556.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260424T043000Z_short_00665",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4667.69, stop=4674.86, target=4656.935. Pre-M15 range high=4711.23, low=4658.03.",
      "entry": 4667.69,
      "stop": 4674.86,
      "target": 4656.935,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-24T04:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-24T04-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260424T070000Z_short_00666",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4680.306, stop=4688.255, target=4668.383. Pre-M15 range high=4696.445, low=4658.03.",
      "entry": 4680.306,
      "stop": 4688.255,
      "target": 4668.383,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-24T07:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-24T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260424T123000Z_long_00667",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4695.154, stop=4677.88, target=4721.066. Pre-M15 range high=4717.44, low=4674.88.",
      "entry": 4695.154,
      "stop": 4677.88,
      "target": 4721.066,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-24T12:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-24T12-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260424T183000Z_short_00668",
      "date": "2026-04-24",
      "timestamp": "2026-04-24T18: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-04-24T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4722.513, stop=4724.975, target=4717.588. Pre-M15 range high=4740.57, low=4704.9.",
      "entry": 4722.513,
      "stop": 4724.975,
      "target": 4717.588,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-24T18:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-24T18-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T003000Z_short_00669",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4689.848, stop=4697.365, target=4678.572. Pre-M15 range high=4726.17, low=4672.405.",
      "entry": 4689.848,
      "stop": 4697.365,
      "target": 4678.572,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-27T00:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T050000Z_long_00670",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05: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-04-27T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4716.587, stop=4714.535, target=4720.692. Pre-M15 range high=4729.965, low=4676.85.",
      "entry": 4716.587,
      "stop": 4714.535,
      "target": 4720.692,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-27T05:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T05-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T053000Z_long_00671",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4712.85, stop=4704.45, target=4725.449. Pre-M15 range high=4729.965, low=4680.6.",
      "entry": 4712.85,
      "stop": 4704.45,
      "target": 4725.449,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-27T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T124500Z_short_00672",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T12: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4705.549999999999,
      "stop": 4709.2,
      "target": 4698.249999999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-27T12-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T130000Z_short_00673",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4703.193, stop=4707.965, target=4696.035. Pre-M15 range high=4714.94, low=4693.465.",
      "entry": 4703.193,
      "stop": 4707.965,
      "target": 4696.035,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-27T13:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-27T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T143000Z_short_00674",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4692.207, stop=4696.79, target=4685.334. Pre-M15 range high=4712.655, low=4683.71.",
      "entry": 4692.207,
      "stop": 4696.79,
      "target": 4685.334,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-27T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T160000Z_short_00675",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T16:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4676.179, stop=4682.755, target=4666.316. Pre-M15 range high=4712.655, low=4667.335.",
      "entry": 4676.179,
      "stop": 4682.755,
      "target": 4666.316,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-27T16:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T16-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260427T173000Z_short_00676",
      "date": "2026-04-27",
      "timestamp": "2026-04-27T17: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-04-27T17:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4690.275, stop=4696.84, target=4677.145. Pre-M15 range high=4704.455, low=4667.335.",
      "entry": 4690.275,
      "stop": 4696.84,
      "target": 4677.145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-27T22:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-27T17-30-00Z_short_order_block_reclaim",
      "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_20260428T053000Z_short_00678",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4659.4318,
      "stop": 4668.08,
      "target": 4646.459500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-28T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T060000Z_short_00679",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4643.5455999999995,
      "stop": 4658.84,
      "target": 4620.603999999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-04-28T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T100000Z_short_00680",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-28T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4612.915, stop=4619.39, target=4603.203. Pre-M15 range high=4659.575, low=4604.385.",
      "entry": 4612.915,
      "stop": 4619.39,
      "target": 4603.203,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-28T10:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-28T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T120000Z_short_00681",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4580.552, stop=4600.13, target=4551.185. Pre-M15 range high=4635.585, low=4555.135.",
      "entry": 4580.552,
      "stop": 4600.13,
      "target": 4551.185,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-28T12:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-28T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260428T134500Z_short_00683",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T13:45: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": "H4 downtrend into major support at 4555. H1 consolidating above support.",
      "ltf_trigger": "M15 swept 13:30 high and rejected, but risk/reward into recent lows is poor.",
      "entry": 4582.01,
      "stop": 4594.0,
      "target": 4565.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.4,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 liquidity sweep present, but price is reacting from H4 support at 4555. Aggressive sell into support. Shadowed for observation.",
      "source_candidate_id": "candidate_2026-04-28T13-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00565_00568.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T143000Z_short_00684",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T14:30: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": "H4 support holds, H1 chopping.",
      "ltf_trigger": "M5 strong drop at 14:35 creates FVG, but entry relies on pullback into messy zone.",
      "entry": 4571.64,
      "stop": 4580.0,
      "target": 4560.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.3,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Secondary short attempt after 13:45. Price remains choppy near H4 support. Without clear breakdown below 4550, this is low probability. Shadowed.",
      "source_candidate_id": "candidate_2026-04-28T14-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00565_00568.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260428T203000Z_short_00685",
      "date": "2026-04-28",
      "timestamp": "2026-04-28T20: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-04-28T20:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4596.812, stop=4598.65, target=4593.138. Pre-M15 range high=4601.51, low=4576.83.",
      "entry": 4596.812,
      "stop": 4598.65,
      "target": 4593.138,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-28T20:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-28T20-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T013000Z_short_00686",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4589.745, stop=4600.765, target=4573.216. Pre-M15 range high=4610.535, low=4575.72.",
      "entry": 4589.745,
      "stop": 4600.765,
      "target": 4573.216,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T01:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260429T100000Z_short_00688",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4561.783, stop=4569.725, target=4549.87. Pre-M15 range high=4603.325, low=4551.675.",
      "entry": 4561.783,
      "stop": 4569.725,
      "target": 4549.87,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T10:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T130000Z_short_00689",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4552.068, stop=4560.21, target=4539.855. Pre-M15 range high=4580.75, low=4541.705.",
      "entry": 4552.068,
      "stop": 4560.21,
      "target": 4539.855,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T15:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T140000Z_short_00690",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4526.559, stop=4539.495, target=4507.155. Pre-M15 range high=4580.75, low=4510.095.",
      "entry": 4526.559,
      "stop": 4539.495,
      "target": 4507.155,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T150000Z_short_00691",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T15:00: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-29T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4549.28, stop=4553.65, target=4540.54. Pre-M15 range high=4576.535, low=4510.095.",
      "entry": 4549.28,
      "stop": 4553.65,
      "target": 4540.54,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-29T15:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T15-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T170000Z_short_00692",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-29T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4552.868, stop=4560.37, target=4541.615. Pre-M15 range high=4569.155, low=4510.095.",
      "entry": 4552.868,
      "stop": 4560.37,
      "target": 4541.615,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T17:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-29T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T183000Z_short_00693",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04-29T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4540.778, stop=4553.05, target=4522.371. Pre-M15 range high=4564.985, low=4510.095.",
      "entry": 4540.778,
      "stop": 4553.05,
      "target": 4522.371,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-29T18:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-29T18-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260429T191500Z_short_00694",
      "date": "2026-04-29",
      "timestamp": "2026-04-29T19: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-04-29T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4544.81, stop=4547.83, target=4538.77. Pre-M15 range high=4564.985, low=4518.335.",
      "entry": 4544.81,
      "stop": 4547.83,
      "target": 4538.77,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-04-29T19:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-29T19-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T000000Z_long_00695",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4556.054, stop=4551.425, target=4562.997. Pre-M15 range high=4568.745, low=4518.335.",
      "entry": 4556.054,
      "stop": 4551.425,
      "target": 4562.997,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-30T03:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260430T013000Z_long_00697",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4571.965, stop=4564.76, target=4582.773. Pre-M15 range high=4581.3, low=4539.495.",
      "entry": 4571.965,
      "stop": 4564.76,
      "target": 4582.773,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-30T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T013000Z_long_00698",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T01: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-30T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4568.135, stop=4564.76, target=4574.885. Pre-M15 range high=4581.3, low=4539.495.",
      "entry": 4568.135,
      "stop": 4564.76,
      "target": 4574.885,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-30T02:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T01-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T030000Z_short_00699",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4568.043, stop=4574.41, target=4558.493. Pre-M15 range high=4582.585, low=4546.525.",
      "entry": 4568.043,
      "stop": 4574.41,
      "target": 4558.493,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-30T03:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-04-30T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T050000Z_short_00700",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4552.096, stop=4557.09, target=4544.605. Pre-M15 range high=4582.585, low=4540.925.",
      "entry": 4552.096,
      "stop": 4557.09,
      "target": 4544.605,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-04-30T05:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T05-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260430T110000Z_long_00702",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4632.723, stop=4623.705, target=4646.249. Pre-M15 range high=4647.045, low=4563.57.",
      "entry": 4632.723,
      "stop": 4623.705,
      "target": 4646.249,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-04-30T11:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260430T130000Z_long_00703",
      "date": "2026-04-30",
      "timestamp": "2026-04-30T13: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-04-30T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4630.675, stop=4624.75, target=4642.525. Pre-M15 range high=4647.045, low=4612.095.",
      "entry": 4630.675,
      "stop": 4624.75,
      "target": 4642.525,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-04-30T13:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-04-30T13-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T000000Z_short_00704",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4632.477500000001,
      "stop": 4634.145,
      "target": 4629.142500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T00-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T023000Z_long_00705",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4618.9574,
      "stop": 4616.225,
      "target": 4623.0560000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T030000Z_short_00706",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4624.713400000001,
      "stop": 4631.045,
      "target": 4615.216000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T040000Z_long_00707",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4621.7844000000005,
      "stop": 4617.875,
      "target": 4627.648500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T04-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T143000Z_long_00708",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4640.746999999999,
      "stop": 4625.16,
      "target": 4664.127499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260501T191500Z_short_00709",
      "date": "2026-05-01",
      "timestamp": "2026-05-01T19: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4631.195,
      "stop": 4635.12,
      "target": 4623.344999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-01T19-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260503T224500Z_long_00710",
      "date": "2026-05-03",
      "timestamp": "2026-05-03T22:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4617.9775,
      "stop": 4612.66,
      "target": 4628.6125,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-03T22-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T010000Z_long_00711",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4608.741,
      "stop": 4604.935,
      "target": 4614.449999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-04T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T014500Z_short_00712",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4609.26,
      "stop": 4613.585,
      "target": 4600.610000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-04T01-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T020000Z_long_00713",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4602.205,
      "stop": 4592.965,
      "target": 4616.065,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-04T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T023000Z_short_00714",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4606.846,
      "stop": 4618.825,
      "target": 4588.877499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-04T02-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T103000Z_short_00715",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T10:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T10:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4554.056, stop=4576.03, target=4521.096. Pre-M15 range high=4602.095, low=4526.09.",
      "entry": 4554.056,
      "stop": 4576.03,
      "target": 4521.096,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-04T10-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T153000Z_short_00716",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4543.575, stop=4566.2, target=4509.638. Pre-M15 range high=4583.38, low=4514.78.",
      "entry": 4543.575,
      "stop": 4566.2,
      "target": 4509.638,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-04T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260504T170000Z_short_00717",
      "date": "2026-05-04",
      "timestamp": "2026-05-04T17:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-04T17:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.116, stop=4543.065, target=4510.692. Pre-M15 range high=4583.38, low=4501.035.",
      "entry": 4530.116,
      "stop": 4543.065,
      "target": 4510.692,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-04T17-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T061500Z_long_00718",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T06: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-05-05T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4538.14, stop=4535.76, target=4542.9. Pre-M15 range high=4552.02, low=4528.03.",
      "entry": 4538.14,
      "stop": 4535.76,
      "target": 4542.9,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T09:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T06-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T063000Z_short_00719",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4544.047, stop=4552.02, target=4532.088. Pre-M15 range high=4552.02, low=4528.03.",
      "entry": 4544.047,
      "stop": 4552.02,
      "target": 4532.088,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T073000Z_long_00720",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-05T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4542.818, stop=4536.365, target=4552.497. Pre-M15 range high=4558.465, low=4528.03.",
      "entry": 4542.818,
      "stop": 4536.365,
      "target": 4552.497,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T10:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T110000Z_long_00721",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T11:00: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-05-05T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4547.87, stop=4539.96, target=4563.69. Pre-M15 range high=4560.445, low=4533.9.",
      "entry": 4547.87,
      "stop": 4539.96,
      "target": 4563.69,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-05-29T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T11-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_20260505T123000Z_long_00722",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-05T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4563.048, stop=4554.195, target=4576.327. Pre-M15 range high=4574.595, low=4539.96.",
      "entry": 4563.048,
      "stop": 4554.195,
      "target": 4576.327,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T12-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T141500Z_long_00723",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T14: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-05-05T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4565.182, stop=4561.775, target=4571.998. Pre-M15 range high=4586.605, low=4539.96.",
      "entry": 4565.182,
      "stop": 4561.775,
      "target": 4571.998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-05T14-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260505T233000Z_long_00724",
      "date": "2026-05-05",
      "timestamp": "2026-05-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-05T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4578.807, stop=4569.565, target=4592.67. Pre-M15 range high=4590.57, low=4546.36.",
      "entry": 4578.807,
      "stop": 4569.565,
      "target": 4592.67,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T15:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-05T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T010000Z_long_00725",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4609.9824,
      "stop": 4602.135,
      "target": 4621.753499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T083000Z_long_00726",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4671.388199999999,
      "stop": 4663.125,
      "target": 4683.7829999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T08-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T110000Z_long_00727",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4712.8135999999995,
      "stop": 4704.7,
      "target": 4724.983999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T120000Z_long_00728",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4685.4313999999995,
      "stop": 4671.655,
      "target": 4706.096,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T150000Z_long_00729",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.4228,
      "stop": 4680.325,
      "target": 4710.569500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T15-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T193000Z_long_00730",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.3418,
      "stop": 4686.14,
      "target": 4701.6445,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T19-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260506T204500Z_long_00731",
      "date": "2026-05-06",
      "timestamp": "2026-05-06T20: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4686.5275,
      "stop": 4684.88,
      "target": 4689.8225,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-06T20-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T010000Z_long_00732",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4697.6625,
      "stop": 4685.275,
      "target": 4722.437500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T01-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_20260507T013000Z_long_00733",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4700.0825,
      "stop": 4688.86,
      "target": 4722.527500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T01-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T020000Z_long_00734",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4710.8452,
      "stop": 4702.45,
      "target": 4723.438,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T023000Z_long_00735",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4698.9876,
      "stop": 4685.275,
      "target": 4719.5565000000015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T070000Z_long_00736",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4730.964400000001,
      "stop": 4716.0,
      "target": 4753.411000000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T124500Z_long_00737",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T12: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4740.2225,
      "stop": 4733.185,
      "target": 4754.297499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T12-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T130000Z_long_00738",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4744.1528,
      "stop": 4737.445,
      "target": 4754.2145,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T143000Z_long_00739",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4749.3386,
      "stop": 4741.28,
      "target": 4761.4265000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T173000Z_short_00740",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T17:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4705.7083999999995,
      "stop": 4719.685,
      "target": 4684.743499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T17-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260507T233000Z_short_00741",
      "date": "2026-05-07",
      "timestamp": "2026-05-07T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4702.8308,
      "stop": 4715.835,
      "target": 4683.324499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-07T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T013000Z_long_00742",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4701.4925,
      "stop": 4697.02,
      "target": 4710.4375,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T01-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T023000Z_long_00743",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T02: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4710.445,
      "stop": 4705.51,
      "target": 4720.314999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T02-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T063000Z_long_00744",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T06: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4721.6849999999995,
      "stop": 4712.665,
      "target": 4739.7249999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T06-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T073000Z_short_00745",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4713.665800000001,
      "stop": 4726.725,
      "target": 4694.077000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T081500Z_short_00746",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T08:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4722.465,
      "stop": 4723.17,
      "target": 4721.055,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T08-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T083000Z_short_00747",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4724.12,
      "stop": 4724.715,
      "target": 4722.929999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T08-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T130000Z_long_00748",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4716.0502,
      "stop": 4703.42,
      "target": 4734.995499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T140000Z_long_00749",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T14: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4718.9275,
      "stop": 4717.87,
      "target": 4721.0425,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T14-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T140000Z_long_00750",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4736.213,
      "stop": 4726.94,
      "target": 4750.1224999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260508T140000Z_short_00751",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T14: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4734.4875,
      "stop": 4749.58,
      "target": 4704.302500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T14-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_20260508T150000Z_long_00752",
      "date": "2026-05-08",
      "timestamp": "2026-05-08T15: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4707.955,
      "stop": 4704.835,
      "target": 4714.195,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-08T15-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260510T234500Z_short_00753",
      "date": "2026-05-10",
      "timestamp": "2026-05-10T23: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4693.352500000001,
      "stop": 4698.65,
      "target": 4682.757500000003,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-10T23-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_20260511T003000Z_short_00754",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4684.884,
      "stop": 4691.935,
      "target": 4674.307499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260511T020000Z_short_00755",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.4112000000005,
      "stop": 4701.935,
      "target": 4678.1255,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260511T053000Z_short_00756",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T05: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4667.54,
      "stop": 4680.97,
      "target": 4640.679999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T05-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_20260511T060000Z_short_00757",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4666.5028,
      "stop": 4680.97,
      "target": 4644.802,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260511T143000Z_long_00758",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4715.0538,
      "stop": 4698.82,
      "target": 4739.4045,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260511T230000Z_long_00759",
      "date": "2026-05-11",
      "timestamp": "2026-05-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4746.409799999999,
      "stop": 4739.075,
      "target": 4757.411999999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-11T23-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T000000Z_long_00760",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4759.491,
      "stop": 4751.395,
      "target": 4771.634999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T053000Z_short_00761",
      "date": "2026-05-12",
      "timestamp": "2026-05-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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4723.8525,
      "stop": 4726.48,
      "target": 4718.597500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-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_20260512T080000Z_short_00762",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4706.254,
      "stop": 4714.735,
      "target": 4693.5325,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T094500Z_short_00763",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T09: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4700.125,
      "stop": 4702.625,
      "target": 4695.125,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T09-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T110000Z_short_00764",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4693.7919999999995,
      "stop": 4700.48,
      "target": 4683.759999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T123000Z_short_00765",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4702.596,
      "stop": 4708.415,
      "target": 4693.8674999999985,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T133000Z_short_00766",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4695.9944,
      "stop": 4709.025,
      "target": 4676.4484999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T133000Z_short_00767",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T13: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4706.1525,
      "stop": 4711.68,
      "target": 4695.0975,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T13-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T140000Z_short_00768",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4690.9108,
      "stop": 4701.935,
      "target": 4674.374499999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T140000Z_short_00769",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T14:00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.895,
      "stop": 4701.935,
      "target": 4674.8150000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T14-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260512T153000Z_short_00770",
      "date": "2026-05-12",
      "timestamp": "2026-05-12T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4659.5722,
      "stop": 4676.235,
      "target": 4634.5779999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-12T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T030000Z_short_00771",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4694.9542,
      "stop": 4700.65,
      "target": 4686.410500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T033000Z_long_00772",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4694.195,
      "stop": 4689.025,
      "target": 4701.95,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T03-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T110000Z_long_00773",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.6474,
      "stop": 4686.01,
      "target": 4702.603499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T11-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T130000Z_short_00774",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4693.5658,
      "stop": 4701.62,
      "target": 4681.4845000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T13-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T180000Z_short_00775",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4692.4174,
      "stop": 4698.595,
      "target": 4683.151,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260513T234500Z_long_00776",
      "date": "2026-05-13",
      "timestamp": "2026-05-13T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4691.512500000001,
      "stop": 4689.06,
      "target": 4696.417500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-13T23-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T010000Z_short_00777",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4697.532499999999,
      "stop": 4707.15,
      "target": 4678.297499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T01-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_20260514T020000Z_short_00778",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4694.7525000000005,
      "stop": 4705.015,
      "target": 4674.227500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T02-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T023000Z_short_00779",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4697.1795999999995,
      "stop": 4707.15,
      "target": 4682.223999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T02-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T023000Z_short_00780",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T02: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4703.1825,
      "stop": 4706.795,
      "target": 4695.9574999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T02-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T030000Z_short_00781",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4691.1664,
      "stop": 4699.775,
      "target": 4678.253500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T040000Z_short_00782",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4683.9274000000005,
      "stop": 4691.755,
      "target": 4672.1860000000015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T04-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T040000Z_short_00783",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T04: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4687.594999999999,
      "stop": 4693.45,
      "target": 4675.884999999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T04-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T040000Z_long_00784",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T04: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4679.995,
      "stop": 4668.71,
      "target": 4702.565,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T04-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_20260514T060000Z_long_00785",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4685.7974,
      "stop": 4668.71,
      "target": 4711.428500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T06-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T080000Z_long_00786",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T08: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4698.56,
      "stop": 4694.685,
      "target": 4706.31,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T08-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T140000Z_short_00787",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4699.267,
      "stop": 4707.935,
      "target": 4686.264999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T141500Z_short_00788",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T14: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4701.375,
      "stop": 4703.895,
      "target": 4696.334999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T14-15-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T150000Z_short_00789",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4686.6464,
      "stop": 4692.45,
      "target": 4677.940999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260514T220000Z_short_00790",
      "date": "2026-05-14",
      "timestamp": "2026-05-14T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4660.1256,
      "stop": 4665.52,
      "target": 4652.034,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-14T22-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260515T000000Z_short_00791",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4657.263199999999,
      "stop": 4665.445,
      "target": 4644.990499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-15T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260515T013000Z_short_00792",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4621.1608,
      "stop": 4631.69,
      "target": 4605.367,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-15T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260515T060000Z_short_00793",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4575.529, stop=4590.315, target=4553.35. Pre-M15 range high=4626.02, low=4556.52.",
      "entry": 4575.529,
      "stop": 4590.315,
      "target": 4553.35,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T15:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-15T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260515T140000Z_short_00795",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4533.64, stop=4551.44, target=4506.939. Pre-M15 range high=4572.775, low=4510.985.",
      "entry": 4533.64,
      "stop": 4551.44,
      "target": 4506.939,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-15T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260515T194500Z_long_00796",
      "date": "2026-05-15",
      "timestamp": "2026-05-15T19: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-05-15T19:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4545.097, stop=4541.94, target=4551.413. Pre-M15 range high=4564.605, low=4529.555.",
      "entry": 4545.097,
      "stop": 4541.94,
      "target": 4551.413,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-15T19-45-00Z_long_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_20260518T013000Z_short_00798",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.247, stop=4542.635, target=4511.664. Pre-M15 range high=4554.915, low=4480.41.",
      "entry": 4530.247,
      "stop": 4542.635,
      "target": 4511.664,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-18T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260518T060000Z_short_00799",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4542.435, stop=4552.045, target=4528.021. Pre-M15 range high=4552.045, low=4493.205.",
      "entry": 4542.435,
      "stop": 4552.045,
      "target": 4528.021,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-18T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260518T120000Z_long_00800",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-18T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4549.586, stop=4535.77, target=4570.31. Pre-M15 range high=4567.17, low=4529.96.",
      "entry": 4549.586,
      "stop": 4535.77,
      "target": 4570.31,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-18T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260518T130000Z_long_00801",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-18T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4561.199, stop=4550.305, target=4577.541. Pre-M15 range high=4576.845, low=4529.96.",
      "entry": 4561.199,
      "stop": 4550.305,
      "target": 4577.541,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T14:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-18T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260518T141500Z_long_00802",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T14: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-05-18T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4550.36, stop=4545.36, target=4560.36. Pre-M15 range high=4584.375, low=4529.96.",
      "entry": 4550.36,
      "stop": 4545.36,
      "target": 4560.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-18T14-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260518T233000Z_long_00803",
      "date": "2026-05-18",
      "timestamp": "2026-05-18T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-18T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4580.561, stop=4573.86, target=4590.613. Pre-M15 range high=4589.09, low=4534.375.",
      "entry": 4580.561,
      "stop": 4573.86,
      "target": 4590.613,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T15:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-18T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T000000Z_long_00804",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T00: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-05-19T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4574.938, stop=4572.725, target=4579.362. Pre-M15 range high=4589.58, low=4534.375.",
      "entry": 4574.938,
      "stop": 4572.725,
      "target": 4579.362,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T15:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-19T00-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T080000Z_long_00805",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-19T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4549.477, stop=4541.575, target=4561.331. Pre-M15 range high=4559.535, low=4531.085.",
      "entry": 4549.477,
      "stop": 4541.575,
      "target": 4561.331,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-19T08-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T080000Z_long_00806",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T08: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-05-19T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4545.573, stop=4541.575, target=4553.568. Pre-M15 range high=4559.535, low=4531.085.",
      "entry": 4545.573,
      "stop": 4541.575,
      "target": 4553.568,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T14:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-19T08-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T083000Z_short_00807",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4549.198, stop=4559.25, target=4534.12. Pre-M15 range high=4559.535, low=4531.085.",
      "entry": 4549.198,
      "stop": 4559.25,
      "target": 4534.12,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T14:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-19T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T110000Z_long_00808",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T11: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-05-19T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4534.45, stop=4525.68, target=4551.99. Pre-M15 range high=4559.535, low=4525.68.",
      "entry": 4534.45,
      "stop": 4525.68,
      "target": 4551.99,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T09:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-19T11-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T120000Z_short_00809",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-19T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4537.352, stop=4543.195, target=4528.587. Pre-M15 range high=4559.535, low=4525.68.",
      "entry": 4537.352,
      "stop": 4543.195,
      "target": 4528.587,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-19T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260519T234500Z_long_00810",
      "date": "2026-05-19",
      "timestamp": "2026-05-19T23:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4486.1475,
      "stop": 4483.535,
      "target": 4491.3725,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-19T23-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T010000Z_long_00811",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4485.264999999999,
      "stop": 4479.82,
      "target": 4496.154999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T01-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T014500Z_long_00812",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4482.7675,
      "stop": 4479.56,
      "target": 4489.182499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T01-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T014500Z_short_00813",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T01:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4485.987499999999,
      "stop": 4486.285,
      "target": 4485.392499999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T01-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T050000Z_short_00814",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4472.6856,
      "stop": 4483.69,
      "target": 4456.179,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T05-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T093000Z_short_00815",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T09:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4480.3754,
      "stop": 4486.3,
      "target": 4471.4884999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T09-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260520T113000Z_long_00816",
      "date": "2026-05-20",
      "timestamp": "2026-05-20T11: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4494.85,
      "stop": 4492.845,
      "target": 4498.860000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-20T11-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T000000Z_long_00817",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-21T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4542.292, stop=4538.18, target=4548.459. Pre-M15 range high=4550.445, low=4532.04.",
      "entry": 4542.292,
      "stop": 4538.18,
      "target": 4548.459,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T10:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-21T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T020000Z_long_00818",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-21T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4552.203, stop=4539.92, target=4570.627. Pre-M15 range high=4570.895, low=4534.74.",
      "entry": 4552.203,
      "stop": 4539.92,
      "target": 4570.627,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-21T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260521T083000Z_long_00820",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-21T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4526.619, stop=4518.415, target=4538.925. Pre-M15 range high=4540.8, low=4512.075.",
      "entry": 4526.619,
      "stop": 4518.415,
      "target": 4538.925,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T09:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-21T08-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T093000Z_short_00821",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T09: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-05-21T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4534.45, stop=4543.06, target=4517.23. Pre-M15 range high=4543.06, low=4512.075.",
      "entry": 4534.45,
      "stop": 4543.06,
      "target": 4517.23,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-05-29T09:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-21T09-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_20260521T123000Z_short_00822",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T12: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-05-21T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4516.575, stop=4519.47, target=4510.785. Pre-M15 range high=4543.06, low=4503.775.",
      "entry": 4516.575,
      "stop": 4519.47,
      "target": 4510.785,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-21T12-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T183000Z_long_00823",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-21T18:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4528.413, stop=4514.28, target=4549.612. Pre-M15 range high=4559.365, low=4494.96.",
      "entry": 4528.413,
      "stop": 4514.28,
      "target": 4549.612,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-21T18-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260521T190000Z_short_00824",
      "date": "2026-05-21",
      "timestamp": "2026-05-21T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-21T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4539.861, stop=4549.565, target=4525.305. Pre-M15 range high=4559.365, low=4496.91.",
      "entry": 4539.861,
      "stop": 4549.565,
      "target": 4525.305,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T10:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-21T19-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260522T043000Z_long_00826",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4525.496, stop=4521.925, target=4530.852. Pre-M15 range high=4541.24, low=4518.53.",
      "entry": 4525.496,
      "stop": 4521.925,
      "target": 4530.852,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T07:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T04-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T060000Z_short_00827",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4522.491, stop=4534.325, target=4504.741. Pre-M15 range high=4534.325, low=4507.43.",
      "entry": 4522.491,
      "stop": 4534.325,
      "target": 4504.741,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T06:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260522T061500Z_short_00829",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T06: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-05-22T06:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4529.695, stop=4534.325, target=4520.435. Pre-M15 range high=4534.325, low=4507.43.",
      "entry": 4529.695,
      "stop": 4534.325,
      "target": 4520.435,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-05-29T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T06-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T073000Z_long_00830",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4517.16, stop=4510.025, target=4527.861. Pre-M15 range high=4534.325, low=4507.43.",
      "entry": 4517.16,
      "stop": 4510.025,
      "target": 4527.861,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T07-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T093000Z_long_00831",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T09: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-05-22T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4522.745, stop=4514.88, target=4538.475. Pre-M15 range high=4534.325, low=4507.43.",
      "entry": 4522.745,
      "stop": 4514.88,
      "target": 4538.475,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-05-29T06:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T09-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_20260522T100000Z_long_00832",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4524.155, stop=4514.88, target=4538.068. Pre-M15 range high=4536.82, low=4507.43.",
      "entry": 4524.155,
      "stop": 4514.88,
      "target": 4538.068,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T10-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T101500Z_long_00833",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T10:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-22T10:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4522.03, stop=4517.905, target=4530.28. Pre-M15 range high=4536.82, low=4507.43.",
      "entry": 4522.03,
      "stop": 4517.905,
      "target": 4530.28,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-05-29T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-22T10-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260522T143000Z_short_00834",
      "date": "2026-05-22",
      "timestamp": "2026-05-22T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4504.138,
      "stop": 4513.73,
      "target": 4489.75,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-22T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260524T233000Z_long_00836",
      "date": "2026-05-24",
      "timestamp": "2026-05-24T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-24T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4571.155, stop=4565.27, target=4579.983. Pre-M15 range high=4580.21, low=4504.17.",
      "entry": 4571.155,
      "stop": 4565.27,
      "target": 4579.983,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T15:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-24T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260525T231500Z_short_00838",
      "date": "2026-05-25",
      "timestamp": "2026-05-25T23: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-05-25T23:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4571.238, stop=4580.245, target=4553.223. Pre-M15 range high=4580.245, low=4563.365.",
      "entry": 4571.238,
      "stop": 4580.245,
      "target": 4553.223,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-05-29T15:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-25T23-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_20260526T003000Z_short_00839",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4551.949, stop=4560.36, target=4539.333. Pre-M15 range high=4580.245, low=4541.245.",
      "entry": 4551.949,
      "stop": 4560.36,
      "target": 4539.333,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-26T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T073000Z_short_00840",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4538.593, stop=4543.255, target=4531.601. Pre-M15 range high=4545.6, low=4521.68.",
      "entry": 4538.593,
      "stop": 4543.255,
      "target": 4531.601,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-05-26T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T080000Z_long_00841",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T08: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-05-26T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4525.798, stop=4521.68, target=4534.033. Pre-M15 range high=4545.6, low=4521.68.",
      "entry": 4525.798,
      "stop": 4521.68,
      "target": 4534.033,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T07:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-26T08-00-00Z_long_order_block_reclaim",
      "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_20260526T100000Z_short_00844",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.976, stop=4539.145, target=4518.723. Pre-M15 range high=4539.2, low=4512.07.",
      "entry": 4530.976,
      "stop": 4539.145,
      "target": 4518.723,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-26T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T120000Z_short_00845",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4514.989, stop=4523.925, target=4501.584. Pre-M15 range high=4540.69, low=4503.615.",
      "entry": 4514.989,
      "stop": 4523.925,
      "target": 4501.584,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-26T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T133000Z_short_00846",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.463, stop=4536.405, target=4521.549. Pre-M15 range high=4540.69, low=4500.785.",
      "entry": 4530.463,
      "stop": 4536.405,
      "target": 4521.549,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T09:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-26T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T180000Z_short_00847",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4496.633,
      "stop": 4501.825,
      "target": 4488.844999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-26T18-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260526T231500Z_long_00848",
      "date": "2026-05-26",
      "timestamp": "2026-05-26T23:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4501.9175,
      "stop": 4498.125,
      "target": 4509.502499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-26T23-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T000000Z_long_00849",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-27T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4518.617, stop=4511.205, target=4529.734. Pre-M15 range high=4528.05, low=4486.425.",
      "entry": 4518.617,
      "stop": 4511.205,
      "target": 4529.734,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T06:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-27T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T040000Z_short_00850",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T04:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4502.7788,
      "stop": 4507.39,
      "target": 4495.861999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T04-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T043000Z_short_00851",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-27T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4512.751, stop=4517.265, target=4505.979. Pre-M15 range high=4528.05, low=4496.065.",
      "entry": 4512.751,
      "stop": 4517.265,
      "target": 4505.979,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-05-29T06:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-27T04-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T080000Z_short_00852",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4492.4702,
      "stop": 4499.31,
      "target": 4482.210499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T120000Z_short_00853",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4462.127,
      "stop": 4477.34,
      "target": 4439.307500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T120000Z_short_00854",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T12:00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4438.4175,
      "stop": 4444.325,
      "target": 4426.602499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T12-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T133000Z_short_00855",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4422.677600000001,
      "stop": 4439.215,
      "target": 4397.871500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T203000Z_long_00856",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T20: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4451.379999999999,
      "stop": 4448.905,
      "target": 4456.329999999998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T20-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260527T233000Z_short_00857",
      "date": "2026-05-27",
      "timestamp": "2026-05-27T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4454.0904,
      "stop": 4457.815,
      "target": 4448.503500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-27T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260528T000000Z_short_00858",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4451.6900000000005,
      "stop": 4454.205,
      "target": 4446.660000000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T00-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260528T004500Z_short_00859",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T00:45:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4457.672500000001,
      "stop": 4460.035,
      "target": 4452.947500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T00-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260528T010000Z_short_00860",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Short",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4456.3925,
      "stop": 4456.89,
      "target": 4455.397499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T01-00-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260528T010000Z_short_00861",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4445.6075,
      "stop": 4459.0,
      "target": 4418.8225,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T01-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_20260528T110000Z_short_00862",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4390.529,
      "stop": 4402.53,
      "target": 4372.527500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T11-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260528T221500Z_short_00863",
      "date": "2026-05-28",
      "timestamp": "2026-05-28T22:15:00Z",
      "symbol": "XAUUSD",
      "strategy": "Order Block Reclaim",
      "direction": "Short",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4495.6525,
      "stop": 4496.53,
      "target": 4493.897500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-28T22-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T003000Z_long_00864",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4495.8733999999995,
      "stop": 4492.085,
      "target": 4501.555999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-29T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T013000Z_long_00865",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4504.9138,
      "stop": 4492.42,
      "target": 4523.654500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-29T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T023000Z_long_00866",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T02: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4496.0275,
      "stop": 4493.45,
      "target": 4501.182500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-29T02-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T030000Z_long_00867",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4493.1625,
      "stop": 4489.945,
      "target": 4499.597500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-29T03-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T053000Z_long_00868",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4505.7934000000005,
      "stop": 4501.18,
      "target": 4512.713500000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-05-29T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T070000Z_long_00869",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-29T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4517.056, stop=4511.53, target=4525.346. Pre-M15 range high=4524.14, low=4494.935.",
      "entry": 4517.056,
      "stop": 4511.53,
      "target": 4525.346,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T07:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-29T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T080000Z_long_00870",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-05-29T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4518.73, stop=4512.86, target=4527.534. Pre-M15 range high=4526.2, low=4494.935.",
      "entry": 4518.73,
      "stop": 4512.86,
      "target": 4527.534,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T08:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-29T08-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T080000Z_long_00871",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T08: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-05-29T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4513.938, stop=4510.695, target=4520.423. Pre-M15 range high=4526.2, low=4494.935.",
      "entry": 4513.938,
      "stop": 4510.695,
      "target": 4520.423,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-05-29T08:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-29T08-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T120000Z_long_00872",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05-29T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4521.725, stop=4513.255, target=4534.43. Pre-M15 range high=4543.31, low=4509.955.",
      "entry": 4521.725,
      "stop": 4513.255,
      "target": 4534.43,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-05-29T12:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-29T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260529T141500Z_long_00873",
      "date": "2026-05-29",
      "timestamp": "2026-05-29T14: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-05-29T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.243, stop=4528.49, target=4533.748. Pre-M15 range high=4552.655, low=4512.73.",
      "entry": 4530.243,
      "stop": 4528.49,
      "target": 4533.748,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-05-29T14:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-05-29T14-15-00Z_long_breaker_continuation",
      "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_20260601T010000Z_long_00875",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4527.375, stop=4520.025, target=4538.4. Pre-M15 range high=4559.325, low=4520.025.",
      "entry": 4527.375,
      "stop": 4520.025,
      "target": 4538.4,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-01T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-01T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T011500Z_short_00876",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4539.49,
      "stop": 4542.945,
      "target": 4532.58,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-01T01-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T013000Z_short_00877",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4534.795, stop=4541.45, target=4524.812. Pre-M15 range high=4551.715, low=4520.025.",
      "entry": 4534.795,
      "stop": 4541.45,
      "target": 4524.812,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-01T02:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T020000Z_short_00878",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T02: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-01T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4530.608, stop=4533.93, target=4523.962. Pre-M15 range high=4548.98, low=4520.025.",
      "entry": 4530.608,
      "stop": 4533.93,
      "target": 4523.962,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-01T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-01T02-00-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_20260601T070000Z_short_00881",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4508.535, stop=4514.99, target=4498.853. Pre-M15 range high=4534.825, low=4500.32.",
      "entry": 4508.535,
      "stop": 4514.99,
      "target": 4498.853,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-01T07:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-01T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T083000Z_short_00882",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-01T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4498.424, stop=4504.69, target=4489.026. Pre-M15 range high=4525.27, low=4490.45.",
      "entry": 4498.424,
      "stop": 4504.69,
      "target": 4489.026,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-01T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-01T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T140000Z_short_00883",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4465.391, stop=4478.78, target=4445.307. Pre-M15 range high=4513.08, low=4447.86.",
      "entry": 4465.391,
      "stop": 4478.78,
      "target": 4445.307,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-01T15:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-01T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260601T140000Z_short_00884",
      "date": "2026-06-01",
      "timestamp": "2026-06-01T14:00: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-01T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4468.975, stop=4478.78, target=4449.365. Pre-M15 range high=4513.08, low=4447.86.",
      "entry": 4468.975,
      "stop": 4478.78,
      "target": 4449.365,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-01T15:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-01T14-00-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_20260602T003000Z_long_00886",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T00: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-06-02T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4481.087, stop=4476.91, target=4489.442. Pre-M15 range high=4497.135, low=4476.91.",
      "entry": 4481.087,
      "stop": 4476.91,
      "target": 4489.442,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-02T00:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T00-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T010000Z_short_00887",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4489.961, stop=4497.135, target=4479.2. Pre-M15 range high=4497.135, low=4473.8.",
      "entry": 4489.961,
      "stop": 4497.135,
      "target": 4479.2,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-02T01:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-02T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T020000Z_short_00888",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4477.786, stop=4489.395, target=4460.371. Pre-M15 range high=4497.135, low=4463.01.",
      "entry": 4477.786,
      "stop": 4489.395,
      "target": 4460.371,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-02T02:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T023000Z_short_00889",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T02: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-06-02T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4489.427, stop=4493.79, target=4480.702. Pre-M15 range high=4497.135, low=4463.01.",
      "entry": 4489.427,
      "stop": 4493.79,
      "target": 4480.702,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-06-02T03:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T02-30-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T090000Z_long_00890",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4524.535, stop=4517.07, target=4535.731. Pre-M15 range high=4541.63, low=4503.52.",
      "entry": 4524.535,
      "stop": 4517.07,
      "target": 4535.731,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-02T09:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T143000Z_short_00891",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T14: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-06-02T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4502.76, stop=4507.065, target=4494.15. Pre-M15 range high=4534.845, low=4490.435.",
      "entry": 4502.76,
      "stop": 4507.065,
      "target": 4494.15,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-02T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T14-30-00Z_short_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_20260602T184500Z_short_00894",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T18: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-02T18:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4487.575, stop=4491.075, target=4480.575. Pre-M15 range high=4508.64, low=4478.785.",
      "entry": 4487.575,
      "stop": 4491.075,
      "target": 4480.575,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-02T18:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T18-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260602T230000Z_short_00895",
      "date": "2026-06-02",
      "timestamp": "2026-06-02T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4488.745, stop=4492.355, target=4483.329. Pre-M15 range high=4493.32, low=4474.64.",
      "entry": 4488.745,
      "stop": 4492.355,
      "target": 4483.329,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T00:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-02T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T000000Z_short_00896",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4477.197, stop=4488.91, target=4459.628. Pre-M15 range high=4493.32, low=4462.29.",
      "entry": 4477.197,
      "stop": 4488.91,
      "target": 4459.628,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T004500Z_long_00897",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45: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-06-03T00:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4486.962, stop=4485.015, target=4490.857. Pre-M15 range high=4496.885, low=4462.29.",
      "entry": 4486.962,
      "stop": 4485.015,
      "target": 4490.857,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-03T00:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T00-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T004500Z_short_00898",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T00:45: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-06-03T00:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4489.08, stop=4490.115, target=4487.01. Pre-M15 range high=4496.885, low=4462.29.",
      "entry": 4489.08,
      "stop": 4490.115,
      "target": 4487.01,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Short: entry touched 2026-06-03T00:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T00-45-00Z_short_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T013000Z_short_00899",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4477.175, stop=4487.81, target=4461.223. Pre-M15 range high=4496.885, low=4462.29.",
      "entry": 4477.175,
      "stop": 4487.81,
      "target": 4461.223,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T01:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260603T060000Z_short_00901",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4463.646, stop=4469.095, target=4455.471. Pre-M15 range high=4488.44, low=4456.71.",
      "entry": 4463.646,
      "stop": 4469.095,
      "target": 4455.471,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T06:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260603T090000Z_short_00903",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-03T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4450.829, stop=4459.05, target=4438.497. Pre-M15 range high=4488.44, low=4440.365.",
      "entry": 4450.829,
      "stop": 4459.05,
      "target": 4438.497,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T09:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T093000Z_short_00904",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T09: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-06-03T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4450.528, stop=4459.135, target=4433.312. Pre-M15 range high=4474.455, low=4439.09.",
      "entry": 4450.528,
      "stop": 4459.135,
      "target": 4433.312,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-03T10:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-03T09-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T100000Z_long_00905",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Liquidity Sweep Reversal",
      "direction": "Long",
      "session": "Other",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Sweep of overnight/London lows",
      "ltf_trigger": "10:00 candle displaces to 4467. 10:15-10:45 retrace to 4453 FVG.",
      "entry": 4454.0,
      "stop": 4439.0,
      "target": 4468.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 0.93,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Massive 10:00 reversal candle sweeps 4439 low. Retracement to 4453 FVG offers entry, but scanner flagged the pivot time. Valid concept, keeping in shadow.",
      "source_candidate_id": "candidate_2026-06-03T10-00-00Z_long_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_20260603T140000Z_short_00906",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4457.26, stop=4466.205, target=4443.842. Pre-M15 range high=4468.19, low=4426.42.",
      "entry": 4457.26,
      "stop": 4466.205,
      "target": 4443.842,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T14:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-03T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260603T190000Z_short_00907",
      "date": "2026-06-03",
      "timestamp": "2026-06-03T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4450.157, stop=4458.515, target=4437.62. Pre-M15 range high=4459.745, low=4433.925.",
      "entry": 4450.157,
      "stop": 4458.515,
      "target": 4437.62,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-03T19:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-03T19-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260604T013000Z_long_00909",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4456.719, stop=4443.18, target=4477.027. Pre-M15 range high=4473.95, low=4423.965.",
      "entry": 4456.719,
      "stop": 4443.18,
      "target": 4477.027,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-04T02:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-04T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260604T030000Z_long_00911",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4466.224, stop=4457.985, target=4478.583. Pre-M15 range high=4477.37, low=4423.965.",
      "entry": 4466.224,
      "stop": 4457.985,
      "target": 4478.583,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-04T03:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-04T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T120000Z_long_00912",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4496.619, stop=4482.365, target=4518.0. Pre-M15 range high=4514.76, low=4458.665.",
      "entry": 4496.619,
      "stop": 4482.365,
      "target": 4518.0,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-04T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-04T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260604T143000Z_long_00914",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4478.832, stop=4468.785, target=4493.903. Pre-M15 range high=4515.515, low=4464.35.",
      "entry": 4478.832,
      "stop": 4468.785,
      "target": 4493.903,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-04T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-04T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T150000Z_short_00915",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4473.891, stop=4486.88, target=4454.408. Pre-M15 range high=4515.515, low=4457.36.",
      "entry": 4473.891,
      "stop": 4486.88,
      "target": 4454.408,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-04T15:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-04T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260604T223000Z_long_00916",
      "date": "2026-06-04",
      "timestamp": "2026-06-04T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-04T22:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4477.041, stop=4473.895, target=4481.76. Pre-M15 range high=4484.125, low=4472.775.",
      "entry": 4477.041,
      "stop": 4473.895,
      "target": 4481.76,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-04T22:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-04T22-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T003000Z_short_00917",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4465.696, stop=4469.645, target=4459.772. Pre-M15 range high=4483.555, low=4450.79.",
      "entry": 4465.696,
      "stop": 4469.645,
      "target": 4459.772,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-05T00:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-05T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T020000Z_short_00918",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4452.959, stop=4459.79, target=4442.713. Pre-M15 range high=4481.625, low=4442.435.",
      "entry": 4452.959,
      "stop": 4459.79,
      "target": 4442.713,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-05T02:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-05T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260605T043000Z_short_00919",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4446.138, stop=4451.99, target=4437.36. Pre-M15 range high=4470.045, low=4435.305.",
      "entry": 4446.138,
      "stop": 4451.99,
      "target": 4437.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-05T04:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-05T04-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260605T111500Z_short_00921",
      "date": "2026-06-05",
      "timestamp": "2026-06-05T11:15: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-05T11:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4466.215, stop=4467.99, target=4462.665. Pre-M15 range high=4469.465, low=4442.41.",
      "entry": 4466.215,
      "stop": 4467.99,
      "target": 4462.665,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-05T11:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-05T11-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260608T010000Z_long_00924",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:00: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-06-08T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4326.08, stop=4321.55, target=4335.14. Pre-M15 range high=4353.45, low=4310.115.",
      "entry": 4326.08,
      "stop": 4321.55,
      "target": 4335.14,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-08T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-08T01-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T010000Z_long_00925",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01: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-08T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4321.475, stop=4316.02, target=4332.385. Pre-M15 range high=4353.45, low=4310.115.",
      "entry": 4321.475,
      "stop": 4316.02,
      "target": 4332.385,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-08T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-08T01-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T013000Z_short_00926",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4330.828, stop=4346.18, target=4307.801. Pre-M15 range high=4353.45, low=4300.025.",
      "entry": 4330.828,
      "stop": 4346.18,
      "target": 4307.801,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-08T02:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-08T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T051500Z_short_00927",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T05: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-08T05:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4311.013, stop=4314.215, target=4304.608. Pre-M15 range high=4352.435, low=4300.025.",
      "entry": 4311.013,
      "stop": 4314.215,
      "target": 4304.608,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-08T05:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-08T05-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260608T060000Z_short_00928",
      "date": "2026-06-08",
      "timestamp": "2026-06-08T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4293.635, stop=4313.4, target=4263.988. Pre-M15 range high=4330.855, low=4268.48.",
      "entry": 4293.635,
      "stop": 4313.4,
      "target": 4263.988,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-08T06:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-08T06-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260609T010000Z_short_00931",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4325.234, stop=4328.915, target=4319.714. Pre-M15 range high=4331.81, low=4312.96.",
      "entry": 4325.234,
      "stop": 4328.915,
      "target": 4319.714,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-09T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-09T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T020000Z_long_00932",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4327.319, stop=4318.66, target=4340.308. Pre-M15 range high=4338.945, low=4312.96.",
      "entry": 4327.319,
      "stop": 4318.66,
      "target": 4340.308,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-09T04:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-09T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T060000Z_long_00933",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T06:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4340.416, stop=4331.66, target=4353.55. Pre-M15 range high=4351.56, low=4322.4.",
      "entry": 4340.416,
      "stop": 4331.66,
      "target": 4353.55,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-09T06:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-09T06-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T080000Z_short_00934",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-09T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4335.993, stop=4340.525, target=4329.195. Pre-M15 range high=4351.56, low=4321.32.",
      "entry": 4335.993,
      "stop": 4340.525,
      "target": 4329.195,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-09T08:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-09T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T090000Z_short_00935",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-09T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4332.198, stop=4337.02, target=4324.964. Pre-M15 range high=4351.56, low=4321.32.",
      "entry": 4332.198,
      "stop": 4337.02,
      "target": 4324.964,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-09T09:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-09T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T123000Z_long_00936",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T12: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-06-09T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4332.538, stop=4329.865, target=4337.883. Pre-M15 range high=4344.09, low=4321.32.",
      "entry": 4332.538,
      "stop": 4329.865,
      "target": 4337.883,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-09T13:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-09T12-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T133000Z_short_00937",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4338.877, stop=4345.62, target=4328.763. Pre-M15 range high=4345.62, low=4324.19.",
      "entry": 4338.877,
      "stop": 4345.62,
      "target": 4328.763,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-09T13:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-09T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T143000Z_short_00938",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4322.8352,
      "stop": 4336.22,
      "target": 4302.758000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-09T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T150000Z_short_00939",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4302.3967999999995,
      "stop": 4321.11,
      "target": 4274.326999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-09T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260609T230000Z_short_00940",
      "date": "2026-06-09",
      "timestamp": "2026-06-09T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4246.548, stop=4257.605, target=4229.962. Pre-M15 range high=4274.345, low=4232.475.",
      "entry": 4246.548,
      "stop": 4257.605,
      "target": 4229.962,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-09T23:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-09T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T013000Z_short_00941",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4205.065, stop=4219.2, target=4183.862. Pre-M15 range high=4262.195, low=4184.67.",
      "entry": 4205.065,
      "stop": 4219.2,
      "target": 4183.862,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-10T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-10T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T033000Z_short_00942",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4184.011, stop=4192.455, target=4171.346. Pre-M15 range high=4250.04, low=4173.115.",
      "entry": 4184.011,
      "stop": 4192.455,
      "target": 4171.346,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-10T03:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T03-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T053000Z_short_00943",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4196.84, stop=4207.015, target=4181.577. Pre-M15 range high=4221.03, low=4172.565.",
      "entry": 4196.84,
      "stop": 4207.015,
      "target": 4181.577,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-10T05:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T123000Z_short_00944",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4158.325, stop=4168.115, target=4143.64. Pre-M15 range high=4193.085, low=4130.62.",
      "entry": 4158.325,
      "stop": 4168.115,
      "target": 4143.64,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-10T12:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T143000Z_long_00945",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T14: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-06-10T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4142.317, stop=4133.065, target=4160.822. Pre-M15 range high=4186.42, low=4130.62.",
      "entry": 4142.317,
      "stop": 4133.065,
      "target": 4160.822,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-10T14:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T14-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T193000Z_short_00946",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4093.232, stop=4102.25, target=4079.706. Pre-M15 range high=4151.915, low=4081.755.",
      "entry": 4093.232,
      "stop": 4102.25,
      "target": 4079.706,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-11T01:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T19-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260610T223000Z_short_00947",
      "date": "2026-06-10",
      "timestamp": "2026-06-10T22:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T22:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4051.566, stop=4063.75, target=4033.291. Pre-M15 range high=4135.08, low=4036.06.",
      "entry": 4051.566,
      "stop": 4063.75,
      "target": 4033.291,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-10T22:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-10T22-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260611T000000Z_short_00948",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4055.855, stop=4064.6, target=4042.738. Pre-M15 range high=4118.19, low=4023.87.",
      "entry": 4055.855,
      "stop": 4064.6,
      "target": 4042.738,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-11T00:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-11T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260611T093000Z_long_00950",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T09: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-11T09:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4089.55, stop=4077.645, target=4113.36. Pre-M15 range high=4112.725, low=4072.885.",
      "entry": 4089.55,
      "stop": 4077.645,
      "target": 4113.36,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-11T09:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-11T09-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_20260611T141500Z_short_00951",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T14: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-11T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4083.31, stop=4092.92, target=4064.09. Pre-M15 range high=4096.54, low=4052.975.",
      "entry": 4083.31,
      "stop": 4092.92,
      "target": 4064.09,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-11T14:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-11T14-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260611T180000Z_long_00952",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T18:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4131.791, stop=4101.695, target=4176.935. Pre-M15 range high=4170.095, low=4052.975.",
      "entry": 4131.791,
      "stop": 4101.695,
      "target": 4176.935,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-11T18:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-11T18-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260611T230000Z_long_00953",
      "date": "2026-06-11",
      "timestamp": "2026-06-11T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-11T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4226.941, stop=4211.405, target=4250.246. Pre-M15 range high=4246.715, low=4074.505.",
      "entry": 4226.941,
      "stop": 4211.405,
      "target": 4250.246,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-11T23:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-11T23-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260612T100000Z_long_00957",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4204.734, stop=4192.165, target=4223.586. Pre-M15 range high=4228.07, low=4170.29.",
      "entry": 4204.734,
      "stop": 4192.165,
      "target": 4223.586,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-12T10:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-12T10-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T140000Z_short_00958",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4198.249, stop=4210.325, target=4180.136. Pre-M15 range high=4228.07, low=4182.88.",
      "entry": 4198.249,
      "stop": 4210.325,
      "target": 4180.136,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-12T14:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-12T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260612T153000Z_long_00960",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4215.916, stop=4200.38, target=4239.221. Pre-M15 range high=4235.69, low=4177.25.",
      "entry": 4215.916,
      "stop": 4200.38,
      "target": 4239.221,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-12T15:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-12T15-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T154500Z_long_00961",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T15: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-06-12T15:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4206.653, stop=4202.98, target=4213.998. Pre-M15 range high=4235.69, low=4177.25.",
      "entry": 4206.653,
      "stop": 4202.98,
      "target": 4213.998,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-12T19:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-12T15-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260612T201500Z_short_00962",
      "date": "2026-06-12",
      "timestamp": "2026-06-12T20: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-12T20:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4216.97, stop=4219.565, target=4211.78. Pre-M15 range high=4235.485, low=4201.82.",
      "entry": 4216.97,
      "stop": 4219.565,
      "target": 4211.78,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-12T20:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-12T20-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T010000Z_long_00963",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "Asia",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4287.690200000001,
      "stop": 4281.77,
      "target": 4296.570500000002,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-15T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T050000Z_short_00964",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05: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": "Daily is strongly bullish (June 10-15 rallied from 4023 to 4331). Shorting against this momentum carries higher risk despite clean M5 structure.",
      "ltf_trigger": "M5 structure shift at 05:30-05:40. Retrace hit 62% Fib (4325.32) at 07:45 exactly. Price subsequently drops (control notes mechanical TP1).",
      "entry": 4325.32,
      "stop": 4333.05,
      "target": 4312.72,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.62,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Perfect mechanical short setup hitting 62% Fib, but Daily trend is heavily bullish (4308 to 4331 daily close), keeping as shadow rather than confirmed to respect conservative HTF alignment.",
      "source_candidate_id": "candidate_2026-06-15T05-00-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00651_00654.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T053000Z_long_00965",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4309.366, stop=4301.235, target=4321.563. Pre-M15 range high=4335.57, low=4285.32.",
      "entry": 4309.366,
      "stop": 4301.235,
      "target": 4321.563,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-15T05:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-15T05-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T080000Z_short_00966",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T08: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-06-15T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4329.513, stop=4333.05, target=4322.438. Pre-M15 range high=4333.05, low=4301.005.",
      "entry": 4329.513,
      "stop": 4333.05,
      "target": 4322.438,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-15T08:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-15T08-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T130000Z_long_00967",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4341.391, stop=4335.09, target=4350.842. Pre-M15 range high=4350.445, low=4324.8.",
      "entry": 4341.391,
      "stop": 4335.09,
      "target": 4350.842,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-15T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-15T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260615T143000Z_long_00968",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4360.901, stop=4354.015, target=4371.23. Pre-M15 range high=4369.665, low=4324.8.",
      "entry": 4360.901,
      "stop": 4354.015,
      "target": 4371.23,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-15T14:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-15T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260615T230000Z_short_00970",
      "date": "2026-06-15",
      "timestamp": "2026-06-15T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4317.119, stop=4322.095, target=4309.654. Pre-M15 range high=4334.955, low=4306.11.",
      "entry": 4317.119,
      "stop": 4322.095,
      "target": 4309.654,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-15T23:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-15T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T003000Z_short_00971",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4313.341, stop=4318.335, target=4305.85. Pre-M15 range high=4327.38, low=4306.11.",
      "entry": 4313.341,
      "stop": 4318.335,
      "target": 4305.85,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-16T00:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T053000Z_short_00972",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T05: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-16T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4322.925, stop=4331.0, target=4306.775. Pre-M15 range high=4333.375, low=4307.7.",
      "entry": 4322.925,
      "stop": 4331.0,
      "target": 4306.775,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-16T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T05-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_20260616T063000Z_short_00973",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4323.626, stop=4331.0, target=4312.564. Pre-M15 range high=4333.375, low=4307.7.",
      "entry": 4323.626,
      "stop": 4331.0,
      "target": 4312.564,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-16T06:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T070000Z_short_00974",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T07: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-06-16T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4326.36, stop=4328.085, target=4322.91. Pre-M15 range high=4333.375, low=4308.375.",
      "entry": 4326.36,
      "stop": 4328.085,
      "target": 4322.91,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-16T07:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T07-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T080000Z_long_00975",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T08: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-06-16T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4329.425, stop=4326.105, target=4336.065. Pre-M15 range high=4340.175, low=4313.53.",
      "entry": 4329.425,
      "stop": 4326.105,
      "target": 4336.065,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-16T14:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T08-00-00Z_long_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_20260616T130000Z_long_00978",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4347.474, stop=4341.6, target=4356.285. Pre-M15 range high=4354.95, low=4335.165.",
      "entry": 4347.474,
      "stop": 4341.6,
      "target": 4356.285,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-16T13:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T130000Z_long_00979",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T13: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-16T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4341.305, stop=4337.5, target=4348.915. Pre-M15 range high=4354.95, low=4335.165.",
      "entry": 4341.305,
      "stop": 4337.5,
      "target": 4348.915,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-16T13:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T13-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260616T143000Z_short_00980",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4329.586, stop=4338.89, target=4315.63. Pre-M15 range high=4354.95, low=4313.32.",
      "entry": 4329.586,
      "stop": 4338.89,
      "target": 4315.63,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-16T15:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T14-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260616T233000Z_long_00982",
      "date": "2026-06-16",
      "timestamp": "2026-06-16T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4332.831, stop=4330.14, target=4336.867. Pre-M15 range high=4342.94, low=4328.975.",
      "entry": 4332.831,
      "stop": 4330.14,
      "target": 4336.867,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-16T23:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-16T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T000000Z_short_00983",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4333.539, stop=4336.65, target=4328.873. Pre-M15 range high=4342.94, low=4328.615.",
      "entry": 4333.539,
      "stop": 4336.65,
      "target": 4328.873,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-17T00:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T000000Z_long_00984",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00: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-17T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4335.802, stop=4328.615, target=4350.177. Pre-M15 range high=4342.94, low=4328.615.",
      "entry": 4335.802,
      "stop": 4328.615,
      "target": 4350.177,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-17T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T00-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_20260617T003000Z_long_00985",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4334.41, stop=4328.615, target=4343.102. Pre-M15 range high=4342.92, low=4328.615.",
      "entry": 4334.41,
      "stop": 4328.615,
      "target": 4343.102,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-17T00:45:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-17T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T011500Z_long_00986",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01: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-06-17T01:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4335.6, stop=4331.03, target=4344.74. Pre-M15 range high=4349.605, low=4328.615.",
      "entry": 4335.6,
      "stop": 4331.03,
      "target": 4344.74,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-17T02:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T01-15-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T013000Z_long_00987",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4341.015, stop=4334.265, target=4351.139. Pre-M15 range high=4349.605, low=4328.615.",
      "entry": 4341.015,
      "stop": 4334.265,
      "target": 4351.139,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-17T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T053000Z_short_00988",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4329.712, stop=4334.18, target=4323.01. Pre-M15 range high=4349.605, low=4317.665.",
      "entry": 4329.712,
      "stop": 4334.18,
      "target": 4323.01,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-17T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T120000Z_short_00989",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4325.584, stop=4329.155, target=4320.228. Pre-M15 range high=4335.81, low=4317.19.",
      "entry": 4325.584,
      "stop": 4329.155,
      "target": 4320.228,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-17T12:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T130000Z_long_00990",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4328.93, stop=4323.54, target=4337.015. Pre-M15 range high=4335.81, low=4317.19.",
      "entry": 4328.93,
      "stop": 4323.54,
      "target": 4337.015,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-17T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-17T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T143000Z_long_00991",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4347.411, stop=4335.67, target=4365.023. Pre-M15 range high=4364.09, low=4319.94.",
      "entry": 4347.411,
      "stop": 4335.67,
      "target": 4365.023,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-17T14:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T180000Z_long_00992",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T18:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4370.4714,
      "stop": 4360.93,
      "target": 4384.7835000000005,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-17T18-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T183000Z_short_00993",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T18:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY PM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4334.537,
      "stop": 4379.505,
      "target": 4267.085000000001,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-17T18-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260617T200000Z_short_00994",
      "date": "2026-06-17",
      "timestamp": "2026-06-17T20:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-17T20:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4265.232, stop=4295.7, target=4219.53. Pre-M15 range high=4382.615, low=4219.165.",
      "entry": 4265.232,
      "stop": 4295.7,
      "target": 4219.53,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-17T20:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-17T20-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260618T033000Z_short_00996",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T03:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T03:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4318.79, stop=4325.41, target=4308.86. Pre-M15 range high=4329.865, low=4260.495.",
      "entry": 4318.79,
      "stop": 4325.41,
      "target": 4308.86,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-18T03:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-18T03-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260618T120000Z_short_00998",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4263.872, stop=4270.96, target=4253.239. Pre-M15 range high=4309.375, low=4240.07.",
      "entry": 4263.872,
      "stop": 4270.96,
      "target": 4253.239,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-18T12:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-18T12-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260618T193000Z_short_01000",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-18T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4211.647, stop=4219.29, target=4200.183. Pre-M15 range high=4254.845, low=4201.495.",
      "entry": 4211.647,
      "stop": 4219.29,
      "target": 4200.183,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-18T19:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-18T19-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260618T193000Z_long_01001",
      "date": "2026-06-18",
      "timestamp": "2026-06-18T19:30: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-06-18T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4211.12, stop=4201.495, target=4230.37. Pre-M15 range high=4254.845, low=4201.495.",
      "entry": 4211.12,
      "stop": 4201.495,
      "target": 4230.37,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-18T19:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-18T19-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_20260619T053000Z_short_01002",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4137.78, stop=4147.645, target=4122.983. Pre-M15 range high=4194.665, low=4121.955.",
      "entry": 4137.78,
      "stop": 4147.645,
      "target": 4122.983,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-19T05:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-19T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260619T070000Z_short_01004",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-19T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4158.331, stop=4167.98, target=4143.857. Pre-M15 range high=4183.755, low=4121.955.",
      "entry": 4158.331,
      "stop": 4167.98,
      "target": 4143.857,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-19T07:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-19T07-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260619T134500Z_long_01005",
      "date": "2026-06-19",
      "timestamp": "2026-06-19T13: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-06-19T13:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4147.538, stop=4144.34, target=4153.933. Pre-M15 range high=4183.125, low=4142.035.",
      "entry": 4147.538,
      "stop": 4144.34,
      "target": 4153.933,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-06-19T14:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-19T13-45-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260622T000000Z_short_01006",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4148.046, stop=4156.965, target=4134.668. Pre-M15 range high=4164.945, low=4136.695.",
      "entry": 4148.046,
      "stop": 4156.965,
      "target": 4134.668,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-22T00:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-22T00-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260622T030000Z_long_01007",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4181.296, stop=4165.625, target=4204.801. Pre-M15 range high=4221.37, low=4136.695.",
      "entry": 4181.296,
      "stop": 4165.625,
      "target": 4204.801,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-22T03:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-22T03-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260622T133000Z_short_01008",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T13: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-06-22T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4192.997, stop=4197.13, target=4184.732. Pre-M15 range high=4215.255, low=4183.0.",
      "entry": 4192.997,
      "stop": 4197.13,
      "target": 4184.732,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-22T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-22T13-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260622T140000Z_long_01009",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-22T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4193.032, stop=4183.0, target=4208.08. Pre-M15 range high=4215.255, low=4183.0.",
      "entry": 4193.032,
      "stop": 4183.0,
      "target": 4208.08,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-22T14:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-22T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260622T223000Z_short_01011",
      "date": "2026-06-22",
      "timestamp": "2026-06-22T22:30: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-22T22:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4191.023, stop=4194.86, target=4183.348. Pre-M15 range high=4194.86, low=4177.165.",
      "entry": 4191.023,
      "stop": 4194.86,
      "target": 4183.348,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-06-22T22:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-22T22-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_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_20260623T050000Z_short_01014",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-23T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4129.293, stop=4140.66, target=4112.242. Pre-M15 range high=4198.605, low=4114.825.",
      "entry": 4129.293,
      "stop": 4140.66,
      "target": 4112.242,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-23T05:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-23T05-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T083000Z_short_01015",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-23T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4109.476, stop=4119.585, target=4094.312. Pre-M15 range high=4147.065, low=4091.03.",
      "entry": 4109.476,
      "stop": 4119.585,
      "target": 4094.312,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-23T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-23T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260623T090000Z_short_01016",
      "date": "2026-06-23",
      "timestamp": "2026-06-23T09: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-06-23T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4118.438, stop=4123.035, target=4109.243. Pre-M15 range high=4143.38, low=4091.03.",
      "entry": 4118.438,
      "stop": 4123.035,
      "target": 4109.243,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-06-23T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-23T09-00-00Z_short_order_block_reclaim",
      "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_20260624T000000Z_short_01020",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4112.969999999999,
      "stop": 4114.565,
      "target": 4109.779999999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-24T00-00-00Z_short_order_block_reclaim",
      "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_20260624T020000Z_short_01023",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4093.708, stop=4102.51, target=4080.505. Pre-M15 range high=4115.235, low=4068.52.",
      "entry": 4093.708,
      "stop": 4102.51,
      "target": 4080.505,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T06:10:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-24T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T030000Z_short_01024",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4065.947, stop=4076.85, target=4049.592. Pre-M15 range high=4115.235, low=4052.07.",
      "entry": 4065.947,
      "stop": 4076.85,
      "target": 4049.592,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T03:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-24T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T053000Z_short_01025",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4085.399, stop=4096.335, target=4068.994. Pre-M15 range high=4102.51, low=4050.47.",
      "entry": 4085.399,
      "stop": 4096.335,
      "target": 4068.994,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T06:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-24T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260624T080000Z_short_01027",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "H1/M30 context mechanically checked around 2026-06-24T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4080.75, stop=4086.215, target=4072.553. Pre-M15 range high=4097.73, low=4050.47.",
      "entry": 4080.75,
      "stop": 4086.215,
      "target": 4072.553,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T08:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-24T08-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T113000Z_short_01028",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4049.362, stop=4058.615, target=4035.482. Pre-M15 range high=4094.79, low=4037.585.",
      "entry": 4049.362,
      "stop": 4058.615,
      "target": 4035.482,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T11:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-24T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260624T133000Z_short_01029",
      "date": "2026-06-24",
      "timestamp": "2026-06-24T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-24T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4030.228, stop=4048.86, target=4002.28. Pre-M15 range high=4083.465, low=3964.645.",
      "entry": 4030.228,
      "stop": 4048.86,
      "target": 4002.28,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-24T13:50:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-24T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260625T010000Z_short_01030",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4007.072, stop=4016.42, target=3993.051. Pre-M15 range high=4018.825, low=3974.04.",
      "entry": 4007.072,
      "stop": 4016.42,
      "target": 3993.051,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-25T12:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T01-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260625T020000Z_short_01031",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3985.672, stop=3996.08, target=3970.06. Pre-M15 range high=4018.825, low=3962.475.",
      "entry": 3985.672,
      "stop": 3996.08,
      "target": 3970.06,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-25T02:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260625T133000Z_long_01033",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3999.184, stop=3983.315, target=4022.987. Pre-M15 range high=4034.225, low=3973.64.",
      "entry": 3999.184,
      "stop": 3983.315,
      "target": 4022.987,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-25T14:00:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260625T143000Z_long_01034",
      "date": "2026-06-25",
      "timestamp": "2026-06-25T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-25T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4012.038, stop=3999.17, target=4031.34. Pre-M15 range high=4034.225, low=3973.64.",
      "entry": 4012.038,
      "stop": 3999.17,
      "target": 4031.34,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-25T14:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-25T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260626T030000Z_short_01036",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T03:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T03:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3997.877, stop=4009.605, target=3980.284. Pre-M15 range high=4036.505, low=3982.95.",
      "entry": 3997.877,
      "stop": 4009.605,
      "target": 3980.284,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-26T03:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-26T03-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T043000Z_short_01037",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4014.929, stop=4023.355, target=4002.29. Pre-M15 range high=4030.015, low=3982.95.",
      "entry": 4014.929,
      "stop": 4023.355,
      "target": 4002.29,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-26T04:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-26T04-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T073000Z_long_01038",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T07: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-26T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4030.372, stop=4026.81, target=4037.497. Pre-M15 range high=4039.875, low=3982.95.",
      "entry": 4030.372,
      "stop": 4026.81,
      "target": 4037.497,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-26T07:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-26T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T091500Z_long_01039",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T09: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4033.7124999999996,
      "stop": 4029.62,
      "target": 4041.897499999999,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-26T09-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T123000Z_long_01040",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-26T12:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4039.008, stop=4029.59, target=4053.136. Pre-M15 range high=4055.76, low=4025.86.",
      "entry": 4039.008,
      "stop": 4029.59,
      "target": 4053.136,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-26T12:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-26T12-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260626T130000Z_long_01041",
      "date": "2026-06-26",
      "timestamp": "2026-06-26T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4047.234, stop=4035.935, target=4064.183. Pre-M15 range high=4066.13, low=4029.59.",
      "entry": 4047.234,
      "stop": 4035.935,
      "target": 4064.183,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-26T13:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-26T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_01043",
      "date": "2026-06-28",
      "timestamp": "2026-06-28T22:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4077.79, stop=4067.25, target=4093.6. Pre-M15 range high=4093.785, low=4064.705.",
      "entry": 4077.79,
      "stop": 4067.25,
      "target": 4093.6,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-28T22:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-28T22-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_01046",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4059.857, stop=4048.485, target=4076.915. Pre-M15 range high=4091.205, low=4048.15.",
      "entry": 4059.857,
      "stop": 4048.485,
      "target": 4076.915,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-29T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-29T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260629T073000Z_long_01048",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T07: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-29T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4059.515, stop=4056.185, target=4066.175. Pre-M15 range high=4076.015, low=4039.325.",
      "entry": 4059.515,
      "stop": 4056.185,
      "target": 4066.175,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-06-29T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-29T07-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260629T090000Z_short_01049",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "London",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4056.7018000000003,
      "stop": 4066.78,
      "target": 4041.5845000000004,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-06-29T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260629T100000Z_short_01050",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4039.185, stop=4050.77, target=4021.807. Pre-M15 range high=4068.83, low=4024.44.",
      "entry": 4039.185,
      "stop": 4050.77,
      "target": 4021.807,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-29T10:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-29T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260629T190000Z_short_01051",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T19:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-29T19:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4017.469, stop=4021.75, target=4011.047. Pre-M15 range high=4032.17, low=4000.325.",
      "entry": 4017.469,
      "stop": 4021.75,
      "target": 4011.047,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-29T19:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-29T19-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260629T191500Z_long_01052",
      "date": "2026-06-29",
      "timestamp": "2026-06-29T19: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-06-29T19:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4015.525, stop=4005.435, target=4035.705. Pre-M15 range high=4032.17, low=4005.435.",
      "entry": 4015.525,
      "stop": 4005.435,
      "target": 4035.705,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-06-29T19:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-29T19-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_20260630T013000Z_short_01053",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3967.527, stop=3987.505, target=3937.559. Pre-M15 range high=4022.505, low=3942.1.",
      "entry": 3967.527,
      "stop": 3987.505,
      "target": 3937.559,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-30T01:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-30T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T020000Z_short_01054",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3971.701, stop=3979.645, target=3959.785. Pre-M15 range high=4022.505, low=3942.1.",
      "entry": 3971.701,
      "stop": 3979.645,
      "target": 3959.785,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-30T04:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-30T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T043000Z_short_01055",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3995.094, stop=4006.97, target=3977.281. Pre-M15 range high=4018.28, low=3942.1.",
      "entry": 3995.094,
      "stop": 4006.97,
      "target": 3977.281,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-30T04:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T04-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T080000Z_long_01056",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T08:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T08:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4021.274, stop=4011.02, target=4036.655. Pre-M15 range high=4037.665, low=3960.255.",
      "entry": 4021.274,
      "stop": 4011.02,
      "target": 4036.655,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-30T08:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T08-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260630T133000Z_long_01058",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13: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 rejection from 3975 earlier, setting the tone for the day.",
      "ltf_trigger": "Liquidity sweep at 13:30 (low 4013.29), strong rejection. Entry at 4029.375 (M30 close). Stop below 4008. Target 4063.",
      "entry": 4029.375,
      "stop": 4008.0,
      "target": 4063.48,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Win",
      "r": 1.6,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Price retraced into 13:00 to 4009.455. At 13:30, M30 rejects lower prices (low 4013.29, close 4029.375) and expands massively to 4063.48 by 14:00. This aligns perfectly with a long after a liquidity sweep of the 12:30 low (4008.74) or entering a discount zone, driving with the H4 bullish rejection.",
      "source_candidate_id": "candidate_2026-06-30T13-30-00Z_long_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00728_00731.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T133000Z_long_01059",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4020.017, stop=4009.455, target=4035.861. Pre-M15 range high=4037.43, low=4008.74.",
      "entry": 4020.017,
      "stop": 4009.455,
      "target": 4035.861,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-30T13:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T13-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260630T143000Z_long_01060",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4042.169, stop=4025.425, target=4067.286. Pre-M15 range high=4063.48, low=4008.74.",
      "entry": 4042.169,
      "stop": 4025.425,
      "target": 4067.286,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-06-30T14:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-06-30T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260630T230000Z_short_01062",
      "date": "2026-06-30",
      "timestamp": "2026-06-30T23:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-30T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4010.525, stop=4013.625, target=4005.876. Pre-M15 range high=4033.925, low=4006.58.",
      "entry": 4010.525,
      "stop": 4013.625,
      "target": 4005.876,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-06-30T23:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-06-30T23-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260701T013000Z_short_01064",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3989.285, stop=3999.9, target=3973.362. Pre-M15 range high=4022.68, low=3975.1.",
      "entry": 3989.285,
      "stop": 3999.9,
      "target": 3973.362,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-01T10:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-01T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T020000Z_short_01065",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3982.315, stop=3988.77, target=3972.633. Pre-M15 range high=4021.265, low=3970.395.",
      "entry": 3982.315,
      "stop": 3988.77,
      "target": 3972.633,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-01T02:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-01T02-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T063000Z_short_01066",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-01T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3971.348, stop=3977.605, target=3961.963. Pre-M15 range high=3987.095, low=3963.34.",
      "entry": 3971.348,
      "stop": 3977.605,
      "target": 3961.963,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-01T06:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-01T06-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260701T073000Z_short_01068",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3967.908, stop=3973.905, target=3958.912. Pre-M15 range high=3987.095, low=3960.275.",
      "entry": 3967.908,
      "stop": 3973.905,
      "target": 3958.912,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-01T07:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-01T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T130000Z_long_01069",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4011.5006000000003,
      "stop": 3997.975,
      "target": 4031.7890000000007,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-07-01T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260701T163000Z_long_01070",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-01T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4070.954, stop=4041.685, target=4114.857. Pre-M15 range high=4115.81, low=4012.865.",
      "entry": 4070.954,
      "stop": 4041.685,
      "target": 4114.857,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-01T16:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-01T16-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260701T230000Z_short_01072",
      "date": "2026-07-01",
      "timestamp": "2026-07-01T23: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-07-01T23:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4039.747, stop=4045.185, target=4028.872. Pre-M15 range high=4073.235, low=4028.265.",
      "entry": 4039.747,
      "stop": 4045.185,
      "target": 4028.872,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-07-01T23:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-01T23-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_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_20260702T003000Z_long_01074",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4038.661, stop=4030.895, target=4050.31. Pre-M15 range high=4068.365, low=4028.265.",
      "entry": 4038.661,
      "stop": 4030.895,
      "target": 4050.31,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-02T00:40:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-02T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260702T043000Z_long_01076",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T04:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T04:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4060.702, stop=4055.51, target=4068.49. Pre-M15 range high=4074.235, low=4030.895.",
      "entry": 4060.702,
      "stop": 4055.51,
      "target": 4068.49,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-02T05:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-02T04-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T063000Z_long_01077",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T06:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T06:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4072.186, stop=4066.11, target=4081.301. Pre-M15 range high=4079.92, low=4041.515.",
      "entry": 4072.186,
      "stop": 4066.11,
      "target": 4081.301,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-02T06:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-02T06-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T083000Z_short_01078",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08: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": "H1 printed a bullish engulfing-like bar at 08:00 (O:4064, C:4076).",
      "ltf_trigger": "M15 swept H:4078 at 08:30-08:45, reversing to 4065 by 09:45. Valid LTF mechanics, but counter-trend to immediate momentum.",
      "entry": 4072.0,
      "stop": 4080.12,
      "target": 4064.09,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 liquidity sweep at 08:30, but H1 context is bullish (close 4076.19 up from 4064.375). Wait for clearer HTF alignment.",
      "source_candidate_id": "candidate_2026-07-02T08-30-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00740_00742.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T084500Z_short_01079",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T08: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 printed a bullish engulfing-like bar at 08:00 (O:4064, C:4076).",
      "ltf_trigger": "M15 swept H:4080 at 08:45, reversing to 4065 by 09:45. Valid LTF mechanics, but counter-trend.",
      "entry": 4072.0,
      "stop": 4080.12,
      "target": 4064.09,
      "fib": "strategy-specific fair rebuild",
      "pd": "Liquidity Sweep Reversal",
      "outcome": "Loss",
      "r": 1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "M15 liquidity sweep at 08:45 (high 4080.12). Same context as 08:30 candidate, counter-trend to immediate momentum.",
      "source_candidate_id": "candidate_2026-07-02T08-45-00Z_short_liquidity_sweep_reversal",
      "source_phase": "phase1_liquidity_sweep",
      "source_review": "hybrid/reviews/manual_replay_results/replay_result_00740_00742.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T090000Z_long_01080",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-02T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4068.746, stop=4061.475, target=4079.653. Pre-M15 range high=4080.12, low=4053.245.",
      "entry": 4068.746,
      "stop": 4061.475,
      "target": 4079.653,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-02T09:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-02T09-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T140000Z_long_01081",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-02T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4125.065, stop=4110.125, target=4147.476. Pre-M15 range high=4144.08, low=4057.44.",
      "entry": 4125.065,
      "stop": 4110.125,
      "target": 4147.476,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-02T14:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-02T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260702T163000Z_long_01082",
      "date": "2026-07-02",
      "timestamp": "2026-07-02T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Long",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4097.9482,
      "stop": 4064.495,
      "target": 4148.128,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-07-02T16-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260703T070000Z_long_01083",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T07:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-03T07:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4168.923, stop=4164.53, target=4175.513. Pre-M15 range high=4186.86, low=4160.415.",
      "entry": 4168.923,
      "stop": 4164.53,
      "target": 4175.513,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-03T09:30:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-03T07-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260703T114500Z_long_01085",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T11:45: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-07-03T11:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4176.855, stop=4174.8, target=4180.965. Pre-M15 range high=4186.655, low=4168.57.",
      "entry": 4176.855,
      "stop": 4174.8,
      "target": 4180.965,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-03T12:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-03T11-45-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260703T131500Z_short_01086",
      "date": "2026-07-03",
      "timestamp": "2026-07-03T13: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-07-03T13:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4175.038, stop=4177.68, target=4169.753. Pre-M15 range high=4186.655, low=4164.68.",
      "entry": 4175.038,
      "stop": 4177.68,
      "target": 4169.753,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-03T16:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-03T13-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260705T233000Z_long_01087",
      "date": "2026-07-05",
      "timestamp": "2026-07-05T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-05T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4193.517, stop=4186.675, target=4203.78. Pre-M15 range high=4202.225, low=4155.41.",
      "entry": 4193.517,
      "stop": 4186.675,
      "target": 4203.78,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-05T23:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-05T23-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260706T000000Z_long_01088",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T00:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-06T00:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4171.182, stop=4166.94, target=4177.544. Pre-M15 range high=4202.225, low=4161.455.",
      "entry": 4171.182,
      "stop": 4166.94,
      "target": 4177.544,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-06T00:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-06T00-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260706T010000Z_long_01089",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T01: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-07-06T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4189.205, stop=4186.745, target=4194.125. Pre-M15 range high=4202.225, low=4163.0.",
      "entry": 4189.205,
      "stop": 4186.745,
      "target": 4194.125,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-06T01:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-06T01-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260706T060000Z_short_01090",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T06: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-07-06T06:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4155.175, stop=4160.705, target=4144.115. Pre-M15 range high=4202.705, low=4144.83.",
      "entry": 4155.175,
      "stop": 4160.705,
      "target": 4144.115,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-06T06:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-06T06-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260706T153000Z_short_01091",
      "date": "2026-07-06",
      "timestamp": "2026-07-06T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-06T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4152.618, stop=4158.525, target=4143.758. Pre-M15 range high=4159.6, low=4128.51.",
      "entry": 4152.618,
      "stop": 4158.525,
      "target": 4143.758,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-06T16:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-06T15-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T004500Z_short_01092",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T00: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-07-07T00:45:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4156.458, stop=4160.79, target=4147.793. Pre-M15 range high=4168.65, low=4145.195.",
      "entry": 4156.458,
      "stop": 4160.79,
      "target": 4147.793,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-07T11:55:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T00-45-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T013000Z_short_01093",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4138.227, stop=4148.07, target=4123.463. Pre-M15 range high=4168.65, low=4125.7.",
      "entry": 4138.227,
      "stop": 4148.07,
      "target": 4123.463,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-07T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-07T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T020000Z_long_01094",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T02:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T02:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4138.487, stop=4132.4, target=4147.619. Pre-M15 range high=4168.65, low=4125.7.",
      "entry": 4138.487,
      "stop": 4132.4,
      "target": 4147.619,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-07T02:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T02-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T083000Z_long_01095",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T08: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-07-07T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4129.153, stop=4124.64, target=4138.177. Pre-M15 range high=4141.415, low=4116.7.",
      "entry": 4129.153,
      "stop": 4124.64,
      "target": 4138.177,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-07T08:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T08-30-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T090000Z_short_01096",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4131.664, stop=4139.305, target=4120.203. Pre-M15 range high=4139.395, low=4116.7.",
      "entry": 4131.664,
      "stop": 4139.305,
      "target": 4120.203,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-07T09:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T140000Z_short_01097",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:00: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": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4172.09,
      "stop": 4180.52,
      "target": 4155.23,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-07-07T14-00-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T143000Z_long_01098",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T14:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-07T14:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4147.857, stop=4139.605, target=4160.236. Pre-M15 range high=4180.52, low=4125.105.",
      "entry": 4147.857,
      "stop": 4139.605,
      "target": 4160.236,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-07T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T14-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260707T193000Z_short_01099",
      "date": "2026-07-07",
      "timestamp": "2026-07-07T19:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07T19:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4112.223, stop=4127.88, target=4088.736. Pre-M15 range high=4157.745, low=4092.295.",
      "entry": 4112.223,
      "stop": 4127.88,
      "target": 4088.736,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-07T19:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-07T19-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260708T113000Z_short_01101",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-08T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4074.59, stop=4092.115, target=4048.302. Pre-M15 range high=4127.345, low=4040.575.",
      "entry": 4074.59,
      "stop": 4092.115,
      "target": 4048.302,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-08T12:15:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-08T11-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260708T113000Z_long_01102",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T11:30: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-08T11:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4057.043, stop=4041.55, target=4088.027. Pre-M15 range high=4127.345, low=4040.575.",
      "entry": 4057.043,
      "stop": 4041.55,
      "target": 4088.027,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Long: entry touched 2026-07-08T11:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-08T11-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_20260708T141500Z_long_01103",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T14: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-07-08T14:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4051.238, stop=4047.825, target=4058.063. Pre-M15 range high=4086.445, low=4040.575.",
      "entry": 4051.238,
      "stop": 4047.825,
      "target": 4058.063,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-08T14:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-08T14-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260708T163000Z_short_01104",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-08T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4062.811, stop=4071.585, target=4049.651. Pre-M15 range high=4086.445, low=4021.815.",
      "entry": 4062.811,
      "stop": 4071.585,
      "target": 4049.651,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-08T16:50:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-08T16-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260708T163000Z_short_01105",
      "date": "2026-07-08",
      "timestamp": "2026-07-08T16: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-07-08T16:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4058.595, stop=4065.545, target=4044.695. Pre-M15 range high=4086.445, low=4021.815.",
      "entry": 4058.595,
      "stop": 4065.545,
      "target": 4044.695,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-08T16:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-08T16-30-00Z_short_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_20260709T013000Z_short_01108",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4072.856, stop=4078.895, target=4063.798. Pre-M15 range high=4090.02, low=4062.475.",
      "entry": 4072.856,
      "stop": 4078.895,
      "target": 4063.798,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-09T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-09T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260709T050000Z_short_01109",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T05:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-09T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4074.151, stop=4081.715, target=4062.806. Pre-M15 range high=4090.02, low=4054.4.",
      "entry": 4074.151,
      "stop": 4081.715,
      "target": 4062.806,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-09T05:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-09T05-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260709T140000Z_long_01110",
      "date": "2026-07-09",
      "timestamp": "2026-07-09T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-09T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4115.926, stop=4106.875, target=4129.502. Pre-M15 range high=4136.605, low=4093.855.",
      "entry": 4115.926,
      "stop": 4106.875,
      "target": 4129.502,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-09T14:20:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-09T14-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260710T010000Z_long_01112",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T01:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T01:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4120.672, stop=4114.545, target=4129.863. Pre-M15 range high=4131.26, low=4114.545.",
      "entry": 4120.672,
      "stop": 4114.545,
      "target": 4129.863,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-10T01:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T01-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T023000Z_long_01113",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T02:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T02:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4121.785, stop=4116.12, target=4130.282. Pre-M15 range high=4131.26, low=4108.72.",
      "entry": 4121.785,
      "stop": 4116.12,
      "target": 4130.282,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-10T03:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T02-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260710T090000Z_short_01115",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T09:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T09:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4100.967, stop=4105.765, target=4093.769. Pre-M15 range high=4121.285, low=4094.535.",
      "entry": 4100.967,
      "stop": 4105.765,
      "target": 4093.769,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-10T09:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T09-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T100000Z_short_01116",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T10:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-10T10:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4106.858, stop=4109.65, target=4102.671. Pre-M15 range high=4120.19, low=4094.535.",
      "entry": 4106.858,
      "stop": 4109.65,
      "target": 4102.671,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-10T10:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T10-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "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_20260710T121500Z_long_01118",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T12: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-07-10T12:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4105.12, stop=4102.195, target=4110.97. Pre-M15 range high=4117.585, low=4094.535.",
      "entry": 4105.12,
      "stop": 4102.195,
      "target": 4110.97,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-10T12:25:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T12-15-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T133000Z_short_01119",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-10T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4097.565, stop=4106.765, target=4083.764. Pre-M15 range high=4117.585, low=4085.855.",
      "entry": 4097.565,
      "stop": 4106.765,
      "target": 4083.764,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-10T13:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260710T133000Z_short_01120",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T13: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-07-10T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4102.642, stop=4106.42, target=4095.087. Pre-M15 range high=4117.585, low=4085.855.",
      "entry": 4102.642,
      "stop": 4106.42,
      "target": 4095.087,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-10T13:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-10T13-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_20260710T150000Z_short_01122",
      "date": "2026-07-10",
      "timestamp": "2026-07-10T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-10T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4092.453, stop=4107.895, target=4069.291. Pre-M15 range high=4117.585, low=4072.8.",
      "entry": 4092.453,
      "stop": 4107.895,
      "target": 4069.291,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-12T22:05:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-10T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260712T233000Z_short_01123",
      "date": "2026-07-12",
      "timestamp": "2026-07-12T23:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-12T23:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4079.242, stop=4086.755, target=4067.973. Pre-M15 range high=4121.375, low=4068.61.",
      "entry": 4079.242,
      "stop": 4086.755,
      "target": 4067.973,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-12T23:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-12T23-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260713T013000Z_short_01124",
      "date": "2026-07-13",
      "timestamp": "2026-07-13T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-13T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4083.916, stop=4091.295, target=4072.848. Pre-M15 range high=4121.375, low=4061.115.",
      "entry": 4083.916,
      "stop": 4091.295,
      "target": 4072.848,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-13T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-13T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260714T003000Z_short_01125",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-14T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3995.521, stop=4004.93, target=3981.407. Pre-M15 range high=4007.145, low=3983.545.",
      "entry": 3995.521,
      "stop": 4004.93,
      "target": 3981.407,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-14T01:00:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-14T00-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260714T120000Z_long_01128",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T12:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-14T12:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4027.777, stop=4024.525, target=4032.654. Pre-M15 range high=4035.99, low=4013.925.",
      "entry": 4027.777,
      "stop": 4024.525,
      "target": 4032.654,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-14T12:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-14T12-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260714T153000Z_long_01130",
      "date": "2026-07-14",
      "timestamp": "2026-07-14T15:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-14T15:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4062.232, stop=4029.375, target=4111.517. Pre-M15 range high=4104.05, low=4015.485.",
      "entry": 4062.232,
      "stop": 4029.375,
      "target": 4111.517,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-14T16:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-14T15-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_01133",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00: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-07-15T00:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4050.903, stop=4047.68, target=4057.348. Pre-M15 range high=4058.56, low=4044.895.",
      "entry": 4050.903,
      "stop": 4047.68,
      "target": 4057.348,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-07-15T01:30:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T00-30-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T003000Z_long_01134",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T00:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4054.247, stop=4051.05, target=4059.041. Pre-M15 range high=4058.56, low=4044.895.",
      "entry": 4054.247,
      "stop": 4051.05,
      "target": 4059.041,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-15T00:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-15T00-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260715T013000Z_long_01136",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T01:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4050.093, stop=4046.925, target=4054.845. Pre-M15 range high=4062.125, low=4036.76.",
      "entry": 4050.093,
      "stop": 4046.925,
      "target": 4054.845,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-15T01:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T01-30-00Z_long_aryy_htf_narrative_fib_50_62",
      "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_20260715T050000Z_short_01138",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05: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-07-15T05:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4029.573, stop=4036.28, target=4016.158. Pre-M15 range high=4062.125, low=4025.105.",
      "entry": 4029.573,
      "stop": 4036.28,
      "target": 4016.158,
      "fib": "strategy-specific fair rebuild",
      "pd": "ICT Sweep + MSS + FVG",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "ICT Sweep + MSS + FVG Short: entry touched 2026-07-15T05:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T05-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_20260715T053000Z_short_01139",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4031.257, stop=4036.28, target=4023.724. Pre-M15 range high=4062.125, low=4022.245.",
      "entry": 4031.257,
      "stop": 4036.28,
      "target": 4023.724,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-15T05:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T05-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T053000Z_short_01140",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T05: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-15T05:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4032.477, stop=4034.555, target=4028.323. Pre-M15 range high=4062.125, low=4022.245.",
      "entry": 4032.477,
      "stop": 4034.555,
      "target": 4028.323,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-15T05:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T05-30-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_20260715T081500Z_short_01142",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08: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-15T08:15:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4024.227, stop=4026.92, target=4018.842. Pre-M15 range high=4037.16, low=4017.475.",
      "entry": 4024.227,
      "stop": 4026.92,
      "target": 4018.842,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Short: entry touched 2026-07-15T08:20:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T08-15-00Z_short_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T083000Z_short_01143",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T08:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-15T08:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4028.184, stop=4034.485, target=4018.733. Pre-M15 range high=4037.16, low=4017.475.",
      "entry": 4028.184,
      "stop": 4034.485,
      "target": 4018.733,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-15T08:35:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T08-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T130000Z_long_01144",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T13:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-15T13:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4053.58, stop=4039.425, target=4074.812. Pre-M15 range high=4074.175, low=4018.1.",
      "entry": 4053.58,
      "stop": 4039.425,
      "target": 4074.812,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Long: entry touched 2026-07-15T14:45:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-15T13-00-00Z_long_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260715T133000Z_short_01145",
      "date": "2026-07-15",
      "timestamp": "2026-07-15T13:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-15T13:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4065.344, stop=4074.175, target=4052.098. Pre-M15 range high=4074.175, low=4025.605.",
      "entry": 4065.344,
      "stop": 4074.175,
      "target": 4052.098,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-15T13:55:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-15T13-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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_01147",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T01:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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=4043.405, stop=4050.735, target=4032.409. Pre-M15 range high=4064.71, low=4034.075.",
      "entry": 4043.405,
      "stop": 4050.735,
      "target": 4032.409,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-16T01:35:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-16T01-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.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
    },
    {
      "id": "fair_20260716T073000Z_short_01149",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T07:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-16T07:30:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4027.806, stop=4030.855, target=4023.232. Pre-M15 range high=4038.045, low=4023.03.",
      "entry": 4027.806,
      "stop": 4030.855,
      "target": 4023.232,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-16T07:40:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-16T07-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T110000Z_long_01150",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T11:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Breaker Continuation",
      "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-16T11:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4026.55, stop=4024.63, target=4030.39. Pre-M15 range high=4037.98, low=4023.03.",
      "entry": 4026.55,
      "stop": 4024.63,
      "target": 4030.39,
      "fib": "strategy-specific fair rebuild",
      "pd": "Breaker Continuation",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Breaker Continuation Long: entry touched 2026-07-16T11:15:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-16T11-00-00Z_long_breaker_continuation",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T123000Z_short_01151",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T12:30:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "direction": "Short",
      "session": "NY AM",
      "narrative": "Fair rebuild: setup valid before outcome; losing valid setups included.",
      "htf_context": "Phase2 HTF context mechanically checked.",
      "ltf_trigger": "Phase2 M15/M5 execution mechanically checked.",
      "entry": 4029.9642,
      "stop": 4043.36,
      "target": 4009.8704999999995,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "candidate formed but proposed entry not touched in M5 follow-through window",
      "source_candidate_id": "candidate_v2_2026-07-16T12-30-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T140000Z_short_01152",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T14:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-16T14:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3996.794, stop=4008.485, target=3979.258. Pre-M15 range high=4043.36, low=3973.8.",
      "entry": 3996.794,
      "stop": 4008.485,
      "target": 3979.258,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-16T14:05:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-16T14-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T150000Z_short_01153",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T15:00:00Z",
      "symbol": "XAUUSD",
      "strategy": "Aryy HTF Narrative Fib 50/62",
      "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-07-16T15:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=4012.568, stop=4029.845, target=3986.653. Pre-M15 range high=4043.36, low=3973.8.",
      "entry": 4012.568,
      "stop": 4029.845,
      "target": 3986.653,
      "fib": "strategy-specific fair rebuild",
      "pd": "Aryy HTF Narrative Fib 50/62",
      "outcome": "Win",
      "r": 1.5,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Aryy HTF Narrative Fib 50/62 Short: entry touched 2026-07-16T15:25:00Z; outcome=tp_first",
      "source_candidate_id": "candidate_v2_2026-07-16T15-00-00Z_short_aryy_htf_narrative_fib_50_62",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    },
    {
      "id": "fair_20260716T160000Z_long_01154",
      "date": "2026-07-16",
      "timestamp": "2026-07-16T16: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-07-16T16:00:00Z.",
      "ltf_trigger": "M15/M5 candidate levels: entry=3994.13, stop=3989.47, target=4003.45. Pre-M15 range high=4043.36, low=3973.8.",
      "entry": 3994.13,
      "stop": 3989.47,
      "target": 4003.45,
      "fib": "strategy-specific fair rebuild",
      "pd": "Order Block Reclaim",
      "outcome": "Loss",
      "r": -1.0,
      "confidence": "Fair deterministic rebuild; visual replay audit still recommended",
      "notes": "Order Block Reclaim Long: entry touched 2026-07-16T16:10:00Z; outcome=sl_first",
      "source_candidate_id": "candidate_v2_2026-07-16T16-00-00Z_long_order_block_reclaim",
      "source_phase": "phase2_multistrategy",
      "source_review": "hybrid/reviews/reviews_v2_multistrategy.json",
      "is_confirmed_trade": true
    }
  ]
}
