{
  "latest": {
    "schema": "noetfield.ai-trader-research-cycle.v1",
    "state": "DECISIONS_PRODUCED",
    "mode": "RESEARCH_ONLY",
    "proofRunId": "gha-31262411554-1-ai-trader",
    "startedAtIso": "2026-08-08T14:38:13.817Z",
    "completedAtIso": "2026-08-08T14:40:04.424Z",
    "watchlist": [
      "BTCUSDT",
      "ETHUSDT",
      "SOLUSDT",
      "BNBUSDT",
      "XRPUSDT",
      "ADAUSDT",
      "AVAXUSDT",
      "LINKUSDT",
      "DOTUSDT",
      "POLUSDT",
      "LTCUSDT",
      "ATOMUSDT"
    ],
    "screenedCount": 12,
    "scan": [
      {
        "symbol": "ATOMUSDT",
        "score": 49,
        "bias": "LONG",
        "passed": true,
        "rejectReasons": [],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "1.82% over the momentum lookback.",
          "Volume is 1.42x its 20-bar average.",
          "%B is 0.87, leaving room before the far band.",
          "0.43% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "POLUSDT",
        "score": 45,
        "bias": "LONG",
        "passed": true,
        "rejectReasons": [],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "0.55% over the momentum lookback.",
          "Volume is 0.94x its 20-bar average.",
          "%B is 0.86, leaving room before the far band.",
          "1.83% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "LTCUSDT",
        "score": 44,
        "bias": "LONG",
        "passed": true,
        "rejectReasons": [],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "%B is 0.94, leaving room before the far band.",
          "0.83% from the nearest recent swing extreme.",
          "Band width is in the lowest quartile of its recent range — compressed volatility."
        ]
      },
      {
        "symbol": "SOLUSDT",
        "score": 37,
        "bias": "LONG",
        "passed": true,
        "rejectReasons": [],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "0.92% over the momentum lookback.",
          "%B is 0.90, leaving room before the far band.",
          "0.25% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "XRPUSDT",
        "score": 36,
        "bias": "SHORT",
        "passed": true,
        "rejectReasons": [],
        "reasons": [
          "Base and higher timeframe both down.",
          "Volume is 1.02x its 20-bar average.",
          "%B is 0.86, leaving room before the far band.",
          "0.16% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "BNBUSDT",
        "score": 33,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "0.80% over the momentum lookback.",
          "Volume is 2.01x its 20-bar average.",
          "Price is pinned to the upper band (%B 1.11) — poor entry location.",
          "0.17% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "AVAXUSDT",
        "score": 30,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "MACD histogram agrees with the trend direction.",
          "Volume is 1.54x its 20-bar average.",
          "%B is 0.60, leaving room before the far band.",
          "1.20% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "DOTUSDT",
        "score": 29,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "-0.97% over the momentum lookback.",
          "Volume is 1.42x its 20-bar average.",
          "%B is 0.39, leaving room before the far band.",
          "1.35% from the nearest recent swing extreme.",
          "Band width is in the lowest quartile of its recent range — compressed volatility."
        ]
      },
      {
        "symbol": "ETHUSDT",
        "score": 27,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "THIN_VOLUME",
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "Volume is 0.67x its 20-bar average — no confirmation.",
          "%B is 0.80, leaving room before the far band.",
          "1.20% from the nearest recent swing extreme.",
          "Band width is in the lowest quartile of its recent range — compressed volatility."
        ]
      },
      {
        "symbol": "ADAUSDT",
        "score": 24,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "THIN_VOLUME",
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "Base and higher timeframe both up.",
          "Volume is 0.68x its 20-bar average — no confirmation.",
          "%B is 0.42, leaving room before the far band.",
          "1.80% from the nearest recent swing extreme.",
          "Band width is in the lowest quartile of its recent range — compressed volatility."
        ]
      },
      {
        "symbol": "LINKUSDT",
        "score": 16,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "THIN_VOLUME",
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "Base and higher timeframe both up.",
          "MACD histogram agrees with the trend direction.",
          "0.81% over the momentum lookback.",
          "Volume is 0.76x its 20-bar average — no confirmation.",
          "%B is 0.88, leaving room before the far band.",
          "0.37% from the nearest recent swing extreme."
        ]
      },
      {
        "symbol": "BTCUSDT",
        "score": 15,
        "bias": "NEUTRAL",
        "passed": false,
        "rejectReasons": [
          "THIN_VOLUME",
          "NO_DIRECTIONAL_EDGE"
        ],
        "reasons": [
          "Base and higher timeframe both up.",
          "Volume is 0.77x its 20-bar average — no confirmation.",
          "%B is 0.72, leaving room before the far band.",
          "0.58% from the nearest recent swing extreme.",
          "Band width is in the lowest quartile of its recent range — compressed volatility."
        ]
      }
    ],
    "analyzedCount": 3,
    "decisions": [
      {
        "symbol": "LTCUSDT",
        "verdict": {
          "symbol": "LTCUSDT",
          "candidateStatus": "CANDIDATE",
          "direction": "LONG",
          "setupType": "Trend Continuation",
          "setupScore": 78,
          "confidence": 0.7,
          "thesis": "LTCUSDT is in an uptrend (trend=UP) with price above both EMA20 and EMA50, RSI neutral but above 50, suggesting momentum is bullish. A long entry at current close with stop below recent support (EMA50) offers a favorable risk-reward ratio above the minimum 2:1, targeting a move to a round number resistance.",
          "entry": 45.66,
          "stop": 45.5,
          "target": 46,
          "invalidation": [
            "Price closes below EMA50 (45.50) on 1h candle",
            "RSI drops below 40",
            "Trend indicator flips to DOWN"
          ],
          "evidence": [
            "trend: 'UP'",
            "close (45.66) > EMA20 (45.58) > EMA50 (45.50)",
            "RSI14 at 55.46, not overbought, indicating room to run",
            "ATR% 0.349% below max 5%, acceptable volatility"
          ],
          "missingData": [],
          "humanChecks": [
            "Confirm no bearish divergence on RSI",
            "Check for upcoming news or events that might impact crypto",
            "Verify volume confirms breakout above recent high (if any)"
          ]
        },
        "risk": {
          "decision": "REJECTED",
          "riskAmountUsd": 50,
          "maxQuantity": 312.50000000000665,
          "notionalUsd": 14268.750000000302,
          "projectedExposurePct": 142.687500000003,
          "rewardRisk": 2.1250000000000666,
          "dataAgeMinutes": 38.2303,
          "reasons": [
            "EXPOSURE_LIMIT"
          ]
        },
        "usage": {
          "costUsd": 0.002385163,
          "costBasis": "estimated",
          "providerId": "deepseek",
          "modelId": "deepseek-v4-pro",
          "cacheHit": false
        }
      }
    ],
    "skipped": [
      {
        "symbol": "BTCUSDT",
        "reason": "THIN_VOLUME,NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "ETHUSDT",
        "reason": "THIN_VOLUME,NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "BNBUSDT",
        "reason": "NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "ADAUSDT",
        "reason": "THIN_VOLUME,NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "AVAXUSDT",
        "reason": "NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "LINKUSDT",
        "reason": "THIN_VOLUME,NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "DOTUSDT",
        "reason": "NO_DIRECTIONAL_EDGE"
      },
      {
        "symbol": "ATOMUSDT",
        "reason": "ANALYST_REFUSED:UNPARSEABLE_OUTPUT"
      },
      {
        "symbol": "POLUSDT",
        "reason": "ANALYST_REFUSED:UNPARSEABLE_OUTPUT"
      }
    ],
    "newsOutages": [
      {
        "symbol": "ATOMUSDT",
        "status": "provider_error"
      },
      {
        "symbol": "POLUSDT",
        "status": "provider_error"
      },
      {
        "symbol": "LTCUSDT",
        "status": "provider_error"
      }
    ],
    "cost": {
      "totalUsd": 0.0069427740000000005,
      "basis": "estimated",
      "cacheHits": 0,
      "ceilingUsd": 0.5,
      "ceilingHit": false
    },
    "valueClass": "risk_reduction",
    "humanReviewRequired": true,
    "notes": []
  },
  "cycleCount": 9,
  "totalSpendUsd": 0.0390989664,
  "storeAvailable": true,
  "error": null,
  "stats": {
    "cyclesRun": 9,
    "plansWritten": 8,
    "plansProposed": 8,
    "plansNoSetup": 0,
    "plansPassed": 0,
    "gatePassPct": 0,
    "medianPassedRR": null,
    "symbolsScreened": 108
  }
}