{
  "by_action": {
    "no_trade": {
      "avg_r": "0.0000",
      "blocked": 7303,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 7303,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "outcome_side_long": {
      "avg_r": "0.3628",
      "blocked": 0,
      "closed": 85,
      "closure_rate_pct": "0.00",
      "decisions": 0,
      "losses": 34,
      "realized_r": "30.8398",
      "scratch": 4,
      "tiny_live_candidates": 0,
      "watch_shadow": 0,
      "win_rate_pct": "55.29",
      "wins": 47
    },
    "outcome_side_short": {
      "avg_r": "0.1244",
      "blocked": 0,
      "closed": 26,
      "closure_rate_pct": "0.00",
      "decisions": 0,
      "losses": 6,
      "realized_r": "3.2346",
      "scratch": 4,
      "tiny_live_candidates": 0,
      "watch_shadow": 0,
      "win_rate_pct": "61.54",
      "wins": 16
    },
    "tiny_live_candidate": {
      "avg_r": "0.0000",
      "blocked": 0,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 83,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 83,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "watch_shadow": {
      "avg_r": "0.0000",
      "blocked": 0,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 566,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 566,
      "win_rate_pct": "0.00",
      "wins": 0
    }
  },
  "by_coin": {
    "BTC": {
      "avg_r": "0.2945",
      "blocked": 1798,
      "closed": 24,
      "closure_rate_pct": "1.21",
      "decisions": 1988,
      "losses": 9,
      "realized_r": "7.0679",
      "scratch": 1,
      "tiny_live_candidates": 16,
      "watch_shadow": 174,
      "win_rate_pct": "58.33",
      "wins": 14
    },
    "ETH": {
      "avg_r": "0.3880",
      "blocked": 1747,
      "closed": 49,
      "closure_rate_pct": "2.46",
      "decisions": 1988,
      "losses": 17,
      "realized_r": "19.0132",
      "scratch": 4,
      "tiny_live_candidates": 47,
      "watch_shadow": 194,
      "win_rate_pct": "57.14",
      "wins": 28
    },
    "LINK": {
      "avg_r": "0.6503",
      "blocked": 1969,
      "closed": 5,
      "closure_rate_pct": "0.25",
      "decisions": 1988,
      "losses": 1,
      "realized_r": "3.2514",
      "scratch": 1,
      "tiny_live_candidates": 0,
      "watch_shadow": 19,
      "win_rate_pct": "60.00",
      "wins": 3
    },
    "SOL": {
      "avg_r": "0.1437",
      "blocked": 1789,
      "closed": 33,
      "closure_rate_pct": "1.66",
      "decisions": 1988,
      "losses": 13,
      "realized_r": "4.7419",
      "scratch": 2,
      "tiny_live_candidates": 20,
      "watch_shadow": 179,
      "win_rate_pct": "54.55",
      "wins": 18
    }
  },
  "by_score_bucket": {
    "70_75": {
      "avg_r": "0.0000",
      "blocked": 959,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 1171,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 212,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "75_80": {
      "avg_r": "0.0000",
      "blocked": 1118,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 1472,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 354,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "80_85": {
      "avg_r": "0.0000",
      "blocked": 366,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 445,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 79,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "85_plus": {
      "avg_r": "0.0000",
      "blocked": 3,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 7,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 4,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "below_70": {
      "avg_r": "0.0000",
      "blocked": 4857,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 4857,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    }
  },
  "by_setup": {
    "no_trade": {
      "avg_r": "0.0000",
      "blocked": 4118,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 4118,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 0,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "risk_off_trend_retest_short": {
      "avg_r": "0.0000",
      "blocked": 2953,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 3002,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 0,
      "watch_shadow": 49,
      "win_rate_pct": "0.00",
      "wins": 0
    },
    "trend_retest_continuation": {
      "avg_r": "0.0000",
      "blocked": 232,
      "closed": 0,
      "closure_rate_pct": "0.00",
      "decisions": 832,
      "losses": 0,
      "realized_r": "0.0000",
      "scratch": 0,
      "tiny_live_candidates": 83,
      "watch_shadow": 517,
      "win_rate_pct": "0.00",
      "wins": 0
    }
  },
  "generated_at": "2026-07-15T12:02:47.891558+00:00",
  "live_order_allowed": false,
  "mainnet_signed_action": false,
  "open_positions": [],
  "open_shadow_positions": 0,
  "overall": {
    "avg_r": "0.3070",
    "blocked": 7303,
    "closed": 111,
    "closure_rate_pct": "1.40",
    "decisions": 7952,
    "losses": 40,
    "realized_r": "34.0744",
    "scratch": 8,
    "tiny_live_candidates": 83,
    "watch_shadow": 566,
    "win_rate_pct": "56.76",
    "wins": 63
  },
  "paper_only": true,
  "safety_boundary": {
    "dashboard_executes_orders": false,
    "live_order_allowed": false,
    "mainnet_signed_action": false,
    "paper_only": true
  },
  "schema_version": "trader_desk_shadow_scorecard.v1",
  "source": {
    "decisions_path": "runtime/experiments/trader_desk_shadow/decision_journal.jsonl",
    "limit": null,
    "outcomes_path": "runtime/experiments/trader_desk_shadow/outcome_journal.jsonl",
    "state_path": "runtime/experiments/trader_desk_shadow/state.json"
  }
}