{
  "schema": 2,
  "generatedAt": "2026-10-21T13:00:23.588142Z",
  "source": {
    "bankRevision": 2,
    "selectionRule": "fresh-confirmed-source-touch-v1",
    "draw": {
      "method": "CaseDraw.seeded(bank, {}, seed)",
      "seed": 20261021
    },
    "dataProvider": "Binance spot klines (public market data)"
  },
  "stats": {
    "touches": 110,
    "targetFirst": 25,
    "invalidatedFirst": 74,
    "unresolved": 11,
    "horizonHours": 72,
    "from": "2024-10-19T22:45:00.000Z",
    "to": "2026-10-02T18:45:00.000Z",
    "symbols": [
      "BTCUSDT",
      "ETHUSDT",
      "SOLUSDT"
    ]
  },
  "kinds": {
    "touch": 110,
    "approaching": 29,
    "tightRange": 28,
    "standAside": 53,
    "total": 220
  },
  "cases": [
    {
      "id": "SOLUSDT-touch-1762793100000",
      "file": "SOLUSDT-touch-1762793100000.json",
      "symbol": "SOLUSDT",
      "pair": "SOL/USDT",
      "kind": "touch",
      "decisionAt": "2025-11-10T16:45:00.000Z"
    },
    {
      "id": "ETHUSDT-approaching-1779264000000",
      "file": "ETHUSDT-approaching-1779264000000.json",
      "symbol": "ETHUSDT",
      "pair": "ETH/USDT",
      "kind": "approaching",
      "decisionAt": "2026-05-20T08:00:00.000Z"
    },
    {
      "id": "SOLUSDT-touch-1782455400000",
      "file": "SOLUSDT-touch-1782455400000.json",
      "symbol": "SOLUSDT",
      "pair": "SOL/USDT",
      "kind": "touch",
      "decisionAt": "2026-06-26T06:30:00.000Z"
    },
    {
      "id": "BTCUSDT-tightRange-1759305600000",
      "file": "BTCUSDT-tightRange-1759305600000.json",
      "symbol": "BTCUSDT",
      "pair": "BTC/USDT",
      "kind": "tightRange",
      "decisionAt": "2025-10-01T08:00:00.000Z"
    },
    {
      "id": "ETHUSDT-standAside-1787778000000",
      "file": "ETHUSDT-standAside-1787778000000.json",
      "symbol": "ETHUSDT",
      "pair": "ETH/USDT",
      "kind": "standAside",
      "decisionAt": "2026-08-26T21:00:00.000Z"
    }
  ],
  "teaser": "teaser.json"
}
